北京时间05月27日消息,中国触摸屏网讯, 随着数字信息技术和网络技术的快速地发展,人类正步入一个崭新的后PC时代。这个时代的主要特征是嵌入式系统无处不在,并不断地向科研生产及人类生活的每个方面渗透。而可编程控制器(PLC)对机床开关量信号来控制时可靠性高,使用起来更便捷,在大多数数字控制机床,特别是经济型数控机床中,要求的输入输出点数不多的情况下得到普遍应用。在兼用PC机系统资源的情况下,采用非实时多任务操作系统(如Windows)时,Win32API的设计能够完全满足多控制点复杂的数控功能要求,但由于Windows的分时性,没有考虑到实时环境的开发用途,其系统调用的效率不高,不能够满足数控系统高实时场合PLC控制的实时性要求。
VxWorks作为一运行在目标机上的高性能、可裁减的嵌入式实时操作系统,目前以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域。
本文基于VxWorks操作系统,提出了基于VxWorks的嵌入式实时PLC设计的方法与应用,利用VxWorks的开放性、模块化和可扩展性的系统结构特性及多线程/多任务的系统环境来达到高实时要求的PLC控制,在保证实时性的同时,实现多点位、复杂功能的PLC系统控制目标。
相比较传统的的基于通用工业PC的工业PLC,其数控系统嵌入式PLC硬件包括:工控机及其外围设备,基于ISA总线的开关量输入输出接口卡,光电隔离模块,继电器输出模块。
工控机采用Windows等非实时操作系统,数控系统的人机界面、数控代码处理、轨迹划、参数管理以及PLC控制都通过工控机由软件来实现,不需要独立的NC控制器,减少了数控系统对硬件的依赖,有利于提高系统的开放性。I/O输入输出信息通过PC机I/O接口卡实现主机与伺服接口模块和I/O接口模块之间的信息交换,PC机I/O接口卡基于ISA或PCI的总线。虽然其相较最初的单片机的控制加入了工业PC来拓展其开放性,但是由于没充分的利用PC机系统资源,而开发和运行都采用的非实时多任务操作系统(如Windows,Linux)时,其设计没有考虑到实时环境的开发用途,其系统调用的效率不高,数控系统PLC控制不能够满足一些高精度场合的实时性要求。
嵌入式实时PLC系统,一般由开发系统和实时运行系统两部分所组成,是相互独立而又密不可分的两个系统,可以分别单独运行。
开发系统基于PC机,建立在Windows操作系统平台之上,提供了PLC应用程序的编写及其编译调试环境。开发系统与实时运行系统的通讯一般是通过RS232接口来实现。如果嵌入式操作系统提供网络服务,也能够最终靠以太网、Modbus或CAN总线进行通讯。应用程序编写完并编译调试无误后通过RS232或TCP/IP通信协议下载到嵌入式系统。实时运行系统则用于完成系统配置、输入信号处理、循环调用PLC程序及控制信号输出等操作,并能通过现场总线或TCP/IP通信协议与硬件层(I/O)实现通信。
为了更好地支持实时运行系统,嵌入式系统一般要引入操作系统,嵌入式操作系统(如WindowsCE,VxWorks等)为实时运行系统提供了启动代码、串行通讯接口、内存操作(malloc/free)、ANSI标准库、1ms的时钟滴答、调试接口等服务。如果实时运行系统整合了相应的功能,系统也可以不引入操作系统。我们所采用的嵌入式实时系统体系结构如图2所示,其实时操作系统采用VxWorks。
了其通信性能,实时能力大幅度的提升,同时此结构具有完全开放性,高度兼容性,极佳的可扩展性,使得自动控制系统的设计不受硬件的限制,可以轻松又有效地提高PLC的工作速度和可靠性,并且支持多任务的控制策略。另外相应的从嵌入式处理的设计与和BSP改造方面,也做了相应的优化处理。
VxWorks系统运行在基于PPC的MPC860处理器上,并作了一些有关改造以适应实时PLC的现场总线个主要模块:PowerPC核心,系统接口单元(SIU),通信处理模块(CPM)和快速以太网控制器(FEC)。
系统接口单元(SIU)集成几乎所有32-bit处理器系统的常用功能。MPC860采用32位内部总线位的外设和存储器,同时SIU提供功耗管理、复位控制、PowerPC减法器、PowerPC时钟基准以及实时时钟等功能。其内存控制器能控制多达8个存储体,同时只需通过很少的电路就可实现与DRAM,SRAM,Flash以及其它外围设备的无缝连接,同时DRAM接口支持8,16和32位的端口,DRAM控制器提供页模式下的突发传送访问;