恭喜,你发布的帖子
发布于 2023-11-27 14:06:44
22楼
按线性转换对比一下:
1)65536(十进制)*0.00(十进制)=0(十进制)=0000(十六进制)=0000 0000 0000 0000(二进制);
2)65536(十进制)*0.25(十进制)=16384(十进制)=4000(十六进制)=0100 0000 0000 0000(二进制);
3)65536(十进制)*0.75(十进制)=49152(十进制)=C000(十六进制)=1100 0000 0000 0000(二进制);
4)65536(十进制)*0.85(十进制)=55,705.6(十进制)四舍五入后=D99A(十六进制)=1101 1001 1001 1010(二进制);
5)65536(十进制)*1.00(十进制)=65536(十进制)=10000(十六进制)=0001 0000 0000 0000 0000(二进制);
另外,PLC中的 整数(无符号整数、有符号整数的正数)与 十六进制数(正整数)的二进制编码相同;又:PLC中,无论是何种格式的数据,均采用二进制方式保存。
结论:
1)可以理解为:0.0~1.0对应0~65536
2)说白了就是将0.25~0.75,线性转换为,两字节无符号整数 16384~49152。也就是所需的:十六进制数 4000~C000;二者的二进制编码相同。
转换换程序还需要提示不?
模拟量标定:整数线性转换为实数;
针对本贴:实数线性转换为整数;
针对本贴:线性转换公式简化后:
65536.0*数字设定值(0.25~0.75)的积,转换为整数后的值。就是要传送出去的【数字设定值】;其中 数字设定值(0.25~0.75)是实数格式的设定值。即:有单位的工程量设定值。
SMART200:【实数】的积转换为【双精度整数】,假如保存至VD0,则低字VW2就是要传送出去的无符号整数【数字设定值】。也就是十六进制【数字设定值】;
我对1200了解甚少,不知道是否支持转为【无符号整数】,以及转为【十六进制数】。
清晰。谢谢!
请填写推广理由:
分享
只看
楼主