twincattwincat-ads

What causes "CAdsWatchServerR0::AdsParseSymbol invalid array index"


Since a week or so we have the following error popping up at our production machines:

CAdsWatchServerR0::AdsParseSymbol invalid array index!

The error are generated each plc cycle, filling up the windows event logger, because we forward the events:

enter image description here

The errors disappear after a reboot of the PLC, but after some time they reappear.

What is the cause of this error? And how can we locate its origin?


Solution

  • Answer from the Beckhoff support:

    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.

    In our case it turned out to be the HMI (TF2000). There was a user control in the HMI which had a symbol link to an array index which was no longer there.