基于tcp的modbus详解
modbus tcp 通讯原理

modbus tcp 通讯原理Modbus TCP通讯原理引言:Modbus是一种常见的工业通信协议,用于实现设备之间的数据交换。
Modbus TCP是Modbus协议在TCP/IP网络上的应用。
本文将介绍Modbus TCP通讯原理,包括通讯方式、数据帧结构以及通讯流程等内容。
一、Modbus TCP通讯方式Modbus TCP采用了主从式通讯方式,其中主站负责发起通讯请求,而从站则负责响应请求并返回数据。
主站可以是一个上位机或者其他网络设备,而从站则是连接在网络中的各个Modbus设备。
二、Modbus TCP数据帧结构Modbus TCP数据帧由6个部分组成,分别是事务标识符、协议标识符、长度字段、单元标识符、功能码和数据。
具体结构如下:1. 事务标识符(Transaction Identifier):用于标识通讯的事务,主站和从站通过该字段进行通讯的匹配。
2. 协议标识符(Protocol Identifier):用于标识所使用的协议,对于Modbus TCP来说,该字段的值为0。
3. 长度字段(Length):指示了数据帧的长度,包括单元标识符、功能码和数据。
4. 单元标识符(Unit Identifier):用于标识从站的地址,主站通过该字段将请求发送给特定的从站。
5. 功能码(Function Code):用于指示请求的类型,包括读取数据、写入数据、读取寄存器等功能。
6. 数据(Data):根据功能码的不同,该字段可以包含读取或写入的数据。
三、Modbus TCP通讯流程Modbus TCP通讯流程主要包括请求和响应两个过程,具体流程如下:1. 请求过程:a) 主站发送一个请求数据帧给从站,包括事务标识符、协议标识符、长度字段、单元标识符、功能码和相关数据。
b) 从站接收到请求后进行处理,根据功能码执行相应的操作。
c) 从站将处理结果封装成一个响应数据帧发送给主站,包括事务标识符、协议标识符、长度字段、单元标识符和相关数据。
ModbusTcp协议详解

ModbusTcp协议详解Modbus TCP协议详解一、概述Modbus TCP是一种基于TCP/IP网络的通信协议,用于在工业自动化系统中实现设备之间的通信。
它是Modbus协议的一种变体,具有简单、高效、可靠的特点,被广泛应用于工业控制领域。
二、协议结构1. 物理层Modbus TCP协议使用以太网作为物理层传输媒介,支持10Mbps和100Mbps的传输速率。
数据通过以太网的数据链路层进行传输。
2. 传输层Modbus TCP协议使用TCP作为传输层协议,确保数据的可靠传输。
TCP提供了可靠的连接、流量控制和拥塞控制机制,保证了数据的完整性和准确性。
3. 应用层Modbus TCP协议的应用层采用了Modbus协议的数据格式和功能码。
数据格式包括消息头和消息体两部分。
消息头包括以下字段:- 事务标识符(Transaction Identifier):用于标识请求和响应之间的对应关系。
- 协议标识符(Protocol Identifier):用于标识Modbus协议。
- 长度字段(Length):表示消息体的长度。
- 单元标识符(Unit Identifier):用于标识设备。
消息体包括以下字段:- 功能码(Function Code):用于指定请求或响应的功能。
- 数据字段(Data):包含具体的请求或响应数据。
三、功能码Modbus TCP协议定义了一系列功能码,用于实现不同的功能。
常用的功能码包括:1. 读取线圈状态(Read Coils):用于读取线圈的状态(开关量)。
2. 读取离散输入状态(Read Discrete Inputs):用于读取离散输入的状态(开关量)。
3. 读取保持寄存器(Read Holding Registers):用于读取保持寄存器的值(16位整数)。
4. 读取输入寄存器(Read Input Registers):用于读取输入寄存器的值(16位整数)。
5. 写单个线圈(Write Single Coil):用于写入单个线圈的状态。
modbus tcp通讯协议详解与实例演示

