移位类指令与微分、保持KEEP、传送及比较等指令配合使用,可以实现顺序控制的诸多功能,现以8盏灯“单方向顺序单通”问题为例,提供5种解决思路供读者自学编程,并可被引用解决实际控制问题。
【例3-9】利用移位类指令编程实现8盏灯单方向顺序单通控制。控制要求是:当启动开关导通,8盏灯单方向顺序逐个亮,一次只亮一盏灯,间隔为0.5s,亮灯可循环。按复位按钮,8灯全灭,时序图如图3-38所示。
思路1:采用移位寄存器SFT指令实现8盏灯单方向顺序单通并循环。由于每次仅亮一盏灯,因此需在第一个移位脉冲到来时,SFT指令的数据输入端置ON,此后的7个脉冲置
图3-388 灯单方向顺序单通时序图
OFF,实现顺序单通。为了实现亮灯循环,可在第8个移位脉冲到来时将数据输入端再次“自动”置ON。具体方法是将8盏灯的常闭触点串联后驱动一个内部工作位,由该位作为数据输入端实现ON/OFF自动切换。按照此思路编写的梯形图程序段如下。
思路2:采用移位寄存器SFT指令实现8盏灯单方向顺序单通并循环。第一个移位脉冲触发一个内部工作位置ON一个扫描周期,将该工作位作为SFT指令的数据输入端,实现顺序单通。为实现亮灯循环,可由第8盏灯的输出位将数据输入端再次置ON。按照此思路编写的梯形图程序段如下。(www.xing528.com)
思路3:采用移位寄存器SFT指令实现8盏灯单方向顺序单通并循环。使用比较指令CMP实时地将立即数0与101通道值做比较。当8灯全灭时,对应输出通道101的值也为0,CMP将等于标志P_EQ置位,而该标志作为SFT指令的数据输入端,实现顺序单通。为实现亮灯循环,可参照思路2的方法。按照此思路编写的梯形图程序段如下。
思路4:采用移位寄存器SFT指令实现8盏灯单方向顺序单通并循环。第一个移位脉冲触发传送指令MOV将101通道值赋“0001”(101.00为ON),点亮第一盏灯。此后数据输入端常断,实现顺序单通。为实现亮灯循环,可借用第9盏灯输出位再次将101通道值赋“0001”。按照此思路编写的梯形图程序段如下。
思路5:采用算术左移指令ASL实现8盏灯单方向顺序单通并循环。第一个移位脉冲触发传送指令MOV将101通道值赋“0001”(101.00为ON),点亮第一盏灯。使用ASL左移入“0”,实现顺序单通。为实现亮灯循环,可借用“第9盏灯”(101.09位)再次将101通道值赋“0001”。按照此思路编写的梯形图程序段如下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。