Using Controls, Conditions, Actions and Control Sets in WaterGEMS and WaterCAD

Product(s): WaterGEMS, WaterCAD, SewerCAD
Version(s): CONNECT Edition, V8i (SELECTseries 6)
Area:  Modeling


This TechNote describes the three basic methods of creating simple controls in WaterGEMS and WaterCAD. This workflow also applies to logical controls in SewerCAD or SewerGEMS using the GVF-Convex solver. WaterGEMS will be used as an example in the workflow flow.

In addition to general information on creating controls, assigning a particular set of controls to a scenario using Control Sets is also described later this Technote. 

Note : This TechNote is applicable WaterGEMS and WaterCAD CONNECT Edition or 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, variable speed pump batteries (VSPB), valves, and pipes. The example below shows controls for pump status based on tank level, but a control could also be other element types or conditions. In addition to basing conditions on element properties, conditions can also be set for Time of Day, System Demand, and Time from Start.

Note: If you are using SewerCAD or SewerGEMS with the GVF-Convex solver to model logical controls, the elements in the condition and action should be in the same pressure subnetwork. 

Opening Controls manager and Creating Controls

There are two methods to access main Control dialog. First, you can go to the Home tab and select Controls or the Components tab and select Controls. For V8i SelectSeries 6, go to Components > Controls.

When you open the Controls dialog using this method, all controls in the model will be displayed as the default. You will find a series of pulldown menus at the top of the dialog for Controls Set, Condition Element, Action Element, Type, and Priority. By choosing from these menus, you can filter the list of controls based on the selection.

The second method you can open the Controls dialog is through the Properties. In the Properties grid, find the Operational section and click the ellipsis (...) button in the Controls cell. This will open the Controls dialog filtered on the element. In the example below, the Controls dialog is filtered on PMP-2 and the control set for the active scenario.

Creating controls

Below you will find the methods available to create controls. 

Method 1: Control Wizard Method

Creating controls using the Control Wizard is very simple and can save time. However, this approach is only applicable when creating controls on pumps that operate based on tank hydraulic grade results. To use the wizard, click the 'Control Wizard' button in the Controls dialog.

Next, select the pump to which you want to assign a control from the drop-down list.

Next, select the tank from the drop-down list. This will be the tank that the pump status will be based on.

Next, set the On Operator and Off Operator. You would typically use operators like the  such as greater than '>' or less than '<' options. Also set the On HGL and Off HGL. 

Click the Create button to complete the process. This will create new conditions related to the tank and new actions related to the pump. The control will be created and visible in the Controls tab of the Controls dialog. Please scroll to Control Set for further information on setting up a control set the new control

Method 2: Create Conditions and Actions from Controls Tab 

This method allows you to create both conditions and actions in one place, directly from the Controls tab.

First, click the New button. You will see a new control that is essentially blank. At the bottom of the Controls dialog are several buttons and pulldown menus. The left section is for defining Conditions, the middle section is for defining Actions, and the right portion is for defining optional ELSE Actions.

Notice there is a new control that is undefined ("IF <none> THEN <none>"). You can now use the options available at the bottom of the Controls dialog to either select an existing condition or action or create a new condition or action. 

Next to the dropdown menu for the IF, THEN, or ELSE statements, you will see three small buttons. 

With the button on the left, you can create a new control. With the button on the right, you would be able to find an existing condition or action. The middle button, you have options to create a new simple or composite condition or action or find an existing condition or action.

For the IF station or condition, you will be able to select the type condition (Clock Time, Element, System Demand, Time from Start). If you select the Element option, you can use the pulldown menu to select from elements that have already been used as a condition. You can also use the Select or Find buttons next to the pulldown menu to select an element from the model. For the THEN statement or action, you can select an existing action from the pulldown menu or use the Select or Find buttons next to the pulldown menu to choose an element from the model.

Note: Each option for the condition will have different properties to enter. The example below using Element.

When you choose the Element option for the Condition or for the Action, you will see new fields become available. The fields will depend on the type of element that is used. For instance, a pump will see options such as pump setting and pump status, a tank will see options like hydraulic grade and level, a pipe will see pipe status, and a valve will see valve setting or valve status. The example below uses tanks as a condition and a pump as an option. 

Note: To open a closed valve using controls, see this link: How to make a PRV, PSV, or FCV active after closing it with controls?

You can create new composite conditions and actions by clicking the middle button next to the IF and THEN pulldown menus and choosing New Composite Condition/Action. A composite condition or action consists of multiple conditions/actions separated by an operator like AND or OR. This would require an existing condition or action already available in the Conditions or Actions tab. To create one from here, click the New button. A row with an IF operator (for a condition) or a THEN operation (for an action) will be created. You can then choose a condition or action from the pulldown menu. If none are available, click the ellipsis (...) button and choose from the available conditions or actions. Click the New button again to create another row. From the Operator column, choose AND or OR and then select another condition or action from the list.

