MODBUS协议简介
modbus协议

modbus协议协议名称:Modbus协议1. 引言Modbus协议是一种通信协议,用于在自动化领域中的设备之间进行数据传输。
本协议旨在规范数据传输的格式和通信规则,以实现设备间的互联互通。
本协议适用于各种工业自动化设备,包括传感器、执行器、控制器等。
2. 目的本协议的目的是定义一套标准的通信规则,使得不同厂商生产的设备能够互相通信和交换数据。
通过使用Modbus协议,可以简化设备之间的集成和通信配置,提高自动化系统的可靠性和效率。
3. 术语和定义在本协议中,以下术语和定义适用:3.1 主站(Master):指发起通信请求的设备。
3.2 从站(Slave):指响应主站通信请求的设备。
3.3 寄存器(Register):指存储和传输数据的内存单元。
3.4 线圈(Coil):指存储和传输布尔类型数据的内存单元。
3.5 功能码(Function Code):指用于标识通信请求类型的数值。
4. 协议格式Modbus协议采用简单的请求-响应模式进行通信。
通信数据包由以下几个部分组成:4.1 地址字段(Address Field):用于标识从站设备的地址。
4.2 功能码字段(Function Code Field):用于标识通信请求的类型。
4.3 数据字段(Data Field):用于传输数据。
4.4 校验字段(Checksum Field):用于校验数据的完整性。
5. 支持的功能码Modbus协议支持以下功能码:5.1 读取线圈状态(Read Coil Status):用于读取从站设备中线圈的状态。
5.2 读取输入状态(Read Input Status):用于读取从站设备中输入的状态。
5.3 读取保持寄存器(Read Holding Registers):用于读取从站设备中保持寄存器的值。
5.4 读取输入寄存器(Read Input Registers):用于读取从站设备中输入寄存器的值。
5.5 强制单个线圈(Force Single Coil):用于设置从站设备中指定线圈的状态。
Modbus协议讲解

Modbus协议讲解协议名称:Modbus协议1. 简介Modbus协议是一种通信协议,用于在自动化领域中的设备之间进行数据交换。
它是一种开放的协议,广泛应用于工业自动化、能源管理、建筑自动化等领域。
本文将详细介绍Modbus协议的结构、功能和应用。
2. 协议结构Modbus协议采用主从结构,其中主设备负责发起通信请求,从设备负责响应请求并提供数据。
协议基于传统的串行通信和现代以太网通信两种物理层。
2.1 串行通信在串行通信中,Modbus协议使用RS-232、RS-422或RS-485等物理层标准。
通信帧由起始位、数据位、校验位和停止位组成。
主设备通过发送请求帧,从设备接收并响应。
2.2 以太网通信在以太网通信中,Modbus协议使用TCP/IP协议栈。
主设备和从设备通过以太网连接,并使用IP地址进行通信。
通信帧以TCP报文的形式传输,包括源IP地址、目标IP地址、源端口号、目标端口号和Modbus数据。
3. 功能Modbus协议定义了一系列功能码,用于实现不同的数据交换操作。
以下是常用的功能码及其功能:3.1 读取线圈状态(功能码0x01)主设备向从设备发送请求,读取从设备的线圈状态。
从设备将线圈状态以位的形式返回给主设备。
3.2 读取输入状态(功能码0x02)主设备向从设备发送请求,读取从设备的输入状态。
从设备将输入状态以位的形式返回给主设备。
3.3 读取保持寄存器(功能码0x03)主设备向从设备发送请求,读取从设备的保持寄存器。
从设备将保持寄存器的值以字的形式返回给主设备。
3.4 读取输入寄存器(功能码0x04)主设备向从设备发送请求,读取从设备的输入寄存器。
从设备将输入寄存器的值以字的形式返回给主设备。
3.5 写单个线圈(功能码0x05)主设备向从设备发送请求,写入从设备的单个线圈。
从设备将操作结果返回给主设备。
3.6 写单个寄存器(功能码0x06)主设备向从设备发送请求,写入从设备的单个保持寄存器。
Modbus协议

