|
摘要:本文通过介绍BACnet标准协议中使用的通信语言三大要素:对象、属性和服务,说明面向对象技术在BACnet标准中的具体实现,并采用面向对象的设计思想对BACnet协议的类库进行开发、设计和类结构的定义。
控制系统中的面向对象设计主要分为两部分:面向对象编程和面向对象的协议。协议是控制系统相互之间通信的基础,在控制系统中仅有属于管理层的面向对象编程语言是不够的。面向对象设计必须由面向对象的协议来完善,只有包括现场层的面向对象通信协议才能构成完整的面向对象控制系统。
BACnet协议是针对楼字自动化系统设计的,采用了面向对象的技术,用 “对象”、“属性”和“服务”等要素定义信息格式,定义了一种具有属性的对象来表示任意的楼宇系统设备的功能,从而提供了一种标准的表示楼宇自控设备的方式。
1 可行性研究
1.1面向对象技术
面向对象技术中最重要的就是 “对象”的概念,“对象”具有一定的属性和方法。一个具体的对象可以有许多的属性和方法,面向对象技术的重要特点就是对象的封装性。对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的,而只需要调用对象所提供的方法来完成特定的功能。
一个面向对象的控制程序由若干相互关联的一组对象组成,并通过对象之间的相互联系完成所有的功能。对象之间的联系方式即是消息激励机制,消息是用来请求对象执行某个处理或回答某些信息的要求。在面向对象系统中,对象之间的联系是通过消息的传递完成的,对象只有接收到消息之后才能做出响应。而对消息进行响应的是对象中的成员函数,即所谓的“方法”,方法是实现消息具体功能的手段。
1.2 BACnet协议
通信协议是楼宇自动化系统(BAS)的重要组成部分。由于功能不同,不同的设备具有不同存储信息的数据结构。为了实现设备间的信息交换,必须定义一种标准的、“网络可见”的信息描述方式。楼宇自动控制网络数据通信协议 (AData Communication Protocol for Building Automation and Control Network,BACnet)采用了面向对象的技术,定义了一组具有属性的对象(Object)来表示任意的楼宇自控设备的功能,从而提供了一种标准的表示楼宇自控设备的方式。BACnet是一个ISO国际协议,定义了包括空调控制系统、消防等楼宇设备控制系统之间的数据通信方式。本协议遵循OSI开放性网络协议,将数据组合成对象在网络之间传播。 |