in SCL Bitadressen hochzählen

JOKER83

Level-1
Beiträge
30
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich bin grad dabei dass ich SCL eine Funktion schreibe der mir in einer Datenbausteinvorlage die Adressen hochzählt.

Bei Adressen wo der Wert im Format INT ist kein Problem: z.b. DB100.dbw[zähler]

jedoch wie kann ich das selbe machen wenn der Wert nicht vom Format INT ist sondern BOOL? da muss ich die Adresse so anwählen: DB100.dbx0.0 aber wie füge ich anstatt dem 0.0 eine Zählerkonstante ein?

schönen Dank schonmal im Voraus!!

mfg
 
Kannst du ganz normal auch mit Variablen machen. Für einen Variablen Eingang mit den Integervariablen i und j:

i := 1;
j := 2;
myBool := E[i, j]; // E 1.2
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde das ja so machen:

Code:
i := 81; // 10.1
byteNr := i DIV 8; // Byte-Nummer
bitNr := i MOD 8; // Bit-Nummer
DB100.dbx[byteNr,bitNr] := TRUE;
 
Danke für die schnellen Antworten!

Habs jetzt so wie Thomas vorgeschlagen hat gelöst (wußte nicht dass man statt "." dann "," verwenden muss).

und wenn die Bitnummer 7 erreicht hat setze ich diese zurück und erhöhe die bytenummer um 1.

ist wahrscheinlich nicht die schönste Lösung aber funktioniert ganz gut.

Danke nochmal!
 
Zurück
Oben