3 开放式数控系统软件平合实现
3.1 主控板软件
图5所示为数控软件平台示意图。该数控系统采用典型的上/下位机模式。ARM主控板、嵌入式Linux操作系统以及MiniGUI图形系统构成了数控系统上位机的硬件、软件平台,而网络通讯、图形系统等各个功能模块,是数控软件系统的主体,两部分共同构成整个上位机。
数控软件的软件功能模块主要可以分成两大类,实时性要求不高的软件功能模块和实时性要求非常高的软件功能模块。实时性要求高的软件功能模块主要包括如下内容。
1)总控模块:是整个系统的核心,主要负责各控制任务的调度和各功能模块的集成和通讯,包括系统初始化、进程创建、任务调度以及数据流的缓存等,同时还负责将控制过程的信息及时向人机界面反馈。整个总控模块是通过嵌入式Linux内核和MiniGUI线程实现的。
2)网络通讯模块:在该模块中,主要完成的工作有如下三个部分:(1)ARM主控板和DSP运动控制卡的网络通讯;(2) ARM主控板和仿真服务器的网络通讯;(3)ARM主控板和车间服务器的网络通讯。
3)通信数据帧编码译码模块:是整个数控系统中信息流的重要组成部分,完成从文本信息、控制信息、状态信息等信息之间的相互转换。信息流主要有下面几个部分:(1)ARM主控板下发数据帧信息的编码;(2)ARM主控板对DSP上传信息的译码;(3)ARM主控板对仿真服务器下发信息的译码;(4) ARM主控板上传仿真服务器信息的编码。
4)G代码解析模块:用来完成数控程序的解释,它是数控系统中不可缺少的一个组成部分,包括预处理和G代码解析。
5)人机界面模块:采用广泛应用于工业控制领域的MiniGUi图形系统,主要完成机床状态信息的显示、ARM主控板和DSP运动控制卡或者其他网络数控设备的通讯信息显示、数控加工代码的显示以及其他辅助信息的显示等。图6所示为本系统人机界面。
3.2 DSP运动控制器底层控制
运动控制器上运行的底层控制程序对实时性要求很高,需要在一个插补周期内完成插补运算、电动机进给控制、终点判别和编码器读数等任务,同时还要处理开关量输入输出和通讯管理等任务。底层控制程序的大部分代码采用G语言编写,部分对底层I/O地址的操作采用汇编语言来实现。底层控制程序框图如图7所示。
4 联机调试
本文以广州数控设备厂生产的。CNC6135型数控车床作为控制对象,用开发的开放式数控系统替代原有的数控系统,实现数控系统和机床本体的连接,完成开放式数控系统对机床本体的基本控制。图8所示为整个系统连接示意图,其中运动控制部分本文未予介绍。
4.1 手动模式测试
对点动模式下的各种控制指令进行全面测试,都能对机床进行相应的控制,结果正确。
4.2 自动模式测试
在自动模式下,可以完成G代码文件的解析、通讯数据帧的编码以及数据帧的下发,实现工件的自动加工。数控系统启动后,机床操作人员发出控制命令后,自动读取加工代码文件、调用G代码解析模块完成代码解析,调用网络通讯模块发送通讯数据帧。对自动模式下连续运行功能进行了各种测试(主要是直线插补),能对机床进行相应的控制,结果正确。
5 结语
本文将嵌入式技术应用于开放式数控系统的研究中,构建了具有自主知识产权的、结构开放的数控系统加工平台。整个系统由ARM+DSP的硬件平台和RT-Linux+MiniGilI的软件系统构成,软/硬件底层完全开放。本文提出的开放式系统增加了系统的网络功能,为网络制造的末端辅平了道路,底层设备信息可以方便地远程访问与控制。最后,完成了开放式数控系统和机床本体的硬件连接,替代原有的数控系统,对数控系统的一些功能进行测试和试验,实现了预期效果,为我国开放式数控系统的研究做出了一些有益的探索。