基于LabVIEW漏水检测监控系统的设计

时间:2023-09-25 09:55:03 来源:网友投稿

李能菲 常辉 黄琼 陈欣欢

【摘   要】   针对存放重要物品场所防漏水需求,基于LabVIEW设计并实现了漏水检测监控系统。分析泄露检测的基本原理,简要介绍串口通讯中常用的循环冗余校验并通过LabVIEW实现。按照漏水检测仪Modbus通信控制协议,实现了对漏水事件出现后的报警与泄露点的获取。所设计的监控程序具有较好的扩展性,对监控软件的设计具有一定的指导作用。

【关键词】   LabVIEW;
漏水检测;
循环冗余校验;
Modbus

Design of Water Leakage Monitoring System Based on LabVIEW

Li Nengfei, Chang Hui,* Huang Qiong, Chen Xinhuan

(Anhui Vocational and Technical College, Hefei 230011, China)

【Abstract】    Aiming at the demand of water leakage prevention for the places stored important items, a water leakage detection monitoring system is designed and realized based on LabVIEW software. The basic principle of water leakage detection is analyzed. The commonly used cyclic redundancy check (CRC) in serial communication fields is briefly introduced, and then implemented with the LabVIEW software. In accordance with the Modbus communication protocol of the water leakage sensor, the monitoring program enables access to alarm and locate the leak position if the leaking of events occur. The designed monitoring program has well scalability, which has a certain guiding role for other design of monitoring software.

【Key words】     LabVIEW; water leakage monitoring; cyclic redundancy check; Modbus

〔中图分类号〕  TP242.6             〔文献标识码〕  A              〔文章编号〕 1674 - 3229(2023)01- 0034 - 05

0     引言

从计算机机房、大型数据中心、档案室、历史博物馆到光学高精密无尘生产制造场所都存放着重要或珍贵物品,对物理存放空间要求很严格,必须杜绝漏水、漏油等潜在风险。另一方面,机房、大型数据中心以及历史博物馆等场所内一般装有中央空调、除湿机等,这些设备的排水管道不可避免地给存放空间带来隐患。此外这些场所还可能面临外部自来水管道以及雨水侵入的风险。因此漏水检测与监控是保障上述场所长期稳定运行的必要设施[1]。

目前,LabVIEW(Laboratory Virtual Instrument Engineering Workbench)作为一种图形化的开发环境,已经被广泛地应用在工业控制与监控、数据采集等各种领域[2]。LabVIEW开发环境集成了包括GPIB、VXI、RS-232和RS-485协议的硬件及数据采集通讯的全部功能[3],被视为一个标准的数据采集和测量仪器控制软件,尤其是LabVIEW中包含了丰富的曲线、图形显示控件,使得LabVIEW程序的开发效率非常高,进而大大提高应用程序的开发效率。

应某光学面板生产厂房漏水检测项目的需求,以定位型漏水检测仪LS-6301为硬件基础,设计并开发了基于LabVIEW的漏水检测监控系统。介绍了漏水检测的基本原理,采用Modbus协议编写了RS485通信程序,简要介绍了通信协议中循环冗余校验(Cyclic Redundancy Check 16)以及LabVIEW CRC16计算程序。所设计的程序结构简单、可扩展性强,能够满足实际应用需求。

1     漏水检测原理

本文使用的漏水检测仪是由一条检测液体泄漏的感应线缆和一个带定位报警的控制器构成[4]。感应线缆由4根(或2根)不同类型的导线组成,其中两根由导电聚合物加工而成,其单位长度阻值为定值。在无液体泄漏时,其中两根导线之间电流值为一恒定值;
当发生液体泄漏时,泄漏物会沾在感应线缆上,从而使得两根导电线缆的聚合物之间短路,进而使两根导线之间的电流值发生变化[5]。漏水检测仪的控制器通过检测电流值的变化来判断是否发生漏水等事件,当发生泄漏时控制器将漏水信息发送给终端用户,实现对漏水的检测。漏水检测由穿过内部基準电阻器监视电压来实现,如图1所示。其中,直流电源[U](通常5-9V)给感应线缆供电,感应线缆内部总电阻为[R],泄漏检测的基准电阻阻值为[r],当未发生泄露时,根据欧姆定律,此时基准电阻两端的电压[V1]。

[V1=U*r/(r+R)]     (1)

当发生泄漏时,比如当泄漏发生在位置[a]时,漏液将两根感应线短路,此时造成感应线缆内部总电阻[R]发生变化,降为[Ra],根据欧姆定律,发生泄露时基准电阻两端的电压变为[Va1]:

