WinCC OA 3.20 I'm struggling in categorize alarms by areas.

Discussion about recent product features & solutions!
3 posts • Page 1 of 1
ccmelo
Posts:4
Joined: Mon Oct 13, 2025 4:00 pm

WinCC OA 3.20 I'm struggling in categorize alarms by areas.

Post by ccmelo »

Hi, I am currently working with WinCC OA and would like to categorize alarms by specific areas within the system. However, I am unsure about the best approach to achieve this effectively.


Could you please share any methods, best practices, or examples on how to categorize alarms by area? Any guidance or resources you could provide would be greatly appreciated, as this functionality is essential for my project.


Thank you for your assistance!

nmnogueira
Posts:125
Joined: Thu May 05, 2011 12:59 pm

Re: WinCC OA 3.20 I'm struggling in categorize alarms by areas.

Post by nmnogueira »

I also had that issue before, and this is what I currently do:
  • The DPE names should reflect the areas (e.g. using a prefix that allows you to filter by area)
  • I create a DPT, which has a DPE .sumalert, of type text. This is a sumalert, and is configured with a filter that will match the alerts that I want to count. You can add another DPE. named .numAct, to save the number of active alarms.
  • Create a DP for each area, and adapt the sumalert filter config accordingly for each of them.
  • Create a script that connects to each of the sumalerts:

Code: Select all

    dpConnectUserData("updateAlerts", dp, TRUE, names[i]+".sumalert:_alert_hdl.._summed_states",
                                                names[i]+".sumalert:_alert_hdl.._act_state_color",
                                                names[i]+".sumalert:_alert_hdl.._act_state_fore_color");
  • and the callback that sums them

Code: Select all

updateAlerts(string dp, string dp1, dyn_int states, string dp2, string color, string dp3, string colorFg)
{
  int numAct = 0, numUna = 0;
  int state;
  int i;

  if(dbgL>1) DebugTN(dbgHeader,"DBG", "updateAlerts", dp);

  for(i=1; i<=dynlen(states); i++)
  {
    switch(states[i])
    {
      case DPATTR_ALERTSTATE_APP_NOT_ACK:         numAct++; numUna++; break;  // CAME or CAME/unacknowledged
      case DPATTR_ALERTSTATE_APP_DISAPP_NOT_ACK:  numUna++; break;  // CAME/WENT/unacknowledged
      case DPATTR_ALERTSTATE_DISAPP_NOT_ACK:      numUna++; break;  // WENT/unacknowledged
      case DPATTR_ALERTSTATE_APP_ACK:             numAct++; break;  // CAME/acknowledged
      case DPATTR_ALERTSTATE_NONE:                break;  // no alert
    }
  }

  if(color == "")
    color = "_Transparent";

  if(colorFg == "")
    colorFg = "black";

  dpSet(dp+".una", numUna,
        dp+".act", numAct,
        dp+".color", color,
        dp+".colorFg", colorFg);
}

gschijndel
Posts:376
Joined: Tue Jan 15, 2019 3:12 pm

Re: WinCC OA 3.20 I'm struggling in categorize alarms by areas.

Post by gschijndel »

Check out the panel topology/group alert facility as it might provide what you are looking for

3 posts • Page 1 of 1