1.Modbus 协议1.1 Modbus协议简介Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年为使用可编程逻辑控制器(PLC)而发表的协议。
是全球第一个真正用于工业现场的总线协议。
现已经成为工业领域通信协议标准,并且成为工业电子设备之间最常用的连接方式。
控制器通过Modbus协议,经串行网络、以太网(或其它网络)和各设备之间进行通信。
Modbus协议主要包括Modbus RTU、Modbus ASCII、Modbus TCP。
Modbus协议是一个master/slave 架构的协议。
有一个节点是master 节点,其他使用Modbus协议参与通信的节点是slave 节点。
每一个slave 设备都有一个唯一的地址。
1.2 Modbus协议特点开放、通用的工业标准;可靠且免费;兼容性好,支持多种物理接口,如:RS-232、RS-485、RS-422、以太网等;支持多种传输介质,如普通线缆、双绞线、光纤、无线等;报文格式简单、紧凑、易懂、容易开发和使用;很容易支持不同接口的协议转换;1.3 Modbus协议架构Modbus协议包括Modbus RTU、Modbus ASCII、Modbus TCP协议。
1.4 Modbus主/从协议在同一时刻,只有一个主节点,一个或多个子节点连接于同一个串行总线。
Modbus 通信总是由主节点发起,子节点在没有收到来自主节点的请求时,从不会发送数据,子节点之间从不会互相通信。
主节点在同一时刻只会发起一个Modbus事务处理。
主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文。
一个Modbus 事务处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。
每个子节点必须有唯一的地址,这样才能区别于其它节点被独立的寻址。
2.Modbus RTU2.1 Modbus RTU 帧格式报文开始至少需要有3.5个字符的静止时间,根据使用的通讯参数,很容易计算这个静止时间。
Modbus 协议详解

Modbus 协议详解协议概述:Modbus 是一种通信协议,用于在工业自动化系统中实现设备之间的通信。
它最初是由 Modicon 公司于1979年开发的,现已成为工业领域中最常用的通信协议之一。
Modbus 协议简单、易于实现和维护,适用于各种设备和通信介质。
1. Modbus 协议结构:Modbus 协议基于主从架构,其中主机负责发起通信请求,而从机负责响应请求并提供数据。
协议包括以下几个重要的组成部分:1.1 帧结构:Modbus 帧由起始位、地址字段、功能码、数据字段和校验字段组成。
起始位是一个长时间低电平信号,用于同步传输。
地址字段指定从机的地址。
功能码用于指示所需的操作类型,如读取数据或写入数据。
数据字段包含要传输的数据。
校验字段用于检测数据传输的完整性。
1.2 功能码:Modbus 定义了一系列功能码,用于不同类型的操作。
常见的功能码包括读取线圈状态、读取输入状态、读取保持寄存器、读取输入寄存器、写单个线圈、写单个寄存器等。
1.3 数据模型:Modbus 定义了一种简单的数据模型,包括线圈、输入状态、保持寄存器和输入寄存器。
线圈和输入状态是布尔类型的数据,保持寄存器和输入寄存器是16位的二进制数据。
2. Modbus RTU 协议:Modbus RTU 是 Modbus 协议的一种常用实现方式,它使用二进制编码进行数据传输。
Modbus RTU 帧结构包括起始位、从机地址、功能码、数据字段、校验字段和结束位。
起始位和结束位都是逻辑高电平信号。
3. Modbus TCP 协议:Modbus TCP 是 Modbus 协议的另一种常用实现方式,它使用 TCP/IP 网络进行数据传输。
Modbus TCP 帧结构与 Modbus RTU 相比有所不同,它将起始位、从机地址和功能码替换为 TCP/IP 头部信息,数据字段和校验字段保持不变。
4. Modbus 功能码详解:4.1 读取线圈状态(功能码 01):该功能码用于读取线圈的状态,返回的数据是布尔类型。
Modbus通讯协议详解

