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

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

3天内不再提示

基于Windows和RS-232接口实现建筑外窗保温性能检测系统的设计

牵手一起梦 来源:工程塑料应用 作者:李聪,李春梅 2021-04-05 14:50 次阅读

作者:李聪,李春梅,周志群,张瑞芳

1 概述

建筑耗能数量大,比例高,发达国家建筑用能比例一般为全国总能耗的30%~40%,所占能耗比重很大。在我国,建筑能耗占全社会总能耗的27.6%,而民用建筑能耗中住宅能耗占60%。与之对应,建筑节能潜力巨大。

建筑节能,冬季建筑外窗散热是一个大问题。国家标准《建筑外窗保温性能分级及检测方法》(GB/T8484―2002),要求检测建筑外窗的传热系数,判定建筑外窗的保温性能等级。检测标准中采用的检测设备如图1所示。

该装置是基于稳定传热原理,采用标定热箱法检测窗户保温性能。试件一侧为热箱,模拟采暖建筑冬季室内气候条件,另一侧为冷箱,模拟冬季室外气候条件。在对试件缝隙进行密封处理,试件两侧各自保持稳定的空气温度、气流速度和热辐射条件下,测量热箱中电暖气的发热量,减去通过热箱外壁和试件框的热损失,除以试件面积与两侧空气温差的乘积,即可计算出试件的传热系数K值(K值为在稳定传热条件下,外窗两侧空气温差为1℃,单位时间内通过单位面积的传热量以W/(m2·K)计。试件传热系数K值按下式计算:

式中:Q为电暖气的发热功率;M1△θ1为热箱外壁的热损失;M2△θ2为试件框的热损失;S·Λ·△θ3为填充板的热损失;A为试件的面积;△t试件两侧的温差。

2 系统硬件结构

国标中要求热箱空气温度的设定范围为18℃~20℃,冷箱空气温度的设定范围为-19℃~-21℃,所以装置中需要两台温度控制仪表,分别用来控制热室和冷室内的温度。另外,检测过程中需要用到多个温度测点的温度值和电暖气的加热功率,故装置中还需要一台32路温度巡检仪表和一台功率计。以上智能仪表作为整个测控系统的从机部分,主机部分为通用微型计算机,两者通过半双工RS-232/RS-485标准总线接口通信,采用双绞线进行信号传输。在这种系统结构下,作为下位机的智能仪表完成测量控制功能,便于快速构造系统并保证测控精度。

由于从机部分的仪表较多,并且通信协议和通信接口不一致,故系统采用多串口通信。功率计为RS-232接口,故单独为其分配一个串口;32路温度巡检仪和两个温度控制仪为RS-485接口,而PC一般只有RS-232接口,需要RS-232/RS-485接口转换器。系统的总体硬件框图如图2所示。巡检仪按国家标准外接的温度传感器采用铜一康铜热电偶,要求的温度测点很多,所以同类温度测点的热电偶可以并联。具体装置尺寸及材质、热箱外壁和试件框热流系数标定、试件框的面积划分、温度测点的分布、热电偶的筛选和校验等详细要求请参见有关国家标准。

3 系统软件结构

系统软件总体框图如图3所示。它充分利用了Windows系统允许多进程、多线程的编程特点,开辟了两个线程;还利用了VC++的面向对象的设计思想,把有关的数据结构及其操作完全封装类中。系统主要实现的功能有下位机数据采集、主界面显示、实时曲线显示、数据存储、历史曲线显示、检测结果测定、检测报告和历史报告记录的浏览及打印、数据库清理及维护等。

3.1多线程

系统软件的进程分成两个线程:主线程(用户界面线程)和通信线程(辅助线程)。主线程定时启动通信线程,通信线程执行完一次通信任务后挂起。主线程能够提供界面和用户交互,通常用于处理用户输入并响应各种事件和消息,而通信线程主要用来进行上位机与下位机之间的通信。主线程由AppWizard生成,下面主要介绍通信线程的设计。

要创建一个线程,需要调用函数AfxBeginThread。该函数因参数重载不同而具有两种版本,分别对应辅助线程和用户界面线程。无论是辅助线程还是用户界面线程,都需要指定额外的参数以修改优先级、堆栈大小、创建标志和安全特性等。函数AfxBeginThread返回指向CWinThread类对象的指针。同样,在CMain-View的构造函数中调用AfxBeginThread函数:

在启动通信线程之前,必须为线程的主程序编写一个全局函数。这个函数应该返回一个UINT,它应该以一个32位值(声明为IPVOID)作为参数。在启动线程的时候,可以使用这个参数来传递任何东西,在AfxBeginThread函数中传递的是this->GetDocument()(文档类的指针),这样就可以在辅助线程中使用文档类的数据。在辅助线程中,要采集下位机数据,然后挂起线程,等待定时器OnTimer函数恢复线程。

3.2串口通信

辅助线程的主要工作是PC通过串口采集下位机数据,PC机的Windows操作系统不提倡应用程序直接控制硬件,而是通过Windows操作系统提供的设备驱动程序来进行数据传递。基于上述特点,结合本系统多串口通信的特点,使用Visual C++6.0集成开发环境下封装好的串口类CSerialPort来设计串口通信。本系统使用两个串口,串口3用于与功率计之间的通信,串口4用于与巡检仪及温控仪之间的通信。

从机通信协议以巡检仪为例简述如下:波特率设置为2 400 bit/s,帧格式为1个起始位,8个数据位,1个停止位。巡检仪采用ASCII码传输,其下传命令帧格式如表1所示,仪表返回数据帧如图4所示。每个通道的测量值为16位二进制,最高位为测量值的符号标志位,1为负,0为正。接收到返回数据后,在程序中按照协议对其进行相应的处理。

使用CSerialPort类实现双串口通信,先要在对象所有者窗口类头文件(.H)中声明两个CSerialPort的对象,然后调用该类的InitPort函数(主要完成串口号选择、波特率设置等串口的初始化设置),并启动监视串口的工作线程。之后串口接到数据后,会以消息的形式发送到串口的所有者窗口中,只要在该窗口中加入对这些消息的响应即可。

数据发送可以使用CSerialPort::WriteToPort(char*string)函数,鉴于本系统中的通信协议都采用BYTE数据类型进行传送,故把该函数修改为Serial-Port::WriteToPort(BYTE bWriteBuffer[],int nWfite-BufferSize),bWriteBuffer[]为要发送的数据,nWfite-BufferSize为要发送的字节个数。

数据接收需要添加消息响应函数,首先要在对象所有者窗口类头文件(.H)中加入串口接收的响应函数声明。由于没有自动的消息映射机制,必须在消息映射机制的标志处手工添加:

然后在该窗口类的CPP文件中添加消息映射:

ON_MESSAGE(WM_COMM_RXCHAR,OnCommunication)

最后加入消息处理函数OnCommunication,在其中进行相应的接收数据处理即可。

3.3其他部分

系统除了基本测试功能的设计外,还增加了数据存储、历史数据的查询、检测报告的打印等功能。

3.3.1数据库

ODBC(开放式数据库连接)为不同的数据库资源提供一个标准接口,是目前Windows应用程序中应用最广泛的数据接口,已经成为工业标准。为了方便ODBC使用,MFC针对ODBC原始的简单的函数型API,建立了一些抽象类:CDatabase、CRecordset和CRecordView,分别用来支持数据库、记录集和记录视图。MFC的ODBC类与数据库的关系如图5所示。

本系统数据库中建立了实时数据、历史数据和检测结果3张表,故相应用到3个CRecordset的派生类,通过这些派生类的对象调用类中的成员函数,即可进行数据的添加、编辑、删除、查询等操作。

3.3.2打印

如果单纯使用Windows的API函数来实现打印任务,程序的编写将会变得非常繁琐,而利用MFC提供的打印和打印预览的应用程序框架将会使打印任务难度大大降低。要有效使用打印的话,必须理解函数调用的顺序以及知道哪个函数需要被重载。

1)打印机的设备环境和OnDraw()函数

