Bero@
Level-1
- Beiträge
- 17
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Moin Zusammen!
Ich verwende TIA V11 mit einer S7-1200. Über den Profinet - Bus erhalte ich von einem Lenze-Fu ein Statuswort mit einer aus zwei 16 Bit Variablen zusammengestetzen Positionsangabe einer Linearachse.
Meine Frage:
Wie kann ich diese beiden 16 Bit - Variablen zu einer 32 Bit Variablen zusammenfügen? Hilft mir CONVERT weiter?
Lenze schreibt hier (für mich zu kryptisch...):
Umrechnung von zwei 16-Bit-Variablen (Low-Word (wLowWord) und High-Word (wHighWord)) in eine 32-Bit-Variable (dnOriginalValue_p):
dnOriginalValue_p:=DWORD_TO_DINT(SHL(WORD_TO_DWORD(wHighWord),16) OR wLowWord)
Anwendungen:
Bei der Übertragung von Positionswerten (32-Bit-Werte) steht auf den Systembausteinen CAN1, CAN2, CAN3 sowie AIF1, AIF2 und AIF3 jeweils nur ein 32-Bit-Wert als Systemvariable zur Verfügung. In Fällen, in denen zwei Positionswerte pro Systembaustein übertragen werden sollen, können über die o.a. Umrechnungsformeln auch die beiden anderen Datenwörter (16-Bit-Werte) zur Übertragung von 32-Bit-Werten genutzt werden, wenn der Wert in Low- und High-Word gesplittet wird und nach der Übertragung wieder in einen 32-Bit-Wert gewandelt wird.
Grüße aus Hamburg
Bero
Ich verwende TIA V11 mit einer S7-1200. Über den Profinet - Bus erhalte ich von einem Lenze-Fu ein Statuswort mit einer aus zwei 16 Bit Variablen zusammengestetzen Positionsangabe einer Linearachse.
Meine Frage:
Wie kann ich diese beiden 16 Bit - Variablen zu einer 32 Bit Variablen zusammenfügen? Hilft mir CONVERT weiter?
Lenze schreibt hier (für mich zu kryptisch...):
Umrechnung von zwei 16-Bit-Variablen (Low-Word (wLowWord) und High-Word (wHighWord)) in eine 32-Bit-Variable (dnOriginalValue_p):
dnOriginalValue_p:=DWORD_TO_DINT(SHL(WORD_TO_DWORD(wHighWord),16) OR wLowWord)
Anwendungen:
Bei der Übertragung von Positionswerten (32-Bit-Werte) steht auf den Systembausteinen CAN1, CAN2, CAN3 sowie AIF1, AIF2 und AIF3 jeweils nur ein 32-Bit-Wert als Systemvariable zur Verfügung. In Fällen, in denen zwei Positionswerte pro Systembaustein übertragen werden sollen, können über die o.a. Umrechnungsformeln auch die beiden anderen Datenwörter (16-Bit-Werte) zur Übertragung von 32-Bit-Werten genutzt werden, wenn der Wert in Low- und High-Word gesplittet wird und nach der Übertragung wieder in einen 32-Bit-Wert gewandelt wird.
Grüße aus Hamburg
Bero