是什么原因 "CAdsWatchServerR0::AdsParseSymbol invalid array index"
What causes "CAdsWatchServerR0::AdsParseSymbol invalid array index"
大约一周后,我们的生产机器上出现了以下错误:
CAdsWatchServerR0::AdsParseSymbol invalid array index!
每个 plc 周期都会产生错误,填满 windows 事件记录器,因为我们转发了事件:
重新启动 PLC 后错误消失,但一段时间后它们再次出现。
这个错误的原因是什么?以及如何定位它的来源?
来自 Beckhoff 支持的回答:
In the new ADS *.dll the accesses via ADS are better monitored. This
message means that you try to access an array index in the controller
from a C# or other high level language via ADS, which is not
available.
Example: In the PLC project a test :ARRAY[0..2] OF INT;
was defined. However, in the high-level language program you
want to access e.g. Test[3]
, which is not defined in the PLC.
在我们的案例中,它原来是 HMI (TF2000)。 HMI 中有一个用户控件,它有一个符号 link 指向一个不再存在的数组索引。
大约一周后,我们的生产机器上出现了以下错误:
CAdsWatchServerR0::AdsParseSymbol invalid array index!
每个 plc 周期都会产生错误,填满 windows 事件记录器,因为我们转发了事件:
重新启动 PLC 后错误消失,但一段时间后它们再次出现。
这个错误的原因是什么?以及如何定位它的来源?
来自 Beckhoff 支持的回答:
In the new ADS *.dll the accesses via ADS are better monitored. This message means that you try to access an array index in the controller from a C# or other high level language via ADS, which is not available.
Example: In the PLC project a
test :ARRAY[0..2] OF INT;
was defined. However, in the high-level language program you want to access e.g.Test[3]
, which is not defined in the PLC.
在我们的案例中,它原来是 HMI (TF2000)。 HMI 中有一个用户控件,它有一个符号 link 指向一个不再存在的数组索引。