Multiple Modbus Read Registers Access by an Array of Elements
-
(I posted this on CODESYS Forum without any suggestions or help)...
Hi,
I need to read about 250 UDINT via Modbus in Slave mode. A SCADA manages this data and write via Modbus remotely to my controller.
So inizially I configured on my controller a modbus slave device. Due to Modbus limitations I configured 4 channel in Read Holding Registers mode with an array of 125 elements (500 elements in total of WORD type).
In a GVL I defined an array of 250 elements of UDINT type poiting at the starting address of the input registers, beginning at %IW60.
Finally in my application program I used the array poiting values I need directly by index.
Is it the right way or maybe there is a quite simpler or "more readable" and canonical method?
See pictures I added to this post.
Many thanks! -
@mikeardy
Consider this as an alternative. I've created 500 holding registers
In my program (it could be ina GVL) I have created an addary of 250 UDINT.
Then I was able to map all of the registers in one go
For generic CODESYS questions I suggest trying https://forum.codesys.com/, for many generic CODESYS questions there will already be an answer posted.