Creating Controls - Conditions, Actions and Control Sets

Product(s): WaterGEMS,  WaterCAD, SewerCAD
Version(s): CONNECT Edition, V8i


This TechNote describes the three basic methods of creating simple controls in your WaterCAD or WaterGEMS model. Assigning particular controls to a particular scenario is also described in the later part of the Technote. The first two methods apply only to WaterCAD V8i or WaterGEMS V8i, but the third method is similar in the V8 XM versions.

Note : This technote is applicable for V8i versions of  WaterCAD and WaterGMES, lower than the SS6 version. E.g. from version to version of water products. For V8i SS6 and CONNECT Edition, see: Creating Controls - Conditions, Actions, and Control Sets (CONNECT Edition and V8i SELECTseries 6)


In WaterGEMS, controls can be modeled to introduce a user-defined action to a hydraulic element. When one or more conditions provided by the user are met during the model simulation, the action or actions provided by the user will be introduced in the model operation. In a real system, these types of controls are sometimes referred as Programmable Logical Controls (PLCs). SCADA systems and time-based plant operations are major sources of PLCs that should be included in a water model. Including controls in the model is most essential when performing an Extended Period Simulation (EPS).

Controls can be created for a number of element types, including pumps, valves and pipes. The example below shows controls for pump status based on tank level, but a control could also be made for valve status or setting as well as pipe status as the Action.

How to Create a Control in WaterCAD or WaterGEMS V8i

There are two methods to access main Control dialog box:

  • From WaterGEMS Component menu, select "Controls," or,
  • From the properties of selected element, under Operational category, click the ellipses button (small button with three dots) of Controls attribute.

The only difference is that, when accessing the Controls dialog from the element properties, the controls will be filtered to display only those pertaining to the selected element. The images below show the places where the Control dialog box can be obtained.



The screen below shows the Control dialog box and describes some of the major icons/tabs. The image also illustrates the ways of creating controls. Depending on requirements, each way has its own advantages.


Method 1: Control Wizard Method

Creating controls using the wizard is very simple and can save time. However, this approach is only applicable when creating controls on Pumps that operate based on Tank Level. To use the wizard, click the 'Control Wizard' icon (fifth button from left) and follow the steps shown in the images below.

    1. Select the pump to which you want to assign a control.

    1. Select the tank whose water level will dictate the pump status. Based on requirements you may pick other options also.

    1. Provide the logical operator such as greater than '>' or less than '<' under "On Operator," as well as the ON HGL (Hydraulic Grade Line) of the tank. In the same fashion, provide the OFF conditions.

  1. Click the Create button to create the necessary conditions /actions and the control in the Control dialog box. Please scroll to Control Set for further information.

Method 2: Create Conditions and Actions from Controls Tab 

This method allows you to create both conditions and actions in one place. 

    1. Click the 'New' button.
    1. Review the bottom part of the Controls tab, which now shows various buttons and dropdowns. The left portion is for defining Conditions, the middle portion is for defining Actions, and the right portion is for defining optional ELSE Actions. The Conditions and Actions available in the list boxes in this area are filtered based on the elements you selected in the dropdowns. Selecting "<All>" in the dropdown will show all controls.

    1. Follow the steps in the image below to create a condition. Note that the actual conditions and actions shown will be specific to your own model.

    1. Follow the steps in the image below to create an Action for your condition. Again, the actions displayed are specific to your model.

  1. After creating the conditions and actions, the Control dialog box should look something like below:



Method 3: Creating Controls Using the "Conditions" and "Actions" Tabs (Required for Composite Conditions and/or Actions)

This method allows you to create conditions and actions separately under the Conditions and Actions tab. It is necessary to use this approach when creating a control with multiple conditions and or/actions (i.e., a composite condition or action) using AND or OR.

    1. To create a condition in the Conditions tab, follow the steps in the image below.


    1. Next, create and Action in the Actions tab by following the steps in the image below.

  1. After creating Conditions and Actions, go to the Controls Tab and select  the New button to create a new control. In the lower part of the window, select the Condition and Action(s) you created in the previous steps to build the desired control.

Creating a Control Set

Control sets allow you to manage and modify controls.  The use of multiple control sets enables you to apply different controls to different scenarios. 

This section describes how to set up control sets themselves. Details on assigning a particular Control in a particular scenario are provided in the next section.

  1. To create a control set, on the Control Sets tab, click the New button (see "1" in image below). A dialog will appear.
  2. To include a control in your control set, select the control from the list of available items on the left, and use the right arrow button ("2" in the image below) to add it to the list of selected items on the right. Repeat this process until all of the desired controls are in the selected items list, and then click OK.


Assigning a Control Set to an Alternative for use in a Scenario

To make controls scenario specific, it is necessary to add controls to a control set, as previously described, and then assign that control set to the Operational Alternative utilized by the desired Scenario.

    1. Open the Alternatives dialog and either edit the existing Operational Alternative or create a new one, if needed. Double-click the alternative to edit it (see "1" below).
    2. Click the down arrow ("2"), select the desired control set ("3"), and then click Close ("4") to save your changes.


  1. Finally, if you created a new Operational Alternative, you will need to edit the desired Scenario's Operational Alternative so that it uses the new one.

Recognizing Elements with Controls

To identify whether an element has an active control, look for the following symbol next to the element. If the symbol is not present, then most probably the control you created is not assigned to the control set being utilized by the current Operational Alternative.

Priorities in Controls

You have the ability to add a priority value to a control. To set a priority for the control being created, it needs to be a logical control. To activate the priority drop-down list, click the checkbox next to Priority.

You can set a priority of 1-5, with 5 being the highest priority. If multiple controls meet a certain condition and they have conflicting actions, the control with the highest priority will be used.

Note:  At calculation time, the priority is used to determine the logical control to apply when multiple controls require that conflicting actions be taken. Logical controls with identical priorities will be prioritized based on the order they appear in the Logical Control Set in the Operational alternative. A rule without a priority value always has a lower priority than one with a value. For two rules with the same priority value, the rule that appears first is given the higher priority. 


See Also

Creating Controls - Conditions, Actions, and Control Sets (CONNECT Edition and V8i SELECTseries 6)

Product TechNotes and FAQs

OpenFlows Product Tech Notes And FAQs  

Hydraulics and Hydrology Forum

External Links

Bentley SELECTservices

Bentley LEARN Server