Modbus通讯协议详解一、概述Modbus通讯协议是一种用于工业自动化领域的通讯协议,它允许不同的设备之间进行数据交换。
本文将详细介绍Modbus通讯协议的基本原理、通讯方式、数据帧格式以及常用功能码等内容。
二、基本原理Modbus通讯协议采用主从结构,其中主机负责发起通讯请求,从机负责响应请求并返回数据。
通讯过程中,主机通过发送请求帧来读取或写入从机的数据。
从机收到请求后进行相应的处理,并将结果返回给主机。
三、通讯方式Modbus通讯协议支持串行通讯和以太网通讯两种方式。
1. 串行通讯串行通讯采用RS-232或RS-485等物理层接口,通讯速率可根据实际需求进行设置。
在串行通讯中,主机通过发送特定的数据帧来与从机进行通讯。
2. 以太网通讯以太网通讯采用TCP/IP协议栈,通讯速率较高。
主机通过发送TCP报文与从机进行通讯,其中Modbus协议位于应用层。
四、数据帧格式Modbus通讯协议中的数据帧由起始符、地址、功能码、数据、校验等字段组成。
1. 起始符起始符用于标识数据帧的开始,通常为一个字节的0xFF。
2. 地址地址字段用于指定从机的地址,主机通过地址来选择与哪个从机进行通讯。
地址长度为一个字节,取值范围为1-247。
3. 功能码功能码用于指定通讯请求的类型,不同的功能码对应不同的操作。
常用的功能码包括读取线圈状态、读取输入状态、读取保持寄存器、写单个寄存器等。
4. 数据数据字段用于存储通讯请求或响应的数据。
数据的长度和格式取决于具体的功能码和操作类型。
5. 校验校验字段用于检测数据的完整性,常用的校验算法包括CRC校验和LRC校验。
五、常用功能码Modbus通讯协议定义了一系列功能码,用于实现不同的通讯操作。
1. 读取线圈状态(功能码:0x01)该功能码用于读取从机中的线圈状态,线圈状态为开(1)或闭(0)。
2. 读取输入状态(功能码:0x02)该功能码用于读取从机中的输入状态,输入状态为开(1)或闭(0)。
Modbus 协议详解

Modbus 协议详解一、引言Modbus协议是一种通信协议,用于在自动化系统中实现设备之间的通信。
它是一种开放的协议,广泛应用于工业控制领域。
本文将详细解释Modbus协议的工作原理、通信方式和数据传输格式。
二、工作原理Modbus协议采用主从结构,其中一个设备作为主站,其他设备作为从站。
主站负责发起通信请求,从站则响应请求并提供所需的数据。
通信可以通过串行或以太网进行。
三、通信方式1. 串行通信Modbus协议支持RS-232、RS-485和RS-422等串行通信方式。
在串行通信中,使用二进制传输数据。
主站通过发送请求帧来向从站请求数据,从站则通过发送响应帧来回复请求。
2. 以太网通信Modbus协议还支持基于以太网的通信方式,使用TCP/IP协议进行数据传输。
在以太网通信中,主站通过建立TCP连接向从站发送请求,从站则通过TCP连接回复响应。
四、数据传输格式Modbus协议定义了几种常用的数据传输格式,包括寄存器读写、线圈读写和离散输入读取。
1. 寄存器读写寄存器读写是最常用的数据传输方式之一。
主站可以通过读取和写入寄存器来获取或修改从站的数据。
读取寄存器时,主站发送读取请求帧,从站则回复包含所需数据的响应帧。
写入寄存器时,主站发送写入请求帧,从站则回复确认帧。
2. 线圈读写线圈读写用于读取和写入从站的开关状态。
主站可以通过读取和写入线圈来获取或修改从站的开关状态。
读取线圈时,主站发送读取请求帧,从站则回复包含开关状态的响应帧。
写入线圈时,主站发送写入请求帧,从站则回复确认帧。
3. 离散输入读取离散输入读取用于读取从站的离散输入状态。
主站可以通过读取离散输入来获取从站的输入状态。
读取离散输入时,主站发送读取请求帧,从站则回复包含输入状态的响应帧。
五、通信协议Modbus协议定义了一套通信规则,包括帧格式、地址解析和错误处理。
1. 帧格式Modbus协议的帧格式包括起始符、地址、功能码、数据和校验等字段。
modbus协议

