学士学位论文楼宇自动化系统的设计Word下载.docx
《学士学位论文楼宇自动化系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《学士学位论文楼宇自动化系统的设计Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
第一节总体设计方案7
第四章系统软件设计8
第一节选择CANopen原因8
第二节CANopen协议系统软件设计9
第三节软件设计系统流程10
第五章.调试结果及分析16
第六章.结束语17
致谢18
参考文献19
附录总原理图21
第一章.引言
第一节选题背景
随着微电子技术与通讯技术的迅速发展,以及光纤通信(FiberCommunication)、卫星通信(SatelliteCommunication)、区域网络(LocalAreaNetwork)与广域网(WideAreaNetwork)等取得长足发展。
根据国际电工委员会(internationalElectrotechnicalCommision,IEC)标准和现场总线基金会(fieldbusfoundation,FF)的定义,现场总线的概念一般为一种用于智能化现场设备,自动化系统的开放式、数字化、双向串行、多节点的底层通信总线。
现场总线有:
基金会现场总线(FoundationFieldbus,FF)、控制局域网络(ControllerAreaNetwork,CAN)、局域操作网络(LocalOperatingFieldbus,LonWorks)、过程现场总线(ProcessFieldbus,PROFIBUS)等。
但是由于各个行业的发展历史以及各个公司、企业的经济利益,导致一些总线逐渐被遗忘,一些总线在当今的市场上共存。
CAN总线是一种有效支持分布控制或实时控制的串行通信网络。
在各种工业现场总线中CAN总线以成本较低、速度快、实时性、可靠性较高的特点适应于现代汽车电子、医疗、军事等领域的产业。
CANopen协议定义了应用层和通讯子协议,为可编程系数、不同器件、借口及应用子协议定义了帧状态。
为现场总线的全数字分布控制系统的广泛应用以及把系统一体化管理提供了有效的方案。
CANopen协议是基于CAN串行总线系统和应用层CAL的高层协议。
CAL提供了网络管理服务和报文的传送协议。
CANopen在CAL基础上使用了CAL通讯和服务协议子集的一种实现方案,在保证网络节点互用性的同时,允许节点的功能随意扩展。
在嵌入式系统用用的发展,许多总线已经不能满足高性能、高实时性系统的要求,CAN总线是当前比较有希望成功的。
第二节现存的楼宇控制系统相关技术
在.基本型建筑物自动化控制系统中,基于窗口式的基本型建筑物自动化控制系统的工作站可以配置成文本显示中央操作系统,也可以配置成全具功能化的图形终端。
它在WindowsNT环境下操作,局域网可以是以太网或者令牌环网,在一个多建筑物的区域,可以配置多个分布式工作从站。
综合型建筑物自动化系统:
它是在基本型建筑物自动化控制系统的基础上建立一个自动化控制系统。
通过监控来自系统的数据,同层总线、防火与保安总线、S总线设备等,可以将多个工作站连接至NovellLAN,以此提供与其它分支维护管理的接口。
开放型建筑物自动化监控系统开放型建筑物自动化系统,它监控多种分布式子系统,如空调自控、防火与保安,可以把其它子系统综合在一个网络系统中。
采用符合工业标准的操作系统、LAN通信、相关数据库和图形系统。
楼宇自动化系统的主要组成楼宇自动化系统负责完成大厦中的空调制冷系统、变配电系统、照明系统、供热系统及电梯等的计算机监控管理。
主要应用于:
(1)空调监控系统
(2)冷冻站监控系统
(3)给排水监控系统
(4)变配电监控系统
(5)热力站监控系统
(6)照明监控系统
(7)安全防范监控系统
(8)背景音乐、消防广播系统等。
第二章CANopen协议概述
第一节总述
CANopen是一种构架在控制局域网络上的高层通讯协定,其中包括通讯子协定和设备子协定是工业控制中常用的一种现场总线,常在嵌入式系统中被应用。
CANopen协议是Cia协会针对CAN协议不完整性开发出来的一个更高层次的协议。
CANopen标准包括寻址方案、通讯子协定和其他由设备协定所定义的应用层。
其能支援网络管理、设备监控和节点之间的通讯,包括一个简易传输层处理资料的分段传输和组合。
资料连接层和实体层用CAN来实时工作。
第二节设备模型
一个CANopen设备模块可以有三部分。
如图3.1,通信接口和协议软件提供在总线上收发通信对象的服务。
不同的CANopen设备都是通过交换通信对象完成之间的通信的,它直接面向CAN控制器进行实时操作的。
对象字典用来描述设备是哦那个的所有数据类型、通信对象和应用对象。
它位于通信程序和应用程序之间,为应用程序提供借口,CANopen通信通过应用程序对对象字典进行操作实现的。
应用程序包括通信部分和功能不分,通信部分通过对对象字典进行操作实现CANopen的通信;
功能部分则是根据应用要求来实现的。
其对象字典结构如表3.1。
图3.1CANopen设备
索引
对象
000
Notused
001~001F
静态数据类型
002~003F
复杂数据类型
040~005F
规定的复杂数据类型
060~007F
设备子协议规定静态数据类型
080~009F
设备子协议规定的复杂数据类型
00A0~0FFF
reserved
1000~1FFF
通讯子协议局域
2000~5FFF
特定子协议区域
6000~9FFF
标准设备子协议区域
A000~FFF
Reserved
表3-1对象字典结构
第三节对象字典
CANopen网络的通信和管理都是通过不同的通信对象来完成的。
对象字典(ObjectDictionary)是一个有序的对象组,每个对象用一个16位的索引值来寻址,定义了一个8位的子引索来允许访问数据中的单个元素。
在CANopen网络系统中每个节点都有唯一的对象字典。
通讯对象分类:
数据对象(PDO):
PDO被映射到单一的CAN帧中,用8个字节的数据字段把过程数据对象PDO映像到一单一的CAN帧传输应用对象。
每一个PDO都有一个惟一的标识符,并且可以通过一个节点发送,但是可以有多个接受者。
数据服务对象(SDO):
用来对对象字典进行读写操作。
该对象可以传输大于8个字节的配置信息。
接收者将确认收到的每个段信息,发送和接受者间将建立点对点之间的通信,被访问对象字典的设备是SDO通讯的服务器,一个设备可以支持多的SDO对象,但是至少有一个SDO会在一个设备中被支持。
网络管理对象(NMT):
网络管理对象包括节点警戒对象。
网络管理协议(NMT)提供了特定应用,网络同步,时间戳和紧急报文传输。
NMT主要提供了以下功能:
模块控制服务;
配置控制服务和错误控制服务。
特殊功能对象:
CANopen还为同步,紧急状态表示以及时间标记传送三个特定对象。
同步对象是同步制造者对网络进行周期性广播,为该对象提供基本网络时钟。
紧急对象则是当设备发生严重的内部错误时,紧急客户机发送一个紧急状态对象。
时间标记对象是将应用设备提供公共的时间帧作参考。
第四节CANopen要点
对用户来说了解CANopen协议的一些要点是很重要的。
标识符:
CANopen协议采用11位标识符,数据链路层与CAN2.0一致。
网络中的主从节点:
在CANopen系统中需要有一个而且只有一个主节点,但是可以有多个从节点(0~126)。
主节点用于启动和停止网络;
节点检查;
网络引导。
如图3-2
图3.2主从节点
PDO协议:
在ZANopen协议中,CAN的数据信息是一种过程数据对象PDO,它是设备用来传送处理信息的标准方式。
这种通讯方式为一对多。
见图3.3.
图3.3PDO协议
SDO服务:
SDO提供了一种获得指定节点相关状态的数据,服务端发送相应的数据回应。
如图3.4.
图3.4SDO服务
预定义连接集:
其简化了网络的配置和使用。
发送和接收PDO:
CANopen规定了相应的内存区域和接受网络上的数据,可认同为C语言中不转弯的对地址进行操作处理,从而实现了PDO数据能够完全透明地传送,为程序的编程简单化。
第三章.系统硬件设计
第一节总体设计方案
采用主流单片机AT89S52为微控制器,结合独立CAN控制器SJA1000设计的硬件电路,该系统包括智能节点和具有CAN-RS232转换功能的主节点两部分。
智能节点实现了数据采集、LED显示、CAN总线通信以及输出控制等功能。
本系统由上位PC机、CAN总线借口通信适配卡和多个监控节点组成。
监控点主要监控空调与通风监控系统,照明监控系统系统,供电系统,供水系统。
方案设计图如下图4.1。
图4.1方案设计框图
第四章系统软件设计
系统软件设计关键是通信程序的设计。
本设计采用C语言完成AT89S52的控制程序,主要由初始化、发送、接收三部分组成。
由于系统中一个点在任意时刻均可以主动与其他节点通信,所以各节点的通信程序相同。
PC软件采用VB或者VC实现。
第一节选择CANopen原因
基金会现场总线以ISO/OSI开放系统互连模型为基础,取其物理层、数据链路层、应用层为FF通信模型的相应层次,并在应用层上增加了用户层。
用户层主要主站对总线具有控制权,主站间通过传递令牌来传递对总线的控制权。
取得控制权的主站,可向从站发送、获取信息。
泛应用于加工制造、过程和楼宇自动化等行业。
其中PROFIBUSDP可以提供最大12Mbps的传输速率。
由于优越的传输特性和高的传输速率,在可编程逻辑控制器PLC中被广泛采用。
CAN是ControllerAreaNetwork的缩写,是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支持主从方式和多主通信方式。
第二节CANopen协议系统软件设计
在基于CANopen的智能协议,从物理上分为:
底层驱动程序借口和上层CANopen客户程序;
从逻辑上可分为:
底层动态连接库支持程序、收发报文高速缓存逻辑,报文分析、分析结果记录和GUI展示层。
CANopen客户程序根据协议标准解释获得CAN报文,并根据报文类型,按HASH算法分类排序。
在报文收发缓存处理上采用多线编程方法,解决多线程同步和互斥问题,从而达到较好的报文实时处理功能,逃避了线程的可重入性。
客户程序既可以文本方式结合相应的参数显示CANopen的报文类型。
也可以根据CANopen协议已对网络进行测试和分析。
本次设计是CANopen设备节点,具有即用即插的功能,所以可以非常自如地用主站或者从站的身份收发报文。
其传递的数据格式是自定义结构体,为本次设计显示报文内容提供了方便。
CANopen协议软件是基于高级语言开发环境编写的上位机软件,它的界面实现协议分析结果直观性非常强。
对本次设计的可视化配置,比特率设置,样本数设定,MASK掩码设定具有明显效果。
除此之外,CANopen协议还提供一些基本功能,其总线通信量,单次或循环发送报文,及整个报文队列的在线观测,并对各类可变条件获得报文的记录以及在线监测总线负载。
本次设计是一套完整的楼宇控制系统,现场过程参数与状态信息通过各自的传感器现场汇入其相应的现场空盒子节点。
各个仿真子系统的现场节点通过CAN总线完成数据通信,各个仿真子系统通过以太网实现整个仿真系统的信息通信。
CANopen协议作为本次通信的主要协议,将被控对象、智能节点、网关和上位机连成楼宇智能一体化。
在运行与测试中,CANopen协议实时的处理CAN设备发送和接受报文的可行性,为本次系统的开发、调试提供了极大的方便。
第三节软件设计系统流程
CAN总线模块将在AT89S52的控制下采集的数据发送给CAN总线的上位机上,接收CAN总线上发给各个控制节点数据,并且将它存如缓冲区。
AT89S52向SJA1000发送数据时,采用查询的方式,当SJA1000里有接受到的新报文时,AT89S52采用中断方式。
系统主程序如图4.2。
图4.2系统主程序
程序初始化:
AT89S52将SJA1000、冲区和变量、定时器、串口、CAN总线初始化。
初始化程序主要是在运行前,对SJA1000的控制寄存器写入控制而确定的。
如图4.3。
图4.3SJA1000初始化流程
发送程序:
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灭
按键1:
获取当前温度
按键2:
获取当前电压
按键3:
获取当前电流
按键4:
获取当前水位
图4.6VB窗口
第五章.调试结果及分析
在硬件调试处理过程中,发现过芯片6N137的模拟输入和输出没有隔离开。
以至于电路出现异常。
后经过修改,硬件电骡工作正常.
软件调试由一台PC机、系统硬件电路和VB软件组成。
调试单片机和串口通信硬件部分都为正常。
在VB窗口运行基本收发程序。
通过按键模拟数据采集驱动,LED模拟继电器动作。
通过两个仿真器可以了解串口通信部分的状态,另外还可以间接了解CAN总线的实际状态,在调试中间向SJA1000的测试寄存器写入0DBH,再读SJA1000的测试寄存器,结果与写入的一致。
说明SJA1000与控制器连接正常。
输入通道编写程序,通过观察仿真器对应地址中的内容,确定节点的输入通道为正常。
第六章.结束语
通过对系统的硬件、软件的反复调试和充分利用C语言编程的模块性、可修改性和可移植性的特点。
调试结果说明该基于CAN总线的楼宇自动化系统的设计方案是可行的。
在充分考虑到实际环境下,通过控制器能高速、有效的采集和处理现场数据,并能进行现场实时监控,实现了信息通信处理。
体现出CAN总线的高性能,高可靠性。
楼宇自动化系统能够改善人的生活环境,适用于当今社会。
它能够创造很好的经济效益,具有广阔的应用前景。
致谢
经过这个学期的努力,本次楼宇自动化系统设计工作基本完成。
设计能够顺利地完成是在我们的指导老师曹勇老师的细心指导下进行的。
曹老师话费了很多宝贵的时间和精力为我设计的选题和资料的搜集直至最后设计的修改调试,在此向我的指导老师表示最真挚的感谢!
指导老师严谨的教学态度,开拓进取的精神和高度的责任心使我受益匪浅!
参考文献
[1]王俊波.CANopen协议分析与实现.中文核心期刊,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]张岳.集散控制系统及现场总