TIA Frage zur Triggervarible bei Bit Meldungen

S_Liner

Level-2
Beiträge
365
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich habe schon so einiges dazu hier gelesen, aber so richtig komme ich mit meinem Problem nicht voran. Also entschuldigt bitte wenn ich das Thema nochmal aufmache.

Im Grunde möchte ich über ein HMI (KTP400 Comfort) eine Fehlermeldung anzeigen lassen. Wenn ich die Bit's der SPS (z.B. M0.0, M0.1, M0.2, etc.) nehme bekomme ich es hin. Dann nehme ich als Triggervariable das MW0 und gut ist es.

Jetzt habe ich aber einen Globalen DB mit internen Structs (wegen der Übersichtlichkeit). Wie mach ich das jetzt mit der Triggervariable? Ich habe so viel gelesen das andere ein Array erstellen oder sonstiges, aber ich habe keine Ahnung wie ich das wo erstelle oder wie ich mir generell helfen kann. Kann mir da jemand weiterhelfen?


PLC Programm: Step 7 V5.6
HMI: TIA V15 Professional Update 4

Vielen Dank im Voraus
 
Hallo S_Liner,

es wäre recht hilfreich wenn Du mal einen Ausschnitt aus Deinem globalen DB zeigen könntest, dann kann man Dir noch besser helfen.
Liegen in dem globalen DB nur Störmeldungen oder sind da Informationen gemischt (Antriebsstatus, Betriebsart, etc.)?

Ich würde Dir empfehlen einen separaten DB für die Störmeldungen anzulegen, dass vereinfacht die Sache.
Oder Du legst in der HMI nur die entsprechenden Worte Deines globalen DBs als Variablen an, die auch Störmeldungen beeinhalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
dein Ansatz die Störungen schön übersichtlich als Struct anzulegen ist sehr löblich. Allerdings ist das mit dem Bit-Meldeverfahren im HMI nicht möglich, dort gehen nur Variablen vom Typ Word. Diese Word-Variablen können allerdings wiederum in einem Array oder einem Struct liegen.
 
Hallo, vielen Dank für eure Antworten.

Also hier mal ein Auszug aus meinem DB. Insgesamt beinhaltet er 64 Meldungen (inkl. der Reserve).
Ich weiß das ich als Triggervaribale ein Word nehmen muss. Aber ich weiß nicht wie ich jetzt wo die Triggervariable erstellen kann.




DB30.JPG
 
Als erstes musst die im WinCC eine Word-Variable anlegen, mit absoluten Zugriff auf die Adresse deines Structs:

TriggerVar.JPG

Und anschließend im WinCC bei den HMI-Meldungen eine Meldung anlegen, die auf ein Bit deines zuvor erstellten Word schaut:
TriggerBit.JPG
ggf. musst du noch an die Highbyte-Lowbyte-Drehung denken, dass kannst du aber fix simulieren.
 
im WinCC-Projekt im Unterordner HMI-Variablen. Dort kannst du eine neue Variablentabelle erstellen. In dieser kannst du dann deine HMI-Variablen erstellen und auch konfigurieren, auf welche SPS-Variable diese HMI-Variable "zeigen" soll (also in deinem Fall auf dein Struct).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
eigentlich schon:
HMIword.jpg
was hast du denn für eine TIA-Version und was für eine Lizenz? Was sagt das Panel beim Übersetzen - sind schon alle Power-Tags aufgebraucht?
 
Jetzt hat es geklappt.
Ich habe bei plc variable immer meine variable rausgesucht. Dann jat er es umgeschrieben. Ich lasse die undefiniert und dann gehts.

Brauche ich auch so eine quittiervariable?
 
