ModBus通信协议.ppt
- 格式:ppt
- 大小:307.00 KB
- 文档页数:23


Modbus通信协议 一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由Modem组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。
MODBUS 标准通讯协议(简版)(基于Modbus 应用协议RTU 通讯模式)1. 前言本协议适用于符合MODBUS 标准通讯协议的规定以及在Modbus 网络上以RTU 模式通信运行的设备和应用软件。
本协议按照Modbus 应用协议标准制定。
2. 波特率可选范围代码678910 11 12 13 14 波特率 2400 4800 9600 14400192002880038400576001152003. RTU 通讯数据传输模式3.1 RTU 模式每个字节( 11 位 )的格式为 :通讯传输为异步方式,并以字节(数据帧)为单位。
在主站和从站之间传递的每一个数据帧都是11位的串行数据流。
编码系统: 8–位二进制,报文中每个8 位字节含有两个4 位十六进制字符(0–9, A –F) 数 据 位: 1个 起始位8个 数据位, 首先发送最低有效位1个 奇偶校验(注:偶校验是要求的,其它模式( 奇校验,无校验 )也可以使用) 1个 停止位 (注 :使用无校验时要求2个停止位)帧校验域:循环冗余校验(CRC) 3.2 字符的串行传送方式:每个字符或字节按如下顺序发送(从左到右):最低有效位 (LSB) . . . 最高有效位 (MSB)通过配置,设备可以接受奇校验、偶校验或无校验。
如果无奇偶校验,那么传送一个附加的停止位来填充数据帧使其成为完整的11位异步字符:3.3 数据编码:Modbus 处理的所有数据按照存储数据的类型可以分为位寄存器(容量为1位)和16位寄存器(容量为16位)两种,它们的宽度都是16位(Data is packed as two bytes per register),协议允许单个选择65536个数据项,而且其读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。
在Modbus PDU 中从0~65535寻址每个数据。
Modbus 使用一个‘big-Endian ’表示地址和数据项,即最高有效字节在低地址存储,最低有效字节在高字节存储。
modbus通讯协议协议名称:Modbus通讯协议一、引言Modbus通讯协议是一种用于工业自动化领域的通信协议,用于在不同设备之间进行数据传输和通信。
本协议旨在定义Modbus通信的规范和格式,确保在不同设备之间的数据交换的准确性和可靠性。
二、协议概述Modbus通讯协议基于主从架构,其中一个设备作为主站,其他设备作为从站。
主站负责发起通信请求和控制从站设备,从站设备则负责响应主站的请求并提供相应的数据。
三、协议要求1. 协议支持串行通信和以太网通信两种方式。
2. 协议必须支持多种数据格式,如16位整数、32位整数、浮点数等。
3. 协议必须支持读取和写入数据的操作。
4. 协议必须支持不同寄存器类型的访问,如线圈寄存器、输入寄存器、保持寄存器等。
5. 协议必须支持不同的功能码,如读取线圈状态、写入单个保持寄存器等。
6. 协议必须支持错误检测和恢复机制,以确保数据的准确性和可靠性。
7. 协议必须具备良好的扩展性,以便支持未来的功能拓展和升级。
四、协议格式Modbus通讯协议的数据帧格式如下:1. 串行通信格式:- 起始位:1个起始位- 数据位:8个数据位- 停止位:1个停止位- 奇偶校验位:无校验位2. 以太网通信格式:- 采用TCP/IP协议进行通信- 数据帧格式符合Modbus RTU格式五、协议功能码Modbus通讯协议定义了以下常用的功能码:1. 读取线圈状态:功能码为01,用于读取线圈寄存器的状态。
2. 读取输入状态:功能码为02,用于读取输入寄存器的状态。
3. 读取保持寄存器:功能码为03,用于读取保持寄存器的值。
4. 读取输入寄存器:功能码为04,用于读取输入寄存器的值。
5. 写入单个线圈:功能码为05,用于写入单个线圈寄存器的值。
6. 写入单个保持寄存器:功能码为06,用于写入单个保持寄存器的值。
7. 写入多个线圈:功能码为15,用于写入多个线圈寄存器的值。
8. 写入多个保持寄存器:功能码为16,用于写入多个保持寄存器的值。
第二章:Modbus 通信协议说明Modbus 通信协议基本上是遵循Master and Slave 的通信步骤,有一方扮演Master 角色采取主动询问方式,送出Query Message 给Slave 方,然后由Slave 方依据接到的Query Message 内容准备Response Message 回传给Master 。
即使目前硬件通信已经可以达到双方互相主动通信的能力,但是于Modbus 通信协议的规定,必须一方为Master ,另一方为Slave 不能互换角色。
一般使用上,监控系统(HMI)都为Master ,PLC 、电表、仪表等都为Slave ,HMI 系统一直Polling Slave 的各种relay and register 最新数值,然后做显示及各种逻辑计算及控制调整等处理。
1 共享的通信协议1.1 Query and Response Cycle图(2-1):Master / Slave and Query / Response CycleDevice Address :表示该设备的编号,于同一个串行式网络上此为唯一的号码。
于TCP/IP 上可以使用IP Address 区分之,所以该Device Address 保留此字段可以使用或不使用。
Function Code :表示要求Slave 处理各种不同资料或程序的Command ,以不同的Function Number 来区分之。
Eight-Bit Data Bytes :依据Function Code 而有不同的详细资料定义,Slave 设备依据此两字段资料,做各种处理。
Error Check :当通信传送资料时,因考虑信号可能会受外界干扰,所以必须加上Error Check Code ,使得message 接收方可以就接到的资料再计算一次Code ,如果正确则做正常处理,不正确则不做处理。
于串行式通信规定有CRC and LRC 等两种方式。