Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: Brauche Tip ! 4 einzelne Byte in ein Dword

  1. #1
    Registriert seit
    19.01.2007
    Beiträge
    109
    Danke
    14
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Kollegen,
    sorry für die blöde frage aber ich komm momentan nicht auf die Syntax
    Ich will 4 einzelne Byte in ein Dword (Dint) packen
    kann mir jemeand die Syntax sagen ?


    Danke
    Zitieren Zitieren Brauche Tip ! 4 einzelne Byte in ein Dword  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Ich geh mal einfach von CoDeSys 2.3 aus:

    Code:
    VAR
        myDword : DWORD;
        ptrByteArray : POINTER TO ARRAY[0..3] OF BYTE;
    END_VAR
    Code:
    ptrByteArray := ADR(myDword);
    
    
    ptrByteArray^[0] := 16#AA;
    ptrByteArray^[1] := 16#BB;
    ptrByteArray^[2] := 16#CC;
    ptrByteArray^[3] := 16#DD;
    Geändert von zotos (14.04.2012 um 19:40 Uhr) Grund: Quellcode gekürzt
    If you open your Mind too much, your Brain will fall out.

  3. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    Norton (15.04.2012)

  4. #3
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    eine Lösung ohne Pointer könnte so aussehen:
    Code:
    VAR
       myDword:DWORD;
       myByte1:BYTE:=16#AA;
       myByte2:BYTE:=16#BB;
       myByte3:BYTE:=16#CC;
       myByte4:BYTE:=16#DD;
    END_VAR
    
    (*Code Implentation*)
    myDword:=myByte1; (*myDword hat jetzt den Wert 16#AA*)
    myDword:=(SHL(myDword,8) OR myByte2); (*myDword hat jetzt den Wert 16#AABB*)
    myDword:=(SHL(myDword,8) OR myByte3); (*myDword hat jetzt den Wert 16#AABBCC*)
    myDword:=(SHL(myDword,8) OR myByte4); (*myDword hat jetzt den Wert 16#AABBCCDD*)
    Falls deine Programmiersoftware den Datentyp (DUT) UNION unterstützt, könntest Du es auch damit realisieren.
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  5. Folgender Benutzer sagt Danke zu Simatiker für den nützlichen Beitrag:

    Norton (15.04.2012)

Ähnliche Themen

  1. Ich brauche einen Tip
    Von drfunfrock im Forum Stammtisch
    Antworten: 29
    Letzter Beitrag: 29.03.2011, 06:37
  2. DWORD to Byte
    Von hank12 im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 05.05.2009, 07:44
  3. byte in word / dword umwandeln
    Von Gerri im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 14:31
  4. BYTE/WORD/DWORD vergleichen
    Von slma im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 06.07.2007, 15:11
  5. Brauche Tip für eine Inventardatenbank
    Von drfunfrock im Forum Stammtisch
    Antworten: 13
    Letzter Beitrag: 11.05.2005, 08:28

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •