论文部分内容阅读
在21世纪,制造业所面临的激烈市场竞争迫使数控系统朝着高精、高效、智能化、网络化的方向发展。然而,传统数控系统的结构封闭,功能单一,开发周期长,成本高等问题,已经成为制约制造业发展的瓶颈。随着软件技术在全世界范围内飞速发展,国内外很多研究机构纷纷提出了开放式数控系统的概念并进行了相关研究。本文在详细分析了开放式数控系统国内外研究现状之后,借鉴欧盟的OSACA和OCEAN、美国的OMAC和EMC2、日本的OSEC等项目的开发经验,特别是EMC2增强型机床控制系统,以其优异的系统功能、开放源代码等众多优点,成为本文研究和开发工作的基础平台。EMC2是基于Linux操作系统及其实时扩展RTAI的控制系统,主要包括四大模块、一个硬件抽象层(HAL)和一个软PLC控制器组件(ClassicLadder),四大模块分别是GUI(Graphical User Interface)模块、运动控制器模块(MotionController EMCMOT)、离散I/O控制器模块(Discrete I/O Controller EMCIO)和任务执行器模块(Task Executor EMCTASK)。模块之间的通讯采用基于RCS库的NML通讯机制,大大增加了系统的可移植性。另外EMC2实现了可重配置性,只需要编辑几个简单的配置文件即可完成。EMC2很好地满足了开放式数控系统的特征和要求,属于典型的开放式控制系统,并已经在全世界范围内的很多领域得到了成功的应用。本论文就是参照EMC2控制系统的结构和特点,结合实时同步工业以太网络,在EMC2控制系统的基础上进行了部分功能的开发。开发内容主要分为两大部分:第一部分是基于Qt的EMC2数控系统界面开发,这一部分又分为上下两层接口的设计,即上层与机床操作人员接口文件的设计和下层与EMC2控制系统任务执行器模块接口文件的设计;第二部分是基于C++的实时以太网通讯程序设计,然后采用实时以太网取代计算机并口等实现数控系统与机床本体之间的通讯。在基于Qt的EMC2数控系统界面开发中,首先详细研究了EMC2控制系统的内部结构和通讯方式;然后在开发工具的选择上对Qt和其它同类开发工具进行了分析和比较,Qt以其优异的特性,特别是先进的信号和槽通讯机制,成为开发工具的首选;最后开发了基于Qt的EMC2数控系统界面,并采用计算机并口输出步进脉冲,对开发的界面进行了正确性测试和验证。在基于C++的实时以太网通讯程序设计中,工作重点集中在Linux平台上基于链路层的数据包捕获和发送程序设计上。在详细分析了Linux平台上Libpcap和Libnet开发包之后,采用Libpcap库提供的API开发了链路层数据包捕获程序的设计;然后结合实时以太网通讯协议,对要发送的以太网帧进行构造,采用Libnet库提供的API设计了链路层发包程序。最后使用Qt开发了测试界面,对程序的正确性进行了验证。