WinCC Störmeldungen anzeigen Problem

Moo

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin gerade an meiner Technikerarbeit und komme zur Zeit gerade nicht weiter, ich hoffe jemand kann mir helfen! Ich möchte gerne Störmeldungen auf einenm TP177 A ausgeben, bekomme es jedoch nicht hin.

Mein Vorgehen:
Ein FC fragt verschiedene Sachen ab z.b. den Notaus. Ist dieser gedrückt schreibt er in einen DB TRUE. Über HMI Meldungen und HMI Variablen habe ich auf diesen DB getriggert. Sollte so doch normalerweise funktionieren? Anbei natürlich ein paar Screenshoots zum besseren Verständnis, hoffe mal jemand findet einen Fehler oder die Lösung ^^

P.s. An der Verbindung kann es nicht liegen, triggere ich zb auf eine Zeit erscheint immer mal wieder die gewünschte Meldung, ich gehe deshalb davon aus das es irgendwie mit dem Array nicht passt?
baustein.jpgdb.jpghmivar.jpghmimeld.jpg
 

Anhänge

  • hmivar.jpg
    hmivar.jpg
    68,8 KB · Aufrufe: 45
Ich würde auch sagen, das sollte so funktionieren. Die Erfassungsart der Triggervariable muss noch auf "zyklisch Fortlaufend" eingestellt werden. Aber ich meine das passt das TIA Portal schon an.

Hast du denn in deinem TP eine Meldeanzeige projektiert? Werden dort auch die Meldeklassen "Errors" angezeigt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja prinzipiell scheinen die Meldungen schon zu funktionieren, beim Rumprobieren habe ich mal auf eine andere Variable getriggert in der von einer ablaufenden Zeit die Restsekunden gespeichert werden (INT), dann ist die Meldung erschienen. Sieht man auch im Screenshot, die letzte HMI- Meldung. Ebenfalls Meldeklasse Errors.

hmimeld.jpg
 
Ah, ich weiß warum es nicht funktioniert, das konnte ich im Screenshot nicht direkt erkennen.

In der SPS hast du 16 Bool Variablen, im HMI möchtest du aber 16 Integer lesen (Array 0..15 of Int).
Das HMI versucht nun diese 16 Ints zu lesen, der Datenbaustein ist aber nur 2 Bytes lang, das würde also nur für einen einzelnen Int reichen. Wenn der DB zu kurz ist, schlägt aber das ganze Lesen fehl und es funktioniert keine Meldung, da die Triggervariable nicht gelesen werden kann.
Wenn du in deinem Panel ein Meldefenster mit Systemmeldungen projektierst, solltest du dort eigentlich auch eine Fehlermeldung beim Zugriff auf diese Variable erhalten.

Du kannst jetzt folgendes machen:
- du änderst deine Triggervariable vom Array in eine einzige Int Variable
oder
- du verlängerst deinen Datenbaustein mit entsprechend vielen Variablen als Reserven, bei 16 Ints wären das also insgesamt 16*16 Bits = 256 Bool Variablen.
 
Vielen, vielen Dank. Ich habe den Array nun gegen einen INT "getauscht" und es hat auf Anhieb funktioniert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bool <-> int

- du änderst deine Triggervariable vom Array in eine einzige Int Variable

Mein Problem ist, dass ich kein BOOL in ein für die HMI-Medlung nötiges INT wandeln kann.

Als Beispiel habe ich ich im FC1 (FUP) ein SR-Glied an dem am Setzeingang der Digitale Eingang %i0.0 hängt.
1. Ich erstelle eine Datenbaustein DB1 und deaktviere unter Eigenschaften/Attribute den optimieren Bausteinzugriff.
2. Ich füge im Datenbaustein DB1 eine neue Variable mit dem Namen Fehler und dem Datentyp INT hinzu.
3. ?

Was setzte ich hinter das SR-Glied, dass im DB1 bei der Variable Fehler mit dem Datentyp INT das erste Bit auf 1 gesetzt wird wenn der Eingang %i0.0 aktiv wird?
 
3. Man fügt hinter das SR-Glied eine Zuweisung (=) dahinter
4. Ein Klick in die Zuweisung und man tippt folgendes ein: "DB1".Fehler.%X0

In den weiteren Schritten fährt man wie im Handbuch beschrieben fort. (Projektieren von Bitmeldungen)
 
Zurück
Oben