Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
Kleiner Trick in Projekt --> Übersetzungsoptionen --> den Haken bei Konstanten ersetzen machen! Schon gehts!
Ich habe noch ein kleines Schmankerl aus der CoDeSys Trickkiste dazugepackt damit kann man die Bits dann auch einzeln Monitoren. Beschrieben ist das ganze auch in der Hilfe unter dem Thema Pragmas Bitzugriff ...
Hallo,
was ist falsch an folgendem Beispiel ?
VAR CONSTANT
btest:INT:=0; (Bit 0)
END_VAR
VAR
test: STRING; (Flag mit mehren Bits)
END_VAR
itest.btest:=TRUE;
Es kommt immer die Meldung:
Fehler 4027: Ganze Zahl oder symbolische Konstante erwartet
Was mache ich falsch ?
moin dietere,
was genau möchtest du machen?
in deinem beispiel verwendest du eine variable itest welche nicht deklariert ist.
du hast dort nur eine test variable und die ist string, sollte dies ev. int sein??
mfg
franklin
Dann schreib doch einfach itest.0
ja, falsch kopiert, sollte heissen: itest:int
itest.0 funktioniert natürlich, aber ich würde dies gern mit Konstanten machen um eine bessere Übersicht zu behalten.
Ich habe es auch mit einer Enumeration versucht. Ohne Erfolg vielleicht kann ja einer von 3s das Geheimnis lüften warum das nicht geht.
Klar doch machen wir!
Kleiner Trick in Projekt --> Übersetzungsoptionen --> den Haken bei Konstanten ersetzen machen! Schon gehts!
Ich habe noch ein kleines Schmankerl aus der CoDeSys Trickkiste dazugepackt damit kann man die Bits dann auch einzeln Monitoren. Beschrieben ist das ganze auch in der Hilfe unter dem Thema Pragmas Bitzugriff ...
Habe euch ein kleines Testprojekt angehängt.
Gruß
Ralph
Bitaccess.pro [26.6 KiB]
wo isses hin
Jetzt ist es wieder da.
Sorry - das waren sozusagen "Wartungsarbeiten" (hat nichts mit dem Projekt zu tun, sondern nur mit der Administration des Forums).
Fehlt noch die Onlinedarstellung zu Bitaccess oder?
Das ist ja sehr hübsch!
Kann man jetzt die einzelnen Bits auch noch initialisieren?
Wie für's o.g. Beispiel?
MyInt : BitInInt := (iBa := (first := TRUE, second := FALSE, last := TRUE ));