Open bonicim opened 2 years ago
Here's a very, very rough hotfix that we have working in production as of today, it will simply force the modbus requests to be serial for each (host, port) pair: https://github.com/acedrew/volttron/tree/hotfix-modbus-tk/services/core/MasterDriverAgent/master_driver (this is based on 7.x) By rough I mean it's only implemented for reading bulk scrapes, no other use cases.
Most of the changes are in modbus_tk/client.py, and driver/driver_locks.py, though the initial lock config is handled in modbustk/__init_\.py
Here's a very, very rough hotfix that we have working in production as of today, it will simply force the modbus requests to be serial for each (host, port) pair: https://github.com/acedrew/volttron/tree/hotfix-modbus-tk/services/core/MasterDriverAgent/master_driver (this is based on 7.x) By rough I mean it's only implemented for reading bulk scrapes, no other use cases.
Most of the changes are in modbus_tk/client.py, and driver/driver_locks.py, though the initial lock config is handled in modbus_tk/init.py
Thanks. I will take a look at this. I need to dive deep on modbus_tk so this will be a good segue into that package.
Description of Issue
When creating two modbus_tk drivers that have different registry and map configs but use the same IP address, only one of the drivers can successfully scrape points. Note that if one removes the working driver and restarts the Platform Driver, then the failing driver will work and start scraping its device. Related to #2403.
Affected Version
'main'
Expected
Actual
Steps to Reproduce
High level
Examples of the modbus_tk driver configs:
driver 1
driver 2
Exact Steps
Commands to install drivers:
Additional Details
Below is a diagram of the entire setup: