karl,请教你,有一个有趣的现象,在S7-200里,在SBR_0里写一个简单的起停电路:
LD #START
O #KM
AN #STP
= #KM
然后,在MAIN里分别调用:
LD SM0.0
= L60.0
LD I0.0
= L63.7
LD I0.1
= L63.6
LD L60.0
CALL SBR_0, L63.7, L63.6, Q0.0;
LD SM0.0
= L60.0
LD I0.2
= L63.7
LD I0.3
= L63.6
LD L60.0
CALL SBR_0, L63.7, L63.6, Q0.1.本意是按I0.0和I0.1分别控制Q0.0起停,按I0.2和I0.3分别控制Q0.1起停,但实际情况却是I0.0和I0.2都能起动Q0.0和Q0.1,而I0.1和I0.3也都能停止二者.
类似的程序,在S7-300里:
FC1: A #START
O #KM
AN #STP
= #KM
OB1: CALL FC 1
START:=I0.0
STP :=I0.1
KM :=Q0.0
CALL FC 1
START:=I0.2
STP :=I0.3
KM :=Q0.1,上述程序却能实现分别控制起停的要求,请说明?
我感觉有可能是局域变量存储区域地址重叠产生的,为什么二者不同?
[此贴子已经被作者于2004-2-10 10:28:15编辑过]