|
BACnet协议是一个面向对象的协议。在BACnet应用层,通过定义标准的对象和服务,对应用提供了完整的实现手段,同时又可以使得开发商按照不同的应用进行具体的开发,实现了异构BACnet设备的互操作性以及良好的可重用性和扩展性。
1.3 BACnet中的面向对象的要素
工业界长期使用“点(Points)”来表示传感器输入、控制输出或控制值。BACnet采用了面向对象技术。在BACnet协议中定义了一组标准的对象类型,给出了一种抽象的数据结构,作为建立BACnet协议中应用层服务的一种框架。大部分应用层服务设计成对这些标准对象类型的属性进行访问与操作,网络中的每个设备用对象进行描述。因此,对象(Object)、属性(Property)和服务(Service)构成了BACnet要素。
在BACnet中,对象是在网络设备之间传输的一组数据结构,对象的属性就是数据结构中的信息。设
备可以从数据结构中读取信息,可以向数据结构写入信息,这些就是对对象属性的操作。BACnet网络中的设备之间的通信,就是设备的应用程序将相应的对象数据结构装入设备的应用层协议数据单元 (APDU)中,按照一定的规范传输给相应的设备。对象数据结构中携带的信息就是对象的属性值,接收设备中的应用程序对这些属性进行操作,从而完成信息通信的目的。
BACnet定义了一个“对象”的标准集,任何一个实际控制设备均可由不同的标准对象实例集合来表示。其中每个对象都有一个“属性”标准集,对象的属性用于向BACnet互联网上的其它设备描述该对象及其当前状态。正是通过这些属性,该对象才能被其它BACnet设备操作和控制。
不过值得注意的是,BACnet标准对象只是一些与控制信息和寻址信息有关的“属性(property)”集合,没有定义对这些属性操作的方法(method)。因此BACnet定义的对象与面向对象程序设计语言中定义的对象是不同的概念,前者相当于结构化程序设计语言中的数据结构。 |