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 系数 coeff
6 报告类数据 report
7 保护动作报告 tripReport trip在前,防止“名词+动词”命名冲突
8 保护告警报告 alarmReport alarm在前,防止“名词+动词”命名冲突
9 遥信变位 soe,SOE SOE是顺序事件记录的缩写,全大写或全小写,不允许混杂。
10 操作事项 operaReport
11 定值 setting
12 扰动数据 disturb disturbance一词的缩写。
13 信号复归 signalRst Rst为reset的缩写
14 遥控 YK 汉语拼音yao kong的缩写,行业习惯用法。仅允许大写。
15 遥调 YT 汉语拼音yao tiao的缩写,行业习惯用法。仅允许大写。
15 历史数据模型 history
16 趋势分析 trend
17 遥测越限 overLimit
18 累加量和电度 acc accumulation一次的缩写
19 分时电度 timeAcc acc在后,防止同“名词+动词”命名冲突
20 电度冻结 frozenAcc
21 保护元件 element
22 计数器 counter

特点如下:

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

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

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

返回目录

我是小马儿,一个渴望良知与灵魂的嵌入式软件工程师,欢迎您的陪伴与同行,如需最新版PDF电子书,或期望深入交流,可加我个人微信nzn_xiaomaer,需备注“异维”二字。

4.2 基础数据模型相关推荐

  1. 阿里巴巴大数据实践—阿里巴巴的数据模型实践综述

    来源:数智化转型俱乐部 阿里巴巴集团很早就已经把大数据作为其战略目标实施,而且其各个业务也非常依赖数据支撑运营,那么阿里巴巴究竟采取何种方法构建自己的数据仓库模型呢?阿里巴巴的数据仓库模型建设经历了多 ...

  2. 重温《数据库系统概论》【第一篇 基础篇】【第1章 绪论】

    时隔两年,重温数据库,再次学习人大教授王珊.萨师煊的<数据库系统概论>,别有一番滋味在心头,或许这就是软件"不归路"上的感悟吧,又一次打开课本,记忆犹新,在已经学习过大 ...

  3. 阿里大数据之路:数据模型篇大总结(收藏)

    第1章 大数据领域建模综 1.1 为什么需要数据建模 有结构地分类组织和存储是我们面临的一个挑战. 数据模型强调从业务.数据存取和使用角度合理存储数据. 数据模型方法,以便在性能.成本.效率之间取得最 ...

  4. 阿里数据仓库-数据模型建设方法总结(全)

    来源:大数据与机器学习文摘  五分钟学大数据 本文约20000字,建议阅读25分钟 本文介绍了大数据领域建模的方法. 一.大数据领域建模综述 1.1 为什么需要数据建模 有结构地分类组织和存储是我们面 ...

  5. 网络与信息安全基础知识--网络安全

    说在前面: 本系列文章专注于软考备考复习内容梳理,文章内容是对教材中知识点和考点的提炼,备考过程中可以有针对的进行复习,减少阅读量,有的放矢. 导航目录: 一.网络安全概述 二.网络的信息安全 1.信 ...

  6. 阿里数据模型建设方法总结

    一.大数据领域建模综述 1.1 为什么需要数据建模 有结构地分类组织和存储是我们面临的一个挑战. 数据模型强调从业务.数据存取和使用角度合理存储数据. 数据模型方法,以便在性能.成本.效率之间取得最佳 ...

  7. 大学计算机技术知识大全,大学计算机全章节重点基础知识归纳大全.doc

    大学计算机全章节重点基础知识归纳大全 PAGE \* MERGEFORMAT 18 大学计算机基础重点归纳 第一章:计算机概论 19646年,第一台计算机,ENIAC 计算机分类(6):巨型,小巨型, ...

  8. 《大数据之路:阿里巴巴大数据实践》第二篇 数据模型篇-读书笔记

    目录 8.大数据领域建模综述 8.1 为什么需要数据建模 8.2 关系数据库系统和数据仓库 8.3 从OLTP和OLAP系统的区别看模型方法论的选择 8.4 典型的数据仓库建模方法论 8.4.1 ER ...

  9. 《语义网基础教程》学习笔记(二)

    二.RDF概述(參考http://zh.transwiki.org/cn/rdfprimer.htm) 1.本体: 一个本体是一个概念体系(conceptualization)的显式的形式化规范. 一 ...

最新文章

  1. MySQL基础篇:用户和权限管理
  2. 什么是Java Marker Interface(标记接口) 1
  3. 替罪羊树—BZOJ3224: Tyvj 1728 普通平衡树
  4. 客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
  5. [EXCEL高级应用与数据分析].沈浩.扫描版 百度云盘
  6. PR转场FilmImpact 蓝屏 error699966
  7. 联想锁屏壁纸缓存文件夹目录
  8. 到底还有没有月薪3万以下的程序员?程序员工资真的这么高?
  9. 微软放弃的游戏被他们复活了:Windows经典「三维弹球」现实版,CAD建模、Arduino编程、数控机床打造,硬核致敬童年...
  10. java生成图章到word_JAVA不使用POI给Word文档添加水印
  11. 第一节 函数与极限——映射与函数
  12. 高通骁龙处理器最新的排名
  13. GL(m)的拓扑结构,泡利矩阵暂记
  14. 解决谷歌翻译不能使用的问题(2023.01.14)
  15. 服务器修改上传图片大小限制,修改IIS7默认上传大小限制
  16. buuoj Pwn writeup 106-110
  17. Debug究竟是什么意思?
  18. 熟练使用计算机进行备课,教师信息技术能力提升工程总结
  19. 主机远程虚拟机linux,如何使用SSH来远程连接Linux虚拟主机?
  20. flash 与分解:分解百度MP3图片墙

热门文章

  1. 【面经、笔经攒人品】中国银行、浦发银行
  2. java编写point类line类_定义一个点类Point,有横坐标x和纵坐标y,定义构造
  3. 第二次作业:《国际贸易学》—自由贸易理论
  4. TCP/IP与OSI
  5. sqlserver快捷键设置
  6. android实现截图功能
  7. 什么是大数据,企业如何正确使用大数据
  8. 瓦伦达效应:越在意的,就越容易失去
  9. YTU软件工程白盒测试
  10. 唐桥云会议分组讨论——新的参会互动方式