Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

Redundancy and Persistence

  • Last UpdatedJul 18, 2023
  • 2 minute read

If you are using server redundancy, persistence caches (I/O server cache) keep standby servers updated with the most recently read device data. A persistence cache, or I/O server cache, is created for each cached I/O device. The following diagram introduces the concept of a persistence cache.

Embedded Image (65% Scaling) (LIVE)

The diagram shows that there are two I/O servers, namely IOServer1 (primary) and IOServer2 (standby). Each connects to the public switched telephone network (PSTN) via a modem, which is in turn connects to the I/O devices, also over a modem. Persistence caches work as follows:

  1. Every IODevices->Cache Time period, data from an I/O Device is stored temporarily in the memory of the I/O server (I/O server cache).

  2. For every [IOServer]SavePeriod, IOServer1 stores its in-memory cache to disk.

  3. The cache is saved in persistence caches -one for each cached device.

  4. IOServer1 broadcasts to other I/O servers the UNC path of the persistence caches (set with [IOServer]SaveNetwork).

  5. From these persistence caches, IOServer2 updates its in-memory cache for its I/O devices.

  6. Depending on the value of the I/O server parameter of `[IOServer]SavePeriod' (determines how often the persistence cache is saved to the hard disk in seconds), IOServer1 stores its in-memory cache to the hard disk every x amount of seconds.

    Note: You can define an I/O Device on an I/O server using the Device Communications Wizard, or by adding a device in the Topology activity.

You are not limited to just one Standby Server, since the UNC path name set in [IOServer]SaveNetwork is broadcast to I/O servers. Each I/O server updates its cache from the persistence caches only for the I/O devices defined on that server. It is then possible, therefore, set up several I/O servers which update their in-memory caches with the most recently read data.

For example, we set the [IOServer]SaveFile and [IOServer]SaveNetwork parameters as follows:

On IOServer1

On IOServer2

[IOServer]

[IOServer]

SaveFile=C:\Data\IOServer1.dat

SaveFile=C:\Data\IOServer2.dat

SaveNetwork=\\IOServer1\Data\IOServer1.dat

SaveNetwork=\\IOServer2\Data\IOServer2.dat

IOServer1 would broadcast the following UNC path of the persistence cache to other I/O servers: '\\IOServer1\Data\IOServer1.dat'.

IOServer2 would then use the persistence caches to update its in-memory cache with the device data most recently read by IOServer1.

See Also

Data Path Redundancy

TitleResults for “How to create a CRG?”Also Available in