登录
首页
人机界面
人机界面
回帖
发帖
正文
主题:触摸屏modbus rtu通讯地址问题
点击:1962 回复:4
楼主
编辑
引用
管理
juyongjin2005
触摸屏modbus rtu通讯,变频器的地址要转换成10进制数值再加40001,但是最后10进制的数值只要加1就行了。想不明白最后为啥只加1???
最后修改:
2021/7/11 23:23:02
21-07-11 22:54
1楼
编辑
引用
管理
guanyumou
引用
juyongjin2005
在 2021/7/11 22:54:45 发言
【内容省略】
前面的0、1、3、4代表寄存器的类型,你这款触摸屏里填写的是寄存器实际地址+1,也算是寄存器编号!
21-07-11 23:27
2楼
编辑
引用
管理
pqsh
首先从modbus协议说起,40001前面那个4表示保持寄存器(可读写)类型,类型固定不变,后面十进制表示编号.40001是一种定义,编号从1开始.在内部实现读取是用功能码3,编号从0十六进制开始,即40001对应0.
现在谁用它通讯,都要遵守它的格式.各个人表达不同,但必须殊途同归.
变频器列出的可能是保持寄存器(4)编号16进制内部(实际通讯数值)格式,转40001格式,需要在前面放个4,后面用十进制.转换成40xxx的格式,才是官方发布的格式,才能在书面和别人交流.
当触摸屏得到它的格式列表,它就要在自己的格式里解释它.首先,你选择是保持寄存器(4),就已经确定最前面的那个4了,然后它按编号从1开始,所以对应编号从0开始的需要加1.这样也是40xxx了.
最后二者对应起来了.这才能正常通讯了.
21-07-12 08:16
3楼
编辑
引用
管理
xlian
modbus协议中00001 至 09999 是离散量输出;10001 至 19999 是离散量输入;30001 至 39999 是输入寄存器;40001 至 49999 是保持寄存器;比如你变频器的寄存器地址是0,那么它在MDOBUS协议中的地址就变马40001+0变成40001;这个是协议规定的必须这样用
21-07-12 11:34
4楼
编辑
引用
管理
juyongjin2005
感谢三位的解答,困惑的问题终于解决了
21-07-12 12:16
工控新闻
施耐德电气:共建微网新业态,共赢绿色新质力
国家统计局:10月规模以上工业增加值同比增长5.3% 主要经济指标回升明显
西门子总裁:将捍卫在华市场份额
双11特惠狂欢|多款FLIR红外热像仪限时抢购,尽享超值折扣!
中国“灯塔工厂”的四大新貌
提前完成5千万人清洁用电目标 施耐德电气公布2024年Q3可持续成果
倍福科技自动化技术交流会 | 济南站
中共中央 国务院关于深化产业工人队伍建设改革的意见
更多新闻资讯