ModbusTCP device with dual IP

Hi,

I have modbusTCP devices with dual NIC, Does anyone have any idea how to connect to these device with both NIC? IP are different and both IP are active active redundancy. Both IP will be connected to two isolated network Ring. Ignition server will have 2 NIC connect to these two rings too.

I hope to point to a single OPC path but it is actually connected to both IP for a single modbusTCP device. I tried to create two modbusTCP device in the OPC-UA for same device but different IP, then choose to display the value using quality status of the tag, but it does not efficiently write the data back to these modbusTCP devices because all have to be done using scripting. Besides that, Historical Data also duplicated.

The system is very huge and I think it is not a good idea to write script on every single tag in the gateway will cost a lot of processing power for a simple tag read and write. Any ideas how should i do it?

Thank you.

There’s no support in Ignition’s OPC-UA server or device/driver model for this kind of redundancy.

The only kind of device-level redundancy we do support is when the device presents itself as one IP address to us.

Some options (none that great, unfortunately):

[ul]Find an OPC server that supports this redundancy configuration.
Write a custom driver that can handle this configuration.
Write a custom Modbus TCP slave/gateway that runs on the Ignition gateway machine and presents its two connections to the device as one to Ignition’s Modbus driver.
Make two devices, and deal with having double the amount of tags everywhere, double the history, etc… (yuck)[/ul]

I would just designate one of the IP’s as the master and the other as the slave. I would then set up a script to either ping and/or verify the master IP is active and supplying good data. If it isnt then I would use the system.device.setDeviceHostname function(available via the ialabs scripting module or built in to 7.7) to change the devices IP address to the slave IP address. It seems like this would work for what you want, a single opc path.

Not sure if this is exactly what you are looking for but that is how I would handle it.

[quote=“diat150”]I would just designate one of the IP’s as the master and the other as the slave. I would then set up a script to either ping and/or verify the master IP is active and supplying good data. If it isnt then I would use the system.device.setDeviceHostname function(available via the ialabs scripting module or built in to 7.7) to change the devices IP address to the slave IP address. It seems like this would work for what you want, a single opc path.

Not sure if this is exactly what you are looking for but that is how I would handle it.[/quote]

Good idea. I always forget about those functions that came from the IALabs module.

Can’t find system.device.setDeviceHostname in 7.7.2. Must get ialabs scripting?

I tried it in 7.7.3 and it was there. how are you looking for it? try just putting this in the script playground and run it.

system.device.setDeviceHostname("you devicename here", "8.8.8.8")

sorry, it is in 7.7.3. It just not available in the user manual. Sorry for the mistake.