[Va1=U*r/(r+Ra)]     (2)

漏水检测仪控制器通过检测基准电压[V1]变为[Va1]时,会发出报警,实现泄漏报警功能;
同理,当泄漏发生在位置[b]或者[c]时,基准电阻两端的电压[V1]会变为[Vb1]和[Vc1],同样实现泄漏报警。

很多的应用场景,比如服务器机房、大型的精密光学生产车间等,不仅需要泄漏报警的功能,还需要知道泄漏点的具体位置,供快速消除隐患。泄漏点位置是通过感应电缆压降[V2](如图1所示)来确定的。当发生泄漏时,如泄漏点在位置[a],此时感应电缆[Va2]为:

[Va2=U*ra/(r+Ra)],     (3)

这里[ra]为感应电缆起始位置与泄漏点之间的阻值。可见,泄漏点不同,导致[V2]检测电压不同,通过标定后,使得检测电压[V2]与泄漏点离感应电缆端点长度一一对应,进而获取泄漏点的具体位置。

2     基于LabVIEW的漏水检测监控系统的实现

2.1   漏水检测仪简介

本文漏水检测是基于某公司定位型检测仪LS-6301进行设计开发的,其主要参数如表1所示,其检测漏水的长度最大为200米,检测精度不低于1米,漏水检测的响应时间不高于10秒。

基于LabVIEW的上位机监控软件与检测仪LS-6301通过RS485进行串口通讯,通信协议为Modbus RTU。通常,一个典型Modbus RTU消息帧依次包含设备地址(一般为一个字节)、功能代码(一般为一个字节)、具体参数(N个字节)和CRC16校验码(两个字节)[6-7]。在漏水检测监控系统中,上位机监控软件向控制器发送请求命令,控制器返回相应信息。LS-6301漏水控制器的主要功能码定义如表2所示。

2.2   CRC16简介及其LabVIEW实现

在编写LabVIEW漏水监控软件时,通信协议要求发送数据中包括两个字节的CRC16校验码,因此,需要对发送数据(由地址设备信息、功能代码与相应参数组成)的CRC16校验码进行实时计算,如何通过LabVIEW来实现CRC16是本监控软件系统设计的关键。CRC16也称为多项式编码,是一种检错效率高、原理简单的通信编码,是目前在数字通信领域应用最为广泛的一种检验方式[8]。在进行监控系统设计时,上位机(如监控计算机)按照校验协议计算出被传送数据的校验值,将其加上传送数据的末尾,下位机(如漏水控制器)同样对传送的数据进行校验计算,对得出的校验值与上位机传送过来的校验值进行比较,如果这两个CRC校验值不一致,则说明在发送或者接收过程中出现了差错,下位机要求上位机重新发送该数据。在计算CRC16校验码时涉及到CRC16的几个标准,本系统采用的漏水监控控制器使用的是CRC16_MODBUS标准,其对应的多项式为x16+x15+x2+1,其中x16、x15和x2表示该位为1,因此对于CRC16_MODBUS标准的多项式二进制数为:1 1000 0000 0000 0101,对应的十六进制数为0x8005。CRC16_MODBUS校验码可以通过以下方法/流程进行计算得出[9]。

(1)预置1个0xFFFF的CRC寄存器R;

(2)将协议中的设备地址(一个字节)、功能代码(一个字节)以及N字节的数据组成N+2个字节的校验数据D。首先取校验数据D中高8位二进制数据与16位的CRC寄存器R的低8位相异或后,结算结果赋给CRC寄存器R;

(3)然后将CRC寄存器R右移一位,同时将最高位补零,对右移后的最低位进行判断;

(4)如果最低位为0,则跳转到流程(3),即将CRC寄存器R再次右移一位;
如果最低位为1,则CRC寄存器与多项式十六进制数0xA001(对应二进制数1010 0000 0000 0001)进行异或,注意这里使用的是CRC的反向校验,即从高位向低位进行校验,0x8005高低位互换即为0xA001;

(5)重复流程(3)和(4),对8位数据全部进行处理;

(6)重复流程(2)到流程(5),对校验数据D的下一个字节进行处理;

(7)将待校验的数据D中所有字节按上述步骤全部计算完毕,最后对CRC寄存器R的高、低字节互换,即为该传送数据D的CRC16校验码。

