a86892244
级别: 家园常客
精华主题: 0
发帖数量: 17 个
工控威望: 720 点
下载积分: 833 分
在线时间: 19(小时)
注册时间: 2012-07-23
最后登录: 2019-06-11
查看a86892244的 主题 / 回贴
楼主  发表于: 2014-01-20 11:39
图片:
1.如图RTA中,如果VD28是5000.0,请问VB1000应该是多少才能正确运算出来送到VB32;
2.在ATH中VB2000应该是多少才能使得正确运算出VB105

总的来说就是VD28的十进制5000.0怎么编程使得输出VB105是十六进制1388,如果我编程有错误麻烦大神们编程给个列子我看看,谢谢
sanlihu
吉圆
级别: 论坛先锋
精华主题: 0
发帖数量: 1194 个
工控威望: 1739 点
下载积分: 7556 分
在线时间: 578(小时)
注册时间: 2012-08-31
最后登录: 2024-12-18
查看sanlihu的 主题 / 回贴
1楼  发表于: 2014-01-20 16:18
RTA:是说将VD28中的浮点数按VB1000规定的格式转换成ASCII装到VB32开始的(3-15)个连续字节中输出。
VB1000前4位表示VB32的字节个数3--15,本例中最小要求是6可表示5000.0共6个码。
    后4位的第1位表示小数点表示方法,0用小数点(1用逗号)分开整数与小数部分。
        后3位表示小数点后位数,0无小数,1--5表示1--5位小数。大于5无效。   
若VB1000=0110 0001,VB32“5”;VB33“0”;VB34“0”;VB35“0”;VB36“.”;VB37“0”
若VB1000=0111 0010,VB32“5”;VB33“0”;VB34“0”;VB35“0”;VB36“.”;VB37“0”;VB38"0"
若VB1000=1001    0011,    VB32“”;VB33“5”;VB34“0”;VB35“0”;VB36“0”;VB37“.”;VB38"0";VB39"0";VB40"0"
[ 此帖被sanlihu在2014-01-20 16:23重新编辑 ]
吉圆电气 QQ751673698