Single Driver Connection in Redundant System

Find and share HowTos to various installations / configurations!
6 posts • Page 1 of 1
tmalone
Posts:192
Joined: Mon Nov 22, 2010 11:21 pm

Single Driver Connection in Redundant System

Post by tmalone »

This is a solution that I want to share.

I have an interesting project which involves a redudant WinCC OA system. The odd part is that one half of the redudant pair is off-shore in the ocean on an oil platform, the other half is on-land at a control room. The bandwidth between the systems is limited and expensive via satellite.

The biggest use of bandwidth in WinCC OA is the driver. Each poll of the devices generates a request and mulitple replies. Other transations like displaying the current values on a drawing are all on exception or keeping the servers syncronized, etc. The issue of bandwidth is the driver.

The solution is to make the dirver run ONLY on the master/active server and to make the Preferred Server off-shore which is hardwired to the devices. In a standard redundant system, both drivers poll the devices and the failover is super-quick as it just changes the routing of the realtime driver data to the Event Manager. With a single driver solution, you loose the super-quick failover, but it is still acceptable for most SCADA solutions.

This solution changes the config.redu file which manages the DPEs that are exchanged between the servers, allowing each server to manage the driver independantly. A control dpconnect monitors the redundancy state and connects/disconnects the PLC as needed to have only one connected at a time. NOTE: Modbus driver will leave the connection to the driver open for a period of about a minute before closing it fully, but polling is not occuring.

I have attached a .ctl file that should be run at startup as either part of a collection of files or stand-alone control manager. Please read the description at the top of the file to make adjustments to the main config.redu file.

Thanks to Markus Trummer for examples and concepts.

Todd Malone
Siemens HMI CoC https://www.winccoa.com/fileadmin/image ... rvMgmt.ctl
Attachments

[The extension ctl has been deactivated and can no longer be displayed.]


leoknipp
Posts:2928
Joined: Tue Aug 24, 2010 7:28 pm

Re: Single Driver Connection in Redundant System

Post by leoknipp »

Hello Todd,

I had a look at your description and the example, looks very interesting and you have prepared it very well.

I didn't understand why the polling functionality will use a lot of bandwidth for the connection between the redundant servers. The event manager at the passive system will discard values received from the local driver. Therefore it does not send data to the other server.
The active server will send all value changes to the passive system.

Or do you also have a satellite connection between the local PLCs and the driver and therefore you want to reduce transferred data?


Here are some comments on the solution in your CTRL-script:
If you want to get the if the script is running on host1 or host2 you have to use the standard function myReduHostNum().
The function getHost() is also a standard-function but normally not used to get information for the redundant configuration. It will only work when an internal datapoint for archiving functionality is set.

If a driver shall poll or not can be defined at the datapoint-element "PM" at the internal driver-datapoint _DriverX(_2), X has to be substituted with the driver number.
Then you can switch polling on or off for all connections with one command and you do not have to deactivate all PLC-connections.

Some other disadvantages of your solution:
-- modification of the script is necessary to get the list of configured PLC-connections if connections are added/removed
-- when using several drivers which handle different PLC-connections you have to know the conjunction between driver and PLC-connection

Please check if the requested functionality can be achieved when modifying the script following my suggestions.

Best Regards
Leopold Knipp
Senior Support Specialist

tmalone
Posts:192
Joined: Mon Nov 22, 2010 11:21 pm

Re: Single Driver Connection in Redundant System

Post by tmalone »

You can think of the network as a single connection between the off-shore and the platform. The platform has all of the PLCs (of course, this is where the work is being done). If the driver is polling from both servers, all that network traffic is going across the satellite.

In a single connection architecture, there is just one connection to the land, via sattellite. For normal operation, the system is just getting changes. If the platform computer fails, then all of the traffic uses the satellite.

I will look at updating the script with your comments.

As with many OA solutions there are many ways to do things, but only a few good ways. This solution does work, it can be improved.

Todd Malone
Siemens HMI CoC

tmalone
Posts:192
Joined: Mon Nov 22, 2010 11:21 pm

Re: Single Driver Connection in Redundant System

Post by tmalone »

For those who might be confused with the discussion about a single place to change the polling methods that Leo referenced (I was, so I had to search for this information too). You can find the details about these special internal tags in the help:

Online Help->Reference Tables->Configuration file->Drivers

While it would appear to be about the config file, it also has a column that describes the internal datapoints of type: _DriverCommon

drvPollMode string "_Driver.PM" | ".PM"
-
Specifies the data point name that is used to set the polling mode. In general polling mode is only disabled for diagnostic purposes.

Valid values for the pollmode are:
=0: no data points will be polled.
>0: data points will be polled.

While this is a very good technique for turning off/on the polling for a driver, it does leave the connection between the server and the PLC open. In some cases this would not be the best solution because any open connection still has a heartbeat to check the connection status. This is a minimal network packet, but continues to use bandwidth.

Using the poll on/off method with the _Driver.PM would make the failover between the servers faster because the connection remains open.

Each solution has pros and cons. I will leave it to the engineer to decide what is the best solution for YOUR project.

Todd Malone
Siemens HMI CoC

tmalone
Posts:192
Joined: Mon Nov 22, 2010 11:21 pm

Re: Single Driver Connection in Redundant System

Post by tmalone »

Updated connection technique script https://www.winccoa.com/fileadmin/image ... 131030.ctl
Attachments

[The extension ctl has been deactivated and can no longer be displayed.]


tmalone
Posts:192
Joined: Mon Nov 22, 2010 11:21 pm

Re: Single Driver Connection in Redundant System

Post by tmalone »

File to just change the polling on/off

Example script https://www.winccoa.com/fileadmin/image ... mtPoll.ctl
Attachments

[The extension ctl has been deactivated and can no longer be displayed.]


6 posts • Page 1 of 1