Assigning alarm border at runtime

I have recently been playing around with using the `DspSym` function for dynamically displaying genies as "tiles" during runtime.

Within the genie there is an animation point called `Meta` which gets metadata assigned to it, so that the other ANs can reference it in a sort of pseudo genie argument/substitution.

This has worked well and I am happy with the capabilities, however I have run into an issue in that I would like to configure an alarm border, but the alarm border input cannot take an expression, only an equipment name, which doesn't really work when using DspSym as you cannot pass in arguments/substitutions.

Is it possible to assign an alarm border with built in cicode functions?

Or could anyone point me down the path of implementing my own cicode function to walk an equipments children and find the highest alarm, and then apply a flashing border depending on alarm priority and status?

Cheers,

Alex

  •  Hi  , 

    An alarm indicator only supports equipment, which is by design. At design time, you can use genie syntax to substitute equipment names including cluster context, for example, %Cluster%.%Equipment%., in your graphics templates. You can also use ?Equipment? super-genie syntax to substitute equipment at runtime. I think you could use your own cicode function to work out which equipment and then pass it to the equipment super-genie substitution of an alarm indicator.

    Regards,

    Jacky

  • Well as DspSym's can only be passed metadata strings (which is a bit restrictive), that means it's impossible to use the standard equipment border in any form.  To work around this issue on our DspSym'd objects, we created a border from scratch using standard objects (lines/rectangles) and filled them using expressions driven off the alarm tag properties (that were passed in as metadata).  Whilst this is not super hard, I'd also hesitate to suggest that it was in anyway as easy as ticking a box on a dynamic object form and having an alarm border appear.

  • Hi Steve,

    Sounds like the only option is a custom function to drive the colour of a rectangle object.

    I had another look at the inbuilt alarm functions and it looks like it would be pretty easy to implement, I was just hoping that there might have been programmatic access to the standard alarm border.

    Cheers

  • Hi Jacky,

    Thanks for the response. I'm aware of how genie substitutions work, the issue is that when using DspSym you cannot use these substitutions.

    Cheers