当前位置:文档之家› 基于CAN总线的楼宇自动化系统设计_毕业论文_

基于CAN总线的楼宇自动化系统设计_毕业论文_

基于CAN总线的楼宇自动化系统设计

摘要

楼宇自动化控制系统是采用现代化的传感技术、计算机通信技术对建筑物内所有机电设施进行信号采集、控制,提供有效安全的物业管理,使其设备应用在最良好的状态。本次设计是基于一套CAN总线的远程控制装置,通过CAN总线完成对现场设备的控制操作,并与CAN总线上其他设备完成数据的传输。系统硬件部分主要由AT89S52单片机、SJA1000 CAN控制器等组成,系统在硬件和软件上进行模块化设计,具体实现了以单片机为控制核心,设计了4路数字量输入,4路模拟量输出模块,以及CAN接口电路模块。CAN总线的应用,提高了楼宇智能化水平并降低了设备的管理成本。CAN总线提供了标准网络协议的数据链路层,没有相应的高层通信协议。CANopen协议是一种基于CAN现场总线的开放的、标准化的高层协议。它是一种具有实时性的高速串行总线系统,它被广泛应用在嵌入式系统中。CANopen协议允许不同设备以标准化方式进行通信,使其具有互操性。

关键词:楼宇控制;CAN总线;控制节点;CANopen协议

目录

摘要 (2)

1.引言 (3)

2现存的楼宇控制系统相关技术 (4)

3.CANopen协议概述 (4)

3.1总述 (5)

3.2设备模型 (5)

3.3 对象字典(Object Dictionary) (6)

3.4 CANopen要点 (6)

4.方案设计 (7)

4.1总体设计方案 (7)

4.2系统软件设计 (7)

4.2.1选择CANopen原因 (7)

4.2.2CANopen协议系统软件设计 (8)

4.2.3软件设计系统流程 (9)

5.调试结果及分析 (13)

6.结束语 (13)

致谢 (14)

参考文献 (15)

1.引言

随着微电子技术与通讯技术的迅速发展,以及光纤通信(Fiber Communication)、卫星通信(Satellite Communication)、区域网络(Local Area Network)与广域网(Wide Area Network)等取得长足发展。根据国际电工委员会(international Electrotechnical Commision,IEC)标准和现场总线基金会(fieldbus foundation,FF)的定义,现场总线的概念一般为一种用于智能化现场设备,自动化系统的开放式、数字化、双向串行、多节点的底层通信总线。现场总线有:基金会现场总线(Foundation Fieldbus,FF)、控制局域网络(Controller Area Network,CAN)、局域操作网络(Local Operating Fieldbus ,LonWorks)、过程现场总线(Process Fieldbus ,PROFIBUS)等。但是由于各个行业的发展历史以及各个公司、企业的经济利益,导致一些总线逐渐被遗忘,一些总线在当今的市场上共存。

CAN总线是一种有效支持分布控制或实时控制的串行通信网络。在各种工业现场总线中CAN总线以成本较低、速度快、实时性、可靠性较高的特点适应于现代汽车电子、医疗、军事等领域的产业。CANopen协议定义了应用层和通讯子协议,为可编程系数、不同器件、借口及应用子协议定义了帧状态。为现场总线的全数字分布控制系统的广泛应用以及把系统一体化管理提供了有效的方案。

CANopen协议是基于CAN串行总线系统和应用层CAL的高层协议。CAL 提供了网络管理服务和报文的传送协议。CANopen在CAL基础上使用了CAL

通讯和服务协议子集的一种实现方案,在保证网络节点互用性的同时,允许节点的功能随意扩展。在嵌入式系统用用的发展,许多总线已经不能满足高性能、高实时性系统的要求,CAN总线是当前比较有希望成功的。

2 现存的楼宇控制相关技术

1在.基本型建筑物自动化控制系统中,基于窗口式的基本型建筑物自动化控制系统的工作站可以配置成文本显示中央操作系统,也可以配置成全具功能化的图形终端。它在Windows NT环境下操作,局域网可以是以太网或者令牌环网,在一个多建筑物的区域,可以配置多个分布式工作从站。

