3.1 Windows操作系统的实时化
windows操作系统是一个多任务操作系统,但不是一个实时操作系统。由于友好的人机界面和允许多任务的并行处理,越来越多的数控系统以Windows作为操作平台,这就需要解决Windows操作系统的实时化问题。
解决windows操作系统的实时化问题主要可以考虑两种方法:(1)在Ring3层开发数控软件,通过设置wiIl32定时器并通过相应WM-TIMER消息来实现实时处理,或者采用Windows多媒体定时器通过设置回调函数可以获得最高精度1 ms的定时信号。这种方法容易占用较多系统资源以及造成系统实时处理不稳定,且在实现高精度实时化方面存在问题; (2)直接在Ringo层通过软件设计WDM驱动程序来响应时钟中断,即通过引入外部定时时钟中断的方法,在操作系统的内部通过编写系统WDM程序来响应这个外部中断。
图4为基于windows平台的PC数控软件系统的总体结构。图中以阴影表示的windows系统内核和设备驱动程序运行于Rin妒层,可对Pc硬件进行操作。通过wDM驱动程序设计技术将PC数控系统的实时控制等以驱动程序编程,使其直接进入Rin90层运行从而通过软件方式实现实时控制。
PC+I/O的软件化数控系统高精度定时时钟解决方案,即在Pc机的外部提供一个高精度的定时中断源,在PC机一侧则是利用ISA总线通过中断IRQ5接入PC机,在windows操作系统内部通过wDM程序来响应这个外部中断。
3.2 底层通信和实时控制
底层通信和控制系统是数控装置与执行装置间进行信息交换的通道,是保证数控系统可靠高效运行的中枢,在数控系统中具有非常重要的地位。传统数控系统一般通过模拟信号线、脉冲信号线、RS232串行通信等方式来实现底层通信功能。这种数控装置(数字控制器)与执行装置(伺服驱动器)间的信息传递存在连线多、可靠性差、速度慢等问题。SERCOS总线应运而生。
SERCOS是一种串行实时通信协议,是一种运动控制总线,把运动控制器和驱动器连接起来。SERcOs接口具有以下应用特点:(1)环形拓扑结构使配线减少到最少,使用光缆使系统避免了电磁干扰并保证了同步高速数据交换率;(2)在标准化的运行环境下交换所有的数据、参数和指令;(3)使众多诊断数据的导入和伺服系统参数设定成为可能;(4)来自不同制造商的cNc和伺服系统能结合使用。
3.3 SERCOS的网络组成
SERCOS网络的典型结构如图5所示。基本的SERCOS网络由一个主站和若干个从站组成。主站为系统的主控制器,如cNC装置、FMC控制器等。从站为系统的执行装置,如进给伺服系统、主轴驱动系统、PLC输入输出装置等。SERCOS采用环形拓扑结构,以光缆作为物理层的传递介质。站点间最大距离为40 m,最大从站数为254,通信速度可达16 Mbi/s。
3.4 SERCOS报文类型
控制器与驱动器之间所有数据交换都是通过报文来进行的。sERCOs接口协议定义了3种报文类型:
(1)主控同步报文MST。由主站在传输周期开始时广播MST,用来保证每个周期时序同步。
(2)主控数据报文MDT。由主站在一个周期内所规定的时期内发送一次,用来把命令值数据从控制器发送到驱动器。
(3)驱动器报文AT。由每一个从站(驱动器)分别发送,用来把反馈值数据从驱动器发送到控制器。
3.5 SoRSERCANS
SoftsERcANS实质上是一个sERcOs接口的软件驱动器,其在全面实施sERcOs协议的基础上增加了与应用软件通信的DLL接口。S0ftSERCANs只需要一张被动式主站卡,其向运动控制器提供的通信接口是一个动态链接库(DLL)。用户只需要掌握DLL函数及相关参数的使用方法,就可以设计数控应用软件。要想在PC数控系统中使用SoftsERcANs被动式主站卡,需要对操作系统平台进行实时化扩展,可以通过在Ringo层编写WDM设备驱动程序来实现,也可以通过一些windows实时扩展软件来实现。
4 结束语
通过对PC+I/O的软件化数控体系的研究,探讨了数控系统实时化的解决方案以及底层通信和运动控制方案,提出了一种基于PC+I/O软件化开放式数控系统框架;在方案实施的技术路线上,利用Vis.ual C++开发工具开发软件模块,构成模块库,利用cOM技术将这些模块编制成为在windows环境下运行的cOM组件。数控系统中另一部分实时任务在RTX环境下完成,考虑RTX可能不支持COM技术,利用与win32 DLL功能类似的RTDIJL解决,其可以在RTX环境下动态地加载或卸载。具体的实现已在下一步的工作中深入进行。