在自动化控制领域,沿指令是实现精准动作触发与状态检测等功能的重要工具之一。本文将围绕沿指令的基础原理、编程实现及典型应用场景展开详细说明,为自动化工程师提供清晰的技术参考。
沿指令的核心功能是检测输入信号的状态跳变,并在跳变发生时产生一个周期有效的输出信号。其工作机制主要包含以下三个关键部分:
输入信号:
即需要监测跳变状态的原始信号,例如按钮的通断信号、传感器的检测信号等。
存储位:
用于记录上一周期的输入信号状态,该状态始终与当前周期的输入信号存在一个周期的延迟。
边沿输出:
当输入信号发生跳变时(当前周期与上一周期状态不同)产生的输出信号,具体分为两种类型:
上升沿:当前周期输入为 1,上一周期输入为 0 时产生
下降沿:当前周期输入为 0,上一周期输入为 1 时产生
**需要特别注意的是,边沿输出信号具有周期保持特性:在指定的 OB(组织块)区间内(如 OB1、OB30 等),输出信号从指令执行开始到下一个周期指令执行前始终保持有效。当输入信号连续两个周期保持相同状态(00 或 11)时,不会产生任何边沿输出。
在 S7-1200/1500 的 SCL 编程环境中,沿指令功能编程主要有两种方式:沿指令实现与编程实现。
(一)沿指令实现
SCL 编程提供了两条专用沿指令:
R_TRIG:检测信号上升沿
F_TRIG:检测信号下降沿
使用时需注意以下要点:
指令基于FB
FB使用多重背景
FC使用单个实例
FC多次调用需要使用参数实例
一次使用一个背景
(二)编程实现
我们还可以通过 FC 或 FB 编程实现沿指令功能,核心逻辑如下:
1. FC 实现方式:
(1)FC接口区变量定义如下:
(2)FC中程序代码如下:
2. FB 实现方式:
(1) FB接口区变量定义如下:
(2)FB中程序代码如下:
注意事项:存储位必须使用 InOut(FC)或 Static(FB)类型,严禁使用临时变量(Temp),否则会导致状态记录失效。
沿指令在自动化控制中应用广泛,主要用于实现单次触发、到位检测等精准控制需求,典型场景包括:
(一)沿指令实现
按钮单次启停
操作面板上的启动或急停按钮每按一次只让设备动作一次,避免长按造成重复触发。计数与到位检测
光电开关每感应到一个工件就产生一个上升沿脉冲,驱动计数器加 1,用于产量统计或定长切割。
防抖动与时序保护
机械开关或继电器接点会在闭合瞬间抖动;用沿指令只在第一次跳变时取一次信号,后续抖动被自动忽略。
报警与故障复位
当报警信号从 1 变 0(下降沿)时,沿指令产生一个脉冲复位报警输出,确保复位动作仅执行一次。
应用实例:光电开关计数系统
以传送带产品计数为例,具体实现流程如下:
功能需求:设备通过光电开关,光电开关感应一次,设备数量加一;
编程实现:
(1)创建FC1,在FC1的接口区添加变量,如下图所示:
(2)在FC1中编写程序,如下图所示:
(3)在DB1中定义变量,如下图所示:
(4)在OB1中调用FC1,如下图所示:
(5)仿真验证,如下图所示:
通过沿指令的精准检测,可有效避免因传感器信号抖动或持续导通导致的误计数问题,显著提升控制系统的可靠性。
更多福利
热门课程、官方认证
![]() |
|
![]() |
![]() |
![]() |
![]() |
如此丰富实用的功能,如何快速了解更详尽的信息,掌握使用要点呢? 后期我们会在西门子1847工业学习平台推出更多关于SITOP电源的详细介绍视频、使用技巧以及注意事项。
想学习更多内容?那就快来1847工业学习平台超多人都在学的热门好课吧!
左右滑动查看更多课程目录
最低9.9元(原价139元),欢迎扫码添加客服,获取课程详情:






