2xUINT zu DINT

merlin

Level-1
Beiträge
184
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich bekomme einen Wert von sagen wir mal 100.000 über zwei UINT-Worte über Profibus zu TwinCAT mitgeteilt. Wie kann ich nun die 2 UINT-Worte zu einem DINT zusammenfassen?

Besten Dank
Thomas
 
z.B. so:

dword1 := UINT_TO_DWORD(uint1);
dword2 := SHL((UINT_TO_DWORD(uint2)),16);
dint1 := DWORD_TO_DINT(dword2 + dword1);

man könne auch alles in eine Zuweisung quetschen, ohne Zwischenmerker:

dint1 := DWORD_TO_DINT((UINT_TO_DWORD(uint1)) + (SHL((UINT_TO_DWORD(uint2)),16)));

an einigen Stellen kommt TwinCAT auch manchmal ohne Konvertierungen aus, aber laut IEC darf man Bitoperationen nur mit BOOL, BYTE usw. machen.
 
Zurück
Oben