Read 2 devices with the Same Address

We only have 1 Modbus RTU network and we have 2 Modbus devices which for some reason the Manufacturer hardcodes the Address to 170 and it can't be changed. Is there a device/interface that can take 2 Modbus devices of the same address but define each one as separate devices so we can read it?
 
I'm certain it's possible to interface a device to change address externally, but in all my 40 or more years never had the need to do so.

It would be easier to have a 2nd Modbus Network, or better still single cable link to one of the devices,
where it's address is not so relevent. This is providing your server will accept 2 devices with the same address.
 
If the only available hardware network on the device were point-to-point RS-232, then maybe a 'hard-coded' node ID could excused, but even so, a hard-coded node ID is poor form. Another nomination for the Modbus Hall of Shame.

>it can't be changed.
You sure there's no setup/configuration program that configures the node ID?
 
I'm certain it's possible to interface a device to change address externally, but in all my 40 or more years never had the need to do so.

It would be easier to have a 2nd Modbus Network, or better still single cable link to one of the devices,
where it's address is not so relevent. This is providing your server will accept 2 devices with the same address.
Agree but there would be a cost involved for another Modbus master which the client wouldn't go for.
 
If the only available hardware network on the device were point-to-point RS-232, then maybe a 'hard-coded' node ID could excused, but even so, a hard-coded node ID is poor form. Another nomination for the Modbus Hall of Shame.

>it can't be changed.
You sure there's no setup/configuration program that configures the node ID?
The project is water drainage with duty standby pumps each have a modbus pump monitor. The said monitor I have been told by the manufacturer is hard coded to address 170. Cant believe the manufacturers have never come across a dual pump system and you need to monitor both. Is it possible to wire the modbus in & out of a relay and switch the poles to read each device?
 
Who is the manufacturer and what is the model number of the Modbus pump monitor?

Unfortunately, some manufacturers (at least their sales/support personnel) seem to be misinformed or simply do not know the technical details regarding Modbus communication of their own product (as most of the time communication is just an ancillary function, not the primary purpose of the product).

If the devices truly are hard coded to address 170, then one option may be to use a Modbus RTU gateway device that has at least 3 RS-485 ports. Two of the ports would be configured as masters, one for each pump monitor, and the third port would be configured as a slave to provide the data from both pump monitors to your Modbus network. Some gateways also allow you to create virtual Modbus slave devices, so the gateway could be seen as 2 Modbus slaves on your network, each with a unique address. Unfortunately, I don't know of such a gateway device off-hand, otherwise I would provide you with a product link.
 
I believe Red Lion's "Modbus Gateway" driver in Crimson may allow you to create multiple slave addresses (i.e. virtual nodes) on a single serial port. Some of their Data Station products do have 3 serial ports, but not all 3 ports are RS-485 (depending on the model, 1 or 2 of the ports are RS-232 only). You may be able to use their FlexEdge gateway with an additional Dual RS-485 Serial Port Sled.
 
OK, sorry, I missed a very obvious solution.

You can use a 2-port Modbus RTU gateway on just one of the Modbus pump monitor devices and use it to effectively change the device's slave address. Essentially, you would configure one port as a Modbus Master (to target address 170) and the other as Modbus Slave (configured for a different slave address, other than 170). This solution would require you to map registers between the master side and slave side on the gateway, but you could expose the same registers that your pump monitor does, which would allow you to emulate the device, just with a different slave address.

ICC's Mirius gateway could be used for this conversion:
http://www.iccdesigns.com/protocol-gateways/66-mirius.html
 
OK, sorry, I missed a very obvious solution.

You can use a 2-port Modbus RTU gateway on just one of the Modbus pump monitor devices and use it to effectively change the device's slave address. Essentially, you would configure one port as a Modbus Master (to target address 170) and the other as Modbus Slave (configured for a different slave address, other than 170). This solution would require you to map registers between the master side and slave side on the gateway, but you could expose the same registers that your pump monitor does, which would allow you to emulate the device, just with a different slave address.

ICC's Mirius gateway could be used for this conversion:
http://www.iccdesigns.com/protocol-gateways/66-mirius.html
Thanks for the response, I'm UK based but your link has given me some guidance as to what I'm looking for. I'm sure Lantronix would do that sort of thing. Cheers
 
from post #6.
>Unfortunately, some manufacturers (at least their sales/support personnel) seem to be misinformed or simply do not know the technical details regarding Modbus communication of their own product (as most of the time communication is just an ancillary function, not the primary purpose of the product).

I agree wholeheartedly. I'm not convinced that the mfg guy using the term "hard-coded address" was referring the slave node ID, but could have been talking about some other variable, loosely termed 'monitor' in this discussion.

The ignorance one encounters when talking to 99% of the manufacturer's support people regarding what they view as "dreaded Modbus" usually results in statements that either make no sense at all (it's a big Indian address, you know, like an Indian's feather headdress", was my favorite) or repetition of stock phrases with no understanding of what the question is or the answer should be). There are exceptions, but far and few between.
 
Top