Step 7 Ansteuerung von Elementen über OPC UA

Tmbiz

Level-2
Beiträge
640
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich muss verschiedene Elemente auf einer grafischen Oberfläche steuern. Es geht dabei um Taten und Ein- und Ausgabeelemente. Nun gibt es verschiedene Vorstellungen, wie das zu machen ist. Es soll so sein, dass ich das Element von der SPS aus steuern kann. Ich kann es sichtbar und unsichtbar machen oder es bedienbar machen. Zusätzlich kann ich verschiedene Farben einstellen.

Meine Idee war, dass ich für "visible" und "usable" je eine Variable vom Typ Bool machen und für die Farbe ein USInt. Dann kann ich alles steuern. Der Einwand von der andren Seite ist, dass ich alle mit einem Byte machen kann. Damit werden es wengier "Tags" die übertragen werden müssen. Die ersten 4 Bit für die Ansteuerung der Taste. Also das erste Bit ist dann "ein- und ausblenden". Das zweite Bit dann für usable. Das dritte Bit dann blinken. Die letzten vier Bit sind dann für die Farben. Aber nicht das Bit. Sondern hier müssen tatsächlich dann wieder Zahlenwerte übermittelt werden. Also 1=rot, 2=gelb, 3=grün, 4=blau, 5=grau, 6=lila usw.

Meine Frage ist, wie ich damit im Quelltext nun vernünftig umgehen kann? Ich müsste ja immer eine Rechenoperation ausführne um einen Wert anzupassen. Ich müsste immer ein Bitmuster über eine Zahl schreiben. Dabei müsste ich aber immer den Istwert erhalten und dann darauf regaieren. Oder habe ich das falsch verstanden?
 
Welche Steuerung 300/400, 1200, 1500?
Welches Programm Classic / TIA?

Wie liegen denn deine Daten für die Darstellung der Felder im SPS-Programm vor?
Gibt es da schon was? Also ein Haufen Bits für Visible/Usable/Blinking und ein Haufen USint für die Farben.
Oder stehst du da noch ganz am Anfang?
 
Das ist schön, doch wäre es höflich, hier kurz zu schildern wie, falls jemand anderes vor dem selben Problem steht, inklusive welche Steuerung und HMI.
Ja, da hast du natürlich recht.

Die Lösung ist nun wie folgt:
Ich habe zwei Variablen vom Type Byte angelegt. Einmal für die Sichtbarkeit (Bit 0 des Bytes), die Verwendbarkeit (Bit 1 des Bytes) und das Blinken der Taste (Bit 2 des Bytes). Das passende Bitmuster habe ich als Konstante abgelegt. Nun kann ich durch das schreiben der Zahl das passende Bitmuster erzeugen.

Für die zweite Variable habe ich das auch gemacht. Die Variable steuert die Farbe der Taste. Das erste Bit steht für Grün, das nächste für Gelb usw. Auch hier habe ich die Bitmuster als Zahlen abgelegt und kann es damit Steuern.
 
Zurück
Oben