From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

Does the Modbus driver accept 2 IP addresses for failover redundancy?

I have two Motorola RTU's set up for redundancy with two different IP addresses. I am trying to figure out how to set up the redundancy on Lookout. Can two IP addresses be set up in the driver for this purpose. This works with the Tiway driver.
0 Kudos
Message 1 of 6
(3,081 Views)
_______________________________________________


Hi Bosco,

The driver objects do not accept two IP addresses. The right approach in implementing redundancy is to create a second driver object with the standby RTU's IP address. This object would then take over the communication on failure of the first.

All your inputs and outputs (locally or remotely via clients) should be routed via a SymbolicLink so as to maintain the data flow transparently for them.

The Online Help of Lookout has a good section on Redundancy with all the details.

Hope this helps.

Regards,

Khalid 🙂


_______________________________________________
Message 2 of 6
(3,081 Views)
Thank you for the answer. I have only been able to find information on redundancy in a client server environment, which I have already implemented. I am still unsure as to how to implement hardware redundancy. I assume both driver objects would be identical except for name. Do I have to use a symbolic link each time I read to or write from an I/O? I have already built numerous graphic linking through the symbolic link to the server process using the single driver. Will all of these have to redone?
0 Kudos
Message 3 of 6
(3,081 Views)
I assume you have two RTUs on the Network and would like to switch from the "primary" to the "secondary" one.

In this case, yes, you will have two Objects with identical settings except for the Names and the IP addresses.

In Lookout, I assume your processes should not be affected (much) by this switchover of the RTUs. So, you will pass everything through a Symbolic Link and change the definition of this Symbolic Link based on the RTU you are currently communicating with.

Hope this helps,

Khalid 🙂
0 Kudos
Message 4 of 6
(3,081 Views)
I have created the two driver objects, identical except for name and IP, but the symbolic link object only allows a specific data member of the driver object to be used in the dynamic expression. This seems to indicate that each time I want to reference an analog input for example, I have to use a separate symbolic link.
0 Kudos
Message 5 of 6
(3,081 Views)
The dynamic expression in the Symbolic Link can evaluate to any URL (not just to one Data member). So, you could have something like:

tif(heartbeat, "\\.\process1\RTU1", "\\.\process1\RTU2")

Where heartbeat is the signal you check for switching over to the standby. The above Symbolic link will switch between the two RTUs. So you will have access to all the data members of the RTU.

If you call your Symbolic Link as sylink you could then use the data members of the RTU as [sylink].40001 . And this expression would be valid regardless of which RTU is up and running.

Hope this helps,

Rgds,

Khalid
0 Kudos
Message 6 of 6
(3,081 Views)