论文部分内容阅读
高速、高精、多轴插补、多通道是数控系统发展的趋势,这对传统数控系统采用的单处理器核心的硬件架构提出了严峻的挑战。而目前采用非对称多处理器作为数控系统计算核心的解决方案,虽然在一定程度上缓解了计算资源不足的情况,但仍具有任务划分不合理、核间负载不均、软件结构执行效率不高等问题。为了解决这类问题,进一步提高数控系统的数据处理效率,缓解插补计算速度和精度之间的矛盾,本文采用对称多处理器作为计算核心开发了并行数控系统。通过对开源串行软件数控Grbl的执行流程及数据流详细的分析,提出了基于多级环形缓冲区的模块解耦与数据传递机制。在此基础上,采用基于数据流的划分方法,设计了开放式并行产消系统框架,作为并行数控系统的基本软件结构。同时,为了实现各个并行模块间的数据通信与同步,结合数控系统数据产消的特点,提出了两种缓冲平衡控制算法,其中基于插补细分数的周期自动调节算法可以实现对加工路径长度的前瞻和各个模块执行周期的实时调整;基于缓冲余量反馈的调度算法可以有效解决模块间的数据缓冲上下溢问题,使各个功能模块同步协调工作。然后根据所提出的并行框架,采用Pthread库对串行数控系统Grbl进行了多线程并行化处理,实现了线程级并行的数控系统。通过对数控系统与伺服系统间通信方式的调研,以及对多种主流总线协议的对比分析,最终确定采用Ethernet Powerlink(EPL)开源实时以太网通信协议构建并行数控与伺服系统的通信网络。通过对EPL不同实现方案的对比,最终采用应用层与数据链路层分离的形式实现了EPL协议,以达到最小的通信周期和周期抖动。根据市场调研情况选用了迈信公司EP3E系列数字总线伺服驱动器,并采用openCONFIGURATOR配置工具实现了对整个通信网络的参数配置工作。采用Netlink通信机制实现了用户空间的数控系统与内核空间的EPL应用层的双向通信,使数控系统的控制指令可以通过Netlink及EPL发送到各个伺服从站。最后,针对所开发的多线程并行、模块化的数控系统开展了软件系统测试实验与加工验证实验。实验结果表明:所提出的并行系统框架可显著提升插补计算的效率;缓冲平衡控制算法可有效控制各个缓冲区数据产消速率,防止缓冲区出现上下溢现象;系统可以控制小型实验三轴铣床加工出预期的工件形状。