Zuviel Werbung?
-> Hier kostenlos registrieren
-> Hier kostenlos registrieren
Guten Tag
Beim einlesen in die Übersetzung einer Steuerung von einer S5 auf eine S7 komme ich an einem Punkt nicht weiter.
Soweit ich weiß sind in der S5 die DB´s Wortweise "gestaffelt", bei der S7 Byteweise.
Nun habe ich in der S5 einen DB mit 494 Wörtern. Dieser DB wurde in der S7 identisch einfach mit 494x dem Datentyp WORD aufgefüllt.
Nun wird in der S5 die Bitadresse 175.1 und 175.2 aufgerufen. In der S7 werden im gleichen Programmabschnitt die Bitadressen 351.1 und 351.2 aufgerufen.
Wie komme ich auf diese neue Adresse? Bei jeder Berechnung die ich angestellt habe, komme ich auf die Adressen 350.1 und 350.2, also ein Byte zu wenig.
Ich habe mir eine Excel Tabelle erstellt, wo ich mir eine Formel eingetragen habe, die die Wortadresse auf die Byteadresse umrechnet bei dir ich mir nach einigen Tests relativ sicher war, dass sie fehlerfrei ist. Bloß ich gelange auf Teufel komm raus nicht auf den Wert.
Die Adressen sind in zwei Zellen eingetragen, eine Zelle das Wort, die andere das entsprechende Bit.
Und so lautet die Formel für die ByteAdresse: =GANZZAHL((WORTADRESSE*16+BITADRESSE)/8)
und die Formel für die BitAdresse: =REST((WORTADRESSE*16+BITADRESSE);8).
Im Endeffekt multiplitziere ich also einfach die Wortadresse mit 16 und addiere die Bitadresse, so dass ich die gesamte Bitanzahl habe. Diese Teile ich dann durch 8 in eine Ganzzahl was mir die ByteAdresse geben sollte, und der Rest ist die BitAdresse.
Wie kommt der Programmierer also auf das letzte, mir fehlende Byte?
Vielleicht raucht mein Kopf auch einfach gerade zu sehr, und ich übersehe etwas zu offensichtliches...
Vielen Dank schonmal
Beim einlesen in die Übersetzung einer Steuerung von einer S5 auf eine S7 komme ich an einem Punkt nicht weiter.
Soweit ich weiß sind in der S5 die DB´s Wortweise "gestaffelt", bei der S7 Byteweise.
Nun habe ich in der S5 einen DB mit 494 Wörtern. Dieser DB wurde in der S7 identisch einfach mit 494x dem Datentyp WORD aufgefüllt.
Nun wird in der S5 die Bitadresse 175.1 und 175.2 aufgerufen. In der S7 werden im gleichen Programmabschnitt die Bitadressen 351.1 und 351.2 aufgerufen.
Wie komme ich auf diese neue Adresse? Bei jeder Berechnung die ich angestellt habe, komme ich auf die Adressen 350.1 und 350.2, also ein Byte zu wenig.
Ich habe mir eine Excel Tabelle erstellt, wo ich mir eine Formel eingetragen habe, die die Wortadresse auf die Byteadresse umrechnet bei dir ich mir nach einigen Tests relativ sicher war, dass sie fehlerfrei ist. Bloß ich gelange auf Teufel komm raus nicht auf den Wert.
Die Adressen sind in zwei Zellen eingetragen, eine Zelle das Wort, die andere das entsprechende Bit.
Und so lautet die Formel für die ByteAdresse: =GANZZAHL((WORTADRESSE*16+BITADRESSE)/8)
und die Formel für die BitAdresse: =REST((WORTADRESSE*16+BITADRESSE);8).
Im Endeffekt multiplitziere ich also einfach die Wortadresse mit 16 und addiere die Bitadresse, so dass ich die gesamte Bitanzahl habe. Diese Teile ich dann durch 8 in eine Ganzzahl was mir die ByteAdresse geben sollte, und der Rest ist die BitAdresse.
Wie kommt der Programmierer also auf das letzte, mir fehlende Byte?
Vielleicht raucht mein Kopf auch einfach gerade zu sehr, und ich übersehe etwas zu offensichtliches...
Vielen Dank schonmal