开放式数控裁床软件系统的研发

合集下载

数控服装裁剪机的系统设计

数控服装裁剪机的系统设计

数控服装裁剪机的系统设计数控服装裁剪机的系统设计摘要:目前国内服装生产企业采用的裁剪方式通常还是手工裁剪或者是半自动设备裁剪,这些方式不仅工作效率低,而且布料利用率很低,数控服装裁剪机作为一种专用的数控机床,自动化程度高,裁剪数读快,利用率高,所以针对数控服装裁剪机的加工特点,围绕市场调研提出的性能要求,对服装裁剪机数控系统的硬件、软件总体方面进行设计,为后续软件控制系统的开发奠定基础。

关键词:服装裁剪机;自动化;控制系统一、引言随着社会的发展变化,机电一体化的进程推进,人工成这的增加,产品效率的提高迫在眉睫,自动化系统应运而生。

这课题设计的是以工业控制计算机为核心的数控服装裁剪机控制系统,并由多轴运动控制卡实现X、Y和转刀同步运动。

此外,控制机构还要实现裁刀切割速度的自动控制、自动磨刀机构的控制以及真空吸附控制等。

控制软件编程采用VC语言,系统不仅具有文件管理,CAD数据读取,绘图,加工跟踪,运动控制等功能,而且还能优化裁剪路径。

这控制系统的研制成功,将在服装裁剪机的开发道路上扫除一重要障碍。

配合高效的机械结构就能设计出一台真正意义上服装裁剪机。

而这种设备的研发成功,将对服装行业自动化设备的技术创新产生带动作用,会大大增加服装行业生产中的高科技含量,为服装高效率、高精度生产提供可靠的保障,进一步帮助服装行业打造服装品牌,扩大产业规模,为“用高科技改造传统行业”做出重大贡献。