Modbus TCP是一种基于TCP/IP网络的通信协议,用于在工业自动化系统中实现设备间的数据交换。
以下是Modbus TCP通讯协议的详细解释和一个实例演示:1. Modbus TCP协议概述:- Modbus TCP是Modbus协议的一种变体,使用TCP/IP作为传输层协议,通过以太网进行数据通信。
- 它基于客户端-服务器架构,其中客户端发起数据请求,而服务器响应请求并提供数据。
- Modbus TCP使用简单的请求-响应模型,支持读取和写入数据寄存器、线圈、输入寄存器和离散输入等。
2. Modbus TCP帧结构:- Modbus TCP帧由标头和数据部分组成。
- 标头包括事务标识符、协议标识符、长度字段和单元标识符。
- 数据部分包含功能码、数据和错误检查字段。
3. Modbus TCP功能码:- Modbus TCP支持多种功能码用于不同的操作,如读取、写入、读取多个寄存器等。
- 常见的功能码包括读取线圈状态(0x01)、读取输入状态(0x02)、读取保持寄存器(0x03)、写单个寄存器(0x06)等。
4. Modbus TCP实例演示:- 假设有一个Modbus TCP服务器设备,IP地址为192.168.0.100,端口号为502。
- 客户端想要读取该设备上的保持寄存器中的数据。
- 客户端发送一个读取保持寄存器的请求帧,包括事务标识符、协议标识符、长度字段、单元标识符和功能码等。
- 服务器接收到请求后,解析请求帧,根据功能码读取保持寄存器中的数据。
- 服务器将读取到的数据封装成响应帧,并发送给客户端。
- 客户端接收到响应帧后,解析响应帧,提取出所需的数据。
Modbus TCP协议是一种常用的工业自动化通信协议,广泛应用于控制系统、仪表设备和传感器等。
通过使用Modbus TCP,不同的设备可以方便地进行数据交换和远程控制。
在实际应用中,可以使用各种编程语言和开发工具来实现Modbus TCP通讯,如Python、C#、Java等。
modbus tcp协议报文解析

modbus tcp协议报文解析Modbus TCP协议报文解析一、引言Modbus TCP是一种通信协议,用于在TCP/IP网络上传输数据。
它是Modbus协议的一种变体,是工业自动化领域广泛应用的协议之一。
本文将对Modbus TCP协议报文进行解析,以帮助读者更好地理解该协议的工作原理。
二、Modbus TCP协议概述Modbus TCP协议是基于TCP/IP网络的Modbus协议的一种实现。
相比于传统的串行Modbus协议,Modbus TCP协议采用了基于以太网的通信方式,通过TCP/IP网络传输数据。
它能够实现实时的数据传输,具有高可靠性和灵活性的特点。
三、Modbus TCP协议报文结构Modbus TCP协议报文的结构包括事务标识符、协议标识符、长度字段、单元标识符、功能码、数据域和CRC校验字段。
下面分别进行解析:1. 事务标识符(Transaction Identifier):用于标识不同的事务,通常是一个16位的无符号整数。
2. 协议标识符(Protocol Identifier):用于标识Modbus协议的版本,通常是一个16位的无符号整数。
3. 长度字段(Length):用于标识整个报文的长度,通常是一个16位的无符号整数。
4. 单元标识符(Unit Identifier):用于标识Modbus设备的地址,通常是一个8位的无符号整数。
5. 功能码(Function Code):用于标识报文的类型,通常是一个8位的无符号整数。
不同的功能码表示不同的操作,如读取数据、写入数据等。
6. 数据域(Data):用于存放具体的数据,其格式和长度根据功能码的不同而有所不同。
7. CRC校验字段(Cyclic Redundancy Check):用于校验报文的完整性,以确保数据的准确传输。
四、Modbus TCP协议报文示例下面是一个Modbus TCP协议报文的示例:事务标识符:0x0001协议标识符:0x0000长度字段:0x0007单元标识符:0x01功能码:0x03数据域:0x0000 0x0001CRC校验字段:0xC7D5该报文表示的是对单元标识符为0x01的Modbus设备进行读取数据操作,读取的数据地址为0x0000,读取的数据长度为1个字。
modbustcp实例

