1 沿指令概述 2 博途中沿指令分类 S7-1200/1500 CPU中有多种沿检测指令,这些指令可以用于变量或者逻辑运算结果(RLO)的上升沿、下降沿检测,如下图所示 ① 在触点分配的 "M0.0" 位上检测到正跳变(0->1)时,该触点的状态为 TRUE。该触点逻辑状态随后与能流输入状态组合以设置能流输出状态,M0.1用于上个扫描周期的状态。 ② 在进入线圈的能流中检测到正跳变(0->1)时,分配的位 "M0.2 " 为 TRUE。能流输入状态总是通过线圈后变为能流输出状态。P 线圈可以放置在程序段中的任何位置。 ③ "CLK" 能流输入中检测到正跳变(0->1)时,Q 输出能流或者逻辑状态为 TRUE。P_TRIG 指令不能放置在程序段的开头或结尾。 ④ 分配的背景数据块用于存储 CLK 输入的前一状态。在 CLK 能流输入 (LAD) 中检测到正跳变(0->1)时,Q 输出能流或者逻辑状态为 TRUE。在 LAD 中,R_TRIG 指令不能放置在程序段的开头或结尾 3 沿指令正确使用 (1)先看下面这段程序,为什么启动按钮启动后,后面的输出一个有输出,一个没有输出。 程序中在两个程序段,都要判断“UserDB.Start”变量的上升沿,但是都使用到了同一个暂存位来暂存上个扫描周期的状态,所以当上个程序段的上升沿指令执行完后,会把对应的触点状态放到暂存位地址中,方便下个扫描周期的计算,所以暂存位地址是相同的时候,那么下段的上升沿对应的暂存位的状态其实已经变为了1,所有下个程序段的上升沿没有,所以写程序是,每个上升沿指令需要给他不同的暂存位。 其中:UserDB".Start_P[1]:上升沿信号 UserDB".Start[1]:本次状态存储器 UserDB".LastStatusBit[1]:上次状态暂存存储器 UserDB".Start_N[2]:下降沿信号 UserDB".Start[2]:本次状态存储器 UserDB".LastStatusBit[2]:上次状态暂存存储器
4 总结 |
|