您现在所在的是:

人机界面

回帖:4个,阅读:1965 [上一页] [1] [下一页]
2639
juyongjin2005
文章数:271
年度积分:65
历史总积分:2639
注册时间:2012/3/5
发站内信
发表于:2021/7/11 22:54:45
#0楼
触摸屏modbus rtu通讯,变频器的地址要转换成10进制数值再加40001,但是最后10进制的数值只要加1就行了。想不明白最后为啥只加1???
[此贴子已经被作者于2021/7/11 23:23:02编辑过]
此帖发自手机工控论坛
27947
guanyumou 版主
文章数:10552
年度积分:1130
历史总积分:27947
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2021/7/11 23:27:03
#1楼
以下是引用juyongjin20052021/7/11 22:54:45的发言:
触摸屏modbus rtu通讯,变频器的地址要转换成10进制数值再加40001,但是最后10进制的数值只要加1就行了。想不明白最后为啥只加1???
[此贴子已经被作者于2021/7/11 23:23:02编辑过]
前面的0、1、3、4代表寄存器的类型,你这款触摸屏里填写的是寄存器实际地址+1,也算是寄存器编号!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
19249
pqsh 版主
文章数:7422
年度积分:1079
历史总积分:19249
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2021/7/12 8:16:04
#2楼
首先从modbus协议说起,40001前面那个4表示保持寄存器(可读写)类型,类型固定不变,后面十进制表示编号.40001是一种定义,编号从1开始.在内部实现读取是用功能码3,编号从0十六进制开始,即40001对应0.
现在谁用它通讯,都要遵守它的格式.各个人表达不同,但必须殊途同归.
变频器列出的可能是保持寄存器(4)编号16进制内部(实际通讯数值)格式,转40001格式,需要在前面放个4,后面用十进制.转换成40xxx的格式,才是官方发布的格式,才能在书面和别人交流.
当触摸屏得到它的格式列表,它就要在自己的格式里解释它.首先,你选择是保持寄存器(4),就已经确定最前面的那个4了,然后它按编号从1开始,所以对应编号从0开始的需要加1.这样也是40xxx了.
最后二者对应起来了.这才能正常通讯了.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
10454
xlian
文章数:3232
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2021/7/12 11:34:38
#3楼
modbus协议中00001 至 09999 是离散量输出;10001 至 19999 是离散量输入;30001 至 39999 是输入寄存器;40001 至 49999 是保持寄存器;比如你变频器的寄存器地址是0,那么它在MDOBUS协议中的地址就变马40001+0变成40001;这个是协议规定的必须这样用
2639
juyongjin2005
文章数:271
年度积分:65
历史总积分:2639
注册时间:2012/3/5
发站内信
发表于:2021/7/12 12:16:55
#4楼
感谢三位的解答,困惑的问题终于解决了
此帖发自手机工控论坛

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004