热门关键词: EOCR-IFM420EO����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������CRiFM420-WRDUW����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ������Z施耐德通讯马达保护器 EOCRFE420-80duhEOCRFE4����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������20-05DUH智能型数码电动����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������机保护器 EOCR-EVRPD-44����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ������UEVRPD-44U施耐德电压保护继电器 EOCR-FEZ-80cuhEOC����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������RFEZ-05AUH施耐德数码漏电����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������接地保护器 EOCR3EZ-05CUH 80����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������CUHEOCR-3EZ施耐德数码漏电保护����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������器升级款 EOCR-FE420EOCRFE420-80DU����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������H施耐德数码型保护器 EOCR-3E420EO����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������CR3E420-80DUH施����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������耐德智能电动机保护器 EVRPD-3P44EVR����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ������PD-44U施耐德电压保护继电器 EOCRFDE-80DUHEOCRF����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������DE-05DUH 施耐德电流数码保护器����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������� EOCR3DE-80DUHEO����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ������CR3DE-05DUH施耐德智能电机保护继电器 EOCRSS-05WEOCRSS韩国施����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������耐德经济型电流保护器 EOCR-3MZ2EOCR3MZ2-WRA����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������UWZ施耐德漏电保护器 EOCR-3MZ2EOCR3MZ2-wrcu����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������wz施耐德一体保护器 EOCRIFMZ-WRAUWZ韩国数����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������码电流保护器 EOCRFMZ2(沧一附件����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������) EOCRSE2-05RSEOCR-SE2施耐德����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������交流AC电流保护器
产品分类

PRODUCT CLAS����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������SIFICATION

技术文章/ article

您的位置:首页  ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������-  技术文章  -&nb����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������sp; Modbus通讯协议是原来是这样的!

Modbus通讯协议是原来是这样的!

更新时间:2021-04-����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������09  ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������;    ����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������;浏览次数:472

ModBus网络是一个工业通信系统����� �������Ƴ����������� �������Ƴ����������� �������Ƴ����������� �������Ƴ�������,由带智能终端的可编程序控制器和计����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������算机通过公用线路或局部砖用线路连接而成。其系统结构既包括硬件、亦包括����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������软件。它可应用于各种数据采集和过程监控����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。

ModBus网络只有一个主机,所����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������有通信都由他发出。网络可支持����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������247个之多的远程从属控制器,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ������但实际所支持的从机数要由所用通信设备决定。采用这����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ������个系统,各PC可以和中心主机交换信息而不����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ������影响各PC执行本身的控制任务。

 

了解Modbus通讯协议是怎么回事,在现场就����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������可以用各种第三方的小软件做����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������通讯测试了。

 

Modbus协议包括ASC����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������II、RTU、TCP等,并没有规定物����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ������理层。此协议定义了控制器能够认识和使用的����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������消息结构,而不管它们是经过����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������何种网络进行通信的。标准的Modicon控����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������制器使用RS232C实现串����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������行的Modbus。Modbus的ASCII����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������、RTU协议规定了消息、数据的结构、命令和就答的����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������方式,数据通讯采用Mase����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������r/Slave方式,Master端发出数据请求消����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������息,Slave端接收到正确消息后就����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������可以发送数据到Master端以����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������响应请求;Master端也可以直����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������接发消息修改Slave端的数据,实现双����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������向读写。Modbus协议需要对数据进行校验,����� �������Ƴ����������� �������Ƴ������������ �������Ƴ����������� �������Ƴ�������串行协议中除有奇偶校验外,ASCI����� �������Ƴ����������� �������Ƴ������������ �������Ƴ����������� �������Ƴ�������I模式采用LRC校验,RTU模式采用16位����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������CRC校验,但TCP模式没有额外规����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������定校验,因为TCP协议是一个面向连接的可靠协议����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。另外,Modbus采用主从方式定时收发����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������数据,在实际使用中如果某Slav����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������e站点断开后(如故障或关机)����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������,Master端可以诊断出来,而当故障����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������修复后,网络又可自动接通。因此,Modbus协议的可靠性。

对于Modbus的ASC����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������II、RTU和TCP协议来说,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������其中TCP和RTU协议非常类似,我们只要把RT����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������U协议的两个字节的校验码去掉,然后����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������在RTU协议的开始加上5����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������个0和一个6并通过TCP/IP网络协议发送出����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������去即可。

 

1
通讯传送方式:

