EDMI电能表通讯规约中文说明.docx

上传人:b****4 文档编号:5423568 上传时间:2023-05-08 格式:DOCX 页数:10 大小:17.74KB
下载 相关 举报
EDMI电能表通讯规约中文说明.docx_第1页
第1页 / 共10页
EDMI电能表通讯规约中文说明.docx_第2页
第2页 / 共10页
EDMI电能表通讯规约中文说明.docx_第3页
第3页 / 共10页
EDMI电能表通讯规约中文说明.docx_第4页
第4页 / 共10页
EDMI电能表通讯规约中文说明.docx_第5页
第5页 / 共10页
EDMI电能表通讯规约中文说明.docx_第6页
第6页 / 共10页
EDMI电能表通讯规约中文说明.docx_第7页
第7页 / 共10页
EDMI电能表通讯规约中文说明.docx_第8页
第8页 / 共10页
EDMI电能表通讯规约中文说明.docx_第9页
第9页 / 共10页
EDMI电能表通讯规约中文说明.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDMI电能表通讯规约中文说明.docx

《EDMI电能表通讯规约中文说明.docx》由会员分享,可在线阅读,更多相关《EDMI电能表通讯规约中文说明.docx(10页珍藏版)》请在冰点文库上搜索。

EDMI电能表通讯规约中文说明.docx

EDMI电能表通讯规约中文说明

EDMI电表EDMI规约详细说明

以下描述都是以采集表号序列号9的反向总有功电能为例:

规约执行过程:

(以下数据都是16进制)

1.进入命令模式:

上位机(主站)发送:

02450C1F6735000000010001AA7E03

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

0C1F6735字节的表地址(四个就是表序列号9化成16进制的四个字节)00000001四个字节的源地址(可以随便定义)

0001重发序列号高字节,低字节(可以自由定义)

如果下次所发报文重发序列号和本次重发序列号相同,那么电表就会把本次所发的报文再次发给主站。

AA7ECRC(CCITT16bit校验)从头到校验之前的字节数据进行CRC校验,算法后面会附带

03结束符

下位机(电表)发送:

0245000000010C1F67350001062E4B03

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

00000001四个字节的主站源地址

0C1F6735四个字节的电表地址

0001重发序列号

06确认OK。

如果电表认为主站所发报文出错,此字节就是18。

2E4BCRC校验

03结束字符

2.登入命令:

上位机发送(主站):

02450C1F67350000000100004C45444D492C494D4445494D44450010423503

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

0C1F6735四个字节的表地址

00000001四个字节的源地址

0000重发序列号高字节,低字节(进入命令模式是0001,现在是0000)

4C表示是登入电表

45444D49用户名’EDMI’ASCII玛

2C’,’的ASCIIxx

494D4445494D4445密码:

’IMDE’的ASCIIxx

00终止字节(表示前面用户名和密码到现在开始结束)

104235(两个字节的CRC,那为什么是三个字节呢.解释如下)

特别注意:

在此规约中,上行报文在组织报文好后,再要对整个报文进行扫描一遍,如发现在除了02,尾03的其他报文中,有02,03,10,11,13,就把此报文变为两个字节10,40+此字节数据,这样做的目的是在数据体中区分一些特殊字符。

0210,42

0310,43

10,50

1110,51

1310,53

所以CRC原来的报文应该是0235,但是由于有02,所以把02分为10,42,CRC因此就变成10,42,35了。

同样的,在主站接收从表计发来的报文中,如果有10,就把10去掉,10后面的那个字节数据减去42才是真正的数据,然后再报文进行各种数据判断和校验。

下位机(电表)发送:

0245000000010C1F67350000061D7A03

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

00000001四个字节的主站源地址

0C1F6735四个字节的电表地址

0000重发序列号

06确认OK。

如果电表认为主站所发报文出错,此字节就是18。

1D7ACRC校验

03xx字符

3.对电表的读

上位机发送(主站):

读取有功反向总电能累计量(寄存器地址0069)

02450C1F673500000001000052006944CA2403

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

0C1F6735字节的表地址(四个就是表序列号9化成16进制的四个字节)00000001四个字节的源地址(可以随便定义)

0000重发序列号

52功能xx:

’R’的ASCIIxx,说明是读

0069寄存器地址

44标志位(’D’)的ASCII玛,说明时读取Double型的数据

CA24CRC校验

下位机(电表)发送:

0245000000010C1F6735000052006940555CE5AB1680003A4603

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

00000001四个字节的主站源地址

0C1F6735四个字节的电表地址

0000重发序列号

52功能xx:

’R’的ASCIIxx,说明是读

0069寄存器地址

40555CE5AB168000数据内容

根据IEEEfloatPoint算法来计算所得是

85.4515,IEEEfloatpoint算法后面会附带3A46CRC校验

03结束字节

4.退出电表:

上位机发送(主站):

02450C1F67350000000100015800EAFA03

02头

45标志位:

表示可以采集一对多方式(Rs485,Rs422)

0C1F6735字节的表地址(四个就是表序列号9化成16进制的四个字节)00000001四个字节的源地址(可以随便定义)

0001重发序列号

58功能xx退出电表

00空xx

EAFACRC校验

03结束字节

下位机(电表)发送:

0245000000010C1F6735000106482E03(解释如上)这样整个采集过程就此结束

以上的xx部分要特别注意

附件ACCITT16bitCRC算法(查表法)

Constccitt_16:

