济南
我的 发布

PLC编程培训之PLC 移位指令应用

2025-10-19 2
点赞 收藏
类型:
其他
形式:
脱产班
学校名称:
中研高科(山东)教育科技发展有限公司
学费:
面议
区域
济南-槐荫-槐荫其他
认证
手机身份证
联系人
杨老师
信息详细
《PLC 移位指令应用:用 “流水灯控制” 案例,学 SHRB 指令的时序逻辑》
移位指令是PLC编程中实现顺序控制、物料分拣、灯光效果等功能的利器。
对于西门子S7200 SMART PLC,SHRB 指令是1个非常灵活的移位寄存器指令。
我们通过1个经典的“8位流水灯”案例来理解它。


案例要求:
8个指示灯Q0.0 ~ Q0.7依次点亮,像水流1样循环。
每个灯亮1秒,1次只有1个灯亮。


理解 SHRB 指令:
SHRB 指令有3个关键参数:DATA移入的数据位,S_B1T移位寄存器的最低位,N移位寄存器的长度和方向。


N > 0: 向左移位从低位向高位移动。


N < 0: 向右移位从高位向低位移动。


程序设计思路:

初始化: 在第1个扫描周期SM0.1,将第1个灯Q0.0置位为1,其余灯复位为0。
这给了流水1个“起点”。


建立移位脉冲: 使用1个定时器如T37构成1个1秒的时钟脉冲。
每1秒产生1个脉冲,作为移位的触发信号。


配置 SHRB 指令:

DATA:这个位的数据将被移入寄存器。
为了实现循环,我们应该将最后1位的状态Q0.7移回到第1位。
所以,DATA 端连接 Q0.7。


S_B1T:指定移位寄存器的最低端,也就是Q0.0。


N:寄存器长度是8位。
我们希望数据从Q0.0向Q0.7方向移动,所以是左移,N=+8。


程序逻辑:

text
网络1:初始化
SM0.1
M0V_B
EN EN0
16#01 > QB0 //将12进制0000 0001送到输出字节QB0,使Q0.0亮

网络2:产生1秒脉冲
T37
1N T0N
100PT //10ms100=1s
|
| T37 //T37常开触点
|]/[ //形成1个1秒通,1秒断的闪烁电路

网络3:执行移位
T37 //每秒触发1次
SHRB
EN EN0
Q0.7 DATA
Q0.0 S_B1T
+8 N
工作原理:

第1秒,Q0.0=1,其他为0。


当1秒脉冲到来时,SHRB 指令执行。
它将 DATA 端Q0.7的当前值,为0移入,整个8位寄存器Q0.0~Q0.7向左移动1位。
结果变为:Q0.0=0,Q0.1=1。


第2秒,Q0.1亮。


如此循环,当1移动到Q0.7后,在下1个脉冲,Q0.7的“1”被移出到 DATA 端,又填回到了Q0.0。
从而实现了周而复始的流水效果。


通过这个案例,你可以直观地看到数据在寄存器中“流动”的时序逻辑,这是理解移位指令精髓的关键。


交易前请核实商家资质,勿信夸张宣传和承诺,勿轻易相信付定金、汇款等交易方式。

热门推荐
拔打电话