TIA Statuswort oder Statuswert

Moritz_

Level-2
Beiträge
46
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Schönen guten Tag zusammen.
Ich möchte einen Statusbaustein für meine Techniker Abschlussarbeit entwickeln.

Nun bin ich auf folgende Frage gestoßen, was ist wo am sinnvollsten zu verwenden, ein StatusWORT oder einen StatusWERT.
Ich habe bisher nur bei Fehlermeldungen den Datentyp WORD verwendet, bei einem Status der Anlage, INT.
Jetzt habe ich hier ein Beispielprojekt vorliegen, dort wird im Baustein als static-Variable ein Integer verwendet, aber für die Übergabe an das HMI wird ein Statuswort beschrieben.

Der Statuswert ist an Schaltflächen angebunden, um die Farbe anzupassen.

Könnt ihr mir sagen, welchen Hintergrund das hat? Gibt es Vorteile wenn man da ein Statuswort verwendet, oder ist das relativ egal?

Gruß Moritz
 
wenn einzelne Bits in einer Variablen eine explizite Bedeutung haben, würd ich auf jeden Fall den Datentyp WORD verwenden. Wenn bestimmte Zahlenwerte eine Bedeutung haben, dann eher INT...
Manchmal funktionieren bestimmte Dinge im HMI irgendwie einfacher, wenn man Variante 1 oder 2 benutzt...

Also wie immer, kommt drauf an ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann auch mit der deutschen Schreibweise zusammenhängen. Da ein INT 16 Bit (Zeichen) breit ist, ergibt das dann ein 2 Byte (Wort). Ein DINT ist 32 Bits (4 Bytes) breit, also ein Doppelwort.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Um das mal genauer zu beschreiben, es geht um eine Filtrationsanlage.
Ich habe mich nun für einen StatusWERT entschieden und mir folgende Werte ausgedacht.
0 = undefined, 10 = manual, 20 = ready, 30 = filtering, 40 = backFlushing, 50 = stop, 80 = fault und 90 = reset

Jetzt würde ich bei dem Status 40 gerne anzeigen welcher Filter gerade rückgespült wird. Dabei dachte ich, man könnte das quasi als "Bitwert" auswerten. Filter Eins würde hier das erste Bit setzen (oder +1), der zweite Filter dann das zweite. Wenn Filter Eins und Zwei aktiv sind ergibt sich eine 3.

So kann der Status durch Addition "manipuliert" werden.
Ist das eine Idee, oder denk ich hier einfach viel zu kompliziert :D
 
0 = undefined, 10 = manual, 20 = ready, 30 = filtering, 40 = backFlushing, 50 = stop, 80 = fault und 90 = reset
dann können halt nur sehr schwer mehrere Dinge davon gleichzeitig anstehen (also z.B. manual und stop gleichzeitig?)...

schau halt, was Du im HMI machen willst, und ob es da einfacher (ohne Scripte) ist, Zahlenwerte zu verarbeiten oder Bits rauszufummeln...

In aller Regel verwende ich Statusworte und schalte dann mit dem jeweiligen Bit im HMI irgendetwas sichtbar/unsichtbar (manchmal mehrere übereinanderliegende Objekte mit unterschiedlichen Farben)... Farben mittels Zahlenwerten zu verändern ist eher aufwändiger...

ich würds eher so machen:
bit0 = undefined, bit1 = manual, bit2 = ready, bit3 = filtering, bit4 = backFlushing, bit5 = stop, bit6 = fault und bit7 = reset

Oft ist es auch notwendig oder sinnvoll bestimmte Dinge als (Betriebs)Meldungen im Meldesystem anzuzeigen bzw. zu archivieren. Da wäre dann auf jeden Fall ein WORD mit den einzelnen Bits als Bitmeldung von Vorteil, oder man separiert das ganze... Ein richtig oder falsch gibts nicht, eher ein einfach oder kompliziert...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende ein KTP1200 Basic.

So wie ich das sehe kann auch immer nur ein Status anstehen. Entweder fährt die Anlage gerade in den Stoppbetrieb oder ist im Handbetrieb, also keine Doppelbelegung vorhanden.

Farben mittels Zahlenwerten zu verändern ist eher aufwändiger...
Also soweit ich das weiß, wähle ich bei den Zahlenwerten "Bereich" und bei den Bits "Mehrere Bits"

Oft ist es auch notwendig oder sinnvoll bestimmte Dinge als (Betriebs)Meldungen im Meldesystem anzuzeigen bzw. zu archivieren. Da wäre dann auf jeden Fall ein WORD mit den einzelnen Bits als Bitmeldung von Vorteil, oder man separiert das ganze...
Das ist natürlich ein sehr gutes Argument für den Datentyp WORD!
 
Zurück
Oben