当程序在打印机上打印的时候,它使用了一个CDC类的设备环境对象。这个对象由应用程序框架构造,并把它作为参数传递给视图的OnDraw函数。如果应用程序要将显示结果在打印机上打印出来,OnDraw()函数便担负着双重任务。如果正在显示,OnPaint函数便调用OnDraw,并且设备环境是显示器环境。如果正在打印,OnDraw由另一个CView虚函数OnPrint调用,用一个打印机设备环境作为参数。

2)CView::OnPrint函数

从上面可以看到,基类的OnPrint函数调用OnDraw函数,并且OnDraw函数既可以使用显示器设备环境,也可以使用打印机设备环境。在调用OnPrint函数之前,将会设置映射模式。可以重载OnPrint函数来打印那些未显示的项目,诸如标题、页码等。在重载的OnPrint函数中,可以选择不调用OnDraw函数,来支持打印逻辑,这样就使打印逻辑与显示逻辑分开。

4 系统功能及其实现

系统功能较多,下面主要介绍主界面、测量界面功能的实现。

4.1主界面

国标规定热箱中温度波动幅度不大于0.1℃,冷箱中温度波动幅度不大于0.3℃,并且上述温度的波动不再是单向的,才表示传热过程稳定,然后方可进行后续的测量,所以设定系统运行后的主界面如图6所示。图中,左侧实时显示热箱、冷箱、试件框等温度测点的温度值,右侧绘制热箱内温度、冷箱内温度和供电电压的曲线,具体某一点的数据还可以通过时间游标来查看,并且在后台程序中对国标所要求的温度条件进行判断,如果满足,则弹出消息框给出提示,便可进入其他界面进行下一步的检测。

4.2测量界面