modbus协议协议名称:Modbus协议一、引言Modbus协议是一种通信协议,用于在不同设备之间进行数据传输和通信。
该协议最初由Modicon公司于1979年开发,用于PLC(可编程逻辑控制器)与其他外部设备之间的通信。
Modbus协议现已成为工业自动化领域中最常用的通信协议之一,并广泛应用于监控系统、工业控制、能源管理等领域。
二、目的本协议的目的是定义Modbus通信协议的标准格式,以确保不同厂商的设备可以互相通信和交换数据。
该协议旨在提供一种简单、可靠、高效的通信方式,使不同设备之间的数据传输更加便捷和可靠。
三、协议规范1. 物理层Modbus协议可以通过串行通信(如RS-232、RS-485)或以太网通信进行传输。
具体的物理层规范应根据实际应用场景和设备要求来确定。
2. 数据帧格式Modbus协议采用了一种简单的主从结构,其中包括了读取和写入操作。
数据帧格式如下:- 起始符:起始符标识了一个数据帧的开始,通常为一个字节。
- 地址:地址用于指定通信中的从设备或寄存器。
地址通常为一个字节。
- 功能码:功能码用于指定所需执行的操作类型,如读取或写入数据。
- 数据:数据字段包含了要读取或写入的实际数据。
- 校验和:校验和用于验证数据在传输过程中的完整性。
3. 功能码Modbus协议定义了一系列功能码,用于指定不同的操作类型。
常见的功能码包括:- 读取线圈状态:用于读取线圈(开关量输出)的状态。
- 读取输入状态:用于读取输入(开关量输入)的状态。
- 读取保持寄存器:用于读取保持寄存器(16位数据)的值。
- 读取输入寄存器:用于读取输入寄存器(16位数据)的值。
- 写入单个线圈:用于写入单个线圈的状态。
- 写入单个寄存器:用于写入单个寄存器的值。
- 写入多个线圈:用于同时写入多个线圈的状态。
- 写入多个寄存器:用于同时写入多个寄存器的值。
4. 数据类型Modbus协议支持多种数据类型的读写操作,包括布尔型、整型、浮点型等。
MODBUS协议详细讲解

