apache / plc4x

PLC4X The Industrial IoT adapter
https://plc4x.apache.org/
Apache License 2.0
1.2k stars 389 forks source link

[Bug]: ADS driver option load-symbol-and-data-type-tables=false doesn't resolve the variable #1626

Open mrwhy-orig opened 1 month ago

mrwhy-orig commented 1 month ago

What happened?

Connect to your Twincat3 PLC with the option load-symbol-and-data-type-tables set to false. Try browsing or reading a variable, it doesn't get resolved, instead an error is thrown (for reading a specific variable): Couldn't resolve symbolic address, YOUR.VARIABLE_NAME invalid

Version

v0.13.0

Programming Languages

Protocols

chrisdutz commented 1 month ago

Is there a particular reason for setting the option to false? I mean ... yes: The resolution of symbolic addresses should in that case still work asynchronously, but the browsing would be quite a bit of work and be quite stressfull on the PLC. I would be leaning toward not allowing to browse in case of loading of the tables being disabled.

mrwhy-orig commented 1 month ago

I had some connection issues with the option being true. Like one out of ten I ran into an exception. So I thought maybe the Symboltable is to big... I really only need a very small subset, I'll put this option to false.

chrisdutz commented 3 weeks ago

The size should not matter ... might be something else going wrong. A wireshark capture could help, but if you do, I should make you aware that it would contain the structure of all variables in your PLC ... if that's something you don't want to share with everyone, you might consider sending me a link to cdutz@apache.org ... then I could have a look and possibly find out why this 1 of 10 doesn't work.

Other than that ... yes ... the driver should lookup the symbolic address, if you disable the loading on connection.