3、彩灯追灯控制电路的控制要求:
(1)彩灯共有两种控制方式,通过选择开关进行选择。
(2)如果选择 “方式一”,则合上运行开关后,八盏彩灯从左向右以1s的间隔逐个点亮,如此循环。
(3)如果选择“方式二”,则合上运行开关后,八盏彩灯从左向右以1s的间隔逐个点亮,然后再从右向左以1s的间隔逐个点亮,如此循环。
(4)断开运行开关,系统停止工作。
控制要求分析:由控制要求可知该彩灯控制有两种控制方式,可采取子程序调用指令 (CALL)的方式来实现。当调用子程序1时,实现 “方式一”的控制要求。当调用子程序2时,实现 “方式二”的控制要求。八盏彩灯逐个点亮的控制,可用定时器指令编写,但是程序步数较长,编写过于繁琐。本项目用左移位寄存器指令 (SR)和左/右移位寄存器指令(LRSR)来实现。
根据彩灯追灯控制系统的控制写出程序,如图所示彩灯追灯控制PLC梯形图程序。
当未选择方式转换开关 (XO、Xl均为 “OFF”)时,将X0、Xl常开、常闭的组合取反后,用F0(MV)指令将WY0和WRO清零。当选择 “方式一”(XO为 “ON”)或 “方式二”(Xl为 “ON”)时,通过子程序调用指令调用相应的子程序。
在子程序0中,由SR指令控制WR0中的数据移位。在 “运行一”开关接通瞬间 (X7上升沿到来)或一次循环结束 (R8上升沿到来)时,将数据 “1”用F0(MV)指令送入WR0,对WR0进行初始化,并将数据输入端接常OFF继电器R9011的常开,以保证WR0中仅有一位为“1”。而用特殊内部继电器R901C(1s脉冲继电器)来控制1s的时间间隔。最后,用R9010(常ON继电器)作为触发信号,将WR0中的数据传送到WY0中,实现数据输出。
在子程序1中,当“运行二”开关接通瞬间 (X6上升沿到来)时,Y0接通并保持,其常开触点使RO接通并保持,使Fll9(LRSR)左/右移位端为 “ON”,WY0中的数据采用左移方式,当Y7接通时R0复位,Fll9(LRSR)左/右移位端为 “0FF”,WY0中的数据采用右移方式。而Fll9(LRSR)数据输入端为常开的特殊内部继电器R90l1,使移入数据一直为“O”,以保证始终只有一盏灯亮。移位触发信号则采用1s时钟脉冲继电器R901C,从而使灯亮的间隔为1s。