Host Engineering Forum

General Category => Do-more CPUs and Do-more Designer Software => Topic started by: ryanastiefes on June 02, 2022, 02:12:55 PM

Title: Modbus Extended Addressing
Post by: ryanastiefes on June 02, 2022, 02:12:55 PM
I ran into an issue with a SCADAPack the other day not being able to interface with a device that uses a six digit  modbus address (extended addressing). I was sure that it could be done on the DoMore but figured I would ask before I made any comments.
I do not have the device in front of me to try, but I have tried setting up the MRX using an extended address on the simulator and it takes it, so I'm pretty sure it will work. Any thoughts
Title: Re: Modbus Extended Addressing
Post by: franji1 on June 02, 2022, 02:38:55 PM
Yes, from the client side, the MRX/MWX range is the full possible range.  The MRX instruction assumes you know what address the remote device supports.  MRX supports 400001 (using 6 digit Modbus Application Layer addressing here) up through 465536 (you enter the HR Offset 1 thru 65536 in the MRX instruction).

I believe you will get Modbus Exception code 2 if you try to MRX to a device at Holding Register offset 65536 and it doesn't have Holding Register 465536.  I recommend enabling the Exception Response parameter in all your MRX/MWX instrucition and monitor those just to make sure.

*** EDIT ***
The client SHOULD get that exception code from the SERVER when...

But realize it's the SERVER that provides the exception code (the PLC(client) is just the messenger)
Title: Re: Modbus Extended Addressing
Post by: ryanastiefes on June 02, 2022, 04:35:02 PM
Thank you!