通讯传送分为独立的信息头,和发送的编码����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������数据。以下的通讯传送方式定义也与ModBus����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������RTU通讯规约相兼容:

初始结构 = ≥4字节的时间

地址码 = 1 字节

功能码 = 1 字节

数据区 = N 字节

错误校检 = 16位CRC码

结束结构 = ≥4字节的时间

地址码:地址码为通讯传送的弟一个字节。这个����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������字节表明由用户设定地址码的从机将接收由主机����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������发送来的信息。并且每个从机都有具����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������有维一的地址码,并且响应回送����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������均以各自的地址码开始。主机发送����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������的地址码表明将发送到的从机����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������地址,而从机发送的地址码表明回送����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的从机地址。

功能码:通讯传送的第二个字节。ModBus����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������通讯规约定义功能号为1到127。本仪表只����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������利用其中的一部分功能码。作为主机请求发送����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������,通过功能码告诉从机执行什么动作。作为从机����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������响应,从机发送的功能码与从主机发送来����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的功能码一样,并表明从机已����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������响应主机进行操作。如果从机发����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������送的功能码的醉高位为1(����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������比如功能码大与此同时127),则表明从机没有响����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������应操作或发送出错。

数据区:数据区是根据不同的功能码而����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������不同。数据区可以是实际数值����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������、设置点、主机发送给从机����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ������或从机发送给主机的地址。

CRC码:二字节的错误检测码。

 

2
通讯规约:

当通讯命令发送至仪器时,符合相应地����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������址码的设备接通讯命令,并除去地址码,读取����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������信息,如果没有出错,则执行相����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������应的任务;然后把执行结果返送给发送者。返送的信����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������息中包括地址码、执行动作的功能码、����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������执行动作后结果的数据以及错误校验码。如果出错就����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������不发送任何信息。

1.信息帧结构

地址码 功能码 数据区 错误校验码

8位 8位 N ×����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������� 8位 16位

地址码:地址码是信息帧的弟一字节(����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������8位),从0到255。这个字节表明由用户设置����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������地址的从机将接收由主机发送来的信息。每����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������个从机都必须有围一的地址码,并且����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������只有符合地址码的从机才能响应回送。当从����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������机回送信息时,相当的地址码表明该信息来自于何处����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。

功能码:主机发送的功能码告诉从机执����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������行什么任务。表1-1列出的功能码都有����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������具体的含义及操作。

数据区:数据区包含需要从机执行什么动作或由从机采����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������集的返送信息。这些信息可以是数值、参考地址等等����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������。例如,功能码告诉从机读取寄存器的值����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������,则数据区必需包含要读取寄存����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������器的起始地址及读取长度。对于不同的从机,地����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������址和数据信息都不相同。

错误校验码:主机或从机可用校验码进����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������行判别接收信息是否出错。有时,由����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������于电子噪声或其它一些干扰,信息在传输过程����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������中会发生细微的变化,错误校验码保证了主机或从机����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������对在传送过程中出错的信息不起作用。����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������这样增加了系统的安全和效率。错误校����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������验采用CRC-16校验方法����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������。

注:信息帧的格式都基本相同����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������:地址码、功能码、数据区和错误校验码����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。

2.错误校验

冗余循环码(CRC)包含2个字节,即16����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������位二进制。CRC码由发送设备计算,放置����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������于发送信息的尾部。接收信息的设备再����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������重新计算接收到信息的 CR����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������C码,比较计算得到的CRC码����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������是否与接收到的相符,如果两者不相符,则表明����� �������Ƴ����������� �������Ƴ����������� �������Ƴ����������� �������Ƴ�������出错。

 

3
Modbus支持的功能码:

功能码

名称

作用

1

读取线圈状态

取得一组逻辑线圈的当前状����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������态(ON/OFF)

2

读取输入状态

取得一组开关输入的当前状态(ON/OFF)����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

3

读取保持寄存器

在一个或多个保持寄存器中取得当前的二����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������进制值

4

读取输入寄存器

在一个或多个输入寄存器中取得当前的二进制值����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������

5

强置单线圈

强置一个逻辑线圈的通断状态

6

预置单寄存器

把具体二进值装入一个保持寄存器����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������

7

读取异常状态

取得8个内部线圈的通断状态,这8个线圈的地址由����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������控制器决定

8

回送诊断校验

把诊断校验报文送从机,以对通信处理进行评����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������鉴

9

编程(只用于484)

使主机模拟编程器作用,修改PC从机逻辑

