1 引言
在组合机床、专用机床、自动生产线、印染机械、纺织机械、包装机械、轻工机械等机械设备中,有一些设备它们不仅需要逻辑控制而且需要精确的位移控制。为此,人们采用一台经济型数控系统来控制位移量,再加上一台可编程逻辑控制器来进行逻辑控制的1+1的方案。这显然是不经济和不方便的。目前,经济型数控系统中最流行的的CPU是MCS-51系列单片机。该单片机内部有一个布尔处理器,具有强大的逻辑处理功能。我们可以充分利用它的这个能力,通过软件使经济型数控系统同时具有数控和可编程逻辑控制器的功能,以实现知识经济的增长,满足用户的需求。用一个CPU既完成数控又完成逻辑控制,不仅经济、方便,而且比1+方案的可靠性也增加了。
2 工作原理
本系统是在原经济型机床数控系统的基础上,扩展了一个可编程逻辑控制模块,融PLC(可编程控制器)和MNC(微机数控)为一体,既可以实现条件控制(逻辑控制)、顺序控制、定时/计数控制,又可以实现点位的精确控制和两个座标的运动轨迹控制。
2.1 系统硬件组成
由于PLC逻辑控制部分是用软件实现的,故其支持硬件非常简单,只要能完成开关量的输入输出就可以了。系统以8032单片机作为控制核心,包括PLC控制及座标运动控制两大部分,如图1所示。
图1 系统控制框图
图1中的数控部分具有两坐标联动数控系统的全部功能,包括直线、斜线和圆弧插补,各种螺纹加工,自动对刀功能等,并采用国际标准(IS)指令编程。PLC部分具有开关量输入输出各32点,内部辅助继电器168点(其中128点可用作特殊继电器),定时器/计数器16点。PLC 指令20 条,采用梯形图编程。另外, PLC输入输出各点状态均有指示灯显示,便于用户不带负载调试程序。用户程序容量为32KB。
2.2 PLC程序执行过程
PLC 程序执行过程分为输入采样(或处理)、程序执行和输出刷新(或处理)三个阶段。在输入采样阶段,系统以扫描方式按顺序将所有输入端的输入状态(开或关,即“1”或“0”)读入到输入映像寄存器中寄存起来,原寄存器中的内容被刷新。在程序执行阶段,系统对程序按顺序进行扫描。每扫描到一条指令时,所需要的输入状态或其它元素的状态分别从输入映像寄存器和元素映像寄存器中读出。执行结果则写入到元素映像寄存器中。对于每个元素来说,元素映像寄存器中的内容,会随程序执行的进程而变化。程序执行完后是输出刷新阶段,它是系统的实际输出阶段。此时,系统将元素映像寄存器中所有输出继电器的状态送到输出锁存电路,再去驱动用户输出设备(负载)。
2.3 PLC模块对输入/输出的处理规则
(1)输入映像寄存器的数据,取决于输入端在上一个工作周期的输入采样阶段所刷新的状态。
(2)输出映像寄存器(包括内部元素映像寄存器)中的状态,由程序中输出指令的执行结果决定。
(3)输出锁存电路中的数据,由上一个工作周期的输出刷新阶段送入到输出锁存电路中的数据来确定。
(4)输出端子上的输出状态,由输出锁存电路中的数据来确定。
(5)程序执行过程中所需的输入/输出状态(数据),由输入、输出映像寄存器中读出。
2.4 与PLC有关的数控指令
2.4.1 PLC开始指令M23
PLC程序块是与数控指令混合在一起编写的。为了区别PLC 程序块与数控指令,本系统规定每一个具有一组逻辑运算功能的独立的PLC程序块,必须以M23 指令开始,以END指令结束。
2.4.2 发信指令M21
该指令用于向某指定编号的I/O 口发出电平信号
格式:M21L
L值为I/O口的编号,取值范围在1~255 内。例如:M21 L001 表示系统向001号的I/O口发出电平信号,该信号延续0.5s 。
如果用户有一个独立的可编程逻辑控制器,也可通过M21 指令实现数控主机与PLC 主机的输出联接。
2.4.3 收信指令M22
该指令用于取某指令编号的I/O 口的信号格式:M22 L
L值为I/O 口的编号,取值范围在1~255 内。
例如:M22 L035表示系统取35号I/O口信号。如果用户有一个独立的可编程逻辑控制器,通过M22指令可以实现数控主机与PLC主机的输入联接。
3 PLC软件
为了在数控系统中实现开关量的可编程逻辑控制,PLC功能软件由如下几个部分构成。
3.1 PLC指令模块
本系统共有20条PLC指令,每一条指令是一个独立模块,供系统执行时调用。其中有逻辑运算指令8条、输出指令2条、置位复位指令2 条、微分指令2 条、计数器指令1条、定时器指令1条、移位指令1条、程序跳转指令2 条和程序结束指令1条。
3.2 PLC编辑程序
PLC 编辑程序是数控系统编辑程序的一部分。由于数控指令与PLC 指令格式不同,因此在编辑中要对用户输入的指令加以区分,以便分别处理。用户编程时可按梯形图采用继电器逻辑语言编程。例如:
3.3 PLC显示程序
由于数控指令与PLC 指令格式不同,因此在显示时也要对这两种指令加以区分,以便分别处理。
3.4 PLC开始程序
M23 指令是系统的PLC开始程序。该程序首先对PLC逻辑程序块进行语法检查,从M23指令的下一条指令开始检查到END指令结束。如有错,则程序停止执行并给出出错显示。如无错,则调PLC主程序。
3.5 PLC主程序
PLC 主程序块是数控程序中的一部分,它执行完毕后面可能还有指令要执行。为此,本系统的END指令必须后跟一个继电器编号。继电器可以是内部继电器,也可以是外部继电器。该继电器的状态应当是整个PLC逻辑块(从M23指令开始,到END指令结束)的结果状态。当该状态为“1”时,表示PLC程序块执行完毕。系统将根据END指令后的继电器状态来决定是继续循环,还是结束PLC程序返回。PLC主程序,如图3所示。
图3 PLC 主程序
4 结论
用软件实现可编程逻辑控制,并通过实施一些新的软件处理方法把该软件融入单片机数控系统中,经济有效地解决了数控系统中输入输出开关量的控制。由于采用单机控制,使得控制系统成本大大降低。由于联接环节减少,使得控制系统的可靠性得到提高。该方法已用于国产经济型数控系统,实践证明能满足用户的需求。