Large Water Utility Systems

Application Overview - Sydney Water:

News Release – 25 January 2019
Sydney Water signs a 10 year supply agreement for a new RTU hardware platform.  After a rigorous tender evaluation process, Sydney Water has selected the Brodersen RTU32M series products to replace more than 2,000 existing Schneider Electric RTUs.

Brodersen RTU32M

Introduction to the RTU32M
The RTU32M is the latest addition to the Brodersen product range of telemetry hardware.  The RTU32M uses a modern CPU architecture and modular backplane interface to allow rapid deployment of RTUs in a range of applications.  In the past many customers were forced to ‘oversize’ their RTUs, to conform with the fixed I/O sizing and layouts offered by most brick/panel style RTUs.   Now simply select the number and type of I/O modules to suit the application, add a power supply and processor and get connected.  If requirements change – add or remove modules and even add separate/distributed racks of I/O modules in large applications!

Sydney Water – the largest Water Utility in Australia
Sydney Water supply water, wastewater, recycled water and some stormwater services to more than five million people in the greater Sydney region.

Existing Site Types and I/O
The project specification listed a range of preferred I/O requirements, based around the installed base of eNET/SCADAPack ES RTUs.  The ‘standard site’ featured one RTU with 32x DI, 16x DO, 12x AI, 4x AO, 4x serial ports and 2x 10/100 LAN ports. Variants of the standard site type required smaller and larger I/O counts (customer had ‘ganged’ together 2x RTUs at medium sites and 4x RTUs at large sites).  DI channels were also required to have some channels capable of counting at 1kHz.  DO channels were specified as Form C (N.O./C/N.C.) independent changeover contacts.

New modules – SP04A, IO14B and DO08R
The project required development of new modules with appropriate channel counts and  functionality to meet the Sydney Water specification. 

The SP04A serial port module features 3x RS232 ports and 1x RS232/RS485 ports.  The IO14A/B mixed IO module includes 3x AI, 8x DI (2x DI channels can be 1kHz counters), 2x DO (Form C) and 1x AO.  The DO08R module features 8x DO (Form C).


Modules and Blocks of Modules
The RTU32M can be easily deployed in small, standard, medium and large I/O applications as shown below. Variants of site types can also be made with less/more modules. Using ‘blocks’ of modules also makes RTU configuration management and site installation easier.

Small RTU - 16x DI (4x ctr), 4x DO, 4x AI, 2x AO
Standard RTU - 32x DI (8x ctr), 16x DO, 12x AI, 4x AO
Medium RTU - 64x DI (16x ctr), 32x DO, 24x AI, 8x AO
Large RTU - 128x DI (32x ctr), 64x DO, 48x AI, 16x AO

Reduced Product Footprint – size does matter!
The RTU32M footprint is much smaller than the eNET/SCADAPack ES RTUs, making for easy site retrofits.

Conformance – the RTU32M must also ‘fit’with the existing SCADA Host configs.
The existing Sydney Water SCADA system uses a proprietary extended implementation of DNP3 protocol to allow the ClearSCADA Host to manage both data transfer and configuration of the RTUs.  The specification required that the existing configuration templates used to manage the existing RTUs, be reused and that the new configuration methods must allow full reconfiguration using ‘human readable’ text files.

Host Managed Configuration – using Host point parameters to setup the RTU32M

The desired functionality has been achieved by querying existing RTU and DNP point configuration files in ClearSCADA using SQL statements and creating textual configuration files that are downloaded to the RTU32M using DNP file transfer (files can also be exported /uploaded).

Each RTU point is then loaded with the same parameters as in the Host (~100 parameters for Analog points and ~50 parameters for binary points).  Structured tags have been created for each point type.  User displays in WorkSuite allow viewing of the points, as shown here.

DNP Binary and Analog Points Display

Application Requirements – Extended DNP Point Processing
The standard RTU32M firmware does not include the extended DNP point processing functionality that was developed for large UK and Australian Water Utilities by Serck Controls for use in the eNET/SCADAPack ES RTUs.

