WinCC Alarmmeldungen Filter mit Funktion AXC_SETFilter()

schuld

Level-1
Beiträge
39
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,

habe einige Alarmmeldungen die in einem Control (CCAlgWinCtrl) angezeigt werden sollen. Dabei soll ein Filter gesetzt werden können, sodass nur bestimmte Meldungen angezeigt werden. Dies wird mit der Funktion AXC_SETFilter() realisier. Der Aufruf sieht dabei wie folgt aus:

Code:
Filter.dw.Filter = MSG_FILTER_NR_FROM | MSG_FILTER_NR_TO;
Filter.dwMasgNr[0] = 1;
Filter.dwMasgNr[1] = 30000;

Die Meldungen mit den Meldenummern 10000 bis 20000 sollen aber NICHT angezeigt werden.

Kennt sich vielleicht jemand mit dieser Funktion aus? Wie sollte der Aufruf aussehen um dies zu realisieren.

Grüße schuld
 
Hallo,

also ich habe es jetzt endlich gelöst bekommen! :)

Die eine Möglichkeit wäre gewesen, über MSG_FILTER_TEXT zu filtern (also der Anwendungstextblock) aber diese Erweiterung der Funktion AXC_SetFilter hat nicht ganz so geklappt wie ich mir das vorgestellt hatte.

Meine Lösung für das Problem ist die bewährte Funktion SetPropChar zu bemühen: :wink:

Code:
SetPropChar(lpszPictureName, "Control1", "MsgFilterSQL",
     "#VisibleOnly\\MSGNR >= 1 AND MSGNR <= 10000 OR MSGNR >= 20000 AND MSGNR <= 30000");

Auch hier hätte man analog wie bei der Funktion AXC_SetFilter auch über die Anwendungstextblöcke filtern können:

Code:
SetPropChar("... AND Text1 LIKE 'Bereich'"); 
//wobei Text1 für den ersten Anwendungsblock steht.

Grüße schuld
 
Zurück
Oben