MODBUS协议详细讲解MODBUS协议是一种用于工业自动化领域的通信协议,它被广泛应用于各种设备间的数据交换和通信。
本文将详细介绍MODBUS协议的原理、结构和工作方式,以及其常见的应用场景和优势。
一、协议概述MODBUS协议是一种基于主从结构的通信协议,它定义了一系列规范和命令格式,用于实现不同设备之间的数据传输和通信。
该协议最早由Schneider Electric公司于1979年提出,目前已成为工业自动化领域最常用的通信协议之一。
MODBUS协议主要分为MODBUS ASCII和MODBUS RTU两种传输模式,其中MODBUS RTU是应用最广泛的一种模式,采用二进制编码来进行数据传输,具有较高的效率和可靠性。
二、协议结构MODBUS协议主要由两个部分组成:应用层和传输层。
1. 应用层:应用层定义了MODBUS协议中的命令格式和数据格式。
它主要包含了读取和写入数据的命令,如读取线圈状态、读取输入状态、读取保持寄存器和读取输入寄存器等。
这些命令可以通过主设备向从设备发送,并获取相应的响应。
2. 传输层:传输层定义了MODBUS协议中数据的传输方式和物理层面的连接。
MODBUS RTU采用串行通信方式,使用RS-485或RS-232接口进行连接,而MODBUS ASCII则采用ASCII字符进行传输。
三、工作方式MODBUS协议的工作方式通常涉及一个主设备和多个从设备之间的通信。
1. 主设备:主设备负责发送命令并接收从设备的响应。
它可以是一个计算机、PLC或其他支持MODBUS协议的设备。
2. 从设备:从设备接收主设备发送的命令,并做出相应的响应。
从设备通常是传感器、执行器、数据采集设备等。
在通信过程中,主设备通过MODBUS协议中定义的命令向从设备发送读取或写入数据的请求,从设备接收到命令后进行处理,并将结果通过响应报文返回给主设备。
四、应用场景MODBUS协议在工业自动化领域有广泛的应用,特别适用于以下场景:1. 监控系统:MODBUS协议可用于实时监控和控制工业设备,如温度监测、湿度监测、电流监测等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章MODBUS协议简介MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。
MODBUS协议在一根通讯线上使用RS485应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。
MODBUS协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
1.1传输方式传输方式是一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS 协议– RTU方式相兼容的传输方式。
◆Coding System 二进制编码8位◆Start bit 起始位1位◆Data bits 数据位8位◆Parity 校验无奇偶校验◆Stop bit 停止位1位◆Error checking 错误检测CRC(循环冗余校验)[注]瑞士DAE公司的网络电力仪表响应查询信号的时间为0.1 ~ 1.0秒(典型值为0.4秒)1.2协议当数据帧到达终端设备时,它通过一个简单的“口”进入寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。
返回的响应数据中包含了以下内容:终端从机地址(Address)、被执行了的命令(Function)、执行命令生成的被请求数据(Data)和一个校验码(Check)。
发生任何错误都不会有成功的响应。
1.2.1数据帧格式图 1 – 1 .数据帧格式1.2.2地址(Address)域地址域在帧的开始部分,由一个字节8位(0 ~ 255)组成,这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。
每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。
当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。
1.2.3功能(Function)域功能域代码告诉了被寻址到的终端执行何种功能。
表1 – 1列出了所有的功能码、它们的意义及它们的初始功能。
1.2.4数据域数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。
这些数据的内容可能是数值、参考地址或者设置值。
例如:功能域码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同内容而有所不同。
1.2.5错误校验域该域允许主机和终端检查传输过程中的错误。
有时,由于电噪声和其它干扰,一组数据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的方法(CRC16)。
[注] 发送序列总是相同的–地址、功能码、数据和与方向相关的出错校验。
1.3错误检测循环冗余校验(CRC)域占用两个字节,包含了一个16位的二进制值。
CRC值由传送设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC域中的值进行比较,如果这两个值不相等,就发生了错误。
CRC运算时,首先将一个16位的寄存器预置为全1,然后连续把数据帧中的每个字节中的8位与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成CRC,起始位和终止位以及可能使用的奇偶位都不影响CRC。
在生成CRC时,每个字节的8位与寄存器中的内容进行异或,然后将结果向低位移位,高位则用“0”补充,最低位(LSB)移出并检测,如果是1,该寄存器就与一个预设的固定值(0A001H)进行一次异或运算,如果最低位为0,不作任何处理。
上述处理重复进行,知道执行完了8次移位操作,当最后一位(第8位)移完以后,下一个8位字节与寄存器的当前值进行异或运算,同样进行上述的另一个8次移位异或操作,当数据帧中的所有字节都作了处理,生成的最终值就是CRC值。
生成一个CRC的流程为:1、预置一个16位寄存器为0FFFFH(全1),称之为CRC寄存器。
2、把数据帧中的第一个字节的8位与CRC寄存器中的低字节进行异或运算,结果存回CRC寄存器。
3、将CRC寄存器向右移一位,最高位填以0,最低位移出并检测。
4、如果最低位为0:重复第三步(下一次移位)。
如果最低位为1:将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。
5、重复第三步和第四步直到8次移位。
这样处理完了一个完整的八位。
6、重复第2步到第5步来处理下一个八位,直到所有的字节处理结束。
7、最终CRC寄存器得值就是CRC的值。
注:CRC范例请看附录。
第二章MODBUS功能详解本章的目标是为使用DAE网络电力仪表构造系统的程序员定义特定有效命令的通用格式,在每条数据查询格式说明的后面有一个该数据查询所执行的功能的解释和一个例子。
第一章已经简述了协议和数据帧,使用DAE网络电力仪表的程序员可以使用下述的方法以便通过协议正确的建立他们的特定应用程序。
注:Addr:从机地址Fun:功能码Data start reg hi:数据起始地址寄存器高位Data start reg lo:数据起始地址寄存器低位Data #of reg hi:数据读取个数寄存器高位Data #of reg lo:数据读取个数寄存器低位CRC16 Hi: 循环冗余校验高位CRC16 Lo: 循环冗余校验低位图 2 – 1 协议例述2.1读数字输出状态(功能码01)查询数据帧此功能允许用户获得仅仅通过从机地址控制的隔离输出DO的状态On / Off(1 = on , 0 = off),除了从机地址和功能域,数据帧还需要在数据域中包含将被读取DO的初始地址和要读取的DO数量,DO的地址从0000H开始(DO1=0000H,DO2=0001H)。
图2 – 2 的例子是从地址为17的从机读取DO1到DO6的状态。
(例如SRTU510有6个DO,DO的数量应该为0001~0006)图 2 – 2 读DO1~DO6的查询数据帧响应数据帧响应包含从机地址、功能码、数据的数量和CRC错误校验,数据包中每个DO占用一位(1 = on , 0 = off),第一个字节的最低位为寻址到的DO值,其余的在后面。
图2 – 3 所示为读数字输出状态(DO1 = off , DO2=on,DO3=off,DO4=on,DO5=off,DO6 = on)响应的实例。
图 2 – 3 读DO1~DO6状态的响应数据帧2.2读数字输入状态(功能码02)查询数据帧此功能允许用户获得DI的状态On / Off(1 = on , 0 = off),除了从机地址和功能域,数据帧还需要在数据域中包含将被读取DI的初始地址和要读取的DI数量,DI的地址从0000H 开始(DI1=0000H,DI2=0001H依此类推)。
图 2 – 4 的例子是从地址为17的从机读取DI1到DI16的状态。
(例如SRTU510有16个DI,DI的数量为1~16)图 2 – 4 读DI1到DI4的查询响应据数帧响应包含从机地址、功能码、数据的数量和CRC错误校验,数据帧中每个DI占用一位(1 = on , 0 = off),第一个字节的最低位为寻址到的DI值,其余的在后面。
图2 –5 所示为读数字输出状态( DI1=on, DI2=on, DI3=off, DI4=off , DI5=on, DI6=on, DI7=off, DI8=off , DI9=off, DI10=off, DI11=on, DI12=on, DI13=off, DI14=off, DI15=on, DI16=on)图 2 – 5 读DI1到DI16状态的响应2.3读数据(功能码03)查询数据帧此功能允许用户获得采集与记录到的数据及DAE产品的系统参数。
图2 – 6 的例子是从17号从机(EPM420)读3个采集到的基本数据U1,U2,U3, EPM420中U1的地址为0000H, U2的地址为0001H, U3的地址为0002H,图 2 – 6 读Uca和Ia的查询数据帧响应数据帧响应包含从机地址、功能码、数据的数量和CRC错误校验。
图 2 – 6的例子是读取U1,U2,U3(U1=03E8H,U2=03E7H,U3=03E9H)的响应。
图 2 – 7读U1,U2,U3 的响应数据帧2.4控制DO (功能码05)查询数据帧该数据帧强行设置一个独立的DO为On 或Off,DAE产品内部的任何DO都可以设置为任意的状态。
既然此仪器是以动态扫描方式工作的,除非DO被禁止,总可以改变DO 的状态,DO的地址从0000H开始(DO1 = 0000H,DO2 = 0001H),数据FF00H将设DO 为On状态,而0000H则关闭为Off 状态; 所有其它的值都被忽略并且不影响DO。
下面的例子是请求17号从机开DO1的On状态。
图示2-8 控制独立的DO查询响应数据帧对这个命令请求的正常响应是在DO状态改变以后传送接收到的数据。
图示2-9 控制独立DO的响应响应2.5预置多寄存器(功能码16)查询数据帧功能码16(十进制)(2进制为10H)允许用户改变多个寄存器的内容,DAE产品的系统内部的任何多寄存器都可以使用此命令来改变其值。
既然仪器是以动态扫描方式工作的,任何时刻都可以改变单寄存器内容。
下面的例子是请求17号从机(EPM420)静态复位正向有功电度EP+(178077833Kwh). EP+的地址是0040H,EPM420中的数据为16位存储,EP+占用2个16位,共4个字节。
图示2-10 静态复位EP+查询响应数据帧对于预置单寄存器请求的正常响应是在寄存器值改变以后将接收到的数据传送回去。
图示2-11 静态复位EP+响应。