modbus tcp for wago
- 格式:pdf
- 大小:39.57 KB
- 文档页数:1
Modbus-TCP协议文档说明
1、指令格式说明(文档中所有数据要求为16进制)
(1)、功能码03---查询从设备寄存器数据内容
主设备报文
说明:数据区总共有36组数据,72个字节;CRC校验码要根据实际数据得出;
数据最小为:0000H,最大值为:2710H(十六进制),10000D(十进制)
(2)、功能码06---对从设备单个寄存器置数
主设备报文
序列数据举例数据内容字节数
2 10000为此次通信事务处理标识符,一般每次通信之后将被要求加1
以区别不同的通信数据报文
20000表示协议标识符,固定2 30006为数据长度,用来指示接下来数据的长度(4-7序列数据长度)2
401从设备地址,可变(1-256),说明为11
从设备正确报文
协议转换设置(网络通讯接口产品可选择使用Modbus-TCP协议)
寄存器地址(Hex)寄存器内容寄存器个数寄存器状态数据范围0060H协议转换1写00:Modbus-RTU协议
01:Modbus-TCP协议
协议修改命令举例:
从设备地址功能码寄存器地址写入数据CRC-L CRC-H 01H06H00H60H00H01H48H14H 说明:用06功能码协议修改为Modbus-TCP通讯协议;
数据返回格式:
使用发命令修改的工具软件可以到本公司网站上下载一个测试工具去发命令修改,下载地址为:
/z.aspx?id=71&P=upload/file/sscom5.13.1%E5%B7%A5%E5%85%B7.zip
软件页面设置与发送格式如下:(产品出厂默认IP为192.168.2.720108端口),发送后有数据返回即为修改成功.。
ModbusTCP通讯协议协议名称:ModbusTCP通讯协议一、引言ModbusTCP通讯协议是一种基于TCP/IP协议的通信协议,用于在工业自动化系统中实现设备之间的数据通信。
本协议旨在定义ModbusTCP通讯协议的基本规范和通信流程,以确保设备之间的可靠通信和数据交换。
二、术语和定义在本协议中,以下术语和定义适用:1. ModbusTCP:基于TCP/IP协议的Modbus通讯协议。
2. 客户端:发起通信请求的设备或软件。
3. 服务器:响应客户端请求的设备或软件。
4. 单元标识符:用于标识设备或软件的唯一标识符。
5. 寄存器:用于存储和交换数据的内存单元。
三、通信流程1. 建立连接客户端通过TCP/IP协议与服务器建立连接。
客户端发送连接请求,服务器接受请求并返回确认信息,建立连接成功。
2. 请求报文格式客户端向服务器发送请求报文,报文格式如下:- 事务标识符:用于标识请求的唯一标识符。
- 协议标识符:用于标识ModbusTCP协议。
- 长度字段:指定报文长度。
- 单元标识符:用于标识设备或软件的唯一标识符。
- 功能码:指定请求的功能类型。
- 数据字段:包含请求的具体数据。
3. 响应报文格式服务器接收到请求后,根据请求的功能码进行相应的处理,并返回响应报文。
报文格式如下:- 事务标识符:与请求报文相同的标识符。
- 协议标识符:与请求报文相同的标识符。
- 长度字段:指定报文长度。
- 单元标识符:与请求报文相同的标识符。
- 功能码:与请求报文相同的功能码。
- 数据字段:包含响应的具体数据。
4. 功能码ModbusTCP通讯协议定义了多种功能码,用于实现不同类型的数据交换和操作。
常用的功能码包括:- 读取线圈状态:用于读取设备的线圈状态。
- 读取输入状态:用于读取设备的输入状态。
- 读取保持寄存器:用于读取设备的保持寄存器数据。
- 读取输入寄存器:用于读取设备的输入寄存器数据。
- 写单个线圈:用于写入设备的单个线圈状态。
modbus tcp协议说明Modbus TCP是一种在Modbus通信协议基础上运行于TCP/IP网络的变种。
Modbus本身是一种串行通信协议,用于在工业自动化领域中传输数据。
而Modbus TCP则将Modbus协议封装在TCP/IP协议中,使其能够在以太网上进行通信。
Modbus TCP协议的工作原理是基于客户端-服务器模型。
客户端通过建立TCP连接向服务器发送请求,服务器接收请求并返回响应。
通常情况下,客户端是一个控制器或者监控设备,而服务器则是一个支持Modbus TCP协议的远程设备,比如PLC(可编程逻辑控制器)或者传感器。
Modbus TCP协议使用标准的TCP端口号502进行通信。
在通信过程中,Modbus TCP协议通过TCP连接传输Modbus帧,这些帧包含了读取数据、写入数据、设备识别等命令。
Modbus TCP协议支持多种数据类型,包括线圈(Coils)、离散输入(Discrete Inputs)、保持寄存器(Holding Registers)和输入寄存器(Input Registers)。
值得注意的是,Modbus TCP协议是一种开放的协议,因此它具有很好的兼容性和灵活性。
它可以在各种不同厂家的设备之间进行通信,这使得它成为工业自动化领域中非常流行的通信协议之一。
总的来说,Modbus TCP协议是一种基于TCP/IP网络的工业通信协议,它通过在Modbus协议上增加TCP/IP封装实现了在以太网上的数据传输。
它的特点包括客户端-服务器模型、标准的TCP端口号、支持多种数据类型和开放的兼容性。
通过使用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等。
modbustcp编程什么是Modbus TCP编程?Modbus TCP编程是一种用于控制自动化系统的通信协议。
Modbus是一种主从式协议,在Modbus网络中,一个设备可以作为主机,负责发起请求;另一个设备则作为从机,负责响应请求并提供所需的数据。
Modbus TCP编程是基于TCP/IP协议的Modbus变体,允许Modbus 协议通过以太网进行通信。
为什么选择Modbus TCP编程?Modbus TCP编程的优点之一是它的广泛应用。
Modbus被广泛应用于各种自动化系统,如工业自动化、建筑自动化和能源管理系统等。
因此,掌握Modbus TCP编程可以为开发人员提供更多的就业机会和应用领域。
此外,Modbus TCP编程还具有简单、可扩展和可靠的特点。
Modbus TCP编程可以使用广泛的编程语言实现,如Python、C#和Java等。
此外,Modbus TCP编程还支持多种设备类型和网络配置,可以轻松地与其他自动化设备集成。
Modbus TCP编程使用TCP/IP协议,提供可靠的数据传输和错误检测机制,确保数据的准确性和完整性。
如何进行Modbus TCP编程?进行Modbus TCP编程的第一步是选择合适的编程语言和开发平台。
根据个人的编程经验和需求,可以选择Python、C#或Java等编程语言。
此外,还需要选择适合Modbus TCP编程的开发平台,如Visual Studio、Eclipse等。
在选择编程语言和开发平台之后,下一步是安装相应的Modbus TCP库或模块。
这些库或模块提供了与Modbus TCP通信相关的函数和方法,简化了编程过程。
可以在官方网站或开源社区中找到适合自己的Modbus TCP库和模块。
安装后,可以按照相应的文档和教程使用它们。
接下来,需要了解Modbus TCP协议的工作原理和通信方式。
Modbus TCP协议使用常见的TCP/IP协议栈,通过以太网发送和接收数据包。
ModbusTCP概述Modbus TCP通信概述MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。
协议的最通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。
MODBUS/TCP 使MODBUS_RTU协议运行于以太网,MODBUS TCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUS TCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。
MODBUS TCP通信报文被封装于以太网TCP/IP数据包中。
与传统的串口方式,MODBUS TCP插入一个标准的MODBUS报文到TCP报文中,不再带有数据校验和地址。
1. 通讯所使用的以太网参考模型Modbus TCP传输过程中使用了TCP/IP以太网参考模型的5层:第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容第二层:数据链路层,格式化信号到源/目硬件址数据帧第三层:网络层,实现带有32位IP址IP报文包第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度第五层:应用层,Modbus协议报文2. Modbus TCP数据帧Modbus数据在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式,Modbus TCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节,如图1所示:图1: MODBUS TCP报文由于使用以太网TCP/IP数据链路层的校验机制而保证了数据的完整性,MODBUS TCP 报文中不再带有数据校验”CHECKSUM”,原有报文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS应用协议报文头中。
MODBUSTCP协议解析MODBUSTCP协议是一种基于TCP/IP网络的现代化的通信协议,用于实现在不同设备之间进行数据传输和通信。
该协议广泛应用于自动化控制系统中,被用于监控和控制设备之间的通信,例如工业自动化、楼宇自动化等。
MODBUSTCP协议是从MODBUS协议发展而来的,MODBUS是一种串行通信协议,常用于串行通信网络。
由于串行通信网络的传输速率较低,限制了通信的效率和带宽,因此逐渐发展出了MODBUSTCP协议。
MODBUS TCP协议使用Ethernet作为物理层,TCP/IP作为传输层和网络层的协议,提供了快速和可靠的通信方式。
相比于串行通信网络,MODBUS TCP协议具有更高的传输速率和更广阔的网络覆盖范围,使得更多的设备可以进行通信,并且支持跨网络的通信。
MODBUSTCP协议使用一种面向连接的通信方式,其中客户端和服务器之间建立TCP连接,通过读写寄存器的方式进行数据的交换。
客户端向服务器发送读写请求报文,并通过TCP连接传输数据,服务器收到请求后进行处理,然后将响应报文返回给客户端。
客户端可以通过读取和写入寄存器来获取和修改设备的数据。
MODBUSTCP协议的报文格式一般包括:事务标识符、协议标识符、长度字段、单元标识符、功能码、数据区、错误码等字段。
其中事务标识符用于识别请求和响应的对应关系,协议标识符用于区分MODBUSTCP协议,长度字段表示整个报文的长度,单元标识符用于标识设备的地址,功能码用于指示读取或写入的操作类型,数据区用于存放读取或写入的数据,错误码用于表示出现的异常情况。
总结而言,MODBUSTCP协议是一种现代化的通信协议,通过使用TCP/IP网络提供快速可靠的通信方式,用于实现不同设备之间的数据传输和通信。
它具有高传输速率、广泛的网络覆盖范围和灵活的数据交换方式,广泛应用于自动化控制系统中。
开放型MODBUS-TCP规范(中文版)发布时间:2005年7月5日开放型Modbus/TCP规范修订版1.0,1999年3月29日Andy SwalesSchneider电气公司*******************目录目录 (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 读乘法寄存器(FC 3) (9)5.1.2 写乘法寄存器(FC 16) (9)5.2类型1指令详述 (10)5.2.1读线圈(FC 1) (10)5.2.2 读离散输入(FC 2) (10)5.2.3 读输入寄存器(FC 4) (11)5.2.4 写线圈(FC 5) (11)5.2.5 写单一寄存器(FC 6) (12)5.2.6读异常状态字(FC 7) (12)5.3类型2 指令详述 (13)5.3.1 强制多点线圈(FC 15) (13)5.3.2读一般参考值(FC 20) (14)5.3.3 写一般参考值(FC 21) (15)5.3.4掩模写寄存器(FC 22) (16)5.3.5读/写寄存器(FC 23) (16)5.3.6 读FIFO队列(FC 24) (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.1 984数据类型 (24)B.2.2 IEC-1131 数据类型 (25)该规范的发展概况原始版本1997年9月3日作为公共评论的草案。
ModbusTCP通讯协议协议名称:ModbusTCP通讯协议摘要:本协议旨在定义ModbusTCP通讯协议的标准格式,以实现在TCP/IP网络上进行数据通信的目的。
该协议适用于工业自动化领域,用于实现设备之间的数据交换和控制操作。
1. 引言1.1 目的本协议的目的是为了规范ModbusTCP通讯协议的标准格式,以确保不同厂商的设备能够互相兼容和交互操作。
1.2 背景ModbusTCP是一种基于TCP/IP协议的通讯协议,常用于工业自动化系统中的设备间通信。
本协议旨在定义ModbusTCP通讯协议的标准格式,以便不同厂商的设备能够通过网络进行数据交换和控制操作。
2. 术语和定义在本协议中,以下术语和定义适用:2.1 ModbusTCP:基于TCP/IP协议的通讯协议,用于工业自动化设备之间的数据交换和控制操作。
2.2 客户端:发起通讯请求的设备或程序。
2.3 服务器:接收并处理客户端的通讯请求的设备或程序。
2.4 数据单元标识符(PDU):用于标识通讯数据单元的字段。
2.5 Modbus寄存器:用于存储和交换数据的内部存储单元。
3. 协议格式3.1 帧格式ModbusTCP通讯协议的帧格式如下所示:- 事务标识符(2字节):用于标识通讯事务的唯一标识符。
- 协议标识符(2字节):用于标识ModbusTCP协议。
- 长度字段(2字节):用于指示后续数据的长度。
- 单元标识符(1字节):用于标识通讯设备的唯一标识符。
- PDU(可变长度):包含功能码和数据字段。
3.2 PDU格式PDU包含以下字段:- 功能码(1字节):用于指示要执行的操作类型。
- 数据字段(可变长度):包含操作所需的数据。
4. 功能码ModbusTCP通讯协议定义了一系列功能码,用于指示不同的操作类型。
以下是一些常用的功能码:4.1 读取线圈状态(功能码01)该功能码用于读取指定线圈的状态。
客户端发送请求后,服务器将返回线圈的状态信息。
第 1 页 共 1 页 WAGO Electronic(Tianjin)LTD. Technical Support Dept. Lilianwang
通过MODBUS TCP 协议访问 WAGO IO (750-841/842)的地址对应
在编程软件W AGO-I/O-PRO 中可访问750-842/841的输入地址%IW256~%IW511与输出地址%QW256~%QW511。
这两部分地址为750-841/842的网络数据地址,用于与MODBUS TCP 主机进行内部数据交换。
可以通过MODBUS TCP 通讯协议以“6位整数”方式访问750-841/842的网络数据地址:
MODBUS TCP
W AGO I/OPRO 32 40257~40512 只可写,不可读 40769~41024 可写,可读 %IW256~%IW511 30257~30512
不可写,只可读
%QW256~%QW511
可以通过MODBUS TCP 通讯协议方式访问750-841/842的网络数据地址:
MODBUS TCP
W AGO I/OPRO 32 04097~08192 只可写,不可读 08193~012288 可写,可读 %IW256.0~%IW511.15 14097~18192 不可写,只可读
%QW256.0~%QW511.15
I/O 寻址
MODBUS TCP
W AGO I/OPRO 32 00001~00256 只可写,不可读 00513~00768 可写,可读 1#DO~256#DO DO 10001~10256 不可写,只可读 1#DI~256#DI DI 30001~30256 不可写,只可读 1#AI~256#AI AI 40001~40256 只可写,不可读 40513~40768 可写,可读
1#AO~256#AO
AO
M 寄存器寻址
可以通过MODBUS TCP 通讯协议以“6位整数”方式访问750-841/842的%MW 寄存器数据地址:
MODBUS TCP
W AGO I/OPRO 32 312289~316384 只可读,不可写 %MW0~%MW4095 %MW 412289~416384 只可写,不可读 %MW0~%MW4095 %MW 112289~132768 只可读,不可写
%MX0.0~%MX1279.15 %MX 012289~032768 可写,可读
%MX0.0~%MX1279.15
%MX
注: 以上表格中下划线部分为MODBUS 数据地址标示符。
由于通过MODBUS TCP 访问M 寄存器时需要的地址为5位故而一些只能提供4位数字地址的HMI 软件不能读取M 寄存器。