传热过程稳定之后,每隔30 min测量一次参数:电暖气加热功率、热箱空气平均温度、冷箱空气平均温度、热箱外壁内外表面面积加权平均温度之差、试件框热侧冷侧表面面积加权平均温度之差和填充板两表面的平均温差,共测6次。测量界面设计如图7所示。进入该界面后将每隔30 min自动测量一次上述参数,测量完毕后将弹出消息框给出提示。设计中为了实际检测方便,增加了“手动测量”按钮,点击一次该按钮将测量一次。测量完毕后点击“计算结果”按钮,将进行参数求平均并计算检测结果。另外,根据用户需要增加了打印当前数据的功能,点击后进行各参数及检测结果的打印。测量完毕后,点击“报告编辑”即进入检测报告编辑界面,进行报告编辑及榆测记录保存等操作。

5 结束语

本文介绍了建筑外窗保温性能检测系统的组成,并在Visual c++6.0平台下实现了多串口通信、实时曲线绘制、数据库操作等功能。实际应用中表明,该检测系统操作方便,界面简洁直观,检测过程稳定,检测结果准确可靠,具有很强的实用价值。考虑到成本及产品化的要求,温度测量与控制功能也可通过设计专用的仪表实现,有关工作目前正在进行。

责任编辑:gt

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

    关注

    33

    文章

    8596

    浏览量

    151147
  • 检测系统
    +关注

    关注

    3

    文章

    954

    浏览量

    43044
收藏 人收藏

    评论

    相关推荐

    含USB和RS-232接口的鼠标电路图

    具有USB和RS-232接口的鼠标电路图
    发表于 09-17 19:31 3523次阅读
    含USB和<b class='flag-5'>RS-232</b><b class='flag-5'>接口</b>的鼠标电路图

    RS-232标准介绍

    (1)  RS-232的历史和作用在串行通讯时,要求通讯双方都采用一个标准接口,使不同  的设备可以方便地连接起来进行 通讯。  
    发表于 10-21 00:30

    RS-232接口协议深度剖析

    标准的 RS-232 接口有 25 根信号线,其中有 4 根数据线、11 根控制线、3 根定时线和 7根备用线。通常情况下,使用 25 根信号线中的 9 根就可以实现 RS-232
    发表于 10-17 09:44

    RS-232RS-485RS-422接口的智能转换器设计

    -422通信网络的分布式系统。 为了克服上述缺点,同时考虑到RS-232接口的自身特点,我们设计了一种小巧的、无须外部供电的智能收发转换器,实现RS
    发表于 06-18 05:00

    如何利用RS-232接口实现与计算机实时通信?

    本文的点阵LED显示系统以单片机89C51为基础,加以外围电路,利用RS-232接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方式和速 度的显示。
    发表于 06-03 06:26

    RS-232/RS-422/RS-485接口标准

    RS-232/RS-422/RS-485接口标准 RS-232RS-422与
    发表于 04-12 14:34 141次下载

    AT89S52与RS-232接口电路

    AT89S52与RS-232接口电路 图5 AT89S52与RS-232接口电路 单片机采用AT89S52
    发表于 03-07 09:37 3049次阅读
    AT89S52与<b class='flag-5'>RS-232</b>的<b class='flag-5'>接口</b>电路

    RS-232接口功能的解释-RS-232 Features

    Abstract: RS-232 features are explained in a way that makes it easy to select an appropriate RS-232
    发表于 04-24 16:41 3793次阅读
    <b class='flag-5'>RS-232</b><b class='flag-5'>接口</b>功能的解释-<b class='flag-5'>RS-232</b> Features

    RS-232 接口,RS-232 接口是什么意思

    RS-232 接口,RS-232 接口是什么意思 电缆长度限制 RS-232的最初标准建议将电缆长度限制在50 ft以内,对于≤20 00
    发表于 03-09 10:57 6.2w次阅读

    工业RS-232接口总线原理与应用方案

    RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232
    发表于 12-27 13:54 2102次阅读

    基于RS-232的数据采集系统设计

    基于RS-232的数据采集系统设计
    发表于 04-20 09:27 16次下载

    RS-485与RS-232232-C接口相比有何特点

    的“-C”只不过表示RS-232的版本,所以与“RS-232”简称是一样的)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
    发表于 04-12 15:44 3565次阅读

    3PEAK 高性能接口电路:RS-232RS-485收发器

    3PEAK 高性能接口电路:RS-232RS-485收发器 接口电路介绍: 3PEAk公司提供了一系列RS-232
    发表于 04-30 16:47 5753次阅读

    RS-232接口实现串口数据传输的点对点通信设计

    单片机在控制本地的外围期间时,信息的交互是通过8位并行数据总线进行的,但是在较大规模的现代控制系统中,单片机还需要控制远端的设备,可以利用单片机的串行通信模块,在学习了RS-232串口通信的原理和时序后,学习了利用RS-232
    发表于 03-03 15:19 3757次阅读
    <b class='flag-5'>RS-232</b><b class='flag-5'>接口实现</b>串口数据传输的点对点通信设计

    RS-232接口——简单明了

    RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,全称是EIA-RS-232(简称232
    发表于 12-20 19:18 4次下载
    <b class='flag-5'>RS-232</b><b class='flag-5'>接口</b>——简单明了