SCADAConnect Simulator in WaterCAD and WaterGEMS V8i SELECTseries 5

Applies To 
Product(s): WaterGEMS, WaterCAD
Version(s):, 10.00.00.XX

Area:  Modeling
Original Author: Akshaya Niraula, Bentley Technical Support Group


SCADAConnect Simulator / SCADAConnect

For V8i SELECTseries 6 and CONNECT Edition, see SCADAConnect Simulator for WaterGEMS (V8i SELECTseries 6 and CONNECT edition)

SCADAConnect is the name given to several types of features aimed at better integrating hydraulic models with operational data. This is sometimes referred to as "Live Modeling" or "Real Time Modeling" but since it often involves a SCADA (Supervisory Control and Data Acquisition) system, the name SCADAConnect is used in Bentley products. 

This section will show different (not all) features of SCADAConnect in day to day modeling practice. At the end of this document, you can find a model which will bring data from external source and populate various locations in the hydraulic model.

SCADAConnect Simulator is an updated and improved version of SCADAConnect included with WaterGEMS V8i SELECTseries 5 and higher. For users of WaterCAD, SCADA Signals would need to be purchased and included with the WaterCAD license in order to use SCADAConnect Simulator.

In addition, SCADAConnect is now included with SewerGEMS V8i SELECTseries 4. SewerGEMS's version of SCADAConnect does not yet include all of the features below, though the SCADA element and SCADA element table are included. See the SewerGEMS V8i SELECTseries 4 What's New? TechNote for more information.

For V8i SELECTseries 5, a 25 SCADA signal license is included with WaterGEMS. Starting with the V8i SELECTseries 6 release of WaterGEMS, a free unlimited signal license is included.

Information on the new SCADA Element, the SCADA Element Table, and the presentation abilities (graphing, color coding, and annotations) can be found in the New SCADA Element solution.

For a free webinar on SCADAConnect with sewer models using SewerGEMS, click this link.

SCADAConnect in SELECTseries 6

The SCADAConnect interface underwent a major upgrade in SELECTseries 6. If you are using SELECTseries 6, please see the below article:

SCADAConnect Simulator in SS6


• Bentley WaterGEMS/WaterCAD SS5 version.
• A hydraulic model.
• SCADA Data (a dummy Access database is used here).

List of Topics

•  SCADAConnect Simulator
•  SCADASignal Editor
  •  Database Source Connection
  •  Citect Connection
  •  OPC Source
•  Use of Calculation Options
  •  Simulation Mode
    •  Baseline Initial Condition
    •  Historical
    •  Live
    •  Live (Auto Compute)
  •  SCADA Calculation Type
  •  Control Overrides
•  Use of Alternatives
•  Alarms
•  SCADA Results Publishing
•  Initial Settings Import
•  SCADA Log
•  Real-time and Historical Data Modeling
•  FAQ

SCADAConnect Simulator

SCADAConnect Simulator provides a way for users to modify and run a model scenario from a very simple user interface without the need to interact with some of the more sophisticated features of WaterGEMS/CAD. This SCADAConnect Simulator can be found under Tools > SCADAConnect Simulator.

 SCADA Signal Editor
 Alarms which gets triggered when certain value has been exceeded.
 Flextable for SCADA Elements (SCADA element table)
 Time Browser, change the current time-step of a model
 Shows User Notifications, Alarms and Alarms
 Publishes the results to OPC server
 Imports initial conditions from an external data source
 Shows logs of messages generated by SCADAConnect
 Opens up the help document

SCADA Signal Editor

In this window,data source, connection parameters, signals, etc., are defined. There are several types of data sources that can be used, including database sources (which can include a wide range of file types), OPC Historical data source, OPC Real Time data source and a Citect data source.

Database Source Connection

In the SCADAConnect Signal Editor window click on new connection button.
• Click on Edit button.
  • Select Data Source Type. In this case, Access 2007/2010(12.0).
  • Click on Ellipsis ("...") button and select data source.
  • Click on Test Connection button and make sure to see "Connection succeeded" message.
  • Click OK to close the Database Connection window.
• Table Name: Select the data table that contains the SCADA data.
• Source Format: This can vary, but most of the time a user would select One value per row
• Signal Name Field: The column that contains the 'Tag' or 'Signal' name.
• Value Field: The column that contains the SCADA value.
• Time Stamp Field: The column that contains the FULL data and time. Very Important
• Questionable Field: If your SCADA system supports. Leave as-is if not sure.
• Real-time or Historical: Mostly Historical.
• Select SCADA Signals:
  • Add the necessary signals by, double clicking or clicking ">" or ">>" button. ">>" will add all.
  • Click OK button to close the Select Signal window.
• Click OK button to close the Database Signals window.

Animated GIF showing the steps

SCADA Signals window will now list the signals in the left panel as a tree structure as shown in the picture below or animated GIF above.

