面向对象设计在楼宇控制系统中的应用_第1页
面向对象设计在楼宇控制系统中的应用_第2页
面向对象设计在楼宇控制系统中的应用_第3页
面向对象设计在楼宇控制系统中的应用_第4页
面向对象设计在楼宇控制系统中的应用_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象设计在楼宇控制系统中的应用bjet-rienteddesigninbuildingautatinappliatin摘要介绍了面向对象编程如何进步程序的可靠性、提供更大的灵敏性和减少编制费用,进而介绍了完好的面向对象设计还包括构成控制系统通讯根底的面向对象协议。BAnet协议将每个控制子单元归纳为对象形式,简化了设备之间的通讯和操作。关键词面向对象设计,控制系统,BAnet,协议Abstratlllutrateshbjet-rientedprgraingiprvesreliability,prvidesgreaterflexibilityandreduesprgraingsts,andf

2、urtherpresentsthatanbjet-rientedprtlasabasefuniatinakesahlebjet-rienteddesign.BAnethangesntrlunitstantrlunitstalletinfbjets,hihfailitatestheuniatinandperatinfthedevies.Keyrdsbjet-rienteddesign,ntrlsyste,BAnet,prtl1简介自20世纪80年代以来,面向对象的方法已广泛应用于计算机及其相关领域,它不仅应用于编程阶段,而且应用在系统设计和系统分析上。面向对利用设计在控制系统中的应用减少了控制系

3、统的费用、进步了系统的易用性、加强了系统的可维护性,因此成为控制系统的开展方向。控制系统中的面向对象设计主要分为两部分:面向对象编程传统的过程化编程语言比方BASI,由于不具备对象的特点,编制程序时得一行一行地编制,因此只有专业人员才能轻松地应用这些工具1。但即使这些专业人员也难免在编程过程中产生错误,而这对于控制系统可能是灾难性的。由于控制系统控制的是实际设备,任何忽略均可能会使设备出现故障甚至报废,从而对业主造成宏大的损失。面向对象编程实现了编程的简单化和可视化,从而大大减少编程人员的工作量。同时对象中的成员及函数均由专业人员反复测试和检验过,出错的可能性也因此显著降低。相对于传统的编程语

4、言,缺乏编程背景的建筑设备工程师可以纯熟运用对象来完成他所需的控制任务,而不需软件人员的帮助。面向对象的协议协议是控制系统互相之间通讯的根底,面向对象设计必须由面向对象的协议来完善。传统的集散式控制系统DS主要由模拟量输入AI、模拟量输出A、数字量输入DI和数字量输出D构成控制系统的各个通道,它们之间彼此互相独立。DS的这种构造便于工程人员根据工程的特点来任意组合控制系统通道的组成,但通道之间独立的数据造成的大量冗余数据和信息的盲目性使数据的解释变得非常复杂,很难发现其中有用的数据。面向对象的底层协议将数据的解释、分类和判断由前期设计人员完成,使无用的数据变成有用的信息,大大方便了工程人员的应

5、用。面向对象技术假设要在控制系统中真正应用,必须在这两个层次完成对象化改造。缺乏其中的任何一环,整个面向对象系统均是不完好的。2面向对象编程21控制语言中的对象随着面向对象语言+的流行,面向对象编程已广泛被人们所认知。但由于种种原因,控制系统的编程语言多数是逐行编制的非面向对象语言,面向对象语言还较少应用。众所周知,面向对象技术是建立在对象和类的根底上的,因此对于它们应有一个准确的定义。对象的定义为问题域或者其实现中一些东西的抽象,它反映系统为之保存信息和或与它交互的才能。它是一些属性及其专用效劳的一个封装体2。而类的定义为一个或多个对象的描绘,可用一组属性和效劳的形式来描绘1。对于控制系统中

