0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CAN总线控制器和CANopen协议实现智能消防水炮系统的应用方案

电子设计 来源:微计算机信息 作者:李华嵩;李小兵;董 2021-02-02 10:10 次阅读

作者:李华嵩;李小兵;董全义

1.引言

在社会经济高速发展的今天,高大空间建筑越来越多,如展览中心、影剧院、体育场馆、仓库等。大空间建筑由于其本身结构特殊、设施复杂,火灾隐患较多,而且发生火灾后不易及时发现和有效扑救,往往会造成巨大的经济损失和人员伤亡。考虑到其它灭火剂的性能和用量的要求,水灭火仍然是大空间建筑最好的灭火方式。因此,对于大空间建筑来说,采用具有火灾自动探测功能的智能消防水炮系统是一个较好的方案。

智能消防水炮系统的工作原理是通过前端探测系统采集现场红外图像,中央控制器采用图像处理的手段对发生在控制区域内的火灾进行侦测和定位,打开相应的联动设备并控制水炮进入喷水灭火操作。系统各部分分布于控制现场不同的位置,因此,各个部分之间的通信是保证整个系统能够正常工作的前提。

CAN总线作为一种技术先进、可靠性高、成本低且功能完善的通讯控制方式,已被汽车电子、自动控制、智能楼宇等各个领域广泛采用。但是CAN-Bus只规定了物理层和数据链路层,其本身并不是一个完整的协议,要进行高效率的通信,必须有高层协议的支持。CANOPEN是由从事工业控制的CIA(CANinAutomation)会员开发一种开放的、标准化的高层CAN协议。在近年来获得了迅猛的发展,尤其是在欧洲,CANOPEN协议在基于CAN的工业系统中占领导地位。依靠CANOPEN协议的支持,可以使不同厂商的设备通过总线进行配置,从而大大增强了CAN网络的通用性。

将CANOPEN协议应用于智能消防炮系统中,不仅可以解决系统中各个部分之间的互联问题,同时还可以提高整个系统通信的可靠性、实时性。此外,由于采用了CANOPEN协议,提高了整个系统的标准化开放化程度,因此,对整个系统进行扩充就更加方便。

2.CANOPEN协议的剖析

CANOPEN假定CAN网络的节点硬件有ISO11898规定的一个CAN控制器和一个CAN收发器。该协议描述了标准的通讯机制、网络管理及相关参数的设定等内容。

2.1CANOPEN的核心——对象字典

在CANOPEN中,引入了对象字典的概念。CANOPEN网络中的每个节点都有一个对象字典,而且每个设备的对象字典具有相同的结构。对象字典描述了该设备和它的网络行为的所有参数。它是一个有序的对象组,对象字典中的每个对象可以通过一个16位的主索引和一个8位的子索引来定位。

网络节点的对象字典保存在电子数据单或者设备配置文件中,CAN总线不需要对每个节点的对象字典的全部功能都进行检测,节点只需要能够提供对象字典中必需的对象,以及其它可选择的、构成节点部分可配置功能的对象。

2.2CANOPEN的通讯模式

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.3CANOPEN的设备模型

CANOPEN的设备模型可以分为三个部分:通讯接口及协议软件、对象字典、过程接口和应用程序。其中,通讯接口和协议软件提供通设备和总线之间的连接服务,对象字典描述了所有的数据类型、通讯对象和设备用到的应用对象,它提供了和应用软件的接口,过程接口和应用程序提供了设备内部的控制机制。它们之间的关系如图1所示。

基于CAN总线控制器和CANopen协议实现智能消防水炮系统的应用方案

3.智能消防水炮系统通讯模型的实现

3.1智能消防水炮节点硬件设计

整个消防水炮系统包含了十四个节点,它们构成一个CAN网络。工业控制计算机为网络主节点。由它来协调系统中各个分节点的动作。工控机通过一块CAN通讯卡挂接在CAN网络上。系统中一共包含了十二个消防炮分节点。在各个分节点中,包含一台红外CCD摄像机、一门消防水炮、两台步进电机和一台直流电机。各个分节点中节点控制模块的硬件系统如图2所示。

CAN控制器采用了PHILIPS公司生产的应用于汽车和一般工业环境的独立CAN总线控制器,它支持基本型CAN模式和增强型CAN模式。它具有完成高性能CAN通信协议所要求的全部必要特性。CAN总线驱动器80C250是CAN控制器和物理总线之间的接口,可以提供对总线的差动发送和接收功能。而且,CAN控制器SJA1000和CAN总线驱动器80C250之间是通过高速光耦TL113相连,这样就很好的实现了总线上各个CAN节点间的电气隔离。不过,光耦部分电路所采用的两个电源必须也完全隔离,否则就失去了采用光耦的意义。

3.2节点对象字典的建立

网络中的每个设备都需要有一个对象字典。在本系统中,有一个主节点和十三个从节点。在各个节点中都采用预定义连接集中规定的十一位ID。它由四位功能码和七位节点ID组成。考虑到系统今后的可扩展性,设定十三个子节点的节点号为8-20.下面以主节点为例介绍对象字典的创建。

从节点需要能够访问主节点的对象字典,因此,主节点需要一个SDO。主节点需要向十三个从节点发送数据,因此需要十三个Tx—PDO和十三个Rx—PDO。每个PDO又由PDO通讯参数(PDOParameter)和PDO映射参数(PDOMapping)两部分组成。如下表所示:

另外,主节点需要对网络中的从节点进行管理,因此需要有管理对象(NMT)。系统还有紧急的信息需要发送,因此需要有一个紧急事件对象(EmergencyObject)。