No matter what method you use to create the control, the new control that you created at the beginning of the process will be updated to include the condition and action.

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. Conditions are created from the Conditions tab and actions are created from the Actions. 

To start, go to the Conditions tab. Click the New button to create a new condition. You have options to create Simple or Composite conditions. A simple condition has a single statement. A composite condition will include multiple conditions using an AND or OR operator.

After selecting a simple or composite condition, you can create the condition. The steps will be similar to those in Method 2. With conditions, you can select the type (Element, Clock Time, System Demand, or Time from Start). If you choose Element, you can select an element you have already selected from the pulldown menu or use the Select or Find buttons next to the pulldown menu to choose an element from the model. 

Next, create the action. The workflow will be similar to create the action. Composite conditions and actions can also be created.

Once the condition and action are created, go to the Controls tab and click the New button. At the bottom of the Controls dialog, click the middle button next to the Conditions and select Find Condition, or click the button on the right, which is the Find button.

Do the same with the Action. Once completed, a new control will be created. 

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. 

To create a control set, select Control Set icon.

By selecting the "Control Sets..." option, you can see the existing controls along with the control sets that have already been created. You can edit the controls in an existing control from there by toggling the check box. 

If you select the "Edit Control Sets for LCxxx" option, you can adjust the control sets for a selected control.

If you select the "Add/Remove Control Sets" option, you can create new control sets or delete existing ones. 

After creating a new control set, you can use the "Control Sets..." option, you can then add controls to a control set.


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

To make controls specific to a scenario, it is necessary to add controls to a control set and then assign that control set to the Operational alternative used by the desired Scenario. Make sure to create the control set first. With CONNECT Edition, go to the Home or Analysis tab and select Alternative. With V8i, go to the Analysis pulldown menu and select Alternative. Expand the Operational alternative. You will see a base operational alternative, but you can create new base or child scenarios using scenario and alternative management

You can assign the control set from the pulldown menu. There are two buttons next to the pulldown menu where you can view and edit the control sets.

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 it's likely the control you created is not assigned to the control set being utilized by the current Operational Alternative.

Priorities in Controls

You can add a Priority value to a control where multiple controls may have conflicting actions. 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 check box 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 logical 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 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. 

It is important to note that priority only works with Logical controls. If priority does not appear to be working, check to make sure that all controls with conflicting actions are set as logical controls.

Note: If you are using SewerCAD to model logical controls, the control priorities apply to individual pressure subnetworks. For that reason, if you have conflicting controls that involved elements in different pressure subnetworks, such as two controls that have two different tanks as the condition, you will need to make sure that there are no gravity elements between the elements referenced in the control.

Duplicate Controls

Controls can be duplicated depending upon your requirement, whether you want to duplicate only control or conditions and actions as well.

  1. When first option is selected of duplicating full control, along with the control, condition and action of that control will also be duplicated, which you can see in the conditions and actions tab.
  2. When second option is selected, then only the control will be duplicated, by reusing the existing condition and action of original control.

Find more details on how to determine if conditions and actions are being reused here: How to determine if a condition or action is being shared with other controls?

Arranging Controls

When you are adding multiple controls in the model for several elements, whenever you will create a new control it will be added at the bottom in the controls window. However you will want to have controls for one element listed altogether,  say controls for tank T-1 one after other to edit them as required. If they are not in proper sequence it will be difficult to read them. In that case you can either filter the controls based on condition elements or action elements which is explained in beginning or click on the Description filed in controls window which will list the controls in ascending or descending order based on condition elements. 

Import and export of Controls

Starting with the CONNECT Edition release of WaterGEMS and WaterCAD, you now have the ability import and export controls from one project to another. This will save you time in recreating the controls for new projects. 

  • Once you have created controls, control sets , you can export them to a new file which can be saved as .ctl or .txt or as tab delimated excel file. 
  • After exporting save the file to the desired location and then you can import this controls file into a new model or existing model without having to rebuild the controls. 

Percent Full condition for tanks

The tanks element received a new “Percent Full” condition option that will allow you to specify a given action to occur when your tank gets to a certain percent level full. 

There are also newly added actions for the pump element that will allow you to create a control to have a pump achieve a target pressure and pump target head, which will be useful for VSP pumps. For more on this, see further below under the VSP section.

Troubleshooting Problems with Controls

If your controls do not appear to be working as intended, see the following article for troubleshooting steps: Controls not being followed