Indexwert aus BOOL Array bestimmen TWINCAT 3

Gizzl0r

Level-1
Beiträge
142
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
ich stehe ein wenig aufm schlauch und bräuchte einen Gedankenanstoß.
Folgende Problematik.
Ich habe ein Twincat Projekt wo ich 9 Schalter habe. Je nach Position des Schalters (aus/ein) wird in eine Array of BOOL [0..8] befüllt: Wenn ich jetzt zum Beispiel die ersten 4 Schalter auf "Aus" habe dann ist mein erster TRUE wert ja bei Array[4]. Wie kann ich diesen Index wert (4) auslesen?
Hoffe ich habe mich verständlich ausgedrückt.
Mit freundlichen Grüßen
 
Wenn es Dir darum geht die Nummer des ersten Schalters zu ermitteln der 1 ist kannst Du das Array in ein Word kopieren und dann über eine If-Abfrage herausfinden welches der erste Eingang ist der 1 ist. Zum Beispiel so:
Code:
WordVar := 0;
MEMCPY(ADR(WordVar), ADR(ArrayVar), 9);
IF WordVar.0 THEN
  Index := 1;
ELSIF WordVar.1 THEN
  Index := 2;
...
END_IF
 
Zurück
Oben