RS-485接口在多功能电能表中的应用Word文档格式.doc
- 文档编号:15404460
- 上传时间:2022-10-30
- 格式:DOC
- 页数:6
- 大小:57.50KB
RS-485接口在多功能电能表中的应用Word文档格式.doc
《RS-485接口在多功能电能表中的应用Word文档格式.doc》由会员分享,可在线阅读,更多相关《RS-485接口在多功能电能表中的应用Word文档格式.doc(6页珍藏版)》请在冰豆网上搜索。
485接口采用MAX1487,该芯片有8个引脚,其中6为接收器的同相输入端与驱动器的同相输出端,7的作用相反,这两个引脚引出与其它的接口通过传输线连接(有时也称为A、B端),两者之间的并接电阻为阻抗匹配电阻。
RO为接收器的输出端,当A比B大于200mv时,RO为高电平,A比B小于-200mv时,RO为低电平;
RE为接收器的输出使能端,低电平有效;
DI为驱动器的输入端,DE为驱动器的输出使能端,高电平有效。
图中,RE与DE并接在一起,而两者的有效工作电平相反,所以此时RS485工作于半双工方式。
单片机采用ATMEGA161,其引脚PB0为定时器/计数器0的外部输入端,接MAX1487的RE及DE;
PB2(串行口输入端RXD)接RO;
PB3(串行口输出端TXD)接DI。
单片机信号与485接口信号之间使用光电隔离,是为了避免接口传输线的故障影响电能计量的内部电路。
T0发出的时钟信号经光电隔离,控制RTS。
当RTS为高电平时,MAX1487作发送器,单片机输出信号TXD经光电隔离,产生信号DO输入MAX1487的DI端,即A、B输出信号受TXD控制,单片机按照通信规约将信号发送到接收方;
而RTS为低电平时,MAX1487作接收器,DO的信号不影响传输线,外部信号通过MAX1487的RO端,经光电隔离,进入单片机的RXD端,完成数据的接收。
1
多功能电能表通信规约DL/T645
RS-485采用串行异步通信,没有准确的时钟同步信号来实现发送与接收之间的同步,而是由软件通过对信号标识的辨别来进行,因此通信时数据的准确定位是相当重要的,即要求准确地判断数据的起始、终止,传输的方向,及有效的数据项,如果是要求电能表执行特定的操作,如读取电度底码,还需有特定的功能标志等等。
所以有必要对电能表的通信方式及传输的数据格式做出统一的规定,以避免不同类型的电能表通信规约不兼容,相互之间不能通信的局面。
《DL/T645多功能电能表通信规约》就是这种背景下的产物。
DL/T645为基于主从结构的半双工通信方式。
在电能计量系统中,手持单元或数据终端为主站,费率装置(主要指多功能电能表)为从站。
无论实行单点或多点通信,从站都有独立的唯一地址编码,通信链路的建立与解除由主站发出的信息帧来控制。
且总线是无源的,电源通常由从站提供。
2.1信息帧结构
帧是信息传送的基本单位,RS-485的每个信息帧由起始符、从站地址域、控制码、数据长度域、信息纵向校验码、结束符7部分组成,每部分又包括若干字节。
具体格式见表1。
组成
代码
功
能
说
明
起始符
68H
固定,代表一帧开始
从站地址域
A1~A5
由6个字节组成,用户自己设置,可以是表号、用户号等信息,主要用来设置从站地址,使电能表能被主站识别
表示准备工作完成,开始发送/接受数据及执行命令
控制码
C
通过字节中位的设置,确定数据传输的方向、从站是否正常响应、有无后续数据帧、以及具体的命令功能等
数据长度域
L
数据的字节数,读数据时L<
200,写数据时L<
50。
L=0表示无数据域
数据域
DATA
包括数据标识及具体的数据、密码等,其结构随控制码的功能改变。
注意:
发送时,字节进行加33H处理;
接收时,字节进行减33H处理
校验码
CS
从帧起始符开始到校验码之前所有字节的二进制代数和,不计超过256的溢出值
结束符号
16H
固定,表示一帧结束
帧格式定义了一个主、从站双方都能识别的信息结构。
它重点描述了主站向从站发出访问请求、从站的应答以及主站的异常处理的过程。
2.2字节格式
帧的每个字节包含8位二进制码,传输时加上一个起开始位(0)、一个偶校验位,一个停止位
(1),由低位向高位传输。
2.2.1
控制码C
控制码标识本次命令完成的功能,在数据帧中有重要的作用,格式及位功能如下:
数据域包含了从站执行特定功能所需要的数据以及响应查询时采集到的数据。
这些数据的内容可能是数值、数据标识或者密码等。
例如:
控制码通知从站读取电能底码,数据域则需要指明从哪个寄存器开始及读取多少个数据。
由于不同的数据字节数不同,数据域的长度随着控制码的功能而改变。
电能表将数据分为测量值(电能底码、最大需量)、变量类(如最大需量发生时间、瞬时功率值等)及参变量类(如日历、时间、密码、特征字等),采用四级树状结构来表示,即用两个字节DI1、DI0中的四个字段DI1H、DI1L、DI0H、DI0L来标识数据的类型及属性。
其中,DI1H标识数据类型,如电能底码、变量、参变量等;
在DI1H定义完成之后,DI1L、DI0H、DI0L标识数据的不同属性。
如定义DI1H=1001为电能量后,DI1L=0000为当前有功,DI0H=0001为正向电量,DI0L=0000为总电量。
这样,如果主站发出的数据帧中DI1、DI0为9010H时,就要求从站返回当前正向有功总电量。
而在请求访问由若干数据项组成的数据集合时,可使用数据块标识码或数据集标识码,比较典型的如读取本月的“尖峰平谷总”电量。
2.2.3差错控制
字节的校验为偶校验,帧校验为纵向信息和校验。
无论接收方检测到哪一项出错,均放弃该帧,不予响应。
2
数据传输
数据传输由主站向按帧地址域选择的从站发出请求命令开始,至从站根据要求做出响应为止。
如果从站正确响应,在应答消息中的控制码是主站发出数据帧中的控制码的回应,数据段包括了从站收集的数据;
如果从站在信息接收过程中发生错误,或遇到不能执行的命令,从站将修改控制码以指出回应消息是错误的,同时在数据段中写入错误信息发送回主站。
DL/T645还规定:
在发送数据帧前,主站先发送1~4个字节的FEH,目的是预先拉高控制线,唤醒从站接收。
不同的命令帧之间,一帧中不同的字节之间,均规定了一定的延时,其中,帧响应延时;
20ms<
td<
500ms,帧中字节延时tb<
500ms,目的是在发送与接收之间留有时间裕量,避免两种状态的冲突。
例如:
主站发出“读数据”的请求帧,其帧格式如下:
68
A0
…
A5
01
02
DI0
DI1
16
从站正常应答帧格式:
68
A0
…
A5
81
L
DI0
DI1
N1
Nm
CS
16
从站非正常应答帧格式:
C1
ERR
在主站请求帧中,控制码C=01H,其字节位D7、D6、D5=0,功能位D5~D0=00001,表示;
主站向从站发出请求读数据的命令,数据长度L为2字节(DI0、DI1),具体读取的数据由数据域中的数据标识DI0、DI1确定;
如果从站正确应答,控制码C=81H,表示无后续数据帧,数据长度L=02+读出数据的字节数,不固定;
N1~Nm是具体的数据;
如果从站不能正确应答,C=C1H,L=01H(ERR),数据项中的ERR为错误信息字,代表的信息可以在DL/T645附录中查询。
4
RS-485通信中常见的问题
4.1电源
RS-485的电源通常由从站提供,如果电能表的电压错误或表内的电源模块损坏,接口是不能正常工作的,这一点在编程时应注意。
4.2收发时序的不匹配
造成这种现象主要有两个原因:
1、电能表的通信方式没有严格的遵循DL/T645,如没有以68H及16H来定义帧的起始与结束,而是以接收到第一个字节判断开始,以多长时间接收不到一个字节来判断结束。
如果总线上有干扰电平的存在,RS485会接收到一些杂乱的信号而判断为帧传输开始,有效数据会误判从而造成传输失败;
2、帧延时td设置过短,主站发送帧的最后一位与从站应答帧的第一位几乎没有停顿。
由于RS485实行半双工方式,发送与接收的状态转换需要时间,td过小,有可能从站发送应答帧时,主站尚未回到接收状态,所以收到的应答帧不完整而造成通信失败。
4.3通信对计量的影响
RS-485接口的物理层及应用层均与电能表的计量功能实行了电气和软件隔离,其通信不能对电能计量产生任何影响。
这一点也为室内及现场校验的结果所证实。
但是在现场数据采集系统中,如果数据终端出现故障,电能表可能长时间发送信息而停止轮显[参考文献3]。
虽然这种现象发生的几率低,但也应引起重视。
5小结
随着电力系统自动化程度的提高,电能表的RS-485接口发挥着越来越大的作用。
如何保证接口准确、稳定运行是我们面临的紧迫任务,建议将RS-485接口通讯功能的检测列入多功能电能表的检定项目中。
参考文献:
[1]谢瑞和主编,《串行技术大全》[M],清华大学出版社,2003;
[2]《多功能电能表通信规约》.DL/T645-1997.
[3]
谭志强黄懿,《ZB型电能表通信及对计量的影响》[J],电测与仪表,2005
(1);
作者简介:
李峰,男,湖南省吉首市湘西电业局计量所工程师,一直从事计量检定工作。
地址:
湖南省吉首市向阳坪湘西电业局计量所416000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RS 485 接口 多功能 电能表 中的 应用