0 前言
发展柔性结构体系的数控制造装备及系统,是实现在快速多变而不确定市场环境中对用户驱动的市场需求做出灵活、快速响应的关键。但是,中国的国情决定目前还不可能抛弃仍在大量使用的刚性生产线,在这样的前提下,本文提出一种介于刚性生产线和柔性生产线之间的生产模式准柔性生产线,也就是充分利用CNC系统的运动控制模组和灵活的PLC控制模块去整改刚性生产线。
对CNC系统的运动控制功能和PLC的顺序逻辑控制准柔性生产设备所必须具备的功能。本文以自行研发的LGCNC系统(以DSP运动控制芯片为核心、以嵌入式结构PC为平台的全闭环机床数控系统,具有良好的动态性能和较高的控制精度)为开发平台,开发了一种具有一定开放性的PLC组件,将其融合在CNC系统中,由同一个CPU控制。下面着重介绍嵌入式PLC的设计与实现方法。
1 嵌入式PLC的设计规划
嵌入式PLC应能充分借助CNC系统的全部硬件资源,具备友好的界面接口,便于用户编程和操作。用嵌入式PLC和高级语言C++编程,采用}自}向组件的设计方法,使该组件结构开放、开发和升级更易进行,从而有效地减少开发周期,并日_提供简单丰富、层次多样的开发接口,还可作为一个独立的组件嵌入其他的CNC系统中。
PLC组件采用与“LGCNC”系统共用同一个CPU的方案。虽然单独使用一个CPU,使得PLC用户程序与CNC程序同时运行,在一定程度上占用了CNC程序的执行时间,但是对基于PC的CNC系统,CPU运行速度的增加完全可以弥补PLC所占用的时间,同时使得PLC组件的软件程序简单化,而日_便于扩充PLC功能。
1.1 PLC的工作原理
PLC采用循环扫描方式工作,一个循环工作过程包括系统初始化、输入点采样、执行用户梯形图程序和输出点的刷新几个阶段。(1)系统初始化:在巡回执行梯形图时,首先要执行系统的初始化,包括参数的输入,数据表以及一些计数器、定时器初值的设置。(2)输入点的采样:每次执行梯形图时,要对输入点进行采样,然后放入I/O缓冲区中,以备后面程序查询。(3>执行用户梯形图程序:执行用户程序,就是CPU从首地址开始按次序逐个扫描所有存储器地址,按梯形图的顺序逻辑动作逐个执行。(4)输出点的刷新:执行完用户程序后,所有的运算结果都存放在输出单儿状态表中,要实现PLC控制,就必须将要控制的信号从状态表里送到执行儿件,该动作称为输出点的刷新。PLC根据梯形图的动作级别,决定输出点的刷新时间。对于需要快速响应的,要随时输出;对于不必快速响应的,每执行一个循环,就执行一遍输出点的刷新。
PLC控制作为顺序逻辑控制,它的控制对象大都是变化缓慢的信号,机械动作更是如此。而PLC每次扫描输入和逻辑运算的时间仅为毫秒级,甚至微秒级Cal,在逻辑运算过程中,即使输入信号的状态发生了变化,也不会影响机械动作的效果。因此,这种输入采样、输出刷新的循环方式能够符合实际的工作状态。
1.2 PLC组件的软、硬件结构
PLC组件与LGCNC数控系统硬件资源共享,具有60个输入点和56个输出点,其中有12个高速输入点,4个定时时钟中断。PLC组件的软件主要由初始化参数设置模块、与CNC系统相连的接口模块、PLC集成编辑系统、PLC程序仿真模块以及PLC程序执行模块组成,如图1所示。
图1 嵌入式PLC组件的软件结构
2 嵌入式PLC的软件实现
2.1 嵌入式PLC的集成编辑系统
梯形图编程语言是从继电器逻辑控制(RLC)演变而来的,工程技术人员利用梯形图编程语句来表不各设备之间的逻辑控制关系。在编辑状态下,操作者一在编辑窗口可任意查看和编辑梯形图的内容。本系统采用日本FANUC的PMC指令系统助记符,包括12条基本指令和33条功能指令。本组件采用面向对象的设计方法来完成,以下为梯形图显示和阶梯上触点的存储和显示对应的类结构定义。
2.2 嵌入式PLC用户程序的运行
(1)PLC运行程序数据结构的定义。在系统内存中首先开辟1K的存储区域,用于存放PLC的I/O信号状态,这些信号包括由机床向PLC的输入信号XO一X63,由PLC向机床的输出信号Y64~Y127,由CNC向PLC的输入信号F128~F227,由PLC向CNC的输出信号6228~6299,内部继电器8800~R1023,保持型存储器的数据D300~D799。其中保持型存储器由20个内部定时器D300~D399,20个内部计数器D400~D499,44个保持继电器D500~D543和占用256个字节的数据表组成,内部定时器和计数器各占5个字节。对这个区域按位或字节刁一址来实现I/O状态的扫描和控制。例如,可以用如下指令开辟一块1K字节的内存区。
char } PLC IOSTATE; PLC IOSTATE=(char、)mallocC 1024;
为了加强软件的灵活性和可移植性,可用宏定义的方法来实现各种信号起始点对应定位置的定义。然后,定义两个字符类型的全局变量PLC ST和PLC STO,其中PLC ST相当于一个堆栈,PLC STO用于存放每个阶梯的最终执行结果。
内部计数器/定时器采用软件的方法实现,它们是PLC内部非常重要的中间资源。一个内部计数器在I/O状态表内占据连续的5个字节空间,第1,2字节存放计数器的预置值,第3,4字节用于计数,第5字节的第0位用于检测上升沿,实现脉冲计数,其他位保留。
(2)基本指令的实现方法。PLC用户程序在系统内部以一定的二进制格式存放,每条指令占用4个字节,用于存放该指令的功能以及相应的参数。利用C语言,根据PLC指令集建立一个用户函数库,则执行程序的编写就如同对PLC编程一样。
输入和输出单儿的刷新同样利用一个函数来实现,最后通过输出口送出控制量,实现PLC控制,嵌入式PLC的基本功能也就完成了。采用时钟中断不断调用执行的方式,实现PLC的循环往复执行。
3 结束语
本文开发的嵌入式PLC组件已初步和LGCNC系统融合在一起,充分利用基于PC的CNC系统丰富的软、硬件资源,实现了和CNC系统的有机结合。该PLC系统可完成的功能主要有:主轴正、反转和停止的控制,主轴的转速控制,自动换刀,冷却液开关,定时润滑控制等。它的成功开发为准柔性生产设备的大量生产提供了条件。
(审核编辑: 智汇张瑜)