对于置位操作,一旦RLO为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置0,即使RLO又变为0,输出仍保持为0,这一特性又被称为静态的置位/复位,相应地,赋值输出被称为动态赋值输出。置位/复位指令也用于结束一个逻辑串,因此,在LAD中置位/复位指令要放在逻辑串的最右端,而不能放在逻辑串中间。复位指令还可用于复位定时器和计数器。 图9 置位/复位指令 3)RS触发器 RS触发器梯形图方块指令表示见表7。方块中标有一个置位输入端(S),一个复位输入端(R),输出端标为Q。触发器可以用在逻辑串最右端结束一个逻辑串,也可用在逻辑串中影响右边的逻辑操作结果。 表7 RS触发器梯形图方块指令 如果置位输入为1,即有电加到S端,则触发器置位。此时,即使置位输入为0,触发器也保持置位不变。如果复位输入为1,即有电加到R端,则触发器复位。此时,即使复位输入为0,触发器也保持复位不变。RS触发器分为置位优先和复位优先型两种。 置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效,即置位输入优先,触发器或被复位或保持复位不变。复位优先型RS触发器的S端在R端之上,当两个输入端都为1时,下面的复位输入最终有效,即复位输入优先,触发器或被置位或保持置位不变。图10所示为使用置位优先型RS触发器的梯形图示例。 图10 置位优先型RS触发器 4)对RLO的直接操作指令 这一类指令直接对逻辑操作结果RLO进行操作,改变状态字中RLO位的状态。有关内容见表8。 表8 对RLO的直接操作指令 3、位测试指令 信号状态发生变化时就产生跳变沿。当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。(//www.shop-samurai.com/版权所有)因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。 S7中有两类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。具体内容见表9。 表9 跳变沿检测指令 图11所示是使用RLO正跳沿检测指令的例子。若CPU检测到输入I1.0有一个正跳沿,将使得输出Q4.0的线圈在一个扫描周期内通电。对输入I1.0常开触点扫描的RLO值存放在存储位M1.0中。 图11 RLO正跳沿检测 在扫描周期中,CPU对I0.0信号状态进行扫描并形成RLO值,若该RLO值是1而存放在M1.0中的上次RLO值是0,则说明FP指令检测到一个RLO的正跳沿,那么FP指令把RLO位置1;如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FP指令把RLO位清零。同样,如果FN指令检测到一个RLO的负跳沿,那么FN指令把RLO位置1;如果RLO在相邻的两个扫描周期中相同,那么FN指令把RLO位清零。 需要注意的是,FP和FN检测到的是在RLO中表现出的变化,而不是触点的状态变化(图10中是特例)。因为一般情况下,RLO可能由一个逻辑串形成,并不单独与某触点的状态直接相关。(//www.shop-samurai.com/版权所有)若需要在逻辑串中单独检测某触点的跳变沿,可使用对触点跳变沿直接检测的梯形图方块指令。图12所示是使用单独检测触点负跳沿的例子。图中,由〈位地址1〉给出需要检测的触点编号(I0.3),〈地址2〉(M0.0)用于存放该触点在前一个扫描周期的状态。 图12 触点负跳沿检测 执行触点正跳沿检测指令时,CPU将〈位地址1〉的当前触点状态与存在〈地址2〉中的上次触点状态相比较,若当前为1上次为0,表明有正跳沿产生,则输出Q置1;否则输出Q被清零。对于触点负跳沿指令,若当前为0上次为1,则输出Q置1,否则输出Q被清零。由于不可能在相邻的两个扫描周期中连续检测到正跳沿(或负跳沿),因此,输出Q只可能在一个扫描周期中保持为1(单稳输出)。
|
电工学习网 ( )
GMT+8, 2023-6-4 05:34