Back

Topic

[KB701]How PcVue manages Alarm Synthesis (Treatment GROUPALARM)

Tags: Alarms, Groupalarm, Performance, Treatments

11 years ago
By RT
Options
Print
Applies to:

PcVue 10.0 SP1 Update 16051 and later


Summary:

How PcVue manages Alarm Synthesis and some performance figures of this function. It follows an improvement in PcVue 10.0 SP1 update 16051.


Details:

Alarm synthesis is a function that calculates the status of an Alarm Group and makes the result available as the values of one or more variables. The alarms included in an Alarm Group are determined by a configurable filter. Several Alarm Groups can be configured.

Before 10.0 SP1 Update 16051

Configuration – The filter can be calculated using EITHER a branch or an expression using variable attributes. Both cannot be used together although by using variable’s extended attributes it is possible to include a branch filter in the expression. If using an expression as a filter, the calculation is done by an expression engine, which is slow compared to a branch filter.

Execution – If any property of any variable in the Alarm Group changes, all alarm syntheses are recalculated. This means that the syntheses are recalculated each time any variable changes – so if 10 variables in the Alarm Group change, the synthesis is recalculated 10 times. While an alarm synthesis is calculated process variables are frozen and the synthesis process takes as much RAM as it can.

Remark – If the calculation takes more than around 10sec PcVue must be switched to Large Address Aware mode. (see KB541)

10.0 SP1 Update 16051 and later

Configuration – The filter can be calculated using BOTH a branch (or a part of branch) and an expression using variable attributes.

Execution –  If using both a branch and an expression, the syntheses will first check if the variable is included in the branch filter and, if it is, then it will proceed with the expression filter calculation.

Remark – A new expression engine has been implemented in this version in order to reduce the RAM used. The new expression engine will be used by default from PcVue 11.1.

   Use only expression filter Use branch filter and expression filter for 90% of Treatments
Old expression engine New expression engine
Startup 15 Min 30 Sec 60 Sec
Update following the modification of 10000 variables 5 Min 40 Sec 50 Sec
Update following the modification of 30000 variables Evaluated up to 15 min after which:Freeze of VAR, Stop/crash of PcVue 100 secLAA necessary (otherwise PcVue crashes after 2 or 3 updates)

Freeze of VAR for 90sec (watchdog message)

120 secLAA not necessary

Freeze of VAR for 100sec (watchdog message)

 Endurance Update every 120 sec for 1h:OK Update every 150 sec for 2h:OK
 RAM use (8Gb available)  1.7Gb  1.7Gb  800Mb
 CPU use  100% of 1 cpu  100% of 1 cpu  100% of 1 cpu

Configuration of a branch with a wildcard

The new expression engine allows the use of wildcards in the branch. However, the Branch property of the Alarm Synthesis dialog does not allow you to save wildcards and so, to use a wildcard in the branch, you must directly edit the configuration file VARTREAT.DAT. In VARTREAT.DAT there is one line for each configured alarm synthesis. The lines start with the keywords TREATMENT,GROUPALARM. The branch is found in 9th field. As usual when directly editing any of PcVue’s configuration files, make a backup copy before you start.

Examples

  • Region01.*. Batiment04
  • Region01.*. Batiment04.*.Bureau09

Configuration using XML file for import using the Smart Generator

Example

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<Import>
<Group customRef=”Mise en place des Traitements”>
<Collection type=”AlarmSyntheses”>
<Item id=”AlarmsSyntheses_Equality”>
<Property id=”BranchFilter“>Plant01</Property>
<Property id=”FilterType”>0</Property>
<Property id=”PrefixBranch”>AlarmsSyntheses.Operator.Equality</Property>
<Property id=”Counter_OnNoAckAlm”>OnNoAckAlm</Property>
<Property id=”FilterContent”>(#A1 == Plant01)</Property>
<Property id=”Description”>Synthesis with operator equality</Property>
<Property id=”MinPriority”>0</Property>
<Property id=”MaxPriority”>11</Property>
</Item>
</Collection>
</Group>
</Import>

Using the new expression engine

For version of PcVue prior to 11.1 you have to manually enable the new expression engine (otherwise the old one is used).

o enable it, first stop PcVue, add the following to the file \C\VarConf.dat:

[AlarmsSyntheses]
NewExpressionEngine=1

and then restart PcVue

Remark – Variables must have the Enable extended attributes property ticked to be used in the filter of the new expression engine.


Created on: 12 Feb 2014 Last update: 04 Sep 2024