2.综合型建筑物自动化系统:它是在基本型建筑物自动化控制系统的基础上建立一个自动化控制系统。通过监控来自系统的数据,同层总线、防火与保安总线、S总线设备等,可以将多个工作站连接至Novell LAN,以此提供与其它分支维护管理的接口。

3.开放型建筑物自动化监控系统开放型建筑物自动化系统,它监控多种分布式子系统,如空调自控、防火与保安,可以把其它子系统综合在一个网络系统中。采用符合工业标准的操作系统、LAN通信、相关数据库和图形系统。

4.楼宇自动化系统的主要组成楼宇自动化系统负责完成大厦中的空调制冷系统、变配电系统、照明系统、供热系统及电梯等的计算机监控管理。主要应用于(1)空调监控系统(2)冷冻站监控系统(3)给排水监控系统(4)变配电监控系统(5)热力站监控系统(6)照明监控系统(7)安全防范监控系统(8)背景音乐、消防广播系统等。

3.CANopen协议概述

3.1总述

CANopen是一种构架在控制局域网络上的高层通讯协定,其中包括通讯子协定和设备子协定是工业控制中常用的一种现场总线,常在嵌入式系统中被应用。CANopen协议是Cia协会针对CAN协议不完整性开发出来的一个更高层次的协议。CANopen标准包括寻址方案、通讯子协定和其他由设备协定所定义的应用层。其能支援网络管理、设备监控和节点之间的通讯,包括一个简易传输层处理资料的分段传输和组合。资料连接层和实体层用CAN来实时工作。

3.2 设备模型

一个CANopen设备模块可以有三部分。如图3-1,通信接口和协议软件提供在总线上收发通信对象的服务。不同的CANopen设备都是通过交换通信对象完成之间的通信的,它直接面向CAN控制器进行实时操作的。对象字典用来描述设备是哦那个的所有数据类型、通信对象和应用对象。它位于通信程序和应用程序之间,为应用程序提供借口,CANopen通信通过应用程序对对象字典进行操作实现的。应用程序包括通信部分和功能不分,通信部分通过对对象字典进行操作实现CANopen的通信;功能部分则是根据应用要求来实现的。其对象字典

结构如表3-1。

图3-1 CANopen设备

对象字典结构

索引对象

000 Not used

001~001F 静态数据类型

002~003F 复杂数据类型

040~005F 规定的复杂数据类型

060~007F 设备子协议规定静态数据类型

080~009F 设备子协议规定的复杂数据类型

00A0~0FFF reserved

1000~1FFF 通讯子协议局域

2000~5FFF 特定子协议区域

6000~9FFF 标准设备子协议区域

A000~FFF Reserved

表3-1

3.3 对象字典(Object Dictionary)

CANopen网络的通信和管理都是通过不同的通信对象来完成的。对象字典(Object Dictionary)是一个有序的对象组,每个对象用一个16位的索引值来寻址,定义了一个8位的子引索来允许访问数据中的单个元素。在CANopen网络

系统中每个节点都有唯一的对象字典。CANopen 网络的通信和管理都是通过不同的通信对象来完成的。

通讯对象分类:

数据对象(PDO ):PDO 被映射到单一的CAN 帧中,用8个字节的数据字段把过程数据对象PDO 映像到一单一的CAN 帧传输应用对象。每一个PDO 都有一个惟一的标识符,并且可以通过一个节点发送,但是可以有多个接受者。

数据服务对象(SDO ):用来对对象字典进行读写操作。该对象可以传输大于8个字节的配置信息。接收者将确认收到的每个段信息,发送和接受者间将建立点对点之间的通信,被访问对象字典的设备是SDO 通讯的服务器,一个设备可以支持多的SDO 对象,但是至少有一个SDO 会在一个设备中被支持。

网络管理对象(NMT ):网络管理对象包括节点警戒对象。网络管理协议(NMT )提供了特定应用,网络同步,时间戳和紧急报文传输。NMT 主要提供了以下功能:模块控制服务;配置控制服务和错误控制服务。

