可编程控制技术与应用中跳变触点指令的灵活应用
2022-03-28施洋
施洋
(山西工程职业学院 机电工程系,山西 太原 030032)
随着计算机技术在工业领域的应用逐渐普及,可编程控制技术在当前工业生产中的应用也越来越广泛,它已经成为实现工业自动化的重要控制手段;而掌握可编程控制技术不仅需要了解其硬件组成和具体功能,而且要能灵活掌握可编程控制器软件中常用的编程指令,只有这样,才能完成电机控制等工业控制领域的控制功能。在可编程控制器的控制指令中,功能指令的使用场景较多,几乎所有工业控制领域中都会用到基本控制指令,因此只有对基本的控制指令掌握透彻,才能举一反三,搭建起有效的控制功能框架,最终完成简洁、高效的梯形图程序编写,实现自动化控制。
在可编程控制器软件指令集中的基本位操作指令是所有控制指令的基础,它是控制逻辑中必不可少的一部分。本研究以“西门子”S7-200系列可编程控制器为例,通过3个编程控制实例,介绍基本位操作指令中的跳变触点指令的具体应用。
1 跳变触点指令简介
“西门子”S7-200系列可编程控制器的基本位操作指令是CPU对输入/输出映像寄存器状态进行读/写操作的指令,能够实现基本的位逻辑运算与控制[1]。其中,与触点相关的指令有常开触点指令、常闭触点指令、负跳变触点指令、正跳变触点指令、取反指令[1],常开触点指令是指可编程控制器内部线圈未得电时,内部辅助触点是断开状态,而常闭触点指令则恰恰相反,取反指令则是对输入的逻辑状态进行取反后参与程序的逻辑运算。
“西门子”系列可编程控制器的一个扫描周期主要由3个部分组成:输入采样、程序执行和输出刷新。“西门子”S7-200型可编程控制器的程序扫描过程是“集中批处理和顺序扫描”。其中,集中批处理就是可编程控制器在程序一个扫描周期内,一次全部读取输入映像寄存器内的数据,完成数据运算后,一次全部读出运算后的结果并将其输出至输出映像寄存器的过程。顺序扫描的原则就是可编程控制器在进行程序扫描时是由上往下逐条反复的扫描。在可编程控制器的一个扫描周期内输入采样的数据和输出刷新的数据是以集中批次的方式处理的;程序执行的过程按“先左后右,从上至下”的顺序依次扫描[2]。也就是说,跳变触点指令的响应具有时效性。
2 跳变触点指令对信号灯的控制
在单输入按钮/双输出信号灯控制场景中可以使用跳变触电指令对信号灯进行控制,具体控制要求是利用一个按钮控制两盏信号灯显示,要求按钮第一次按下后第一盏信号灯点亮;第二次按下后第二盏信号灯点亮,同时第一盏信号灯熄灭;第三次按下后两盏信号灯同时点亮;第四次按下后两盏信号灯同时熄灭。以后按此规律循环执行[1]。
通过对控制任务的分析,两盏信号灯有4个工作状态,说明一个开关要产生4种条件,每一种条件对应一种工作状态即可实现控制任务。可以考虑用置位与复位指令对两盏信号灯实现工作状态的切换,同时由于信号灯的4种工作状态变换有先后顺序,因此每按下一次开关,产生一种工作状态,产生第一种工作状态后,通过按钮的常开触点与第一种工作状态串联产生第二种工作状态,第二种工作状态再与按钮的常开触点串联产生第三种工作状态,依此类推,最终实现一个按钮控制两盏信号灯的控制任务。
对控制任务进行分析后得出I/O分配及功能表(见表1)。
表1 I/O分配及功能表
根据控制任务及I/O分配表可以绘制出控制系统的接线图(如图1所示)。
图1 跳变触点指令对信号灯控制硬件接线图
由于每次按下按钮都需要对应一次信号灯的不同显示状态,产生的状态还需要参与后面的逻辑运算,因此可以考虑引入内部状态位帮助我们完成对不同状态的标记。考虑可以运用每一次开关按下后产生的下降沿触发相应的状态标志位,这样就避免了按钮按下后产生同时触发4个按钮按下的条件,实现了按钮按下切换一次显示状态,当4次按钮全部按下之后,运用复位按钮将4个中间状态位进行复位,至此一轮的信号灯状态显示完毕,也为下一轮次的状态显示做好准备。控制逻辑梯形图如图2所示。
图2 跳变触点指令对信号灯控制梯形图
当按钮按下后,在按钮弹开的瞬间,给可编程控制器输入一个下降沿,使中间状态位继电器M0.1置位,与此同时按钮已经弹开,这样在网络2中并未检测到下降沿,所以M0.2没有被置位,此时只有M0.1被置位,然后通过网络5将Q0.1置位,第一盏信号灯点亮。当第二次按下按钮后,同理只使M0.2置位,通过网络6把Q0.1复位,而将Q0.2置位,因此第一盏灯熄灭,第二盏信号灯点亮。当第三次按下按钮后,同理只使M0.3置位,通过网络7把Q0.1和Q0.2同时置位,两盏信号灯同时点亮。当第四次按下按钮后,同理只使M0.4置位,通过网络8把Q0.1和Q0.2同时复位,两盏信号灯同时熄灭,从而实现了任务中的控制要求。
3 跳变触点指令对圆盘的控制
跳变触点还可以用于对圆盘转动的控制,例如通过可编程控制器控制圆盘转5圈:用可编程控制器控制一个圆盘如图3所示,圆盘的旋转由电动机控制,圆盘用一个限位开关检测旋转圈数。初始状态下,限位开关在圆盘碰块的作用下处于动作状态,要求按下启动按钮后每转一圈后停3 s,转5圈后停止[3]。
根据控制任务及控制示意图可以绘制出控制系统的接线图(如图4所示)。
图3 圆盘控制示意图
图4 跳变触点指令对圆盘控制硬件接线图
其中,KM为接触器线圈,控制电动机的启动和停止。根据控制要求编写出控制逻辑梯形图(如图5所示)。初始状态下,圆盘在原位时限位开关I0.0压下时,梯形图中I0.0触点闭合,但是计数器C0不计数,定时器也不得电。当按下启动按钮I0.1后,Q0.0线圈置位得电,圆盘旋转,限位开关I0.0复位,计数器C0复位为0,M0.0得电自锁,将定时器T37接入电路,但是限位开关I0.0触点断开,定时器T37不得电。
图5 跳变触点指令对圆盘控制梯形图
圆盘旋转一圈,当碰块碰到并压下限位开关I0.0时,I0.0常开触点发一个脉冲使Q0.0复位,圆盘停转,I0.0常开触点闭合,C0记一次数,定时器T37线圈得电,延时3 s后发出一个脉冲,使Q0.0线圈再次复位,圆盘旋转,圆盘每转一圈计数一次,当计数值为5时,计数器C0常开触点闭合,使Q0.0始终处于复位状态,全部过程结束。在运行过程中,如要停止,则按下停止按钮I0.2,I0.2常开触点闭合,使Q0.0复位,I0.2常闭触点断开,M0.0失电,断开定时器T37,恢复初始状态。
4 跳变触点指令对电动机的控制
跳变触点指令还可用于电动机的控制,例如双按钮安全顺序启动3台电动机控制:为了避免多台电动机同时启动,造成启动电流过高,要求用一个启动按钮分时顺序启动3台电动机,3台电动机全部启动以后,再按一次启动按钮,3台电动机全部停止运行。为了保证启动的安全性及其他人误启动,启动时要求双手操作,即一手按住安全按钮,一手按启动按钮,全部启动以后松开安全按钮。启动过程中如果要停止电动机,按下安全按钮即可停止电动机[3]。
对控制任务分析后得出I/O分配及功能表(见表2)。
表2 I/O分配及功能表
根据控制任务可以绘制出控制系统的接线图(如图6所示)。根据控制要求编写出控制逻辑梯形图(如图7所示)。
图6 跳变触点指令对电动机控制硬件接线图
图7 跳变触点指令对电动机控制梯形图
启动时按住安全按钮SB2,I0.1触点闭合。按下启动按钮SB1,I0.0触点闭合,接通一个扫描周期,使Q0.0置位,第一台电动机启动。与此同时,Q0.0常开触点闭合,为第二台电动机的启动做好了准备,再按一下启动按钮SB1,使Q0.1置位,第二台电动机启动,同时Q0.1常开触点闭合,为第三台电动机启动做好了准备,再按下启动按钮SB1,使Q0.2置位,第三台电动机启动。松开安全按钮SB1,启动过程结束。同时,Q0.2常开触点闭合,为电动机停止做好了准备。再按下启动按钮SB1,M0.0线圈得电,Q0.0至Q0.2全部复位,3台电动机全部停止运行。启动过程中若要停止电动机的运行,则松开启动按钮SB1,按一下安全按钮SB2,I0.1产生一个脉冲,使Q0.0至Q0.2全部复位,则3台电动机全部停止运行。
5 结论
可编程控制器的程序设计是一个探索式前进的过程,不可能一蹴而就。在实际编程的过程中,掌握好基本功和理解各个指令的功能至关重要。跳变触点指令看似理解容易,但实际应用起来存在一定的难度。跳变触点指令在对信号灯控制的程序中通过触点跳变指令将接通式能流传导转换为脉冲式能流传导,将4种工作状态有序地切分开,避免了误导通,使程序执行更加高效;在对圆盘控制的程序中通过触点跳变指令巧妙地应对了圆盘初始状态时对限位开关的动作,将静态信号转化为动态信号,使程序更加简洁;对电动机进行控制的程序中,利用触点跳变指令出发后的导通时间只有一个扫描周期的特性,解决了双按钮按下顺序不同导致无法顺序启动的问题。
总而言之,合理利用正负跳变触点指令可以使程序逻辑功能产生事半功倍的效果。在实际应用中,首先要将控制功能分解为一个可执行的小步骤,然后通过对各个小步骤之间的衔接过程进行分析,合理利用正负跳变触点指令“边沿触发及一个扫描周期内正负跳变触点指令功能起作用”的特点,最后将每一个小步骤做好有效的衔接,避免产生误动作,从而实现简单指令完成较为复杂的功能。