在数控系统中,可编程逻辑控制器(PLC)在处理开关量辅助控制问题时起着重要作用,它主要负责NC侧和机床侧的逻辑信号处理。在NC侧,CNC向PLC发送M,S,T等辅助功能代码信息;PLC将M, S, T命令的应答信号回送给CNC,并且控制CNC设置各坐标的机床基准点。在机床侧,PLC向机床传送控制机床执行的信号,机床将其操作面板上开关、按钮信号等传送给PLC。以前,需要根据数控机床的控制要求来分析PLC与CNC及PLC与机床之间的信息交互种类和信息交互量,然后选用相应的外部硬件PLC,或者在系统设计时将硬件PLC嵌入到NC硬件中口这种方法突出的缺点是开放性差,设计一旦定型就很难更改。
随着计算机及相关技术的发展,使用工业PC机、基于开放式结构已成为数控系统发展的主要方向。与这种情况相适应,基于PC平台的嵌入式软件PLC由于无需专门的编程器,可以充分利用PC机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机界面等优点,在数控系统中正逐渐取代硬件PLC成为该领域辅助功能控制的新方法。
本文讨论我们开发的开放式数控系统中所采用的软PLC技术。PLC功能在我们的数控系统中作为一个子系统得以实现,该子系统支持梯形图和语言两种编程方式,梯形图和语言之间可通过一个通用数据结构进行相互转换,同时这个通用数据结构也是PLC执行模块的输入。目前该子系统支持30个国际通用的PLC基本指令和功能指令,能满足绝大多数PLC应用的需求。
1 软件PLC系统的结构
在数控系统开放性要求越来越高的今天,硬件PLC的缺点越来越突出,主要表现在:
兼容性差:生产厂家众多,各种机型互不兼容,没有统一的标准,在编程元件的种类、数目、编程语言等方面各不相同;
封闭、扩展能力差:产品的功能实现有赖于硬件,数据结构相对封闭,用户难以改变或增添PLC的功能;
对使用者的素质要求高:现行的PLC产品,其编程方式要求使用者对PLC的硬件结构、PLC电气原理、编程指令均要有相当的了解,不利于PLC的进一步推广使用;
可维护性差:当PLC出现故障时,需由专业人员用专用工具检测硬件,再维修硬件;
成本较高。
为了解决目前数控机床和数控系统中PLC存在的问题,我们在基于Wintlows2000的开放式数控系统开发中对软件PLC进行了研究和开发口开发原则是体现开放式数控系统的要求,采用统一的数据结构和开放的外部接口,PLC控制功能的完成不依赖于具体的硬件,编程元件的数目、种类可根据需要动态添加,无需更改硬件,降低PLC编程进门门槛,降低整个数控系统的成本。
1.1 软件PLC的结构
基于Winoows2000的开放式数控系统软件在物理上可划分为在计算机CPU上运行的上位机部分和在运动控制卡DSP处理器上运行的下位机部分。因此PLC子系统也可分为上、下位机两大部分,上位机又可分为离线的PLC程序编辑部分和在线的PLC执行人机界面部分,其结构如图3所示。
上位机离线部分主要完成PLC梯形图编程、语言编程、梯形图程序语法检查、梯形图程序逻辑检查、语言程序语法检查、语言程序逻辑检查、梯形图程序与通用数据结构双向转换、语言程序与通用数据结构双向转换;上位机在线执行部分通过人机界面控制和反馈下位机对PLC程序的执行;PLC程序的具体执行由下位机在线处理。其中:
梯形图和语言编程模块在Windows2000环境下负责离线PLC图形化和语言化编程;
梯形图程序语法检查模块检查用户PLC图形程序有无
指令标记重复、指令地址越界等语法错误;
梯形图程序逻辑检查模块检查PLC图形程序有无逻辑错误,如指令位置不正确、梯级中缺少输出指令等;
语言程序语法检查模块检查用户语句程序有无拼写、指令格式、指令地址越界等语法错误;
语言程序逻辑检查模块检查语句表程序是否存在逻辑错误,如RD X2.0AND. STK就是错误指令段,因为AND.STK操作需要堆栈中至少有两个有效位,若将该指令段改为RDX2.0RD X2.1AND. STK其逻辑就正确了,同理,指令段RnR2.0RD X2.1AND. STKG1.2SUB9PRM2也是错误的PLC指令段,因为COM指令只需要一个控制条件,而该指令段有两个控制条件;
梯形图与通用数据结构双向转换模块对梯形图程序解释得到一个通用的数据结构,从这个通用数据结构反过来也可得到梯形图程序;
语言程序与通用数据结构双向转换模块对语言程序解释得到一个通用的数据结构,从这个通用数据结构反过来也可得到语言程序;
PLC执行模块在实时多任务环境下实现在线PLC功能。
通过通用数据结构的衔接,实现了梯形图程序和语言程序的双向转换,而且这个通用数据结构也是PLC执行模块的输入。
1.2 软件PLC白勺特点
相对于硬件PLC来说,软件PLC具有下述特点:
(1)传统PLC的功能以应用软件的形式实现。软件PLC实际上就是传统PLC的功能以应用软件的形式实现,这是软件数控的表现形式,也是开放式数控系统的要求。软件数控可以认为是开放式数控的高级阶段,软件数控的主要特性表现在两个方面:一是高度开放的体系结构;二是应用软件的表现形式,即系统的主要功能部件均表现为应用软件的形式。软件化可大大增强了系统的伸缩性和可调节性,从而使其体系结构实现高度开放性成为可能。
(2)易于实现与硬件无关性要求口软PLC控制功能的完成不依赖于具体的硬件,不存在机型不兼容问题;编程软元件的数目、种类可根据需要动态添加,无需更改硬件。
(3)统一的数据结构易于实现深度的系统开放。由于采用统一的数据结构,对特定机床,只需编写相应的梯形图程序或语句程序,不必另加硬件或另外重新设计软件,这简化了PLC的使用,使数控系统有可能向深度方向开放。这种灵活的实现机制有望大幅度提升数控系统的控制性能,促使数控系统的智能化时代早日到来。
(4)方便用户使用。由于在Windows2000图形化界面下完成用户梯形图或语言程序编制,并可实现梯形图和语言的相互转化,降低了PLC编程进门门槛。
(5)成本低口PLC的控制功能由软件完成,这种实现形式上的变革使得系统可以更方便、更广泛地应用计算机技术的先进成果,简化系统实现难度,缩短研发周期,有助于技术创新,可相应降低整个数控系统的成本。