You are on page 1of 13

5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

May we use cookies to track your activities? We take your privacy very seriously. Please see our
privacy policy for details and any questions.Yes No

How to Implement I/O and Object “Load


Balancing” & “Redundancy”
AVEVA System Platform & OMI

Tech Note: ISS-TN109


Published Date: October 12, 2011
Primary Product: Application Server, Communication Drivers
Revision Date: April 26, 2022

SUMMARY
This tech note addresses the concepts of load-balancing and redundancy for both application
objects and I/O in a galaxy. I/O in a galaxy is implemented using Device Integration (DI) objects. By
using redundancy, you can balance your object load between multiple platforms to use computer
resources more effectively.

APPLIES TO:
Application Server

PROCEDURE
Section 1 – Application Object Redundancy

NOTE: All AOS Platforms should be configured identically, with exception to the “Network address” &
“Redundancy Message Channel IP address” Fields.

When configuring redundancy on your own plant network, you will need to discover which network
connection you will use before performing these steps.

For the purposes of this tech note, we will be using the following IP addresses:

AOS1: 10.10.10.101
AOS2: 10.10.10.201

1. The first objects you must create are Platforms. A “Platform” simply represents a specific
computer. In this document, we will create 3 Platforms – 1 for the GR (Galaxy Repository), 1 for our
first AOS (Application Object Server), and 1 for our second AOS. The primary purpose of an AOS
platform is to host objects. By having two platforms (AOS servers) that host objects, we can
implement failover in our galaxy in addition to load-balancing (the ability to split the object load
between multiple servers). Privacy - Terms

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 1/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

2. Two Network Cards are required on each AOS node for redundancy. The following steps cover how
to configure a second network connection in Windows, which we will call the Redundancy Message
Channel (RMC), which the two AOS nodes will use to communicate with each other.

First, on an AOS node, open the Network and Sharing Center (Start | Control Panel | Network and
Internet | Network and Sharing Center) and click Change adapter settings.

3. In the Network Connections window, there should be at least two Network Cards available. One of
these network cards will be used to communicate with the GR node and the other will be to
communicate with the secondary AOS node. We are going to right-click and rename these to be
“Plant” and “RMC” (Redundant Message Channel) respectively.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 2/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

NOTE: Steps 4-6 will be repeated on both AOS nodes. Step 5 will show screenshots of both AOS1 and
AOS2 configurations. Be sure to use the proper IP address depending on which AOS node you are on.

4. Right-click RMC, select “Internet Protocol Version 4”, and click Properties.

5. Choose “Use the following IP Address” and enter the appropriate IP address. As mentioned at the
beginning of the tech note, we will be using 10.10.10.101 for AOS1 and 10.10.10.201 for AOS2. We
will also be using the default Subnet Mask.
https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 3/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

AOS1

AOS2

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 4/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

6. We will also be unregistering these connection addresses in the DNS, by going to Advanced | DNS
and unchecking “Register this connection’s addresses in DNS”.

7. Now that we have our RMC network cards configured, we will go back to the GR node in the IDE.

Within the first AOS Platform configuration you will need to enter the RMC (Redundant Message
Channel) IP address of that same computer.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 5/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

Within the second AOS Platform configuration you will need to enter the RMC (Redundant Message
Channel) IP address of that same computer.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 6/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

8. We will first create our redundant app engines. These engines will host Application Objects, Areas,
and Redundant DI objects (RDIOs). We are calling this engine “AppEngine1”. Assign the engine to
AOS1.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 7/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

9. Open up AppEngine1 configuration and go to the “Redundancy” tab. Check the box to “Enable
Redundancy”, and then save + close the object.

10. You should now see a new app engine under Unassigned Host named “AppEngine1 (Backup)”.
We are going to assign this to AOS2. These will act as our redundant object engines. If AOS1 were to
lose connection for any reason, all the objects from AppEngine1 would switch to running on
AppEngine1 (Backup) on AOS2.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 8/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

Section 2 – Device Integration Redundancy

11. Now, create two stand-alone app engines, one for each AOS node. These will be used for the DI
(Device Integration) Objects. You should not place any DI Object, other than the RDIO (Redundant DI
Object), under a redundant engine; they should each run on their own separate engine. We will name
them “IOEngine_1” and “IOEngine_2” respectively.

12. Under the new engines we will place our DI Objects. For every unique DI Object that exists under
AOS_01 or AOS_02, there should be a duplicate on the other server. For this document, we will be
using the $DDESuiteLinkClient DI objects and naming them “PLC1” and “PLC2” respectively.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 9/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

13. Below is an image from the “Topic” tab of each DI Object. The topic names should match up
exactly for the purpose of the RDIOs.

14. With two DI Objects created, we can now create a $RedundantDIObject (RDIO) instance. We will
call this “Redundant_DI” and host it on AppEngine1.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 10/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

15. In the Redundant_DI configuration editor, for the Primary DI Source, we will use PLC1. For the
Backup DI Source, we will use PLC2.

16. Go to the Scan Group tab. We want to create a common Scan Group (aka Device Group or Topic).
To simplify this, we can click the “Copy Common Scan Groups” button.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 11/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

Click OK. In the Available Scan Groups area, “Topic1” appears. You will also want to configure a Ping
Item that will be user to monitor the connection to your PLC. This ideally should be an item directly
from your PLC. If a Ping Item is not specified, the RDIO will randomly select an item which can result
in unexpected behavior.

17. Below is a snapshot of what the result of our example should look like. Using this concept, you
can create redundancy and load balancing for both the Application Objects and the I/O.

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 12/13
5/19/23, 12:25 PM How to Implement I/O and Object "Load Balancing" & "Redundancy" - Industrial Software Solutions

All Industrial Software Solutions Tech Notes are provided "as is" without warranty of any kind.

© 2023 Industrial Software Solutions | All Rights Reserved

https://industrial-software.com/training-support/tech-notes/109-how-implement-io-and-object-load-balancing-redundancy/ 13/13

You might also like