TIA Program_Alarm und MeldungsID

flyingsee

Level-2
Beiträge
88
Reaktionspunkte
13
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ist es möglich die MeldungsID, welche automatisch vergeben wird, irgendwie neu zu vergeben?

Ich möchte die gerne in der Reihenfolge, wie im Programm aufgerufen.
Zurzeit wird eine neue einfach hinten angehängt.

Das ist natürlich blöd wenn ich z.b. 100 Motoren und 100 Ventile habe und zwischendrin hab ich einen vergessen. Dann kriegt dieser die letzte ID.


Oder hat vielleicht jemand eine bessere Idee wie die gruppiere?


Gruß
fly
 
Moin flyingsee,

wir haben die Meldenummern fest den Meldetexten zugeordnet und in einem wstring zusammengefasst.
Beispiel:
# 0023 Endlage vorne #

Im HMI zeigen wir keine Meldenummer (d.h. automatisch generierte ID an).

Weil wir Ärger mit den Zeitstempeln hatten (Wer ist jetzt Master (z.B. CPU), wer ist Slave (HMI), wie mache ich die Sommerzeitumstellung, was ist mit den Zeitzonen etc.) und man immer die Panelzeit mit der CPU neu hätte stellen müssen usw., haben wir die Uhrzeit jetzt auch als wstring eingetragen.

Also Program_Alarm mit folgenden Begleitwerten:

SD_1: Uhrzeit (Format: 'hh:mm:ss.sss')
SD_2: Meldetext (Format: ' # nnnn tttttttttttttttttt .. tttt # '

Da kann einem noch weiteres einfallen ;)

In PLC-Meldetexlisten steht dann der Meldetext.
Beim Program_Alarm haben wir bei SD_2 eine Word-Variable und bei "PLC-Überwachungen & -Meldungen" den Begleitwert unter Meldetext wie folgt eingefügt:
@2%t#<PLC-Meldetextliste>@

@@ -> darin steht die Angabe eines Begleitwertes
@2 -> wäre SD_2 (@1 => SD_1,...)
% -> leitet eine Variablenangabe ein
t# -> verweist auf eine Textliste


Der Einfachheit halber führen wir eine entsprechende Excel-Liste mit allen Meldungen.
Die Texte können dann sehr einfach in die Meldetextlisten hineinkopiert werden.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab nun mal bisschen rumgespielt.

Hab ja gelesen das Zykluszeit ein Problem ist. 300 Meldungen -> irgendwie +15 ms Zyklus

Also 'n Baustein gebaut der den Programm_Alarm nur bearbeitet wenn sich was geändert hat. Ausserdem nur 1 Meldung pro Zyklus, aufgrund von Meldungsschwall.

300 Meldungen -> Zyklus + 3ms auf insgesamt 4ms. Vermutlich durch meinen Auswertebaustein.
Das war noch alles in Ordnung.

Dann den Get_AlarmState benutzt, 300 mal -> zyklus +22ms.
Ich weiss noch nicht ob ich das irgendwie ohne Get_Alarmstate hinbekomme.
Ich würd meinen Merker, der die Meldung im Programm macht, ja gern einzeln zurücksetzen bei Quittierung.


Vielleicht teste ich das nochmal wenn ich mal ne Größere CPU habe.
Hab gerade nur ne 1512SP F-1PN hier.
 
Hallo

Ich habe eine ähnliche Frage an Siemens gestellt. Im Zusammenhang mit der 400ter Familie und nem WinCC SCADA V7.4 System.
Die sagen es geht nicht!
Ich habe auch rumprobiert aber egal was ich mache wenn ich den original Baustein Lösche werden neue Nummern generiert.
MFG
 
Zurück
Oben