我使用的是Codesys V3 ST语言 我正在编写一个代码来与使用 CANOpen 协议的电机控制器单元进行通信 我想使用 CAN 原始消息进行通信
我将 CAN 总线消息字节放入数组中 -- myDataFF82 : 字节数组 [0..7]; //(传入消息)
然后我将第一个字节和第二个字节放在一起
raw := UserVarGlobal.myDataFF82[1] ;
raw1 := UserVarGlobal.myDataFF82[0] ;
raw2 := MEM.PackBytesToWord(byHighByte:=raw1 , byLowByte:=raw); //real message is '01F4' which is Hex
此时我想将 '01F4' 转换为十进制值('01F4' 十六进制为 12 月的 '500')
我在 Codesys 中没有看到任何可以执行此操作的函数 你能帮忙吗?
提前谢谢您
您无需将 HEX 转换为 DEX,因为没有转换,它是同一组位。这只是代表性问题。您可以将数字视为十六进制或十进制
a := 16#01F4;
b := 500;
您为
a
和 b
分配相同的值。但是你写这个值是十六进制或十进制。