4.2 基础数据模型

4.2.1 基础数据模型

使用和设计是工业产品的一体两面,作为设计者,我们需要从用户需求出发,穿越过去,然后构建出产品的骨架。本小节,我会带着大家从用户的需求出发,构建出产品的基础数据模型。

我们的抓手是两款保护产品:用电端过流保护和变压器差动保护。用电端过流保护适用于用户端电气设备保护,其工作原理类似保险丝,如果电流大于特定值且持续超过特定时间,发出开出命令并跳开断路器。

变压器为多侧电力设备,一般为两侧或三侧,用于实现不同等级电压的转换,如110kV转为10kV。变压器差动保护工作原理是所有侧的电流相加理论上为0(实际运行中有一定的不平衡电流),因此如果各侧电流之和大于允许不平衡电流且保持特定时间,变压器保护会发出开出命令跳开断路器各侧断路器,以保护昂贵的变压器设备。

这两款产品工作原理中都有相似的描述:电流值大于设定值且保持一段时间,其中电流值被称为模拟量输入值,常用AI表示。类似的,电压、功率、相角等都是模拟量输入值,AI一般为浮点数类型,通过采样或计算获得。

外部加入0.5A的电流,我们期望对应的电流模拟量也为0.5。但计算机内部实现时,电流值是通过AD采样回路获取的,如果为12位采样,可能0.5A对应300这样的一个整数。如何将300换算成0.5呢,就需要一个转换系数。

因为批量生产的硬件存在细微差异,因此设备出厂前需要进行检验,其中设定转换系数就是很重要的一环。系数一般在出厂时设定,后期很少修改。

微机保护需要监视它所保护的各种电器设备运行工况,如断路器的分合状态等。这类电气量是布尔变量,因此习惯性称之为数字量输入,常用DI表示。

过流保护检测到电力系统发生过流时,首先驱动自己的继电器出口,然后通过外部回路驱动断路器断开。继电器出口是布尔变量,因此习惯称之为数字量输出、开入量输出或开出,常用DO表示。

类似于DI和DO,和AI对应的就是AO了。模拟量输出变量最常用于PLC控制回路,如依据锅炉反应温度控制油量阀等。在微机保护产品中,AO变量常用于调解变压器温度水位等。

AI、DI、DO、AO合在一起,构成了工业PLC控制的基础组件。

◇◇◇

再回顾过流保护产品的工作原理,电流值大于特定值且保持一段时间,其中这些电流特定值和时间被称之为定值。定值是由用户依据现场运行工况计算后输入的,因此需要保存在设备中,掉电不能丢失。

定值有一个很重要的特性,必须同时写入。如过流保护中的电流和时间定值,如果一个一个依次写入,容易发生保护误动,这是绝对不允许的。定值写入过程中需要短暂的闭锁保护出口,会影响保护实时性,也需要充分考虑。后续我们会探讨如何构建定值数据模型和接口。

在电力系统运行过程中,保护动作跳闸是非常重要的事情,需要运行人员尽快分析跳闸原因,排除异常后继续恢复运行。为了便于运行人员分析问题,微机保护跳闸后,会产生一条报告信息,详细记录跳闸的时间、原因,跳闸时的电气量大小等。

动作报告信息一般构建成环形缓冲区,并掉电保持。类似于动作报告,用户操作记录、开入变位记录也是构建成环形缓冲区,并掉电保持。他们除了单条信息的描述结构存在差异外,组织方式完全一致,本书后续将其统称为报告类数据结构。

动作报告仅能记录简单动作原因,为了分析一些复杂的电力系统故障,需要抓取故障发生时刻前后一段时间的采样数据,在电力行业这类数据模型习惯性称之为扰动数据。对扰动数据的分析需要专业人员使用专业工具,堪称现场故障分析的核武器,在各行各业中经常有类似的策略。

微机保护装置是一款设备,为了便于用户操作巡检,设备面板上有液晶、按键和led等基础元素。led一般有两种颜色,红色和绿色,红色表示各种保护动作信号,绿色表示运行或报警信号。绿色led是实时显示的,发生报警时点亮,报警解除后熄灭。为了便于用户在跳闸后分析问题,红色led一旦点亮就要求保持,直到用户分析完故障原因并触发信号复归按钮后才熄灭。

目前工业设备组网已经是基本需求了,这就要求微机保护设备具备各种通讯规约功能,而基于通讯规约也会衍生出特定的逻辑功能需求。AI、DI、AO增加通讯功能后成为遥测、遥信和遥调功能。电力行业对远程控制断路器的准确度要求很高,误操作不仅会导致异常停电,也会给运维人员带来生命危险。为了基于通讯规约构建100%要求的远程断路器控制操作,电力行业衍生出“预置——反较——执行”的遥控操作。遥测、遥信、遥控、遥调合成四遥。

如上,AI、AO、DI、DO、系数、报告、定值、扰动数据、led、信号复归和四遥,构成了微机保护装置最基本的数据模型。

4.2.2 高级数据模型

除了基础数据模型,可能还会有一些基于基础数据模型的衍生模型。这类数据模型被我们称之为高级数据模型,本节我们继续从用户的需求出发,去构建微机保护装置的高级数据模型。

  1. 历史数据模型

AI数据是实时变化的,为了分析一段时间内的设备运行工况,如地铁机车一天的工作状态,需要以固定时间间隔对AI进行采样记录,这称之为历史数据模型。

历史数据模型一般对AI和DI进行采样记录。因为记录时间长,数据量比较大,一般存储在外部flash中。

  1. 趋势分析

大型电机在启动过程中,一开始启动电流会比较高,然后会慢慢的降到额定运行状态,如下图所示。
在这里插入图片描述
为了设定恰当的过流定值,需要抓取电机启动过程的详细运行工况。用历史数据模型时间间隔太大,用扰动数据模型时间太短,为此我们构建了一种新的数据模型:趋势分析模型。

