• Not Answered

dynamic Unit Name in Action-Block Expression

Hello People,

we want to use the Parameter ALARMENB of the Unit Module


in the Expression of an Action Block to deactivate all alarms of the control modules of this unit.

We want to make this Action Block class based, and we don't want to adjust the Unit-Name for each Module.

So my Question is:

How to replace the X9999 in this link '//X9999/ALARMENB', by the Unit Name.

Best Regards

Stefan

5 Replies

  • If aliases are supported on your unit then expression '//#THISUNIT#/ALARMENB.CV' can be used where THISUNIT alias will be resolved to unit name.
    Otherwise external reference parameter (resolved to unit parameter at CM instance) can be used in action block.
  • What's the difference between this parameter and //X9999/ALARMS.ENAB?
  • In reply to István Orbán:

    The difference is you have to manually configure the X9999 on all the instances required where using the Alias method you would only have to configure the alias resolution on that unit instance once and all the CM instances under that unit would use that configuration.
  • In reply to Matt Stoner:

    No, I was asking about the difference between ALARMENB.CV and ALARMS.ENAB. Both are unit parameters.
  • In reply to István Orbán:

    ALARMENB parameter:
    Unit module Boolean parameter ALARMENB is configurable or programmable parameter. Unit phase's PHASE_ACT parameter is set TRUE if phase failure conditions is evaluated True and that Unit module's ALARMENB is True. Unit Module level phase alarms use associated phase's PHASE_ACT parameter to generate alarm.

    ALARMS parameter:
    When ALARMS parameter is considered with respect to module (it can be control module, EM or Unit Module), fields ENAB, MACK and PRIAD are available.
    As per BOI, ENAB field enables or disables all alarms in the module.

    I have not functionally used this parameter from phase code but it should work as below:
    Expression '#THISUNIT#/ALARMS.ENAB := 0' will override individual alarm's enable bit and all Unit module phase alarms will be disabled.
    Expression '#THISUNIT#/ALARMS.ENAB := 1' will remove override from individual alarm's enable bit and restore the individual alarm's enable bit effect.