modbustcp实例
以下是一个基于Modbus TCP的实例:
PLC作为服务器,IP地址为192.168.6.101,端口号为502。
电脑作为客户端,通过该IP和端口号连接PLC,并进行数据监控。
在数据监控界面,可以查看和读取不同区域(如X、Y、M、D等)的数据。
通过一个自己编写的C#程序,可以实现与PLC的连接和数据的读写。
程序可以读取PLC中不同区域的数据,例如X区的信号状态、Y区的输出状态、M区的内部状态等,同时也可以写入数据到PLC的不同区域,实现对PLC的控制。
在演示过程中,展示了如何连续读取和写入多个数据,并通过数据监控界面实时验证操作的结果。
同时,还说明了如何同时写入多个值,比如在D区写入一组数据,并通过程序读取验证。
总的来说,TCP-Modbus通信是一种高效的方式,通过它可以轻松实现与PLC的数据交互和控制。
通过编写程序,并使用相关的类库,能够更加灵活地操作PLC,实现各种功能。
Modbus-MODBUS-TCP-协议解析

层
ISO/OSI 模型
7
应用层
Modbus应用协议
6
表示层
空
5
会话层
空
4
传输层
空
3
网络层
空
2
数据链路层
Modbus串行链路协议
1
物理层
EIA/TIA-485 (或 EIA/TIA232)
Modbus 应用协议层 客户机/服务器
Modbus 主站/从站 EIA/TIA-485
(或 EIA/TIA-232)
主节点在同一时刻只会发起一个Modbus事务处理。
主节点以两种模式对子节点发送Modbus请求:广播、单播。
主站
从站 …… 从站
……
从站
从站
…… ……
从站
主站工作状态图
SUPCON
从站工作状态图
SUPCON
主/从通信的三种典型情况
SUPCON
SUPCON
串行链路上的Modbus地址规则
异常码指示差错类型。
客户机
启动请求
功能码
数据请求
接收响应
服务器
在操作中检测差错 启动差错
异常功能码
异常码
SUPCON
3
Modbus协议在串行链路上的实现
SUPCON Modbus协议在串行链路上的实现模型
主要是在RS485和RS232等物理接口上实现Modbus协议。
在Modbus链路层上客户机的功能由主站提供而服务器的功 能由从站实现。
SUPCON
Modbus-MODBUS-TCP-协议解析
主要内容
1 2 3 4
SUPCON
概述 Modbus 协议规范 Modbus协议在串行链路上的实现 Modbus协议在TCP/IP上的实现
modbus tcp协议报文解析

modbus tcp协议报文解析
摘要:
1.Modbus TCP协议简介
2.Modbus TCP协议报文结构
3.Modbus TCP协议报文解析
4.Modbus TCP协议应用场景
正文:
Modbus TCP协议是一种基于TCP/IP协议的通信协议,主要用于工业自动化和控制领域中的设备通信。
它是在Modbus RTU协议基础上发展而来,相较于Modbus RTU协议,Modbus TCP协议具有更快的传输速度和更远的传输距离。
Modbus TCP协议报文结构包括:起始符、长度域、控制域、地址域、数据域、校验域和结束符。
其中,起始符和结束符用于标识报文的开始和结束;长度域表示报文的长度;控制域用于标识Modbus TCP协议的类型;地址域用于标识通信设备的身份;数据域用于传输实际数据;校验域用于校验数据传输的正确性。
Modbus TCP协议报文解析主要包括以下几个方面:首先,解析起始符和结束符,确定报文的边界;其次,解析长度域,获取报文的长度;接着,解析控制域,识别Modbus TCP协议的类型;然后,解析地址域,获取通信设备的身份;最后,解析数据域和校验域,确保数据传输的正确性。
Modbus TCP协议广泛应用于工业自动化、能源管理、智能交通等领域。
例如,在智能工厂中,Modbus TCP协议可用于实现设备之间的通信,实现生产过程的自动化控制;在智能交通中,Modbus TCP协议可用于实现交通信号控制、智能路灯控制等。
modbus tcp协议报文解析

