Tigerente1974
Level-3
- Beiträge
- 1.826
- Reaktionspunkte
- 294
-> Hier kostenlos registrieren
Ich habe folgende Aufgabenstellung:
Zu jedem Palettenplatz (100 Plätze) gibt es mehrere Binärinformationen. Z.B. die Belegung.
Für die VISU (macht jemand anderes) muss ich die Binärinformationen in ein Byte eintragen.
Byteaufbau: Bit0 = Belegung, Bit1 = Fehler, ...
Ich möchte das in SCL lösen, indem ich in einer Schleife die Binärinformationen abfrage und auf das Byte übertrage.
Folgender Code funktioniert, sieht aber nicht so elegant aus.
Gibt es da einen schöneren Weg?
Zu jedem Palettenplatz (100 Plätze) gibt es mehrere Binärinformationen. Z.B. die Belegung.
Für die VISU (macht jemand anderes) muss ich die Binärinformationen in ein Byte eintragen.
Byteaufbau: Bit0 = Belegung, Bit1 = Fehler, ...
Ich möchte das in SCL lösen, indem ich in einer Schleife die Binärinformationen abfrage und auf das Byte übertrage.
Folgender Code funktioniert, sieht aber nicht so elegant aus.
Gibt es da einen schöneren Weg?
Code:
FOR ii := 1 TO 100 DO
"VISU".Info[ii] := B#16#00; // Infobyte initialisieren
// Belegungsbit abfragen
IF "Platzdaten".NR[ii].Belegung THEN
tmp := B#16#01;
ELSE
tmp := B#16#00;
END_IF;
"VISU".Info[ii] := "VISU".Info[ii] OR tmp;
// Fehlerbit abfragen
IF "Platzdaten".NR[ii].Fehler THEN
tmp := B#16#02;
ELSE
tmp := B#16#00;
END_IF;
"VISU".Info[ii] := "VISU".Info[ii] OR tmp;
END_FOR;