一个节点的对象字典是在电子数据文档(EDS:Electronicdatasheet)中描述的。节点本身只需要能够提供对象字典中必需的对象以及其它可选择、构成节点部分可配置功能的对象。

3.3节点软件实现

节点的软件从内容上可以分为一个组成部分:基本功能部分,包括节点的通讯初始化和硬件设备的初始化,定义和访问对象字典,进行PDO通讯和SDO通讯;错误处理和节点的管理部分,当节点发生错误或者节点状态发生改变时进行相应的操作;扩展功能部分,用于在系统的硬件发生变化时对节点的状态和相关参数进行再设置。

3.4网络初始化流程

CANopen网络的初始化流程如图3所示:

在智能消防炮网络中,每个节点在上电和内部初始化后自动进入预操作状态(Pre—operationalstate)。处于该状态中的从节点可以通过SDO被配置参数,但不允许进行PDO通讯。工控机主节点可以通过NMT使各个从节点进入操作状态(Operationalstate)。在操作状态中,允许PDO通讯。主节点还可以使从节点进入停止状态(StoppedState)。在停止状态中,既不允许PDO通讯也不允许SDO通讯,节点可以专业做自己的事情。可以从停止状态回到预操作状态或者操作状态。

4.结束语

智能消防水炮系统作为大空间建筑的重要消防设施,近年来越来越受到人们的重视。而CAN总线在各个领域都有很好的应用前景,CANopen是一种公开的协议。将CANopen应用层协议应用于消防水炮系统的设计中,不仅可以提系统通讯的效率和通讯的可靠性,而且能够据推动智能消防水炮系统以CANopen协议为平台标准化。

本文作者创新点:首次将CAN总线和CANopen协议应用于智能消防水炮系统的设计。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16339

    浏览量

    177859
  • CAN总线
    +关注

    关注

    145

    文章

    1950

    浏览量

    130733
收藏 人收藏

    评论

    相关推荐

    ModbusTCP转CANopen网关在楼宇消防中的应用

    Modbus TCP,而楼宇自动化系统则通常采用CANopen协议。Modbus TCP是一种串行通信协议,被广泛应用于工业自动化领域,而CANop
    发表于 12-25 16:29

    Canopen协议读后感想

    ,使得网络自动构建,具有较高的智能化程度。4,CANopen实现不是非常复杂,可以运行在普通的微控制器之上。CANopen
    发表于 09-21 12:58

    消防水控制器设计

    消防水控制器GYXF360-2XP,是为了满足消防电气控制装置(消防泵一用一备控制设备),符合
    发表于 09-13 08:34

    canopen协议can特点

    canopen简单提要can总线    can特点:多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等,
    发表于 09-15 07:10

    针对工业控制Canopen系统Canopen system

    介绍了CAN总线的应用层协议CANopen;介绍了CANopen系统的应用;详细介绍了
    发表于 05-26 11:07 26次下载

    基于CANopen设计自动消防监控

    CANopen 是基于CAN(Controller Area Network)开发的应用层协议。本文在分析CANOPEN 协议的基础上,针对
    发表于 05-26 16:09 27次下载

    基于CAN总线的家庭控制器的设计与实现

    基于CAN总线的家庭控制器的设计与实现  引言   CAN(Controller Area Network)
    发表于 11-07 09:30 729次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的家庭<b class='flag-5'>控制器</b>的设计与<b class='flag-5'>实现</b>

    CAN总线的浅析CANopen协议

    本文分析了CAN 总线的一些特点以及在国内的的应用状况,提出了引入国际上通用的CAN 总线高层应用协议,以提高国内
    发表于 03-27 15:37 104次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的浅析<b class='flag-5'>CANopen</b><b class='flag-5'>协议</b>

    CAN总线协议是什么?CAN总线协议有哪些?CAN总线协议知识分析

    本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN
    的头像 发表于 10-03 19:53 7.5w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>是什么?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>有哪些?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>知识分析

    CAN总线CANopen方案推荐

    广成科技GCAN-30X系列模块是一系列定制型的CANopen转换模块,该模块是在CAN总线网关转换设备的基础上在CAN
    的头像 发表于 03-02 11:06 8316次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>转<b class='flag-5'>CANopen</b><b class='flag-5'>方案</b>推荐

    CANOpen系列教程02_ 理解CAN总线协议

    CANOpen系列教程02_理解CAN总线协议
    的头像 发表于 03-06 16:17 6881次阅读

    采用CAN总线控制器SJA1000实现控制电路接口的设计

    硬件电路的设计主要是CAN通信控制器与微处理之间和CAN总线收发与物理
    发表于 03-13 10:45 7830次阅读
    采用<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>控制器</b>SJA1000<b class='flag-5'>实现</b><b class='flag-5'>控制</b>电路接口的设计

    CANopen总线协议的使用手册

    CAN 控制器CANopen 通讯协议 CiA DS-301 包括周期和事件驱动型通讯,不仅能够将总线负载减少到最低限度,而且还能确保
    发表于 10-13 08:00 15次下载
    <b class='flag-5'>CANopen</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>的使用手册

    如何用FPGA实现CAN总线通信控制器

    CAN 总线插卡可以任意插在 PC AT XT 兼容机上,方便地构成分布式监控系统。因此,用 FPGA 实现 CAN
    发表于 07-29 09:43 2733次阅读

    基于FPGA的CAN总线控制器的设计

    今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇。今天带来第一篇,上篇,CAN 总线
    的头像 发表于 05-18 09:21 1304次阅读
    基于FPGA的<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>控制器</b>的设计