s7 200跑马灯移位寄存器使用  

要求12个灯循环点亮,亮1s,灭1.5s后,第二个灯亮1s,灭1.5s,如此循环。
循环移位只有8的倍数的指令,12个不知道怎么实现,求大神给个思路


西门子(上海)有限公司

联系人 :康 奎(业务经理)发布

地   址:上海市松江区三新北路1800弄(松江电子商务园区) 

零售  批发 外贸

上海周边送货上门

提供西门子软件说明书等

相关技术:


答案

这个你可以用定时器和计数器共同实现,先写一个定时器1s和1.5s转换的程序。然后用定时器的输出点控制计数器加,计数器当前值等于1时,个灯亮;等于2的时,第二个灯亮......等于12时,第十二个灯亮;然后复位计数器重新计数

要知道循环移位指令不仅仅只能是字节,有字和双字,当然通过你自己编辑程序还可以扩展无数个位。一般非8的倍数循环,只能通过自己编辑程序了。
你可以按0.5秒周期循环移位方式做。