目前常用的开放式数控结构有:基于单片机的和基于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开放式数控系统体系结构图
1.2 系统功能模块划分
根据用户需求提出系统的功能需求,并按照功能划分功能模块。模块划分的原则是藕合弱,内聚强。藕合表示模块之间联系的程度。松散藕合表示模块之间联系比较弱,模块的独立性强,可以单独开发和维护。内聚表示模块内部各成分之间的联系程度。按照逻辑划分系统的功能模块,即把处理逻辑相类似的功能划为同一个功能模块。系统的功能模块如下。
1)外部数据及信息输入模块:外部输入的信息主要有加工信息、控制信息.这两种信息的处理逻辑不同,可将它们分成两个子模块。一个是机床操作盘输入子模块,从这里输入的信息基本上都是逻辑信息,比如主轴的控制信息,冷却润滑的开关信息等。这些信息经过系统逻辑处理,输出到系统的电气部分。另一个是通过控制面板上的按钮愉入的加工信息,主要指点动和手脉加工的输入信息。这些信息经过处理输出加工脉冲。
2)用户界面模块:通过用户界面既有信息的输入也有信息的显示输出。输入的主要有参数的设置和程序的编辑。输出的是加工现场的信息。对于参数设置和零件程序的编辑,都是通过控制面板上的按钮在用户界面中输入信息,系统将用户确定的输入保存,它们的逻辑相似,都归为用户界面输入模块。用户通过界面观察加工状态信息,需要在一定的时间间隔内进行刷新,这个功能由显示模块来完成。在显示模块中有三部分的信息:加工现场信息、出错信息以及参数信息。在系统运行过程中,若出现问题,系统会在用户界面上显示系统故障的简单提示,需要系统维护模块的协助。
3)可编程机床逻辑控制(PMT)功能模块:处理系统内的逻辑信号,逻辑信号有从机床操作板输入的,也有加工程序经过预处理后得到的控制信息。
4)自动加工功能模块:包括编译模块、预处理模块、插补运算子模块。
5)通讯控制功能模块:主要实现与服务器和视频监测系统的通讯。
6)存储模块:负责加工程序和系统参数的存储。
7)信息采集模块和显示模块:现场的信息通过两模块在用户界面上呈现。
图2所示为上述的各个功能模块组合起来的数控系统功能模块图。
图2数控系统功能模块图
2 开放式数控系统硬件平台实现
2.1 基于ARM的主控板
上位机主控板的主处理器选用Hynix公司的
HMS30C7202o HMS30C7202是32位RISC微处理器,由ARM720T内核和其他一些外围接口器件组成,具有高性能低功耗的特点,片内资源非常丰富,具有很高的集成度。主要的外设如下。
1)电源:系统的主控板采用ATX计算机标准电源2.01版。
2)存贮器:包括Flash ,SRAM ,SDRAM,EPROM,采用存储启动代码、操作系统内核映像和应用程序等。
3)通讯模块:以太网接口用于与下位运动控制卡的通讯及服务器和视频监测系统的通讯,串口主要用于ARM主控板调试,可以用于在数控系统中传输加工程序。USB接口主要用于文件系统的烧写传输。
4)系统的输入输出接口:系统的输入设备接口主要有PS/2键盘接口、触摸屏。
基于ARM7202的卞控板全貌图如图3所示。
图3主控板实物图
2.2 基于pSP的运动控制器
在高速、高精度的数控机床中,由于要做大量复杂的运算,因此传统的单片机已经不能满足系统的要求,而DSP由于使用灵活,在用于实现数据量大、计算复杂、实时性要求高的数字信号处理任务时,与一般微处理器相比,其速度更快,效率更高,可满足这一需求。本文提出一种硬件上基于D5P+CPI刀的运动控制器。
选用TM5320C24x子系列的TMS320Lh2407ADSP作为运动控制器的主控制器,选用Altera公司的EPM7128AETC100-10型CPLD来实现运动控制器的部分功能。主控制器是运动控制器的核心部分,是由DSP及外围电路组成的一个DSP的最小系统,该模块由四部分组成,BSP主控芯片、电源、晶振和外扩存储器。CPLD主要实现地址译码、开关量输入/输出、编码器反馈信号和手轮脉冲输入处理、DSP侧并行通讯的逻辑处理等功能。
数控系统发出的进给位移和速度指令,经过转换和功率放大后,作为伺服驱动装置的输入信号,并控制电动机产生某一速度和角度的位移,从而驱动执行部件实现给定的速度和位移量。本文设计的运动控制器采用脉冲输出方式,同时,为抑制长距离信号传输中可能引入的千扰信号,输出至驱动器的脉冲和方向信号采用差动输出方式。图4所示为运动控制器实物图。
图4运动控制器实物图
3 开放式数控系统软件平合实现
3.1 主控板软件
图5所示为数控软件平台示意图。该数控系统采用典型的上/下位机模式。ARM主控板、嵌入式Linux操作系统以及MiniGUI图形系统构成了数控系统上位机的硬件、软件平台,而网络通讯、图形系统等各个功能模块,是数控软件系统的主体,两部分共同构成整个上位机。
图5数控软件平台示意图
数控软件的软件功能模块主要可以分成两大类,实时性要求不高的软件功能模块和实时性要求非常高的软件功能模块。实时性要求高的软件功能模块主要包括如下内容。
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所示为本系统人机界面。
图6人机界面
3.2 DSP运动控制器底层控制
运动控制器上运行的底层控制程序对实时性要求很高,需要在一个插补周期内完成插补运算、电动机进给控制、终点判别和编码器读数等任务,同时还要处理开关量输入输出和通讯管理等任务。底层控制程序的大部分代码采用G语言编写,部分对底层I/O地址的操作采用汇编语言来实现。底层控制程序框图如图7所示。
图7底层控制程序框图
4 联机调试
本文以广州数控设备厂生产的。CNC6135型数控车床作为控制对象,用开发的开放式数控系统替代原有的数控系统,实现数控系统和机床本体的连接,完成开放式数控系统对机床本体的基本控制。图8所示为整个系统连接示意图,其中运动控制部分本文未予介绍。
图8数控系统与机床本体连接示意图
4.1 手动模式测试
对点动模式下的各种控制指令进行全面测试,都能对机床进行相应的控制,结果正确。
4.2 自动模式测试
在自动模式下,可以完成G代码文件的解析、通讯数据帧的编码以及数据帧的下发,实现工件的自动加工。数控系统启动后,机床操作人员发出控制命令后,自动读取加工代码文件、调用G代码解析模块完成代码解析,调用网络通讯模块发送通讯数据帧。对自动模式下连续运行功能进行了各种测试(主要是直线插补),能对机床进行相应的控制,结果正确。
图9外圆切削工件图
5 结语
本文将嵌入式技术应用于开放式数控系统的研究中,构建了具有自主知识产权的、结构开放的数控系统加工平台。整个系统由ARM+DSP的硬件平台和RT-Linux+MiniGilI的软件系统构成,软/硬件底层完全开放。本文提出的开放式系统增加了系统的网络功能,为网络制造的末端辅平了道路,底层设备信息可以方便地远程访问与控制。最后,完成了开放式数控系统和机床本体的硬件连接,替代原有的数控系统,对数控系统的一些功能进行测试和试验,实现了预期效果,为我国开放式数控系统的研究做出了一些有益的探索。
(审核编辑: 智汇张瑜)