Check if a Picture Contains a Module in Alarm

Is there any way to check whether a main picture contains any modules in alarm? I want to create an overview picture that shows what pictures have alarms. The pictures do not necessarily correspond to the DeltaV areas (i.e. multiple pictures may have modules from the same area or a single picture may have modules from multiple areas).

Thanks,

Josh

  • Hi Josh,

    We recently implemented a strategy that might be what you're looking for. So to give you a quick overview, picture navigation is done through buttons located on the bottom toolbar
    (I think DeltaV refers to this as the alarm banner). Each button has a picture title and replaces the current picture when clicked. We wanted a quick way to let operators know when they had a module in alarm on any of the pictures. We created a border around each button that becomes visible when a module located on that picture becomes active. It also changes
    color based on alarm priority and flashes when unacknowledged. I'll now get into the coding procedure.

    First, in every class-based module (Analog Inputs, Digital Inputs, Motor Controls, PID, etc.) we dropped a Calc block that runs the following expression:

    IF '^/ALARMS[1].CUALM' != 0 THEN
    'OUT1.CV' := '^/ALARMS[1].PRI' + '^/ALARMS[1].NALM'
    ELSE 'OUT1.CV' := 0
    ENDIF

    This code outputs a numerical value based on the priority level of the alarm (.PRI) and adds 1 if the alarm is unacknowledged by the operator (.NALM = new alarm). Below are our
    standards in place:

    11 = WARNING ( yellow)
    12 = NEW WARNING (flashing yellow)
    13 = URGENT (orange)
    14 = NEW URGENT (flashing orange)
    15 = CRITICAL (red)
    16 = NEW CRITICAL (flashing red)

    We then created a new area that has an equipment module for every picture in the system. Within each equipment module we dropped a Signal Selector function block with SEL_TYPE =
    MAX. Inputs to this block (up to 16) are external references tied to the number described above in every module found on that picture. So this means we had to go to every picture
    and record which modules were dropped on that picture. If there were more than 16 modules on a picture, we had to add 2 more Sig Sel blocks. One to find the max of the remaining
    modules and one to choose the highest value between the two outputs of the Sig Sel blocks. What we end up with is a numerical value telling us the highest priority alarm active on
    that picture. Once you assign the button border visibility and color animations for each button you're all set.

    This does require maintenance over time. As points are either added or removed from the picture you'll have to go back and edit these equipment modules to call for the correct
    modules. I'll admit it's not the easiest solution in the world but it got what we needed done and it works really well. The yellow, orange, and red flashing buttons really grasp an
    operator's attention and it works with our graphics that were built with human centered design (HCD) in mind. If anyone has any recommendations or concerns with this solution I'm
    absolutely open to hearing those.

    -Charles