二、数控裁剪机的设计要求无论设计什么样的机构或者系统结构都要满足一定的设计要求,这样才能达到该机构或系统结构的性能,为了使裁剪机具有高效率,高精度的`特性,设计的数控裁剪机满足的设计要求如下:(1)自动进给布料:由于是大批量的,不间断的的裁剪,进出布料的速度和方向的准确是提高工作效率的前提;(2)快速,操作简单:服装厂的服装裁剪量很大,需要较高的工作效率;同时对操作工人的技能要求较低,通过简单培训,即能上岗。

(3)连续裁剪:为了实现系统的自动化,节省工作时间,提高工作效率,连续性裁剪可以满足工作需要。

裁床运动控制系统的开发与实现

裁床运动控制系统的开发与实现

裁床运动控制系统的开发与实现
裁床作为服装、皮革和广告等行业的自动化加工装备,随着行业竞争愈发激烈,裁床设备的市场需求量日益增大。

裁床的运动控制系统是决定设备性能和生产效率的关键因素,开发三轴联动、裁剪速度快的裁床运动控制系统对降低企业成本,增强企业的市场竞争力,具有重要的现实意义。

本文在分析和参考国内外裁床研究现状的基础上,开发了基于ARM微控制器的裁床运动控制系统,主要工作内容如下:1.根据控制系统实际功能需求和嵌入式开发的特点,设计了以STM32F407ZGT6微控制器为主芯片的裁床运动控制系统,详细介绍了控制系统的总体设计方案和各功能模块硬件电路。

2.分析了常见的插补算法,并针对数控裁床的加工特点,采用S型曲线加减速规划算法,对拐点速度采用倒推约束方法,最后设计了裁床刀具三轴联动控制插补方案。

3.开发了裁床运动控制系统软件,包括主函数和通信处理函数、工作文件解析函数、切割函数、刀具旋转函数以及手动调试函数等功能函数。

实现了人机交互,设计了人机操作界面,并完成了系统整体功能的调试。

最后,对全文研究内容进行了总结,分析了系统的优势和不足,并对裁床运动控制系统未来改进方向做出了展望。

智能裁剪系统的设计与开发

智能裁剪系统的设计与开发

智能裁剪系统的设计与开发一、引言随着时代的发展,人们对于生活的品质也越来越注重。

其中,服装作为人们日常生活不可缺少的一部分,越来越受到关注。

在服装的生产过程中,裁剪是一个非常关键的环节。

本文将介绍智能裁剪系统的设计与开发,以提高服装生产效率、品质和降低成本。

二、需求分析在传统的裁剪流程中,大多数裁剪都是手工完成的,这种方式存在诸多问题,如裁剪效率低、裁剪精度不高、生产成本较高等。

因此,本文提出设计与开发智能裁剪系统的需求,以满足现代生产的高效、精准、低成本等要求。

1.自动化裁剪:智能裁剪系统应该能够对布料自动定位、自动切割,并能够根据不同的款式进行裁剪。

2.裁剪精度高:系统应该具有高精度的照相机、激光等设备,以确保裁剪的精度符合设计要求。

3.裁剪成本低:利用智能裁剪的方式能够在规模化生产中节省大量的人工成本,从而降低生产成本。

4.裁剪效率高:通过智能裁剪系统的自动化操作,能够提高裁剪的生产效率,节约生产时间。

5.系统操作简单:系统应该具有简单易懂的用户界面,以方便工厂的工作人员进行操作。

三、技术实现为了满足上述需求,智能裁剪系统需要用到许多技术。

下面我们将详细介绍这些技术,分别是计算机视觉技术、物联网技术、机器学习技术、控制策略等。

1.计算机视觉技术计算机视觉技术是智能裁剪系统中最基础的技术。

它主要由视觉感知处理、视觉特征提取、视觉识别等方面组成。

通过计算机视觉技术,可以实现对布料的自动化定位和自动化切割。

2.物联网技术物联网技术在智能裁剪系统中的主要作用是数据传输和云端管理。

使用物联网技术,智能裁剪系统可以将实时数据传输到云端,进而实现对设备的远程监控和管理。

3.机器学习技术机器学习技术在智能裁剪系统中具有重要作用。

它可以对不同款式的衣服进行训练,进而实现对布料的自动化裁剪。

与传统的手工裁剪相比,机器学习技术能够提高裁剪精度,并且可以实现大规模的生产。

4.控制策略控制策略在智能裁剪系统中主要是指对裁剪设备的控制。

木工粘合机床的智能化控制系统与软件开发

木工粘合机床的智能化控制系统与软件开发

木工粘合机床的智能化控制系统与软件开发随着科技的不断发展和智能化的兴起,各个行业都在不断探索如何将智能化技术应用到自己的工作中。

木工行业作为传统的手工行业,也在逐渐引入智能化控制系统和软件开发来提高生产效率和质量。

木工粘合机床是木工行业中重要的设备之一,它用于将木材、板材等材料粘合成所需的形状和尺寸。

传统的木工粘合机床大部分是由手工操作控制,操作人员需根据经验来设定机器的参数,操作过程中容易产生误差,且生产效率较低。

而引入智能化控制系统和软件开发,可以极大地提高木工粘合机床的自动化程度和操作便捷性。

首先,木工粘合机床智能化控制系统的开发需要考虑设备的自动化程度。

传统的机床需要人工进行操作,而智能化控制系统可以实现对整个设备的自动化控制。

通过设置合适的传感器和执行器,可以实现木材的自动送料、机器的自动调整和自动粘接等功能,大大提高了生产效率和减少了人工操作的负担。

此外,智能化控制系统还可以对设备进行监控和故障诊断,及时发现并解决问题,保证设备的稳定运行。

其次,木工粘合机床的智能化控制系统还需要考虑操作的便捷性和人机交互的友好性。

通过开发可视化的界面和操作界面,操作人员可以直观地看到机器的状态和参数设置。

操作界面可以设计为触摸屏形式,方便操作人员进行参数调整和设备控制。

同时,智能化控制系统还可以根据操作人员的设定和要求,自动调整机器的运行参数,提供最佳的粘合效果。

此外,木工粘合机床智能化控制系统的开发还需要充分考虑生产数据的采集和分析。

通过采集设备的运行数据和生产数据,可以实时监控设备的运行状态和生产质量。

通过对数据的分析和处理,可以发现设备的潜在问题和改进空间,为生产工艺的优化和升级提供科学依据。

而控制系统的软件开发需要具备数据采集和分析功能,能够实时监测设备状态、处理生产数据,并提供相应的反馈和报表。

最后,木工粘合机床智能化控制系统的开发还需要考虑系统的稳定性和可扩展性。

系统需要具备良好的稳定性能够长时间稳定运行,以保证生产线的连续生产。

基于CamSoft软件的开放式数控系统的研究与应用的开题报告

基于CamSoft软件的开放式数控系统的研究与应用的开题报告

基于CamSoft软件的开放式数控系统的研究与应用的开题报告一、选题背景随着现代制造技术的不断发展和数控技术的逐渐成熟,数控系统的应用范围越来越广泛。

然而,现有的数控系统往往与特定的硬件设备绑定在一起,导致了不同设备之间的通用性较差,可扩展性受限。

基于此,本项目选取CamSoft软件作为数控系统的开放式平台,旨在研究其应用前景及实现相关应用功能,提高数控系统的通用性和可扩展性。

二、研究目标1. 深入了解CamSoft软件的功能和应用特点,分析其适用范围及优缺点。

2. 研究CamSoft软件与不同硬件设备的配合方式,分析如何实现硬件设备的数字化控制。

3. 探索基于CamSoft软件的数控系统在自动化生产场景下的应用,如何提高生产效率和降低生产成本。

4. 针对不同制造行业的特点,设计并实现定制化的数控系统,提供完整的解决方案。

三、研究内容1. 对CamSoft软件的开放式数控系统进行深度的研究和分析,探究其在数控系统中的优缺点。

2. 研究不同硬件设备与CamSoft软件的配合方式,包括接口标准、数据交换方式等,实现数字化控制。

3. 研究基于CamSoft软件的数控系统在自动化生产场景下的应用,设计并实现与设备间的自动化对接、自动协调等功能。

4. 针对不同制造行业的特点和需求,定制化开发数控系统,并在实际场景中进行应用和实践。

四、研究方案和技术路线1. 研究CamSoft软件的功能和应用特点,以及开放式数控系统的概念和目标,了解其现状和未来发展趋势。

2. 研究数控系统的硬件设备及与CamSoft软件的配合方式,包括各种传感器、控制器、执行器、驱动器等。

3. 设计并实现基于CamSoft软件的数控系统在实际生产场景中的应用,探索自动协调、数据采集与分析、远程监控等功能。

4. 针对不同制造行业的特点,进行定制化开发,提供完整的解决方案。

技术路线:前期调研和技术分析→系统功能设计和规划→系统架构设计和实现→硬件设备和软件平台的对接→系统测试和调整→系统应用和推广。

基于PMAC的开放式数控裁剪机

基于PMAC的开放式数控裁剪机

转角姿态 . 刀刃与 裁片外 廓 曲线始 终保持 相切 。P A 使 MC 发出开关量 信号控 制 电磁 闲的动 作 , 通过 气动元件 实 现 裁剪刀的抬刀和落刀动作 。 2 2 1 通讯模 块 .. 在本系统 中, 主机通过 总线方式和 D P U( P, 双端 口随 A 机存储器 ) 方式与 P C卡进行通讯 。总线通讯所用地址 MA 为 20 由跳线 船1 9 1H, 一E2和 E6一E I 6 T 控制 , 实现主机与 运动控制 器 的通讯 。使用 接插选 件双 D Kg 可 以通过 P M, 向 D R M 中指定 的寄存器 写值来 发 出命 夸 , PA 并且 也通过 向这些寄存器中放入 二进制 的值 来提供信 息 。由于数据 存取不 许经 过通信 口发 送命 令 和等待 响应 , 以提高 了 所 系统 的响应 速度和 裁剪 精度 , 而实现 快 速 的数据 通信 和命令 通信 . 也方便 了控制 系统 中各模块 之 间 的快 速通 信 和地 址表 的设定 。在 向 P A M C写数据时 , 通常用在实时 状态下 快 速 的位 置数 据 或程 序 信息 的重 复 下载 。在 PA M C读数据 时 , 复快 速获 得 的状 态信 息 , 如 交流伺 重 例 服电动 机的状 态 、 置、 位 速度 、 随误 差 等数据可 以不停 跟 地被 更 新 , P A 自 动 地 写 入 D R M。如 不 使 用 由 MC PA D R M, P A 则这些数据必须用 P C在线命令 , MA 通过 p c总线
张建宏
裴仁清
李亚静


周厚伏
( 上海 大学机 电及 自动化 学院,上海 207 ) 00 2
摘 要 :介绍 了基 于 P A M C的开放式数 控系统 在裁剪机 中的应用 , 论述 了数控 系统 的硬件构成 和工作原 理 使用面向对象技术 , 建立系统 的分析模型和设 计模 型, 介绍了基 于 Widw 平 台的裁剪机软件系统 的设计。 no s 关键词 :裁剪机 P C MA 数控 系统 面 向对象设计

服装裁剪自动分床系统的研究与开发

服装裁剪自动分床系统的研究与开发

一、课题总体设计
2、研究方法及步骤
• 研究方法:本课题以节约成本和提高效率为目的,将裁剪 分床方案的评价量化为计算各方案的面料消耗和裁剪工时 消耗,当两者达到整体最低时,判断其为最终输出方案。
• 研究步骤:其流程如下图。
开始
生产单
分床方案设计 各种分床方案
参数设定
消耗估算
ห้องสมุดไป่ตู้
算法设计
最终输出方案
结束
二、裁剪分床方案设计
• 其内容主要涉及以下几个方面: • (1)订单产品分几床进行裁剪 • (2)各床所铺面料层数 • (3)各床所铺号型数量 • (4)各床各号型所铺件数
二、裁剪分床方案设计
2、裁剪分床方案表述方法
• 分床方案可用以下式子表述:
其中①、②、③…表示床号,T表示极限铺布件数, Ni/ Hi表示号型Hi的铺布件数为Ni,A表示铺布层数。 且任何一床中,总铺布件数须小于等于极限铺布件数。
热烈欢迎各位专家莅临指导
服装裁剪自动分床系统的研究与开发 会议鉴定
中原工学院服装学院 庹武
汇报主题
一、课题总体设计 二、裁剪分床方案设计 三、消耗估算 四、自动分床算法设计 五、系统的实现 六、裁剪设备优化
一、课题总体设计
• 本课题以研究开发服装裁剪自动分床方案为项目宗旨, 在深入调研服装企业实际裁剪状况和广泛查阅相关文 献和资料的前提下,总结了当前裁剪分床实际中的可 取及不足,系统分析了影响裁剪分床方案合理制定的 因素,并提出了本课题的服装裁剪自动分床理论和实 现方法。
一床铺哪几个号型 一床所排号型各自对应的件数
二、裁剪分床方案设计
5、等量并床裁剪法的提出
• 传统裁剪分床制定方法有多种,其中主要有比例法、分组 法、并床法、加减法。在综合分析上述方法的优缺点和应 用效果的基础上,提出了等量分床思想。

数控套裁优化排样的关键技术研究与软件实现的开题报告

数控套裁优化排样的关键技术研究与软件实现的开题报告

数控套裁优化排样的关键技术研究与软件实现的开题报告一、选题背景及意义数控套裁是目前服装制造业中广泛使用的一种生产方式,其能够提高产能、降低生产成本、提高生产质量。

套裁优化排样是数控套裁的关键技术之一,其目的是通过优化排样算法,使得裁剪布料的利用率最大化,并且达到一定的生产效率和生产质量标准。

随着数控技术的不断发展和普及,套裁优化排样的技术和软件实现在服装制造业中也越来越受到重视。

二、研究目标本研究的目标是:1. 研究数控套裁优化排样的基本原理和方法,并深入探讨现有算法的优缺点。

2. 探索基于遗传算法(GA)的套裁优化排样算法及其实现。

3. 设计并开发一款简单易用的套裁优化排样软件,实现布料利用率的最大化、裁剪时间的最短化、排版质量的最佳化。

三、研究内容1. 数控套裁的基本原理和流程。

分析套裁优化排样的重要性和现有算法的优缺点,探讨遗传算法在套裁优化排样中的应用。

2. 遗传算法优化模型的构建。

建立裁剪优化模型,探索遗传算法在模型求解中的应用。

研究可行性和可行解的寻优过程,并对遗传算法的运算过程和参数设置进行分析和优化。

3. 设计数控套裁优化排样软件。

设计简单易用的数控套裁优化排样软件,并实现套裁的自动化、智能化。

四、研究方法1. 理论研究。

通过文献资料查阅,了解数控套裁优化排样的基本原理和方法,深入探讨现有算法的优缺点,探讨遗传算法在套裁优化排样中的应用。

2. 实验研究。

通过实验研究,对比分析现有套裁算法和采用遗传算法的套裁优化排样算法,从而全面评估算法的优化效果和实用性,设计并开发一款简单易用的数控套裁优化排样软件。

五、预期成果1. 能够深入探讨现有套裁算法及其优缺点,为实际生产提供参考。

2. 能够运用遗传算法对套裁优化排样算法进行优化,提高裁剪利用率、减少裁剪时间、提高排版质量。

3. 能够设计并开发一款简单易用的数控套裁优化排样软件,提供给生产企业使用,提高企业的生产效率和利润。

六、研究进度安排第一阶段:文献调研第二阶段:数控套裁基本原理和流程的分析研究第三阶段:探索遗传算法在套裁优化排样中的应用和算法优化第四阶段:设计并开发数控套裁优化排样软件第五阶段:实验测试和结果分析第六阶段:论文总结与撰写七、参考文献[1] 张俊岭. 基于改进遗传算法的数控套裁优化研究[J]. 湖南工程职业技术学院学报,2018,19(5).[2] Linder M, Kiritsis D. Automated nesting and cutting of textiles. Computer-Aided Design, 2020,127:102907.[3] Zeng X, Chang K Y, You L, et al. A Multi-objective Model for Dynamic Textile Cutting Operations. Journal of Intelligent Manufacturing, 2020,31(3):757-765.[4] Qin Q. Optimizing the stock cutting problem using a genetic algorithm with greedy pre-selection. Expert Systems with Applications, 2018,94:325-342.[5] Krishna V G, Rajaram R, Abdo J. A survey of cutting and packing applications. Annals of Operations Research, 2019,278(1-2):3-44.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开放式数控裁床软件系统的研发The Research and Development on Open-architecture CNC Soft System of computer CuttingMachine(电子科技大学)赵勇 , 黄大贵 , 吴献刚ZHAO Yong, HUANG Da-gui, WU Xian-gang摘要:针对发展新型数控电脑裁床的需求,分析了数控电脑裁床控制的特殊性,构建了基于工业PC机,以GD104多轴运动控制卡为核心的开放式数控电脑裁床系统软件体系结构,给出了关键环节的实现技术。

并在此基础上开发了基于Windows的数控系统的软件部分,利用面向对象的编程方法,实现了良好的人机操作界面和方便高效的多任务工作环境。

关键词:数控裁床;GD104;开放式数控系统;中图分类号:TP273 文献标识码:AAbstract: According to the requirement of new type NC computer cutting machine, this paper analyses the particularity of NC computer cutting machine control and then builds an open-architecture CNC soft system which is based on industrial PC. Besides the use of GD104 motion control card which is the core of the NC computer cutting machine control system, this article also presents the techniques of several main parts. Based on above hardware system, a Windows -based software system is developed. With the utilizing of object-oriented method, a friendly human machine interface and an efficient multithreading working environment is fulfilled.Key words:NC cutter; GD104; open-architecture CNC system.0 引言随着我国服装、制鞋企业逐步和国际接轨[1]。

数控裁床的应用,对提高生产自动化程度,降低人为因素的影响,提高产品质量,减少劳动力,降低成本,提升企业竞争力起着越来越关键的作用。

由于裁床加工过程中所要加工的材料是多层布料或者皮料,需要把这些整块的材料加工成各种形状要求图形的小裁片。

因此,旧式的简单的手推电动式裁剪机到现代大型电脑控制的服装裁床是一个巨大的转变,称为计算机数字控制自动裁剪系统(CAM)。

1 制鞋电脑裁床系统的硬件系统分析和加工运动状态分析1.1制鞋裁床系统的硬件系统分析制鞋裁床系统的硬件系统[1],包括机器支架,真空吸附装置,导轨,裁剪执行机构以及控制电路五大部分。

图1 示出了采用GD104运动控制器构造的电脑裁床开放式数控系的硬件结构。

1. 2 制鞋裁床系统的加工运动状态分析刀具机头具有沿XY平面的X轴运动和Y轴运动,刀具在Z轴的运动分为Z轴的上下运动和Z 轴的旋转运动。

具体运动分析,见图2。

1.3 制鞋裁床系统的加工刀具分析电脑裁床按裁剪料的方式分为接触式与非接触式;按裁剪头的动力形式有机械刀、压力水刀及激光刀.机械刀片切割:操作简单,速度快,易于维护,耗材低.但切割时难以处理布料的圆角、尖角,需进行让刀或二次进刀.效率低且存在材料浪费,目前的电脑裁床主要采用这种方式.本系统也采用机械刀片切割式。

并很好的在软件系统对圆角、尖角,需进行让刀或二次进刀做了处理。

2制鞋裁床系统的统软件的设计与实现2.1 基于Windows的数控裁床系统软件的总体结构目前,基于PC的数控系统有3种类型: (1) PC 嵌入NC:由与CNC 装置配套的IPC 板卡插入图 1 电脑裁床的硬件结构图。

图 2 刀具的运动状态分析图。

CNC 系统的插槽中所构成[2 ] 。

其中,PC 只负责人机界面功能的实现,控制功能仍由专用的CNC系统实现,这种形式主要为一些传统CNC制造商所采用。

(2)NC 嵌入PC:该类型是将运动控制卡或整个CNC 单元插入到PC的扩展槽中,PC机处理人机界面、加工显示等实时性任务,而插补计算、位置控制等实时性要求较高的任务则由运动控制卡完成。

(3) 全软件型NC:全软件数控系统主要体现在机床的控制功能包括轴控制和机床逻辑控制等实时性要求很高的功能完全以应用软件的形式体现[3 ] ,而硬件部分仅是计算机与伺服驱动和外部IPO 之间的标准化通用接口。

本研究采用的是PC +运动控制板,以及全软件型软件NC。

2. 2 数控裁床系统的关键环节的实现技术2. 2. 1 多任务的实现及多线程之间的通信和同步在WINDOWS系统上,一般采用线程来实现多任务.CNC系统任务按任务的实时性分为两类:强实时性任务和一般实时性任务.根据任务的实时性的不同,采用不同的策略来实现多任务.强实时性任务包括位置控制任务、插补和速度处理任务等.一般实时性任务包括人机界面管理任务,加工信息显示任务等.由于WINSDOWS线程的实时性不能满足强实时性任务的要求.对于强实时性任务,采取引入外部硬件中断的方法,使用运动控制卡和串口I/O输入输出卡来完成.对于一般实时性任务采用WINDOWS本身的消息系统完成.MFC类库提供了多线程编程支持,对于用户编程实现来说更加方便。

非常重要的一点就是,在多窗口线程情况下,MFC直接提供了用户接口线程的设计。

用户界面线程的一个典型应用就是类C WinApp,大家对类CwinApp都比较熟悉,它是CWinThread类的派生类,应用程序的主线程是由它提供,并由它负责处理用户产生的事件和消息。

类CwinThread是用户接口线程的基本类。

WinThread的对象用以维护特定线程的局部数据.因为处理线程局部数据依赖于类CWinThread,所以所有使用MFC的线程都必须由MFC来创建.例如,由run-time函数_Beginthreadex创建的线程就不能使用任何MFC API。

通过以下步骤创建一个用户界面线程:从CWinThread派生一个有动态创建能力的类.使用DECLARE DYNCREATE和IMPLEMENT DYNCREATE宏来支持动态创建. 覆盖CWinThread的一些虚拟函数。

其中,函数InitInstance 是必须覆盖的,ExitInstance通常是要覆盖的.使用AfxBeginThread创建MFC线程对象和Win32线程对象,如果创建线程时没有指定CREATE SUSPENDED,则开始执行线程. 如果创建线程是指定了CREATE SUSPENDED,则在适当的地方调用函数ResumeThread开始执行线程。

使用多线程技术[6 ]开发应用程序时,经常需要协调两种或多种动作,这种过程称为同步,需要利用同步的原因有两点:一是当两个或多个线程需要访问同一个共享的资源,而此资源一次只能被一个线程所使用,这就需要利用同步;二是当一个线程正在等候由另一个线程所引起的事件时,也需要同步,在此情况下,必须有某种方法使一个线程保持挂起状态直到该事件发生。

在该系统中,由于在实施运动控制的同时要监控机床的运动状态,采取了多线程技术。

运动控制和状态检测都涉及对运动控制卡的访问。

通常,运动控制卡不允许多线程同时访问,因此要对多线程访问运动控制卡进行同步,以保证同一时间只有一个线程对卡进行访问。

因此需要线程进行互斥操作。

在构造函数中调用函数CreateEvent创建事件对象,声明如下HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,BOOL bInitialState,LPCTSTR lpName );创建时指定bManualReset为FALSE,当调用WaitForSingleObject等待成功时系统会自动复位事件对象。

初始状态bInitialState设为TRUE,以保证第一个对卡的操作可以顺利进行。

m_hEvnet = ::CreateEvent(NULL,FALSE, TRUE, NULL);以关闭运动控制卡为例,long CardWrapper::Close(void){long nRet = 0;::WaitForSingleObject(m_hEvnet, INFINITE);…if (nRet = GT_Close() != 0) return TranslateErrCode(nRet);::SetEvent(m_hEvnet); return nRet;}函数进入时,需要调用函数WaitForSingleObject等待事件m_hEvnet发生。

当事件发生后,系统自动复位事件。

当函数离开时置位事件对象以允许其他线程对卡进行访问。

事件同步机制适用于事件中断和时间中断的处理[5 ]。

事件同步是通过将事件自身设置为有信号或无信号来通知其它线程的某一操作已完成或尚未完成,其设置可由编程人员手工完成,适合于工控程序应用。

与之相对应,本模块具有一个主线程和三个子线程,其中一个子线程为加工线程,另一个为绘图线程,还有一个子线程为监控线程。

主线程是Windows下每个应用程序都具备的,负责线程间的同步、向加工线程和绘图线程,以及监控线程传递参数、管理人机界面、接收用户输入等功能。

所以,软件系统采用事件同步机制来实现控制系统的多任务并行处理,使四个线程相互配合,共同完成系统的功能。

以下是这四个线程的介绍:主线程:主要完成弱实时性任务,如文件的编辑、参数的设置、编译等任务,以及管理和协调各个子线程。

加工线程:加工线程主要完成轨迹插补、位置控制等实时周期性任务。

监控线程:在加工过程中,可能会碰到许多突发性事件,如机械限位、急停、手控盒、操作面板的输入信号等,为了能够快速响应,满足系统的实时性要求,创建一个监控线程,完成实时突发性任务,对外围信号进行扫描、监控,并且根据外界情况的变化及时做出相应的处理。

绘图线程:绘图线程主要完成弱实时周期性任务,例如加工状态的显示,实时加工轨迹的动态绘制。

按一般程序示例,线程通常在视类或框架窗口类中产生.但在数控程序中,通信与计算线程常常要大量对数据进行操作,根据文档/视的程序框架结构,文档类常常用来存储要处理的数据.因此把加工线程与绘图线程以及监控线程放在文档类中产生,并把产生线程的当前文档对象的指针作为线程控制函数的参数传递给线程.从而,在控制函数(DrawThreadProc(),ProcessThreadProc(),WatchThreadProc())一开始,就要对所传来的参数进行识别:CCNCDoc* pDoc =(CCNCDoc*)pParam;我们在文档类的构造函数里产生线程。

相关文档
最新文档