西门子S7-300 PLC与MM440变频器通过DP通信 点击:548 | 回复:1



gmx_1234

    
  • 精华:61帖
  • 求助:0帖
  • 帖子:663帖 | 15回
  • 年度积分:0
  • 历史总积分:13653
  • 注册:2006年5月31日
发表于:2010-11-01 07:51:52
楼主

问:刚接触西门子S7-300 PLC与MM440变频器通过DP通信,其中资料提到PKW PZD,比如在读写0002-1999的参数时,"如读P1082, 1082=43A(HEX)
PLC PKW输出=143A,0000,0000,0000 1为读请求。PLC PKW输入=243A,0000,4248,0000 返回2为双字长。值为42480000(HEX)=50.0(REAL)"其中“值为42480000(HEX)=50.0(REAL)是怎么算的? 



答:实数也称单精度数 符号位1位,阶码8位,尾数23位
第一步,化为2进制
第二步:因为IEEE754使用1个符号,8个阶码,23个尾数,
第三步:根据公式写出实际数值大小
二:基础知识扩展
-----------------------------------------------------------------------
值     存储为                     指数偏移量
real*4   1位符号位(s)、8位指数(e),23位尾数(m,共32位)  127(7FH)
real*8   1位符号位(s)、11位指数(e),52位尾数(m,共64位) 1023(3FFH)
real*10  1位符号位(s)、15位指数(e),64位尾数(m,共80位) 16383(3FFFH)
-----------------------------------------------------------------------

符号位1位,阶码8位,尾数23位
30.0
十进制30.0转换成二进制
11110.0
规格化二进制数
1.1110*2^4
计算指数
4+127=131
符号位 指数部分 尾数部分
0 10000011 11100000000000000000000
以单精度(real*4)浮点格式存储该数



0100 0001 1111 0000 0000 0000 0000 0000
4 1 F 0 0 0 0 0
十六进制表达式为41F0 0000H


50.0
十进制50.0转换成二进制
110010.0
规格化二进制数
1.10010*2^5
计算指数
5+127=132
符号位 指数部分 尾数部分
0 10000100 10010000000000000000000
以单精度(real*4)浮点格式存储该数
0100 0010 0100 1000 0000 0000 0000 0000
4 2 4 8 0 0 0 0
十六进制表达式为4248 0000H

问题补充:
DW#16#42480000用2进制表示是0100 0010 0100 1000 0000 0000 0000 0000.
根据IEEE(32)REAL的定义你可以手动进行计算把这些2进制转为REAL=【1+(2的22次方+2的19次方)*2的(-23)次方】*2的(132-127)次方=50.0




rijqu84

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2010年11月02日
发表于:2010-11-02 10:51:32
1楼
纪伟荣
浙江铭道通信技术有限公司
Tel: 0579-85113688转8012
Fax:0579-85113688转8007
15924262554
market@medou.com.cn
HTTP://www.medou.com.cn
********************************************************
专业研发、生产及销售:MDA(数模转换设备)、MDE(信令转换设备)
MDC(信令采集设备)、MDM(IP媒体网关)、MDR(专业大容量录音设备)
及高速信令板卡等。
********************************************************

热门招聘
相关主题

官方公众号

智造工程师