西门子PLC 6ES7212-1BE40-0XB0 AC/DC/RLY继电器

供应商
上海工智达电气技术有限公司
认证
报价
1300.00元每件
西门子
PLC
PLC
6ES7212-1BE40-0XB0
中国
净重 0.374 Kg
联系电话
15221760199
手机号
15221760199
联系人
田子龙
所在地
上海市松江区科技园区平原街880弄65号201
更新时间
2025-02-17 07:05

详细介绍



s7-1200cpu中有多种沿检测指令,这些指令可以用于变量或者逻辑运算结果(rlo)的上升沿、下降沿检测,指令位置如图1所示,指令说明如表1所示。

图1、沿指令位置

ladscl说明-

扫描操作数的信号上升沿。

在触点分配的 "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|—:扫描操作数的信号上升沿


使用该指令,可以确定

如果

指令参数如表2所示,指令的使用示例如图2-4所示。

参数声明数据类型存储区说明
inputbooli、q、m、d、l或常量要扫描的信号
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位

表2、扫描操作数的信号上升沿指令参数

图2、扫描操作数的信号上升沿示例

图3、扫描操作数的信号上升沿示例

图4、扫描操作数的信号上升沿示例 trace 轨迹

在上述示例中,tagin3为

—|n|—:扫描操作数的信号下降沿


使用该指令,可以确定

如果

指令参数如表3所示,指令的使用示例如图5-7所示。

参数声明数据类型存储区说明
inputbooli、q、m、d、l或常量要扫描的信号
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位

表3、扫描操作数的信号下降沿指令参数

图5、扫描操作数的信号下降沿示例

图6、扫描操作数的信号下降沿示例

图7、扫描操作数的信号下降沿示例 trace g轨迹

在上述示例中,tagin3为

—(p)—:在信号上升沿置位操作数


可以使用该指令在逻辑运算结果 (rlo) 从"0"变为"1"时置位