特殊功能对象:CANopen 还为同步,紧急状态表示以及时间标记传送三个特定对象。同步对象是同步制造者对网络进行周期性广播,为该对象提供基本网络时钟。紧急对象则是当设备发生严重的内部错误时,紧急客户机发送一个紧急状态对象。时间标记对象是将应用设备提供公共的时间帧作参考。

3.4 CANpoen 要点

对用户来说了解CANopen 协议的一些要点是很重要的。

标识符:CANopen 协议采用11位标识符,数据链路层与CAN2.0一致。 网络中的主从节点:在CANopen 系统中需要有一个而且只有一个主节点,但是可以有多个从节点(0~126)。主节点用于启动和停止网络;节点检查;网络引导。如图3-2

图3-2 主从节点

PDO 协议:在ZANopen 协议中,CAN 的数据信息是一种过程数据对象PDO ,它是设备用来传送处理信息的标准方式。这种通讯方式为一对多。见图3-3.

CAN 从节点 CAN 从节点 CAN 从节点 CAN 从节点

CANop en PDO

PDO PDO

PDO

CAN 从节点 CAN 从节点

图3-3 PDO 协议

SDO 服务:SDO 提供了一种获得指定节点相关状态的数据,服务端发送相应的数据回应。如图3-4.

图3-4 SDO 服务

预定义连接集:其简化了网络的配置和使用。

发送和接收PDO:CANopen 规定了相应的内存区域和接受网络上的数据,可认同为C 语言中不转弯的对地址进行操作处理,从而实现了PDO 数据能够完全透明地传送,为程序的编程简单化。

4.方案设计

4.1总体设计方案

采用主流单片机AT89S52为微控制器,结合独立CAN 控制器SJA1000设计的硬件电路,该系统包括智能节点和具有CAN-RS232转换功能的主节点两部分。智能节点实现了数据采集、LED 显示、CAN 总线通信以及输出控制等功能。本系统由上位PC 机、CAN 总线借口通信适配卡和多个监控节点组成。监控点主要监控空调与通风监控系统,照明监控系统系统,供电系统,供水系统。方案设计图如下图3-1。

图4-1方案设计框图

PDO 服务端 PDO 客户端 SD 请求 SD 回应

4.2系统软件设计

系统软件设计关键是通信程序的设计。本设计采用C语言完成AT89S52的控制程序,主要由初始化、发送、接收三部分组成。由于系统中一个点在任意时刻均可以主动与其他节点通信,所以各节点的通信程序相同。PC软件采用VB 或者VC实现。

4.2.1 选择CANopen的原因

基金会现场总线以ISO/OSI开放系统互连模型为基础,取其物理层、数据链路层、应用层为FF通信模型的相应层次,并在应用层上增加了用户层。用户层主要主站对总线具有控制权,主站间通过传递令牌来传递对总线的控制权。取得控制权的主站,可向从站发送、获取信息。泛应用于加工制造、过程和楼宇自动化等行业。其中PROFIBUS DP可以提供最大12Mbps的传输速率。由于优越的传输特性和高的传输速率,在可编程逻辑控制器PLC中被广泛采用。

CAN 是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。在当今各产业中,为了给人和社会带来利益,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,因此有了CAN的通信协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。CAN总线是属于现场总线的范畴,它可一对串行通信网络进行分布控制或者实时控制。对于目前叫的的RS-XXX基于R线构建的分布控制来说。CAN总线具有下面优势:

(1)CAN总线开发系统具有实时性强、传输距离远、抗干扰能力强。

(2)CAN是到目前为止唯一具有国际认证标准且成本低的现场总线;

(3)CAN总线废除传统的站地址编码,它以对通信数据块进行编码,可以不分主从,多主方式工作。

(4)CAN采用非破坏性仲裁技术两个节点同时向网络上传送数据时,可判断优先级,先高后低使优先级高的节点在传输数据是不受影响,避免了总线冲突。

(5)CAN采用短帧结构,每一帧只有8个有效字节,数据传输时间短,重新发送的时间短,受干扰的概率低。

(6)CAN可以点对点,一对多及广播集中方式传送和接收数据。传输距离可长达10km。

