Hi,
I'm working with redundant servers. The project is distributed among two servers: one of them keeps the whole project but the communication driver, and the other one has only the communication driver running. I have four servers in all. That is: two WinCCOA data projects and two WinCCOA communicacion projects. At the beginning, Data server 1 is connected with Communication server 1 and the same for the second group of servers. In this case, the active Event Manager is the one running in Data server 1. If one of the servers of the first group crashes, the system switches the active manager, so the second Event Manager is activated. The problem comes when two servers from different groups crashes. For example, if Data 1 and Communication 2 crash, it would be appropiated that Communication 1 stablishes connection with Data 2. I achieved this behavior setting the "data" and "event" entries within the communicaction project config file to "Data1,Data2". However, if the crashed servers are started again, the communication project 2 is not able to connect to Data 1. In fact, I noticed that, after a situation as the one I have already described, the communication driver (both projects) only tries to connect to the second data server. They dont make any attempt to connect the first data server anymore, in spite of been indicated in the data and event entries of the config file. In consequence, I stablish communication with one driver but the other one is not connected. Why could this be happening? There is another way to achieve the communication between servers that I described?
Thank you
Managing driver connections on redundant projects
- VictorCalvo
- Posts:20
- Joined: Fri Feb 08, 2019 12:48 pm
Managing driver connections on redundant projects
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: Managing driver connections on redundant projects
I have read the description but I'm not sure what you want to do.
Why are you starting the drivers on an own server and directly at the server where Data- and Event-Manager are running?
If a WinCC OA process running on a remote machine shall establish the connection to a redundant pair of servers the config entries for data and event must look like the following example:
data = "host1$host2"
If a redundant network shall be used the entries must contain both network names:
data = "host1-1,host1-2$host2-1,host2-2"
For details concerning redundant networks please have a look at the WinCC OA Documentation: Special functions --> Redundant network connections.
Best Regards
Leopold Knipp
Senior Support Specialist
Why are you starting the drivers on an own server and directly at the server where Data- and Event-Manager are running?
If a WinCC OA process running on a remote machine shall establish the connection to a redundant pair of servers the config entries for data and event must look like the following example:
data = "host1$host2"
If a redundant network shall be used the entries must contain both network names:
data = "host1-1,host1-2$host2-1,host2-2"
For details concerning redundant networks please have a look at the WinCC OA Documentation: Special functions --> Redundant network connections.
Best Regards
Leopold Knipp
Senior Support Specialist
- VictorCalvo
- Posts:20
- Joined: Fri Feb 08, 2019 12:48 pm
Re: Managing driver connections on redundant projects
Hi,
The driver is running only on the communication server. The goal is, if any server crashes, the system must be able to recover the communication with the working servers. For example, Data1 is connected to Com1 and Data2 with Com2. The active event manager is the one running on Data1. If Com1 crashes, the system switches the active event manager to the one running on Data2. At this situation, Data2 crashes, so the main idea is Com2'd stablish connection with the Event manager running on Data1 server. Then, if the two crashed servers are activated again, Com1 should connect to Data2. My problem comes here. When a situation like this happens, the re-connect attempts use mainly the second server direction which I set up at the config file, not the first one, and I don't know why. This happens also if the situation is the same as the one I described but Data1 and Com2 crash, instead Data2 and Com1. I would like to know how manage what server will use the driver to connect
The driver is running only on the communication server. The goal is, if any server crashes, the system must be able to recover the communication with the working servers. For example, Data1 is connected to Com1 and Data2 with Com2. The active event manager is the one running on Data1. If Com1 crashes, the system switches the active event manager to the one running on Data2. At this situation, Data2 crashes, so the main idea is Com2'd stablish connection with the Event manager running on Data1 server. Then, if the two crashed servers are activated again, Com1 should connect to Data2. My problem comes here. When a situation like this happens, the re-connect attempts use mainly the second server direction which I set up at the config file, not the first one, and I don't know why. This happens also if the situation is the same as the one I described but Data1 and Com2 crash, instead Data2 and Com1. I would like to know how manage what server will use the driver to connect
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: Managing driver connections on redundant projects
As written in my previous answer a remote driver can connect to both redundant servers if redundancy is configured in the config file.
Which settings for data/event have you made in the config file for the remote driver projects?
Why are you starting the drivers on an own server and directly at the server where Data- and Event-Manager are running?
Is it due to a technical limitation?
Best Regards
Leopold Knipp
Senior Support Specialist
Which settings for data/event have you made in the config file for the remote driver projects?
Why are you starting the drivers on an own server and directly at the server where Data- and Event-Manager are running?
Is it due to a technical limitation?
Best Regards
Leopold Knipp
Senior Support Specialist
- VictorCalvo
- Posts:20
- Joined: Fri Feb 08, 2019 12:48 pm
Re: Managing driver connections on redundant projects
Config file entries are:
Data1 and Data2
data = "Data1$Data2"
event = "Data1$Data2"
Com1 and Com2
data = "Data1,Data2"
event = "Data1,Data2"
The driver manager runs only on Coms systems due to specifications.
What I am trying to manage is the system which the communication system will attempt to connect to. With these values at the configuration files, I'm able to achieve what I want, but the problem is the number of attempts before the connection is stablished again. For example, It'd happen that, after Com1 and Data1 have been reset, Com1 attempts to connect to Data2 several times, even though Data2 is already connected to Com2. Finally, after an arbitrary number of attempts, Com1 stablishes connection with Data1. That's my problem. I want to manage the connection, not only provide two options so the system choose one or another randomly (aparently). So, if Data2 is already connected, Com1 should only attempt to connect to Data1 (in this specific case).
I saw at the possible config entries that there is an entry which specifies that a driver connects to both hosts, but this is not what I'm searching for. Each driver manager must be connected only with one data server
Thank you
Data1 and Data2
data = "Data1$Data2"
event = "Data1$Data2"
Com1 and Com2
data = "Data1,Data2"
event = "Data1,Data2"
The driver manager runs only on Coms systems due to specifications.
What I am trying to manage is the system which the communication system will attempt to connect to. With these values at the configuration files, I'm able to achieve what I want, but the problem is the number of attempts before the connection is stablished again. For example, It'd happen that, after Com1 and Data1 have been reset, Com1 attempts to connect to Data2 several times, even though Data2 is already connected to Com2. Finally, after an arbitrary number of attempts, Com1 stablishes connection with Data1. That's my problem. I want to manage the connection, not only provide two options so the system choose one or another randomly (aparently). So, if Data2 is already connected, Com1 should only attempt to connect to Data1 (in this specific case).
I saw at the possible config entries that there is an entry which specifies that a driver connects to both hosts, but this is not what I'm searching for. Each driver manager must be connected only with one data server
Thank you
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: Managing driver connections on redundant projects
The syntax data = "entry1,entry2" is used if a redundant network connection between the server computer and the client computer shall be used.
It cannot be used to establish the connection to different servers.
Why aren't you using the option to connect to both redundant servers using the syntax "host1$host2".
In your configuration (if a driver is only connected to one server) you have to keep in mind that data for the driver which is connected to the passive server will be discarded by the passive Event Manager.
E.g. if Server1 is active you will not get any data from the driver running on Com2 only connected to Server2.
Best Regards
Leopold Knipp
Senior Support Specialist
It cannot be used to establish the connection to different servers.
Why aren't you using the option to connect to both redundant servers using the syntax "host1$host2".
In your configuration (if a driver is only connected to one server) you have to keep in mind that data for the driver which is connected to the passive server will be discarded by the passive Event Manager.
E.g. if Server1 is active you will not get any data from the driver running on Com2 only connected to Server2.
Best Regards
Leopold Knipp
Senior Support Specialist
- VictorCalvo
- Posts:20
- Joined: Fri Feb 08, 2019 12:48 pm
Re: Managing driver connections on redundant projects
I read that the syntax "data = "entry1,entry2"" is used for redundant network between two systems. However, I realized that if I use this syntax providing the names of both data servers (used in both communication servers) the communication between Com and Data servers works. It works Data1 with Com1, and Data2 with Com2, and also Data1 with Com2 and Data2 with Com1. The problem is that, since I'm not able to manage which data server the communication server must try to stablish connection to, the Com server which is reactivated could perform several attempts to connecto to a Data server which is already connected with the other Com server. After some attempts (sometimes it happens at the first try), the communicaction server tries to connect with the Data server which is not connected, and the communication finally works.
I decided to set up this syntax because I read that is recommended in cases where the managers are running on different systems. Nevertheless, I know my case is a bit uncommon.
I tried what you recommend me about the "host1$host2" syntax. The problem is the Driver tries to connect with the local host, and since there is any data manager running at the local project, neither event manager, it is not able to connect. I don't know why it is attempting to connect to the local host.
To sum up, I think I will be able to achieve what I'm searching for if I find out how to specify which host the Com project must connect to, but until now, I have not been able to do it.
I decided to set up this syntax because I read that is recommended in cases where the managers are running on different systems. Nevertheless, I know my case is a bit uncommon.
I tried what you recommend me about the "host1$host2" syntax. The problem is the Driver tries to connect with the local host, and since there is any data manager running at the local project, neither event manager, it is not able to connect. I don't know why it is attempting to connect to the local host.
To sum up, I think I will be able to achieve what I'm searching for if I find out how to specify which host the Com project must connect to, but until now, I have not been able to do it.
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: Managing driver connections on redundant projects
If you want to connect to both redundant servers with a WinCC OA manager (which is not a UI manager) you have to use the config entry
connectToRedundantHosts = 1 (defined in the section for the manager) or the start parameter -connectToRedundantHosts.
Best Regards
Leopold Knipp
Senior Support Specialist
connectToRedundantHosts = 1 (defined in the section for the manager) or the start parameter -connectToRedundantHosts.
Best Regards
Leopold Knipp
Senior Support Specialist
- VictorCalvo
- Posts:20
- Joined: Fri Feb 08, 2019 12:48 pm
Re: Managing driver connections on redundant projects
But not to connect to both servers at the same time. What I'm searching for is a way to manage which data server is the one chosen each time any communication server tries to connect again, in order to avoid several connection attempts to a Data server which is already connected with the other communication server.
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: Managing driver connections on redundant projects
Maybe for further discussion it is easier to use the common WinCC OA support.
If you want to create a service request please have a look at the following Knowledge Base entries:
https://www.winccoa.com/knowledge-base/ ... 412d3dbe8b
https://www.winccoa.com/knowledge-base/ ... ace15ea262
Best Regards
Leopold Knipp
Senior Support Specialist
If you want to create a service request please have a look at the following Knowledge Base entries:
https://www.winccoa.com/knowledge-base/ ... 412d3dbe8b
https://www.winccoa.com/knowledge-base/ ... ace15ea262
Best Regards
Leopold Knipp
Senior Support Specialist