如果上一次扫描的 rlo (

指令参数如表4所示,指令的使用示例如图8-10所示。

参数声明数据类型存储区说明
outputbooli、q、m、d、l上升沿置位的操作数
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位

表4、在信号上升沿置位操作数指令参数

图8、在信号上升沿置为操作数示例

图9、在信号上升沿置为操作数示例

图10、在信号上升沿置为操作数示例 trace 轨迹

在上述示例中,“tagout”为

—(n)—:在信号下降沿置位操作数


可以使用该指令在逻辑运算结果 (rlo) 从"1"变为"0"时置位

如果上一次扫描的 rlo (

指令参数如表5所示,指令的使用示例如图11-13所示。

参数声明数据类型存储区说明
outputbooli、q、m、d、l下降沿置位的操作数
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位

表5、在信号下降沿置位操作数指令参数

图11、在信号下降沿置为操作数示例

图12、在信号下降沿置为操作数示例

图13、在信号下降沿置为操作数示例 trace 轨迹

在上述示例中,“tagout”为

p_trig: 扫描 rlo 的信号上升沿


          

可以使用该指令在 clk 从"0"变为"1"时置位输出 q。该指令将比较 clk 的当前信号状态与 clk 上一次扫描的信号状态,clk 上一次扫描的信号状态保存在边沿存储器位

如果上一次扫描的 clk (

指令参数如表6所示,指令的使用示例如图14-16所示。

参数声明数据类型存储区说明clkinputbooli、q、m、d、l或常量当前逻辑运算结果 (rlo)
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位、q、m、d、l边沿检测的结果

表6、扫描 rlo 的信号上升沿指令参数

图14、扫描 rlo 的信号上升沿示例

图15、扫描 rlo 的信号上升沿示例

图16、扫描 rlo 的信号上升沿示例 trace 轨迹

在上述示例中,当操作数“tagin1”、“tagin2”、“tagin3”的逻辑运算结果 (rlo) 即 clk输入从“0”变为“1”时,该指令输出 q将立即返回状态“1”一个程序周期,此时将操作数“tagout”置位为一个程序周期,通过“tagout”将“tagin4”置位为“1”。

n_trig: 扫描 rlo 的信号下降沿


          

可以使用该指令在 clk 从"1"变为"0"时置位输出 q。该指令将比较 clk 的当前信号状态与 clk 上一次扫描的信号状态,clk 上一次扫描的信号状态保存在边沿存储器位

如果上一次扫描的 clk (

指令参数如表7所示,指令的使用示例如图17-19所示。

参数声明数据类型存储区说明clkinputbooli、q、m、d、l或常量当前逻辑运算结果 (rlo)
inoutbooli、q、m、d、l保存上一次查询的信号状态的边沿存储位、q、m、d、l边沿检测的结果

表7、扫描 rlo 的信号下降沿指令参数

图17、扫描 rlo 的信号下降沿示例

图18、扫描 rlo 的信号下降沿示例

图19、扫描 rlo 的信号下降沿示例 trace 轨迹

在上述示例中,当操作数“tagin1”、“tagin2”、“tagin3”的逻辑运算结果 (rlo) 即 clk输入从“1”变为“0”时,该指令输出 q将立即返回状态“1”一个程序周期,此时将操作数“tagout”置位为一个程序周期,通过“tagout”将“tagin4”置位为“1”。

r_trig: 检查信号上升沿

可以使用该指令在 clk 从"0"变为"1"时置位输出 q。该指令将比较 clk 的当前信号状态与 clk 上一次扫描的信号状态,clk 上一次扫描的信号状态保存在背景数据块中。

如果上一次扫描的 clk (保存在背景数据块)为“0”,当前 clk信号状态为“1”,则说明出现了一个信号上升沿。检测到信号上升沿时,输出 q信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,输出 q 的信号状态均为“0”。

指令参数如表8所示,指令的使用示例如图20-22所示。

参数声明数据类型存储区说明eninputbooli、q、m、d、l或常量使能输入enooutputbooli、q、m、d、l使能输出clkinputbooli、q、m、d、l或常量当前逻辑运算结果 (rlo)、q、m、d、l边沿检测的结果

表8、检查信号上升沿指令参数

图20、检测信号上升沿示例

图21、检测信号上升沿示例

图22、检测信号上升沿示例 trace 轨迹

在上述示例中,当操作数“tagin2”由“0”变为“1”时,当操作数“tagin1”、“tagin2”、“tagin3”的逻辑运算结果(rlo) 即 clk 输入从“0”变为“1”时,该指令输出 q中生成一个信号上升沿,输出的值将在一个循环周期内为“1“,从图16-3中可以看到此时操作数“tagout”被置位一个循环周期,通过“tagout”将“tagin4”置位为“1”。

f_trig: 检查信号下降沿

可以使用该指令在 clk 从"1"变为"0"时置位输出 q。该指令将比较 clk 的当前信号状态与 clk 上一次扫描的信号状态,clk 上一次扫描的信号状态保存在背景数据块中。

如果上一次扫描的 clk (保存在背景数据块)为“1”,当前 clk信号状态为“0”,则说明出现了一个信号下降沿。检测到信号下降沿时,输出 q信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,输出 q 的信号状态均为“0”。

指令参数如表9所示,指令的使用示例如图23-25所示。

参数声明数据类型存储区说明eninputbooli、q、m、d、l或常量使能输入enooutputbooli、q、m、d、l使能输出clkinputbooli、q、m、d、l或常量当前逻辑运算结果 (rlo)、q、m、d、l边沿检测的结果

表9、检查信号下降沿指令参数

图23、检测信号下降沿示例

图24、检测信号下降沿示例

图25、检测信号下降沿示例 trace 轨迹

在上述示例中,当操作数“tagin2”由“1”变为“0”时,操作数“tagin1”、“tagin2”、“tagin3”的逻辑运算结果(rlo) 即 clk 输入 从“1”变为“0”,该指令输出 q中生成一个信号下降沿,输出的值在一个循环周期内为“1”,从图18-3中可以看到此时操作数“tagout”被置位一个循环周期,通过“tagout”将“tagin4”置位为“1”。

使用注意

—|p|—、—|n|—、 —(p)— 、—(n)—、p_trig、n_trig 均出现边沿存储位,该存储位:

如果使用全局变量( db 或者 m),则该全局变量在程序中只能使用一次,即使一个变量判断多次检测边沿也是一样,每次检测边沿使用不同全局变量。

如果使用局部变量,则只能使用 fc 的 inout,fb 的 inout、static ,不能使用temp。并且每个边沿位使用不同的局部变量。

r_trig、f_trig指令:因为边沿存储位位于背景数据块中,所以背景数据块、多重背景等不能重复使用,也就是每次使用都是一个新的背景数据块或者多重背景。

常见问题

为什么进行边沿检测,得不到正确的输出?

答:边沿检测不能正常输出,原因有以下几种可能:

1、输入必须出现跳变,上升沿是从"0"变为"1",下降沿是从"1"变为"0"

对于—|p|—、—|n|—,检测的是触点上面操作数的输入变化,对于 —(p)—、—(n)—,检测的是线圈前的逻辑计算结果、对于 p_trig、n_trig、r_trig、f_trig 检测是的 clk输入。

2、—|p|—、—|n|—、 —(p)— 、—(n)—、p_trig、n_trig 均出现边沿存储位,该存储位:

3、r_trig、f_trig指令:背景数据块、多重背景不能重复使用,也就是每次使用都是一个新的背景数据块或者多重背景。

4、边沿输出只有一个扫描周期置位,监视程序是看不到的,需要连接一个置位指令或者加法指令进行捕捉。


西门子,PLC
展开全文
我们其他产品
我们的新闻
相关产品
AC dc电源线 dc插座 西门子plc 国产plc 台达plc 松下plc dc插头 PLC编程 西门子低压电器 DC DC线 永宏PLC DC电源
微信咨询 在线询价 拨打电话