Was man machen kann, wäre die Ausgänge in einem WORD zusammenzufassen:
VAR
Out AT %QW0:WORD;
END_VAR
Die einzelnen Ausgangsbits kann man ja dann über ein entsprechendes Bitmuster setzen. Wenn Du jeden Ausgang nacheinander 4 Minuten auf TRUE setzen möchtest, könntest Du z.B. folgendes machen:
Out := 1; ( Das LSB von Out wird auf TRUE gesetzt, alle anderen auf FALSE )
Und nach 4 Minuten schiebst Du das entsprechende Bit um eine Stelle weiter:
Out := SHL(Out,1);
Somit wird nun das 2. Bit auf TRUE gesetzt. usw.
Wenn Du mit einem Array arbeiten möchtest, könntest Du Dir auch eine Funktion schreiben, die jedes einzelne Ausgangs-Bit in eine booleschen Variable eines Arrays schreibt bzw. eine entsprechende "Gegenfunktion", die Bits entsprechend wieder zurück auf die Ausgangs-Bits schreibt.
Aber generell kann man kann eine Ausgangsbits in Arrays stecken.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich würde gerne in einer Schleife über 23 Digitale Ausgaänge, jeden ausgang für 4 Minuten mit TRUE ansteuern
hat jemand ein Tipp oder Ansatzpunkt wie ich das umsetzen kann?
Oder muss ich tatsächlich jeden Ausgang einzeln nacheinander ansteuern?
P.S. ich bin blutoiger Anfänger! aber trotzdem einfache Stichpunkte würden mir reichen,
Wenn ich z. B. ein Array von Adressen habe, wie kann ich dies durchlaufen?
Was man machen kann, wäre die Ausgänge in einem WORD zusammenzufassen:
VAR
Out AT %QW0:WORD;
END_VAR
Die einzelnen Ausgangsbits kann man ja dann über ein entsprechendes Bitmuster setzen. Wenn Du jeden Ausgang nacheinander 4 Minuten auf TRUE setzen möchtest, könntest Du z.B. folgendes machen:
Out := 1; ( Das LSB von Out wird auf TRUE gesetzt, alle anderen auf FALSE )
Und nach 4 Minuten schiebst Du das entsprechende Bit um eine Stelle weiter:
Out := SHL(Out,1);
Somit wird nun das 2. Bit auf TRUE gesetzt. usw.
Wenn Du mit einem Array arbeiten möchtest, könntest Du Dir auch eine Funktion schreiben, die jedes einzelne Ausgangs-Bit in eine booleschen Variable eines Arrays schreibt bzw. eine entsprechende "Gegenfunktion", die Bits entsprechend wieder zurück auf die Ausgangs-Bits schreibt.
Aber generell kann man kann eine Ausgangsbits in Arrays stecken.