@stromi08
Was genau willst Du als Ergebnis haben? Nur den aktuell an IB0 anliegenden Störcode als Zahl oder symbolischen Text anzeigen, oder bis zu 256 im Text unterschiedliche Meldungen mit "Kommen" und "Gehen" triggern?
(1) eine einfache Ausgabe des Störungscodes d.h. des dezimalen Wertes des Bitmusters von IB0?
Dann nimm ein einfaches EA_Feld oder einen statischen Text mit eingebetteter Variable für den Wert des IB0 bzw. MW100
"Aktueller Störcode des Gerätes:" [ 12] <--- EA_Feld, Ausgabe dezimal, für Prozesswert MW100
(2) eine je Störungscode unterschiedliche Klartextanzeige des an IB0 anliegenden Störcodes?
Dann nimm ein symbolisches EA_Feld mit einer Textliste der Ausgabetexte, z.B.
"Aktueller Störcode des Gerätes:" [ 12: Motorschutz 12Q3] <--- symbolisches EA_Feld, siehe Beitrag #9
(3) bis zu 256 verschiedene Bitmeldungen triggern?
Dann mußt Du etwas aufwendiger programmieren und abhängig vom an IB0 anliegenden Wert (Störcode) 256 Trigger-Bits für bis zu 256 Meldungen setzen und rücksetzen. Und es kommt drauf an, wie sich die Meldungen bei Änderung des Störcodes an IB0 verhalten sollen.
Wenn alle 8 Eingänge I0.0-I0.7 = 0 sind (IB0 = 0), heißt das "aktuell keine Störung"?
Wenn sich das Bitmuster des IB0 ändert, was soll mit der Meldung des vorherigen Wertes passieren? Automatisch gehen oder erst gehen wenn das IB0 = 0 wird?
Beispiel:
* IB0 = 2 --> Meldung "Fehler 2" wird getriggert/angezeigt
* IB0 ändert sich zu 4 --> Meldung "Fehler 4" wird getriggert/angezeigt
? Meldung "Fehler 2" bleibt angezeigt und geht erst, wenn IB0 = 0 wird und/oder die Meldung quittiert wurde,
oder Meldung "Fehler 2" geht sofort - es soll immer nur höchstens eine Meldung angezeigt sein?
(4) Wenn nur der Wert des Störcodes ohne erklärenden Text als Meldung angezeigt werden soll, dann könnte man das auch als Analogmeldung mit eingebetteter Variable realisieren.
Harald