发布于 2013-05-15 10:50:31
2楼
谢谢!
检查过,没有多重赋值和重址问题。
但用到间接询址:包括间接询址DB;附上程序代码:
A(
L 0
L DB111.DBW 26
)
A(
L MB 112
)
= M 201.0
AN M 201.0
JC M001
L DBW 26
L 140
+I
T MW 230
OPN DB [MW 230]
A(
L DBW 452
L 0
>I
)
= M 201.1
M001: OPN DI 14
OPN DB 9
A(
L DIW 26
L DBW 0
)
A M 201.0
A M 201.1
= Q 64.5
Q64.5只在此程序块出现(QB,QW在整个程序中没有用到)。也没有中间接寻址对Q赋值。
这是第一次遇到这样的怪问题。
之前遇到过用间接寻址循环计数(一个扫描周期循环16次),导致PLC死机,重新开启都不行。
但只要将这个子程序重新下载重启PLC就正常或在主程序中暂时屏蔽该子程序,待PLC运行后再加载此子程序,PLC亦运行正常。此问题不规律出现,但一般在一个月以上。 这个问题就是不知道PLC为什么偶尔会将间接寻找的指针值赋错值。问题虽然解决,但至今不知原因?