发布于 2015-03-23 19:58:05
4楼
上升沿触发,有三个要素。
1:信号输入--------T195
2:边沿存储位-----#L_M1
3:脉冲存储位-------#L_M2
当T195从0变为1的时候,CPU检测#L_M1的信号状态,如果#L_M1为0,那么CPU将#L_M1变为1,同时将#L_M2接通一个程序扫描周期时长。当T195从1变成0时,CPU将#L_M1复位为0。
如果,当T195从0变为1的时候,CPU检测到#L_M1的信号状态为1,那么#L_M2就不会接通一个扫描周期时长了。
那么#L_M1怎么会奇妙的变成1呢?
比如CPU分配给你#L_M1的绝对地址是L20.0
当OB1里面调用FC1和FC2时,程序先执行FC1,FC1里面也定义了临时变量(这个临时变量和接下来调用FC2时分配给你的#L_M1有相同的绝对地址L20.0),FC1里的程序对L20.0赋了值1。执行完FC1后,程序继续执行FC2(比如就是你现在的FC),就会出现#L_M1(L20.0)为1的情况。如果FC1没有对L20.0赋1,那么你的程序就可以正常检测。
会说话、会办事、会做人