公共信息模型(CIM)是IEC 61970系列标准的一个重要组成部分,该模型基于面向对象技术,提供了一个与平台无关的关于电力能量管理系统的标准逻辑视图。它是一个代表电力企业所有主要对象的抽象模型,包括了这些对象的公有类和属性及类之间的关系。电力企业中各应用系统共同遵循,以统一的标准描述电力系统对象,就能实现高效率的数据交换。
CIM采用UML描述,提供了一种统一的方法来描述电力系统资源,使得我们可以通过标准应用程序接口,实现不同应用程序和能量管理系统之间的集成。CIM基于面向对象的建模技术定义,其基本元素包括类、属性和方法,并支持关联、引用和分层等。CIM中的每一个包包含一个或多个类图,用图形方式展示该包中的所有类及关系。然后,根据类的属性以及类之间的关系,用文字形式定义各个类。
1.CIM包
完整的CIM模型包括以下包(Package),分别在几个不同的标准中定义:
(1)IEC 61970-301(定义了公共信息模型基础的基本包集)
如图2-1所示为CIM的各包及它们之间的依赖关系:
图2-1 CIM部分包图
核心包(Core):包含所有应用共享的核心的电力系统资源(Power System Re-source)和导电设备(Conducting Equipment)实体,以及这些实体的常见组合。此外,还定义了厂站类(Substation)、电压等级类(Voltage Level)等多个应用公用的模型,这个包不依赖于任何其他包,而其他包中的大部分都具有依赖于本包的关联和泛化。
域包(Domain):定义了可能被其他任何包中任何类使用的属性的数据类型。它包含原始数据类型的定义,包括量测的单位和允许的值。每一种数据类型包含一个值(value)属性和一个可选的量测单位(unit),这个单位指定为一个被初始化为该量测单位文字描述的静态变量。
发电包(Generation):该包分成两个子包,即生产包(Production)和发电动态包(Generation Dynamics)。
生产包(Production):提供了各种类型发电机的模型,建立了生产成本信息模型,用于发电机间进行经济需求分配及计算备用量大小。这一信息用于机组组合(Unit Commitment)、水力及火力发电机组的经济调度(Economic Dispatch)、负荷预测及自动发电控制(Automatic Generation Control)等应用。
发电动态包(Generation Dynamics):提供原动机(如汽轮机和锅炉)的模型,这些模型在模拟和培训应用中需要用到。这一信息用于动态培训模拟(DynamicTraining Simulator)应用的机组建模。
负荷模型包(Load Model):以曲线和相关的曲线数据的形式为能量用户及系统负荷提供模型。此外,还包括影响负荷的特殊情况,如季节与日类型。这一信息用于负荷预测(Load Forecasting)和负荷管理(Load Management)。
量测包(Meas):其中包含描述各应用之间交换的动态测量数据的实体,如测点(Measurement)和限值(Limit set)。
停运包(Outage):该包是Core和Wires包的扩展,建立了当前及计划网络结构的信息模型。这些实体在典型的网络应用中是可选的。
保护包(Protection):该包是Core和Wires包的扩展,建立了保护设备,如继电器的信息模型。这些实体用于培训模拟和配电网故障定位应用。
拓扑包(Topology):该包是Core包的扩展,它与Terminal类一起建立连接性(Connectivity)的模型,而连接性是设备怎样连接在一起的物理定义。另外,它还建立了拓扑(Topology)模型,拓扑是设备怎样通过闭合开关连接在一起的逻辑定义。
电线包(Wires):该包是Core和Topology包的扩展,建立了输电(Transmis-sion)和配电(Distribution)网络的电气特性的信息模型。这些信息用于网络应用,如状态估计(State Estimation)、最优潮流(Optimal Power Flow)等。
(2)IEC 61970-302(定义了财务和能量计划逻辑视图)
能量计划包(Energy Scheduling):提供了计划和结算公司之间的电力交易的能力。它包括了发电、用电、损耗、输电、销售和购买电量的交易。这些类用于电量的结算、发电容量、传输和辅助服务。
财务包(Financial):负责结算和账单,这些包代表了在正式或非正式协定中出现的法律条文。
预订包(Reservation):包括电量交易计划、发电容量、传输和辅助服务涉及的信息。
(3)IEC 61970Part303(定义了SCADA逻辑视图)
SCADA包:包含了用于监控和数据采集(SCADA)应用的建模信息实体,监控系统支持着操作员对设备的控制,如分合开关。数据采集负责收集各种遥测数据。
2.CIM类和关系
类是对现实世界中一种对象的表示,电力系统中具有唯一身份的一个具体对象则被建模成它所属类的一个实例。改变属性的值比改变类定义更为容易,因此CIM应当避免定义类的太多的具体子类型。相反,CIM定义一些通用的类,由属性来给定类型名,这样应用就可以根据需要使用这一信息去实例化具体的对象类型。每一个属性都具有类型,典型的属性类型有整型、浮点型、布尔型、字符串型及枚举型,它们被称为原始类型。然而,许多其他类型也被定义为CIM规范的一部分,例如Capacitor Bank(电容器组)有一个具有Voltage(电压)类型的Maximum属性。(www.xing528.com)
CIM类之间的关系揭示了类是如何被组织在一起的,各个类主要通过以下三种方式相互关联,即泛化、关联和聚集。
泛化是一个较普遍的类与一个较具体的类之间的一种关系。图2-2所示为一个电力变压器(Power Transformer)是电力系统资源(Power System Resource)的一种具体类型。泛化使具体的类可以从它上层的所有更普遍的类继承属性和关系。图中Breaker是Switch的更为具体的类型,Switch又是Conducting Equipment的更为具体的类型,而Conducting Equip-ment本身又是Power System Resource的更为具体的类型。Power Transformer是Power System Resource的另一个具体类型。
关联是类之间的一种联系,每种关联都有两个作用,每个作用表示了关联中的一个方向,每个作用还有重数,表示有多少对象可以参加到给定的关系中。Power Transformer类与Transformer Winding类之间的关联如图2-3所示,其两端表示了多值性(作用在本端,数值显示在对端)。下列中理解为“一个Power Transformer具有1个或多个Transformer Winding”。
图2-2 CIM中泛化关系示例
图2-3 CIM中简单关联关系示例
聚集是关联的一种特殊情况,表明类与类之间的整体-部分关系,整体类由部分类“构成”,而部分类是整体类的“一部分”,但部分类不从整体类继承。
合成聚集:用于建立合成物的重数为“1”的整体—部分的关系模型即一个部分属于且仅属于一个整体。如图2-4所示,一个Topological Node只能是一个Topol-ogical Island的一个成员(Member Of),但一个Topological Island却能包含一个或多个Topological Node。
图2-4 CIM中合成聚集关系示例
共享聚集:用来建立合成物的重数大于1的整体-部分的关系模型,即一个部分可属于多个整体。图2-5所示为Measurement类与Measurement类间的共享聚集,一个Measurement类可以是任意数目Measurement类集合的一个成员(Member of)。
图2-5 CIM中共享聚集关系示例
为建立系统的连接关系模型,定义Conducting Equipment、Terminal、Connectiv-ity Node及Topological Node类。一个Terminal类可以为导电设备提供0、1或多个外部连接,每个Terminal连接0或1个Connectivity Node,导电设备的端点通过零阻抗支路连接。
3.CIM的理解和示例
CIM不是数据库,对系统抽象的描述仅仅是数据模型(元数据),即指关于数据的数据结构,元数据最基本的用途在于管理数据,从而实现查询、交换和共享。
电力系统应用关心的重点在于电力系统资源模型(Power System Resource),它是CIM中最基本的一个类,从Naming类继承命名属性,用来描述任何电力系统物理对象或将电力系统物理对象分组,以便建模、监测或测量。如图2-6所示,它本身有4个关联:①一个电力系统资源类可属于一个或多个公司(Company);②一个电力系统资源类可有一个停运计划类(Outage Schedule);③电力系统资源类型(PSR Type)由Naming类派生,来细分同一类的电力系统资源;④一个电力系统资源类可关联一个或多个测量类(Measurement)。
图2-6 电力系统资源类模型
作为CIM的基类,Power System Source类派生出几十个类,覆盖了电力系统应用中从底层到高层,从具体到抽象的各个层次,涵括了电力线路、电力变压器、发电设备和负荷等表示电力系统物理部件的各类。基于CIM的电网系统的总体结构
如图2-7所示。
图2-7 CIM中电网模型的总体结构
以上CIM结构采用了容器模式,Power System Source类主要分为两个抽象类,即设备类和设备容器类。其中Equipment Container类对象存储所有的设备容器信息,对于其中的每一种设备容器,需要分别建立与类名相对应的表。如配电网中重要的一个管理单元馈线Feeder类,就需对应的建立Feeder数据库表。Equipment类存储所有的设备信息,同样需建立对应的Equipment数据库表。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。