OPCUA connection with Siemens S7 Redundant PLC - virtual IP transfert issu

Hi @Kevin.Herron,

We connect Ignition 8.3.7 to a Siemens S7-1517R redundant cpu with OPCUA
The CPU use a virtual IP and Ignition use it to automatically connect to the master cpu opcua server.
(Project was started in 8.1 before S7+ driver and for cybersecurity concern we will prefer to stay with OPCUA)

When we stop the master cpu, the other one became master and Ignition reconnect to the opcua server without any trouble.

The edge case, is when we lose the network with the master (primary CPU), the PLC program need to use th RH_CTRL control instruction to manually transfert the virtual IP address to the backup cpu, in order to be reachable by the opcua Ignition client, but the primary CPU is still the master cpu (as describe in the chapter 1.2 Use case and solution)
Ignition connection go thru the backup CPU and the link between backup and primary.

our firmware is > 4.0

Switching_System_IP_RH_Systems_EN_V1.1.pdf (890.7 KB)

In that case, Ignition subscriptions seems to be freezed and data are not updated. With the virtual address transfert, it seems that Ignition doesn't detect that it has to renew its subscription ?
If we disable/enable the opc client connection, everything is back to normal.

I will try to active logger

com.inductiveautomation.ignition.gateway.opcua.client.connection.OpcUaSubscriptionManager 

to have mor diagnostics data.

  • Should I reduce the time for the keepalive settings on the connection to try to force ignition opcua client to renew its subscription after the virtual IP transfert ?
    (connection lost is detected by the master cpu when ignitinon keepalive tag is no longer changing and then transfert the virtual IP. operation is about 5-10 seconds).
    Do you think this inernal keepalive management could by usefull in that case ?

  • or perphap add an internal handler to monitor a keepalive tag and trigger a disable/enable on the connection if the state is connected and the keepalive value is no longer changing ?

  • or did I miss something else ?

Can you get a Wireshark capture that includes the failover occurring? I would need to see how that looks from the Ignition side to figure out if there is or isn't something we're doing wrong.

Thanks, I don't have access to the PLC right now, but next monday I would be able to capture the traffic

Observing any differences in ARP packets from your working scenario vs your failed scenario might provide a clue.

See if the packets are getting sent to the correct MAC address after a switchover.

A link to download a wireshark capture and Ignition logs.
Network to primary CPU is disconnected around 12h45

I don't think there is any issue from Ignition opcua client connection.

Some data seems not to be synchronized between both PLC CPU.
We need to investigate this point in the PLC program.

When we focus on other data everything is fine.

Logs look ok. Seems like all the subscriptions and monitored items get created again after reconnecting.

Wireshark capture only has 30 seconds of OPC UA traffic and it's not during that disconnect/reconnect period.