天地会 发表于 2012-12-7 22:10:24

Codesys CAN网络变量

Codesys CAN网络变量能不能直接发送接收REAL数据类型,还是只能是二进制BYTE数据类型??

无心飞扬 发表于 2012-12-13 08:59:03

can总线数据是由8个byte组成所以无论以发任何数据类型都需要先进行处理,例如一个word可以分为高8位一个byte,低8位一个byte,接收端收到后再组合。
同理对于浮点类型如不想丢失精度可处理为整形再按照上面的方式发送
例如:
sd:ARRAY OF BYTE;
F:REAl := 3.14;
M:UINT;

M=REAL_TO_UINT( F*100);
sd=UINT_TO_BYTE(M MOD 256);
sd=UINT_TO_BYTE(M/256);


页: [1]
查看完整版本: Codesys CAN网络变量