INT in ein BOOL Array schreiben

  • Hi,


    ich suche nach einer möglichkeit einen INT (maximal 1 Byte gross) in ein BOOL Array zu schieben.


    Also in etwa so:


    bArray[]=funktion(2)


    Damit steht in den Array folgendes.


    bArray[1]=0
    bArray[2]=1


    Ich hab mir schon die Bit Operationen Angeschaut (auch hier im Forum), aber das hat mich nicht weiter gebracht. Vieleicht steh ich ja auch auf dem Schlauch ;)


    Hat jemand ne Idee wie man das ohne riesigen Switch/Case und Endlosen If Thens umsetzen kann.


    Gruss Matze

    Man muss nicht Verrückt sein, aber es hilft ungemein.<br />Meine Roboter verspeisen SPS-Programmierer zum Frühstück.<br />Lass niemals einen Dipl. Ing. an den Roboter, die machen immer alles kaputt und sind viel zu Banane im Kopf.

  • Schritt für Schritt zum Roboterprofi!

  • ....
    Damit steht in den Array folgendes.


    bArray[1]=0
    bArray[2]=1


    Das geht nichts... keine 0 oder 1 fuer BOOL (alle Werte muessen TRUE oder FALSE sein).


    Aber man kann ganz einfach Int2Bits.src erstellen (Sub, keine Funktion):




    Beispiel:


    Code
    Int2Bits(5,bArray[])
  • Ähm,


    das stimmt mit den 1 und 0. Hab wieder mal ABB und KUKA durcheinander gebracht. Das kommt davon wenn man X Hersteller in dir Finger bekommt.


    Deine Idee gefällt mir. Muss ich unbedingt mal ausprobieren.


    THX :merci:

    Man muss nicht Verrückt sein, aber es hilft ungemein.<br />Meine Roboter verspeisen SPS-Programmierer zum Frühstück.<br />Lass niemals einen Dipl. Ing. an den Roboter, die machen immer alles kaputt und sind viel zu Banane im Kopf.

    Einmal editiert, zuletzt von MaBo ()

  • Oder mit etwas weniger Schreibarbeit könnte es auch so funktionieren, und wäre schnell erweiterbar:

    Code
    DEF Int2Bits(i:in,ba:out)
    	DECL INT i
    	DECL BOOL ba[]
      decl int j,k
           j=1
           for k=1 to 8
    	ba[k]= (i b_and j) <> 0
            j=j*2
          endfor
    END

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden