YDA通讯协议Word文档格式.docx

上传人:b****5 文档编号:17507186 上传时间:2022-12-06 格式:DOCX 页数:15 大小:38.20KB
下载 相关 举报
YDA通讯协议Word文档格式.docx_第1页
第1页 / 共15页
YDA通讯协议Word文档格式.docx_第2页
第2页 / 共15页
YDA通讯协议Word文档格式.docx_第3页
第3页 / 共15页
YDA通讯协议Word文档格式.docx_第4页
第4页 / 共15页
YDA通讯协议Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

YDA通讯协议Word文档格式.docx

《YDA通讯协议Word文档格式.docx》由会员分享,可在线阅读,更多相关《YDA通讯协议Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

YDA通讯协议Word文档格式.docx

初始结构

地址码

功能码

数据区

错误校验

结束结构

延时(相当于4个字节的时间)

1字节

8位

N字节

2字节

16位

4.1.1.地址码(ADD)

地址码为每次通讯传送的信息帧中的第一个数据帧(8位),从0到255。

这个字节表明由用户设定地址码的子机将接收由主机发送来的信息。

并且每个子机都有唯一的地址码,并且响应回送均以各自的地址码开始。

主机发送的地址码表明将发送到的子机地址,而子机发送的地址码表明回送的子机地址。

4.1.2.功能码(CS)

功能码是每次通讯传送的信息帧中的第二个数据帧。

ModBus通讯规约定义功能码为1~127(01H~7FH)。

YD2032A利用其中的一部分功能码。

作为主机请求发送,通过功能码告诉子机执行什么动作。

作为子机响应,子机发送的功能码与主机发送来的功能码一样,并表明子机已响应主机进行操作。

如果子机发送的功能码的最高位是1(功能码>127),则表明子机没有响应或出错。

下表列出的功能码都具体的含义及操作。

MODBUS部分功能码

定义

操作

03H

读寄存器

读取一个或多个寄存器的数据

06H

写单个寄存器

把一个16位二进制数写入单个寄存器

1、03,读寄存器

YD2032A智能表采用ModBus通讯规约,利用通讯命令,可以进行读取点(保持寄存器或返回值输入寄存器)。

功能码03H映射的数据区的保持和输入寄存器值都是16位(2字节)。

这样从YD2032A读取的寄存器值都是2字节。

一次最多可读取寄存器数是125。

由于一些可编程控制器不用功能码03,所以功能码03被用作读取点和返回值。

子机响应的命令格式是子机地址、功能码、数据区及CRC码。

数据区的数据都是每2个字节为一组的双字节数,且高字节在前。

2、06,写单个寄存器:

主机利用这条命令把单点数据保存到YD2032A智能电力监测仪的存储器。

子机也用这个功能码向主机返送信息。

3、10,写多个点连续寄存器:

主机利用这条命令把多点数据保存到YD2032A系列数字式多功能电力监测仪的存储器。

Modbus通讯规约中的寄存器指的是16位(即2字节),并且高位在前。

这样YD2032A智能电力监测仪的点都是二字节。

用一条命令保存的最大点数取决于子机。

因为Modbus通讯规约允许最多保存60个寄存器,这样YD2032A系列智能电力监测仪允许一次最多可保存60个寄存器。

YD2032A智能电力监测仪的命令格式是子机地址、功能码、数据区及CRC码。

4.1.3.数据区(DATA):

数据区随功能码不同而不同。

由主机发送的读命令(03H)信息帧的数据区与子机应答信息帧的数据区是不同的,由主机发送的写命令(06H、10H)信息帧的数据区与子机应答信息帧的数据区是完全相同。

数据区包含需要子机执行什么动作或由子机采集的需要回送的信息。

这些信息可以是数值、参考地址等等。

例如,功能码告诉子机读取寄存器的数值,则数据区必须包含要读取寄存器的起始地址及读取长度(寄存器个数)。

a)与功能码03对应的数据区格式:

◆主机发送

数据顺序

1

2

数据含义

起始地址

读寄存器个数

字节数

◆子机应答

回送字节数

N个寄存器的数据

N

b)与功能码06对应的数据区格式:

写入寄存器的数据

c)与功能码10对应的数据区格式:

写入数据1

写入数据N

4.1.4.错误校验码(CRC):

主机或子机可用校验码进行判别接收信息是否出错。

有时,由于电子噪声或其他一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或子机对在传送过程中出错的信息不起作用。

这样增加了系统的安全和效率。

错误校验码采用CRC-16校验方法。

二字节的错误校验码,低字节在前,高字节在后。

注意:

信息帧的格式都是相同的:

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

4.2.错误校验

冗余循环码(CRC)包含2个字节,即16位二进制。

CRC码由发送端计算,放置于发送信息的尾部。

接收端的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果二者不相符,则表明出错。

CRC码的计算方法是,先预置16位寄存器全为。

再逐渐把每8位数据信息进行处理。

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

在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一位,用0填补最高位。

再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。

这个过程一直重复8次。

第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与上以上一样重复8次。

当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。

4.3.CRC-16码的计算步骤

1、置16位寄存器为十六进制FFFF(即全为1)。

称此寄存器为CRC寄存器。

2、把一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器。

3、把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(移出位)。

4、如果最低位为0:

复第3步(再次移位)。

如果最低位为1:

CRC寄存器与多项式A001(1010000000000001)进行异或。

5、重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。

6、重复步骤2到步骤5,进行下一个8位的处理。

7、最后得到的CRC寄存器即为CRC码,低字节在前,高字节在后。