6、的面向对象语言,对象应有如下特点:独立性一个对象是独立存在的模块,各对象彼此之间依赖性很校系统可由各自独立的对象组成,而不必考虑彼此之间的干扰。连接性一个孤立的对象只能完成很少的一部分功能,只有将对象有机地结合起来才能发挥它的作用。面向对象系统通过消息激发机制使对象互相作用、互相联络,构成一个联络严密的整体。易维护性一个对象的内部功能与外界环境没有任何的固有联络,因此对一个对象的维护、发行不会影响到其它对象和外界程序的功能。在对象的独立性上,控制语言中应别离对象内部的运算变量与实际的操作变量。例如集散式控制系统DS中直接操作设备的是420A/010V的模拟量输出或开关量输出,而现场总线控制系统

7、FS直接操作的是阀门、电机等智能控制器。控制语言中的变量假设直接是A,D或特定的阀门、电机等,虽然程序看起来比较直观,但它丧失了通用性和对象封装的特点。当系统中的控制程序移植到具有一样特点的另一个系统中时,用户就需将程序中的每一个变量变更以适应新的系统,这样做不仅费时而且极容易出错。因此需要将程序中的运算变量和实际操作变量别离,使对象的独立性和系统的可操作性统一起来。控制系统中的现场控制模块通常程序容量和计算速度均远低于计算机的相应性能,因此硬件上的限制使控制语言尽量减少类的复杂过程的应用。同时类中的成员函数也应尽量减少,构造函数和析构函数均由赋值表达式完成。简言之,控制语言中的类由两部分组成

8、:变量的声明表;对变量进展计算和操作的方法。控制语言中的类定义为:类名称:类变量声明表:变量类型变量1变量类型变量n类代码:方法1方法类描绘完毕22消息的发送和接收一个面向对象的控制程序由假设干互相关联的一组对象组成,并通过对象之间的互相联络完成所有的功能。对象之间的联络方式即是消息鼓励机制,消息是用来恳求对象执行某个处理或答复某些信息的要求3。在面向对象系统中,对象之间的联络是通过消息的传递完成的,对象只有接收到消息之后才能做出响应。而对消息进展响应的是对象中的成员函数即所谓的方法,方法是实现消息详细功能的手段。消息具有如下几个性质:同一对象可以接收不同形式的多个消息,产生不同响应。一条消息

9、可以发送给不同的对象,消息的解释完全由接收对象完成。对象对消息的响应是不必须的。对象既可以对消息作出响应,也可以不返回任何的答复信息。根据消息表,控制语言将包括设备、时钟和数据交换等系统事件发送给可以响应这些事件的对象。设备事件是控制系统中的实际设备的状态变化等设备信息,控制系统将其通知相应的操作对象。时钟事件用于满足系统对时间控制的要求,定时器时钟在时间条件具备的条件下向对象发送时间已到的信息,对象根据此信息按固定时间步长或绝对时间操作。由于控制程序要兼顾系统中的所有设备,因此在程序中不能存在无限循环等待某一外界变量变化的情况。假设对系统死机的现象。当一个对象需要向另外一个对象发送数据的时候

10、便产生一个数据交换消息以鼓励该对象,被鼓励对象据此接收被发送的数据。数据交换的消息鼓励机制同时可用于对象根据内部的某些条件来触发自己本身。在控制系统中事件的产生是没有规律的,某一时刻可能会同时出现多个消息。而哪个消息应首先得到处理、哪个最后处理就需要控制系统对消息进展管理。消息管理通常采用队列方式即按消息产生的时间序列来排队,先来的先处理后来的后处理。假设消息产生的时间恰好一样,那么按消息的等级即设备、时间、数据通讯的顺序来排列。设备消息对应的是实际现场设备,消息的产生说明现场设备出现了变化,因此控制系统应首先作出响应。一个对象可能对多个触发消息响应,而每个消息必然需要一个成员函数对它响应,这

