产品说明:
Abstract:CANopen is an application layer based on CAN(Controller Area Network). First, the structure and characteristic of CANopen protocol is analyzed in this paper. Then concerning the communication requirements of the automatic fire fight monitor, the design of the communication part of the Fire Fight Monitor is presented, which includes the hardware interface design of CAN controller, building up the object dictionary and communication model. The communication system features great efficiency and reliability confirmed by system test running. Keywords:CANopen protocol; Object Dictionary; Communication model; Fire Fight Monitor
在社会经济高速发展的今天 ,高大空间建筑越来越多 ,如展览中心、影剧院、体育场馆、仓库等。大空间建筑由于其本身结构特殊、设施复杂 ,火灾隐患较多 ,而且发生火灾后不易及时发现和有效扑救 ,往往会造成巨大的经济损失和人员伤亡。考虑到其它灭火剂的性能和用量的要求 ,水灭火仍然是大空间建筑最好的灭火方式。因此 ,对于大空间建筑来说 ,采用具有火灾自动探测功能的智能消防水炮系统是一个较好的方案。
智能消防水炮系统的工作原理是通过前端探测系统采集现场红外图像 ,中央控制器采用图像处理的手段对发生在控制区域内的火灾进行侦测和定位 ,打开相应的联动设备并控制水炮进入喷水灭火操作。系统各部分分布于控制现场不同的位置 ,因此 ,各个部分之间的通信是保证整个系统能够正常工作的前提。
CAN总线作为一种技术先进、可靠性高、成本低且功能完善的通讯控制方式 ,已被汽车电子、自动控制、智能楼宇等各个领域广泛采用。但是 CAN-Bus只规定了物理层和数据链路层 ,其本身并不是一个完整的协议 ,要进行高效率的通信 ,必须有高层协议的支持。CANOPEN是由从事工业控制的 CIA( CAN inAutomation)会员开发一种开放的、标准化的高层 CAN协议。在近年来获得了迅猛的发展 ,尤其是在欧洲 ,CANOPEN协议在基于 CAN的工业系统中占领导地位。依靠 CANOPEN协议的支持 ,可以使不同厂商的设备通过总线进行配置 ,从而大大增强了 CAN网络的通用性。
将 CANOPEN协议应用于智能消防炮系统中 ,不仅可以解决系统中各个部分之间的互联问题 ,同时还可以提高整个系统通信的可靠性、实时性。此外 ,由于采用了 CANOPEN协议 ,提
李华嵩 :在读硕士研究生 高了整个系统的标准化开放化程度 ,因此 ,对整个系统进行扩充就更加方便。
2 CANOPEN协议的剖析
CANOPEN假定 CAN网络的节点硬件有 ISO11898规定的
一个 CAN控制器和一个 CAN收发器。该协议描述了标准的通
讯机制、网络管理及相关参数的设定等内容。
2.1CANOPEN的核心 ——
—对象字典
在 CANOPEN中,引入了对象字典的概念。CANOPEN网络
中的每个节点都有一个对象字典 ,而且每个设备的对象字典具
有相同的结构。对象字典描述了该设备和它的网络行为的所有
参数。它是一个有序的对象组 ,对象字典中的每个对象可以通
过一个 16位的主索引和一个 8位的子索引来定位。
件中 ,CAN总线不需要对每个节点的对象字典的全部功能都进
行检测 ,节点只需要能够提供对象字典中必需的对象 ,以及其
它可选择的、构成节点部分可配置功能的对象。
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提供了三个特殊功能对象 ,同步对象 ( SynchronizationObject)时间戳对象 ( Time-Stamp)和紧急事件对象 ( Emergency)。同步对象由同步发器定时广播 ,用于 PDO的同步通讯。时间戳对象为应用设备提供一个微秒极的时钟 ,使那些对时间要求十分苛刻的设备能够精确同步。紧急事件对象由设备内部出现致命的错误所触发 ,由发生错误的设备以最高的优先级发送到网络中的其它的设备 ,以通知其它设备不要再试图和该设备通讯。
2.3 CANOPEN的设备模型
CANOPEN的设备模型可以分为三个部分 :通讯接口及协议软件、对象字典、过程接口和应用程序。其中 ,通讯接口和协议软件提供通设备和总线之间的连接服务 ,对象字典描述了所有的数据类型、通讯对象和设备用到的应用对象 ,它提供了和应用软件的接口 ,过程接口和应用程序提供了设备内部的控制机制。它们之间的关系如图 1所示。
3智能消防水炮系统通讯模型的实现
3.1智能消防水炮节点硬件设计
整个消防水炮系统包含了十四个节点 ,它们构成一个 CAN网络。工业控制计算机为网络主节点。由它来协调系统中各个分节点的动作。工控机通过一块CAN通讯卡挂接在 CAN网络上。系统中一共包含了十二个消防炮分节点。在各个分节点中 ,包含一台红外 CCD摄像机、一门消防水炮、两台步进电机和一台直流电机。各个分节点中节点控制模块的硬件系统如图 2所示。
CAN控制器采用了 PHILIPS公司生产的应用于汽车和一般工业环境的独立 CAN总线控制器 ,它支持基本型 CAN模式和增强型 CAN模式。它具有完成高性能CAN通信协议所要求的全部必要特性。CAN总线驱动器 80C250是 CAN控制器和物理总线之间的接口 ,可以提供对总线的差动发送和接收功能。而且 ,CAN控制器 SJA1000和 CAN总线驱动器 80C250之间是通过高速光耦 TL113相连 ,这样就很好的实现了总线上各个 CAN节点间的电气隔离。不过 ,光耦部分电路所采用的两个电源必须也完全隔离 ,否则就失去了采用光耦的意义。
网络中的每个设备都需要有一个对象字典。在本系统中 ,有一个主节点和十三个从节点。在各个节点中都采用预定义连接集中规定的十一位 ID。它由四位功能码和七位节点 ID组成。考虑到系统今后的可扩展性 ,设定十三个子节点的节点号为 8-20.下面以主节点为例介绍对象字典的创建。
从节点需要能够访问主节点的对象字典 ,因此 ,主节点需要一个 SDO。主节点需要向十三个从节点发送数据 ,因此需要十三个 Tx—PDO和十三个Rx—PDO。每个 PDO又由 PDO通讯参数 ( PDOParameter)和 PDO映射参数 ( PDOMapping)两部分组成。如下表所示 :
另外 ,主节点需要对网络中的从节点进行管理 ,因此需要有管理对象 ( NMT)。系统还有紧急的信息需要发送 ,因此需要有一个紧急事件对象 (EmergencyObject)。
一个节点的对象字典是在电子数据文档 ( EDS:Electronic datasheet)中描述的。节点本身只需要能够提供对象字典中必需的对象以及其它可选择、构成节点部分可配置功能的对象。
节点的软件从内容上可以分为一个组成部分 :基本功能部分 ,包括节点的通讯初始化和硬件设备的初始化 ,定义和访问对象字典 ,进行 PDO通讯和 SDO通讯 ;错误处理和节点的管理部分 ,当节点发生错误或者节点状态发生改变时进行相应的操作 ;扩展功能部分 ,用于在系统的硬件发生变化时对节点的状态和相关参数进行再设置。
3.4网络初始化流程 CANopen网络的初始化流程如图 3所示 :在智能消防炮网络中 ,每个节点在上电和内部初始化后自
动进入预操作状态 ( Pre—operationalstate)。处于该状态中的从节点可以通过 SDO被配置参数 ,但不允许进行 PDO通讯。工控机主节点可以通过NMT使各个从节点进入操作状态 ( Opera-tionalstate)。在操作状态中 ,允许 PDO通讯。主节点还可以使从节点进入停止状态 ( StoppedState)。在停止状态中 ,既不允许 PDO通讯也不允许 SDO通讯 ,节点可以专业做自己的事情。可以从停止状态回到预操作状态或者操作状态。
嵌入式网络技术应用 中文核心期刊《微计算机信息》(嵌入式与 SOC)2007年第 23卷第 5-2期
4结束语
智能消防水炮系统作为大空间建筑的重要消防设施 ,近年
来越来越受到人们的重视。而 CAN总线在各个领域都有很好
的应用前景 ,CANopen是一种公开的协议。将 CANopen应用层
协议应用于消防水炮系统的设计中 ,不仅可以提系统通讯的效
率和通讯的可靠性 ,而且能够据推动智能消防水炮系统以
CANopen协议为平台标准化。
本文作者创新点 :首次将 CAN总线和 CANopen协议应用
于智能消防水炮系统的设计。
参数资料:
|
基于-CANOPEN的智能消防水炮系统设计
|
价格列表:
基于-CANOPEN的智能消防水炮系统设计
|