通信协议模板.docx

上传人:b****1 文档编号:116803 上传时间:2023-04-28 格式:DOCX 页数:27 大小:23.18KB
下载 相关 举报
通信协议模板.docx_第1页
第1页 / 共27页
通信协议模板.docx_第2页
第2页 / 共27页
通信协议模板.docx_第3页
第3页 / 共27页
通信协议模板.docx_第4页
第4页 / 共27页
通信协议模板.docx_第5页
第5页 / 共27页
通信协议模板.docx_第6页
第6页 / 共27页
通信协议模板.docx_第7页
第7页 / 共27页
通信协议模板.docx_第8页
第8页 / 共27页
通信协议模板.docx_第9页
第9页 / 共27页
通信协议模板.docx_第10页
第10页 / 共27页
通信协议模板.docx_第11页
第11页 / 共27页
通信协议模板.docx_第12页
第12页 / 共27页
通信协议模板.docx_第13页
第13页 / 共27页
通信协议模板.docx_第14页
第14页 / 共27页
通信协议模板.docx_第15页
第15页 / 共27页
通信协议模板.docx_第16页
第16页 / 共27页
通信协议模板.docx_第17页
第17页 / 共27页
通信协议模板.docx_第18页
第18页 / 共27页
通信协议模板.docx_第19页
第19页 / 共27页
通信协议模板.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通信协议模板.docx

《通信协议模板.docx》由会员分享,可在线阅读,更多相关《通信协议模板.docx(27页珍藏版)》请在冰点文库上搜索。

通信协议模板.docx

通信协议模板

OHR-C100系列三相综合电量表

通信协议

本规约采用Modbus规约RTU模式,可以方便地与多种组态软件相连接,其通讯驱动与ModiconModbus_RTU格式完全兼容。

1、字节格式:

每字节含8位二进制码,传输时加上一个起始位(0),一个停止位

(1),共10位。

其传输序列如上图所示,D0是字节的最低有效位,D7是字节的最高有效位。

先传低位,后传高位。

2、通讯数据格式

通讯时数据以字(WORD—2字节)的形式回送,回送的每个字中,高字节在前,低字节在后,如果2个字连续回送(如:

浮点或长整形),则高字在前,低字在后。

数据类型

寄存器数

字节数

说明

字节数据

1

1

整形数据

1

2

一次送回,高字节在前,低字节在后

长整形数

2

4

分两个字回送,高字在前,低字在后

浮点数据

3、帧格式

3.1读取仪表保持寄存器内容(功能码03H或04H)

3.1.1上位机发送的帧格式:

顺序

代码

示例

说明

1

仪表地址

1

仪表的通讯地址(1-255之间)

2

03H或04H

03H

功能码

3

起始寄存器地址高字节

01H

寄存器起始地址

4

起始寄存器地址低字节

00H

5

寄存器个数高字节

00H

寄存器个数

6

寄存器个数低字节

02H

7

CRC16校验低字节

C5H

CRC校验数据

8

CRC16校验高字节

F7H

3.1.2仪表回送的帧格式(数据正常)

顺序

代码

说明

1

仪表地址

仪表的通讯地址(1-255之间)

2

03H或04H

功能码

3

回送数据域字节数(M)

4

第一个寄存器数据

……

……

第N个寄存器数据

M+4

CRC校验低字节

M+5

CRC校验高字节

3.1.3如果起始寄存器地址或寄存器个数错误,仪表回送:

顺序

代码

示例

说明

1

仪表地址

1

仪表的通讯地址(1-255之间)

2

83H或84H

83H

功能码——针对03H,04H

3

02H

02H

错误代码

4

CRC校验低字节

F1H

5

CRC校验高字节

C0H

3.2设置仪表寄存器内容(功能码06H或10H或16H)

3.2.1.1功能码06H写单路,将一个字(2字节)数据写入仪表寄存器中,上位机发送的帧格式:

顺序

代码

示例

说明

1

仪表地址

1

仪表的通讯地址(1-255之间)

2

06H

06H

功能码

3

寄存器地址高字节

09H

寄存器地址0905H

4

寄存器地址低字节

05H

5

写入数据高字节

00H

写入数据43H

6

写入数据低字节

43H

7

CRC校验低字节

A6H

CRC校验数据A6DBH

8

CRC校验高字节

DBH

3.2.1.2仪表回送:

如果写入正确,则仪表回送相同的数据。

3.2.2.1功能码16H或10H写多路寄存器,上位机发送的帧格式:

