Hi all, As I’m currently fine tuning with my new drivers, I wanted to take this discussion here as I think it has value to the project. Unfortunately many reported issues are related to connection losses, plc updates and connectivity issues.
In my current case I was making my ADS driver more stable. Like ours this generally supports online and offline version changes. During an online change the PLC remains online and we can instantly start re-loading the datatype and symbol tables. With an offline change, the PLC usually reboots and is firstly just flat offline, then it comes online again, but is not yet able to handle connections. While with the online changes it’s not an issue to transparently reload the tables and continue running, with offline changes this becomes more complex. Initial Claude wanted to update the read logic, to do automatic reconnects with exponential backoff. I however intervened. As all of my use-cases generally use the connection cache and follow a pattern of „get a connection -> do stuff -> put the connection back“, I think it would be better to fail the operation in case of an offline change and to have the tool then move the re-connect to the normal connection establishing code. This should greatly simplify the driver logic … what do you think? Should we make our operations more complex to handle connection losses or should we fail fast and keep the logic simpler? Chris
