目前常用的开放式数控结构有:基于单片机的和基于PC的。前一种方式的优点就是简单、实用,它能完成普通的数控加工,成本和开发费用也较低,开发技术比较成熟。但存在不足和缺点:1)单片机运算速度有限,难以实现对机床的高性能控制,特别是插补算法的实现;2)汇编语言或C语言编程,对硬件的依赖性比较大,数控软件移植比较困难;3)低档的单片机资源有限,不适用实时性高的操作系统。
基于PC的开放式数控,包括PC嵌入NC型,NC嵌入PC型和全软件CNC型。利用通用Pc丰富的软件、硬件资源,能够很快地开发出独具特色的软件系统,具有良好的人机界面、通用的操作风格,二次开发、升级也比较简单。但是,其不足是资源浪费比较严重,稳定性差,采用通用的Windows操作系统,由于微软的技术封锁,用户无法从底层及内核对操作系统进行配置,运动控制卡和操作系统之间很难达到无缝连接;另外,专业性差,Windows是通用操作系统,主要在桌面级和服务器级应用.并非为工业现场设计的,实时性难以达到保证;最后,整个数控系统的开放性也比较差,PC底层硬件层不对用户开放,用户无法对底层硬件进行裁减,运动控制卡也是对用户封闭的,二次开发困难,操作系统对用户也不开放。
随着ARM和DSP等各种嵌入式系统微处理器的快速发展,为开放式数控系统的发展提供了新的解决方法。ARM具有比较强的事务管理功能,可以用来运行界面以及应用程序等,其优势主要体现在控制方面;而DSP主要是用来计算的,如各种插补运算,它的优势是强大的数据处理能力和较高的运行速度,可以实现高精度多轴伺服控制。
本文以ARM和DSP微处理器为数控系统的硬件平台,以源代码开放的实时操作系统RT-Linux为系统的软件平台,构建底层开放的数控系统平台。
1 基于ARM的开放式数控系统
1.1 系统体系结构
采用双CPU的主从式结构,以ARM为内核的主控板作为主CPU,称为上位机〔ARM主控板),其任务有:外部数据及信息输入模块,用户界面模块,这两个模块是系统和用户交互的窗口,上位机将用户输入的信息接受、预处理,通过通讯方式以数据帧的形式发送到下位机。系统管理模块、存储模块、通讯控制模块、系统维护模块都是上位机系统要实现的功能模块。
从CPU,称为下位机,是采用DSP和复杂可编程逻辑器件(CPLD)技术设计开发的多轴运动控制卡。主要负责高速插补算法、逻辑计算及现场信息的采集,因此,插补模块、可编程机床逻辑控制(PMC)模块、参数采集模块是下位机的功能模块。
ARM主控板和DSP运动控制卡通过网络连接线和交换机相连接,组成一个局域网,通过交换机来实现上位机和下位机之间的数据通讯,这样,ARM主控板不但可以对D5P运动控制卡进行控制、接收DSP运动控制卡反馈的数据,还可以与其他数控机床、车间服务器进行数据通讯,易于实现机床联网,车间服务器可以对整个局域网内的数控机床进行整体监控,同时为网络化制造提供设备层的网络链接。图1为开放式数控系统体系结构图。
1.2 系统功能模块划分
根据用户需求提出系统的功能需求,并按照功能划分功能模块。模块划分的原则是“藕合弱,内聚强”。藕合表示模块之间联系的程度。松散藕合表示模块之间联系比较弱,模块的独立性强,可以单独开发和维护。内聚表示模块内部各成分之间的联系程度。按照逻辑划分系统的功能模块,即把处理逻辑相类似的功能划为同一个功能模块。系统的功能模块如下。
1)外部数据及信息输入模块:外部输入的信息主要有加工信息、控制信息.这两种信息的处理逻辑不同,可将它们分成两个子模块。一个是机床操作盘输入子模块,从这里输入的信息基本上都是逻辑信息,比如主轴的控制信息,冷却润滑的开关信息等。这些信息经过系统逻辑处理,输出到系统的电气部分。另一个是通过控制面板上的按钮愉入的加工信息,主要指点动和手脉加工的输入信息。这些信息经过处理输出加工脉冲。
2)用户界面模块:通过用户界面既有信息的输入也有信息的显示输出。输入的主要有参数的设置和程序的编辑。输出的是加工现场的信息。对于参数设置和零件程序的编辑,都是通过控制面板上的按钮在用户界面中输入信息,系统将用户确定的输入保存,它们的逻辑相似,都归为用户界面输入模块。用户通过界面观察加工状态信息,需要在一定的时间间隔内进行刷新,这个功能由显示模块来完成。在显示模块中有三部分的信息:加工现场信息、出错信息以及参数信息。在系统运行过程中,若出现问题,系统会在用户界面上显示系统故障的简单提示,需要系统维护模块的协助。
3)可编程机床逻辑控制(PMT)功能模块:处理系统内的逻辑信号,逻辑信号有从机床操作板输入的,也有加工程序经过预处理后得到的控制信息。
4)自动加工功能模块:包括编译模块、预处理模块、插补运算子模块。
5)通讯控制功能模块:主要实现与服务器和视频监测系统的通讯。
6)存储模块:负责加工程序和系统参数的存储。
7)信息采集模块和显示模块:现场的信息通过两模块在用户界面上呈现。
图2所示为上述的各个功能模块组合起来的数控系统功能模块图。