每天学一点/ 电工:西门子PLC
STEP7-SMARTPLC:移位寄存器
移位寄存器如下图示:
EN:每个扫描周期执行一次。
DATA:数据移入位。
S—BIT:指定移位寄存器的初始位。
N:指定移位寄存器的长度和方向(N为正数左移,N为负数右移),最大为64位。
注意:该指令中为的高低排列顺序与前面讲的排列顺序不完全一致,永远遵循编号大的位处在高位的原则。
下图所示:EN前应加边沿配合使用。
把Q0.0开始的12个位状态连成一串,指令每执行一次,这12个为状态左移1位,Q0.7 溢出,Q0.0以I0.0 的状态补上,指令执行前状态如图所示:
执行一次指令后,先往左移一位,移出区的最高位溢出,然后把I0.0的状态放入低位Q0.0.
执行结果:由Q0.0-Q0.3的12个位,每执行一次向高位移动一次。如果要有高位向低位移动,只需要把N为的12改为-12即可。
移位寄存器典型的应用是在次品检测和剔除生产线上,如果检测到次品就马上剔除,相对来说所花的时间长效率低,如果要等待移动到几个工位后才能剔除,那么就可以利用移位寄存器指令将次品信号实时采集并保存到存储器中,然后整体移动几个工位后在执行剔除。
如下图所示:控制流程。
凸轮转一圈,工件向前移动一个位置,BL2检测凸轮,给一个脉冲信号。BL1为检测次品信号,检测到次品给出一个信号,YV为电磁阀信号,当YV得电是打开底盖,上面的次品就掉入次品箱中,0.5s后自动关闭。
要求:检测到次品后移动4个工位后才驱动电磁阀掉到次品箱里。
I/O 分配如下:
次品接通信号BL1:I0.0.
移位脉冲信号BL2:I0.1
YV接通电磁阀:Q0.0
控制程序如下图:
技能传承 慧深益众