TIA HMI Meldungen

Aksels

Level-2
Beiträge
257
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe Mitleser.

Vor einer Weile habe ich ein Beispiel gepostet, wie ich HMI-Meldungen von S7 1200 oder 1500 hole.
http://www.sps-forum.de/simatic/79582-hmi-meldungen.html

Der Haupt-FB hat nur das Problem dass er AT verwendet. Deswegen kein optimierter Bausteinzugriff.
Diesen Makel wollte ich nun beheben.
Da ich deswegen sowieso viel anpacken muss die Frage:
Wie holt Ihr Euch HMI-Trigger rein.
Es ist ja wohl noch immer so, dass die vom Typ Word sein müssen, oder?
Auch ist Low- und High-Byte immer noch vertauscht.....
Oder macht Ihr das mit anderen Variablentypen?
Habt Ihr einen Zentralen Fehlerbaustein, oder sammelt Ihr Euch die Fehler von jedem Antrieb, Schieber, Ventil einzeln zusammen?

Tschaui.
 
Bei der S7-1500 benutze ich mittlerweile den FB "Program_Alarm", das funktioniert erstaunlich gut. Den kann man auch mit Begleitwerten verschalten.
Habe mir jetzt z.B. einen Baustein (FB) für einen Frequenzumrichter geschrieben, der als Eingang einen String hat um den Antrieb zu benennen und im Inneren benutze ich den String als Begleitwert für die Meldungen.
So weiß man immer welcher Antrieb gerade in Störung ist, obwohl der FB immer der gleiche ist.
Einfach Baustein im Programm aufrufen und schon hat man automatisch die Meldungen auf dem HMI. Man muss nichts mehr machen.
Vom Meldeverhalten hat das schon etwas Ähnlichkeit mit PCS7. Dieses Bitmeldeverfahren hat mich schon immer etwas gestört.
Ob die S7-1200 auch Program_Alarm kann weiß ich nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist kein Makel, Siemens hat da wieder mal eine schöne Sch... fabriziert.
Optimiert ist unter bestimmten Umständen zwar schneller, aber wenn ich sehe, was manche Kollegen so fabrizeiren, nur damit überall das "Zauberwort" optimierter Baustein drinsteht, rollen sich mir die Fußnägel auf.
Und zum Schluß haben sie damit nicht wirklich die SPS schneller gemacht, weil sie einen Haufen Müllcode drumherum programmieren, habe gerade so ein famoses Projekt als "Standard", echt geil.
Hast du deine Zykluszeit mal geprüft, ist die wirklich lang?
Siemens ist nicht in der Lage, die Daten so zu ordnen, dass es immer paßt, daher haben sie diese "optimierte" Variante ausgeheckt, die ist nicht für uns optimal, sondern für den Prozessor. Sie haben aber "vergessen", dass ihr WinCCFlex nur Wortweise auf Bitmeldungen zugreift. Das versteh ich sagar, denn wer holt schon 16 Bit als 16 einzelne Boolvariablen in je einem Byte über den Bus, wenn das in einem Wort geht.
Bei Bitmeldungen macht es also eher keinen Sinn,"optimiert" zugreifen zu wollen.
 
Schade kann die 1200er nicht. Da ich nur selten an die 1500er rankomme muss ich somit wohl beim Bitmeldeverfahren bleiben.....
 
Hallo,
die S7-1200 hat keinen Baustein Program_Alarm.
Neuerdings deklariere ich mir ein Array von z.B. 0..10 vom Typ Word in einem optimierten Datenbaustein. Über die Slice-Anweisung setze ich die einzelnen Bitmeldungen fortlaufend. Im Panel lege ich diese Array-Variable an und verwende sie als Alarmtrigger. Damit werden dann die Bitmeldungen fortlaufend durchnummeriert. Die Wirtschaft mit dem Low- und High-Byte spielt dann keine Rolle mehr.
Außerdem soll durch diese Variante die Kommunikationslast zwischen SPS und Panel besser sein.

Gruß Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmmmm...... ok, das heisst ich kann den Makel einfach so lassen und weiter mit den ATs arbeiten.
Toll, ich wollte den FB_Fehler_Sammel doch eigentlich mal komplett umkrempeln um endlich herauszufinden, warum das Quittieren einer einzelnen Meldung von einem HMI zwar in der SPS ankommt, aber nicht auf alle HMIs weiter übertragen wird......
 
In meinem Baustein sind die Meldungen im HMI dann auch fortlaufend, weil ich die im FB_Fehler_Sammel bereits umstelle.
Ein Array habe ich auch. Meiner ist sogar trotz Typisierung über eine Konstante vergrößer und verkleinerbar, läuft auf 1200 und 1500, Beherrscht Einzelquittierung vom HMI, ........
Ich glaub ich lass das und suche nur den Fehler.......
 
Zurück
Oben