modbus功能码定义

合集下载

model_bus协议说明

model_bus协议说明

Modbus通信协议摘要:工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。

Modbus就是工业控制器的网络协议中的一种。

关键词:Modbus协议;串行通信;RS-232C一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或经由Modem组网。

控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据作出相应反应。

典型的主设备:主机和可编程仪表。

典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。

AM400_800系列-通讯-MODBUS元件地址编码和功能码定义

AM400_800系列-通讯-MODBUS元件地址编码和功能码定义

AM400_800系列-通讯-MODBUS元件地址编码和功能码定义AM400_800系列PLC内置MODBUS从站通讯协议说明协议驱动名称建议按通信⽹络类型分别命名为:INOV ANCE_A400_800_ModbusRTUINOV ANCE_ A400_800_ModbusTCP⽬录AM400_800系列PLC内置MODBUS从站通讯协议说明 (1)⽬录 (2)概述 (3)可访问I/Q线圈数量 (4)可访问的M寄存器数量 (4)1. ModbusRTU通讯帧格式说明 (5)1.1功能码0x01:读Q线圈 (5)1.2功能码0x02:读I线圈 (6)1.3功能码0x03:读M寄存器 (7)1.4 功能码0x05:写Q单线圈 (8)1.5 功能码0x06:写M单寄存器 (9)1.6 功能码0x0f:写Q多线圈 (10)1.7 功能码0x10:写M多寄存器 (11)1.8 错误响应帧 (12)2. ModbusTCP通讯帧格式说明 (13)2.1功能码0x01:读Q线圈 (13)2.2功能码0x02:读I线圈 (14)2.3功能码0x03:读M寄存器 (15)2.4 功能码0x05:写Q单线圈 (16)2.5 功能码0x06:写M单寄存器 (17)2.6 功能码0x0f:写Q多线圈 (18)2.7 功能码0x10:写M多寄存器 (19)2.8 错误响应帧 (20)概述本⽂档旨在说明将AM400、AM400_800、AC800等(以下简称AM400_800)系列PLC 作为MODBUS 从站进⾏访问时,需采⽤的通讯格式进⾏说明,并对访问其中各种软元件的索引编址⽅式进⾏了说明,便于MODBUS 主站侧的编程。

AM400_800的元件有Q 区,I 区,M 区这三种,分别都可以按位,按字节,按字和按双字进⾏访问。

寄存器地址索引规则:按bit 寻址按Byte 寻址按Word 寻址按DWord 寻址按bit 寻址按Byte 寻址按Word 寻址按DWord 寻址AM400_800的Word 型寄存器的起始地址,遵循的是起始地址为偶数Byte 地址;DWord 型寄存器的起始地址,遵循的是起始地址为偶数Word 地址对齐,其索引号呈2倍关系的原则。

modbus协议报文功能码

modbus协议报文功能码

modbus协议报文功能码介绍modbus协议是一种常用于工业控制系统的通信协议,用于在主控设备(如PLC)和从设备(如传感器、执行器)之间进行数据传输。

modbus协议报文是通信过程中的基本单位,其中功能码用于指示报文的目的和操作类型。

本文将深入探讨modbus协议报文中的功能码。

功能码的定义功能码是modbus协议报文的一个字段,用于指示报文的目的和操作类型。

在modbus协议中,功能码是一个8位的无符号整数,取值范围为1到255。

根据功能码的不同取值,报文可以分为读取数据、写入数据、控制设备等不同类型。

常见的功能码modbus协议定义了一些常见的功能码,用于满足各种不同的通信需求。

下面是一些常见的功能码及其对应的操作类型:读取操作1.读取线圈状态(功能码01):用于读取从设备的离散输出线圈的状态,返回线圈的状态值。

2.读取输入状态(功能码02):用于读取从设备的离散输入线圈的状态,返回线圈的状态值。

3.读取保持寄存器(功能码03):用于读取从设备的保持寄存器的值,返回寄存器的值。