顺序

代码

示例

说明

1

仪表地址

1

仪表的通讯地址(1-255之间)

2

16H或10H

10H

功能码

3

寄存器起始地址高字节

09H

寄存器地址0923H

4

寄存器起始地址低字节

03H

5

寄存器个数高字节

00H

00H

6

寄存器个数低字节

02H

字节数据、整形数据:

01H

浮点数据、长整形数:

02H

7

字节数(M)

4

字节数据、整形数据:

02H

浮点数、长整形数:

04H

8

数据高字节

00H

设置的数据为两个整形数10、50

数据次高字节

0AH

数据次低字节

00H

数据低字节

32H

M+8

CRC校验低字节

3DH

CRC校验数据

M+9

CRC校验高字节

78H

3.2.2仪表回送:

(写入成功)

顺序

代码

示例

说明

1

仪表地址

1

仪表的通讯地址(1-255之间)

2

16H或10H

10H

功能码

3

起始地址高字节

09H

寄存器起始地址0923H

4

起始地址低字节

03H

5

寄存器个数高字节

00H

寄存器个数2

6

寄存器个数低字节

02H

7

CRC校验低字节

54H

CRC校验数据

8

CRC校验高字节

B2H

3.2.3仪表回送:

(寄存器地址或数据错误)

顺序

代码

说明

1

仪表地址

仪表的通讯地址(1-255之间)

2

96H或90H或86H

功能码——针对16H,10H,06H

3

03H

错误代码

4

CRC校验低字节

5

CRC校验高字节

注:

以上介绍中CRC校验为16位,高字节在前,低字节在后。

4、通讯波特率:

通讯波特率可以在9600、19200、38400之间选择。

出厂时,仪表已设置某一波特率。

5、仪表地址:

仪表地址可以在1-255之间选择。

仪表出厂时,已设置某一地址。

6、通讯功能码:

03H或04H(召测数据)06H(10H或16H)(数据设置)

7、通讯数据CRC校验:

7.1校验多项式:

X16+X12+X5+1

7.2CRC检验码的计算例程见附录。

7.3CRC检验从第1字节开始至CRC校验高字节前面的字节数据结束。

8、仪表数据寄存器地址

表1寄存器地址表

寄存器地址

数据名称

量程系数

单位

数据格式

备注

常规数据功能码03H、04H读取;一次可最多读取123个连续字节;

电压

0100H

A相相电压

100

伏特

长整形

三相四线系统

0102H

B相相电压

100

伏特

长整形

三相四线系统

0104H

C相相电压

100

伏特

长整形

三相四线系统

0106H

A-B线电压

100

伏特

长整形

0108H

B-C线电压

100

伏特

长整形

010AH

C-A线电压

100

伏特

长整形

电流

010CH

A相电流

1000

安培

长整形

010EH

B相电流

1000

安培

长整形

0110H

C相电流

1000

安培

长整形

功率

0112H

A相有功功率

10

浮点形

0114H

B相有功功率

10

浮点形

0116H

C相有功功率

10

浮点形

0118H

总相有功功率

10

浮点形

011AH

A相无功功率

10

浮点形

011CH

B相无功功率

10

浮点形

011EH

C相无功功率

10

浮点形

0120H

总相无功功率

10

浮点形

0122H

A相视在功率

10

浮点形

0124H

B相视在功率

10

浮点形

0126H

C相视在功率

10

浮点形

0128H

总相视在功率

10

浮点形

功率因数

012AH

A相功率因数

1000

长整形

012CH

B相功率因数

1000

长整形

012EH

C相功率因数

1000

长整形

0130H

总相功率因数

1000

长整形

频率

0132H

频率

1000

赫兹

长整形

能量

0600H

正向有功电能

100

兆瓦时

长整形

0602H

反向有功电能

100

兆瓦时

长整形

0604H

正向无功电能

100

兆乏时

长整形

0606H

反向无功电能

100

兆乏时

长整形

0608H

总有功电能(绝对值)

100

兆瓦时

长整形

060AH

总无功电能(绝对值)

100

兆乏时

长整形

060CH

视在电能

100

兆伏安时

长整形

系统配置

0800H

仪表型号

---

---

ASSIC码

0805H

仪表软件版本

---

---

ASSIC码

080aH

仪表硬件版本

---

---

ASSIC码

080fH

通讯规约版本

---

---

ASSIC码

系统配置数据:

功能码03H读取;功能码10H写入,一次可最多写入120个连续字节即60个连续字;

