西门子200 SMART移位寄存器指令SHRB应用小案例
人机和谐
2025年04月17日 18:28

西门子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)。