11、种成员函数即所谓的方法。将系统事件映射到对象时所使用的手段称为消息表。面向对象控制语言出于简便的原那么将消息映射和对应的方法按照统一的格式来书写。在消息表中预定义了系统事件所映射到的方法,当消息触发该对象后寻找对应这个消息的方法名称,并据此执行相应的方法。控制语言中一个完好的对象应包括对象名称、消息表、对象变量声明和数据交换表和对象的实体。对象变量声明和数据交换表将系统内的变量声明并与外界设备数据进展交换。当消息触发对象时,表中的系统设备状态和数据均映射到相应的变量上。对象的整体构造为:对象名称:消息表:方法名称1触发条件1方法名称k触发条件k对象变量声明和数据交换表:变量类型变量1=系统设备

12、1变量类型变量n=系统设备n对象的实体:方法名称1方法的源代码1方法名称2:方法的源代码完毕为了简单地说明对象在楼宇控制系统中的实际应用,以最常用的PID算法为例来构成一个PID对象。图1所示为PID算法调节调节执行器v使受控对象的温度t到达温度设定值tset。对于这个调节算法,一个简单的对象就可以将其概括。图1PID系统调节系统离散PID算法是周期性运算,因此它的触发消息为时间周期。PID算法与外界存在3个数据的交换,它们是温度设定值、温度测量值和执行器。完成一个PID对象只需规定时间周期,同时将映射到这3个数据的对象内部变量与实际设备相对应。这是一个非常简单的过程,一个不精通PID算法的人

13、可以纯熟地操作PID算法。简单的PID算法只是一个例子,而对象的实际应用在复杂的算法上。通常工程人员需要花很多时间去理解复杂的算法,如自适应算法等等。而算法的对象化省去了这些费事,节约了工程人员的时间和精力。由于对象对不同的消息作出不同的响应,因此可以在PID对象中加上对故障的处理等以丰富PID算法的应用。下面例子中对温度超限的信号进展了处理。当温度超限后,对象直接执行故障处理的程序,不再进展PID运算。用户同时可以增加其它的方法来处理不同的情况,从而大大进步了对象的灵敏性。PID算法:消息表:PID计算间隔时间10s故障处理温度超限报警信号对象变量声明和数据交换表:tset=温度设定值t=温

14、度测量值v=执行器对象的实体PID计算PID计算源代码故障处理:故障处理源代码完毕3面向对象的协议在控制系统中仅有属于管理层的面向对象编程语言是不够的,包括现场层的面向对象通讯协议才构成完好的面向对象控制系统。面向对象设计的初衷是将编程过程大大的简化,而传统的面向点的控制系统只会使编程人员的负担增加。例如一个AI和两个D组成的对阀门的控制,其中AI测量阀开门度、两个D分别是阀门电机的正反转,在控制阀门时假设AI测量值小于阀门设定值那么正转D输出信号开大阀门,反之关小阀门。这些简单的功能在传统的面向点的控制系统中均需要编程人员来编写,增加了系统的设计费用和调试本钱。面向对象的BAnet协议是用来

15、帮助系统中所有设备互相理解的共同语言。出于统一楼宇控制协议的目的,ASHRAE于1995年公布了BAnet协议4。BAnet协议定义了包括空调控制系统、消防等楼宇设备控制系统之间的数据通讯协议。它遵循SI开放性网络协议,将数据组合成对象在网络之间传播。同时由于楼宇控制网络是网络,它只保存了物理层、数据链接层、网络层和应用层。它们的构成见图2。图2BAnet的构造BAnet协议没有在详细规定物理层和数据链接层的形式,它可以建立在多种不同的协议之上。图2所示的第1,2种选择是建立在IEEE802局域网标准上,它将数据链接层又细分为逻辑链路控制子层LL和介质存取控制子层A,其中逻辑链路控制子层主要提

