收藏 分销(赏)

智能暖气控制系统之本地嵌入式软件设计论文.doc

上传人:仙人****88 文档编号:9283329 上传时间:2025-03-19 格式:DOC 页数:50 大小:433.50KB 下载积分:10 金币
下载 相关 举报
智能暖气控制系统之本地嵌入式软件设计论文.doc_第1页
第1页 / 共50页
智能暖气控制系统之本地嵌入式软件设计论文.doc_第2页
第2页 / 共50页


点击查看更多>>
资源描述
本科毕业设计论文 目 录 目 录 1 摘 要 3 前 言 5 第二章 微软嵌入式系统开发技术研究 8 2.1 嵌入式系统技术分析 8 2.1.1 嵌入式系统的概念 8 2.1.2 嵌入式系统的特点 9 2.2 嵌入式软件开发环境 9 2.2.1 嵌入式操作系统发展 9 2.2.2 Windows CE 10 2.2.3 Embedded Visual C++介绍 11 第三章 智能暖气控制系统整体设计 13 3.1 体系结构设计 13 3.2 创新点 14 3.3 设计目标 15 第四章 本地供暖管理嵌入式系统设计 16 4.1 模块划分及相互之间的关系 16 4.2 串口通信 18 4.2.1 串口通信原则 18 4.2.2 串口通信协议 20 4.3 网络通信 22 4.3.1 网络通信原则 22 4.3.2 网络通信协议 24 4.4 核心算法 25 4.4.1 多种供暖时间的设置 25 4.4.2 逻辑算法 26 4.4.3 动态调节算法—PID算法 27 4.5 多线程设计 28 4.6 软件界面设计: 30 4.6.1 软件界面设计的重要性 30 4.6.2 本地系统的软件框架设计 31 第五章 关键技术及实现 33 5.1 串口通信 33 5.1.1 组合串口通信数据 33 5.1.2 怎样解析通信数据 34 5.2 网络通信 35 5.2.1 怎样组合网络通信数据 36 5.2.2 怎样解析网络通信数据 37 5.3 多线程技术 38 5.3.1 线程创建与退出 38 5.3.2 线程同步 39 5.3.3 线程互斥 41 5.4 其他技术实现 42 5.4.1 全屏显示 42 5.4.2 数据存储 43 5.5 软件界面实现 45 第六章 总结与展望 47 6.1 缺陷 47 6.2 展望 48 致谢 49 参考文献 50 摘 要 随着经济的不断发展,能源已经成为制约社会发展的瓶颈。近年来,嵌入式系统技术的飞速发展使其在工业控制、智能家庭、精细农业等多个新的领域中得到广泛应用,同时也大大改善了传统设备对能源的利用率。本论文结合“Windows Embedded Student ChallengE 2006”的竞赛选题——HeatingCare智能供暖控制系统的研究工作,对当前嵌入式系统技术及其在智能化信息状态中的应用进行了深入分析,并深入研究了基于微软嵌入式系统开发平台的嵌入式软件设计与开发技术。 论文首先介绍了目前微软的主流嵌入式软件开发技术及平台,进而分析了所设计HeatingCare智能供暖控制系统的体系结构及其特点。文章重点研究了HeatingCare本地供暖嵌入式软件的设计思想与方法,并提出了一个本地供暖的控制模型及相关算法。在以上研究基础上,基于多线程技术实现的嵌入式软件具有智能化节能、个性化服务以及规模可扩展、可支持多种应用模式等特点。 本文所研究的基于微软嵌入式软件开发工具的嵌入式系统开发方法与关键技术对于其他相关开发工作具有参考价值,而且本文所实现原型系统也可应用于未来的智能家庭。 关键字:嵌入式,暖气供暖控制,节能,智能,多线程 ABSTRACT Along with the economical unceasing development, the energy already became the bottleneck of the social development. In recent years, the rapid development of embedded system technology enable it obtain the widespread application at the industry control, the intelligent family, the fine agriculture and so on in many new domains, simultaneously also greatly improved the the energy use factor of traditional equipment. This paper union research work on the “HeatingCare” intelligence heating control system which is a selected topic comes from a competition-“Windows Embedded Student ChallengE 2006” , has carried on the thorough analysis to the current embedded system technology and application in the intellectualized information condition, and thoroughly studied the embedded software design and the development technology based on the Microsoft embedded developed the platform. The paper firstly introduce the Microsoft’s mainstream embedded software development technology and development platform, then analyse architecture and characteristics of “HeatingCare” intelligence heating control system. The article has with emphasis studied the “HeatingCare” local heating embedded software design concept and the method, simultaneously proposed a local heating control model and a related algorithm. In above research foundation, embedded software based on the multi-thread technology provides the intellectualized energy conservation, the personalized service, the scale expanded, many kinds of application pattern and so on. With studies of the article, the embedded system method of development and the key technologies, based on the Microsoft embedded software development kit, has the reference value for other correlation development work, moreover the prototype system realized also could apply in the future intelligent family. KEY WORDS: embedded, heating control system, energy conservation, intelligence, multi-thread 前 言 1.3提出问题 经济持续增长的中国,需要巨大的能源供应,缺电、缺煤将意味着什么,谁来供应中国经济的发展,这将是我们面临的又一大严峻挑战。 种种迹象表明,当中国已成为煤炭、钢铁、铜等世界第一消费大国,继美国之后的世界第二石油和电力消费大国。随着经济快速发展,我国主要能源和初级产品的供求格局发生了较大变化,资源对经济发展的制约作用开始显现,且差距呈越来越大之势。2003年开始,从长三角的“电荒”到涉及东北、华东、华南、西南等地区的“煤荒”与“缺油”,给中国的经济发展道路打了个大大的问号。 然而,一方面中国正遭受着普遍的能源荒,另一方面确是能源的极度浪费,能源利用率低下,以及缺乏节能意识。举个例子:煤炭是中国最重要的能源,中国也是世界上最大的产煤国,每年产量高达 11.5 亿吨。但是,每年我们所实际付出的,远不止 11.5 亿吨的煤炭资源。由于技术设备和采矿方法落后,特别是小煤窑的存在,挖掘这11.5亿吨煤炭实际确要消耗43亿吨煤炭资源,几乎相当于全球的煤炭产量,数目简直触目惊心[1]。 今年春节后,我到校比较早,却发现整个公寓的暖气供应在春节期间一直持续,即使整栋大楼根本就没几个人。如此巨大的能源浪费怎么会没人注意到呢。后来仔细询问才知道,由于大楼的暖气供应都是来源于同一个管道,且没有分户供应,切断一处暖气供应所有房间就全断了,所以为了照顾少数同学只能所有宿舍都供应暖气。 在后来的调查我得知,世界上很多国家或地区的冬天是相当寒冷的,比如中国的北方,加拿大,挪威等,有时温度可能低达零下四五十度,所以每家每户都要铺设有暖气管道,由供暖中心供应暖气。然而传统的暖气供应方式不仅消耗大量能源,而且有时却并不能给人带来应有的舒适,比如由于暖气供热温度的不可调控,经常会出现温度过热现象,人会感觉极度不适,甚至引发多种疾病。因此,一种能更有效地减少能源消耗、提供更优质的取暖效果的智能供暖控制系统越来越被人们所期待。 1.2当前供暖方式及发展趋势 从50年代至今我国基本还沿用前苏联的一套,主要采用以燃煤为主的集中供暖方式。这种供暖方式在建国后的几十年里对保障老百姓生活的安定起到了积极的促进作用。然而这种供暖方式的弊端也是很明显的:比如不能温度控制,不能实现热量计费等等。于是当前兴起一种分户独立供暖模式,它是以每户采用独立的燃气锅炉,用燃气为热源形式以单元房为单位的独立采暖系统。那么未来城市到底应该采用哪种方式呢?下面我对两种供暖方式进行比较: 1.传统的集中供暖系统的确做不到温度控制,热量计费,但是对采暖管道布置进行改进和增加一些必要部件后,这两个关键要素是可以做到的。比如采用共用供、回水立管加上每户独立支路的双管系统是可以实施集中供暖分户计量的。 2.在我国集中供暖经过长期的应用和考验,是比较成熟的技术。且集中供暖在能量总的利用效率,供暖质量,卫生条件,防火及安全保障上,以及一次投资和长期运行费上都有明显的优势。 3.采用分户独立供暖模式对各个用户来说不仅一次投入大,而且个月燃料费用也高,还不安全。据估计,建筑面积为80平方米的居室一套燃气锅炉的费用大约为8000—10000元,一个取暖季的燃气费用大约为2500—3000元,是目前采暖费用的2—3倍。这样的消费水平和中国国情是很不相称的[2]。 当然分户独立供暖模式作为集中供暖的一种补充方式同样有很多优势的,比如不需要铺设复杂的管道,燃烧的都是清洁能源,有利于供暖收费制度的改革,有利于用户自主选择采暖标准,具有采暖和生活用水双重功用。在发达国家特别是美国,民用建筑几乎不使用集中供热,而采用分户独立供暖模式,其分户供热的热源50%为天然气 。 目前我国的方针是“继续发展和完善以集中供热为主导、多种方式相结合的城镇供热采暖系统”。这也是之后我国暖气供应的发展趋势。 1.3主要工作概述 针对我国国情及供暖现状,我们设计开发了一套节约型的智能暖气控制系统。也确定了该系统的适用范围:以适应集中供暖为主,同时微量调整后也可以适用于分户独立供暖模式。本系统尽量满足市场实际需求,并突出考虑客户实际需要,更多的体现人性化设计。 本论文主要研究内容: 1. 简单介绍软件开发环境,及使用技术。 2. 本系统的市场实用性。 3. 技术可行性的研究。 4. 串口通信,网络通信的研究。 5. 通信协议的研究。 6. 暖气控制算法的研究与实现。 7. PID算法的研究。 8. 软件界面的研究。 9. 个性化服务研究。 10. 多种应用模式研究。 第二章 微软嵌入式系统开发技术研究 嵌入式系统是随着计算机技术、微处理器技术、电子技术、通信技术、集成电路技术的发展而发展起来的。嵌入式系统已成为计算机技术和计算机应用领域的一个重要组成部分。 本章主要介绍嵌入式系统的基本知识包括嵌入式系统的概念、特点,嵌入式操作系统的发展,并重点介绍与本系统开发有关的Windows CE操作系统和EVC++开发工具。 2.1 嵌入式系统技术分析 2.1.1 嵌入式系统的概念 嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。 嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 2.1.2 嵌入式系统的特点 嵌入式计算机系统同通用型计算机系统相比具有以下特点: 1.嵌入式系统通常是面向特定应用的。嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发[3]。 2.2 嵌入式软件开发环境 2.2.1 嵌入式操作系统发展 作为嵌入式系统(包括硬、软件系统)极为重要的组成部分的嵌入式操作系统,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 嵌入式操作系统伴随着嵌入式系统的发展经历了四个比较明显的阶段: 第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。应用于一些专业性极强的工业控制系统中,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。 第二阶段:以嵌人式CPU为基础、简单操作系统为核心的嵌入式系统。CPU种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。 第三阶段:通用的嵌人式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(APl);嵌入式应用软件丰富。 第四阶段:以基于Intemet为标志的嵌入式系统。这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于lntemet之外,但随着Intemet的发展以及Intemet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Intemet的结合将代表着嵌入式技术的真正未来。 2.2.2 Windows CE Windows CE是Microsoft公司为了开发各类功能强大的信息设备而开发出来的一个嵌入式实时操作系统。Windows CE是一个非常小巧的精致的操作系统。这个操作系统的核心全部都是C语言开发。Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。 Windows CE与Windows桌面操作系统的区别: 1. Windows CE不运行现有的应用程序。这意味着建立在Windows CE操作系统的实时应用软件都必须为Windows CE重新编译连接。 2. Windows CE有严格的内存限制。表现为减少了物理内存数量:大多数Windows CE设备只能装入相对较少的物理内存;控制用户内存的应用:厂商为了降低Windows CE设备的成本,开发Windows CE设备时一般不为其配备硬盘。 3. Windows CE有精简的运行库和API。Windows CE与Windows桌面操作系统的一个很大区别就是前者缩减了C\C++运行库和API。许多较常见的ANSI函数已被Windows API函数代替或被完全删除。 4. Windows CE硬件设备并十分标准化。每个Windows CE设备厂商以不同的方式进行设计,因而Windows CE设备不像计算机那样有标准配置。 2.2.3 Embedded Visual C++介绍 Embedded Visual C++(以下简称EVC)是Microsoft公司推出的WINCE程序可视化开发工具。随着WINCE版本的变化,EVC也推出了相应的版本,其中EVC3.0只能开发WINCE3.0的应用程序,EVC4.0只能开发WINCE4.0的应用程序。本论文所涉及的软件开发是在EVC4.0+SP4+WINCE5.0环境下完成的。 Windows CE的开发模式一般是在PC下直接编程,然后通过网卡或串口下载到实际的硬件平台上调试。可是如果每次都需要将编译完的程序下载到实际平台上去调试,这样的工作量将大的惊人,而且编程人员多半时间浪费在等待下载上。为此EVC提供了一个模拟器,这样一般的程序调试就可以直接在模拟器下完成。但是模拟器并不能包办所有的程序调试工作,它只能调试最简单的程序,稍复杂的程序,尤其是操作硬件的程序就必须下载到实际硬件平台上调试。本论文所涉及的软件开发中的网络通信,串口通信都是要下载到具体的实现平台上才可以完成的。 详细的EVC使用方法可以参考有关书籍,这里我想多讲些模拟器开发技术。采用模拟器这种软硬件协同开发技术,在嵌入式产品开发中能帮助缩短开发时间,节省开发成本,而更重要的是减少开发风险。这个方法的主要优势是在实际的物理模型可用之前,有一种虚拟模型平台可以用来软件测试和综合。通过在模拟器上测试,问题很早就可以被检测出来并得到修补,软件硬件小组能够提供及时的反馈或改进信息,也可以客观地跟踪需求和工程进度。 第三章 智能暖气控制系统整体设计 摘要中我已经提到,本论文是在结合“Windows Embedded Student ChallengE 2006”的竞赛选题HeatingCare智能供暖控制系统的研究工作后完成的。且本论文重点研究的HeatingCare本地供暖嵌入式软件属于整个系统的一部分,因此在详细了解本论文之前对整个系统的宏观把握是很有必要的。 本章主要介绍整个系统的体系结构设计,设计创新点以及设计目标。 3.1 体系结构设计 (结构图还没有加上) 从地域上说,HeatingCare由两部分组成:置于每个用户家中的本地控制系统(Local heating control system)和置于区域暖气中心的区域调节服务器(Area regulation unit)。 本地控制系统负责家庭内部的暖气调节,使得用户能够拥有舒适的温度。它主要包括两个模块。 1. 前端控制模块(Front-end Control Module):简称FC。FC由前端控制板、传感器、暖气阀和暖气流量表组成。传感器可以感知丰富的房间信息,在我们这个系统中主要采用了两种传感器:温度传感器和红外传感器,分别用来感知房间温度和房间是否有人存在。前端控制板接收传感器感知的这些数据,稍做处理后转发给下一个模块(即本地热能管理模块),并在收到后者的控制命令后对每个房间的暖气阀进行控制。 2. 本地供暖管理模块(Local Heating Administrator):简称LHA。这块是本论文主要研究对象。LHA在家庭暖气的智能控制中起到了核心作用。它由eBox-II(微软提供的一种嵌入式设备)、eBox-II上运行的软件和一个触摸屏(目前以普通的CRT显示器和鼠标代替)组成。LHA主要包括三方面的功能: 1) 提供个性化服务。允许用户配置多种信息,包括房间最佳温度和各种供暖时间段的设定。 2) 依据所接收到的房间信息和用户配置信息,按照一定算法计算控制流量,然后发送命令给FC,通过FC调节暖气控制阀。 3) 通过网络发送当前暖气流量信息(Current Heat Demand简称CHD)和历史暖气统计信息(the statistics of user’s History Heat Usage简称HHD)给远程服务器。 区域调节服务器(Area Regulation Unit简称ARU),也称之为远程服务器,它是某个区域内(这个区域可以是一幢楼、一个小区、甚至是整个城市)供暖的总调节器。它根据当前该区域内用户的暖气使用情况动态地调整暖气总供应量,不多,也不少。同时还可以从各个LHA(本地系统)取得丰富的暖气供应总体统计数据,这些数据是有很大作用的。 3.2 创新点 1. HeatingCare设计的核心思想:在集中供暖中,家庭使用暖气和供暖中心输送暖气是两个紧密联系但又相对独立的方面。家庭使用的暖气减少不意味着就能减少总体暖气的消耗。因为倘若暖气中心供的暖过多,大量的热能将在传输回路中白白地浪费掉;而且,并不是输送的暖气越多就一定能产生令人满意的供暖效果。只有把两者结合成一个整体考虑,才能最大限度地节约暖气消耗,同时又能保证用户享受到舒适的室温。这是我们整个系统的核心设计思想,也是它区别于现有系统而取得更好效果的关键。 2. HeatingCare自动地、智能地依据个人爱好控制室内温度。个性化的配置选择可以满足不同人对室温的不同需求。在简单的初始化安装后,系统可以在用户毫无察觉的情况下独立运行。 3. HeatingCare无论是从功能上还是结构上都具有很好的可扩展性。很多有意义的功能可以很容易地添加进来,比如说自动计费,湿度调节等。在结构上,可以增加多个ARU(远程服务器),并根据管道的分布把它们按照一种多层次的方式连接起来,从而整个城市或地区就可组织成一个一体化的暖气调控系统。 4. HeatingCare主要是针对集中供暖模式开发而成的,但只需简单的修改就很好地工作于分户独立供暖模式,实现单家庭自给自足供暖情况下的室温调节和燃料节约。 3.3 设计目标 可靠性:暖气控制是一个牵涉到人们切身感受甚至人身安全的过程,它必须能在苛刻或意外的工作情况下稳定运行。我们对系统提出以下要求: 1. 采用工业级的硬件元器件,构建高可靠的系统硬件平台;使用可靠、稳定的嵌入式操作系统作为LHA(本地嵌入式系统)的软件平台。 2. 在LHA软件中引入故障自检测机制,对于一般性问题能够进行自恢复,对于致命故障要自动告警。 有效性:系统必须保证用户确实能够享受到合适的室温,同时最大限度地提高资源的利用效率。为此,要求系统做到: 1. LHA获取房间信息的频率要恰当,定为30秒。根据人体表面对室温的感知灵敏度,将温度的控制误差限制在±1度以内。 2. 建立准确可行的模型保证高质量的室温调节和合理的暖气配给。 可用性:我们的愿望是让用户能在最短的时间内学会使用我们的系统,并喜欢上它。为此,我们要求系统做到: 1. 系统需要用户参与得越少越好,用户应只需要在系统初始阶段和自己需要时才对系统进行一些简单的操作,而在其它时间,系统应能足够稳定地独立运行。但同时又不忽略用户的主动性。 2. LHA应提供一个简洁、友好且易操作的图形化操作界面。 可扩展性:考虑到系统的多种应用模式和丰富应用需求,系统的相应部分应该是可扩展、可配置的。 第四章 本地供暖管理嵌入式系统设计 LHA(本地供暖管理嵌入式系统)是个关键部分,也是整个暖气控制系统的核心。它处理与用户的交互,计算各房间的阀流量,控制FC完成房间温度的动态调节,同时也要向ARU发送流量信息,帮助ARU动态调节宏观暖气供应。本章详细论述LHA的系统设计,包括模块划分,串口通信,网络通信,核心算法,以及软件界面设计。 4.1 模块划分及相互之间的关系 在LHA的开发过程中,为了更好的完成开发任务,运用了模块化思想对系统进行了功能划分。如图4-1 ARU 图 4-1 LHA 模块划分 控制系统主模块 网络通信模块 串口通信模块 消息阅读模块 消息编辑模块 系统配置模块 控制算法模块 数据存储 FC 上图中 代表调用关系 代表数据传递关系 控制系统主模块: 主要用于系统初始化,界面维护,响应用户操作等一些基本功能。 消息阅读模块: 从存储文件中读取、显示ARU发来的服务消息,并可对消息进行简单的管理操作,如删除等。 消息发送模块: 提供消息编辑界面,并把写好的消息提交给网络通信模块。这样用户就可以在必要的时候主动向ARS发送消息。比如,当红外传感器检测不到人的存在信息,用户可以自己编辑发送短消息,请维修人员来检查。ARS收到消息后,根据不同消息作出不同反映。 系统配置模块: 配置系统运行所需的环境参数和个性化服务所需要的供暖服务参数。 串口通信模块:本模块主要负责与FC(前端控制器)通信。有了这个模块可以实现两类数据的交换: 1. 数据消息。LHA需要通过FC获取当前房间的温度信息和人的存在信息,室温控制算法就是根据这些信息进行室温控制。 2. 控制消息。控制阀口流量大小的命令是通过FC执行。所以LHA要向FC发送控制消息。 网络通信模块: 本模块主要负责与ARU(远程服务器)通信。总共要实现三类数据的交换: 1. ARU可以向用户发送系统消息,比如系统供暖时间的变更,甚至小区的其它服务消息也可以发送。 2. 用户也可以在必要的时候向ARU发送消息。比如,当红外传感器检测不到人的存在信息,用户可以自己发送短消息,请维修人员来检查,当然消息是要限制字数的。 3. 最后也是最重要的一类消息:LHA可以及时向ARU发送当前的暖气需求。 数据存储模块:LHA需要将一些重要的数据及时保存在本地磁盘,如服务消息发送消息,流量统计,用户配置信息等等。及时保存这些信息对系统来说是非常有用的,比如,如果保存了用户配置信息,在系统重启后,就可以直接读取,否则就需要用户重新配置。 控制算法模块:本模块根据用户的配置信息,以及房间信息计算当前各个房间的最佳流量大小。算法选择会直接影响到能量节省和系统的稳定。 4.2 串口通信 既然是通信,就要涉及到通信双方,我们就需要事前设置一系列的通信原则和通信协议。要全面的考虑问题的方方面面,包括什么时候应该发送什么样的数据,对方怎么知道发送的数据是代表什么意义等等。要解决这些的问题,事前的这种约定就显得很重要,并且这种约定一旦双方同意了,就成为双方都要遵守的约束条约。 还要说明一点,这里所说的通信协议并不是平常所说的那种,如TCP/IP协议,这是开发商的工作。我们的协议是为了区分各种不同消息,为了明确信息中各个字段的不同意义而设计的。举个例子:我们发送消息的第一个字符是0x00 ,它表示这是个控制消息,如果是0x01则表示这是数据消息。当然这是最简单的情况。 4.2.1 串口通信原则 串口通信主要涉及LHA和FC之间,它们之间主要通信数据消息和控制消息。在通信中要遵循几个基本原则: 1. LHA视条件决定当前是否发送控制消息。这个条件就是当前各个房间流量需求是否有变化,有变化的情况下LHA才发送控制流量消息。否则不发送,阀口流量也保持不变。 2. LHA周期性的向FC发送请求数据消息(请求FC发送当前房间信息)。FC只有在接收到LHA的请求消息后才发送包含房间信息的数据消息。这里,我们决定FC被动而不是主动地发送消息,主要考虑到:LHA的核心地位,它应该掌握整个系统的主动权。 3. 室温控制算法要依据房间里人的存在信息决定当前供暖状态。但是人是经常走动的,用户也许只是取东西而在某个房间里呆不了一分钟,因此LHA收到的用户存在消息很多都可能是“虚假消息”。所以LHA应该尽可能的忽略这样消息。我们采用的原则是:只有在连续两次收到用户存在信息后才确定房间有人,同样也只有在连续两次没有存在信息才确定房间没人,否则都保持原有的用户存在信息不变。 4. 串口通信中接收方收到消息后都要发送应答消息,确认消息收到。发送方如果没有收到应答消息则要隔段时间(默认为10秒)重发,重发3次后表示发送失败。 除了上面这些基本原则外,通信双方还要在收发数据的时间次序问题上达成共识。下面我具体说明LHA与FC在初始化阶段达成的通信共识。 所谓的串口通信在初始化阶段要做的工作就是,LHA将传感器所连接的接口号告诉FC,也就是告诉FC有几个房间连了传感器。对于一般情况LHA直接发送一个初始化啊命令就可以了,但是还要考虑一些特殊情况,比如:启动时是LHA先启动还是FC先启动。如果LHA先启动,而贸然给FC发送字符串,这时FC就会因为没有启动而收不到字符。 LHA和FC在初始化通信方面要遵循以下几点共识:(参见图 3-2) 1. FC启动后,先向LHA发送一条请求命令(可能被LHA收到,也可能由于LHA还未启动而未被收到),表明FC已启动,然后等待接受LHA发来的初始化命令。因为FC启动或重启后,它存储的接口组号信息已丢失,所以每次启动都需要向LHA发送请求命令,请求LHA向其发送初始化命令,重新获得接口组号信息。 2. LHA启动后,不管FC是否已经存储当前接口组号信息,都要向FC发送初始化命令。 3. LHA在收到FC的请求命令后,立即回应一条初始化命令。 4. LHA在房间接口配置信息发生变化后,要重新向FC发送初始化命令,更新FC中存储的接口组号。 综合来说,LHA要在三种情况向FC发送初始化命令:LHA启动后;LHA收到FC的发送请求命令(请求LHA发送初始化命令)后;LHA上的房间接口配置信息改变后。 FC LHA FC启动 LHA正在启动 没有收到STARTUP 启动后按照规则2 发送INIT STARTUP( 规则 1) INIT(规则 2) ACK 由于某种原因,FC重启 STARTUP(规则1) INIT(规则3) INIT(规则4) LHA上的房间接口配置信息发生了变化 FC收到INIT后会更新接口组号的存储 ACK ACK LHA接到FC的 STARTUP发送INIT QRYA SPTA 询问所有房间的现场信息 FC收到命令后,在NUM s内给予回应 CTRLA ACK 对所有房间里的暖气阀进行控制 图 4-2 串口通信共识 4.2.2 串口通信协议 详细的串口通信协议可以参考另外一个WORD文档(Protocol.doc),限于篇幅在这里只说明几条代表性指令。 下面是一条初始化消息的协议格式: 起始字节号 内容 长度 说明 1 SYN = 0x7E7E 2 B 同步头 3 INIT = 0x80 1 B 初始化命令 10 000000 4 GN 1 B GN的第0位到第7位分别对应第1个接口组到第8个接口组。1b表示接有房间,0b表示未接有房间。 表 4-1 串口通信初始化指令 这个指令的详细通信规则在上一节(4.2.1串口通信规则)中讲的很清楚,现在我们来分析消息的格式: 头两个字段是同步字符,串口通信经常会有一些乱码,同步字符头可以确定一条有用信息的起始,减少错误消息。 第三个字节表示命令号,它确定这条消息所要表示的信息内容,以便接收方对不同消息采用不同的处理。 其它字节表示消息主体,字节长度视不同消息不同。比如本条消息的消息主体任何时候都只有一个字节,因此整条消息长度也是确定的。但是有的消息长度是可变的,为方便通信,这时可以在通信字节中加上一个表示消息长度的字段。 下面就是一条长度可变的消息。 起始字节号 内容 长度 说明 1 SYN = 0x7E7E 2 B 同步头 3 CTRLA = 0x4C 1 B 阀流量控制命令 01 001100 4 NUM 1 B 房间数量(1 – 8) 5 VF1 1 B 第1个接有房间的接口组所对应房间的阀流量变化 格式为 s xxxxxxx。最高位是符号位,其他各位表示绝对值 6 VF2 1 B 第2个接有房间的接口组所对应房间的阀流量变化 … … … … NUM +
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服