找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1、BCD 码是二进制编码的十进制表示法,其规则是每一个十进制位用四位二进制码表示,十进制数只有 0-9 这10 个数字
十进制的 0 : BCD 二进制编码是 0000
十进制的 1 : BCD 二进制编码是 0001
十进制的 2 : BCD 二进制编码是 0010
十进制的 3 : BCD 二进制编码是 0011
十进制的 4 : BCD 二进制编码是 0100
十进制的 5 : BCD 二进制编码是 0101
十进制的 6 : BCD 二进制编码是 0110
十进制的 7 : BCD 二进制编码是 0111
十进制的 8 : BCD 二进制编码是 1000
十进制的 9 : BCD 二进制编码是 1001
你注意看上面的二进制编码。左数第三张图
472(十进制)=2#0000 0001 1101 1000,其中11101 不符合 BCD 码规范
222=2#0000 0000 1101 1110,其中11101 、1110不符合 BCD 码规范
这就造成了你调用子程序时,这两个参数传入程序,BCD_I 指令的输入数据值不符合 BCD 码规范,所以你监视到的是红色的。
2、你仔细看说明书,温度值是BCD码?看到你读了二个字,是不是个浮点数呢。你在状态表中用浮点格式监视一下VD260,如果不对,还可以想办法高低字交换,或字节交换。认真看看说明书,确定其数据格式。
补充:
十六进制就不需要转换了。如果读回来的是字类型的温度,那它应该是一个整数,看说明书是几位小数,如果是1位小数。
那就将整数 VW260 转成双整数,双整数再转成浮点数,浮点数再除以10.0,最后得到的就是有一位小数的温度浮点数。
另外一个温度类同
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!