郭翠锋
(晋城职业技术学院 机械与电子工程系,山西 晋城 048026)
计数器是PLC的一种常用的编程元件,在PLC程序设计中具有重要的作用。在某些较为复杂的程序设计中,熟练应用计数器编程,是实现控制要求的关键。本研究采用FX3u系列PLC,以四层电梯程序设计为例阐述了计数器在四层电梯控制中的具体应用,提出了电梯部分功能程序设计方法,降低了电梯的调试难度,提高了电梯的平层精度。
计数器用字母C表示,采用10进制地址编码。在FX3u系列PLC中,内置了内部信号计数器和高速计数器两种计数器。
内部信号计数器是对PLC中的内部编程元件X、Y、M、S、T及C进行计数,它属于低速计数器,输入信号接通或断开的持续时间大于PLC的扫描周期[1],有16位加计数器和32位加/减计数器两种计数器。
高速计数器是对指定的输入信号(X000-X007)进行计数,它采用中断方式进行计数,计数通道的响应频率比普通扫描频率更快。
内部信号计数器由当前值寄存器、设定值寄存器和输出触点组成。它的动作原理是:当计数器的线圈得电失电一次(即在计数脉冲的上升沿),当前值寄存器加1,当计数器的当前值和设定值相等时,输出触点动作。内部信号计数器需使用复位指令RST对当前值寄存器清零。
16位加计数器的地址编码为C0-C199,设定值是1~32 767,设定值可以通过常数K设定,也可以通过数据寄存器来设定。
16位加计数器的工作过程如图1所示。X10的常开触点闭合后,计数器C0复位,它的当前值清零,X11为C0提供计数的脉冲输入信号,C0的设定值为5。当计数器C0的线圈由OFF变为ON(即X11的上升沿)时,计数器的当前值加1,在计数器C0计X11的5个脉冲时,当前值为5,此时,当前值等于设定值,C0的触点动作,Y10得电输出。当X10再一次为ON时,C0复位,Y10复位。
(a) 梯形图
(b) 时序图
取消错误选层功能:电梯在执行任务时,除已响应的当前楼层外,可通过0.5 s连续双击楼层按钮对误操作的楼层进行销号处理。例如,电梯在1层上客后,内选信号有2、3、4层,可对3层和4层进行销号处理。
图2和图3是对3层进行错误销号程序设计。其中,X22是三层内选按钮,M15表示电梯检修和锁梯状态,M3是三层内选登记,Y12是三层内选指示灯,M53表示电梯到达3层,M70是取消错误选层条件(至少有两个内选被登记)。
图2 三层内选的登记与取消程序Fig.2 Programme of selecting and canceling within threee floors
图3 取消错误选层程序Fig.3 Programme of cancelingthe wrongly selected floor
当按下三层内选按钮,X22常开触点闭合,M3被置位,M3常开触点闭合,Y12线圈得电并自锁,三层内选指示灯点亮,三层内选登记。图3中,三层内选登记时,满足M70条件的情况下(例如,4层内选也被登记),C3的当前值为1,T13设定的时间为0.5 s,此时,在三层内选登记后的0.5 s内,连续双击三层内选按钮,C3的当前值变为3,此时与它的设定值相等,图2中C3的常开触点闭合,M3被复位,三层内选登记被取消,完成0.5 s内连续双击楼层按钮对误操作的楼层进行销号处理功能。如果超过0.5 s,C3被直接复位,此时,将不能进行销号处理。
32位加/减计数器的地址编码为C200-C234,设定值的范围是-2 147 483 648~+2 147 483 647,可以通过常数K设定,也可以通过数据寄存器D来设定,它的设定值可正可负。32位加/减计数器的加/减计数方式由地址编码对应的特殊辅助继电器设定。例如:C210的计数方式由M8210设定,当M8210为OFF时,C210加计数,当M8210为ON时,C210减计数。
32位加/减计数器的工作过程如图4所示。X11的常开触点闭合后,C210被复位,当前值清零。X12为C210提供计数的脉冲输入信号。当M8210为OFF时,C210增计数,在X12的上升沿,C210的当前值加1[2];当X10为ON时,C210减计数,在X12的上升沿,C210的当前值减1。当C210的当前值由“-4”增加到“-3”时[3],C210触点动作,Y10得电输出。当C210的当前值由“-3”减小到“-4”时,C210触点复位,Y010复位,此时,C210的当前值并不会清零,只有在满足条件X11时,C210的当前值才会清零。
(a) 梯形图
(b) 时序图
电梯轿厢的平层控制由减速永磁感应器和门驱双稳态开关信号触发,当轿厢从停止状态启动时,变频器输出为高速,当经过目标楼层的减速感应器,变频器输出为低速,当PLC接收到门驱双稳态开关信号后,停止输出STF或STR,变频器停止输出,此时,轿厢停止在目标楼层。
四层电梯的每一层都安装有一个永磁感应器和门驱双稳态开关,但为了减少输入点数,四个永磁感应器的信号都是由一个输入继电器X2接收,四个门驱双稳态开关信号都是由输入继电器X33接收。这样,判断电梯在几层是程序设计的一个难点,用加减计数器可以解决这个问题。
图5所示,M20指电梯上升,M30指电梯下降,X11是下限位开关,当电梯在一层,复位C200和C201,当M20为ON,电梯正在上升,M8200和M8201为OFF,轿厢感应门驱双稳态开关(X33)和永磁感应器(X2)时,C200和C201加计数。当M30为ON,电梯正在下降,M8200和M8201为ON,轿厢感应X33和X2的上升沿,C200和C201减计数。
图5 门驱双稳态信号的检测Fig.5 Detection of door-drive bistable signal
图6 示,当C200当前值为0,M51为ON,表示电梯在1层;当C200当前值为1,M52为ON,表示电梯在2层……这样,实现了电梯轿厢的平层控制。
图6 目标楼层的确定Fig.6 The determination of target floor
在FX3u系列PLC的基本单元中,内置了32位增减计数器的高速计数器[4]。地址编码为C235-C255,共计21点。有单向单计数、单向双计数和双向双计数三种高速计数器[5],每种高速计数器设置有硬件计数器和软件计数器。单向单计数输入的高速计数器C235-C245,增减计数方式和32位加减计数器设置方式一样,由所对应的特殊辅助继电器设定。
高速计数器是由系统指定的输入信号进行计数,每点高速计数器其所支持的脉冲输入端、复位和启动、方向控制都有特定的输入点,通过比较或中断完成目标操作。部分高速计数器的输入分配如表1所示。
表1 部分高速计数器输入分配表Tab.1 Input allocation table of some high-speed counters
使用旋转编码器精确定位电梯的位置,可以实现电梯轿厢的精确停靠。程序设计中用高速计数器对编码器的高速脉冲信号计数,通过PLC的运算和处理,得出轿厢的位置从而对曳引机发出减速和停止信号。这时减速信号和停止信号不再由减速感应器和门驱双稳态开关提供,避免了由于减速感应器受到干扰而误动产生的故障,从而提高电梯运行的精度和稳定性[6]。
编码器的高速脉冲由高速计数器C235计数,在程序设计中,要先给C235赋初值[7],为避免高速计数器C235的计数值溢出,C235的初值要大于轿厢处于电梯顶层时对应的编码器的脉冲数。由M8235决定C235的计数方式,M30表示轿厢处于下降状态,这时置位M8235,C235减计数,M20表示轿厢处于上升状态,此时复位M8235,C235加计数,如图7所示。
图7 计数器赋初值及计数方式程序Fig.7 The programme of initializing and the counting method of the counter
M150为井道自学习的辅助继电器,通过井道自学习,使用传送指令MOV把减速感应器的上升沿和下降沿时所对应的值存储到D230和D250开头的几个数据寄存器中[8],确定每一楼层的范围。当PLC处于运行状态时,使用区间比较指令ZCP使编码器的当前值与楼层的范围值比较,确定当前的楼层位置。如图8所示。
图8 轿厢楼层范围确定程序Fig.8 The determination programme of floor range of the elevator car
通过图8的比较得到的楼层位置,为曳引机提供减速信号(M331、M334、M337、M340),进而使曳引机进行减速并停靠,如图9所示。
图9 轿厢减速停靠程序Fig.9 The programmeof deceleration for stopping of the elevator cars
通过分析PLC的编程元件计数器的动作原理和基本用法,使用16位加计数器实现了电梯的取消错误选层功能,用32位加/减计数器实现了轿厢的平层控制,用高速计数器实现了电梯的精确停靠,为电梯的部分功能设计提供了一种切实可行的编程方法。