0900H

当前日期和时间

---

---

---

见表2

0903H

电压倍率

1

整形

0904H

电流倍率

1

整形

0905H

接线方式

整形

0:

三相四线

1:

三相三线

2:

3V3A

0906H

通讯地址

整形

1-253

0907H

通讯速率

整形

0:

9600

1:

19200

2:

38400

报警参数设置数据

0A00H

电压报警上限

100

伏特

长整形

0A02H

电压报警下限

100

伏特

长整形

0A04H

电流报警上限

1000

长整形

0A06H

电流报警下限

1000

长整形

0A08H

工频周波报警上限

1000

赫兹

长整形

0A0AH

工频周波报警下限

1000

赫兹

长整形

0A0CH

功率因素报警上限

1000

长整形

0A0EH

功率因素报警下限

1000

长整形

0A10H

有功功率报警上限

10

瓦特

长整形

0A12H

有功功率报警下限

10

瓦特

长整形

0A14H

无功功率报警上限

10

长整形

0A16H

无功功率报警下限

10

长整形

0A18H

报警上限回差

%

长整形

0A1AH

报警下限回差

%

长整形

报警控制设置

0A50H

报警功能控制字

整形

控制功能见表4

命令寄存器

0B00H

写入不同命令,有不同作用,具体见命令列表

命令列表

2000H

清除电能

3000H

清除历史报警纪录

脉冲常数

0C00

有功电能脉冲常数

1

整形

0C01

无功电能脉冲常数

1

整形

0C02

总电能脉冲常数

1

整形

变送设置数据

0D00

变送输出选择

1

整形

0D01

变送下限电流对应值

1

整形

0D02

变送上限

长整形

0D04

变送下限

长整形

基波含有率

电流

1000H

A相基波电流含有率

100

整形

三相/单相系统

1001H

B相基波电流含有率

100

整形

三相系统

1002H

C相基波电流含有率

100

整形

三相系统

电压

1003H

A-B线电压基波含有率

100

整形

三相三线系统

1004H

B-C线电压基波含有率

100

整形

三相三线系统

1005H

C-A线电压基波含有率

100

整形

三相三线系统

1006H

A相电压基波含有率

100

整形

三相四线/单相系统

1007H

B相电压基波含有率

100

整形

三相四线系统

1008H

C相电压基波含有率

100

整形

三相四线系统

分次谐波占有率/有效值(工频:

2-31次谐波)

1100H

A相电流谐波含有率

见模板

见模板

见模板

三相/单相系统

1120H

B相电流谐波含有率

见模板

见模板

见模板

三相系统

1140H

C相电流谐波含有率

见模板

见模板

见模板

三相系统

1160H

AB线电压谐波含有率

见模板

见模板

见模板

三相三线系统

1180H

BC线电压谐波含有率

见模板

见模板

见模板

三相三线系统

11A0H

CA线电压谐波含有率

见模板

见模板

见模板

三相三线系统

11C0H

A相电压谐波含有率

见模板

见模板

见模板

三相四线系统

11E0H

B相电压谐波含有率

见模板

见模板

见模板

三相四线系统

1200H

C相电压谐波含有率

见模板

见模板

见模板

三相四线系统

分次谐波含有率/有效值-模板

基址

2次谐波含有率

100

%

整形

基址+1

3次谐波含有率

100

%

整形

基址+29

31次谐波含有率

100

%

整形

报警数据

2000H

历史报警个数

1

整形数

0-16

2001H

历史报警1

---

----

---

见历史报警数据模板

200AH

历史报警2

---

----

---

见历史报警数据模板

---

---

---

---

---

---

2052H

历史报警10

---

----

---

见历史报警数据模板

历史报警数据模板

基址

报警发生的时间

---

----

---

见表2

基址+3

报警原因

---

----

见表3

基址+4

报警数据

见常规数据表

长整形

基址+6

报警结束时间

---

----

见表2

表2日期和时间的格式

 

寄存器地址

高字节

低字节

寄存器0

年(BCD码)

月(BCD码)

寄存器1

日(BCD码)

时(BCD码)

寄存器2

分(BCD码)

秒(BCD码)

 

表3报警原因表

报警代码

报警原因

备注

1

DSP内部RAM自检出错

2

EEPROM自检出错

3

内部参数自检出错

4

RTC自检出错

20

电压越上限报警

21

电压越下限报警

22

电流越上限报警

23

电流越下限报警

24

工频周波越上限报警

25

工频周波越下限报警