16、供寻址、排序、过失控制等功能,介质存取控制子层提供传输介质和访问控制方式等功能。图中IS8802-2IEEE802.2是逻辑连路控制子层,IS8802-3IEEE802.3是介质存取控制子层,详细方法为冲突检测的载波侦听多路访问SA/D。第3种选择在数据链接层上为主从/令牌方式,物理层那么采用了主从构造的RS-485标准,RS-485标准允许最多并联32台驱动器和32台承受器,因此在多点互连时非常方便。第4种选择是点对点协议,相应的物理层为RS-232标准。第5种选择是Eheln公司的LnTalk协议。BAnet的网络层的目的是将不同的网络连接起来,不管是由何种物理层和数据链接层组成的。例如建

17、立一个BAnet路由器就可以将IEEE802.3和ARNET构成的不同网络组织起来。BAnet之所以没有规定物理层和数据链接层的详细协议,是希望BAnet能应用在多种网络根底上。BAnet协议的真正本质是在应用层定义了开放性的设备对象,并因此成为面向对象的协议。BAnet几乎涵盖了楼宇控制中所有可能的情况,它定义了设备对象、时间表对象、程序对象、文件对象等等,同时还提供了管理和操作对象的效劳。BAnet目前定义了18种对象,它们分别是模拟量输入、模拟量输出、模拟量值、数字量输入、数字量输出、数字量值、设备、多态量输入、多态量输出、命令、时间表、时序表、事件登记、文件、环、组、通知类和程序对象。

18、BAnet为这些对象定义了详细的数据构造和属性,属性代表了设备中的信息,系统可通过属性对设备进展读取或写入信息。在这18个对象中,输入输出对象共6个,它们代表了所有可能的输入输出类型。多态量输入输出对象2个,它们表示对象所在BAnet设备中运算程序的结果和物理输出。命令对象1个,它向一组对象的属性写入一组值。时间表对象2个,它们用于表示周期性的时间或日历。事件登记对象1个,它记录了管理事件所要求的信息。文件对象管理对文件的访问和读写。组对象将相似的设备定义为一组,使操作更简便。环对象为反响控制对象。通知类对象包括事件通知所需的信息。程序对象将运行程序作为一个对象。表1以数字量输入为便说明BAn

19、et是如何定义对象的。表中各项为数字量输入对象的属性。对象ID是代表对象的一个数字,对象名称和对象类型顾名思义是对象的名字和对象的类型。设备类型是一个描绘所接设备的字符串,而设备状态和事件状态均代表设备正常与否。效劳状态属性代表实际输入值和对象中的测量值是否一致。当它为真时实际输入值和测量值无关,用户可以随意更改而不用考虑实际的输入值,这为调试程序带来了极大的方便。极性属性代表对象的极性,当极性为正时对象中的测量值与实际输入值一样,极性为负时二者相反。例如实际输入值为N,假设极性为负时对象中的值为FF。开、关状态描绘说明了对象对开或关状态的解释,例如关状态描绘可以写为风机1关。最近状态变换时间

20、属性是数字量从计数器复位后的状态变换次数,而状态变换计数器复位时间属性即记录了上次复位的时间。开状态复位时间和经历时间属性分别记录了复位的时间和复位后开状态的时间s总和。剩下的属性描绘了对报警信息的操作,这里就不一一详述。表1数字量输入对象属性名称数据类型属性特征对象IDBAnet对象ID只读对象名称字符串只读对象类型BAnet对象类型只读测量值BAnetBinaryPV只读描绘字符串可选设备类型字符串可选设备状态BAnetStatusFlags只读事件状态BAnetEventState只读可靠性BAnetReliability可选效劳状态布尔量只读极性BAnetPlarity只读关状态描绘字符串可选开状态描绘字符串可选最近状态变化时间BAnetDateTie可选状态变换计数器无符号整型可选状态变换计数器复位时间BAnetDateTie可选开状态经历时间32位无符号整型可选开状态复位时间BAnetDateTie可选延迟时间无符号整型可选告知级别无符号整型可选报警值BAnetBinaryPV可选事件使能BAnetEventTransitinBits可选应答BAnetEve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论