Clicking on the signal in the left will show the corresponding data. Make sure to click either on Refresh or Auto Refresh.

Citect Connection

Data form Citect server/database can be brought in directly in the SCADAConnect.

Please click on New button on the SCADA Signals window and select Citect Source. In the Citect Source window,

• Click on Edit button.

• Remote Server: Check this if WaterGEMS/CAD is on a different machine than the Citect Server. If WaterGEMS/CAD and the Citect are on the same machine, no need to provide server information.

• Authentication: Check this if user name and password are required to connect to Citect Server.

• Test Connection: Make sure to get the "Connection succeeded" message. If a message saying "Citect API dlls are missing....", please take a look at the FAQ section below and come back here. Once, connection succeeded, click OK until Citect Source window is active.

• Select SCADA Signals (on Citect Source window): Click on this button and from Select Signals window add the signals to right side of the list either by double clicking or by clicking > sign. The ">>" will add all the signals to the list in the right. Click OK to close the window and back on Citect Source window. Click OK again to close the Citect Source window.

Now, the SCADA Signals window will show the list of the SCADA Signals and their value. Image below shows the real time (live) signal value.

OPC Source

Ability to connect to the OPC server allows the user to communicate directly to the same interface that SCADA operator uses. There are two types of OPC connection, Real-time and Historical. Both of the options under New shows the same window as shown below.

If the OPC server is in the same machine where WaterGEMS/CAD is then click on the drop-down next to OPC Server: and select the server. If OPC server is in another computer (which can be remotely reached at) then put a check on Host and then click "Refresh" button.

Once the source is selected, click on the Select SCADA Signals button and add the interested signals towards the right list, in the new window.

Use of Calculation Options

There are some properties added to the calculation options in order to support different modeling situations. Simulation Mode enables a user to specify what to do before running a hydraulic model and if run the model at certain interval.

For instance, if a user would like to set-up a scenario to pull all the signals related to Water Quality, such as signal from chemical feeder pumps, etc., and another scenario just for the basic hydraulics such as Steady State run. To facilitate this, the SCADA Calculation Type can be set to Hydraulics Only, Age, Constituent, or Trace. (Different alternatives are required on top of the SCADA Calculation Type.)

Some operator like to overrides the controls that are defined in the SCADA (manual overrides). To model such behavior option available in Control Overrides can be used. The control overrides are meant to be used when you want to temporarily override (change) existing controls on you model. For example, you have a model set up and you want to quickly check what would happen if you take one pump offline because your operators need to do maintenance. In this case, you could use a control override to turn the pump off.

Simulation Mode

This field in the Calculation Options enables the user to select different types of automation, such as bringing in the data automatically from data source and then computing the model.

Baseline Initial Condition

If the user doesn't want any data to be imported while performing the run, they can leave this Simulation Model to Baseline Initial Condition. This option is the default option and just uses the model information.


A historical run should be chosen when the user wants to automatically load the data from an historical data SCADA source to the initial conditions and then run the model to analyze past information.


Instead of loading a historical data, if the user wants to load the real-time data automatically and then have the model compute hydraulics, they need to select the Live in Simulation Mode drop down.

E.g. If you run an extended period simulation (e.g. for 24 hours), then the simulation will compute the system from the current time (using 'live' initial conditions from SCADA) into the future. This is useful if you want the model to predict potential future problems (e.g. a tank draining later in the day).

Live (Auto Compute)

If the user wants to load the real-time/live data automatically at certain time intervals they should choose Live (Auto Compute). If this is option is chosen the model will update the initial conditions from SCADA data according to the time interval you specify. It will then compute the model.

E.g. If you run a steady state simulation, then the Live (auto compute) simulation will just compute the system at the current time (using 'live' initial conditions from SCADA).


SCADA Calculation Type

There are four different calculation types available: Age, Constituent, Hydraulics Only, and Trace.

Control Overrides

To offer the possibility of analyzing different situations quickly we have included the Control Overrides. The control overrides are meant to be used when you want to temporarily override (change) existing controls on you model. For example, you have a model set up and you want to quickly check what would happen if you take one pump offline because your operators need to do maintenance. In this case, you could use a control override to turn the pump off.

The dialog box to define such controls can be obtained by clicking the ellipsis button in the Control Overrides property. This will bring up a new window, as shown below.

To add a control, click on the New button and select the element in the drawing. Note: this feature only allows for selecting elements that have controls defined already, otherwise there is nothing to override.

Use of Alternatives

With the use of Alternatives, the SCADA Element can be used to bring Historical data as well as real time data. Simply create two alternatives, real and historical then assign them to two scenarios. For more details please go to Real Time And Historical Data Modeling. For information on the SCADA Element, see the New SCADA Element solution. 

SCADA Results Publishing

This section is applicable to the OPC Source only. Make sure the SCADA values are visible in SCADA Signal Editor before trying this. This tool basically defines how things are mapped from the hydraulic model to the OPC. If results from an element are desired to display in an existing OPC then this tools comes into play. The animated image below shows how to map model elements to the OPC signals.

