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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Bytes und Bits in DWORD kopieren

  1. #1
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Ausrufezeichen


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe folgendes Problem:

    Ich habe drei Bytes EB1, EB2 und EB3. Außerdem sind noch die Bits 0...4 vom Byte EB4 interessant.
    Aus diesen Eingangsdaten möchte ich gerne ein Merker-DoppelWort (32bit Breite) MD1 generieren.
    D.h. EB1 soll in den ersten 8 Bits (0...7) von MD1 stehen, EB2 in den nächsten 8 Bits (8...15) und EB3 in den Bits 16...23. Die Bits 0...4 von EB4 sollen dann die nachfolgenden Bits (24...2 von MD1 auffüllen. Die letzten 3 Bits (29...31) von MD1 sollen NULL sein.

    Ich habe schon sämtliche Sachen in FUP und AWL ausprobiert, aber das klappt einfach nicht!!!!! Ich benutze eine S7-313 mit STEP7 V5.4.

    Ich brauche dringend HILFE!!!!! Weiß jemand Rat?
    DANKE!!!
    Zitieren Zitieren Bytes und Bits in DWORD kopieren  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Code:
    l EB 1 
    T MB 4
    L EB 2
    T MB 3
    L EB 3
    T MB 2
    L 31
    L EB 4
    UW
    T MB 1
    War jetzt nur so ohne STEP7 codiert, könnte aber den Anforderungen entsprechen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Wenn ich dich richtig verstehe, soll EB 1 das kleinste BYte im MS werden.
    Das "kleinste" Byte steht im MD links.

    In diesem Falle:

    Code:
     
    L EB1
    T MB3
     
    L EB2
    T MB2
     
    L EB3
    T MB1
     
    L EB4
    T MB0
     
    L MD0
    L DW#16#1FFFFFFF //Ausmaskieren der 3 Bits ganz rechts im MD
    UD
    T MD0
    Der Rainer war wieder fix .

    MD1 ist nicht so schön, nimm ein gerades MD !
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Antwort, aber ich glaube das triffts net ganz.
    Ich will doch zum Schluss ein 32-Bit breites Merker-DOPPELWORT haben, dass sich aus den einzelnen Bytes zusammenbaut.

    ODER VERSTEH ICH DEN CODE TOTAL FALSCH???

  5. #5
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo Ralle,
    ich werd das mal ausprobieren und geb dann mal Rückmeldung!

    DANKE erstmal an ALLE!

  6. #6
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Der Code von Ralle entspricht meinem. Ralle geht von MD 0, ich von MD 1. Die Ausmaskierung macht Ralle nach der Zuweisung und ich vorher. Das Ergebnis sollte aber in beiden Fällen dasselbe sein.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  7. #7
    Registriert seit
    24.09.2003
    Beiträge
    122
    Danke
    0
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Hallo,
    Soll das EB1 dann ganz rechts im MD stehen?

    dann versuch mal...

    Code:
    L ED1  // EB1  - EB4
    T MD10 
    L DW#16#FFFFFF0F  // Maske
    UD
    TAD  // tausche Doppelwort
    T MD10

    mfg.

    Rolf

  8. #8
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von Ralle
    Wenn ich dich richtig verstehe, soll EB 1 das kleinste BYte im MS werden.
    Das "kleinste" Byte steht im MD links.
    Ich dachte immer das kleinste steht rechts....

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von argv_user
    Ich dachte immer das kleinste steht rechts....
    Stimmt bei Intel-Prozessoren. Bei Siemens stehen (wenn auf MD 0 zugegriffen wird) die Bits 31-24 in MB0, 23-16 in MB1, etc.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  10. #10
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von RolfB
    Hallo,
    Soll das EB1 dann ganz rechts im MD stehen?

    dann versuch mal...

    Code:
    L ED1  // EB1  - EB4
    T MD10 
    L DW#16#FFFFFF0F  // Maske
    UD
    TAD  // tausche Doppelwort
    T MD10
    mfg.

    Rolf
    BSWAP auf der S7, Klasse. Das hab ich schon öfters gesucht.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Bits wandeln 32Bit <=> Dword
    Von Shettyman im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 22.11.2010, 20:54
  2. Codesys Bits, Byte, Word und DWord
    Von Znarf im Forum Sonstige Steuerungen
    Antworten: 16
    Letzter Beitrag: 03.05.2007, 13:36
  3. Bits oder Bytes in WinCC
    Von Anonymous im Forum HMI
    Antworten: 6
    Letzter Beitrag: 26.01.2006, 20:03
  4. Bytes und Bits im FB beschreiben
    Von Lipperlandstern im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.02.2005, 09:15
  5. Bits und Bytes allgemein
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 27.12.2004, 09:54

Lesezeichen

Berechtigungen

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