modbus tcp协议报文解析摘要:一、Modbus TCP 协议简介二、Modbus TCP 报文结构1.请求报文结构2.响应报文结构三、Modbus TCP 报文解析实例四、总结正文:一、Modbus TCP 协议简介Modbus TCP 协议是一种用于工业自动化领域的通信协议,它基于TCP/IP 协议栈,并在其基础上增加了Modbus 应用层协议。
Modbus TCP 协议主要用于实现设备之间的通信,例如PLC、PAC 以及各种传感器和执行器等。
通过Modbus TCP 协议,设备可以相互传输数据和控制命令,从而实现对工业自动化过程的监控和控制。
二、Modbus TCP 报文结构Modbus TCP 报文分为请求报文和响应报文两种。
1.请求报文结构请求报文由请求头和请求数据组成,具体结构如下:- 事务处理标识符:用于区分不同的通信数据报文,每次通信后加1。
- 协议标识符:表示Modbus 协议。
- 数据长度:指示接下来数据的长度,单位为字节。
- 设备地址:用于标识连接在串行线或网络上的远程服务端的地址。
- 功能码:表示请求的操作类型,例如读取保持寄存器数据。
- 起始地址:指示要读取的寄存器数据的起始地址。
- 寄存器数量:表示要读取的寄存器数据的数量。
2.响应报文结构响应报文由响应头和响应数据组成,具体结构如下:- 事务处理标识符:与请求报文中的事务处理标识符保持一致。
- 协议标识符:与请求报文中的协议标识符保持一致。
- 数据长度:指示接下来数据的长度,单位为字节。
- 设备地址:与请求报文中的设备地址保持一致。
- 功能码:与请求报文中的功能码保持一致。
如有错误,功能码将返回80h。
- 数据字节长度:指示接下来数据的字节长度。
- 响应数据:根据请求操作类型返回相应的数据值。
三、Modbus TCP 报文解析实例假设我们要通过Modbus TCP 协议读取一个保持寄存器的值,请求报文和响应报文的结构如下:请求报文:- 事务处理标识符:1- 协议标识符:00 00- 数据长度:06- 设备地址:09- 功能码:03- 起始地址:00 00- 寄存器数量:01响应报文:- 事务处理标识符:1- 协议标识符:00 00- 数据长度:05- 设备地址:09- 功能码:03- 数据字节长度:02- 响应数据:12 34从上述实例中可以看出,请求报文中的事务处理标识符、协议标识符、设备地址、功能码和起始地址分别表示通信事务的处理标识、协议类型、设备地址、操作类型和读取数据的起始地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开放型MODBUS-TCP规范(中文版)开放型Modbus/TCP规范修订版1.0,1999年3月29日目录目录 (2)1.该规范的发展概况 (3)2.概述 (3)2.1面向连接.32.2数据编码42.3参考编号的解释 (4)2.4隐含长度基本原则 (5)3.一致性等级概述 (5)3.1类型0 (5)3.2类型1 (5)3.3类型2 (6)3.4机器/厂家/网络的特殊功能 (7)4.协议结构 (7)5.一致性等级的协议参考值 (8)5.1类型0指令详述 (9)5.1.1读乘法寄存器(FC3) (9)5.1.2写乘法寄存器(FC16) (9)5.2类型1指令详述 (10)5.2.1读线圈(FC1) (10)5.2.2读离散输入(FC2) (10)5.2.3读输入寄存器(FC4) (11)5.2.4写线圈(FC5) (11)5.2.5写单一寄存器(FC6) (12)5.2.6读异常状态字(FC7) (12)5.3类型2指令详述 (13)5.3.1强制多点线圈(FC15) (13)5.3.2读一般参考值(FC20) (14)5.3.3写一般参考值(FC21) (15)5.3.4掩模写寄存器(FC22) (16)5.3.5读/写寄存器(FC23) (16)5.3.6读FIFO队列(FC24) (17)6.异常代码 (17)附录 (19)A.客户机和服务器应用指导 (19)A.1客户机设计 (19)A.2服务器设计 (20)A.2.1多线程服务器20A.2.2单线程服务器 (21)A.3必需的及期望的性能.22B.非指令数据的编码 (23)B.1指令字中的比特数 (23)B.2多指令字变量 (24)B.2.1984数据类型 (24)B.2.2IEC-1131数据类型 (25)该规范的发展概况原始版本1997年9月3日作为公共评论的草案。
再版1999年3月29日,即修订版1.0。
没有大的技术改动,仅作了补充说明。
增加了附录A和B作为对一些常用执行问题的回应。
该MODBUS/TCP规范在万维网上公开发行。
它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准。
既然MODBUS和MODBUS/TCP作为事实上的“实际”标准,而且很多生产商已经实现了它的功能,此规范主要是阐述在互连网上具有普遍可用性的基于TCP通讯协议的MODBUS报文的特殊编码。
2.概述MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。
显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS 报文的用途。
协议的最通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O 模块的网关服务的。
MODBUS/TCP协议是作为一种(实际的)自动化标准发行的。
既然MODBUS已经广为人知,该规范只将别处没有收录的少量信息列入其中。
然而,本规范力图阐明MODBUS中哪种功能对于普通自动化设备的互用性有价值,哪些部分是MODBUS作为可编程的协议交替用于P LC’s的“多余部分”。
它通过将配套报文类型“一致性等级”,区别那些普遍适用的和可选的,特别是那些适用于特殊设备如PLC’s的报文。
2.1面向连接在MODBUS中,数据处理传统上是无国界的,使它们对由噪音引起的中断有高的抵抗力,而且在任一端只需要最小的维护信息。
编程操作,另一方面,期望一种面向连接的方法。
这种方法对于简单变量通过唯一的“登录”符号完成,对于Modbus Plus变量,通过明确的“程序路径”容量来完成,而“程序路径”容量维持了一种双向连接直到被彻底击穿。
MODBUS/TCP处理两种情况。
连接在网络协议层很容易被辨认,单一的连接可以支持多个独立的事务。
此外,TCP允许很大数量的并发连接,因而很多情况下,在请求时重新连接或复用一条长的连接是发起者的选择。
熟悉MODBUS的开发者会感到惊讶:为什么面向连接TCP协议比面向数据报的UDP要应用广泛。
主要原因是通过封装独立的“事务”在一个连接中,此连接可被识别,管理和取消而无须请求客户和服务器采用特别的动作。
这就使进程具有对网络性能变化的适应能力,而且容许安全特色如防火墙和代理可以方便的添加。
类似的推理被最初的万维网的开发者所采用,他们选用TCP及端口80去实现一个作为单一事务的最小的环球网询问。
2.2数据编码MODBUS采用“big-endian”来表示地址和数据对象。
这就意味着当一个数字表示的数量大于所传输的单一字节,最大有效字节将首先被发送。
例如:16-bits0x1234将为0x120x3432-bits0x12345678L将为0x120x340x560x782.3参考编号的解释MODBUS将其数据模型建立在一系列具有不同特征的表的基础之上。
这四个基本表如下离散输入单比特,由I/O系统提供,只读离散输出单比特,由应用程序更改,读写输入寄存器16比特,数值,由I/O系统提供,只读输出寄存器16比特,数值,由应用程序更改,读写输入和输出之间以及可寻址位和可寻址代码的数据对象之间的差别并不意味着任何应用性能的不同。
如果这是我们所讨论的目标机械的最自然的解释,那么认为所有的四个基本表是相互覆盖的看法也是非常普通而完全可以接受的。
对于每一个基本表,协议允许单独选择65536个数据对象中的任何一个,而且对那些对象的读写操作可以跨越多个连续的数据对象,直到达到基于处理事务功能代码的数据大小限制。
这儿没有假定数据对象代表一种真正邻接的数据阵列,而这是大多数简单PLC’s的解释。
“读写常用参考”功能代码被定义为携带32位的参考值并且能允许在“非常”大的空间里可以直接访问数据对象。
现在没有可以利用这一特点的PLC设备。
一个易造成混乱的潜在来源是用于MODBUS功能的参考值和用于Modicon PLC’s的“寄存器值”之间的关系。
由于历史原因,用户参考值使用从1开始的十进制数表示。
而MODBUS 采用更普通的从0开始的无符号整数进行软件数据整理分析。
于是,请求从0读取寄存器的Modbus消息将已知值返回建立在寄存器4:00001(存储类型4=输出寄存器,参考值00001)中的应用程序。
2.4隐含长度基本原则所有的MODBUS请求和响应都被设计成在此种方法下工作,即接收者可确认消息的完整性。
对于请求和响应为固定长度的功能代码,仅发送功能代码就足够了。
对于在请求和响应中携带不定长数据的功能代码,数据部分前将加上一个字节的数据统计。
当Modbus通过TCP运送,前缀中携带附加的长度信息以便接收者识别消息的边界,甚至消息被分成若干组进行传输。
外在的和隐含的长度准则的存在,以及CRC-32检错代码(以太网)的使用使请求和响应消息中发生未被识别的错误的机率减至无限小。
3.一致性等级概述当从草稿开始定义一种新的协议,有可能加强编码方式和阐述的一致性。
MODBUS由于其先进的特性,已经在很多地方得到了实施,必须避免破坏它已经存在的实施。
因此,已经存在的成套的处理类型被划分出一致性等级:等级0代表普遍使用且总体上一致的功能;等级2代表有用的功能,但带有某些特性。
现存装置的不适应于互用性的功能也已确认。
必须注意到,将来对该标准的扩充将定义附加的功能代码来处理现存事实标准不适用的情形。
然而,被提议扩充的详细资料出现在本手册中将会另人误解。
通过将代码“随机的”发送或者即便是通过检查异常响应的类型来确定特别的目标装置是否支持特别的功能代码总是可能的,而且该方法将保证引入这些扩充的现使用的MODBUS设备的连续的互用性。
事实上,这就是当前功能代码的分级原则。
Modbus功能代码共有三种类型分别为:·公共功能代码已定义好的功能码,保证其唯一性,由认可。
·用户自定义功能代码有两组,分别为65~72和100~110,不需要认可,但不保证代码使用的唯一性,如想变为公共代码,需要RFC认可。
·保留的功能代码由某些公司使用在某些传统设备的代码,不可作为公共用途。
常用公共功能代码见表2。
表2常用公共功能代码3.1等级0这是最小的有用功能,对主站和从站来说。
读乘法寄存器(fc3)写乘法寄存器(fc16)3.2等级1这是附加的被普遍实现的和能共同使用的成套功能,正如前面介绍过的,许多从站把输入,输出,离散值和寄存器值作为同等的进行处理。
读线圈(fc1)读离散输入(fc2)读寄存器输入(fc4)写线圈(fc5)写单一寄存器(fc6)读异常状态字(fc7)此功能对于每一个从站系列显然具有不同的含义。
3.3等级2这些是需要HMI和管理等例行操作的数据传送功能。
强制型多路线圈(fc15)读一般参考值(fc20)该功能可以处理并发的多个请求,而且能接收32位的参考数值。
当前的584和984PLC’s仅使用此功能接收类型6的参考值(扩展的寄存器文件)。
该功能最适于扩充以处理大的寄存器空间和缺少诸如“未定位”变量的参考值的数据对象。
写一般参考值(fc21)此功能可以处理并发的多个请求,也可接收32位的参考数值。
当前的584和984PLC’s仅使用此功能接收类型6的参考值(扩展的寄存器文件)。
该功能最适于扩充以处理大的寄存器空间和缺少诸如“未定位”变量的参考值的数据对象。
掩膜写寄存器(fc22)读/写寄存器(fc23)此功能把一定范围的寄存器输入和输出当作单一的处理事务。
使用MODBUS是执行规则的带有I/O模块的状态影象交换的最好办法。
如此,高性能的通用的数据采集装置可以执行功能3,16和23,从而把快捷的数据规则交换(23)和执行特殊数据对象的需求询问或更新的能力结合起来(3和16)。
读FIFO队列(fc24)一个有点专用的功能,打算将表结构的数据象FIFO(用到584/984上的FIN和FOUT 功能模块)一样传送到主机。
对于某种事件录入软件很有用。
3.4机器/厂家/网络的特殊功能以下所有的功能,虽然在MODBUS协议手册中提到,但由于它们有很强的机器依赖性,因而不适于互用性的目的。
诊断(fc8)编程(484)(fc9)轮询(484)(fc10)获取通讯事件计数器值(Modbus)(fc11)获取通讯事件记录(Modbus)(fc12)编程(584/984)(fc13)轮询(584/984)(fc14)通告从站ID(fc17)编程(884/u84)(fc18)恢复通讯连接(884/u84)(fc19)编程(原理)(fc40)固件置换(fc125)编程(584/984)(fc126)通告本地地址(Modbus)(fc127)4.协议结构本部分阐述了通过MODBUS/TCP网络携带的MODBUS请求和或响应封装的一般格式。