国网DLT698.45协议(采集系统、数据交换)
面向对象协议
对于国网698协议,是一种面向对象的通信协议,用于远程监控和控制电力系统中的设备。面向对象使得对协议的思考更趋向于正常思维,使计算机中描述的抽象世界于现实世界中能够更好的对应起来。协议中就是将各种方法和属性对应描述成类和对象。
接下来是我学习该协议的一些总结和认识,欢迎大家随时在评论区或者私信我交流学习。
面向对象:系统=对象+消息
面向过程:程序=算法+数据
对象和接口类描述:
类描述了一组具有相同属性和相同方法的对象。
具有共享公共特征的对象归纳为接口类 (IC),接口类是同一类对象共同特征及行为的表达模板,接口类由类标识码 (Class_id)进行标识。
名词解释:
正向有功电能和反向有功电能是电能表中常用的两个概念。
正向有功电能是指电能表记录的电能流向电网的情况。当电能从电网供给到用户时,被认为是正向有功电能。正向有功电能通常用于计量用户的用电量,以便进行电费结算。
反向有功电能是指电能从用户回馈到电网的情况。当用户的用电设备产生的电能超过其自身需求时,多余的电能会通过电网回馈,被认为是反向有功电能。反向有功电能通常用于计量用户的自发电量,如太阳能发电、风能发电等。
电能表会记录正向有功电能和反向有功电能的累计值,以便监测和计量用户的电能使用情况。这些数据可以用于电费结算、能源管理等用途。
集中器(DCU)
集中器最大的好处就是其数据采集功能,这给电力公司提供了极大的便利,通过集中器去抄读电能表中的冻结数据,代替人工的现场抄读,极大节约了人力成本。
集中器有两个用处
- 一是向采集器下发命令,并接收采集器的电量数据。
- 二是根据系统要求与主站通信,将主站所需要的用户用电数据等信息传送到主站数据库中。
功能:数据采集、数据传输、对时功能、抄表、远程升级、存储。
集中器上的外置接口
集中器通过外置接口与主站、电表通信,同时提供模拟量输入,直流电输出功能。
一般存在的接口有:
- RS232: 用于调试以及命令接收
- RS485: RS485 通信
- USB: 系统从 U 盘启动或者 U 盘读写文件
- PLC 模块接口
- GPRS 模块接口
- 外置电池接口
- 模拟量输入接口
- 直流电输出接口
- 电源输入接口
- WAN 接口
- 红外通信接口
电表与集中器的主要通信方式
近红外、远红外(红外通信的波特率一般在9600bps)、电力线载波(PLC)、RS232(串口)、RS485、GPRS、CDMA、RJ45(以太网)、RJ11、MBUS(有线、无线)、RF。
电力线载波传输(PLC)
依靠电线来传输数据,一般只能用于同一变压器的回路内,传输到终端,终端再无线(无线发射器)发送到电力计量系统。
用于共同配电站、临时变压器、公共计量箱的计量。
无法实现用户网上缴费,只能去电力局买电。
RS485传输
可以实现用户远程缴费(网络自助),供电局系统收到用户网络支付信息,就可以给用户充值,完成后将信息发送到用户所在的集中器。
依靠运营商的GPRS/CDMA网络,传输的数据再依靠RS-485发送到电表,完成整个数据传输。
PLC和RS-485都是终端无线传输。
状态字
两类:(1)记录目前状态;(2)记录历史状态。
一般是使用每一bit来表示某一状态是否存在。
软件状态字参数:
- 上电
- 时钟无效
- PLC 载波通信失败
- 电表档案状态字
- 生产状态字
- GPRS 通信失败
- 集中器通信方式状态字
- 主站通信失败
- 升级状态字
- 参数编程状态字
硬件状态字参数:
- RAM 失败
- Flash 失败
- PLC 模块失败
- 过零检测失败
- IR 端口失败
- RS232 端口失败
- USB 接口失败
- WAN 端口失败
- PLC 端口失败
自保护功能:集中器处于异常情况下,可以自动保护或者重启应用程序。
实现机制:
掉电:掉电时,使用电容/电池供电,用于保存数据。
watchdag:当程序出错/跑飞,集中器能够重启。
存储空间满:一般做法为擦除旧有记录。
相关参数:watchdog 喂狗时间、掉电数据保存时长、剩余存储空间。
软件升级:集中器软件升级、电能表软件升级(广播升级、点对点升级)
找表功能:自动找到安装在集中器下的电表。
方式:载波通信电表,让电表应答自己的表号。
数据采集
主站发送指令到集中器(相当于传输的中介),由集中器采集电能表中的数据项。
抄读回来的数据会存放在集中器自己的数据库中,主站需要时,从集中器(DCU)中抄读数据库即可,而不用去抄读电表。
698协议引用对象
698协议在引用一个对象时,创造性的采用了直接引用和间接引用两种形式。
- 分为直接引用和间接引用
-
直接引用:直接存在于终端设备内的对象(需要有唯一的名称)。且该名称下只有一个对象实例存在。
eg:正向有功电能(0100) (电能表设备中的)
日期时间对象(4000) (采集终端中的)
- 间接引用:存在于设备内集合类对象之中的对象(具有唯一名称)。但具体实例对象没有名称。
eg:日冻结对象(电能表设备中的集合类对象),存放了多个基本对象的多个日冻结实例。
引用某个基本对象的某日冻结值时,就必须使用间接引用,也就是协议中的GetRequestReCord。
698协议术语解释
对象标识OI
标识终端唯一名称的编码,2个字节。
由于一个OI所属的接口类是唯一的,该编码需要统一管理。
对象描述符OAD
描述同一属性的不同场景下的数据。
在协议中用于访问对象的属性。
eg:0100 0200
(0100 表示OI,02 表示属性, 00 是索引表示全部) 正向有功电能总+4费率
记录型对象描述符ROAD
定义集合类中多个捕获单元,本质上是一个表格中的多个列
eg:日冻结OAD
01 ——> 01 表示ROAD记录型对象
5004 0200 ——> OAD 5004(日冻结)——5H:冻结 0H:通用 04H:日冻结
03 ——> 3个关联对象属性
2021 0200 ——> 冻结数据时间
0010 0200 ——> 正向有功电能
0020 0200 ——> 反向有功电能
记录描述符RSD
协议用于筛选记录型对象数据集合的工具,包含10种不同筛选模式,用于数据检索。
eg:读取日冻结数据
6012 0300 ——> 任务配置表,属性3(记录表) ——> OAD
05 ——> 选择方法5
07 E0 09 0C 00 00 00 ——> 采集存储时间 2016-9-12 00:00:00
07 E0 年
09 月
0C 日
00 时 00 分 00 秒
列选择描述符CSD
用于访问记录型对象数据时,对记录列进行筛选,记录列支持筛选的前提是,为每一列均有对应的OAD或ROAD。
记录列选择描述符RCSD
为CSD的集合,用于读取服务,进行列选择。
Data
Data数据类型是一种通用的CHOICE类型,内包含本协议支持的所有数据类型,每一种类型具有独立类型标识TAG。
Data类型连接应用层服务和具体每一个对象,应用层服务访问对象的属性、方法,其参数或返回数据均使用Data表达。
第一个字节为数据类型描述,它有两个相对特殊的数据类型。定义均为SEQUENCE OF,分别为:
数组array:其中SEQUENCE OF每个元素类型均相同。
结构structure:其中SEQUENCE OF每个元素类型可以各不相同。
采集系统结构
包括系统主站、通信信道(预连接)、终端和监控对象(电能表)。