APP下载

基于LabVIEW的温度监控系统软件设计

2016-01-19赖武光

科技与创新 2016年1期
关键词:软件设计数据采集

赖武光

摘 要:由于LabVIEW具有结构简单、界面良好、测量准确等优点,因此被广泛应用于监控领域。研究了基于LabVIEW的温度监控系统软件设计,即利用LabVIEW设计、开发了温度监控系统软件,将传感器测量到的数据通过数据采集卡存储到计算机中。研究结果表明,温度控制系统软件的设计和调试基本达到了预期的效果,可以满足工业测试的需要。

关键词:LabVIEW;温度监控;软件设计;数据采集

中图分类号:TP277 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.01.068

工业监控软件的开发一般有两种模式:①采用Visual Studio等开发平台,使用C、C++、Java等程序开发语言。此类开发平台功能丰富,软件运行效率较高,但开发时间较长。②使用组态王等组态软件,通过其内置的各种设备驱动、功能模块等,快速实现监控软件的开发。但不足之处是对于一些复杂功能的实现较为困难。而使用LabVIEW平台开发监控软件,能够弥补上述两种开发模式的不足,且整合了它们各自的优点,既能快速完成软件开发,又能实现各种复杂功能。

本文设计的温度监控系统软件,即基于LabVIEW平台,且借助Windows系统,实现对温度信号的实时监控。当系统检测到温度异常时,及时、准确地发出报警信号,提醒相关人员采取相应措施,避免事故发生或者扩大,确保企业的安全生产。该系统软件主要被应用于电力、石化、煤化工等行业的电力电缆、储罐、气化炉等重要区域或设备温度的实时监控。

1 软件构架

该系统软件采用模块化结构,主要包括应用层、数据库和接口层,具体如图1所示。

接口层包括数据采集接口、人机界面接口和输出接口。数据采集接口使用RS485通讯口,实时采集各种支持MODBUS、ASCII协议设备的数据,或者可以自定义通讯规约,与设备通讯;人机界面接口主要完成人机对话,响应用户的各种操作;输出接口包括USB、以太网、RS232/485接口,完成数据转发、信号输出、远程控制等。

2 软件设计

2.1 主程序设计

2.1.1 程序初始化

数据传输:系统数据交换设计使用DataSocket传输。该项技术既可以用作程序内部数据交换,又可以通过以太网对外发布。数据包括温度、温升、报警状态、设备状态、报警输出状态。

串口的初始化:调用TDS ComOpen.vi完成,实现串口号选择,波特率、数据位、停止位、奇偶检验的设置(默认9 600,8,1,N)。

数据库连接初始化:建立与数据库的连接,采用LabSQL软件包建立。数据源名ODBC为TDS2000DB,程序第一次运行自动生成SQL Server数据库。

系统配置:生成系统配置文件SystemConfig.ini,包括采集模块、控制模块、测温区域、采集对应、控制对应、区域描述和系统设置字段。

2.1.2 程序主循环

初始化完成后,进入数据采集模块、报警模块、事件模块和数据库模块,软件在此循环运行,直到用户退出。

2.1.3 退出系统

当退出系统时,保存用户当前的设置,关闭系统资源,比如串口、DataSocket和数据库等。

2.2 数据采集模块

数据采集模块由嵌套一个FOR LOOP循环的WHILE LOOP主循环构成。WHILE LOOP默认延迟200 ms,表示采样周期,可自定义。

2.2.1 温升计算

WHILE LOOP循环调用TDS Slope.vi对各通道的温度进行温升速率计算。计算时,采用线性拟合算法,如图2所示。

生成一维温升数组SlopeOut,写入dstp://hostname/Slope中,格式为:

模块1温升0,模块1温升1 …… 模块1温升7;模块2温升0,模块2温升1 …… 模块2温升7 …… 模块n温升0,模块n温升1 …… 模块n温升7.

2.2.2 系统时间

调用TDS SysTimeDate.vi,直接使用LabView自带的时间函数,在软件主界面显示当前系统时间,并计算安全运行天数和无故障运行天数。

2.3 报警模块

报警模块由一内嵌Case Structrue的WHILE LOOP组成,WHILE LOOP默认延迟 250 ms。

2.3.1 区域报警状态判断

Case Structure用于检查用户是否屏蔽了报警。如果没有,则调用 TDS Alarm.vi处理各监控区域的报警状态。基本算法为:将每一通道的温度、温升与用户设定值进行比较,如果温度、温升超过设定值,则执行报警。记录报警发生的时间、区域名称、测量值和设定值,发出短信提示。重复连续的报警,软件只触发一次。

