33. 顺序控制指令

  1. 顺序控制指令

1. 顺序控制指令的核心作用

顺序控制指令是PLC厂家提供的简化功能图编程 的工具,让程序员可通过"状态器(S)"+"指令"的方式,直观描述系统的顺序工作流程(如初始→状态1→状态2→...→结束),无需复杂的触点逻辑嵌套。
状态器S 是西门子S7-200/200 SMART系列PLC中一种专门用于顺序控制编程(如功能图/顺序功能图)的特殊中间继电器 ,其作用是在程序中标记和跟踪一个"状态"或"步"。它是将功能图(状态转移图)转化为可执行梯形图程序的核心载体。

核心概念与作用

状态器S的核心作用在于实现"步进逻辑" 。在功能图中,一个状态(例如"初始状态"、"工步1"、"工步2")对应程序中一个被激活的S位。当某个S位为"1"时,表示系统正处于它所代表的那个"步"中,并执行该步对应的所有动作(输出、计时等)。

2. 指令的组成(以S7-200为例)

S7-200提供4条顺序控制指令,操作对象为状态器S (范围:S0.0~S31.7,对应功能图中的一个"状态"),指令形式分为STL(语句表)LAD(梯形图),功能如图所示:

|---------|----------|----------------|-------------------------------|-----------|
| 指令 | STL形式 | LAD形式 | 功能 | 操作对象 |
| 装载SCR | LSCR bit | ---(SCR) | 标记SCR段的开始 (进入一个状态) | S位(状态器) |
| 转移SCR | SCRT bit | ---(SCRT) | 标记SCR段的转移 (从当前状态跳转到下一个状态) | S位(目标状态器) |
| 结束SCR | SCRE | ---(SCRE) | 标记SCR段的结束 (退出当前状态) | 无 |
| 条件结束SCR | CSCRE | ---(SCRE)(带条件) | 标记条件满足时结束SCR段 (动态终止当前状态) | 无 |

3. 指令的语法与逻辑(结合"SCR段"理解)

"SCR段"是顺序控制的核心单元,每个SCR段对应功能图中的一个状态 ,结构为:LSCR(开始)→ 状态内的动作/逻辑 → SCRT(转移)/ SCRE(结束)/ CSCRE(条件结束)。

(1) LSCR:装载SCR(开始一个状态)****
  • 功能 :标记SCR段的起始,将当前状态器(S位)置为"有效",允许该状态下的指令(如输出、定时、计数等)执行。
  • 语法 :STL中为 LSCR Sx.y(如LSCR S0.1),LAD中为---(SCR) Sx.y。
  • 逻辑 :当SCR段被LSCR启动时,状态器Sx.y被置位,该状态下的所有逻辑(如输出Q、定时器T、计数器C等)生效,系统进入"状态x.y"的稳定运行阶段。
(2) SCRT:转移SCR(切换到下一个状态)****
  • 功能 :标记SCR段的转移 ,当转移条件满足时,将下一个状态器 置位(启动下一个SCR段),同时复位当前状态器(停止当前SCR段)。
  • 语法 :STL中为 SCRT Sx.y(如SCRT S0.2),LAD中为---(SCRT) Sx.y。
  • 逻辑 :当SCRT的输入条件(如定时器常开触点闭合、外部按钮信号等)满足时,系统从当前状态 (如S0.1)转移到目标状态(如S0.2),当前状态的SCR段结束,目标状态的SCR段启动。
(3) SCRE:结束SCR(退出当前状态)****
  • 功能 :标记SCR段的结束 ,必须出现在每个SCR段的最后,用于终止当前状态的SCR段(复位当前状态器)。
  • 语法 :STL中为 SCRE,LAD中为---(SCRE)。
  • 逻辑 :当SCR段执行到SCRE时,当前状态器被复位,该状态下的指令不再执行,系统回到"无状态激活"的状态,等待下一个LSCR启动新状态。
