用移位指令控制单点美化灯的循环移动点亮程序 上几回说到电动机的控制,只是一些简单的控制,电动机的控制比较深入一点的就是变频器、伺服器对电动机的控制了。在这里我们暂且按下不表,后面再研究。 接下来讲一讲移位指令控制的灯光美化工程。 案例要求: 一开关控制5个小灯的循环点亮,每次隔1秒钟,依次点亮Y0~Y4。 点亮后一个灯时,前面的灯就灭掉。 全部灭掉后,又从第一个灯开始点亮,如此循环。 直到开关断开,全部灯都灭掉。 软元件分配/使用如下表:
设计思路: 利用SUM指令计算Y0到Y4的通断结果,如全部为0,0状态标志位SM8020变为1。 把1依次移位到Y0~Y4,就得到所需要的结果,单次点亮一个灯。 后面因为这时K2Y0不等于0,0状态标志位SM8020变为0,即一次只移动了一个1,直到Y4也变为0了,这时又重复把1移入。 Y5~Y7,因为没用上,需要一直保持0状态。 接线简图: 编写程序: 首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写: 梯形图程序,用SFTLP指令设计如下: 其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写: ST语言程序如下: OUT(0,Y5); OUT(0,Y6); OUT(0,Y7); SUM(1,K2Y0,D0); SFTLP(SM413,SM8020,K5,K1,Y0); MOV(NOT X0,0,K2Y0); 参阅:《三菱PLC基本编程练习(4):用位检查SUM和传送MOV指令的四个开关控制四个灯程序》 感谢阅读指正,关注了解更多! |
|