Thanks for your reply Milan.
I think I got the idea but I'm not sure 100%.
I did some research on modbus to understand better how memory addresses are managed.
Is following logic correct?
- Sensors data is stored in holding registers (hr) starting at 40001 to 49999 (modbus architecture) (?)
- When you update the datastore consecutiveley the memory addresses are being written in the order given by the Python script (2 adresses for each float value)
1 - temperature (400001, 400002) - 400001 being the one to trigger from Kepware in order to get the tag value
2 - humidity (400003, 400004) - 400003
3 - pressure (400005, 400006) - 400005
4 - acceleration_x(400007, 400008) - 400008
this goes on for acceleration, vibration, gyrosocope
- Then there are some more values written for screen control, bad count, good count... where you explicitly specify the address in the setvalue function
for example for screencontrol you provide the address 0x18 which is 24, then added to 400001 results in 400025 which is the address triggered by KEPServerEX