我正在学习PLC和变频器MM430的USS通讯。我看资料,有个问题理解不了,请教各位指点
1:在MM430的说明书P13-10页中例子描述:
读出参数P2010[下标1】的数值
其中书中写到
USS-MICROMASTER4:100A800100000000
MICROMASTER4-USS;100A80010006
我想问这里的“8”和第二个“1”什么意思,怎么理解呢?请给详细解释。
2:读出参数p1082的数值
其中书中写到
USS-MICROMASTER4:143A000000000000
MICROMASTER4-USS;243A000042480000
我想问这里的“4248”什么意思,怎么理解呢?请给详细解释。
非常感谢
问题补充:
4248=50(real)这是 答案,但是怎么的算法我实在理解不了?
书上讲;尾数是位0位22,
数值=((-1)的"符号"次幂)*(2的(阶-127)次幂)*1.(尾数)
我查出尾数是0100 1000 0000 0000 0000 0000
例子中显示如下
尾数:(1).900000=【1+9/16+0/256...】
数值等于:(1)*(32)*(1.5625)=50
在这里:).900000=【1+9/16+0/256...】这里的每个数的来历是怎么回事?
:(1)*(32)*(1.5625)这里的每个数的来历是怎么回事?
请高手帮忙,非常感谢
最佳答案
是这样的:
P2010,10(DEC)=A(HEX)
第一个1表示是读请求,第二个1与前面的0合在一起表示参数下标为1,8表示参数号码从2000开始寻,与前面的A加在一起就是2010;
4248是参数P1082的值,4248(HEX)=50.0(REAL)
用十进制数表示的公式是:
数值=((-1)的"符号"次幂)*(2的(阶-127)次幂)*1.(尾数),
42480000(HEX)=0100 0010 0100 1000 0000 0000 0000 0000(BIN),位31为符号,位23至位30为阶,位0至位22为尾数;
所以符号为0,
阶10000100(BIN)=84(HEX)=132,
尾数10010000000000000000000(BIN)=90000... (HEX)
在这里因为900000作为小数点后面的数据,所以转换成10进制时不是乘以16相应的倍数,而是变成除16相应的倍数,所以=9/16+0/256...=0.5625
数值=((-1)的0次幂)*(2的(132-127)次幂)*1.(900000...(HEX))=1*32*1.5625=50
这样说明白了嘛?
提问者对于答案的评价:
非常感谢,终于明白了
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347017.html