按照上述方法,在LabVIEW中编写了一子VI程序用于实时计算CRC16校验码,相应的子VI程序框图如图2所示。输入参数为待校验数据以及长度,初始化CRC16校验码为0xFFFF,对应的十进制数为65536,首先取校验数据的高8位数据与0xFFFF进行异或操作,判断异或操作结果的最低位是否为1,如果为1,则对其右移一位,并将移位结果与40961(对应16进制0xA001)进行异或操作;
如果不为1,则对其右移一位,对每位数据进行相同的处理,最后将外层For循环移位寄存器数据的结果高低位互换,分别得出CRC16的高八位与低八位数据。

对LabVIEW程序设计的CRC16校验码进行测试,如图3(a),输入数据分别为01 04 00 02 00 01,共6个字节,计算得出的校驗码的高八位为10(对应十六进制为0x0A),低八位为144(对应十六进制为0x90),其结果与CRC(循环冗余校验)在线计算[10]的结果一致,如图3(b),表明所编写的CRC16校验码计算程序是正确的。

2.3   基于LabVIEW的漏水检测监控软件的设计实现

基于LabVIEW的漏水检测监控软件主要实现三个方面的功能。首先,读取是否有告警,并对告警信息进行处理,判断告警的种类。按照LS-6301硬件通讯协议,发送十六进制字节数组为01 04 00 02 00 01 90 0A,其中第一个字节为设备地址码0x01,04为读取当前告警的命令,最后两个字节90 0A为计算出来的CRC16校验码。图4给出了LabVIEW实现的获取报警功能的程序框图,发送完数据后等待10 ms,漏水检测仪收到上位机的信号后会回传当前漏水检测仪的状态。检测仪回传数据的第四个字节为状态信息,该字节的第四位代表的含义如下:bit0为1表示断线,bit1为1表示漏水,bit2为1表示维护,bit3为1表示硬件故障。将该字节与十六进制数0xF进行操作,实现对报警种类的解析,分别进行相应的处理。

如果判断为漏水状态时,可以通过发送十六进制数组命令01 04 00 04 00 01 70 0B来实现对漏水位置进行获取,其中0x70与0x0B为计算出来的校验码,等待10 ms后,读取当前漏水位置并显示,相应的程序框圖如图5所示。漏水检测监控LabVIEW软件的前面板界面如图6所示,界面上主要包括对设备串口号、波特率与数据位等参数的设置,实现对漏水检测仪器当前状态的提示以及漏水时具体位置的显示等。

3     结论

针对某面板公司的精密光学生产厂房的应用需求,基于LabVIEW设计并实现了漏水检测监控系统,分析了泄露检测仪的基本原理。简要介绍了串口通讯中常用的CRC16校验码以及LabVIEW实现,所实现的CRC16计算结果与在线网站计算的结果一致,表明所设计的校验码计算程序的正确性。按照某公司漏水检测仪通讯控制协议,编写了基于LabVIEW的泄露报警与泄露点获取的程序。本文设计的监控程序具有较好的扩展性,满足应用需要,对工业监控软件设计具有一定的指导作用。

[参考文献]

[1] 郭松梅,税爱社,郭虎,等. 基于合泰单片机的机房漏水检测装置设计[J]. 仪器仪表用户,2017,24(3):33-35.

[2] 陶苗苗.浅谈用LabVIEW软件辅助声速测量实验教学[J]. 廊坊师范学院学报(自然科学版),2015,15(4):59-60.

[3] 叶超,吉方,张日升,等. 基于LabVIEW分子泵运行状况实时监测系统设计[J]. 机床与液压,2017,45(10):131-134.

[4] 汪辉,宗福兴,陈帆,等. 机房漏水检测与精确定位装置研究[J]. 后勤工程学院学报,2013,29(5):81-87.

[5] 曹丽蓉. 离子加速器中水泄漏远程监测定位系统的应用研究[D]. 兰州:兰州大学,2010.

[6] 杨艳华,周永录,苏红军,等. 通用串口到Modbus RTU的协议转换器设计与实现[J]. 计算机测量与控制,2014,22(2):604-606.

[7] 王鹏宇,陈东阳,杨建飞. 基于单片机通信技术的多参数分布式显示系统的设计[J]. 廊坊师范学院学报(自然科学版),2017,17(3):53-56.

[8] 唐鹏程,邹久朋. CRC校验码在单片机中的程序实现及其冗余码表的求取[J]. 工业仪表与自动化装置,2004(3):55-57.

[9] 陈公兴,谷刚. 基于LabVIEW的CRC-16程序分析与实现[J]. 广东工业大学学报,2008,25(3):73-75.

[10] CRC(循环冗余校验)在线计算[EB/OL].http://www.ip33.com/crc.html.

推荐访问:漏水 监控系统 检测