Schau dir dazu am besten mal die Hilfe an: Informationssystem -> Prozesse visualisieren -> Mit Meldungen arbeiten -> Quittierung
Grundsätzlich gilt: wenn die Bitmeldung zu einer Meldeklasse gehört, die eine Quittierung erfordert, dann musst du auch eine Quitvariable angeben (sonst kannst du die Störung nie quittieren). Ich sortiere meine Meldungen immer in eine extra Meldeklasse, die keine Quittierung (im Panel) benötigt. Die Quittierung löse ich dann rein in der SPS - ist aber Geschmacks-/Konzeptsache.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry, aber kannst mir da doch noch ein wenig helfen? Die Hilfe bringt mir wie so so oft nichts..

"Erstellen sie die PLC Variable..." Oder die HMI Variable, da gehts doch dann schon wieder los. Wenn ich was erstelle kann ich es nicht eintragen. Der Wert wird rot...
 
wie gesagt, ich quittiere nur in der SPS. Also wenn das Stör-Bit 1 ist, dann wird die Meldung im Panel angezeigt. Ist das Stör-Bit 0, dann verschwindet die Meldung automatisch wieder. Das 1 und 0 setzen mache ich persönlich ausschließlich in der SPS, deshalb benötige ich auch keine Quitvariable im HMI. Im HMI mache ich mir nur einen Quit-Button, der mir wiederum ein Bit in der SPS setzt, mit dem ich dann die Störbits in der SPS zurücksetze.
Du kannst die Stör-Bits aber auch direkt im HMI zurücksetzen, dann müssen die Stör-Bits aber in einer quittierpflichtigen Meldeklasse liegen und du musst eine HMI-Variable zum quittieren anlegen.
Welche Frage genau beantwortet dir die Hilfe denn nicht?
 
Quittiervariablen brauchst Du nur, wenn Du quittierpflichtige Meldungen vom SPS-Programm aus quittieren willst (und die Meldung dadurch auf dem HMI wieder verschwinden soll), oder wenn Dein SPS-Programm wissen soll, wann/ob eine bestimmte Meldung am HMI quittiert wurde.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, also erstmal vielen Dank für Eure Geduld.

Ich habe mir jetzt eine Meldeklasse erstellt und in der Spalte "Zustandautomat" --> "Meldung ohne Quittierung" angegeben.
Konnte es zwar noch nicht testen, aber das müsste ja dann so funktionieren oder?

Denn bis jetzt hatte ich immer das Problem das die Meldungen weiterhin angezeigt worden sind.


Beste Grüße
 
Ob eine Meldung von einem Anlagenbediener quittiert werden soll oder nicht, sollte sich an den Anforderungen der Anlage orientieren und nicht am Können/Nichtkönnen des Programmierers.
Ob und wie lange Meldungen angezeigt werden, kann man in den Eigenschaften von Meldefenster und Meldeanzeigen gezielt/detailliert einstellen.
Testen: mit TIA kann man die SPS und das HMI Panel im Zusammenspiel simulieren.

Harald
 
mit TIA kann man die SPS und das HMI Panel im Zusammenspiel simulieren
Ok vielen dank. Das werde ich morgen gleich mal machen.

Ob eine Meldung von einem Anlagenbediener quittiert werden soll oder nicht, sollte sich an den Anforderungen der Anlage orientieren und nicht am Können/Nichtkönnen des Programmierers.
Da hast du natürlich recht, aber in diesem Fall soll die Meldung verschwinden, wenn sie in der SPS quittiert wurde.


Vielen Dank & Beste Grüße
 
Moin,
@Onkel Dagobert kurze Frage... wo ist da der Sinn drin für ne hmi Meldung ein array of word zu benutzen :ROFLMAO: ? Ist das nicht totale Verschwendung von Speicher? Warum wird nicht einfach mit dem AT Befehl bzw. Slice unter Tia gearbeitet.
Gruß
Kumpelblase
 
Kumpelblase,

das Array of Word ist lediglich die Variablendeklaration / Bereichszeiger im HMI-Teil oder auch in WinCCflexible. Hinter jedem Bit dieses Bereiches steckt eine Meldung bzw. ein Quittierbit. In der SPS legt man diese Datenbereiche vorzugsweise als boolsche Variablen in einen DB an.
 
Zurück
Oben