沿指令
S7-1200 CPU中有多种沿检测指令,这些指令可以用于变量或者逻辑运算结果(RLO)的上升沿、下降沿检测,指令位置如图1所示,指令说明如表1所示。
图1、沿指令位置
LAD | SCL | 说明 |
---|---|---|
- | 扫描操作数的信号上升沿。 在触点分配的 "IN" 位上检测到正跳变(0->1)时,该触点的状态为 TRUE。该触点逻辑状态随后与能流输入状态组合以设置能流输出状态。P 触点可以放置在程序段中除分支结尾外的任何位置。 指令说明链接 | |
- | 扫描操作数的信号下降沿。 在触点分配的 "IN" 位上检测到负跳变(1->0)时,该触点的状态为 TRUE。该触点逻辑状态随后与能流输入状态组合以设置能流输出状态。N 触点可以放置在程序段中除分支结尾外的任何位置。 指令说明链接 | |
- | 在信号上升沿置位操作数。 在进入线圈的能流中检测到正跳变(0->1)时,分配的位 "OUT" 为 TRUE。能流输入状态总是通过线圈后变为能流输出状态。P 线圈可以放置在程序段中的任何位置。 指令说明链接 | |
- | 在信号下降沿置位操作数。 在进入线圈的能流中检测到负跳变(1->0)时,分配的位 "OUT" 为 TRUE。能流输入状态总是通过线圈后变为能流输出状态。N 线圈可以放置在程序段中的任何位置。 指令说明链接 | |
- | 扫描 RLO(逻辑运算结果)的信号上升沿。 在 "CLK" 能流输入中检测到正跳变(0->1)时,Q 输出能流或者逻辑状态为 TRUE。 P_TRIG 指令不能放置在程序段的开头或结尾。 指令说明链接 | |
- | 扫描 RLO(逻辑运算结果)的的信号下降沿。 在 "CLK" 能流输入中检测到负跳变(1->0)时,Q 输出能流或者逻辑状态为 TRUE。 N_TRIG 指令不能放置在程序段的开头或结尾。 指令说明链接 | |
在信号上升沿置位变量。 分配的背景数据块用于存储 CLK 输入的前一状态。在 CLK 能流输入 (LAD) 中检测到正跳变(0->1)时,Q 输出能流或者逻辑状态为 TRUE。在 LAD 中,R_TRIG 指令不能放置在程序段的开头或结尾。 指令说明链接 | ||
在信号下降沿置位变量。 分配的背景数据块用于存储 CLK 输入的前一状态。在 CLK 能流输入 (LAD) 中检测到负跳变(1->0)时,Q 输出能流或者逻辑状态为 TRUE。 在 LAD 中,F_TRIG 指令不能放置在程序段的开头或结尾。 指令说明链接 |
表1、沿指令说明
沿指令使用
—|P|—:扫描操作数的信号上升沿
<操作数 1>
—|P|—
<操作数 2>
使用该指令,可以确定<操作数 1>的信号状态是否从“0”变为“1”。该指令将比较 <操作数 1> 的当前信号状态与 <操作数 1> 上一次扫描的信号状态, <操作数 1> 上一次扫描的信号状态保存在边沿存储位<操作数 2>中。
如果 <操作数 1> 上一次扫描信号状态(<操作数 2>)为“0”,<操作数 1>当前信号状态为“1”,则检测到<操作数 1>信号的上升沿。
指令参数如表2所示,指令的使用示例如图2-4所示。
参数 | 声明 | 数据类型 | 存储区 | 说明 |
---|---|---|---|---|
<操作数 1> | Input | Bool | I、Q、M、D、L或常量 | 要扫描的信号 |
<操作数 2> | InOut | Bool | I、Q、M、D、L | 保存上一次查询的信号状态的边沿存储位 |
表2、扫描操作数的信号上升沿指令参数
图2、扫描操作数的信号上升沿示例