10

控询(只用于484)

可使主机与一台正在执行长程序任务从机通信,探����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������询该从机是否已完成其操作任����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������务,仅在含有功能码9的报文发送后,本功能码才发����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������送

11

读取事件计数

可使主机发出单询问,并随即判定操作是否成功,尤其����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������是该命令或其他应答产生通信错误时

12

读取通信事件记录

可是主机检索每台从机的ModBus事务处理通信事����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������件记录。如果某项事务处理完成,记录会给出有关错����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������误

13

编程(184/384 484 584)����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

可使主机模拟编程器功能修改PC从机逻辑����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

14

探询(184/384 48����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������4 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

保留

用于异常应答

 

4
功能码命令详解:

在这些功能码中较长使用的是1、2、3、4、5、����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������6号功能码,使用它们即可实现对下位机的数����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������字量和模拟量的读写操作。����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

1、01号命令,读可读写数字量����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������寄存器(线圈状态):

计算机发送命令:[设备地址] [命令号����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������01] [起始寄存器地址高8位] [低8位] ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������[读取的寄存器数高8位] [低8位] [����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������CRC校验的低8位] [CRC校����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������验的高8位]

例:[11][01][00����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������][13][00][25][CRC����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������低][CRC高]

意义如下:

<1>设备地址:在一个����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������485线上可以挂接多个设备,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������此处的设备地址表示想和哪一个设备通讯。例子����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������中为想和17号(十进制的1����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������7是十六进制的11)通讯。

<2>命令号01:读取数字量的命����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������令号固定为01。

<3>起始地址高8位、低����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������8位:表示想读取的开关量的����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������起始地址(起始地址为0)。比如例子中的起始地����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������址为19。

<4>寄存器����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ�������数高8位、低8位:表示从起始地址����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������开始读多少个开关量。例子中为37����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������个开关量。

<5>CRC校验:是从开头一直校验到����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������此之前。

设备响应:[设备地址] [命令号01] [返回����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������的字节个数][数据1][数据2]..����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������.[数据n] [CRC校验的高8����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������位] [CRC校验的低8位]


例:[11][01][05][CD����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������][6B][B2][0E][1B] [CRC高����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������] [CRC低]

意义如下:

<1>设备地址和命令号和上面的相同。

<2>返回的字节个数:表����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������示数据的字节个数,也就是数据1,2.����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������..n中的n的值。

<3>数据1...n:����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������由于每一个数据是一个8位的数,所以每����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������一个数据表示8个开关量的值����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������,每一位为0表示对应的开关断开,为1表示����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������闭合。比如例子中,表示20号(索����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������引号为19)开关闭合,21号断开,22闭合,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������23闭合,24断开,25断开,26闭合,27����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������闭合...如果询问的开关量不是8的整倍数,那么����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������最后一个字节的高位部分无意义,置为0。

<4>CRC校验同上。����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������

2、05号命令,写数字量(线圈状态):

计算机发送命令:[设备地址] [����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������命令号05] [需下置的寄存器地址高8位]����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������ [低8位] [下置的数据高8位] [低8位]����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������� [CRC校验的低8位] [����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ������CRC校验的高8位]


例:[11][05][00][AC][FF][����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������00][CRC高][CRC低]

意义如下:

<1>设备地址和上面的相同。

<2>命令号:写数����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������字量的命令号固定为05。

<3>需下置的寄����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������存器地址高8位,低8位:表明了����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ������需要下置的开关的地址。

<4>下置的数据高8位,低8位����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������:表明需要下置的开关量的状态。例子中为把该开����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������关闭合。注意,此处只可以是[F����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������F][00]表示闭合[00][00]表示断开,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������其他数值非法。

<5>注意此命令一条只能����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ�������下置一个开关量的状态。

设备响应:如果成功把计算机发����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������送的命令原样返回,否则不响应。

3、03号命令,读可读写模拟量寄����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������存器(保持寄存器):

计算机发送命令:[设备地址] [����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ������命令号03] [起始寄存器地址高8位] [低8位����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������] [读取的寄存器数高8位] [����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������低8位] [CRC校验的高8位] [����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������CRC校验的低8位]


例:[11][03][0����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������0][6B][00][03����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������] [CRC高][CRC低]

意义如下:

<1>设备地址和上面的相同。

<2>命令号:读模拟量的����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������命令号固定为03。

<3>起始地址高8位、低8位:表����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������示想读取的模拟量的起始地址(起始地址为0)。比如����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ������例子中的起始地址为107。����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

<4>寄存器数高8����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������位、低8位:表示从起始地址开始读多少个模拟量����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。例子中为3个模拟量。注意,在返回的信息����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������中一个模拟量需要返回两个字节����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������。

设备响应:[设备地址] [命令号����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������03] [返回的字节个数]����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������[数据1][数据2]...[数����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������据n] [CRC校验的高8位����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������] [CRC校验的低8位]


例:[11][03][06][02][2����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������B][00][00][00][����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������64] [CRC高] [CRC低]

意义如下:

<1>设备地址和命令号和上����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������面的相同。

<2>返回的字节个数:表示数����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������据的字节个数,也就是数据1,2.����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������..n中的n的值。例子中返回了3个模拟量的数据,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������因为一个模拟量需要2个字节所以共6个字节。

<3>数据1...n:其中[数����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������据1][数据2]分别是第1个模拟量的高8位和低����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������8位,[数据3][数据4]是第2个模拟����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������量的高8位和低8位,以此类推。例子中返回����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的值分别是555,0,100。

<4>CRC校验同上。

4、06号命令,写单个模拟量寄存器(保持����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������寄存器):

计算机发送命令:[设备地址] [命令号06����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������] [需下置的寄存器地址高8位] [低8����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������位] [下置的数据高8位] [低8位] [CRC����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������校验的高8位] [CRC校验的低8位����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������]


意义如下:

<1>设备地����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������址和上面的相同。

<2>命令号:写模拟量����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的命令号固定为06。

<3>需下置的寄存器地址高8位,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������低8位:表明了需要下置的模拟����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������量寄存器的地址。

<4>下置的数据高8位,低8����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������位:表明需要下置的模拟量数据。比如例����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������子中就把1号寄存器的值设为3。

<5>注意此命令一条����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������只能下置一个模拟量的状态。����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

设备响应:如果成功把计算机发送的命令原样����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������返回,否则不响应。

5、16号命令,写多个模拟量寄存器(保����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������持寄存器):

计算机发送命令:[设备地址] ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������[命令号16] [需下置的寄存����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������器地址高8位] [低8位] ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������[数据数量高8位] [数据数量低8����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������位] [下置的数据高8位����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������] [低8位][……][……] [����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������CRC校验的高8位] [CR����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������C校验的低8位]

例:[11][16][00][01][00]����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ�������[01][00][05] [CRC高����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ������] [CRC低]

意义如下:

<1>设备地址和上面的相同。����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������

<2>命令号:写模拟量的����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������命令号固定为16。

<3>需下置的寄存器地址高8位����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������,低8位:表明了需要下置的模拟量寄存器����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的地址。

<4>需下置的数据数量高8����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������位,低8位:表明了需要下置的数据数量����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������,这里为1。

<5>下置的数据高8位,低8位:����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������表明需要下置的模拟量数据。比如例子中就把����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������1号寄存器的值设为5。

设备响应:如果成功把计算机返回的如下命令,����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������否则不响应。

设备响应:[设备地址] [命令����� �������Ƴ����������� �������Ƴ������������ �������Ƴ������������ �������Ƴ�������号16] [需下置的寄存器地����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������址高8位] [低8位] [数据数量高8位]����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������� [数据数量低8位] [CR����� �������Ƴ������������ �������Ƴ����������� �������Ƴ������������ �������Ƴ�������C校验的高8位] [CRC校验����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������的低8位],如上例返回:

[11][16][00][01][00][0����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������1] [CRC高] [CRC低]

  • 企业名称:

    上海韩施电气自动化设备有限公����� �������Ƴ������������ �������Ƴ����������� �������Ƴ����������� �������Ƴ������司

  • 联系电话:

    021-62308119

  • 公司地址:

    上海市宝山区市一路199号1楼2392����� �������Ƴ������������ �������Ƴ������������ �������Ƴ����������� �������Ƴ������A

  • 企业邮箱:

    1234065@qq.com

微信二维码

网站二维码

Copyright © 2024����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������上海韩施电气自动化设备有限公司 All����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ������� Rights Reserved����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������   ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������; 

技术支持:化工仪器网    ����� �������Ƴ����������� �������Ƴ����������� �������Ƴ������������ �������Ƴ�������管理登录   ����� �������Ƴ������������ �������Ƴ������������ �������Ƴ������������ �������Ƴ�������;