However, the Brodersen WorkSuite software tools include a range of functions and function blocks that allow RTU32M programs and user defined function blocks (UDFBs) to be developed that provide the required extended point processing functionality – in a more ‘visible’ format.  ie. the code is not hidden/embedded in base firmware that only Brodersen can change…

Analog Point Processing Example:  The RTU32M is set to loop through its analog points in turn every 10ms to update the associated DNP3 point.  The analog point processing program includes logic that manages;

  • scaling to EGU values
  • point quality – online, comms lost, out of range and timestamp of last change.  Timestamps with 1ms resolution and module status are read directly from the AI module (for physical AI points).
  • alarm limit processing (4x high, 4x low, under range and over range) plus daily and weekly profiles that allow each limit to be different at various times of the day
  • persistence in and out of alarms (delay periods)
  • dead band (3 modes – absolute, percentage and integration)
  • alarm/event logging and unsolicited reporting
  • interlocks for AO points (inhibit control)
  • logging of configuration changes.

Binary Point Processing Example:  The RTU32M is set to loop through its binary points in turn every 10ms to update the associated DNP3 point.  The binary point processing program includes logic that manages;

  • debounce and state inversion
  • point quality – online, comms lost and timestamp of last change.  Timestamps with 1ms resolution and module status are read directly from the DI module (for physical BI points).
  • alarm state processing (includes alarm severity)
  • persistence in and out of alarms (delay periods)
  • alarm/event logging and unsolicited reporting
  • interlocks for BO points (inhibit control)
  • logging of configuration changes.

Trend Point Processing Example:  The RTU32M is set to loop through its trend points in turn every 1s to determine if it is time to update the trend sample point (a structured tag with multiple attributes, that is set to generate events, but is not included in Class 0 polls) ie. trend samples are simply additional DNP3 events, rather than stored values in log files that need to be uploaded/processed separately by the SCADA Host.  The trend point processing program includes logic that manages;

First Sample Rate – if the is point due for update

  • Analogs – stores current value, AVG, MIN, MAX and DELTA
  • Counters – stores current value and DELTA
  • Binarys – stores current value only

Second Sample Rate – if the is point due for update

  • Analogs – stores current value
  • Counters – stores current value 
  • Binarys – stores current value only

Log Period – if the point is due to be logged, trigger an event recording for the required ‘stream’

Logging of configuration changes.


Application Requirements – DNP3 points with extra attributes

The standard DNP3 setup in the Brodersen RTUs is well suited to typical applications in the water and power industry where DNP3 is the predominant protocol.  The table below shows the 12 parameters/attributes that a ‘generic’ analog point uses to define its type, number, event class, threshold mode and event deviation amount.


Standard DNP Points Table

As described previously, the Sydney Water requirement is for DNP3 points to have additional parameters.  The desired functionality of having extra DNP point attributes for this project is achieved by creating an ‘expanded’ DNP table using arrays of structured tags and then passing the data value to the standard table.


Multitasking – separation of RTU functionality (I/O and data points v site logic)
The Sydney Water RTU32M application uses 3 of the 4 available tasks.  Multi-tasking allows separation of the RTU functionality
eg.  Task 1 – I/O and DNP, Task 2 – Site Logic, Task 3 – RTU Health/Security, Task 4 – Spare…

New Logic Function Blocks – ‘Dynamic’ DNP points and table manipulation
New function blocks have been added to WorkSuite to allow DNP3 points to be added/deleted and modified from logic.  Previously most of the existing logic functions referenced variables by their tagname – the new blocks reference points in the DNP points table by their object group and point number.


SETPNTCLS allows manipulation of a point class.

GET / SET VALUE allows access by point number.

SETVALTS allows setting of the points timestamp.

VSIGETBIT / VSISETBIT allows access to the points quality bits eg. online status, comm fail, overrange, forced etc.

SYSINFOTASKEX allows access to task information

CORRUPT triggers a bit in the DNP message header.  The SCADA host can send RTU configuration files when this is detected/set.

GETIIN allows access to the DNP message header flags.