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

Bitzugriff per Konstante funktioniert nicht ?

dietere
2007-10-29
2008-12-23
  • dietere - 2007-10-29

    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 ?

     
  • franklin - 2007-10-30

    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

     
  • foenig - 2007-10-30

    Dann schreib doch einfach itest.0

     
  • dietere - 2007-10-30

    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.

     
  • foenig - 2007-10-30

    Ich habe es auch mit einer Enumeration versucht. Ohne Erfolg vielleicht kann ja einer von 3s das Geheimnis lüften warum das nicht geht.

     
  • Ralph Holz - 2007-10-31

    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

    IMG: BitAccess.jpg

    Bitaccess.pro [26.6 KiB]

     
  • mwatermann - 2007-10-31

    wo isses hin

     
  • RolandWagner

    RolandWagner - 2007-10-31

    Jetzt ist es wieder da.

    Sorry - das waren sozusagen "Wartungsarbeiten" (hat nichts mit dem Projekt zu tun, sondern nur mit der Administration des Forums).

     
  • Ralph Holz - 2007-10-31

    Fehlt noch die Onlinedarstellung zu Bitaccess oder?

    IMG: Online.jpg

     
  • nergand - 2008-12-23

    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 ));

     

Log in to post a comment.