(7)CAN的每帧信息都有通过CRC校验及检错措施,具有极好的检错效果

(8)CAN的通信介质的选择上十分灵活,可选用双绞线、同轴电缆或光纤。

(9)CAN节点在错误严重的情况下,能够自动关闭总线,切断它与总线的关联,使总线上其他操作不受影响;

基于上总线概述,又从成本以及工程上考虑,本次设计选择CAN总线。针对自动化测控应用的需要,定义了信息存取的统一规则,采用设备描述语言规定了通用的功能块集。用于实现测量、控制、工程量转换的应用模块,实现系统组态管理功能的系统软件技术以及构筑集成自动化系统、网络系统的系统集成技术。

过程现场总线(PROFIBUS),PROFIBUS支持主从方式和多主通信方式。

4.2.2CANopen协议系统软件设计

在基于CANopen的智能协议,从物理上分为:底层驱动程序借口和上层CANopen客户程序;从逻辑上可分为:底层动态连接库支持程序、收发报文高速缓存逻辑,报文分析、分析结果记录和GUI展示层。

CANopen客户程序根据协议标准解释获得CAN报文,并根据报文类型,按HASH算法分类排序。在报文收发缓存处理上采用多线编程方法,解决多线程同步和互斥问题,从而达到较好的报文实时处理功能,逃避了线程的可重入性。客户程序既可以文本方式结合相应的参数显示CANopen的报文类型。也可以根据CANopen协议已对网络进行测试和分析。

本次设计是CANopen设备节点,具有即用即插的功能,所以可以非常自如地用主站或者从站的身份收发报文。其传递的数据格式是自定义结构体,为本次设计显示报文内容提供了方便。CANopen协议软件是基于高级语言开发环境编写的上位机软件,它的界面实现协议分析结果直观性非常强。对本次设计的可视化配置,比特率设置,样本数设定,MASK掩码设定具有明显效果。

除此之外,CANopen协议还提供一些基本功能,其总线通信量,单次或循环发送报文,及整个报文队列的在线观测,并对各类可变条件获得报文的记录以及在线监测总线负载。

4.2.3软件设计系统流程

CAN总线模块将在AT89S52的控制下采集的数据发送给CAN总线的上位机上,接收CAN总线上发给各个控制节点数据,并且将它存如缓冲区。AT89S52向SJA1000发送数据时,采用查询的方式,当S JA1000里有接受到的新报文时,AT89S52采用中断方式。系统主程序如图4-2。

图4-2 系统主程序

程序初始化:AT89S52将SJA1000、冲区和变量、定时器、串口、CAN总线初始化。初始化程序主要是在运行前,对SJA1000的控制寄存器写入控制而

确定的。如图4-3。

图4-3 SJA1000初始化流程

发送程序:SJA1000的初始化程序设计主要是通过对SJA1000的寄存器写入相应的控制字,从而确定SJA1000的工作方式。软件复位即在运行期间给SJA1000发一个做一个复位识别。SJA1000需要初始化的寄存器有:控制寄存器CR或模式寄存器MOD、时钟分频寄存器CDR、接受代码寄存器ACR、屏蔽寄存器AMR、中断使能寄存器IER、总线定时寄存器BTR、输出控制寄存器OCR 等。因为这些寄存器仅能在SJA1000复位期间进行访问,因此在这些寄存器初始化之前,必须要确保系统进入复位状态。发送程序如图4-4。

图4-4 发送程序

接收程序:数据从CAN总线到CAN接收缓冲区由CAN的控制器自动完成。接收程序将各个节点的报文接收以及其它方面的处理。从接收缓冲器中读取接收到的数据进行处理,并且在处理过程中对CAN总线出现的异常情况进行处理。系统设计中采用中断的方式接受数据。如图3-5。

图4-5 接收程序流程

图4-6为小区安全监控系统窗口,其接收和发送均以16进制(HEX),按键和LED的发送和接收的命令如下:

打开空调与通风监控系统LED1亮

关闭空调与通风监控系统LED1灭

打开照明监控系统系统LED2亮

关闭照明监控系统系统LED2灭

打开给排水监控系统LED3亮

关闭给排水监控系统LED3灭