array[

0..255]ofWord=($00,$1021,$2042,$3063,$4084,$50A5,$60C6,$70E7,

$8108,$9129,$A14A,$B16B,$C18C,$D1AD,$E1CE,$F1EF,

$1231,$0210,$3273,$2252,$52B5,$4294,$72F7,$62D6,

$9339,$8318,$B37B,$A35A,$D3BD,$C39C,$F3FF,$E3DE,

$2462,$3443,$0420,$1401,$64E6,$74C7,$44A4,$5485,

$A56A,$B54B,$8528,$9509,$E5EE,$F5CF,$C5AC,$D58D,

$3653,$2672,$1611,$0630,$76D7,$66F6,$5695,$46B4,

$B75B,$A77A,$9719,$8738,$F7DF,$E7FE,$D79D,$C7BC,

$48C4,$58E5,$6886,$78A7,$0840,$1861,$2802,$3823,

$C9CC,$D9ED,$E98E,$F9AF,$8948,$9969,$A90A,$B92B,

$5AF5,$4AD4,$7AB7,$6A96,$1A71,$0A50,$3A33,$2A12,

$DBFD,$CBDC,$FBBF,$EB9E,$9B79,$8B58,$BB3B,$AB1A,

$6CA6,$7C87,$4CE4,$5CC5,$2C22,$3C03,$0C60,$1C41,

$EDAE,$FD8F,$CDEC,$DDCD,$AD2A,$BD0B,$8D68,$9D49,

$7E97,$6EB6,$5ED5,$4EF4,$3E13,$2E32,$1E51,$0E70,

$FF9F,$EFBE,$DFDD,$CFFC,$BF1B,$AF3A,$9F59,$8F78,

$9188,$81A9,$B1CA,$A1EB,$D10C,$C12D,$F14E,$E16F,

$1080,$00A1,$30C2,$20E3,$5004,$4025,$7046,$6067,

$83B9,$9398,$A3FB,$B3DA,$C33D,$D31C,$E37F,$F35E,

$02B1,$1290,$22F3,$32D2,$4235,$5214,$6277,$7256,

$B5EA,$A5CB,$95A8,$8589,$F56E,$E54F,$D52C,$C50D,

$34E2,$24C3,$14A0,$0481,$7466,$6447,$5424,$4405,

$A7DB,$B7FA,$8799,$97B8,$E75F,$F77E,$C71D,$D73C,

$26D3,$36F2,$0691,$16B0,$6657,$76,$4615,$5634,

$D94C,$C96D,$F90E,$E92F,$99C8,$89E9,$B98A,$A9AB,

$5844,$4865,$7806,$6827,$18C0,$08E1,$3882,$28A3,

$CB7D,$DB5C,$EB3F,$FB1E,$8BF9,$9BD8,$ABBB,$BB9A,

$4A75,$5A54,$6A37,$7A16,$0AF1,$1AD0,$2AB3,$3A92,

$FD2E,$ED0F,$DD6C,$CD4D,$BDAA,$AD8B,$9DE8,$8DC9,

$7C26,$6C07,$5C64,$4C45,$3CA2,$2C83,$1CE0,$0CC1,

$EF1F,$FF3E,$CF5D,$DF7C,$AF9B,$BFBA,$8FD9,$9FF8,

$6E17,$7E36,$4E55,$5E74,$2E93,$3EB2,$0ED1,$1EF0);

functionEdmi_Create_crc16(varptx:

arrayofByte;Constlen:

integer):

Word;

Var

Crc:

Word;

i:

integer;

begin

crc:

=0;

fori:

=0tolen-1do

begin

crc:

=ccitt_16[(CRCShR8)xorptx[i]]xor((crcshL8));

end;

result:

=CRC;

end;

附件BIEEEFloatPoint算法:

IEEE754:

StandardforBinaryFloating-PointArithmeticFloatingpointnumbersaresent/receivedintheIEEEstandardformatsforsingleprecisionfloatingpointnumbers,oroptionallydoubleprecision.

Theformatofsingleprecisionfloatingpointnumbersisasfollows:

-----------------

*sign*1bit

-----------------

*exponent*8bits

-----------------

*mantissa*23bits+1impliedbit=24bits

-----------------

Doublefloatingpointisasfollows:

-----------------

*sign*1bit

-----------------

*exponent*11bits

-----------------

*mantissa*52bits+1impliedbit=53bits

-----------------

Theimpliedbitisalways1exceptforazerovaluewhereitiszero.Azerovalueisindicatedbyazeroexponent.Theexponentforafloatisstoredasexcess127(i.e.anexponentof0isrepresentedby127)andforadoubleasexcess

102.Themantissaisin

positivemagnitudeform.

SosayforexamplereadingregisterE002(phaseCvoltage)returns

43717388

Asa32bitbinarynumberthisis

01000011011100010111001110001000

Signbit:

0

Exponent:

100110

Mantissawithoutimpliedbit:

11100010111001110001000

Wenowaddtheimpliedbitandshowthepoint:

1.11100010111001110001000Theexponentis134indecimal.Theexponentisthus134-127=

7.Thismeanswemustmultiplythemantissaby2

7.Thiscanbeachievedbyshiftingthepointrightby7bits.Themantissawethengetis:

A-6EDMIGeniusRegisterManual

110001.0111001110001000

Toconvertthistodecimalweusetwostages.Firstofallthewholepart:

110001binary=241decimal

Nowthefractionalpart:

0111001110001000binary=29576decimal

thendivideby2tothepowerofthenumberofbinarydigits:

16decimal=

0.45129decimal

Combingwholeandfractionalparts:

241.45129

Thesignbitwasazero,indicatingthatthenumberispositive,givingusafinalanswer

of+241.45129volts

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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