HI-Byte und LOW-Byte

Danielegger

Member
Beiträge
14
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,

ich habe eine Frage bezüglich HI-Byte und LOW-Byte. Ich bekomme Daten über Bus von einer S7 in meiner S5. Es handelt sich um eine REAL-Variable und so weit ich weis muss ich die Bytes drehen da diese in S5 anders angeordnet sind.
Ich bin mir aber nicht sicher ob das was ich bekomme richtig ist. Daher die Frage; ist folgendes richtig???? Und gilt das auch für Merkerworte bzw. Merkerdoppelworte ???


Code:
S7:
Als Beispiel nehmen wir DB7.DBD0

7  4  3  0    7  4  3  0   Bitmuster
XXXX  XXXX    XXXX  XXXX
\__/  \__/    \__/  \__/
 3     2       1     0     Bytemuster
\________/    \________/
    1              0       Wortmuster
\______________________/
           DBD0            Doppelwort


S5:
Als Beispiel nehmen wir DB5 und DD0

15  12 11  8    7  4  3  0   Bitmuster
 XXXX   XXXX    XXXX  XXXX
 \_________/    \________/
     0               1       Wortmuster
 \_______________________/
            DD0              Doppelwort
d.h. das was ich von S7 bekomme, muss "gedreht" werden, die Bytes untereinander und ebenfalls die Worte untereinander, oder?
War das richtig?? Wenn nicht bitte ich euch um eine kurze Beschreibung des Bit-Byte-Musters. Und gilt das auch für Merkerworte bzw. Merkerdoppelworte ???
Vielen Dank im Voraus

Danielegger
 
A

Anonymous

Guest
Hi
Meiner Meinung nach sind Hi Byte und Low Byte von S5 und S7 gleich also warum drehen?
mfg holle
 

jogi

Well-known member
Beiträge
81
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Drehen nicht nötig, aber .....

Hi Danielegger,

Drehen von Bytes ist zwischen S5 und S7 nicht nötig, die Anordnung ist gleich!

Aber.... :wink:

S7-Real und S5 KG-Format sind 2 verschiedene Stiefel !

Die S5 kann mit dem S7 Real nix anfangen.

Dazu gibts auf der Siemens-Support-Seite zwei kleine Konvertierungs-FC's, einmal REAL->KG und KG->REAL.

Den genauen Link dazu hab ich grad nicht, kann auch momentan nicht suchen :oops:

Gruß Jörg
 

Znarf

Well-known member
Beiträge
328
Punkte Reaktionen
21
Hallo Danielegger!
Ich denke dein S7-Beispiel ist falsch.
Es müsste folgendermaßen aussehen:
Code:
                  DB7.DBD0
         DB7.DBW0             DB7.DBW2
    DB7.DBB0  DB7.DBB1    DB7.DBB2 DB7.DBB3
DBX 76543210  76543210    76543210 76543210
Somit ist wohl kein "drehen" nötig.

Znarf
 
A

Anonymous

Guest
Die s5 arbeitet mit worten, die s7 mit byte, daher gibt es einen byte dreher!!! KG in der s5 und real in der s7 sind nicht zueinander kompatiebel! es müssen zur konvertierung die bereits angesprochenen bausteine verwendet werden.

gruß
 

jogi

Well-known member
Beiträge
81
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Anonymous schrieb:
Die s5 arbeitet mit worten, die s7 mit byte, daher gibt es einen byte dreher!!!.....

gruß


Einspruch, Euer Ehren... :ROFLMAO:

Es gibt definitiv KEINEN Dreher!

Die S5 hat die gleiche Byte-Anordnung, wie die S7, was bei den Merkern am besten zu sehen ist.
Einzig in S5-Datenbausteinen ist die Nummerierung abweichend.
Das DB1.DBB0 einer S7 ist z.B. identisch mit DB1 DL0 einer S5, analog ist DB1.DBB1 identisch mit DB1 DR0 der S5.

Steht im WORT 0 eines DB also z.B. die INT (=KF)-Zahl 1, so ist im BYTE DBB1 bzw bei S5 in DR0 jeweils das Bit 0 auf 1.
ergo: kein Dreher erforderlich.

Bei S7 ist glücklicherweise die unterschiedliche Behandlung von Merkern und Datenbereichen abgeschafft worden :D

Gruß Jörg
 
Oben