2.3.2 手机短信报警

软件需支持无线手机短信报警功能,监控系统需配置无线模块,软件调用TDS TC35i.vi。此SUBVI通过RS-232口传送命令到西门子公司的无线模块TC35i,TC35i模块通过GSM网向用户指定的手机号码发送短信。

2.4 事件模块

事件模块由嵌套Case Structuret和Event Sturcture的WHILE LOOP循环构成,完成用户操作或软件自动触发等各类事件,包括主画面、温度棒图、实时曲线、历史曲线、报警查询、报表打印、运行起始时间、退出系统、分区图和菜单触发事件,且采用SubPanel技术调入需要显示的画面。

2.4.1 主画面

点击“主画面”按钮,软件响应“Mouse Up”事件,关闭SUBPANEL,切换到主画面。主画面显示各大区当前的最高温度、系统运行状态等信息。主画面设计如图3所示。

2.4.2 温度棒图

点击“温度棒图”按钮,系统调用TDS StickChart.vi到主界面的SUBPANEL,通过棒图形式显示各监控区域的实时温度;使用簇结构,自动获取簇结构各元素的句柄,同时显示区域提示信息。

2.4.3 分区电子地图

点击各测温区域的“分区图”按钮,系统将调用相应分区的SUBVI(文件名为“TDS ModelX.vi”),自动获取各测温区域的句柄,再对其分析运算,包括温度显示、报警状态和事件触发。

2.4.4 实时曲线和历史曲线

点击“实时曲线”按钮,系统调用TDS RTChart.vi,显示各测温区域的实时温度曲线。曲线调用Waveform Chart控件,数据通过DataSocket传送。为了使时间轴显示当前的系统时间,应在软件中加入时间属性。

点击“历史曲线”按钮,系统调用TDS HistoryCurve.vi,显示、打印各测温点的日、月历史温度曲线。曲线调用Waveform Garph控件。X轴以时间为单位,从00:00:00—23:59:59,步长为300 s,与采样周期对应。另外,需加入温度游标功能,移动游标可显示时间—温度值。

2.4.5 报警查询

点击“报警查询”按钮,系统调用TDS AlarmQuery.vi,查询、打印某时间段的报警记录。此VI由一内嵌Structure的WHILE LOOPEvent构成,既可查询某种类型的报警,又可按区域查询报警情况。

2.4.6 报表打印

点击“打印报表”按钮,系统调用TDS ReportPrint.vi,用以打印某时间段内的温度或报警记录。此VI由一嵌套Event STRUCTURE的WHILE LOOP构成。

2.4.7 系统设置

点击菜单栏上的“设置”选项,系统调用TDS Setup.vi进行采集、报警等信息设置。此VI由嵌套EVENT STRUCTURE的WHILE LOOP构成。

2.4.8 温度分析

点击“温度分析”选项,系统将调用TDS TempAnalyse.vi,对各区域温度进行日、月、年统计分析,包括最大值、最小值和平均值及其对应发生的时间。另外,对于年统计,还需加入图形显示功能,界面设计如图4所示。

此VI的关键在于需要分析所选的时间和区域,然后调出相应的温度数据,再加以计算。

2.5 数据库模块

此模块由嵌套一个FOR LOOP的WHILE LOOP构成。WHILE LOOP每次延迟5 min,即每隔5 min存储一次。FOR LOOP调用TDS DatabaseInsert.vi。此VI用INSERT INTO语句,存储数据由dstp://hostname/TT输入。

3 结束语

综上所述,很多工程技术人员希望能充分利用自己所掌握的工控知识快速开发满足用户需要的监控软件,利用LabVIEW强大的数据采集处理能力、丰富的图形控件、众多的功能模块、简便的编程方法,能很好地满足此类需求。本文详细介绍了基于LabVIEW的工业温度监控软件的设计,以期为工程技术人员编写监控软件提供参考。

参考文献

[1]姜平,冯雪,方亮.基于LabVIEW的温度控制系统设计[J].硅谷,2010(01).

[2]詹建国,潘翔伟.基于LabVIEW的温度采集系统的研究与开发[J].科技资讯,2010(15).

〔编辑:刘晓芳〕

猜你喜欢

软件设计数据采集
CAN总线通信技术在电梯监控系统中的应用
基于单片机SPCE061A的字幕机点阵式字母电子显示屏的设计制作
基于STM8S903K3的序列打螺丝夹具的软件设计
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究
一种VHDL语言代码重用的方法