Multiple Modbus Read Registers Access by an Array of Elements

  • (I posted this on CODESYS Forum without any suggestions or help)...

    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!




  • administrators

    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, for many generic CODESYS questions there will already be an answer posted.

Log in to reply

Looks like your connection to Forum was lost, please wait while we try to reconnect.