




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1绪论11引言汽车尾气余热发电是一种汽车利用尾气余热进行发电的技术,属于汽车部件制造技术领域,在后排气管上安装有能量转换器,能量转换器的电量输出端通过连接器连接汽车电池的输入端。汽车发动机工作时,通过后排气管排放高热量的尾气,能量转换器吸收热能并转换成电能,向电池充电。该技术有效地回收、利用了汽车残余能量,大大地提高了能源使用效率,有利于环境保护,性能可靠。在尾气余热发电装置内由两种金属组成的回路中,如果两个接触点之间产生温度差,金属电子的状态会发生变化形成电流,这种热电转换现象即为热电效应。尾气余热发电原理就是利用不同金属间的温度差进行发电,将尾气中含有的热量转化为汽车动力来源,采用这种装置后,预计可将汽车燃油经济性提高10,而且还可以减少二氧化碳等有害废气的排放。根据研究,汽油燃烧产生的能量中有70通过尾气排放等形式散失到大气之中,最多只有30的能量转化为机械能,其中还有一些由于齿轮、轮胎的机械摩擦、蓄电池工作等原因而被消耗掉,最后只有20左右转化为驱动行驶的动力。开发中的尾气余热发电系统主要采用热电转换技术,由不同的金属和半导体成对组合,可以安装在汽车下部的催化转化器和消声器之间,利用高温尾气和低温冷却水之间的温度差发电,充分利用和回收热量,提高热效率。热电转换模块是整个汽车尾气余热发电系统的核心环节,利用热电效应将尾气余热转换为电能。汽车尾气余热发电装置的中心环节是热电转换,该模块将汽车所排放的高温尾气所携带的热量转换为低压电能,发出的电能一般都为低电压、小电流的小功率电能,不能直接应用,需要经过DCDC升压、储能处理后才能正常利用。并将各小的热电转换模块进行并联,以达到所需电压及功率。12研究意义随着人们生活水平的提高,人们在交通出行上对汽车的依赖程度越来越大,而全球汽车数量的不断增加,给世界环境带来的危害也越来越严重。将热电转换技术运用到汽车尾气排放系统,将极大地减少汽车尾气排放对环境造成的危害,并且能够节约不可再生能源,将废气转换为可再生清洁能源,可谓是一举三得。在汽车尾气余热发电系统的研发阶段,需要对系统的各功能模块进行实时监测,并采集各路信号的参数,传至上位机供设计人员进行分析优化,因此,就必须有一个完善的监控系统软件,来完成各功能模块和上位机之间的通信。首先需要上位机通过监控软件向系统模块发出指令,然后系统各模块响应上位机的指令开始运行,同时将运行中各路信号进行采集并传输至上位机,实时显示在监控界面上,这样研究人员表可以清楚的看到整个系统的运行状况,根据异常信号分析故障、完善系统。13发展现状131余热发电技术发展现状余热发电的关键技术是热电转换技术,利用的是热电效应。所谓的热电效应,是当受热物体中的电子,因随着温度梯度由高温区往低温区移动时,所产生电流或电荷堆积的一种现象。而这个效应的大小,则是用参数Q来测量,其定义为QE/DTE为因电荷堆积产生的电场,DT则是温度梯度。两种不同成份的导体两端接合成回路,当接合点的温度不同时,在回路中就会产生电动势,这种现象称为热电效应,而这种电动势称为热电势。这项技术由起步到如今也经历了漫长的发展阶段。热电转换技术发展至今已有半个多世纪的历史了,而且正随着现代科学技术的不断进步而逐渐走入我们日常生活。十九世纪六十年代,人类便开始了征服太空的计划。从1969年的登月计划到2001年的火星探测,几十年中取得了很大的飞跃,这其中也有热电转换技术的一份功劳。利用热电转换技术,一枚硬币大小的放射性同位素热源就能够提供长达二十年以上的连续不断的电能,这是其它任何一种能源技术所不能比拟的。美国登月计划中“阿波罗”17号飞船就是使用了热电转换技术提供的电源从月球表面向地球成功地传送了数据,中央部分就是使用放射性同位素为热源的热电发电装置。到1990年为止,热电转换技术已成功应用于美国国家宇航局的二十多次太空飞行任务中,均取得了良好的效果,其中最长的工作时间超过了15年。美国热电直接转换方面处于世界的领先地位,美国能源部、国防部及宇航局共同负责热电转换方面的研究发展工作。热电偶转换、热离子转换、磁流体发电、铁电转换和热磁转换是目前五种基本的热电转换方式。热电偶是最早的热电转换装置,将两种不同材料的物质(通常是金属丝)连接起来,加热结点,在另两端就能得到电动势。这种效应是1821年发现的。但金属和合金的热电转换效率太低,因此直到发现更好的热电转换材料半导体后热电偶电源才投入使用,今天使用的半导体热电偶电源已进入商业市场。另一种热电转换装置是热离子转换器。它利用的是热离子发射原理,当金属温度很高时,电子将从金属表面被蒸发出来。最简单的热离子转换器是由两片靠的很近的金属板构成,当然热离子转换器用于外层空间时,热源可以使用太阳能、放射同位素的衰变能或核反应堆内的裂变能。考虑到其余热必须以辐射方式排除,而热离子转换器可以在比热电偶电源或动力发电设备高得多的温度下运行,因此只需要较小的辐射转换器即可(热辐射正比于绝对温度的四次方)。体积小,相对可靠的热离子转换器已在空间运行器上使用。铁电转换和热磁转换都利用物质受热后物理性质发生的重大改变来进行热电转换,相应的转换装置是真正的热机。在这些装置中,既不用气体工质也不用电子流,而是利用原子和分子在周期性受热时,不断重新排列以达到发电的目的。这种金属内部分子重新排列或晶体结构改变的现象称为二阶转变。铁电转变利用了介电物质的介电常数随温度变化的特殊性质(介电物质为半导体,置于电容两极之间以增加电容量)。热磁转换能与铁电转换能有某些相似之处,不同的是用感应电场能代替了静电场能。因为热电转换有巨大的实用价值,已有的几种热电转换装置的性能和价格还不能满足要求,所以科技人员仍在不断努力的寻找更有效更简便的热电转换装置。目前世界上较为先进的是一种碱金属转换元件AMTEC元件。将碱金属高温热管和固体电解质导电技术结合在一起的AMTEC元件具有热电效率高,结构简单和运行可靠等优点,效率可达30。132监控软件发展现状监控软件经过长期的发展,目前主要有VB、VC、组态王、LABVIEW等。其中VB和VC因简便熟悉而较广泛使用,另外两种是集成化的监控软件。组态王开发监控系统软件,是新型的工业自动控制系统以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。它具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且在自动控制系统中完成上传下达、组态开发的重要作用。尤其考虑三方面问题画面、数据、动画。通过对监控系统要求及实现功能的分析,采用组态王对监控系统进行设计。组态软件也为试验者提供了可视化监控画面,有利于试验者实时现场监控。而且,它能充分利用WINDOWS的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。LABVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LABVIEW与其他计算机语言的显著区别是其他计算机语言都是采用基于文本的语言产生代码,而LABVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LABVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LABVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LABVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LABVIEW(LABORATORYVIRTUALINSTRUMENTENGINEERINGWORKBENCH)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LABVIEW集成了与满足GPIB、VXI、RS232和RS485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ACTIVEX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LABVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LABVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,LABVIEW提供了WINDOWS、UNIX、LINUX、MACINTOSH的多种版本。它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件。现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统。133界面设计方法发展现状界面的说法以往常见的是在人机工程学中。“人机界面”是指人机间相互施加影响的区域,凡参与人机信息交流的一切领域都属于人机界面。界面设计存在于人与物的信息交流1。“人”是设计界面的一个方面,是认识的主体和设计服务的对象,而作为对象的“物”则是设计界面的另一个方面。它是包含着对象实体、环境及信息的综合体。功能性设计界面,接受物的功能信息,操纵与控制物,同时也包括与生产的接口,即材料运用、科学技术的应用等等。这一界面反映着设计与人造物的协调作用。功能性界面设计要建立在符号学的基础上。设计功能界面,不可避免地要让使用者明白功能操作。每一操作对人来说应是符合思维逻辑的,是人性的,而对机械、电子来说则应是准确的、确定无疑的,这双方的信息传递是功能界面的核心内涵2。监控界面的设计属于功能性界面设计,本文一下研究功能性界面设计的方法。首先要明确界面设计要完成的功能性任务,任务分析采用的技术主要有逐步求精技术,把任务不断划分为子任务,直至对每个任务的表达都十分清楚;面向对象分析技术,识别出与应用有关的所有客观的对象以及与对象关联的动作3。在界面设计过程中,要经过下面几个步骤步骤一建立任务的目标和意图;步骤二为每个目标和意图制定特定的动作序列;步骤三按在界面上执行的方式对动作序列进行规约;步骤四指明系统状态,即执行动作时的界面表现;步骤五定义控制机制,即用户可用的改变系统状态的设备和动作;步骤六指明控制机制如何影响系统状态;步骤七指明用户如何通过界面上的信息解释系统状态。在界面设计过程中,必须遵循界面设计的一般应原则4,其主要原则主要包括以下五点1)向导使用原则对于应用中某些部分的处理流程是固定的,用户必须按照指定的顺序输入操作信息,为了使用户操作得到必要的引用应该使用向导,使用户使用功能时比较轻松明了,但是向导必须用在固定处理流程中,并且处理流程应该不少于3个处理步骤。2)响应时间原则系统响应时间包括两个方面时间长度和时间的易变性。用户响应时间应该适中,系统响应时间不应过长或过短,系统响应时间的易变性是指相对于平均响应时间的偏差。即使响应时间比较长,低的响应时间易变性也有助于建立稳定的节奏。3)一致性原则在界面设计中应该保持界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。在同一个应用中,这些信息的表现方式不一致,会影响这一操作人员的使用,因此应当注重在同一界面系统中表现形式的一致性。4)布局合理化原则应注重在一个窗口内部所有控件的布局和信息组织的艺术性,使得用户界面美观。在一个窗口中按TAB键,移动聚焦的顺序不能杂乱无章,TAB的顺序是先从上至下,再从左至右。一屏中首先应输入的和重要信息的控件在TAB顺序中应当靠前,位置也应放在窗口上较醒目的位置。布局力求简洁、有序、易于操作。5)鼠标与键盘对应原则应遵循的是可不用鼠标的原则应用中的功能只用键盘也应当可以完成,即设计的应用中还应加入一些必要的按钮和菜单项。但是,许多鼠标的操作,如双击、拖动对象等,并不能简单地用键盘来模拟即可实现。例如在一个列表框中用鼠标双击其中一项可以表示选中该项内容。为了用键盘也能实现这一功能,必须在窗口中定义一个表示选中的按钮,以作为实现双击功能的替代(或其它方式)。又如在一个窗口中有两个数据窗口,可以用鼠标从一个数据窗口中将一项拖出然后放到另一个中。假如只用键盘,就应当在菜单中设置拷贝或移动的菜单项。14本设计研究内容本设计要求完成汽车尾气余热热电转换监控软件的设计。汽车尾气余热发电装置的中心环节是热电转换,该模块将汽车所排放的高温尾气所携带的热量转换为低压电能,发出的电能一般都为低电压、小电流的小功率电能,不能直接应用,需要经过DCDC升压、储能处理后才能正常利用。并将各小的热电转换模块进行并联,以达到所需电压及功率。本次设计主要针对汽车尾气余热发电系统的各个模块,设计各模块信号采集及显示的监控软件。在对软件设计的基本概念及原则有一定了解的基础上,本设计要仔细分析监控系统设计需求,选择合适的设计方案来完成监控软件显示及通信的功能。经比较分析选择采用VC串口通信来实现通信显示功能,采用多线程技术来实现多路信号同时采集。监控系统分为三个界面,主界面软件提供监测与设置两种选择,但只有先对系统进行正确的设置才能正确的监测各模块信号。系统设置子界面主要完成对通信口、数据格式及波特率的设置,以保证上位机与模块之间通信的正常进行。系统检测子界面则是执行通信显示的任务,将下位机的数据传送至上位机并显示于界面上。为了验证软件能否实现预定功能,要对软件进行模拟调试,在设计的最后是模拟调试。使用辅助调试软件可以方便快捷的帮助实现调试目的。2设计方案论证21软件设计方案论证对于监控软件的设计,WIN32下的面向对象工具VISUALBASIC和C能开发出又保证功能,实时性又好的监控软件。因此,本设计对这两种开发语言进行比较研究。211VISUALBASIC程序设计研究VISUALBASIC集成开发环境带有一个标准的控件箱,此外VISUALBASIC还提供一个巨大的控件库,这个控件库可以满足绝大多数常规程序开发的需要。但由于控实验软件的特殊性,仍然有一些需要的控件是现有的控件库中不曾提供的。VISUALBASIC可以帮助用户设计自己的控件,这种控件称为用户控件5。用户控件以独特的方式实现了对已有控件的继承。利用这一特性可在已有控件如VISUALBASIC的标准控件的基础上“添加”用户所需的特殊功能得到用户自己的控件,本软件中需要设计两种用户控件。VISUALBASIC还支持丰富的数据类型和强大的运算能力,支持面向对象的程序设计,并具有与其它语言和环境的良好接口。与基于命令行的应用程序相比,图形化的软件通常有形象生动的界面和易于理解的操作方式6。控制软件在保证实时性的前提下向图形化界面靠拢,VISUALBASIC开发图形化和拖放操作的应用程序极其方便,是一种优秀的界面开发工具。但VISUALBASIC的不足之处在于它的硬件访问能力较弱,对硬件配置要求和操作系统的依赖性较强,这是限制它在控制领域应用的重要原因。212C程序设计研究C语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用7。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C完美地体现了面向对象的各种特性。C的设计目标,就是要让C既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有面向对象程序设计风格。C所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。C的设计规则被分为基本规则、基于设计的规则、语言的技术性规则以及基于低层次程序设计的规则四个方面。基本规则强调适用于真实世界中各种应用的便捷工具,并充分考虑程序员的技术和取向。从一开始,C面向的就是那些要做实际项目的程序员。在语言的演化过程中,来自用户的反馈和语言实现者们积累的经验才是最为重要的。由基于设计的规则,C的一个目标就是提供更易用并具有一定承受能力的设计思想和程序设计技术,进一步提高程序的质量。然而,C的设计目标总还是在于要支持一定范围内的各种程序设计风格和设计思想。语言的技术性规则要具体结合更多关于基本目标的上下文环境来考虑。在维护一个较庞大的程序时,一个程序员不可避免的会基于某些不完整的知识来对程序作一些修改,只关注全部程序代码中的一小部分。基于此,C提供了CLASS、NAMESPACE和访问控制,使设计决策的各异化成为可能。由基于低层次程序设计的规则,在C的设计中只要在不严重影响其对强型别检查的支持的地方,都尽量做到与C的“SOURCELINK”方式相兼容。C与C的兼容性使得C程序员立刻就能有一个完整的语言和工具集可用。还有两点也很重要,一是有大量关于C的高质量的教学素材已经存在,二是C程序员可以利用C与C的兼容性而直接并有效的使用大量现成的程序库8。C是一种传统的编程语言。编写的程序具有代码精炼、执行效率高的优点,同时它提供了丰富的硬件数据访问能力。如开发数据采集、定时控制等功能,C是理想的选择。关于C与VISUALBASIC集成的问题,这两种语言不能混合编程,C代码不能直接嵌入到VISUALBASIC,反之亦然。213软件设计方案选择由于本次设计要求对汽车尾气余热发电系统的各路信号进行采集并处理,但VISUALBASIC的硬件访问能力较弱,对硬件配置要求和操作系统的依赖性较强,不适合作为本次设计的编程语言。而C编写的程序具有代码精炼、执行效率高的优点,同时它提供了丰富的硬件数据访问能力。对于本次数据采集显示类型的界面设计,C是理想的选择。故选择C作为本次设计的界面编程语言。22通信方式论证与外界的信息交换称为通信,基本的通信方式有并行通信和串行通信两种。一条信息的各位数据被同时传送的通信方式称为并行通信。并行通信的特点是各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通信。在监控系统中,上位机要同时接收下位机的多路信号,采用并行通信是行不通的。本设计采用另一种通信方式,即串行通信方式。一条信息的各位数据被逐位按顺序传送的通信方式称为串行通信。串行通信的特点是数据位传送,按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。串行通讯的距离可以从几米到几千米。本设计着重研究串行通信方式。异步串行通信示如图1所示图1异步串行通信示意图221串行通信基本概念根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工9。如图2所示ABABABADDTOPROJECTCOMPONENTSANDCONTROL插入即可,再将该控件从工具箱中拉到对话框中。此时,你只需要关心控件提供的对WINDOWS通讯驱动程序的API函数的接口。换句话说,只需要设置和监视MSCOMM控件的属性和事件。在CLASSWIZARD中为新创建的通信控件定义成员对象(CMSCOMMM_SERIAL),通过该对象便可以对串口属性进行设置。打开所需串口后,需要考虑串口通信的时机。在接收或发送数据过程中,可能需要监视并响应一些事件和错误,所以事件驱动是处理串行端口交互作用的一种非常有效的方法。232在单线程中实现自定义的串口通信类控件简单易用,但由于必须拿到对话框中使用,在一些需要在线程中实现通信的应用场合,控件的使用显得捉襟见肘。此时,若能够按不同需要定制灵活的串口通信类将弥补控件的不足。该通信类CSIMPLECOMM需手动加入头文件与源文件,其基类为COBJECT,大致建立步骤如下1打开串口,获取串口资源句柄通信程序从CREATEFILE处指定串口设备及相关的操作属性。再返回一个句柄,该句柄将被用于后续的通信操作,并贯穿整个通信过程。对于DWFLAGANDATTRIBUTE参数,对串口有意义的值是FILE_FLAG_OVERLAPPED,该标志表明串口采用异步通信模式,可进行重叠操作;若值为NULL,则为同步通信方式,在同步方式下,应用程序将始终控制程序流,直到程序结束,若遭遇通信故障等因素,将导致应用程序的永久等待,所以一般多采用异步通信。2串口设置串口打开后,其属性被设置为默认值,根据具体需要,读取当前串口设备控制块DCB设置,修改后将其写入。再需注意异步读写的超时控制设置,通过COMMTIMEOUTS结构设置超时,调用SETCOMMTIMEOUTSHCOMM,STRPORTFORMAT“COMD“,M_PORTHCOMCREATEFILESTRPORT,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,/FILE_FLAG_OVERLAPPED,NULL/打开一个通讯端口IFHCOMINVALID_HANDLE_VALUEMESSAGEBOX“串口不存在或被其它应用程序占用“,“提示“,MB_OKRETURN/最小化主窗口/SHOWWINDOWSW_MINIMIZE/创建监控窗口CMONITORDLGDLGDLGDOMODAL当点击“系统设置”时,运行的主要程序如下VOIDCCONVERSEDLGONBUTTONSET/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSETDLGM_DLGM_DLGDOMODAL32系统设置子系统设计321外观设计上位机要与下位机之间进行异步通信,必须要有共同的通信协议,包括串口选择、波特率和帧格式等。因此,在界面的外观上必须包含以上参数对象,其中,串口选择以单选按钮的形式供四选一,波特率和帧格式以组合框的形式供用户选择。当设定这些值后,须确认以保存并发送。除此之外,还要有编辑框形式的提示语句,以提示用户。在左侧的CONVERSERESOURCES的DIALOG中单击鼠标右键,添加DIALOG,则添加进一个对话框。如图9所示图9新建对话框将单选框、组合框、文本框、编辑框、按钮从控件栏中拖到对话框中,如图10所示图10添加控件设置属性将其分别命名,完成后界面外观如图11所示图11系统设置子界面对话框322程序设计通讯口选择要求用户从四个串口中选择一个,并将结果赋予主界面程序中的初始值。具体程序见附录。每个通信口对应的变量相关性设置程序为VOIDCSETDLGONRADIOBUTTON1/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERESETCOM1M_COM1SETCHECK1M_COM2SETCHECK0M_COM3SETCHECK0M_COM4SETCHECK0GETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择串口1作为接收热电转换电压和温度的通讯口“VOIDCSETDLGONRADIOBUTTON2/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERESETCOM2M_COM1SETCHECK0M_COM2SETCHECK1M_COM3SETCHECK0M_COM4SETCHECK0GETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择串口2作为接收热电转换电压和温度的通讯口“VOIDCSETDLGONRADIOBUTTON3/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERESETCOM3M_COM1SETCHECK0M_COM2SETCHECK0M_COM3SETCHECK1M_COM4SETCHECK0GETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择串口3作为接收热电转换电压和温度的通讯口“VOIDCSETDLGONRADIOBUTTON4/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERESETCOM4M_COM1SETCHECK0M_COM2SETCHECK0M_COM3SETCHECK0M_COM4SETCHECK1GETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择串口4作为接收热电转换电压和温度的通讯口“选择通信串口时,若未进行人为选择,则默认选择串口四,相应输出为“0001”。对输入进行查询,若选择COM1,则相应输出为“1000”,以此相同的方式依次进行查询。程序流程图如图12所示输入是否为空否输入否选择COM1选择COM2选择COM3输出为“0100”输出为“0001”输出为“0010”输出默认为”0001“输出为“1000”否否否是是是是图12串口选择程序流程图当光标位于波特率设置组合框上时,须向用户提供提示信息VOIDCSETDLGONSETFOCUSCOMBOBPS/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREGETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择接收数据的波特率,必须与下位机发送数据的波特率相同,否则无法正常接收,甚至会造成内存错误“当光标位于帧设置组合框上时,须向用户提供提示信息VOIDCSETDLGONSETFOCUSCOMBOFRAME/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREGETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“选择接收数据的祯格式“当串口、波特率和帧格式设置完毕以后,确认按钮要完成保存设置的功能,具体程序如下VOIDCSETDLGONOK/TODOADDEXTRAVALIDATIONHEREUPDATEDATATRUECCONVERSEDLGM_DLGCCONVERSEDLGAFXGETMAINWNDCSTRINGSTR_BPS/端口M_DLGM_PORTSETCOM/协议信息IFM_CTRLFRAMEGETCURSEL0M_DLGM_PROTOCALFORMAT“45字节格式“ELSEM_DLGM_PROTOCALFORMAT“19字节格式“/波特率信息M_CTRLBPSGETLBTEXTM_CTRLBPSGETCURSEL,STR_BPSCDIALOGONOK当点击“恢复默认值”时对参数选择默认参数,程序如下VOIDCSETDLGONBUTTONRESET/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERESETCOM1M_COM1SETCHECK1M_COM2SETCHECK0M_COM3SETCHECK0M_COM4SETCHECK0M_CTRLBPSSETCURSEL1M_CTRLFRAMESETCURSEL1UPDATEDATAFALSEGETDLGITEMIDC_EDIT_INTROSETWINDOWTEXT“已恢复为默认值“33系统监控子系统设计331外观设计系统监控子界面要求对28路热电小模块转换电压进行巡检,对传输线路的6个温度点进行测试采样并显示,还要整个对热电模块的总的输出电压和电流进行检测并显示、对DCDC转换的输出电压和电流进行检测并显示。点击检测按钮,则下位机开始将各路信号数据传送给上位机并显示在监控界面上。点击结束检测则下位机停止发送数据。在左侧的CONVERSERESOURCES的DIALOG中单击鼠标右键,添加DIALOG,则添加进一个对话框,将文本框、编辑框、按钮从控件栏中拖到对话框中,设置属性将其分别命名,完成后界面外观如图13所示图13热电监测子界面对话框332程序设计要把下位机的数据显示在编辑框中,就需要对编辑框进行设置,进行控件与变量的相关性设置。当点击“自动监测”按钮,则开始执行下位机与上位机之间的通信,将下位机传至上位机的数据赋予与各路信号编辑框所相关联的变量,这样就可将变量值显示于编辑框中。此外还要将时间显示在编辑框之中。根据监控系统所传输数据的字节数,我们才能选择正确的数据传输格式。在串行通信中,上位机与下位机之间的数据传输都是以帧的格式来传输的。数据帧是数据在网络上传输时的一个数据单元,在传输时,将若干帧数据打包进行传输。当接收方收到一个数据包,会将其解包,然后解读并验证数据,如果不是,会丢弃掉这个数据包,不会处理数据,如果是,那么就会处理数据,接收后面的数据包。一“包”数据由三部分组成包头、数据体、包尾。包头和包尾用来封装数据的,当规定好通信双方一包数据的长度后,接收方检测到帧包的数据,就会开始接收一包长度的数据,并对包尾进行检验,若包头和包尾都符合双方协议,则对数据体进行检验13。数据体中包含校验数据,将各实际传输的数据依次与前一个相异或最后得到的就是校验值。接收方接收到数据之后,就将数据体的各数据依次与前一数据相异或,将得到的结果与校验值相比较,若相同则说明数据传输正确,否则传输出错。在监控系统界面设计中,上位机要同时接收共42路信号数据,每路信号用一个字节来传输,再加上包头、包尾、校验数据各一个字节,可得本串口通信的帧格式应该为45字节帧。具体程序见附录。当点击“自动检测按钮”时运行程序如下VOIDCMONITORDLGONBUTTONAUTO/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREIFAUTOCHECKM_BUTTONAUTOSETWINDOWTEXT“停止“AUTOCHECKAUTOCHECKELSEM_BUTTONAUTOSETWINDOWTEXT“自动监测“AUTOCHECKAUTOCHECK当开始接收数据运行程序如下BOOLCMONITORDLGONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERE/初始化参数FORINTI0IM_PROTOCALLEFT2BITTEMPRESIZEARRAYNUM/最大化窗口SETWINDOWPOS/串口CLOSEHANDLEM_DLGHCOM/利用SERIALPORT类设置串口参数IFM_SERIALPORTINITPORTTHIS,M_DLGM_PORT,M_DLGBITFREQ,N,8,1,EV_RXFLAG|EV_RXCHAR,1024M_SERIALPORTSTARTMONITORINGM_BSERIALPORTOPENEDTRUEELSEAFXMESSAGEBOX“没有发现此串口或串口被占用“M_BSERIALPORTOPENEDFALSE/显示时间M_TIMER1SETTIMER1,1000,0RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSE接收数据后对数据进行校验,首先读取下位机发送数据的首字节,若为“0XAA”,则接收45字节数据;否则,读取下一字节,直到检测到“0XAA”,接收45字节数据。对接收的45字节数据最后一字节进行检测,若不为“0X55”,提示数据未接收完整;若为“0X55”则进行下一步校验。接下来检测校验位是否正确,检验位的算法为将各字节数据依次与下一字节相异或,把得到的数据与校验字节相比较,若不同,则提示校验出错;若相同,则将数据接收并显示于上位机上。运行程序流程图如图14所示接收45字节数据该字节是否为“0XAA”否读取首字节指针指向下一字节开始首字节为“0XAA”且末字节为“0X55”校验位是否正确接收该组数据将数据按序赋予相关变量显示提示校验出错提示数据未接收完整是否是是否图14数据接收校验程序流程图当点击“停止监测”按钮运行程序如下VOIDCMONITORDLGONCANCEL/TODOADDEXTRACLEANUPHEREIFAUTOCHECKAUTOCHECKAUTOCHECKKILLTIMER1M_SERIALPORTCLOSEPORT/SAVEERRORINFO/长时间运行会导致错误GETPARENTSHOWWINDOWSW_SHOWNORMALCDIALOGONCANCEL/显示时间14VOIDCMONITORDLGONTIMERUINTNIDEVENT/TODOADDYOURMESSAGEHANDLERCODEHEREAND/ORCALLDEFAULTGETLOCALTIMEM_TIME_ULTOASYSTIMEWYEAR,NN,10M_TIME“年“M_TIME_ULTOASYSTIMEWMONTH,NN,10M_TIME“月“M_TIME_ULTOASYSTIMEWDAY,NN,10M_TIME“日“IFSYSTIMEWHOURLOADICONIDR_MAINFRAMEVOIDCCONVERSEDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCCONVERSEDLG/NOTETHECLASSWIZARDWILLADDDDXANDDDVCALLSHERE/AFX_DATA_MAPBEGIN_MESSAGE_MAPCCONVERSEDLG,CDIALOG/AFX_MSG_MAPCCONVERSEDLGON_WM_SYSCOMMANDON_WM_PAINTON_WM_QUERYDRAGICONON_BN_CLICKEDIDC_BUTTON_MONITOR,ONBUTTONMONITORON_BN_CLICKEDIDC_BUTTON_SET,ONBUTTONSET/AFX_MSG_MAPEND_MESSAGE_MAP/CCONVERSEDLGMESSAGEHANDLERSBOOLCCONVERSEDLGONINITDIALOGCDIALOGONINITDIALOG/ADD“ABOUT“MENUITEMTOSYSTEMMENU/IDM_ABOUTBOXMUSTBEINTHESYSTEMCOMMANDRANGEASSERTIDM_ABOUTBOXASSERTIDM_ABOUTBOXAPPENDMENUMF_SEPARATORPSYSMENUAPPENDMENUMF_STRING,IDM_ABOUTBOX,STRABOUTMENU/SETTHEICONFORTHISDIALOGTHEFRAMEWORKDOESTHISAUTOMATICALLY/WHENTHEAPPLICATIONSMAINWINDOWISNOTADIALOGSETICONM_HICON,TRUE/SETBIGICONSETICONM_HICON,FALSE/SETSMALLICON/TODOADDEXTRAINITIALIZATIONHERERETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROLVOIDCCONVERSEDLGONSYSCOMMANDUINTNID,LPARAMLPARAMIFNIDDLGABOUTDOMODALELSECDIALOGONSYSCOMMANDNID,LPARAM/IFYOUADDAMINIMIZEBUTTONTOYOURDIALOG,YOUWILLNEEDTHECODEBELOW/TODRAWTHEICONFORMFCAPPLICATIONSUSINGTHEDOCUMENT/VIEWMODEL,/THISISAUTOMATICALLYDONEFORYOUBYTHEFRAMEWORKVOIDCCONVERSEDLGONPAINTIFISICONICCPAINTDCDCTHIS/DEVICECONTEXTFORPAINTINGSENDMESSAGEWM_ICONERASEBKGND,WPARAMDCGETSAFEHDC,0/CENTERICONINCLIENTRECTANGLEINTCXICONGETSYSTEMMETRICSSM_CXICONINTCYICONGETSYSTEMMETRICSSM_CYICONCRECTRECTGETCLIENTRECTINTXRECTWIDTHCXICON1/2INTYRECTHEIGHTCYICON1/2/DRAWTHEICONDCDRAWICONX,Y,M_HICONELSECDIALOGONPAINT/THESYSTEMCALLSTHISTOOBTAINTHECURSORTODISPLAYWHILETHEUSERDRAGS/THEMINIMIZEDWINDOWHCURSORCCONVERSEDLGONQUERYDRAGICONRETURNHCURSORM_HICONVOIDCCONVERSEDLGONBUTTONMONITOR/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSTRINGSTRPORTSTRPORTFORMAT“COMD“,M_PORTHCOMCREATEFILESTRPORT,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,/FILE_FLAG_OVERLAPPED,NULL/打开一个通讯端口IFHCOMINVALID_HANDLE_VALUEMESSAGEBOX“串口不存在或被其它应用程序占用“,“提示“,MB_OKRETURN/最小化主窗口/SHOWWINDOWSW_MINIMIZE/创建监控窗口CMONITORDLGDLGDLGDOMODALVOIDCCONVERSEDLGONBUTTONSET/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSETDLGM_DLGM_DLGDOMODALVOIDCABOUTDLGONOK/TODOADDEXTRAVALIDATIONHERECDIALOGONOK附录系统检测子界面程序清单CMONITORDLGCMONITORDLGCWNDPPARENT/NULL/CDIALOGCMONITORDLGIDD,PPARENT/AFX_DATA_INITCMONITORDLGM_TIME_T“/AFX_DATA_INIT/CSTRINGROOT_PATH/存储数据库的根目录/CSTRINGDB_PATH/数据库文件存储路径/CEVENTEVENTOBJFALSE,TRUEVOIDCMONITORDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCMONITORDLGDDX_CONTROLPDX,IDC_BUTTON_AUTO,M_BUTTONAUTODDX_TEXTPDX,IDC_EDIT_TIME,M_TIME/AFX_DATA_MAPDDX_TEXTPDX,IDC_EDIT_V1,V0DDX_TEXTPDX,IDC_EDIT_V2,V1DDX_TEXTPDX,IDC_EDIT_V3,V2DDX_TEXTPDX,IDC_EDIT_V4,V3DDX_TEXTPDX,IDC_EDIT_V5,V4DDX_TEXTPDX,IDC_EDIT_V6,V5DDX_TEXTPDX,IDC_EDIT_V7,V6DDX_TEXTPDX,IDC_EDIT_V8,V7DDX_TEXTPDX,IDC_EDIT_V9,V8DDX_TEXTPDX,IDC_EDIT_V10,V9DDX_TEXTPDX,IDC_EDIT_V11,V10DDX_TEXTPDX,IDC_EDIT_V12,V11DDX_TEXTPDX,IDC_EDIT_V13,V12DDX_TEXTPDX,IDC_EDIT_V14,V13DDX_TEXTPDX,IDC_EDIT_V15,V14DDX_TEXTPDX,IDC_EDIT_V16,V15DDX_TEXTPDX,IDC_EDIT_V17,V16DDX_TEXTPDX,IDC_EDIT_V18,V17DDX_TEXTPDX,IDC_EDIT_V19,V18DDX_TEXTPDX,IDC_EDIT_V20,V19DDX_TEXTPDX,IDC_EDIT_V21,V20DDX_TEXTPDX,IDC_EDIT_V22,V21DDX_TEXTPDX,IDC_EDIT_V23,V22DDX_TEXTPDX,IDC_EDIT_V24,V23DDX_TEXTPDX,IDC_EDIT_V25,V24DDX_TEXTPDX,IDC_EDIT_V26,V25DDX_TEXTPDX,IDC_EDIT_V27,V26DDX_TEXTPDX,IDC_EDIT_V28,V27DDX_TEXTPDX,IDC_EDIT_T1,T0DDX_TEXTPDX,IDC_EDIT_T2,T1DDX_TEXTPDX,IDC_EDIT_T3,T2DDX_TEXTPDX,IDC_EDIT_T4,T3DDX_TEXTPDX,IDC_EDIT_T5,T4DDX_TEXTPDX,IDC_EDIT_T6,T5DDX_TEXTPDX,IDC_EDIT_T7,T6DDX_TEXTPDX,IDC_EDIT_GAS_T,GAS_TDDX_TEXTPDX,IDC_EDIT_IN_T,IN_TDDX_TEXTPDX,IDC_EDIT_OUT_T,OUT_TDDX_TEXTPDX,IDC_EDIT_CONVESE_C,CONVERSE_CDDX_TEXTPDX,IDC_EDIT_CONVESE_V,CONVERSE_VDDX_TEXTPDX,IDC_EDIT_DC_C,DC_CDDX_TEXTPDX,IDC_EDIT_DC_V,DC_VBEGIN_MESSAGE_MAPCMONITORDLG,CDIALOG/AFX_MSG_MAPCMONITORDLGON_BN_CLICKEDIDC_BUTTON_AUTO,ONBUTTONAUTOON_WM_TIMERON_MESSAGEWM_COMM_RXCHAR,ONSERIALPORTCOMMON_EN_CHANGEIDC_EDIT_V1,ONCHANGEED
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西方媒体在政治中的作用试题及答案
- 小组学习软件设计师考试试题及答案
- 公共政策与社区参与的互动研究试题及答案
- 深入学习的软件设计师考试试题及答案
- 网络设备的选用与配置技巧与试题及答案
- 移动网络技术试题及答案
- 公共政策评估中的数据分析挑战考点及答案
- 环境政策的评价与公众反馈机制试题及答案
- 网络工程师考试复习资料试题及答案
- 机电工程政策法规试题及答案
- 五输穴的临床运用
- 基于增强现实(AR)体验式学习模式在小学英语情景教学中的应用
- 幼儿园游戏PPT中职学前教育专业完整全套教学课件
- 市场调查与分析考试试题
- 数据结构期末试题与答案
- 1吨串联中频炉原理技术与分析
- GB/T 5563-2013橡胶和塑料软管及软管组合件静液压试验方法
- 产品质量法-产品质量法课件
- 变更工程量清单汇总表
- 门护板设计指导书RYSAT012课件
- 实习安全教育(39张)课件
评论
0/150
提交评论