Redundant OPC Server Connections

Hi, I am looking into a FactorySQL system design in which, if I install the OPC Server on all redundant FactorySQL nodes and the conenction in my project is localhost, if a master goes down completely, will the slave or consequent slave nodes use the same OPC conenction properties of Localhost OPC Server to conenct with the PLC.

My question is related to not using something like Matrikon OPC Redundancy module, instead installing OPC Server on all nodes of FactorySQL and using Localhost OPC Server application on each. will that work?

I tested a system like i metnioned above and it works, if the Master is shutdown, the secondary FactorySQL Service and OPC Server takes over.

But i was not able to make the following scenerio work:-

I have 2 servers, both with 1 FactorySQL and 1 OPC Server.
The OPC Server is the same with the same topic and tags
The FactorySQL project has redundancy enabled between these two servers.

If OPC Server Goes down on the Master Server while the FactorySQL Service is still running, The Secondary doe not take over.

I tried using OPC Quality Tag in redundancy also and only stopping the OPC Server on the Master Server, still the secondary did not become Active. Please advise.

What I want is that IF OPC Server on one of the FactorySQL Server goes down, the switchover should take place to a server where both FactorySQL and OPC Server are OK

Have you heard of OPC Redundancy Broker? you can configure it as a Hot, Warm, or Cold backup to switch between two OPC Servers when failure of any occurs. I suggest you try the demo version here: … roker.aspx

Let me know how does that go for you

Wassim Daoud
Global Solution Architect

wassim daoud:


Generally we don’t mind people suggesting products that would be useful (and perhaps even advisable), but please at least read the original post carefully before advertising…

Now, to answer the last question about working OPC status into the redundancy state:

You’re correct that this is the job of the “OPC Quality Monitoring” option. To use it, you must enable it, and then add an item (or more) that will be used to judge the server state. The item will be local to the machine, so you’ll need to set this up independently on both machines. Here’s a tip for setting up the items: browse the opc server, and select an item. Right-click and select “copy”. Go into Redundancy Settings, and click on the item list box. Use “ctrl-v” to paste the path into the list.

I just did a quick test, and it worked well for me. Perhaps one of the following is happening:

  1. You did not add items to the list, thinking it would just use the overall quality.
  2. You added items to one, but not both, nodes. The settings are not shared between redundant nodes.
  3. The items you added to the list weren’t good, or the path was slightly incorrect, causing bad data from the start.
  4. You tested by closing the OPC server, and FactorySQL was able to re-connect before the quality went bad.

In regards to #3, it is useful to know that the opc quality just becomes another element taken into consideration for determining who is master. If the quality is equal on both nodes, the other conditions will be looked at (ie, node ranking, or age if ranking isn’t enabled).

To verify that the points are good, after enabling the feature with the opc server running, you should now see that the “opc_quality” column of the “fsql_responsibility” table is 100 (as in 100% good).

Please let us know if you still can’t get it to work.


I followed the complete checklist and it worked great, thankyou so much.