In the following, details on non-transparent redundancy are explained. In this operating mode, OPC UA provides the following information for a client:
Which servers are available in the Redundant Server Set
Which types of failover between the available servers are supported
This information allows the client to determine what it needs to do to achieve switchover. The client must not only be able to interpret the ServerRedundancy attribute, but also know the extended information model of the redundant server.
Address parameters of the redundant OPC UA server in an R/H system
In contrast to transparent redundancy, the servers in the R/H system are addressed via their unique IP address (device IP address or virtual IP address in the case of a configured CP 1543-1).
The following figure shows an example of the use of the non-transparent redundancy according to OPC UA 10000‑4.
Response upon loss of primary CPU: Failover modes
According to OPC 1000-4: Services, servers can support different failover modes: Cold, Warm, Hot and HotAndMirrored.
The OPC UA server of an S7-1500R/H CPU supports "HotAndMirrored" failover mode.
The client must know that the OPC UA server is a redundant server and must perform the failover process in a certain way due to the supported Failover modes.
The way in which the failover process should take place is described in the OPC 10000-4 specification: Services, section "Client failover behavior - HotAndMirrored". The client is responsible for tracking the status of the server, i.e. periodically querying the ServiceLevel and switching to the alternative server (in the case of an S7-1500R/H system, this means the backup CPU) in the event of an error. This type of redundancy control offers the following advantages:
The client has full control in the selection of the alternative server.
The client can access the OPC UA server via separate networks.
The following figure from the specification OPC 10000-4: Services shows the steps that the client goes through when it receives the signal to switch to the "Alternate server" due to a low ServiceLevel value for the "Source server".
ServiceLevel
ServiceLevel is a variable that is modeled as a property of the ServerType object in the address space of the server. You use the ServiceLevel to find out whether the addressed server is still supplying data, for example. The ServiceLevel is a numerical value for the "Health status" of the server and thus provides the client with a trigger for switching the server.
The structure of the ServerType object is described in the OPC 10000-5: Information Model specification, section "ServerType".
For S7-1500R/H, the following ServiceLevel values apply to the respective OPC UA server:
RUN-Redundant: ServiceLevel primary CPU = 255 (CPU in RUN), service level backup CPU = 227 (CPU in RUN).
CPU in STOP: ServiceLevel of the failed CPU (RUN STOP transition) = 1 (NoData). This is the trigger for the client for the failover.
Example for a primary CPU in RUN:
Application of non-transparent redundancy
If a client accesses the OPC UA server via different, i.e. independent subnets, transparent redundancy using the system IP address is not possible.
The following figure shows a configuration with an H system that is connected to a client via two subnets.
The client can connect to the H system via the two independent networks. The two H CPUs are not connected via one of the networks. In this way, the failure of a network can be tolerated.
Independent subnets are not a requirement for non-transparent mode. You can also use non-transparent mode for configurations with a subnet.
Relevant nodes in the information model for non-transparent redundancy
The information in the information model of the R/H station that is relevant for non-transparent mode is located under the "VendorServerInfo" object, a placeholder object for vendor-specific information about the OPC UA server. This vendor-specific node and the nodes below it are located in the namespace for the local server,
e.g. urn: SIMATIC.S7‑1500.OPC‑UA.Application:PLC_1 with namespace index 1.
In the ServerRedundancy object below, a client can find all the required information to connect to the R/H system.
The ServerUriArray-Property allows a client to select a suitable server. The information on which network paths can be used to access the servers can be found via the object type NonTranparentNetworkRedundancyType - a subtype of NonTransparentRedundancyType. The object type NonTranparentNetworkRedundancyType references the ServerNetworkGroups variable, which contains an array of servers (EndpointUrlList) together with information on which redundant network paths exist for each server (NetworkPaths).
You can find a detailed description of the relevant nodes with their references below the VendorServerInfo node in the OPC UA specification (OPC 10000‑5: Information Model).
For an S7-1500R/H system, the EndpointUrlList contains an entry for each device IP address or virtual device IP address (if configured together with a CP 1543-1) via which the servers of the S7-1500R/H system can be accessed. In the event of a failure, the client can decide whether to connect to the same server via a different path or whether to choose the redundant server.