How could to do redundancy by means of system 800 xA 4.1 (taking consideration we have a primary/redundant server) for an generic opc, in this case, the kepware?
Redundancy is possible, also when using Kepware.
Requirement: primary and secondary OPC server must expose the exact same address space (=contain identical setup of items).
If this is the case, there is no difference between configuring a redundant pair of OPC servers for AC 800M and a pair of Kepware OPC servers.
The 800xA framework will cyclically call the GetStatus() method in the OPC server(s). The OPC server *must* respond with OPC_STATUS_RUNNING, or else the framework will abort the OPC DA Connector service provider, restart it and it will remain waiting in "Synchronizing" state until the OPC server report OPC_STATUS_RUNNING again.
Clients will only connect to connectors in "Service" state; the abort is intentional to force all clients over to the remaining server.
Status can be examined with the advdsopcclient.exe tool which is built-in into 800xA.
Affinity can be used to control how the clients connect to the OPC servers. 50/50 or something else.
ABB recommend splitting the load over both OPC servers in a redundant pair and configure adjacent clients to alternatively use primary and secondary (odd,even,odd,even,...).
This way, the operators have "two connections" with the process and if one become with bad quality or stop updating (but remain in service state) the other connection will still provide live & good data and allow input from the operators.