发布于 2012-04-16 11:01:04
29楼
上升沿和下降沿命令需要2个扫描周期才可执行;
上升沿命令可以使用如下语句代替:
A I0.0
AN M0.0 //M0.0 用于储存I0.0的上升沿变化
= M0.1 //M0.1只会接通1个扫描周期
A I0.0
=M0.0
下降沿命令可以使用如下语句代替:
AN I0.0
A M0.0 //M0.0 用于储存I0.0的下降沿变化
= M0.1 //M0.1只会接通1个扫描周期
A I0.0
=M0.0
通过上面两条语句,大家应该知道为什么在S7-200PLC中P 命令和N 命令不能出现在被重复调用的子程序中了(如果大家有心的话,在监控S7-200PLC程序时,可以看到P和N命令上方都回多出一个数字编号,这个编号是什么作用呢?)
在S7-400/300中重复调用子程序时,FP命令和FN命令(P 命令和N 命令)是可以使用的;这主要是因为在S7-400/300中,在FP命令和FN命令后面必须有一个变量。
如果在S7-200PLC中子程序需要重复调用,并且你要使用到P 命令和N 命令,你只能使用上面的转化语句。M0.0将被替换为子程序的临时变量(如L3.0),并且这个临时变量(如L3.0)必须被放在"In_OUT"接口上(大家要注意,这里是必须的,也就是说,你必须要为你的上升沿或者下降沿找一个实参变量,而且这个变量必须是可读、可写)。