您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页MODBUS_RTU通讯规约

MODBUS_RTU通讯规约

来源:五一七教育网
附录一:MODBUS_RTU通讯规约(本协议采用主从问答方式)

PDM系列仪表/变送器:

PDM系列仪表/变送器采用全新的设计,性地改变了传统电表的概念;具有多功能、高精度、数字式、可编程、结构紧凑、多画面显示的特点,它可以满足电力工业未来对电表的需求。

MODBUS通讯协议:

ModBus通讯规约允许PDM系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus兼容的监控系统之间进行信息交换和数据传送。

PDM系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套电力监控系统。

广泛的系统集成:

PDM系列仪表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的标准。

通讯数据的类型及格式:

信息传输为异步方式,并以字节为单位。在主站和从站之间传递的通讯信息是11位的字格式:

字格式(串行数据) 11位二进制 起始位 1位 数据位 8位 奇偶校验位 1位:有奇偶校验位/无:无奇偶校验位 停止位 1位:有奇偶校验位/2位:无奇偶校验位 ● 通讯数据(信息帧)格式

数据格式: 地址码 功能码 数据区 错误校检

数据长度: 1字节 1字节 N字节 16位CRC码(冗余循环码) ★ 注:1、1个字节由8位二进制数组成(既8 bit)。 2、ModBus是Modicon公司的注册商标。 3、“从机”在本文件中既为PDM。

一、通讯信息传输过程:

当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。如果CRC校验出错就不返回任何信息。

1.1 地址码:

地址码是每次通讯信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机 发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。相应的地址码表明该信息来自于何处。

1.2 功能码:

是每次通讯信息帧传送的第二个字节。ModBus通讯规约可定义的功能码为1到127。PDM系列仪表/变送器仅用到其中的一部分功能码。作为主机请求发送,通过功能码告诉从机应执行什么动作。作为从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。

表8.1 MODBUS部分功能码 功能码 定 义 操 作(二进制) 02 读开关量输入 读取一路或多路开关量状态输入数据 01 读开关量输出 读取一路或多路开关量输出状态数据 03 读寄存器数据 读取一个或多个寄存器的数据 05 写开关量输出 控制一路继电器“合/分”输出 06 写单路寄存器 把一组二进制数据写入单个寄存器 10 写多路寄存器 把多组二进制数据写入多个寄存器 1.3 数据区:

