How the Independent Feature Works

The Independent feature affects how ClearSCADA applies the Disable Alarms and Enable Alarms actions. It is designed to stop conflicts that may occur when multiple User Types attempt to enable or disable an item’s alarms at the same time.

For example, with Independent disabled, a user can select the Disable Alarms action for a point, and (depending on the server configuration) define a duration. The user expects the Disable Alarms action to apply to the point for the duration. But if a Logic program, Schedule, or Method Call triggers the Enable Alarms action for the point, the point’s alarms become re-enabled, even if the duration has not expired. With Independent enabled, this situation cannot occur—the Enable Alarms action that is triggered by the Logic program, Schedule, or Method Call has no noticeable effect if the item’s alarms are currently disabled by a User.

To understand how the Independent feature works, you need to be familiar with the:

ClearSCADA sets the internal flags when Disable Alarms or Enable Alarms is triggered. So if a Logic program triggers Disable Alarms, ClearSCADA sets the Logic flag to 1. It then calculates the Overall ‘Disable Alarms’ state, which is used to determine whether the item’s alarms appear to be disabled or enabled in ViewX and WebX.

Having Independent enabled allows ClearSCADA to stop conflicts between the internal User Types. This is because with Independent enabled, an internal User Type cannot affect the flag of another internal User Type. For example, if a Logic program triggers Disable Alarms for a point, the point’s alarms cannot be re-enabled overall by a User, Schedule or Method Call (as these User Types cannot affect the Logic flag). When Users, Schedules and Method Calls trigger Enable Alarms, it only affects their own individual flags—for the Overall ‘Disable Alarm’ state to be calculated as 0, all of the flags have to be 0 (so the point’s alarms cannot be re-enabled until a Logic program has called Enable Alarms, which will set the Logic flag back to 0).

Examples:

Example 1 - Independent Enabled, Logic Triggers Disable Alarms

A system is configured so that the alarms and events feature and the Independent feature are enabled.

A new point is created. As a new item, it has its alarm features enabled by default.

Alarms are generated for the point. The alarms are shown on the Alarm Banner, Alarms Lists etc., and the alarm response actions are available in ViewX and WebX.

A Logic program is configured. As part of its program, it triggers the Disable Alarms action for the new point.

The Logic program runs and the Disable Alarms action is triggered. This causes the point’s Disable Alarms flags and ‘Disable Alarms’ state to change from:

User 0, Logic 0, Schedule 0, Method Calls 0, (Overall 0)

to:

User 0, Logic 1, Schedule 0, Method Calls 0, (Overall 1).

As the Overall ‘Disable Alarms) state is calculated as 1(disabled), the point’s alarm features are disabled. The alarms for the point are removed from the various alarm displays, and users can no longer access its alarm response actions (Acknowledge, Unacknowledge etc.)

Example 2 - Independent Enabled, Logic Triggers Enable Alarms

A system is configured so that the alarms and events feature and the Independent feature are enabled.

A new point is created. As a new item, it has its alarm features enabled by default.

Alarms are generated for the point. The alarms are shown on the Alarm Banner, Alarms Lists etc., and the alarm response actions are available in ViewX and WebX.

A user selects the Disable Alarms action for the point, as the point is only being used for testing. This causes the point’s Disable Alarms flags and Overall ‘Disable Alarm’ state to change from:

User 0, Logic 0, Schedule 0, Method Calls 0, (Overall 0)

to:

User 1, Logic 0, Schedule 0, Method Calls 0, (Overall 1).

A Logic program is configured. As part of its program, it triggers the Enable Alarms action for the new point.

The Logic program runs and the Enable Alarms action is triggered. The point’s Disable Alarms flags and Overall ‘Disable Alarms’ state remain as:

User 1, Logic 0, Schedule 0, Method Calls 0, (Overall 1).

This is because the Logic flag was already set to 0 (Disable Alarms off), so the flag does not change. As the Independent feature is enabled, and one of the flags is 1 (Disable Alarms on), the Overall ‘Disable Alarms’ state is calculated as 1. The point’s alarms are disabled whenever any of the internal User Type flags are 1.

A Schedule is configured to triggers the point’s Disable Alarms action and then trigger the point’s Enable Alarms action an hour later. At the Scheduled time, the Disable Alarms action is triggered. The user has not yet triggered the Enable Alarms action, so the flags and Overall ‘Disable Alarms’ state change to:

User 1, Logic 0, Schedule 1, Method Calls 0, (Overall 1).

As part of the testing process, the user wants some new alarms to be raised for the point, and so selects the Enable Alarms action. The flags and Overall ‘Disable Alarms’ state change to:

User 0, Logic 0, Schedule 1, Method Calls 0, (Overall 1).

The point’s alarms remain disabled, even though the user has triggered Enable Alarms. This is because the Schedule flag is still set to 1 (and can only be set to 0 by a Schedule triggering the Enable Alarms action for the point).

An hour has passed since the Schedule triggered the Disable Alarms action. The Schedule now triggers the point’s Enable Alarms action. The flags and Overall ‘Disable Alarms’ state change to:

User 0, Logic 0, Schedule 0, Method Calls 0, (Overall 0).

The point’s alarm features are enabled as there are no conflicts - all of the User Types have their flags set to 0.

Example 3 Independent Disabled, Logic Triggers Enable Alarms

A system is configured so that the alarms and events feature and the Independent feature are enabled.

A new point is created. As a new item, it has its alarm features enabled by default.

Alarms are generated for the point. The alarms are shown on the Alarm Banner, Alarms Lists etc., and the alarm response actions are available in ViewX and WebX.

A user selects the Disable Alarms action for the point, as the point is only being used for testing. This causes the point’s Disable Alarms flags and Overall ‘Disable Alarms’ state to change from:

User 0, Logic 0, Schedule 0, Method Calls 0, (Overall 0)

to:

User 1, Logic 0, Schedule 0, Method Calls 0, (Overall 1).

A Logic program is configured. As part of its program, it triggers the Enable Alarms action for the new point.

The Logic program runs and the Enable Alarms action is triggered. This causes the point’s Disable Alarms flags and Overall ‘Disable Alarms’ state to change from:

User 1, Logic 0, Schedule 0, Method Calls 0, (Overall 1)

to:

User 0, Logic 0, Schedule 0, Method Calls 0, (Overall 0).

As the Independent feature is disabled, ClearSCADA does not consider the individual flags. When any of the flags change, ClearSCADA changes the other flags automatically. This means that Enable Alarms and Disable Alarms are both applied immediately.

The point’s alarms are enabled, even though the user had set them to be disabled.


Disclaimer

ClearSCADA 2017 R2