4.读取输入寄存器(功能码04):用于读取从设备的输入寄存器的值,返回寄存器的值。

写入操作1.写单个线圈(功能码05):用于写入从设备的单个线圈的状态,将线圈的状态设置为指定的值。

2.写单个保持寄存器(功能码06):用于写入从设备的单个保持寄存器的值,将寄存器的值设置为指定的值。

3.写多个线圈(功能码15):用于写入从设备的多个线圈的状态,将多个线圈的状态设置为指定的值。

4.写多个保持寄存器(功能码16):用于写入从设备的多个保持寄存器的值,将多个寄存器的值设置为指定的值。

控制操作1.屏蔽写单个保持寄存器(功能码22):用于对从设备的保持寄存器进行位屏蔽写操作,根据指定的屏蔽值和数据值进行写入操作。

功能码的使用示例下面是一个使用modbus协议报文功能码的示例:1.首先,主控设备向从设备发送一个读取保持寄存器的报文,功能码为03。

Modbus功能码表

Modbus功能码表

Modbus功能码一览________________________________________Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

表1 ModBus功能码功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态08 回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10 控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11 读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12 读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。

如果某项事务处理完成,记录会给出有关错误13 编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑14 探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送15 强置多线圈强置一串连续逻辑线圈的通断16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器17 报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态18 (884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20 读取通用参数(584L)显示扩展存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64 保留作扩展功能备用65~72 保留以备用户功能所用留作用户功能的扩展编码73~119 非法功能120~127 保留留作内部作用128~255 保留用于异常应答Modbus网络只是一个主机,所有通信都由他发出。

Modbus功能码一览表(最全版)

Modbus功能码一览表(最全版)

Modbus功能码一览________________________________________Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

下表1是ModBus的功能码定义。

表1 ModBus功能码功能码名称作用01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02 读取输入状态取得一组开关输入的当前状态(ON/OFF)03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05 强置单线圈强置一个逻辑线圈的通断状态06 预置单寄存器把具体二进值装入一个保持寄存器07 读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态08 回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10 控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11 读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12 读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。

如果某项事务处理完成,记录会给出有关错误13 编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑14 探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送15 强置多线圈强置一串连续逻辑线圈的通断16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器17 报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态18 (884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20 读取通用参数(584L)显示扩展存储器文件中的数据信息21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64 保留作扩展功能备用65~72 保留以备用户功能所用留作用户功能的扩展编码73~119 非法功能120~127 保留留作内部作用128~255 保留用于异常应答Modbus网络只是一个主机,所有通信都由他发出。

ModBus通信协议的【功能码】

ModBus通信协议的【功能码】

ModBus通信协议的【功能码】
Modbus的功能码
ModBus 功能码与数据类型对应表:
RTU ⽅式读取整数据的例⼦:
解析⼀下:主机发送指令,访问从站地址为1,使⽤功能码03(读保持寄存器),起始地址⾼8位、低8位:表⽰想读取的模拟量的起始地址(起始地址为0)。

⽐如例⼦中的起始地址为38,⼗进制为:56。

寄存器数量⾼8位、低8位:表⽰从起始地址开始读多少个模拟量。

例⼦中为1个模拟量。

注意,在返回的信息中⼀个模拟量需要返回两个字节。

错误校验为CRC校验。

从站应答:设备地址和命令号和上⾯的相同。

返回的字节数:表⽰数据的字节个数,也就是数据1,2...n中的n的值。

例⼦中返回了1个模拟量的数据,因为⼀个模拟量需要2个字节所以共2个字节。

数据⾼低字节:41和24代表返回的1个模拟量的值,即⼗进制的16676。

错误校验为CRC校验。

Modbus常见功能码分析

Modbus常见功能码分析

Modbus 常见功能码分析
深圳神枪 1、 莫迪康中常见功能码描述:
寄存器 读取功能码
写入功能码功能码说明 输入继电器 02 —
02: 读取输入状态 输出继电器 01
05
15
01: 读取线圈状态 05: 强制单个线圈 15: 强制多个线圈 输入寄存器 04 —
04: 读输入寄存器 输出寄存器 03
06
16
03: 读保持寄存器 06: 预置单个寄存器 16: 预置多个寄存器
2、 国家标准中常见功能码描述:
3、分析:
读:功能码01为读内部比特量输出状态;如告警、变位、故障、异常等。

功能码02为读外部开关量输入状态;如光耦输入、继电器输入等。

功能码03为读内部输出量的寄存器;如一些配置参数、定值的读取等。

功能码04为读外部输入量的寄存器;如外部电压电流模拟量,温湿度等。

写:功能码05为写内部单个开关量状态;如光耦输出、继电器输出等。

功能码06为写内部单个寄存器的值;如更改配置参数、定值等。

功能码15为写内部多个开关量状态;如同05。

功能码16为写内部多个寄存器的值;如同06;对时是写多寄存器,用此功能码。

Modbus功能码一览表

Modbus功能码一览表
Modbus功能码一览
________________________________________
Modbus网络是一个工业通信系统由带智能终端的可编程序控制器和计算机通过公用线路
或局部专用线路连接而成。其系统结构既包括硬件、亦包 括软件。它可应用于各种数据采
代码 功能 数据类型
01 读 位
02 读 位
03 读 整型、字符型、状态字、浮点型
04 读 整型、状态字、浮点型
05 写 位
06 写 整型、字符型、状态字、浮点型 08 N/A 重复“回 Nhomakorabea反馈”信息
15 写 位
16 写 整型、字符型、状态字、浮点型
集和过程监控。下表1是ModBus的功能码定义。
表1 ModBus功能码
功能码 名称 作用
01 读取线圈状态 取得一组逻辑线圈的当前状态ON/OFF)
02 读取输入状态 取得一组开关输入的当前状态ON/OFF)
03 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值
但ASCII数据的译玛和处理更为容易一些 此外用RTU模式时报文字符必须以连续数据
流的形式传送用ASCII模式字符之间可产生长达1s的间隔以适应速度较快的机器。
表4给出了以RTU 方式读取整数据的例子
以RTU方式读取整数据的例子
主机请求
地址 功能码 第一个寄存器的高位地址 第一个寄存器的低位地址 寄存器的数量的
Modbus网络只是一个主机所有通信都由他发出。网络可支持247个之多的远程从
属控制器但实际所支持的从机数要由所用通信设备决定。采用这个系 统各PC可以和
中心主机交换信息而不影响各PC执行本身的控制任务。表2是ModBus各功能码对应的数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精心整理功能码名称作用
01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02读取输入状态取得一组开关输入的当前状态(ON/OFF)
03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05强置单线圈强置一个逻辑线圈的通断状态
06预置单寄存器把具体二进值装入一个保持寄存器
07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态
08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴
09编程(只用于484)
使主机模拟编程器作用,修改PC从机逻辑
10控询(只用于484)
可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的
报文发送后,本功能码才发送
11读取事件计数
可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时
12读取通信事件记录
可是主机检索每台从机的ModBus事务处理通信事件记录。

如果某项事务处理完成,记录会给出有关错误
13编程(184/384484584)可使主机模拟编程器功能修改PC从机逻辑
14探询(184/384484584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送
15强置多线圈强置一串连续逻辑线圈的通断
16预置多寄存器把具体的二进制值装入一串连续的保持寄存器
17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态
18(884和MICRO84)可使主机模拟编程功能,修改PC状态逻辑
19重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节
20读取通用参数(584L)显示扩展存储器文件中的数据信息
21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64保留作扩展功能备用
65~72保留以备用户功能所用
留作用户功能的扩展编码
73~119非法功能
120~127保留留作内部作用
128~255保留用于异常应答。

相关文档
最新文档