CodeSys (IndaLogic) Konvertierung Word to BCD und BCD to Word

Tom1

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
CodeSys (IndraLogic) Konvertierung Word to BCD und BCD to Word

Hallo,
ich müsste eine Dezimalzahl in eine BCD-Zahl umwandeln.
Größe der Zahl ist 16bit.
Allerdings wird mir nur eine Byte-Konvertierung angeboten (INT_TO_BCD).

Wie kann ich das realisieren?

Grüße,
Tom
 
Zuletzt bearbeitet:
Habe jetzt keine IndraLogic da, aber ggf erst INT to Word und dann Word to BCD.
Kann es aber sein das du weitere LIBS einbinden solltest? Da bietet Bosch doch einiges noch ...
 
Das sollte etwa so gehen:
Code:
//INT_TO_BCD_2B :
Byte_H  := INT_TO_BCD(IntVar / 100);
Byte_L  := INT_TO_BCD(IntVar MOD 100);

//INT_TO_BCD_W :
WordVar := SHL(INT_TO_BCD(IntVar / 100), 8) OR INT_TO_BCD(IntVar MOD 100);


//BCD_2B_TO_INT :
IntVar := BCD_TO_INT(Byte_H) * 100 + BCD_TO_INT(Byte_L);

//BCD_W_TO_INT :
IntVar := BCD_TO_INT(SHR(WordVar, 8)) * 100 + BCD_TO_INT(WordVar AND 255);
oder
IntVar := BCD_TO_INT(SHR(WordVar, 8)) * 100 + BCD_TO_INT(WORD_TO_BYTE(WordVar));

Harald
 
Zurück
Oben