当信号状态变化时就产生跳变沿,当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。
l
下降沿信号识别指令
若CPU检测到输入有一个负跳沿,将使得输出线圈在一个扫描周期内通电。对输入扫描的RLO值存放在存储位中。
在OB1的扫描周期中,CPU扫描并形成RLO值,若该RLO值是0且上次RLO值是1,这说明FN指令检测到一个RLO的负跳沿,那么FN指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FN语句把RLO位清0。
例
3.1.13
若CPU检测到输入I1.0有一个负跳沿,将使得输出Q4.0的线圈在一个扫描周期内通电。对输入I1.0常开触点扫描的RLO值(在本例中,此RLO正好与输入I1.0的信号状态相同)存放在存储位M1.0中。
在OB1的扫描周期中,CPU对I1.0信号状态扫描并形成RLO值,若该RLO值是0且存放在M1.0中的上次RLO值是1,这说明FN指令检测到一个RLO的负跳沿,那么FN指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FN语句把RLO位清0。
l
上升沿信号识别指令
若CPU检测到输入有一个正跳沿,将使得输出线圈在一个扫描周期内通电。对输入扫描的RLO值存放在存储位中。
在OB1的扫描周期中,CPU扫描并形成RLO值,若该RLO值是1且上次RLO值是0,这说明FN指令检测到一个RLO的正跳沿,那么FP指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FP语句把RLO位清0。
例
3.1.14
若CPU检测到输入I1.0有一个正跳沿,将使得输出Q4.0的线圈在一个扫描周期内通电。对输入I1.0常开触点扫描的RLO值(在本例中,此RLO正好与输入I1.0的信号状态相同)存放在存储位M1.0中。
在OB1的扫描周期中,CPU对I1.0信号状态扫描并形成RLO值,若该RLO值是1且存放在M1.0中的上次RLO值是0,这说明FN指令检测到一个RLO的正跳沿,那么FP指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FP语句把RLO位清0。 |