开放数控系统模型的建立及实现
"NC嵌入PC"的开放式数控系统结构模型,充分利用了PC机的丰富资源(内存空间大、硬盘容量大和高速运算功能的CPU),使这种结构模式成为开放数控系统的主流设计。DSP因其高速、强实时控制能力而迅速得到了广泛的应用,但由于其有限的PWM输出口,要实现多轴控制,单个DSP芯片就显得鞭长莫及。在多轴控制卡设计中,最常用的有三种设计方案:(1)采用主DSP作为主控制器,实现对多个从DSP节点的监控和管理,每个从DSP控制一个轴运动,多个从DSP芯片通过总线与主DSP芯片进行通讯,形成一个主从式的分布式控制结构;(2)DSP只负责复杂的控制算法,发送数据给FPGA,FPGA存储DSP最新的脉冲宽度,发出PWM波,控制多轴运动;(3)单个DSP负责复杂的控制算法,通过输出选择逻辑开关来选择D/A通道,驱动电机轴运动。高速F2812 DSP芯片和大容量可编程逻辑器件FPGA的出现,使单个DSP控制多轴运动成为可能。利用FPGA的并行性对DSP的PWM功能进行扩展,从而可实现高精度的不同电机的多轴控制,并且FPGA和DSP都支持在系统可编程,因此大大缩短了设计周期,而且在硬件不变的情况下,可以根据需要通过修改软件以扩展功能,体现出其良好的硬件平台开放性。
1 开放数控系统的结构模型
F2812 DSP是TI公司最新推出的32位定点处理器,系统处理能力为150MIPS,指令周期6.67ns,实时控制能力很强。两个事件管理器模块EVA、EVB中各有两个通用定时器,三个完全比较单元,能够支持8通道的16位PWM输出。在电流环等采样获取中,因其频率比较高(20kHz),每测一次电流就重新调整新的PWM波的脉冲宽度,如果EVA、EVB同时工作,在定时器中断响应时可能检测不到电流的变化,这样对于16位的DSP处理器的两个EV只能有一个得到有效的应用。但是F2812高达150MIPS的处理能力,能够很好的捕捉到电流的变化,定时器中断也能得到及时响应,其EVA、EVB能够同时得到应用。因此,一片F2812 DSP能够很好地控制两台三相伺服电机和四台步进电机。
图1为开放数控系统的结构模型,在硬件方面实现了模块化设计,通过ISA总线与PC机通讯,由PC机控制各实时模块的协调工作。对伺服电机的驱动信号,由F2812 DSP通过其EVA、EVB完成两通道的PWM波形输出,FPGA扩展PWM功能,完成另两通道PWM的控制输出;对步进电机的驱动,全部由F2812 DSP的EV完成,控制四轴联动。充分利用了F2812 DSP的内部资源和FPGA的速度快、多路并行、灵活性高的优点。
本数控模型包括六部分:
(1)DSP插补板,由DSP完成比较复杂的插补和位置控制计算,并通过事件管理器控制两电机轴的驱动信号的产生。FPGA接收DSP最新脉冲宽度,产生PWM控制信号,控制多种电机(步进电动机、直流电动机、交流电动机)的驱动电路。
(2)位置反馈,主要用于闭环和半闭环数控系统中。半闭环系统中,用于检测丝杠或电机轴的回转角,间接测出机床运动部件的位移,经位置反馈装置进行处理后通过总线送回到控制系统和伺服系统,并与控制指令相比较,经过位置控制计算,精确控制电机的运行。闭环系统中,直接测出工作台的实际位置,然后通过位置控制控制电机运行。位置反馈模块作为单独的模块通过总线与PC机进行通讯,用户可根据实际要求设计自己的反馈模块,而与DSP插补板没有关系,从而体现其开放性。
(3)开关量I/O控制和辅助功能控制。I/O控制是CNC装置和机床驱动部件之间传递信息的接口,主要用于接收各种开关、按钮以及机床上各行程限位开关等信号。辅助功能也通过I/O端口实现,常用的辅助功能有程序停,主轴启、停、转向,冷却泵的接通和断开,刀库的起、停等。
(4)故障检测功能,主要对驱动电路、电机运行方面等进行故障检查,对故障的原因进行定位和报警提示,保护硬件电路的运行。例如电流过限、短路、断路、电压过高或过低等硬件故障。由于DSP有错误自检的功能,可以自己设计软硬件处理故障的电路,用于保护DSP的正常运行,例如看门狗电路、 存储器读写错误、指令溢出、过载等错误。
(5)驱动单元,设计三种不同电机的带有速度控制的驱动装置。
(6)PC机功能设计,完成数据参数的输入,运动控制监视,手动操作,通过总线与其他实时控制单元通信,提供友好的人机界面,编写各控制单元的通信软件。
2 软件开放性设计
在软件设计方面,许多开放式数控系统均采用面向对象(OOP)的技术,将数控功能模块化,构建基本类库。利用派生功能,当需要扩展某基类的功能时,通过从基类中派生出新的基类来完成新的功能,较好地实现了软件重用和二次开发的功能。这种传统的OOP技术仅仅是软件源代码级的可重用,它存在互操作能力差、可移植性不强、扩展不方便等缺点,不能很好满足一个开放式数控系统所强调的要求。在数控系统中引入COM作为底层支持可以更好的满足数控系统开放的要求。COM技术中组件的二进制级交互保证了所构建出的数控系统具有良好的可重用性,可以快速方便地扩展,而不必再关注数控组件的内部实现,扩充功能时只需要修改或更换相关的组件而不必再重新编译原系统,可以快速满足新的生产需要,提高软件的开发效率和可维护性。
为了更好地实现软件的重用性和二次开发功能,将与底层无关的软件功能用WDM技术实现。WDM(Windows Driver Model)是Microsoft为Windows 98和Windows 2000作业系统提供一系列I/O服务及二进制相容设备的驱动方式,有助于减少在Windows平台上对硬件设定所花费的成本。在PC端,PC和运动控制卡之间进行中断和I/O操作的接口采用WDM实现,将与硬件有关的操作屏蔽起来。对应用程序而言,可见的是一个虚拟化的设备对象,PC程序可以根据任务的实时性来选择和控制卡的通讯方式。对于实时性要求高的紧迫任务,如紧急停车或出错处理,应用程序可以用直接写端口的方式向控制卡发送中断请求。而对于一般实时性和大批量的数据传输的任务,应用程序可以用与WDM进行消息映射的方式完成,然后再完成硬件的相关操作。通过模块化的WDM体系结构中灵活统一的接口,使操作系统可以动态地配置不同的驱动程序模块来支持特定的设备。这样更好的体现了软件的重用性和可移植性,利于软件的二次开发。表1描述了软件的层次结构。