Situational Awareness - Alarm Area Filtering based on Current User

We have a site running Citect SCADA 2018 R2 based on the Situational Awareness projects.

We have implemented areas within our site for the purposes of alarm filtering. That is, when a user logs in, the viewable alarms on the Alarm Page will be filtered to the user’s configured viewable areas.

Each alarm has been allocated an area (label). Roles have been defined – one Role for each User. The View Areas for each Role is set to areas making up a part of the complete plant. For example:
User: TLO. Role: TLO_Operator. View Areas: TLO_AREA
User: SAMP. Role: Sample_Operator: View Areas: SAMP_AREA
User: Operator. Role: Operator. View Areas: PLANT_AREA

When the TLO user is logged in, the Alarm Page only displays the alarms in the TLO_AREA. Similar for the other users as defined above.

However, the problem we experience is with regard to the Alarm Indicators (alarm borders) on equipment/objects on our pages. The Alarm Indicators follow the Viewable Area assignment and are only visible for those driven by alarms in the current User’s Viewable Area. That is, a TLO user, when viewing a SAMP page, will not see any active Alarm Indicators on these pieces of equipment/object, despite there being active alarms.

Is anyone aware of a method to define Viewable Areas for filtering of alarms per user within the Alarm Page whilst still allowing full visibility of any active alarms for ALL equipment/objects within the Alarm Indicators?

We are using the DefaultAlarm_UHD4K page for displaying of alarms.

Conversely, can we apply an Area filter to the alarm page (ie automatically on entry baseed on current User rather than manually setting the filter using the SA_Include\sa_filter.item_base Genie button) that fits within Citect's reasonably complex alarm filter cicode without breaking the existing alarm filters and filter buttons (TopBar)?

Thanks,

Jason

  • Hi Jason,

    There is no way to get the alarm indicators to show alarms outside the Operators viewable areas.

    In regard to the Alarm Page and forcing it to show all alarms on page entry. Well we haven't put a hook in for that, but, you maybe able to put a "while page shown" or run a task at end of page entry calling AlarmPage_IsInitialised until it is true. When true, you can then attempt to run code to modify the topbar filter. Safest way to do that is by doing exactly what the sa_filter.item_base genie is doing - calling _FilterItemUI_OnClick. All those buttons are doing is eventuating in AlarmFilter_AppendFilter.

    I haven't tried this. Let us know how you go.
  • Thanks for your reply Bradley.

    We have thought to do the same thing but found some other issues.

    1. The SA environment has a default "View Only" user that is defined as “no active user” with access to area 0 only. Resulting in being unable to view any alarms with areas (or pages if areas were allocated to pages) within the system, despite being in a "view only" mode. We would have to create a new user (Viewer) with 'Viewable Areas" set to the entire plant areas to work around this. And login at startup as the “Viewer” (before workspace starts) and modify logout to login as “Viewer”. Interestingly, the “no user” causes other problems like not being able to write tag values from client events etc.
    2. When creating area filters (e.g. using the sa_filter.item_base genie or calling _FilterItemUI_OnClick (and passing the area filter) as you have suggested, we must specify each individual areas within the expression. i.e. "AREA=1 OR AREA=2 OR AREA=3...". When you have MANY areas (the plants exist with areas that are used upstream in MES land) this is a huge filter … performance etc. other issues ? We are already struggling to tame the alarm server filtering in a medium sized site. Are you aware of a method to assign areas within the filter expression using Groups (of areas) rather than individual areas? Similar to how GrpOpen/StrToGrp/SetArea etc might be used?
    3. When using the sa_filter.item_base genie (with an AREA expression) on the DefaultAlarm_UHD4K page it 'ANDs' the filter expression with other item_base filter expressions resulting in an alarm list of zero alarms. This also happens when applying an area filter with the sa_filter.item_base genie in conjunction with the Equipment Model filters (sa_controls.treeviewitem_UHD4K - left hand side).

    Thanks,

    Jason