No announcement yet.

Reading DoMore data via Modbus TCP

  • Filter
  • Time
  • Show
Clear All
new posts

  • Reading DoMore data via Modbus TCP

    I've got a DoMore H2-DM1E. I need to interact with the holding registers on it from a remote application vi Modbus TCP. I've done this before with CLick and Productivity, but I can't seem to get it working with the DoMore. I need to read, for example, the values at R50, R51 and R52. I thought I'd just read holding registers, with a decimal address of 50 (or maybe 49) assuming this would be at 40051, but I get nothing but zeros back. Just wandering around doing manual reads of the holding registers and coils I get back nothing but zeros and every address I try.

    Is there some setting for the DoMore that I have to set to allow me to interact with these registers? The DoMore designer sees the data just fine, so I know it's available over the network. The Modbus Server on the PLC is enabled.

  • #2
    All Modbus servers on Do-more systems are sandboxed to MI, MC, MHR, and MIR memories. They cannot 'see' anything outside those locations. It is completely appropriate to use those locations directly in your program if you wish, but since there is no 'real' in Modbus, you would need to mirror program data to the Modbus sandbox. The PUBLISH and SUBSCRIBE instructions are there to make that easier, and they handle all of the required byte alignment/swapping.

    The reason we do it this way is reduced complexity (much cleaner addressing) and increased security. There are PLCs all over the world connected directly to public networks, and Modbus has no security whatsoever. So for protocols like Modbus that contain no security, we chose to limit their access. We realize that this is inconvenient for some, but after interacting with DHS on PLC security issues, we felt it was the best approach.