当前位置: 主页 > PLC控制

西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码

这个电表与台达PLC,与施耐德TwidoPLC通讯都通上了,读取上来的直接就是浮点数,现在我使用224XP与该电表通讯上了读上来的不管是浮点数还是整数,都是乱码,请大神帮忙分析下什么原因,现在我用224XP读取方法个人感觉和台达,Twido方法都一样的

图片说明:

820a72f0acb049fbfbe2eac90659ba3e西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码 西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码 西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码西门子200PLC与电能表通讯通讯上来了 但是读取到的都是乱码

最佳答案

1、参见:
、《S7-200基于MODBUS协议与智能仪表之间的通信实现方法》连接
htTP://www.gongkong.com/webpage/paper/200712/4-B15D-E1D9C8D7E4EA.htm
http://www.jdzj.com/datum/showart.ASp?art_id=6877
http://wenku.baidu.com/view/7923c95b312b3169a451a4ff.html
、《S7-200CPUs—通信组态和编程—USS,modbus或自由口通信》连接:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=28767151&nodeid0=10805397&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=STandard&viewreg=CN
2、注意这个问题:
有些仪表使用modbusRTU通信协议时,处理存储在数据保持寄存器中的实数(浮点数)的方式与西门子的实数保存格式不同。西门子的PLC遵循“高字节低地址、低字节高地址”的规律。
modbusRTU的保持寄存器总是以“字(双字节)”为单位,而一个实数需要4个字节(双字)表示。仪表可能会把保持寄存器的两个“字”互换位置,造成不能识别以西门子格式表示的实数。在S7-200CPU中编程将存入数据缓冲区(保持寄存器区)的实数的高字和低字互换。

提问者对于答案的评价:
感谢阿鸣大师耐心的耐心回答,现在解决了确实是需要把高低字呼唤位置的,感谢感谢万分感谢

专家置评

已阅,最佳答案正确。
对于数据通信,如果出现乱码说明通上了,首先怀疑数据地址顺序。

  • 关注微信

猜你喜欢

微信公众号