26

功率因素越上限报警

27

功率因素越下限报警

28

有功功率越上限报警

29

有功功率越下限报警

30

无功功率越上限报警

31

无功功率越下限报警

表4报警功能控制字表

数值

功能

bit0

0

电压越上限报警功能关闭

1

电压越上限报警功能开启

bit1

0

电压越下限报警功能关闭

1

电压越下限报警功能开启

bit2

0

电流越上限报警功能关闭

1

电流越上限报警功能开启

bit3

0

电流越下限报警功能关闭

1

电流越下限报警功能开启

bit4

0

工频周波越上限报警功能关闭

1

工频周波越上限报警功能开启

bit5

0

工频周波越下限报警功能关闭

1

工频周波越下限报警功能开启

bit6

0

功率因素越上限报警功能关闭

1

功率因素越上限报警功能开启

bit7

0

功率因素越下限报警功能关闭

1

功率因素越下限报警功能开启

bit8

0

有功功率越上限报警功能关闭

1

有功功率越上限报警功能开启

bit9

0

有功功率越下限报警功能关闭

1

有功功率越下限报警功能开启

bit10

0

无功功率越上限报警功能关闭

1

无功功率越上限报警功能开启

bit11

0

无功功率越下限报警功能关闭

1

无功功率越下限报警功能开启

bit12

0

越上限报警功能关闭

1

越上限报警功能开启

bit13

0

越下限报警功能关闭

1

越下限报警功能开启

bit14

保留

bit15

保留

下传电度量

例如:

主机要下传整电能数据到地址为0x01的从机。

步骤一:

主机向从机发送的启动电能写入命令帧为

主机发送

字节序号

字节数

发送信息

备注

从机地址

B1

1

0x01

发送至地址为01的从机

功能码

B2

1

0x06

寄存器地址

B3-B4

2

0x0B00

命令寄存器地址

设置参数

B5-B6

2

0xC007

使能电能底数修改命令

CRC码

B7-B8

2

/

由主机计算得到CRC码

从机的响应数据帧与主机发送数据相同。

[主机发送]01060B00C0079A2C

[从机响应]01060B00C0079A2C

步骤二:

在五分钟之内,主机向从机发送的设置数据帧为:

主机发送

字节序号

字节数

发送的信息

备注

从机地址

B1

1

0x01

来自从机01

功能码

B2

1

0x10

下传电能数据

寄存器地址

B3-B4

2

0x0600

电能寄存器地址

寄存器长度

B5-B6

2

0x000C+1

寄存器长度+密码

字节数

B7

1

0x18+2

电能数据字节数+密码2字节

电能数据

B8-B31

24

 

要下传的电能数据

密码

B32-B33

2

 

厂家功能密码

CRC码

B34-B35

2

/

由主机计算得到CRC码

从机将主机发来的前六个字节加上校验码后发回。

B3-B4:

电能寄存器地址,详见通信规约中寄存器地址表。

B5-B6:

寄存器长度,不能超过通信规约--寄存器地址表中定义的电能数据寄存器数;

B8-B31:

下传的电能数据顺序。

B32-B33:

为厂家功能密码;

[主机发送]01100600000912000000000000000000000000000000000002a427

[从机响应]0110060000090087

举例:

转16进制

写入累积值

0600H

正向有功电能1234567.89

0602H

反向有功电能1234567.89

0604H

正向无功电能1234567.89

0606H

反向无功电能1234567.89

步骤一01060B00C0079A2C

步骤二01100600000912075bcd15075bcd15075bcd15075bcd15000294ca

附录1CRC校验码的计算——计算法

unsignedshortCRC16(puchMsg,usDataLen)

unsignedchar*puchMsg;/*要进行CRC校验的消息*/

unsignedshortusDataLen;/*消息中字节数*/

{

unsignedcharuchCRCHi=0xFF;/*高CRC字节初始化*/

unsignedcharuchCRCLo=0xFF;/*低CRC字节初始化*/

unsigneduIndex;/*CRC循环中的索引*/

while(usDataLen--)/*传输消息缓冲区*/

{

uIndex=uchCRCHi^*puchMsgg++;/*计算CRC*/

uchCRCHi=uchCRCLo^auchCRCHi[uIndex};

uchCRCLo=auchCRCLo[uIndex];

}

return(uchCRCHi<<8|uchCRCLo);

}

/*CRC高位字节值表*/

staticunsignedcharauchCRCHi[]={

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,

0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,

0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,

0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,

0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2