In order to push the result, the simulation must be run from SCADAConnect Simulator.

Initial Settings Import

Initial settings such as tank levels or pump ON/OFF status can be brought in from SCADA Data. It supports both real-time and historical data. The media below shows the basic steps to import the data to the initial settings.


SCADA Log comes in handy during troubleshooting when the feature does not behave as expected. Clicking the highlighted button will open up the log file in a notepad.

Real-time and Historical Data Modeling

This section will show two situations. In one situation (or scenario), the model will pull real time data and auto compute. The second scenario will demonstrate the connection to Historical Data Source.

Scenario Set up for a Real-time data and Auto Run/Compute
•  Follow the steps in the SCADA Signal Editor section and make sure to map at least one Real-time data.
•  Create a scenario (child or base) and call it "Real Time".
•  Create a child scenario (right click on "Real Time" scenario and New > Child) and call it "Auto Compute".
•  Create an alternative (or rename existing) and call it "Real Time".
•  Assign the above alternative to the above scenario (from the scenario's property grid).
•  Create a Calculation Options and call it "Real Time".
•  Assign the calculation options "Real Time" to the  "Real Time" scenario (from the scenario's property grid).
•  Create another Calculation Options and call it "Real Time Auto Compute".
•  Assign the above calculation options "Real Time Auto Compute" to the "Auto Compute" scenario.
•  For both of the Calculation Options change them directly as shown in here.
•  Change "Real Time" calculation options as show in Real Time.
•  Change "Real Time Auto Compute" calculation options as show in Live (Auto Compute).
•  Make the above scenario "Real Time" active (Right-click on the scenario and select Make Current).
•  Now Map the Real Time Signals
•  Upon compute, the software will bring up the live data and then compute.
•  Note: Real-time data fetch and model computation will automatically repeat based on the given time when running the Auto Compute Scenario.
•  Visualize the results by Graphing, Color-Coding, or by Annotating

Scenario Set up for a Historical data import and Run/Compute
•  Follow the SCADA Signal Editor section and make sure to map at least one Real-time data.
•  Create a scenario (child or base) and call it "Historical".
•  Create another child scenario (under "Historical") and call it "Public Holiday (July 4th 20XX)".
•  Create an alternative (or rename existing) and call it "Historical Date 20xx/xx/xx".
•  Assign the alternative "Historical Date 20xx/xx/xx" to the "Historical" scenario (from the scenario's property grid).
•  Create a child alternative (under above Historical) and call it "Date 20xx/xx/xx".
•  Assign the alternative "Date 20xx/xx/xx" to the "Public Holiday (July 4th 20XX)" scenario (from the scenario's property grid).
•  Create a new Calculation Options and call it "Historical".
•  Change the Calculation Options directly as shown in here.
•  Change other calculation options as show in Historical.
•  Assign the calculation options "Historical" to the above "Historical" scenario.
•  Make the "Historical" scenario active (Right-click on the scenario and Make Current).
•  Now Map the Historical Signals
•  Compute / Run the scenario and the software will bring up the historic data and then compute.
•  Visualize the results by Graphing, Color-Coding, or by Annotating

Modeling Practice
If there is a need to have more than one real-time or historic simulations then it is good to create child Scenarios and child Alternatives under the above scenarios. Basically, one parent and children for real-time and one parent and children for historical data modeling/simulation, as shown below.

 Media showing Live data from SCADA HMI to WaterGEMS 


Q: Why the SCADAConnect Simulator is not showing any of my scenario in the drop-down?

The drop-down menu only lists the scenarios that are set-up for SCADAConnect. Please make sure that the Calculation Type: SCADAConnect Simulator is selected in the Calculation Options as shown below:

Q: Citect API dlls are missing...

Please navigate to this page.

Q: Citect - Test Connection: Unable to open the Citect connection

Make sure the server name is spelled correctly and can be pinged from the command line. Try with and without the Authentication.

Q: Citect - Test Connection: Citect is not available when running as 64-bit

Make sure to run the 32-bit of WaterGEMS/CAD. For more details click here.

Q: Citect - I Did everything, still couldn't connect

Make sure to enable legacy connection. Step are shown in this page. Also, make sure that the CtAPI dlls version is the same as the Citect version.

Q: I can see the graph in SCADA Signal Editor but not in the Graphs, how can fix?

If data and graph are visible in SCADA Signal Editor but not in the graphs (after right clicking on the SCADA Signal > Graph) then it most likely due to the date. Please make sure the data in the Calculation Options and the date when data were recorded are the same.

Q: Is there a way to pull the data from source and run automatically at every time interval?

Yes, the tool can automatically pull the data from data source before running it and then it will repeat the import and run process at specified interval. Please refer to Live (Auto Compute) section.

See Also

Free Webinar on SCADAConnect in SewerGEMS