基于Linux的开放式数控系统界面开发及通讯研究

基于Linux的开放式数控系统界面开发及通讯研究

论文摘要

在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开发了测试界面,对程序的正确性进行了验证。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 课题研究背景
  • 1.1.1 数控系统现状及其发展趋势
  • 1.1.2 开放式数控系统软件化研究
  • 1.2 开放式数控系统的国内外研究现状
  • 1.2.1 欧盟的OSACA
  • 1.2.2 美国的OMAC
  • 1.2.3 日本的OSEC
  • 1.2.4 欧盟的OCEAN
  • 1.2.5 美国的EMC2
  • 1.2.6 我国开放式数控系统研究现状
  • 1.3 课题提出及研究的意义
  • 1.3.1 课题的提出
  • 1.3.2 课题研究的意义
  • 1.4 课题研究内容及拟解决的问题
  • 第2章 EMC2数控系统平台
  • 2.1 EMC2数控系统的历史
  • 2.2 EMC2数控系统结构
  • 2.3 EMC2数控系统的通讯
  • 2.3.1 RCS设计方法
  • 2.3.2 NML通讯机制
  • 2.3.3 NML在 EMC2中的应用
  • 2.4 EMC2存在的问题
  • 2.5 本章小结
  • 第3章 基于Qt的数控系统界面开发
  • 3.1 EMC2的安装
  • 3.2 Qt开发工具
  • 3.2.1 信号和槽机制
  • 3.2.2 Qt元对象系统
  • 3.2.3 qmake工具
  • 3.2.4 QtOpenGL模块
  • 3.3 基于Qt的EMC2 NML消息库接口设计
  • 3.3.1 EMC2的NML消息库
  • 3.3.1.1 EMC2命令消息
  • 3.3.1.2 EMC2状态消息
  • 3.3.2 基于Qt的EMC2 NML消息库接口设计
  • 3.4 基于Qt的数控系统界面开发
  • 3.4.1 数控系统界面运行机制
  • 3.4.2 基于Qt的数控系统GUI开发
  • 3.5 本章小结
  • 第4章 Linux链路层数据包捕获和发送程序设计
  • 4.1 Libpcap函数库
  • 4.1.1 Linux下包捕获机制
  • 4.1.2 BPF过滤模型
  • 4.1.3 Libpcap工作机制
  • 4.2 Libnet函数库
  • 4.3 Linux链路层数据包捕获和发送程序设计
  • 4.3.1 总体设计
  • 4.3.2 数据包发送程序设计
  • 4.3.2.1 主要功能函数
  • 4.3.2.2 算法描述
  • 4.3.2.3 数据包发送程序设计
  • 4.3.3 数据包捕获程序设计
  • 4.3.3.1 网卡的工作模式
  • 4.3.3.2 主要功能函数
  • 4.3.3.3 算法描述
  • 4.3.3.4 数据包捕获程序设计
  • 4.4 本章小结
  • 第5章 实时以太网通讯程序设计
  • 5.1 实时以太网通讯协议
  • 5.1.1 系统结构
  • 5.1.2 通讯协议
  • 5.1.2.1 通用数据格式
  • 5.1.2.2 控制指令
  • 5.2 重要的数据结构
  • 5.2.1 文件组织结构
  • 5.2.2 控制命令的数据结构
  • 5.2.2.1 枚举设备
  • 5.2.2.2 延迟测量
  • 5.2.2.3 同步执行
  • 5.2.2.4 同步停止
  • 5.2.2.5 错误处理
  • 5.3 Linux调度策略
  • 5.4 测试验证模块设计
  • 5.5 本章小结
  • 第6章 总结与展望
  • 6.1 总结
  • 6.2 展望
  • 参考文献
  • 致谢
  • 攻读硕士学位期间发表的论文
  • 学位论文评阅及答辩情况表
  • 相关论文文献

    • [1].思政教育融入《Linux基础》课程的探索[J]. 武汉工程职业技术学院学报 2019(04)
    • [2].基于Linux的智能家居控制系统综合实验设计[J]. 实验技术与管理 2020(01)
    • [3].Linux系统教学中关于命名管道文件的解析[J]. 软件 2020(02)
    • [4].基于嵌入式Linux的多关节机器人通信系统设计[J]. 通信电源技术 2020(04)
    • [5].嵌入式Linux下内存泄漏的检查和解决[J]. 现代计算机 2020(11)
    • [6].基于“Linux集群和自动化运维”课程规划与设计[J]. 数字通信世界 2020(04)
    • [7].基于Linux系统服务器网络安全机制[J]. 电子技术与软件工程 2020(09)
    • [8].基于嵌入式Linux系统的电力监控系统优化[J]. 舰船科学技术 2020(14)
    • [9].探析大数据时代的Linux平台网络安全及防范措施[J]. 科技传播 2020(12)
    • [10].Linux操作系统项目情境教学研究[J]. 福建电脑 2020(09)
    • [11].Linux操作系统探讨[J]. 计算机产品与流通 2019(12)
    • [12].基于Linux的可信计算系统的设计与实现[J]. 电子设计工程 2019(22)
    • [13].Linux平台下网络直播系统的实现[J]. 科技展望 2016(35)
    • [14].任务驱动教学法在linux课程教学中的应用研究[J]. 电子制作 2016(22)
    • [15].从Linux的发展史看职业教育的发展前景[J]. 无线互联科技 2017(01)
    • [16].Linux下自适应网络数据捕获系统设计[J]. 中国新通信 2017(04)
    • [17].Linux调度器免锁优化方法研究[J]. 小型微型计算机系统 2017(04)
    • [18].一种基于Linux标准分区的快照方法[J]. 现代计算机(专业版) 2017(07)
    • [19].Linux网络编程的研究[J]. 电脑编程技巧与维护 2017(06)
    • [20].基于性质制导符号执行的Linux驱动程序缺陷检测研究[J]. 计算机工程与科学 2017(04)
    • [21].基于Linux的嵌入式日志系统设计与实现[J]. 电子科学技术 2017(03)
    • [22].Linux温度控制优化[J]. 信息与电脑(理论版) 2017(08)
    • [23].基于Linux的软件版路由器设计与实现[J]. 电脑编程技巧与维护 2017(14)
    • [24].基于Linux的考勤系统的设计与实现[J]. 电脑知识与技术 2017(18)
    • [25].基于Linux系统的即时通信系统的设计与实现[J]. 电子技术与软件工程 2017(14)
    • [26].基于Linux系统的采煤机调速主控系统设计[J]. 煤炭技术 2017(08)
    • [27].嵌入式Linux根文件系统的构建[J]. 铜陵学院学报 2017(03)
    • [28].Linux系统移植的分析[J]. 信息系统工程 2017(07)
    • [29].基于Linux的智能电表数据采集实现[J]. 软件导刊 2017(09)
    • [30].基于嵌入式Linux的智能家居机器人[J]. 电子世界 2017(20)

    标签:;  

    基于Linux的开放式数控系统界面开发及通讯研究
    下载Doc文档

    猜你喜欢