趋势分析模型首先需要一个触发条件,发生触发条件后,以适当的时间间隔记录AI电气量。趋势分析模型一般也是仅对AI和DI采样,数据量也比较大,需要存储在外部flash中。

  1. 遥测越限

AI值时时刻刻在发生变化,处于正常范围内不需要关心,但一旦越过了正常范围就需要运维人员参与了。为了表达AI值超出合理范围这个状态信息,我们构建了遥测越限数据模型。

AI越限值一般有四个边界,上越限、上上越限、下越限、下下越限。因为并非所有的AI越限都用足这四个边界,因此需要额外增加四个使能标志。

AI越限相当于将AI数据模型转化为DI和报告数据模型,其组织结构同报告类数据模型。

  1. 累加量和电度

累加量模型中最典型的值就是电度了,我们知道对有功功率进行累加就是有功电度,对无功功率进行累加就是无功电度。

累加操作易持续放大误差,为了减少误差,需要在AI值精度和时间精度两方面下功夫。提升AI精度的最佳策略是算数平均,提升时间精度侧重于充分考虑累积误差。

基于基本电度模型,还可以构建出分时电度和电度冻结两个数据模型。分时电度数据模型是按照尖、峰、平、谷四种运行工况分别统计电度,不同情况下电费不同,有助于引导大家错峰用电。电度冻结用于记录特定时刻的电度值,如记录每天零点零时零分的电度值,就可以比较每天的用电量了。

累加量需要增加调整和清零接口。

  1. 保护元件

前文我们提及,微机保护的一个特征是可用一套硬件实现很多种保护逻辑。在产品研发中,为了让设备具有更大的实用性,我们经常在一款产品中集成很多的保护逻辑,现场按照用户的需求选择投入。这样的策略带来了新问题,就是产品的定值数量非常多,甚至高达到几百个,给用户使用带来复杂度。

为了解决这个问题,一种策略是将定值按保护逻辑进行分组,未投入的保护逻辑其定值干脆对用户不可见。

保护逻辑的另外一层价值是软件模块复用,如某保护逻辑需要断路器状态、Ia电流作为输入条件,直接硬编码会导致代码因缺乏灵活性而难以复用。一种策略是构建虚拟输入节点,然后在保护逻辑投入时才关联到真实电气量上。

此时一个新的抽象组合出现了,它包含输入、定值、输出三类虚拟节点,能够完成一段独立的保护判断逻辑,我们经常将这一抽象概念称之为保护元件。

  1. 计数器

计数器有点类似于遥测的累加量,不过是对事件进行累加。计数器一般有两个DI输入,一个用于计数,一个用于复位。计数一般有三种模式:上升沿计数、下降沿计数和跳变计数。

计数器常用于记录某一件事件发生的次数,因此需要掉电保持。对外可以通过遥测方式通讯远传。

4.2.3 数据字典

前文阐述编程规范时,提到需要构建数据字典,而依据用户需求提炼数据模型,恰好是构建数据字典的起点。

我们团队的数据字典构建如下:

序号 名称 字典 备注
1 数字量输入 di,DI 全小写或全大写,不允许混杂
2 模拟量输入 ai,AI
3 数字量输出 do,DO
4 模拟量输出 ao,AO
5 系数 ratio
6 报告类数据 report
7 保护动作报告 tripReport trip在前,防止“名词+动词”命名冲突
8 遥信变位 soeReport,SOEReport SOE是顺序事件记录的缩写,全大写或全小写,不允许混杂。
9 操作事项 eventReport
10 定值 setting
11 扰动数据 disturb disturbance一词的缩写。
12 信号复归 signalRst Rst为reset的缩写
13 遥测 YC 汉语拼音yao che的缩写,行业习惯用法。仅允许大写。
14 遥信 YX 汉语拼音yao xin的缩写,行业习惯用法。仅允许大写。
15 遥控 YK 汉语拼音yao kong的缩写,行业习惯用法。仅允许大写。
16 遥调 YT 汉语拼音yao tiao的缩写,行业习惯用法。仅允许大写。
17 历史数据模型 history
18 趋势分析 trend
19 遥测越限 overLimit
20 累加量和电度 acc accumulation一次的缩写
21 分时电度 timeAcc acc在后,防止同“名词+动词”命名冲突
22 电度冻结 frozenAcc
23 保护元件 relayWord 由sel继保继承而来,早期保护元件仅支持布尔量,构成一个个的word字,大家习惯称之为relayWord(继电器字)。
24 计数器 counter

特点如下:

  1. 用到一些大家约定俗称的汉语拼音缩写,如四遥。
  2. 较短的缩写不允许大小写混杂,主要是AI,DI之类。为了满足匈牙利命名规范,如果起始字符是小写,后续也是小写,如果起始字符大写,后续也是大写。
  3. 尽量不要使用相同的词根,如果难以避免,差异部分置前,如acc和frozenAcc,这样在后期采用“名称+动词”命名规范定义函数时,不易冲突。否则我们会将accFrozen当做acc类的一个类成员函数。

这个数据字典我们团队已使用较长历史时间了,限于专业英语水平和历史原因,可能很多词根选择的并不恰当。但可以保证一点,如果熟悉了上述词根,书写、阅读、审核代码时,能省去不少麻烦。

——————————————

返回目录

我是小马儿,一个渴望良知与灵魂的嵌入式软件工程师,欢迎您的陪伴与同行,如感兴趣可加个人微信号nzn_xiaomaer交流,需备注“异维”二字。

原创文章 32 获赞 36 访问量 9364

猜你喜欢

转载自blog.csdn.net/zhangmalong/article/details/104988018
4.2