基于LabVIEW的虚拟仪器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于LabVIEW的虚拟仪器

*

刘娜 / 辽宁机电职业技术学院

摘 要 介绍在LabVIEW 软件平台设计虚拟温湿度大气压仪的过程。在软件环境中,通过使用Modbus 通信协议和RS485通信接口,采集温湿度大气压仪的相关数据,并对数据进行管理和显示。文中给了硬件连接示意图、数据采集时温湿度大气压变送器模块串口通信参数的设置,并详细阐述了在软件平台上实现温湿度大气压参数的设置方法,分析了虚拟仪器可视显示界面设计过程,并给出了虚拟仪器的软件流程图。

关键词 LabVIEW ;温湿度大气压变送器;指示仪;Modbus

0 引言

温湿度大气压指示仪(以下简称指示仪)是基于RS485 接口符合Modbus 协议的温湿度大气压力变送器模块设计而成。该模块是北京某公司生产的HD3213M。基于

LabVIEW 软件较少,国内目前对此类模块的数据管理一般都采用高级语言或组态软件制作上位机管理程序。本文阐述该模块与计算机硬件连接方法,在LabVIEW 平台上如何实现指示仪各种参数的采集及管理。

1 指示仪的硬件原理

1.1 HD3213M 模块与计算机硬件接线

计算机管理指示仪,经常采用串行口通信,主要有S232、RS422、RS485等多种接口标准。指示仪的连接如图1

所示。

1—计算机;2—RS232与RS485转换模块;3、4、5—温湿度大气压力变送器模块

图1 计算机与温湿度大气压力变送器模块接线图

指示仪的数据使用RS485总线进行传输,再通过RS232与RS485电平转换装置进入计算机,再由

LabVIEW

管理这些数据。1.2 HD3213M 模块原理

温湿度大气压力变送器接线如图2所示。

1(A)—RS485 串行通信A; 2(B)—RS485 串行通信B;3(G)—直流电源公共端;4(V)—直流电源正极输入端;5(X)—外部传感器信号1;6(Y)—外部传感器信号2;7(P)—外部传感器电源输出

图2 温湿度大气压力变送器接线

模块内部集成了高精度的大气压力传感器和温湿度传感器。压力传感器测量范围300~1 100 hPa;压力传感器准确度:±4 hPa。湿度传感器测量范围:0~100%RH、湿度传感器准确度:最高可达到±2.0%RH。温度传感器测量范围:-20~65 ℃;温度传感器准确度:最高可达到±0.3 ℃。还提供两路多功能外部传感器接口,可以通过配置作为两路温度传感器接口[1-2],或配置作为1路温湿度传感器

接口和1路温度压力传感器接口。

模块内部完成温度、湿度、压力计算,可以直接读出温度值、相对湿度值、压力值。1个完整检测周期为2 s [3]。温度、湿度、大气压参数采用标准Modbus RTU 通信协议和RS485串行接口传输到计算

* 基金项目:辽宁机电职业技术学院教研课题(JYLX2017029)

机上,利用LabVIEW 软件平台对这些参数进行采集、显示、控制。最终形成计算机自动控制系统[4]。1.3 HD3213M 模块通信参数设置

模块通信参数设置如表1所示。

2 HD3213M模块参数读写实现原理

Modbus 是由莫迪康(施耐德电气旗下的一个品牌)在1979年发明的,现广泛应用于当今工业控制现场。通过此协议,控制器之间、或控制器经由网络可以和其他设备进行通信。Modbus 协议使用的是主从通信技术,一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。Modbus 通信物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口[5]。2.1 模块参数数据格式

模块参数数据格式如表2所示。

2.2 模块参数数据发送Modbus 功能包

说明:指示仪设备地址为28(十六进制),读数据功能码为04,数据单元寄存器起始地址为0003,数据寄存器个数为4(分别为:内置温度值、内置大气压值、外置温度值、外置湿度值),校验码(十六进制)为

0630H。

2.3 模块参数数据接收Modbus 功能包

表4 模块参数数据接收Modbus 功能包表

说明,参数单元数据内容包括:内置温度值=0102(H)=258(D)=258(D)/10=25.8 ℃、内置大气压值

=273E(H)=10046(D)=10046(D)/10=1004.6 HR%、外置温度值=00F2(H)=242(D) = 242(D)/10=24.2 ℃、外置湿度值=0161(H) =355(D)= 355(D)/10=35.5 HR%。

3 指示仪软件设计

3.1 指示仪程序流程图

主程序流程图如图3

所示。

图3 指示仪程序流程图

3.2 指示仪前面板设计

指示仪前面板如图4所示。包括:日期、时间、星期、大气压显示、外置湿度数字显示和仪表显示、外置温度和内置温度数字显示和温度计显示。运行退出按钮、串口选择对话框、窗口标题选择按钮等。

图4 指示仪前面板图

3.3 指示仪程序设计

指示仪程序设计如图5所示。主要包括:VISA 配置串口 VI、VISA 写入(函数)、VISA 读取(函数)、VISA 关闭(函数)、索引数组(函数)、截取字符串

(函数)、字符串至字节数组转换(函数)、获取日期/时间函数、格式化日期/时间字符串函数等函数组成。

3.3.1 指示仪VISA 配置串口函数

VISA 串口配置函数图如图6所示。

作用:VISA 串口配置VI 使VISA 资源名称指定

的串口按特定设置初始化。与表1相对应。3.3.2 指示仪数据写入与读取程序

数据写入与读取程序如图7所示。

(1)VISA 写入:使写入缓冲区的数据写入VISA 资源名称指定设备或接口。写入数据编码格式与表3

一致。

图5 指示仪程序图

图6 指示仪VISA 串口配置函数图

(2)VISA 读取:从VISA 资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。读取的数据格式与表4

一致。

图7 指示仪数据写入与读取程序图

3.3.3 指示仪数据处理程序

以内置温度处理为例,程序如图8

所示。

图8 指示仪数据处理程序图

数据处理过程:

(1)通过VISA 读取的Modbus 数据包,进入到

索引数组,即:返回n 维数组在索引位置的元素或

子数组。数据包格式如表4,为40 04 08 01 02 27 3E 00 F2 01 61 D9A5。

(2)利用截取字符串函数(作用:返回输入字符串的子字符串,从偏移量位置开始,包含长度13个字符)。从第3个字节开始的2个字节为内置温度值,“01 02”为内置温度值的十六进制数字符。

(3)利用字符串至字节数组转换函数(作用:使字符串转换为不带符号字节的数组),将内置温度值的十六进制数字符转换为数组。

(4)利用索引数组、乘法、加法、除法等函数,将内置温度值的十六进制数组转换成十进制温度值。3.3.4 指示仪日期、时间、星期程序

日期、时间、星期程序如图9

所示。

图9 指示仪日期、时间、星期程序图

通过获取日期/时间(秒)函数、格式化日期/时间字符串函数、数值显示函数来实现日期、时间、星期的显示。获取日期/时间(秒)函数,作用:

返回当前时间的时间标识。通过自1904年1月1日星期五12:00 a.m.(通用时间)以来的秒数计算时间标识,并将时间标识的值转换为精度较低的浮点数。格式化日期/

时间字符串函数,作用:过时间格式

s

(下转第17页)

相关文档
最新文档