华中科技大学硕士学位论文
后就可以认为服务结束。在MMS中绝大多数服务类型都为证实型服务,而非证实型服务则仅包含报告状态等几种对设备运行不起关键作用的服务类型。
行为:MMS定义了设备处理服务时表现出来的网络可见行为。对象、服务及行为的定义构成了设备与应用通信的全面广泛的定义,在MMS中即所谓的虚拟制造设备模型。
2.4.1虚拟制造设备VMD模型
为了提供一种面向所有智能设备的通信接口,在MMS系统的服务器端引入了虚拟制造设备(virtual manufacturing device,VMD)的概念。它是代表实际设备的外部通信行为的模型。VMD对象提取了各种不同的智能设备所共同具有的外部可见特性,因此作为客户一方的远程控制器可直接对服务器一方的VMD进行操作,从而达到对VMD所对应的实际设备进行控制的目的。从这一过程可以看出MMS协议所具有的中介作用,当正确建立了VMD与实设备之间的映射关系后,远程控制器与实设备之间的通信就可以在不考虑实际设备的具体物理特性的条件下进行,达到了控制的设备无关性。
ISO对于MMS协议的描述十分庞大且复杂,这主要体现在VMD对象结构的复杂性。在制造系统中不同类型的智能设备之间无论在内部结构、控制信息类型、通信方式等方面都存在很大差别,因而MMS协议标准不可能定义具体的VMD结构,它只能用抽象语言定义VMD对象和它的一系列子对象的结构框架。在实际应用中,用户要根据实际设备的结构和功能,来确定VMD对象及其包含的子对象的具体结构,并建立起VMD对象与实际设备之间的映射关系,才能够通过各种MMS服务实现对设备的远程控制。
在MMS中定义了许多对象,每个对象都有相应的MMS服务,用户的应用程序通过服务可以访问和操作这些对象。每个对象还包含相应的名称属性及其它相关属性,以便区分不同的对象。虚拟制造设备VMD本身就是一个对象,其它的对象均从属或包含在VMD对象中。
VMD执行模型能灵活地提供MMS服务器执行程序的控制定义,该模型的核心是域对象与程序调用对象。
1.域对象(Domain Object)
代表真实设备资源的MMS命名对象。在许多典型应用中,域被用于代表设备的内存范围。
2.程序调用对象(Program Invocations Object)通过程序调用操作,MMS用户可以控制VMD内的程序执行。 2.4.2变量访问模型
14
华中科技大学硕士学位论文
在MMS中定义了两种类型的虚拟对象用于描述变量访问,用户可以通过作为虚拟对象的MMS变量对真实变量进行访问。
未命名变量对象(Unnamed Variable Object):描述通过设备特定地址对真实变量进行的访问。
命名变量对象(Named Variable Object):描述通过MMS对象名称对真实变量进行的访问。 2.4.3事件管理模型
MMS事件管理模型提供用于访问和管理事件的网络通信方面的框架,通过对以下三个命名对象的定义来实现:
事件状况对象(Event Condition Object):代表VMD内真实状况的当前状态。 事件行为(Event Action Object):代表事件状况的状态发生变化时,VMD采取的行为。
事件登记(Event Enrollment Object):联系MMS事件管理模型的全部元素,代表向MMS用户通报事件状况的状态改变的请求。 2.4.4信号管理模型
在许多实时系统中,需要建立一种机制,应用程序通过这种机制可以控制对系统资源的访问。MMS定义了以下两种类型的信号对象用于这些类型的应用程序:
令牌信号对象(Token Semaphore Object):代表在VMD控制范围内对访问进行控制的资源。
公共信号对象(Pool Semaphore Object):除了单个信号可确认并且拥有相关的名称外,其余与令牌信号对象相似。 2.4.5其它MMS对象
其它的MMS对象还包括:
操作员位置对象(Operator Station Object):代表基于与VMD连接用于和就地操作员通信的输入及输出设备的特性。
日志对象(Journal Object):代表包含有按时间顺序组织的收集记录的日志文件。 文件对象(File Object):提供简单的文件传输服务集,用于具有就地文件存储却无法通过其它方式支持文件服务的全集的设备。
2.5 抽象语法符号
15
华中科技大学硕士学位论文
IEC 61850实现的关键在于ACSI到MMS的映射,MMS协议规范使用表示层标准ISO8824即抽象语句标识(ASN.1,Abstract Syntax Notation Number One)定义MMS的报文格式,因此,实现ACSI到MMS的映射的一个关键就在于ASN.1编码。
OSI定义抽象对象的方法称为ASN.1(Abstract Syntax Notation One,X.208),把这些对象转换成“0”和“1”的比特流的一套规则称为BER(Basic Encoding Rules,X.209)。ASN.1是一套灵活的记号,它允许定义多种数据类型,从integer、bit string一类的简单类型到结构化类型,如set和sequence,还可以使用这些类型构建复杂类型。BER说明了如何把每种ASN.1类型的值编码为8bit的octet流。通常每个值有不止一种的BER编码方法。 2.5.1类型
在ASN.1中,一个类型就是一个值的集合。有些类型有有限个值,有些则有无限多个。一个给定的ASN.1类型的值是该类型集合里的一个元素。ASN.1有四种类型:简单类型,它相当于原子,没有组件;结构类型,有组件;标签类型,由其他类型生成;其他类型,包括CHOICE和ANY类型。可以使用ASN.1的分配符(::=)给类型和值指定名字,这些名字可以用于定义其他类型或值。
除了CHOICE和ANY类型以外,每种ASN.1类型都有一个标签,由一个类和一个非负的标签数组成。标签值可以唯一区分ASN.1类型。也就是说,ASN.1类型的名字并不影响它的抽象含义,只有标签才有这个作用。有四类标签:
Universal:该类型的含义在所有的application中都相同。这种类型只在X.208中定义。
Application:该类型的含义由application决定,如X.500目录服务。两个不同的application中的类型可以具有相同的application-specific标签但是不同的含义。
Private:该类型的含义根据给定的企业而不同。
Context-specific:该类型的含义根据给定的结构类型而不同。Context-specific标签用于在一个给定的结构类型上下文中区分使用相同的下层标签的组件类型。在两个不同的结构类型中组建类型可以具有相同的标签但是含义不同。
具有universal标签的类型在X.208中定义,X.208也给出了类型的universal标签值。使用其他标签的类型在很多地方都有定义,通常是通过implicit或explicit标签获得。
ASN.1类型和值使用一种灵活的、类似编程语言的符号表示,规则为:分层(换行)无特殊意义;多个空格和多个空行相当于一个空格。注释由一对连字符(--)开头,或者一对连字符和一个空行标识符(值或字段的名字)和类型索引(类型的名
16
华中科技大学硕士学位论文
字)由大小写字母、数字连字符和空格组成;标识符由小写字母开头,类型索引由大写字母开头。 2.5.2基本编码规则
ASN.1的基本编码规则定义了一种或多种把任意ASN.1值表示成字节字符串的方法,缩写为BER。(当然还有其它的方法,但是BER是OSI中转换这些值的标准)。使用BER,一个ASN.1的值有三种编码方法,选择哪种取决于值的类型和值的长度是否已知。这三种方法是:简单定长编码,结构化定长编码,及结构化不定长编码。简单的non-string类型使用第一种(简单定长编码);结构化类型可使用任一种结构化的编码方法;简单的string类型根据值的长度是否已知可使用任一种方法。隐式标签定义的类型可使用下层类型的方法,显式标签定义的类型使用结构化的编码方法。每种BER编码方法都有三或四部分:
Identifier octets:定义了ASN.1值的类和标签值,指明编码方法是简单的还是结构化的。
Length octets:对于定长编码方法,它指出了内容字节个数;对于结构化非定长编码方法,它指明长度是不确定的。
Contents octets:对于简单定长编码方法,它给出了值的具体表示;对于结构化的方法,它给出了值内容的BER编码的串联。
End-of-contents octets:对于结构化非定长的编码方法,它表示内容结束;对于其它方法,没有该部分。
2.6本章小结
本章阐述了IEC61850标准体系的主要内容及其技术特点:网络分层、面向对象的数据对象统一建模、数据自描述、抽象通信服务映射和采用XML的配置技术。介绍了IEC61850标准中的变电站自动化系统接口模型和通信系统结构。简要分析了IEC61850标准中的关键技术即制造报文规范(MMS)和抽象语法符号—(ASN.1)。
17
华中科技大学硕士学位论文
3 IEC61850标准的实现过程
开发者只要根据所要开发的产品,并结合IEC61850-5中对变电站自动化系统的功能和逻辑节点分类,提出产品的通信要求,然后从IEC61850-7-4中选择标准数据类(标准中没有的数据类,开发者可以自己定义私有逻辑节点类),从IEC61850-7-3中选择出标准数据对象类,以这些类作为模板,派生出所需的实例,这些实例包括逻辑设备和逻辑节点,IEC61850-7-2中定义的ACSI模型和服务规范了逻辑节点通信模型和服务,然后根据实际使用的网络和协议栈,利用IEC61850-8/-9-1/-9-2定义的SCSM,将ACSI映射到SCSM中去,到这一步,就完成了产品的设计。最后根据IEC61850-10的规定,完成兼容性检测。
整个过程是先提出通信要求,然后从标准所提供的模型中派生出实例的过程,这是使用面向对象建模技术通信标准的显著特点。按照以上方法,整个协议的实现过程均有明确严格的规范和步骤,因此符合该标准的协议开发在理论和方法上都是有保证的。
由于IEC61850建模了大多数公共实际设备和设备组件,这些模型定义了公共数据格式、标识符、行为和控制,充分利用IEC61850的自我描述,可重复使用的建模用标准名和类型信息这一特性,降低整个系统设计、工程、运行、维护等费用,节约时间。
以下从功能的建模过程、数据的建模过程、通信服务的映射、工程与一致性测试四个方面予以分析。
3.1 功能建模[8-9]
整个变电站对象从逻辑上可以看作由分布于变电站自动化系统中完成各个功能模块的逻辑设备构成。而逻辑设备中的各个功能模块又由若干个相关子功能块,即逻辑节点(Logic Node)组成,并通过它的载体IED设备实现运行。逻辑节点是功能组合的基础块,也是通信功能的具体体现。逻辑节点类似积木块,可以搭建组成任意功能,而且可分布于各个IED设备中。逻辑节点本身进行了很好的封装,各个逻辑节点之间通过逻辑连接(Logic Connect)进行信息交换。
逻辑连接是一种虚连接,主要用于交换逻辑节点之间的通信信息块PICOM(Piece of Information COMmunication)。逻辑连接映射到物理连接实现节点之间的信息交换。PICOM通过ACSI服务实现传输。逻辑节点的功能任意分布性和它们之间的信息交换使变电站自动化系统真正实现了功能级的分布特性。整个IEC61850标准定义了上
18