Tutorial 7: Control mode, error states and conditions

Having worked with basic visualisation let us explore some of the pre-built fuctionalities in the process component.

We will build this:

The below illustration shows what you will build in this tutorial. The red dots indicate tutorial steps.

First a bit of information:

When a process component is servant for a supervisor, the Supervisor controls the servant by writing to Required (as covered in tutorial 2).

In special cases, the servant is controlled differently, specified by the control mode. The control mode used for the process component is defined in the type Control_mode (PD_7575)

The control modes are:

Disabled: Out of service. Signal to the supervisor not to use the servant.
Manual_feedback: The operator specifies the feedback state
Manuel: The operator specifies the required state
Auto: Servant is controlled by the supervisor.
Invalid: The value of the control state is invalid.

The mode is changed from the visualisation using SET/GET Control_mode.

Error and acknowledge

A servant component is normally in run mode. In the event of an error, it changes to error mode specified in the Qbool array:
Error_state_data. The error states used by the process component is defined in type PD_9560

The error states are:

Waiting for restart
Waiting for acknowledge


After an error is removed, the component can react in three different ways as defined in Operator_error conformation (PD_9557):

Wait for restart
Wait for acknowledge
Confirmation after powerup.

The visualization uses SET/GET Acknowledge_error and SET/GET Restart.
Acknowledge is enabled when the operator must indicate to the system the error is seen. The restart is enabled when starting again need operator supervision.

Condition states

The condition of a component is described in an enumerated variable. This variable is used by the supervisor and the visualisation.

The visualisation is able to show enumeration as text and as graphic representation.

The ordinal value of the enumeration is used as priority: The highest number is most important.

Now let us build the functionality. 

Step 1: adding a pushbutton for the input and output component.

Open the view "Window_for_XX_Temperature_regulator_notification_assembly".

We need to make the window a bit bigger to make room for the two new pushbuttons.

Set View_region bottom right y= 80 mm

Remove the existing view element for the actual temperature "Temperature.Supervisor.Actual_rec.Value"

Now lets add the pushbuttons:

Right click on view list and add - view for control component - double click on control component "Temperature_input_4_to_20_mA " select view PD_17593- Show_Temperature_input_4_to_20_mA_as_Pushbutton"

Right click on view list and add - view for control component - double click on control component "Digital_1A_DC_output", select view "PD_17610- Show_Digital_1A_DC_output_as_pushbutton"

Launch the graphical editor and move around your components.

Your view should look something like this:

Step 2: Save, build and run your project.

Open your project ""XX_Temperature_Regulator_notification_project". Save, build project, start project downloader (make sure your test bed is still connected and that the PC device is started) and config all modules.

Open the different views and make sure to try the swipe functionality.

For our next tutorial we will find out how to calculate the condition for our temperature regulator.