请教S7300—DP 读MM440的参数

在网上看到有两个例子,用S7300 DP读MM440参数:
例子1.  DP读P02010的参数,       PLC PKW输出=100A,0180,0000,0000
例子2.DP读P02010[下标1] 的参数,PLC PKW输出=100A,8001,0000,0000
现我对IND结构规定一直犯迷糊,上面第一个例子中的IND是0180,而第二个例子中的IND是8001,为何不同?0180和8001是如何得来的,请高人指导,谢谢!

问题补充:
更正参数是P2010;
请问IND各位的详细定义及位的排列看看IND位的排列这样对否:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

最佳答案

我当初学习MM440变频器通信的时候也同样遇到了你所述内容的困扰。这是因为一个是USS通信,一个是DP通讯,由于其使用的协议不一样,通信方式不一样,关于ind的定义也不一样。

1.我们先从《MM440使用大全》说起,第13章通信,13-5和13-6页的讲解。第一个字PKE15--12位为任务或应答识别标识ID,11位总为0,10--0位为PNU的基本参数号。第二个字是IND16位参数说明,15--12位为PUN扩展(PUN页号)并且15位是2^0,11--08位未使用,07--00位为下标。这样一个完整个的参数号是由任务或应答识别标识ID(位10--0)的基本参数号+PUN页号15--12位+下标组成。PUN页号15是2^0,所以当读写参数2000-3999时,15位是1。
再参考13-11页的例子见上传图片1(USS通信),P2010.1表示:第一个字PKE10--0位基本参数号010为十六进制A,第二个字是IND15--12位为十六进制8(二进制1000),11--08位未使用为0,07--00位为下标为十六进制01(二进制00000001)。所以8001就出来啦。
2.我们再回顾仔细看下《MM440使用大全》的标题,上面说讲的内容是13.3节全部是USS协议,而13.4和5节内容是PROFIBUS简单介绍,但并不详细,所以我们又查询S7300与MM440的DP通讯相关资料,发现讲的IND是0180。这是由于其使用的协议不一样,通信方式不一样,关于ind的定义也不一样,上传图片2(dp通信)。由于参数P2010,超出了0-1999的范围,因此必须借助IND的高低两个字节来指明参数页码、参数下标。
USS通信中,高字节指示页码,低字节指示下标,因此是8001。在DP通信中,高字节指示下标,低字节指示页码,因此是0180。

问题补充:
可参考《MM440使用大全》里相关内容,下载链接:
http://www2.ad.siemens.com.cn/download/Upload/SD/manual/128.PDF

图片说明:

请教S7300---DP 读MM440的参数  请教S7300---DP 读MM440的参数  

提问者对于答案的评价:
感谢!感谢!现在有些明白了。

最佳答案作者回复:
《MM440使用大全》下载中心链接变动了。
新的下载链接:
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=2465&loginID=&srno=&sendtime=

补充:
今天上午记的好像看到你专门向我提了一个PKE参数识别里AK的问题,可现在我找不到啦,问题应该被你关闭啦。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc145980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月3日 上午10:24
下一篇 2017年6月3日 上午10:24

相关推荐