TIA Störmeldungen wirklich nur über den Umweg Merkerwort?

kiesmichael

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

ich nutze TIA 15.1 Basic mit dem dazugehörigen WinCC. Als CPU nutze ich eine 1212C.

Aktuell habe ich all meine Alarme und Tripps als BOOL in meinen Datenbausteinen liegen. Es sind gute 60 Stück.
Diese würde ich jetzt gerne in einem Störmeldefenster anzeigen lassen. Muss ich meine Alarme und Tripps jetzt echt noch in Merkerworte schreiben um sie als Störmeldungen im HMI anzeigen lassen zu können?

Kann ich nicht geziehlt mit einem Bit eine HMI Variable anlegen die mir eine Störmeldung anzeigt?

Gruß,
Michael
 
Merkerworte sind nicht nötig. Du könntest Deine Störmelde-BOOLs in ein Array of Bool kopieren oder die Bools selber in einem DB mit Standard-Zugriff anordnen und in der HMI ein oder mehrere Words oder ein Word-Array auf die Anfangsadresse des Bool-Feldes als HMI-Variable für die Trigger-Variable der Bitmeldungen anlegen. Vermutlich kann man in dem TIA auch für Meldungen einzelne BOOL-Variablen als Trigger-Variable anlegen, doch aus Performance-Gründen macht das niemand bei mehr als 16 Meldungen.

Was für ein HMI/Panel verwendest Du?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...als Trigger-Variable anlegen, doch aus Performance-Gründen macht das niemand bei mehr als 16 Meldungen.
Harald
Ich denke wir reden hier über Bitmeldeverfahren.
Und ich kann dir sagen, dass wir jemanden haben (nicht in der Abteilung wo ich arbeite ;)) der sowas gemacht hat.

Weit über 1000 Meldungen in einem Optimiertem DB. Umkopieren (glaube mit Scatter/Getter (weiss gerade nicht welcher welche Richtung)) in dbd oder dbw. In der HMI dann Unmengen an Variablen angelegt damit man dann die Bits des Word/DWord für die Bitmeldungen verwenden kann.
Wir (unsere Abteilung) findet das einfach nur Krank. Aber DER meint in der nächsten Version vom TIA gibt es keine 'nicht optimierten DB's' mehr (etwas überspitzt ausgedrückt)
 
Ich nutze ein KTP400.

Also ist es wirklich gängige Praxis mit Merkerwörtern zu arbeiten?
Dann könnte ich ja in dem Netzwerk wo die Störung erkannt und in den DB geschrieben wird zusätzlich nich ins MW Schreiben.

Kann ich MW online beobachte wie z.B. einen DB?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich nutze ein KTP400.
1. Also ist es wirklich gängige Praxis mit Merkerwörtern zu arbeiten?
2. Dann könnte ich ja in dem Netzwerk wo die Störung erkannt und in den DB geschrieben wird zusätzlich nich ins MW Schreiben.
3. Kann ich MW online beobachte wie z.B. einen DB?

zuerst einmal. mit 1200er kenne ich mich nicht wirklich aus. gehe aber davon aus das grundsätzliche sachen wie bei der 1500er funktionieren.
1. nein
2. änder deinen db in den eigenschaften auf 'nicht optimiert'. dann kannst du auch die variable der bitmeldungen [array of word] direkt auf diesen bereich legen.
3. ja. das geht


@pn/dp
Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.
meinst du damit meinen beitrag? und wenn ja kann ich das gerade nicht nachvollziehen.
 
Danke für Deine Antwort.
Ich habe jetzt mal den ersten DB umgestellt. Nun habe ich im DB 8 Bytes die mehr oder weniger genutzt werden. Als HMI Variable binde in nun z.B. den %DB7.DBX6 als Wort ein? In den HMI Meldungen ist dann wieder alles wie beim Merkerwort?

Bitte entschuldige die dumme Frage aber ich stehe noch ziemlich am Anfang.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei uns ist das folgendermaßen gelöst:

1. Die Störmeldungen werden in STRUCTs mit je 16 Bits abgelegt und dort aussagekräftig symbolisch benannt.
2. Jeder STRUCT ist ein WORD zugeordnet.
3. Ein FC slicet die Bits aus der Struktur in das zugehörige WORD,
(16 Zeilen vom Typ OUT.%Xi := INPUT.Meldung_i ), also natürlich nur ein einziger FC für alle zu verarbeitenden STRUCTs
4. Das HMI liest das WORD aus

Ob das ideal ist, ist mir kurzfristig egal, weil es funktioniert. Eine Schleife statt der 16 Zeilen hatte ich mal versucht, aber auf die Schnelle nicht hinbekommen.

Nebenbei:
Wir nutzen nicht den Reset im HMI, sondern haben einen Taster am Schrank. Wichtig ist in diesem Fall, dass bei SIEMENS jede HMI-Meldung mit Quittierpflicht ihr eigenes Reset-Bit benötigt. Dieses Bit muss auch noch im gleichen Wort liegen.

Daher sollte man in so einem Fall nur je 8 quittierpflichtige Meldungen in seine Struktur schreiben und das zweite Byte für die Resetbedingung reservieren. Oder 1,3,5,etc.
Noch ein Hinweis dazu: Die Resetbits dürfen auf der HMI-Seite auf keinen Fall als Variablen deklariert sein. (Ich hatte zuerst "Resetbit X-Ausfall" und so weiter.) Sonst nimmt das HMi das nicht an.
 
Bei uns ist das folgendermaßen gelöst:

1. Die Störmeldungen werden in STRUCTs mit je 16 Bits abgelegt und dort aussagekräftig symbolisch benannt.
2. Jeder STRUCT ist ein WORD zugeordnet.
3. Ein FC slicet die Bits aus der Struktur in das zugehörige WORD,
(16 Zeilen vom Typ OUT.%Xi := INPUT.Meldung_i ), also natürlich nur ein einziger FC für alle zu verarbeitenden STRUCTs
4. Das HMI liest das WORD
Ich mach' das so ähnlich, nur das ich nicht slice, sondern per AT sichte, da ich eh' einen optimierten FB wegen der Timer-Instanzen verwende.
 
Hallo Leute,

Ich stehe was Meldungen am HMI betrifft ziemlich am Anfang.

Ich fange mal an einfaches Beispiel:

Störmeldung 1
Störmeldung 2
Störmeldung 3

In meinem Unternehmen wird erstmal ein Array of Bool angelegt dh.:
Störmeldung 1 in Array (1)
Störmeldung 2 in Array (2)
Störmeldung 3 in Array (3)

Jetzt wird ein Array of Word angelegt

mit einer For Schleife wird Das Array of Bool in das Array of Word geschrieben das verstehe ich nicht so ganz warum man das macht und wie das funktioniert

könnt ihr mir das weiterhelfen?

danke im Voraus!!
 
Zurück
Oben