技术论坛

Modbus RTU 05功能码写入时,地址超出了9999,怎么办?

作者 主题
游民

经验值: 143
发帖数: 1
精华帖: 0
主题:【求助】Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 楼主 2022-10-24 11:26:35

我在做S7-1200与微机保护器之间控制时,设备要求用05功能码写入FF00,地址是3000H(对应十进制为12888),但博途05功能码对应的是0-9999,有办法来实现么?





 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1790350&b_id=50&s_id=0&num=7

奇侠

经验值: 8540
发帖数: 939
精华帖: 15
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 1楼 2022-10-24 14:09:58

这种情况真的很无奈,有些仪表就是这么不让人省心,非要用很大的地址明明前面还有很多空闲的地址,你可以看看有没有其它寄存器实现同样的功能,真找不到的话就加个网关吧。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 14226
发帖数: 3255
精华帖: 1
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 2楼 2022-10-24 16:15:03

地址没对应上吧。


就是一个字——坚持!!!
以下网友喜欢您的帖子:

  
至圣

经验值: 19303
发帖数: 3875
精华帖: 1
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 3楼 2022-10-24 23:46:37

看能不能叫微机保护器的厂家修改下地址。何必设置那么高呢?如果用上位机的话就不用担心这个问题了。


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
侠客

经验值: 926
发帖数: 77
精华帖: 0
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 4楼 2023-03-27 11:21:02

自由口试试?


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4872
发帖数: 741
精华帖: 10
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 6楼 2023-03-27 12:25:44

综自系统的协议一般是定制的专有协议,人家只提供给自家的系统使用,第三方要使用必须取得同意。要么和厂家沟通修改数据地址(这个比较难以沟通),要么从其他途径获取,比如综自人机获取。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5380
发帖数: 557
精华帖: 0
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 7楼 2023-03-27 14:57:57

smart200可以

直接输入地址 试试 看可以不


 
以下网友喜欢您的帖子:

  
游士

经验值: 214
发帖数: 27
精华帖: 0
回复:Modbus RTU 05功能码写入时,地址超出了9999,怎么办?


只看楼主 8楼 2023-04-13 16:33:07

对于一般的支持 Modbus TCP 设备,可能无法在其设备手册中查找到诸如 40001、30001 这种数据地址,而是以功能码 + 十六进制数形式的变量地址,这样有两种处理办法:

方法 1:将功能码 + 100 作为 MB_MODE,十六进制地址数转化为十进制数作为 MB_DATA_ADDR。例如 0x03 功能码,地址 0x00FF,这样就是 MB_MODE = 103, MB_DATA_ADDR = 255。

方法 2:通过判断功能码决定是读是写,决定 MB_MODE 为 0 读还是 1 写(2 写比较特殊,只用于不支持 5、6 号功能码的设备),然后将十六进制地址数转化为十进制数,然后对于不同的功能码,十进制数增加不同的偏移量,对于功能码 1、5、15 偏移量为 1,对于功能码 2 偏移量为 10001,对于功能码 3、6、16 偏移量为 40001(对于超过 9999 的地址,偏移量为 400001),对于功能码 4 偏移量为 30001。同样以 0x03 功能码,地址 0x00FF 为例,因为是读,所以 MB_MODE = 0, 0x00FF 转换为十进制为 255,加上偏移量 40001 就是 40256,这样 MB_DATA_ADDR = 40256。



 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
Modbus RTU 05功能码写入时,地址超出了9999,怎么办?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。