
西门子200 SMART移位寄存器指令SHRB应用小案例的3行程序片段如下
OLD
AN 急停:I0.3
SHRB M25.0, M22.0, +10
上面三行程序的整体逻辑
1.安全控制:
o AN 急停:I0.3 确保急停触发时切断后续逻辑。
2.逻辑合并:
o OLD 将急停条件与其他并联逻辑(如电机启动条件)合并。
3.状态跟踪:
o SHRB 通过移位寄存器实现某种周期性状态记录或信号传递。
1. AN 急停:I0.3
指令含义
AN(And Not):逻辑“与非”操作,将当前逻辑结果(RLO)与指定操作数的非进行“与”运算。
急停:I0.3:符号地址,对应物理输入点 I0.3(急停按钮信号)。
功能说明
当急停按钮未按下(即 I0.3 = 0)时,此触点闭合,逻辑结果为“真”。
当急停按钮按下(即 I0.3 = 1)时,此触点断开,逻辑结果为“假”。
用途:常用于安全逻辑,确保急停触发时切断相关控制信号。
示例场景
plaintext
复制
假设前段逻辑为“电机启动条件满足”(RLO = 1),则:
- 急停未按下(I0.3=0):AN指令结果为 1 & 1 = 1(允许动作)。
- 急停按下(I0.3=1):AN指令结果为 1 & 0 = 0(禁止动作)。
2. OLD
指令含义
OLD(Or Load):将逻辑堆栈中第一层和第二层的结果进行“或”运算,合并两个并联逻辑分支。
功能说明
用于处理并联逻辑块。例如:
plaintext
复制
Network 1:
A 条件1:I0.0 // 逻辑分支1
A 条件2:I0.1
Network 2:
AN 急停:I0.3 // 逻辑分支2
OLD // 将分支1和分支2的结果进行“或”操作
= 输出线圈Q0.0
用途:简化复杂逻辑结构,提升代码可读性。
注意事项
必须确保逻辑堆栈中有足够的层级(通常由前序的ALD或独立逻辑块生成)。
3. SHRB M25.0, M22.0, +10
指令含义
SHRB(Shift Register Bit):移位寄存器指令。
参数说明:
M25.0:移位数据输入位(每次移位时,此位的值被移入寄存器)。
M22.0:移位寄存器起始位(定义缓冲区的第一个位地址)。
+10:移位次数(正数表示左移,负数表示右移;此处左移10位)。
4.功能说明:移位范围:
o 起始地址 M22.0,左移10位后,覆盖 M22.0 至 M31.0 的10个连续位。
o 每次扫描周期,寄存器内容向左移动一位,最高位(M31.0)的值被丢弃,新值从 M25.0 移入最低位(M22.0)。