Modbus TCP通讯协议

有一个设备说给我提供的是ModbusTCP通讯协议。我用一个通讯工具读到的格式如下:00000000001E01031C00001442AE47813F00008C429... 有一个设备说给我提供的是Modbus TCP通讯协议。我用一个通讯工具读到的格式如下:
00 00 00 00 00 1E 01 03 1C 00 00 14 42 AE 47 81 3F 00 00 8C 42 9A 99 99 3F 00 00 5D 43 08 77 85 42 00 00 00 00

请问大神,标准的Modbus TCP通讯协议发送端的格式是那种?数据存储到那个寄存器?地址偏置从那个开始?
我想发送一串数字:37、1.01 、70 、1.2 、221
展开
 我来答
旅游路上小知识
高粉答主

2020-04-23 · 我是旅行小达人,专注解决旅行中遇到的问题
旅游路上小知识
采纳数:2 获赞数:83096

向TA提问 私信TA
展开全部

1、首先每个MODBUS数据包都由以下5个部分组成。

2、 MODBUS数据包中功能码长度为一个字节,用以通知从站应当执行何种操作,从站响应数据包中应当包含主站所请求操作的相同功能码字节。

3、如果主站发送了一个非法的数据包或者是主站请求一个无效的数据寄存器时,异常的数据响应就会产生。这个异常数据响应由从站地址、功能码、故障码和校验域组成。

4、主机读取仪表测量值UA(A相电压),假设现测量到A相电压为220.0V。UA的地址编码是0x4000(十六进制),因为UA是长整型数据(4字节),占用2个数据寄存器,220.0V电压转换对应的十六进制数据是:0x00000898(2200)。

5、假设将温控表温度值SV修改为150(写入设定值SV),SV的地址编码是0x2000(十六进制),因为SV是整数(2字节),占用1个数据寄存器。将十进制整数150转换为十六进制数为0x0096。

木可之滨
推荐于2017-05-19 · TA获得超过129个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:91.5万
展开全部
上面这段报文是从站返回的响应报文,正文从第七个字节开始
01是从站号
03是功能码,表示这些数据是4区的
1C 是数据长度
后面的都是数据

主站读数据的格式如下:00 00 00 00 00 06 09 03 00 00 00 01
前面6个是报头,正文从第七个字节开始的;09是从站号,03是功能码表示读4区,00 00 是起始地址,00 01是读数据长度

主站写数据的格式如下:00 00 00 00 00 06 09 10 00 00 00 0A 后面接10个字节的数据
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1丝冷风
2014-08-25 · 技术更新,永无止境。
1丝冷风
采纳数:587 获赞数:5888

向TA提问 私信TA
展开全部
Modbus协议属于应用层(OSI模型第7层)协议,TCP/UDP协议属于传输层(OSI模型第4层)协议,两者层级不是并列关系。
打个比喻,Modbus协议就像公司里的总经理,TCP/UDP协议就像公司里的轿车、商务车。某天总经理要到机场去乘飞机,他可以选择:1)自己开轿车去,2)让司机开商务车送去,3)搭的士/公交车过去。若选择1),那就是总经理-轿车的关系,Modbus TCP协议就形同这种关系。若选择3),就形同另外的Modbus RTU/ASCII协议的关系。
如果一端用的是Modbus TCP协议,而另一端用TCP协议,这样只能说数据包可以到达另一端,但数据包并没有得到处理,所以通信的目标还没有完成。就像总经理虽到了机场,但他没有进行安检、验票、登机流程,乘飞机的目标就无法达成了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小睿聊工控
2020-12-17 · 为大家提供工控小知识,每日更新!
小睿聊工控
采纳数:15 获赞数:332

向TA提问 私信TA
展开全部

Modbus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式