数据区包括需要由从机返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。例如,主机通过功能码03告诉从机返回寄存器的值(包含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。对于不同的从机,地址和数据信息都不相同(应给出通讯信息表)。

PDM系列仪表/变送器采用Modbus通讯规约,主机(PLC、RTU、PC机、DCS等)利用通讯命令(功能码03),可以任意读取其数据寄存器(其数据信息表详见附录)。PDM系列仪表/变送器的数据寄存器存储的电量多达几百个(如:电流、电压、功率、0~31次谐波分量等),并且都是16位(2字节)的二进制数据,并且高位在前;一次最多可读取寄存器数(既各种电量的数量)是50个。

PDM响应的命令格式是从机地址、功能码、数据区及CRC码。数据区的数据都是两个字节,并且高位在前(电能量除外)。

注:1、PDM-820AC/ACM/ACR、PDM-800AC/ACM具有“03”、“06”、“10”功能码; 2、如果PDM采用MODBUS ASCII通讯协议,其通讯数据格式为;7个数据位,1个 停止位,偶校验。

二、MODBUS功能码简介

2.1 功能码“02”:读1路或多路开关量状态输入

例如:主机要读取地址为01,开关量DI1—DI4的输入状态。 从机(PDM)数据寄存器的地址和数据为:

起始位地址 DI寄存器数据(16进制) 备 注

0000 主机发送的报文格式: 主机发送 从机地址 功能码 起始BIT位 读数据长度 CRC码 字节数 1 1 2 2 2 发送的信息 01 02 0000 0004 79C9 备 注 发送至地址为01的从机 读开关量输入状态 起始BIT位地址为0000 读取4路开关量输入状态位 由主机计算得到CRC码 备 注 来自从机01 读开关量输入状态 1个字节(8个BIT位) DI寄存器内容 由从机计算得到CRC码 0B DI1/DI2/DI4状态为“1”,DI3状态为“0”

从机(PDM)响应返回的报文格式: 从机响应 从机地址 功能码 数据长度 DI状态数据 CRC码 字节数 1 1 1 1 2 返回的信息 01 02 01 0B E04F

2.2 功能码“01”:读1路或多路开关量输出状态

例如:主机要读取地址为01,开关量DO1,DO2的输出状态。 从机(PDM)数据寄存器的地址和数据为:

起始位地址 DO寄存器数据(16进制) 备 注

0000 主机发送的报文格式: 主机发送 从机地址 功能码 起始BIT位 读数据长度 CRC码 字节数 1 1 2 2 2 发送的信息 01 01 0000 0002 BDCB 02 DO2输出状态为“1”,DO1输出状态为“0”

备 注 发送至地址为01的从机 读开关量输出状态 起始BIT位地址为0000 读取2路继电器输出状态位 由主机计算得到CRC码 备 注 来自从机01 读开关量输出状态 1个字节(8个BIT位) DO寄存器内容 由从机计算得到CRC码 从机(PDM)响应返回的报文格式: 从机响应 字节数 从机地址 1 功能码 1 数据长度 1 DO状态数据 1 CRC码 2

返回的信息 01 01 01 02 D049 2.3 功能码“03”:读多路寄存器输入

例如:主机要读取地址为01,起始地址为0116的3个从机寄存器数据。 从机(PDM)数据寄存器的地址和数据为:

寄存器地址 寄存器数据(16进制) 对应PDM电量 0116 0117 0118 1784 1780 178A UA UB UC

主机发送的报文格式:

主机发送 字节数 发送的信息 备 注 从机地址 1 01 发送至地址为01的从机 功能码 1 03 读取寄存器 起始地址 2 0116 起始地址为0116 数据长度 3 0003 读取3个寄存器(共6个字节) CRC码 2 E5F3 由主机计算得到CRC码

从机(PDM)响应返回的报文格式:

从机响应 字节数 返回的信息 备 注 从机地址 1 01 来自从机01 功能码 1 03 读取寄存器 读取字 1 06 3个寄存器共6个字节 寄存器数据1 2 1784 地址为0116内存的内容 寄存器数据2 2 1780 地址为0117内存的内容 寄存器数据3 2 178A 地址为0118内存的内容 CRC码 2 5847 由从机计算得到CRC码

2.4 功能码“05”:写1路开关量输出(“遥控”)

例1:开关量输出点DO1,其当前状态为“分”,主机要控制该路继电器“合”。

控制命令为:

“FF00”为控制继电器“合”; “0000”为控制继电器“分”;

主机发送的报文格式:

主机发送 字节数 发送的信息 备 注 从机地址 1 01 发送至地址为01的从机 功能码 1 05 写开关量输出状态 输出BIT位 2 0000 对应输出继电器BIT位(DO1) 控制命令 2 FF00 控制该路继电器输出为“合”状态位 CRC码 2 8C3A 由主机计算得到CRC码

从机(PDM)响应返回的报文格式:

与主机发送的报文格式及数据内容完全相同。

例2:开关量输出点DO2,其当前状态为“合”,主机要控制该路继电器“分”。 主机发送的报文格式: 主机发送 从机地址 功能码 输出BIT位 控制命令 CRC码 字节数 1 1 2 2 2 发送的信息 01 05 0001 0000 9C0A 备 注 发送至地址为01的从机 写开关量输出状态 对应输出继电器BIT位(DO2) 控制该路继电器输出为“合”状态位 由主机计算得到CRC码

与主机发送的报文格式及数据内容完全相同。

2.5 功能码“06”:写单路寄存器

例如:主机要把数据07D0,保存到地址为002C的从机寄存器中去(从机地址码为01)。通讯数据保存结束后,地址为002C的PDM表原存储信息为:

地址 原来存储数据(16进制) 002C 04B0

主机发送的报文格式:

主机发送 字节数 发送的信息 从机地址 1 01 功能码 1 06 起始地址 2 002C 写入数据 2 07D0 CRC码 2 4BAF

从机(PDM)响应返回的报文格式:

从机(PDM)响应返回的报文格式:

举例 发送至地址为01的从机 写单路寄存器 要写入的寄存器地址 对应的新数据 由主机计算得到的CRC码

与主机发送的报文格式及数据内容完全相同。

2.6功能码“10”:写多路寄存器

主机利用这个功能码把多个数据保存到PDM表的数据存储器中去。Modbus通讯规约中的寄存器指的是16位(即2字节),并且高位在前。这样PDM的存储器都是二个字节。由于Modbus通讯规约允许每次最多保存60个寄存器,因此PDM一次也最多允许保存60个数据寄存器。

例如:主机要把00,0010保存到地址为002C,002D的从机寄存器中去(从机地址码为01)。通讯数据保存结束后,地址为002C/002D的PDM表内存储信息为:

地址 002C 002D

原来存储数据(16进制) 04B0 1388 主机发送的报文格式:

主机发送 字节数 发送信息 举例 从机地址 1 01 发送至从机01 功能码 1 10 写多路寄存器 起始地址 2 002C 要写入的寄存器的起始地址 保存数据字长度 2 0002 保存数据的字长度(共2字) 保存数据字节长 1 04 保存数据的字节长度(共4字节) 保存数据1 2 04B0 数据地址002C 保存数据2 2 1388 数据地址002D CRC码 2 FC63 由主机计算得到的CRC码

从机(PDM)响应返回的报文格式:

从机响应 字节数 字节数 举例 从机地址 1 01 来自从机01 功能码 1 10 写多路寄存器 起始地址 2 002C 起始地址为002C 保存数据字长度 2 0002 保存2个字长度的数据 CRC码 2 8001 由从机计算得到的CRC码

三、错误校验码(CRC校验):

主机或从机可用校验码进行判别接收信息是否正确。由于电子噪声或一些其它干扰,信息在传输过程中有时会发生错误,错误校验码(CRC)可以检验主机或从机在通讯数据传送过程中的信息是否有误,错误的数据可以放弃(无论是发送还是接收),这样增加了系统的安全和效率。

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

在进行CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算。

● CRC码的计算方法是:

1.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器; 2.把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低 8位相异或,把结果放于CRC寄存器;

3.把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位; 4.如果移出位为0:重复第3步(再次右移一位);

如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或; 5.重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理; 6.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理;

7.将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低 字节进行交换;

8.最后得到的CRC寄存器内容即为:CRC码。

四、通讯错误信息及数据的处理:

当PDM表检测到除了CRC码出错以外的错误时,必须向主机回送信息,功能码的最高位置为1,即从机返送给主机的功能码是在主机发送的功能码的基础上加128 。以下的这些代码表明有意外的错误发生。

PDM从主机接收到的信息如有CRC错误,则将被PDM表忽略。 PDM返送的错误码的格式如下(CRC码除外): 地址码: 1字节

功能码: 1字节(最高位为1) 错误码: 1字节 CRC码:2字节。

PDM响应回送如下错误码: 81.非法的功能码。

接收到的功能码PDM表不支持。 82.非法的数据位置。

指定的数据位置超出PDM表的范围。 83.非法的数据值。

接收到主机发送的数据值超出PDM相应地址的数据范围。

附录二:PDM-820/800AC系列通讯数据表(遥测部分)

说明:PDM-8X0AC代表PDM-820AC及PDM-800AC两种产品;

820AC系列包括AC/ACM/ACR三种产品,800AC系列包括AC/ACM两种产品。

常规电量寄存器地址和通讯数据表(***PDM-800AC仅有瞬时值测量功能)

电量 瞬时值地址 平均值地址 最大值地址 最小值地址 Uan 0116 H 013D H 01 H 018B H Ubn 0117 H 013E H 0165 H 018C H Ucn 0118 H 013F H 0166 H 018D H Uab 0119 H 0140 H 0167 H 018E H Ubc 011A H 0141 H 0168 H 018F H Uca 011B H 0142 H 0169 H 0190 H Ia 011C H 0143 H 016A H 0191 H Ib 011D H 0144 H 016B H 0192 H Ic 011E H 0145 H 016C H 0193 H In 011F H 0146 H 016D H 0194 H W 0120 H 0147 H 016E H 0195 H VAR 0121 H 0148 H 016F H 0196 H VA 0122 H 0149 H 0170 H 0197 H PF 0123 H 014A H 0171 H 0198 H FREQ 0124 H 014B H 0172 H 0199 H W A 0125 H 014C H 0173 H 019A H W B 0126 H 014D H 0174 H 019B H W C 0127 H 014E H 0175 H 019C H VAR A 0128 H 014F H 0176 H 019D H VAR B 0129 H 0150 H 0177 H 019E H VAR C 012A H 0151 H 0178 H 019F H VA A 012B H 0152 H 0179 H 01A0 H VA B 012C H 0153 H 017A H 01A1 H VA C 012D H 0154 H 017B H 01A2 H PF A 012E H 0155 H 017C H 01A3 H PF B 012F H 0156 H 017D H 01A4 H PF C 0130 H 0157 H 017E H 01A5 H KF Va 0131 H 0158 H 017F H 01A6 H KF Vb 0132 H 0159 H 0180 H 01A7 H KF Vc 0133 H 015A H 0181 H 01A8 H KF Ia 0134 H 015B H 0182 H 01A9 H KF Ib 0135 H 015C H 0183 H 01AA H KF Ic 0136 H 015D H 0184 H 01AB H 保留 0137 H 015E H 0185 H 01AC H 保留 0138 H 015F H 0186 H 01AD H 保留 0139 H 0160 H 0187 H 01AE H 备 注 A相相电压 B相相电压 C相相电压 AB相线电压 BC相线电压 CA相线电压 A相电流 B相电流 C相电流 不平衡电流 有功功率 无功功率 视在功率 功率因数 频率 A相有功功率 B相有功功率 C相有功功率 A相无功功率 B相无功功率 C相无功功率 A相视在功率 B相视在功率 C相视在功率 A相功率因数 B相功率因数 C相功率因数 A相电压K值 B相电压K值 C相电压K值 A相电流K值 B相电流K值 C相电流K值

地址 电量越上限检测标志位(*除PDM-8X0AC外适用) 字节位 15 14 / 13 / 12 11 / / / / A 电压 10 9 8 7 6 B 5 C 4 A 3 B 2 C 1 0 / 0 / 电压谐波分量 电流谐波分量 REV IMB / A 电流 B C 电量 N W VAR VA PF FQ 01CA H / 01CB H AN BN CN AB BC CA 01CC H 保留 电量越下限检测标志位(*除PDM-8X0AC外适用) 地址 01CE H / 01D0 H

地址 01DA H / / / 15 14 13 12 11 / / 电压 A 10 9 / / / 电压 A 15 14 13 12 11 / / / 10 9 字节位 8 7 6 B 5 C 4 A 3 B 2 C 1 电压谐波分量 电流谐波分量 REV IMB / A 电流 B C 电量 N W VAR VA PF FQ 01CF H AN BN CN AB BC CA 保留 注:地址01CA H-01CF H寄存器内为上、下限标志位,位为1表示超过(上限)

0 / 0 / 或低于(下限),位为0表示没有超限。 继电器1状态输出标志位(*除PDM-8X0AC外适用) 字节位 8 7 6 B 5 C 4 A 3 B 2 C 1 状态 电压谐波分量 电流谐波分量 REV IMB 电量 N W VAR VA PF FQ / ON LK A 电流 B C 01DB H AN BN CN AB BC CA 01DC H 保留 继电器2状态输出标志位(*除PDM-8X0AC外适用) 地址 01DE H / / / 15 14 13 12 11 / / 电压 A 10 9 字节位 8 7 6 B 5 C 4 A 3 B 2 C 1 状态 电压谐波分量 电流谐波分量 REV IMB 电量 N W VAR VA PF FQ / ON LK A 电流 B C 01DF H AN BN CN AB BC CA 01E0 H 保留 注:地址01DA H-01E0 H 寄存器内为继电器1和2 的状态位,状态位ON位为1表

示继电器动作,为0没有触发,状态位LK:为1 表示继电器闭锁,为0没有闭锁。 其他位:为1表示相关电量值触发继电器动作,为0则没有触发继电器动作。

电能量寄存器地址和通讯数据表

电能量是以ASCII码的方式存储的,转换为BCD码总长度为16位,后3位为小数位 如:+WH读取值为“30303030353434323330313032323638” +WH实际值为“544230102.268”

正向有功电能量 电 量 +WH +WH +WH +WH +WH +WH +WH +WH 正向无功电能量 字 0(高位) 1 2 3 4 5 6 7(低位) 地 址 01B2 H 01B3 H 01B4 H 01B5 H 01B6 H 01B7 H 01B8 H 01B9 H 电 量 +VARH +VARH +VARH +VARH +VARH +VARH +VARH +VARH 地址 01BA H 01BB H 01BC H 01BD H 01BE H 01BF H 01C0 H 01C1 H 字 0(高位) 1 2 3 4 5 6 7(低位) 视在电能量 电 量 VAH VAH VAH VAH 地址 01C2 H 01C3 H 01C4 H 01C5 H 字 0(高位) 1 2 3 电 量 VAH VAH VAH VAH 地址 01C6 H 01C7 H 01C8 H 01C9 H 字 4 5 6 7(低位) 反向有功电能量(*除PDM-8X0AC外适用) 电 量 -WH -WH -WH -WH -WH -WH -WH -WH 反向无功电能量(*除PDM-8X0AC外适用) 电 量 -VARH -VARH -VARH -VARH -VARH -VARH -VARH -VARH 地址 09BA H 09BB H 09BC H 09BD H 09BE H 09BF H 09C0 H 09C1 H 字 0(高位) 1 2 3 4 5 6 7(低位) 地址 09C2 H 09C3 H 09C4 H 09C5 H 09C6 H 09C7 H 09C8 H 09C9 H 字 0(高位) 1 2 3 4 5 6 7(低位) PDM-800AC的电能量通讯信息表(仅适用于PDM-800AC)

*PDM-800AC的电能量存储共有2种方式:

(一)以ASCII码方式存储,通讯信息表参见上页。

(二)采用16进制双字(4个字节)存储,高位在前,详见下表,但定货前必须说明! 有功电能量 无功电能量 视在电能量 电 量 WHa WHa WHb WHb WHc WHc WH总 WH总 地 址 01B2 H 01B3 H 01B4 H 01B5 H 01B6 H 01B7 H 01B8 H 01B9 H 字 (高位) (低位) (高位) (低位) (高位) (低位) (高位) (低位) 电 量 VARHa VARHa VARHb VARHb VARHc VARHc VARH总 VARH总 地 址 01BA H 01BB H 01BC H 01BD H 01BE H 01BF H 01C0 H 01C1 H 字 (高位) (低位) (高位) (低位) (高位) (低位) (高位) (低位) 电 量 VAHa VAHa VAHb VAHb VAHc VAHc VAH总 VAH总 地 址 01C2 H 01C3 H 01C4 H 01C5 H 01C6 H 01C7 H 01C8 H 01C9 H 字 (高位) (低位) (高位) (低位) (高位) (低位) (高位) (低位) 清除电能值的寄存器地址和通讯数据表 地址 15 0504 H / 14 / 13 / 12 / 11 / / / / / / 10 9 字节位 8 7 6 5 X 4 N 3 2 1 0

清除标志 电能量标志位 WH VARH VAH / 注:1、“X”为“1”时,如果“WH”/“VARH”/“VAH”的BITE位为“1”,则清除对应电能表底值。

2、“X”和“N”均为“1”时,如果“WH/VARH/VAH”的BITE位也均为“1”,则清除全部电能值。

总谐波崎变系数寄存器地址和通讯数据表(*除PDM-8X0AC外适用) 谐波分量 THD Va THD Vb THD Vc THD Ia THD Ib THD Ic 最小 01FC H 01FD H 01FE H 01FF H 0201 H 0202 H 瞬时 01EA H 01EB H 01EC H 01ED H 01EE H 01EF H 最大 01F6 H 01F7 H 01F8 H 01F9 H 01FA H 01FB H 注:每两个字节表示固定小数点位置的百分比。

0-31次谐波分量寄存器地址和通讯数据表(*除PDM-8X0AC外适用)

电压Ua谐波分量 百分比 0次谐波 0202 H 1次谐波 0204 H 30次谐波 023E H 31次谐波 0240 H 0次谐波 1次谐波 相位 0203 H 0205 H 电压Ub谐波分量 百分比 相位 0次谐波 0282 H 0283 H 1次谐波 0284 H 0285 H 30次谐波 31次谐波 02BE H 02C0 H 02BF H 02C1 H 023F H 0241 H 电压Uc谐波分量 百分比 0302 H 0304 H 相位 0303 H 0305 H 0次谐波 1次谐波 电流Ia谐波分量 百分比 0382 H 0384 H 相位 0383 H 0385 H 0次谐波 1次谐波 30次谐波 31次谐波 033E H 0340 H 033F H 0341 H 30次谐波 31次谐波 03BE H 03C0 H 03BF H 03C1 H 电流Ib谐波分量 百分比 0402 H 0404 H 相位 0403 H 0405 H 0次谐波 1次谐波 电流Ic谐波分量 百分比 0482 H 0484 H 相位 0483 H 0485 H 30次谐波 31次谐波 043E H 0440 H 043F H 0441 H 30次谐波 31次谐波 04BE H 04C0 H 04BF H 04C1 H

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务