4.4.信息帧格式举例

4.4.1.功能码03

子机地址为01,起始地址0032的3个寄存器。

此例中寄存器数据地址为:

地址

数据(16进制)

0032

EA60

0034

C350

0036

DB6C

主机发送

举例(16进制)

子机地址

01

送至子机01

03

读取寄存器

00

起始地址为0032

32

读取个数

读取3个寄存器(共6字节)

CRC码

A4

由主机计算得到的CRC码

04

子机响应

读取字节数

06

3个寄存器(共6字节)

寄存器数据1

EA

地址为0032内的内容

60

寄存器数据2

C3

地址为0034内的内容

50

寄存器数据3

DB

地址为0036内的内容

6C

D1

由子机计算得到的CRC码

3F

4.4.2.功能码06

子机地址为01,保存起始地址0002的2个值。

在此例中,数据保存结束后,子机中地址为0002内的内容为0002。

发送至子机01

单个数据(2字节)保存

起始地址为0002

02

保存数据

保存的数据为0002

A9

CB

来自子机01

单点保存

4.4.3.功能码10

子机地址为01,把0064保存到地址0000。

在此例中,数据保存结束后,地址为01的YD2032A系列智能电力监测仪内保存的信息为:

地址

0000

0064

10

多点保存

起始地址为0000

保存数据数

保存2点(共4字节)

保存数据1

数据地址为0002

64

保存数据2

数据地址为0000

B2

70

 

41

C8

4.5.出错处理

当YD2032A系列智能电力监测仪检测到了CRC码出错以外的错误时,必须向主机回送信息,功能码的最高位置为1,即子机返送给主机的功能码是在主机以送的功能码的基础上加128。

以下的这些代码表明有意外的错误发生。

从主机接收到的信息如有CRC错误,则将被YD2032A系列智能电力监测仪忽略。

子机返送的错误码的格式如下(CRC码除外)

地址码:

功能码:

1字节(最高位为1)

错误码:

CRC码:

YD2032A系列数字式多功能电力监测仪响应回送如下出错命令

非法的功能码。

接收到的功能码YD2032A系列智能电力监测仪不支持。

非法的数据位置。

指定的数据位置超出YD2032A系列智能电力监测仪范围

非法的数据值

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

附录一:

数据和地址

表1:

功能码03H所映射的数据区-基本数据:

基本数据(Basic)

序号

地址(Address)

项目(Item)

说明

0000H

Ua

相电压Ua

0002H

Uca

线电压Uca

3

0004H

Ia

A相电流

4

0006H

5

0008H

Pa

A相有功功率

6

000AH

PFa

A相功率因数

7

000CH

Qa

A相无功功率

8

000EH

Sa

A相视在功率

9

0010H

Ub

相电压Ub

0012H

Uab

线电压Uab

11

0014H

Ib

B相电流

12

0016H

13

0018H

Pb

B相有功功率

14

001AH

PFb

B相功率因数

15

001CH

Qb

B相无功功率

16

001EH

Sb

B相视在功率

17

0020H

Uc

相电压Uc

18

0022H

Ubc

线电压Ubc

19

0024H

Ic

C相电流

20

0026H

21

0028H

Pc

C相有功功率

22

002AH

PFc

C相功率因数

23

002C

Qc

C相无功功率

24

002EH

Sc

C相视在功率

25

0030H

I0

零序电流

26

0032H

Uav

三相平均相电压

27

0034H

Iav

三相平均相电流

28

0036H

F

频率

29

0038H

Psum

三相有功功率

30

003AH

PFav

三相总功率因数

31

003CH

Qsum

三相无功功率

003EH

Ssum

三相视在功率

33

0040H

PhaseRotation

表2:

功能码03H所映射的数据区-电能:

电能

项目

0042H

+Wh(L)

正向有功电能累加值低位字

0044H

+Wh(H)

正向有功电能累加值高位字

0046H

-Wh(L)

负向有功电能累加值低位字

0048H

-Wh(H)

负向有功电能累加值高位字

004AH

+Varh(L)

正向无功电能累加值低位字

004CH

+Varh(H)

正向无功电能累加值高位字

004EH

-Varh(L)

负向无功电能累加值低位字

0050H

-Varh(H)

负向无功电能累加值低高字

表3:

功能码03/06所映射的系统参数:

参数地址

初始状态

0300H

本机地址

1~247

0302H

被测系统负载接线方式

三相四线

一相二线

三相三线

三相三线平衡

一相三线

三相四线平衡

允许

0308H

波特率

1200

2400

4800

9600

19200

030AH

电压输入范围

150V

600V

030EH

PT

1~60000

0312H

CT

0340~035FH

厂家保留

附录二:

数据变换

所有从YD2032A响应输出的数据都被按一定公式规范成2个字节Rx,电能除外,为4个字节。

NO

公式

取值范围

符号

电压

V

U=Rx×

PT×

0.01

0~65535

Ue0

Ue

电流

A

I=Rx×

CT×

0.0001

Ie

Hz

F=Rx×

0.00106813

功率因数

PF

PF=Rx×

-10000~10000

PFs

+:

滞后负载/-:

超前负载

有功功率

W

P=Rx×

0.4

-32768~32768

P

无功功率

Q

Q=Rx×

视在功率

S

S=Rx×

0.2

Wh

Wh=Rx×

0~109

+Wh

-Wh

+Varh

-Varh

注:

当030A中的值为0时,上表中的0.4要换成0.1。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1