(4) CSCRE:条件结束SCR(动态终止当前状态)****
  • 功能 :标记条件满足时结束SCR段,仅CPU V1.21及以上版本支持,只能用于STL形式。条件满足时,结束当前SCR段(复位当前状态器),并终止后续的状态转移操作(需谨慎使用)。
  • 语法 :STL中为 CSCRE,LAD中无直接对应(需用条件触点+SCRE模拟)。
  • 逻辑 :当CSCRE前方的条件(如传感器信号、错误标志等)满足时,立即终止当前SCR段,不再执行后续的SCRT或SCRE,常用于紧急停止、故障处理等场景。

4. 指令的工作流程(以"初始化→状态1→状态2→结束"为例)

流程如下:

(图片摘自《现代电气控制及PLC应用技术》(王永华))

  1. 初始化 :用初始化脉冲SM0.1(仅第一个扫描周期为ON)置位初始状态S0.1 (S S0.1),启动第一个SCR段。
  2. 状态1(S0.1的SCR段)
  • LSCR S0.1:开始S0.1的SCR段,S0.1置位,状态内的指令(如= Q0.4、= Q0.5、= Q0.6、TON T37, +10)执行(驱动输出、启动定时器)。
  • 当定时器T37计时到1s(T37常开触点闭合),SCRT S0.2:触发转移,置位S0.2(启动下一个SCR段),同时复位S0.1(停止当前SCR段)。
  • SCRE:标记S0.1的SCR段结束(实际中SCRT已复位S0.1,SCRE确保段终止)。
  1. 状态2(S0.2的SCR段)
  • LSCR S0.2:开始S0.2的SCR段,S0.2置位,状态内的指令(如= Q0.2、TON T38, +20)执行。
  • 当定时器T38计时到20s(T38常开触点闭合),SCRT S0.3:触发转移到S0.3,复位S0.2。
  • SCRE:结束S0.2的SCR段。
  1. 状态3(S0.3的SCR段)
  • LSCR S0.3:开始S0.3的SCR段,执行状态内指令(如输出Q0.3等)。
  • 若无需继续转移,用SCRE结束S0.3的SCR段,系统回到无状态激活状态。

5. 关键注意点

  • 操作对象 :所有顺序控制指令的操作对象是状态器S(S0.0~S31.7),每个S位对应功能图中的一个"状态"。
  • SCR段的结构 :每个状态必须由LSCR开始,以SCRE(或CSCRE)结束,中间可包含输出、定时、计数、逻辑运算等指令。
  • 转移条件 :SCRT的触发条件必须是当前状态为"动状态" (即SCR段已启动,S位置位)且转移条件成立,才能触发状态转移。
  • CSCRE的特殊性:仅在CPU V1.21以上版本支持,且仅能STL编程,会终止后续状态转移,需谨慎使用。
相关推荐
Emily1568535987010 小时前
ICS TRIPLEX T8403 TMR Digital Input Module
plc·module·dcs·ics triplex·t8403
9稳5 天前
基于组态的双向人行道交通灯控制系统设计
开发语言·网络·数据库·labview·plc
家有娇妻张兔兔7 天前
Java 对接 PLC 主流型号最合适的方案:Apache PLC4X 实战指南
java·开发语言·plc·modbus·数据缓存·西门子s7·apache plc4x
AlanBruce8 天前
摩尔信使MThings EdgeWeb HTTP API接口
网络·网络协议·http·上位机·plc·modbus·摩尔信使
AlanBruce16 天前
从串口仪表到西门子PLC:摩尔信使MThings的多协议设备接入能力
自动化·plc·modbus·mthings·摩尔信使·西门子s7
Lilixxs19 天前
施耐德M580、M340趋势功能 Trending 使用
plc·施耐德·unity pro·control expert·m580 m340·trace trending
Triv202520 天前
Profinet与Modbus协议转换网关HD67602的硬件特性与配置方法
网络·plc·modbus·profinet·工业网关·协议转换
力旷智能24 天前
力旷智能:西林瓶自动装盘机控制系统设计技术解析
plc·gmp·自动化控制·制药设备·力旷智能·leaguetek
ControlRookie1 个月前
源码加更03_单连接槽位、TCP 字节流和发送队列
mqtt·plc·工业通信·codesys