modbus TCP通讯,返回数据总说总长错误,哪位大神知道该返回什么才对啊?

作者&投稿:都屠 (若有异议请与网页底部的电邮联系)
modbus TCP故障代码的返回格式是什么,是TCP,不是RTU~

XX XX 00 00 00 03 01 YY ZZ -----错误码格式
XX XX ---复制主机
YY-----出错时 YY最高位=1 正确时 YY最高位=0
即if(YY&0x80) ---表示出错了
ZZ--具体错误码列表(英语不好 就不翻译了)
1:Illegal Function
2:Illegal Data Address
3:Illegal Data Value
4:Slave Device Failure
5:Acknowledge
6:Slave Device Busy
0A:Gateway path unavailable
0B: Gateway target device failed to respond

错误码格式:地址+功能码(最高位置1)+错误码+校验
地址:发生错误的从站地址;
功能码:主站所发送功能码的最高位置1,如主机发送16#01时,若发生错误,此处为16#81;
错误码:
0 无错误
1 内存范围错误
2 非法波特率或校验
3 非法从属地址
4 非法Modbus参数值
5 保持寄存器与Modbus从属符号重叠
6 收到校验错误
7 收到CRC错误
8 非法功能请求/功能不受支持
9 请求中的非法内存地址
10 从属功能未启用

校验:CRC校验

发送报文:图片中的这modbustcp报文里面的从站地址是06,功能码是01,读起始地址为00 00,读数据格式为00 01。
接收报文:前面的报文头都一样的,00 09表示的是后面的modbus数据有9个字节,数据是【06 10 00 00 00 01 02 00 00 】,意思是从站地址06、功能码变成了10H,也就是16,这应答报文是错的。起始地址是 00 00,数据个数是 00 01 ,字节数是 02,具体的数据内容是 00 00。
-----------------------------------
你的modbustcp的应答报文,好像不是读线圈状态的,而是功能码16——写多个保持型寄存器。
矩形PLC,支持Modbus rtu和Modbus tcp协议。

把端口号换成502试试。


峡江县19791728157: modbus tcp协议怎么分帧 -
潮灵凡慕: 你是想解析数据,还是间断性地读取寄存器?解析数据就要根据返回数据的字节顺序号,截取数据,再做浮点数或整数转换.MODBUS返回数据第一字节是设备ID,后跟两个字节的数据长度,然后就是返回的寄存器数据,每两个字节对应一个寄存器,同一组的返回数据,寄存器顺序肯定是连续的.如果读取的寄存器很多,想分步若干次,每次读取较少的寄存器,只需要把MODBUS读寄存器的指令修改下,修改指令的起始地址和寄存器个数,多使用几个读寄存器指令即可.

峡江县19791728157: 谁会FX - 5U modbus tcp的通信 -
潮灵凡慕: TCP/IP协议是网络通讯协议.MODBUST是应用与工业现场(电子控制)的通讯协议.两者的应用范围和应用环境有所不同.TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,...

峡江县19791728157: C# 中 通过ModBus Tcp 链接下位机 -
潮灵凡慕: this.socket.receive啊,用socket同时接收就是了,只要下发的指令是正确的,就会有数据返回,你只要接收就好了.

峡江县19791728157: 关于modbus - rtu通讯问题,多机通讯时出问题 -
潮灵凡慕: 485是点完01名后,对应的01从机返回数据,接着对02点名,返回02的数据(可设置一通讯超时机制,如等500MS内无数据返回则自动从发一次或接着对下一站点名),不可能一次性把所有从机点完名后在接收数据.

峡江县19791728157: 什么是Moubus RTU 通讯协议 -
潮灵凡慕: Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议.此协议支持传统的RS- 232、RS-422、RS-485和以太网设备.许多工业...

峡江县19791728157: 怎样编程modbus程序 -
潮灵凡慕: modbus程序应包含通讯模块,modbus读写指令生成模块,人机交互等主要组成部分.通过人机交互,设定前端设备id,以及通讯参数,寄存器地址等,通过modbus指令生成模块生成指令,并将指令通过通讯模块送出,并接收返回数据 ,数据解析后通过人机交互窗口显示.

峡江县19791728157: 求助:modbus通信求助 -
潮灵凡慕: modbuss tcp/IP 设备问题,求高时帮助 谢谢 现场情况是: 网络走的是以太网,网络上连接数据录入电脑(此电脑连接远程ORACL),视频监控系统(包括网络摄像头和视频服务器) 数据监控电脑(上位机组态王,或和历史都试验过) 下边是...

峡江县19791728157: vb modbus多通道数据采集返回的数据是乱码 -
潮灵凡慕: 波特率是否正确?协议是rtu吗,串口接收就按字节处理,ASC按字符处理!可以先用串口调试工具监控一下看看就好;协议的内容要熟悉一下;先用串口调试工具模拟发送指令,一问...

峡江县19791728157: Modbus RTU通信协议详解以及与Modbus TCP通信协议之间的区别和联系 -
潮灵凡慕: ModBus协议是应用层抄报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域.ModBus协议能够应用在不同类型的总线或袭网络.对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU.目前,Modbus有下列三种通信方式:1.以太网,对应的zd通信模式是MODBUSTCP.2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUSRTU或MODBUSASCII.3.高速令牌传递网络,对应的通信模式是ModbusPLUS.

峡江县19791728157: Modbus通讯协议和TCP/UDP协议有什么区别? -
潮灵凡慕: Modbus通讯协议和TCP/UDP协议的区别: 1、Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用的是主从通讯...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网