打开电力供应监控系统LED4亮

关闭电力供应监控系统LED4灭

5.调试结果及分析

在硬件调试处理过程中,发现过芯片6N137的模拟输入和输出没有隔离开。以至于电路出现异常。后经过修改,硬件电骡工作正常.

软件调试由一台PC机、系统硬件电路和VB软件组成。调试单片机和串口通信硬件部分都为正常。在VB窗口运行基本收发程序。通过按键模拟数据采集驱动,LED模拟继电器动作。通过两个仿真器可以了解串口通信部分的状态,另外还可以间接了解CAN总线的实际状态,在调试中间向SJA1000的测试寄存器写入0DBH,再读SJA1000的测试寄存器,结果与写入的一致。说明SJA1000与控制器连接正常。输入通道编写程序,通过观察仿真器对应地址中的内容,确定节点的输入通道为正常。

6.结束语

通过对系统的硬件、软件的反复调试和充分利用C语言编程的模块性、可修改性和可移植性的特点。调试结果说明该基于CAN总线的楼宇自动化系统的设计方案是可行的。在充分考虑到实际环境下,通过控制器能高速、有效的采集和处理现场数据,并能进行现场实时监控,实现了信息通信处理。体现出CAN 总线的高性能,高可靠性。楼宇自动化系统能够改善人的生活环境,适用于当今社会。它能够创造很好的经济效益,具有广阔的应用前景。

致谢

经过努力,本次楼宇自动化系统设计工作基本完成。设计能够顺利地完成是在我们的指导老师老师的细心指导下进行的。指导老师花费了很多宝贵的时间和精力为我设计的选题和资料的搜集直至最后设计的修改调试,在此向我的指导老师表示最真挚的感谢!指导老师严谨的教学态度,开拓进取的精神和高度的责任心使我受益匪浅!

在此还要感谢和我一同做此设计的同学。在平时设计中,我们一起共同探讨问题,并指出判断我们设计上的误区,使本次设计能及时的发现问题。把设计顺利的进行下去,在我们的互补下才能顺利的结稿,在此表示深深的谢意。

参考文献

[1]王俊波.CAN open协议分析与实现.中文核心期刊,2005年第22卷第5-2期.

[2]任玮蒙,陶维青.基于CAN总线的高层协议CANopen.自动化技术应用2007年第26卷第4期.

[3]杨春杰,亢红波.基于CAN总线的分布控制系统设计[J].工业仪表与自动化装置.2007年

第4期,62-64.

[4]叶爱兵,郑华耀,陈巨涛.基于CANopen的协议分析系统设计与实现.扬州大学报.2009年8

月第12卷第3期.

[5]苏健,张慧慧.基于以CAN总线的监控系统的设计[J].制造业自动化.2002年第2

期,24-26.

[6]孔祥力.基于CAN总线的分布式网络测控系统研究.[硕士学位论文].哈尔滨工程大

学.2007年.

[7]王俊波,胥布工.CANopen协议分析与实现.中文核心期刊.2006年第22卷第6-2期.

[8]李冰,戚建,刘国良,贺尚红.CANopen总线协议在摊铺机上的应用.三一重工股份有限公司研究院,上海201206

[9]谢嵘.基于CAN总线的分布式控制系统的研究与实现.[硕士学位论文].上海交通大

学.2003年.

[10]武金山.基于CAN总线的楼宇自动化系统设计.[硕士学位论文].合肥工业大学.2008年.

[11]唐俊杰.基于楼于自动化系统的嵌入式网关设计与开发.[硕士学位论文].上海交通大

学.2009年.

[12]李朝春.单片机原理及串行外设接口技术[M].北京:北京航空航天大学,2008,16-18.

[13]张岳.集散控制系统及现场总线.机械工业出版社,2006.5

[14]沈卫红.基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005.

[15]范瑞霞.针对CAN总线传输距离问题的两种解决方案[J].微计算机信息,

2006,8-1:161-162.

[16]穆立君.基于CAN总线的楼宇自动化系统设计.[硕士学位论文].湖南大学.2006年.

相关主题
文本预览
相关文档 最新文档