1. 引言
在社会经济高速发展的今天,高大空间建筑越来越多,如展览中心、影剧院、体育场馆、仓库等。大空间建筑由于其本身结构特殊、设施复杂,火灾隐患较多,而且发生火灾后不易及时发现和有效扑救,往往会造成巨大的经济损失和人员伤亡。考虑到其它灭火剂的性能和用量的要求,水灭火仍然是大空间建筑最好的灭火方式[1]。因此,对于大空间建筑来说,采用具有火灾自动探测功能的智能消防水炮系统是一个较好的方案。
智能消防水炮系统的工作原理是通过前端探测系统采集现场红外图像,中央控制器采用图像处理的手段对发生在控制区域内的火灾进行侦测和定位,打开相应的联动设备并控制水炮进入喷水灭火操作[2]。系统各部分分布于控制现场不同的位置,因此,各个部分之间的通信是保证整个系统能够正常工作的前提。
CAN总线作为一种技术先进、可靠性高、成本低且功能完善的通讯控制方式,已被汽车电子、自动控制、智能楼宇等各个领域广泛采用。但是CAN-Bus只规定了物理层和数据链路层,其本身并不是一个完整的协议,要进行高效率的通信,必须有高层协议的支持。CANOPEN是由从事工业控制的CIA(CAN in Automation)会员开发一种开放的、标准化的高层CAN协议。在近年来获得了迅猛的发展,尤其是在欧洲,CANOPEN协议在基于CAN的工业系统中占领导地位[3]。依靠CANOPEN协议的支持,可以使不同厂商的设备通过总线进行配置,从而大大增强了CAN网络的通用性。
将CANOPEN协议应用于智能消防炮系统中,不仅可以解决系统中各个部分之间的互联问题,同时还可以提高整个系统通信的可靠性、实时性。此外,由于采用了CANOPEN协议,提高了整个系统的标准化开放化程度,因此,对整个系统进行扩充就更加方便。
2. CANOPEN协议的剖析
CANOPEN假定CAN网络的节点硬件有ISO11898规定的一个CAN控制器和一个CAN收发器。该协议描述了标准的通讯机制、网络管理及相关参数的设定等内容。
2.1CANOPEN的核心——对象字典
在CANOPEN中,引入了对象字典的概念。CANOPEN网络中的每个节点都有一个对象字典,而且每个设备的对象字典具有相同的结构。对象字典描述了该设备和它的网络行为的所有参数。它是一个有序的对象组,对象字典中的每个对象可以通过一个16位的主索引和一个8位的子索引来定位。
网络节点的对象字典保存在电子数据单或者设备配置文件中,CAN总线不需要对每个节点的对象字典的全部功能都进行检测,节点只需要能够提供对象字典中必需的对象,以及其它可选择的、构成节点部分可配置功能的对象[4]。
2.2 CANOPEN的通讯模式
CANOPEN协议中对总线上传输的数据进行了分类,即每一个传输数据都是某一特定类的对象,从而实现了面向对象的程序设计。在CANOPEN中定义了四类对象,分别是管理对象(NMT),服务数据对象(SDO),过程数据对象(PDO)和特殊功能对象。
2.2.1 管理对象(NMT)
CANOPEN是基于主从式通讯模式的,所有从节点的工作都由网络主节点来协调,管理对象用于网络主节点对从节点监控和管理,完成诸如节点的初始化、节点参数配置、节点出错保护等相关工作。
2.2.2 服务数据对象(SDO)
服务数据对象用来建立两个CANOPEN设备之间基于客户/服务器机理的点对点通讯。通过服务数据对象,客户方可以访问服务器方的对象字典。一个服务数据对象用两个带有不同标识符的CAN数据帧。服务数据对象允许传输任意大小的数据,有两种传送机制,加速传送机制用来一次传送小于等于四个字节的数据,分段传送机制用来传送大于四个字节的数据。
2.2.3 过程数据对象(PDO)
过程数据对象用来传递实时数据,它是CANOPEN最基本的数据传送方式,数据传送限制在1到8个字节。数据由一个生产者发出,可以有一个或者多个消费者。 PDO的通讯有两种,读PDO和写PDO,写PDO被映射到一个CAN数据帧,读PDO被映射到一个CAN远程帧,这个远程帧被数据帧所响应。触发PDO传输的方式有三种:事件或定时器触发模式;远程请求触发模式;同步触发模式。在节点的对象字典中,对每个PDO都有明确的描述,这样,发送方和接收方都可以解释PDO的具体内容。PDO的标识符具有高优先级以确保良好的实时性。
2.2.4 特殊功能对象
CANopen提供了三个特殊功能对象,同步对象(Synchronization Object)时间戳对象(Time-Stamp)和紧急事件对象(Emergency)[5]。同步对象由同步发器定时广播,用于PDO的同步通讯。 时间戳对象为应用设备提供一个微秒极的时钟,使那些对时间要求十分苛刻的设备能够精确同步。 紧急事件对象由设备内部出现致命的错误所触发,由发生错误的设备以最高的优先级发送到网络中的其它的设备,以通知其它设备不要再试图和该设备通讯。
2.3 CANOPEN的设备模型
CANOPEN的设备模型可以分为三个部分:通讯接口及协议软件、对象字典、过程接口和应用程序。其中,通讯接口和协议软件提供通设备和总线之间的连接服务,对象字典描述了所有的数据类型、通讯对象和设备用到的应用对象,它提供了和应用软件的接口,过程接口和应用程序提供了设备内部的控制机制。它们之间的关系如图1所示。
3. 智能消防水炮系统通讯模型的实现
3.1 智能消防水炮节点硬件设计