基于LabVIEW的小型冷库监控系统
2021-01-18马志艳杨磊石敏张徐康
马志艳,杨磊,石敏,张徐康
1. 湖北工业大学农业机械工程研究设计院(武汉 430068);2. 湖北省农业机械工程研究设计院(武汉 430068)
冷库作为食品冷链物流的节点与重要组成部分[1],以人工制冷的方式延长食品的保质期,被广泛应用于水产、果蔬、肉类等食品的贮藏。随着冷链物流的快速发展,冷库需求量逐步增长,我国冷库自动监控技术发展较晚,造成了大量的变质食品、运行成本、能源消耗[2-3]。自动监控下的冷库能使温度、压力等工况数据处于安全范围内,控制精度更高、食品贮藏质量更高、运行成本更低、能源消耗更少[4]。传统的冷库监控方式自动化与信息化程度低,人工成本大,而且不利于管理。虚拟仪器技术因其充分利用计算机的处理能力,具有人机交互界面友好、功能库丰富等特点[5],为冷库监控技术提供了很大的便利。
该文在LabVIEW软件平台上开发了一套小型冷库监控系统,实现了温度、压力、流量、耗电量等冷库运行工况数据的自动显示、报警、存储以及远程监测等功能的设计,以电子膨胀阀为例,进行了控制方法的改进。
1 系统总框架设计
1.1 系统平台总成
试验冷库的体积为5 m×2.8 m×2.5 m,库内设计目标温度为-18 ℃,5个温度测点分别为库内温度、库外温度、蒸发器出口温度、压缩机吸气温度、压缩机排气温度,3个压力测点分别为蒸发器出口压力、压缩机吸气压力、排气压力,质量流量测点为电子膨胀阀出口流量,耗电量测点分别为压缩机耗电量、融霜装置耗电量、冷库总耗电量,控制的工况数据为库内温度、电子膨胀阀开度。监控主机为研华PPC 3210S工控机,从机模块有DAM-PT16温度采集模块、DAM-8AI模拟量采集模块、功率采集模块、SANHUA 601-R4电子膨胀阀控制器,从机模块挂载在RS485集线器的串行总线上,监控系统平台总成如图1所示。
监控系统基于LabVIEW平台开发,监控主机与各从机模块按照Modbus协议[6]进行通信,系统不仅能接收用户指令,如强制写入电子膨胀阀开度、历史数据查询等,还能对压力、温度、压力、流量耗电量等工况数据进行本地采集、显示、动态曲线分析、存储、报警以及自动控制电子膨胀阀等。除此之外,工况数据还由本地监控系统传输至OneNET服务器[7],方便用户通过电脑、手机等终端进行远程监测。
1.2 系统软件总框架
为满足冷库监控系统的功能需求,将监控系统软件划分为4个模块,即工况数据采集模块、本地数据库模块、远程数据发送模块、电子膨胀阀控制模块。其中,电子膨胀阀控制模块内嵌于工况数据采集模块。系统的设计框架主要采用生产者/消费者架构[8],生产者为工况数据采集模块、电子膨胀阀控制模块,消费者为本地数据库模块、远程数据发送模块,模块之间通过队列属性完成数据流的有序传输,系统软件设计流程图如图2所示。打包并存储于数据库中,供用户查询历史数据。远程数据发送模块对出列的数组按照MQTT协议[9]封装打包,写入4G DTU模块串口,发送至OneNET云平台,完成冷库工况数据的远程监测。
2 系统软件实现
2.1 工况数据采集模块
工况数据采集模块采用传输效率更高的Modbus/RTU传输模式,开发工具为Modbus工具包,相关函数能返回十进制的寄存器内容,无需手动进行报文的差错效验。Modbus通信协议规定了请求报文与响应报文的结构,如表1和表2所示。监控主机需先向各从机模块轮流发送请求报文,为满足一主多从的通信要求以及尽可能减少后面板使用空间,主从通信的实现放置在层叠式顺序结构中。
表2 从机的响应报文结构
作为生产者的工况数据采集模块、电子膨胀阀控制模块,实现主从机之间轮流通信、解析后,完成实时显示、动态曲线分析、报警、控制电子膨胀阀等功能,并将数据流传递给消费者。本地数据库模块对生产者入列的数组进行出列操作后,将工况数据按格式
主机收到从机模块的响应报文后,通过数组索引、符号类型、量程、精度等操作对报文进行解析,并将监测点的工况数据显示在前面板,还可以通过图表控件显示工况数据的动态曲线,以便操作人员进行实时分析,冷库本地监控系统主界面如图3所示。利用数组插入、入列等相关操作对工况数据进行数组入列,将工况数据流传递给本地数据库模块与远程数据发送模块。
图3 本地监控系统主界面
考虑到冷库运行工况数据异常带来的不良影响,通过设置布尔灯的属性节点控制布尔灯闪烁,提醒工作人员做出相应的调整措施。布尔灯显示为绿色,表示工况数据正常;布尔灯出现“蓝绿交替闪烁”,表示工况数据过低;布尔灯出现“黄绿交替闪烁”,表示工况数据过高。
2.2 本地数据库模块
本地数据库模块使用LabSQL技术,通过Microsoft ADO和SQL语言实现Access数据库[10]的访问。工况数据写入数据库前,在平铺式顺序结构依次建立Access数据库路径、连接数据库、建立表头,对出列的数据经过数组索引、数据类型转换、打包后,将数据包写入数据库,某段时间内本地数据库存储情况如图4所示。除此之外,为方便用户查询历史数据,本地数据库模块还设计了历史数据查询功能,程序框图如图5所示。
2.3 远程数据发送模块
远程数据传输采用流量消耗少、网络质量要求低的MQTT通信协议,远程接收端为OneNET开放服务器。向服务器发送数据前,本地监控系统需向OneNET服务器发送连接请求登录虚拟设备,连接请求报文结构包含3部分[11]:固定报文头、可变报文头、有效负载,报文结构如表3所示。其中固定报文头包括报文头、剩余报文字节数,有效负载包括设备、产品、鉴权信息描述,其它为可变报文头所含内容。
配置好OneNET服务器的IP与端口号后,在平铺式顺序结构的第一帧,将打包好的连接请求报文写入4G DTU模块的串口,OneNET服务器接收到连接请求后,将效验设备、产品、鉴权信息等相关信息登录虚拟设备。本地监控系统接收到OneNET服务器发送的登录成功响应报文后,还需向服务器发送数据传输报文,数据传输报文包含3部分:固定报文头、可变报文头、有效负载,如表4所示,其中固定报文头包括报文头、剩余字节数,可变报文头包括主题信息、报文标识符、数据点类型,其它为有效负载所含内容。
图4 本地数据库
图5 历史数据查询功能程序框图
表3 连接请求报文结构
表4 数据传输报文结构
在层叠式顺序结构的第二帧中,对出列的数据进行16进制转换、封包等处理,将数据传输报文写入4G DTU模块的串口,OneNET服务器对报文进行解析后,实时刷新数据点的状态。OneNET开放平台提供了可视化工具组件库,通过设置数据流、刷新频率、编辑样式等属性,用户在电脑或者移动终端对冷库工况参数进行直观的监测,手机端OneNET远程监测界面如图6所示。
图6 手机端OneNET远程监视界面
2.4 电子膨胀阀控制模块
冷库蒸发器出口处过热度控制的好坏不仅影响蒸发器的换热效率,而且对冷库制冷系统运行的安全性具有重要意义[12]。过热度是一个时变、非线性的被控对象,相较于常规PID控制,模糊控制在解决此类问题上有一定的优势[13]。电子膨胀阀控制模块采用Fuzzy control工具包实现,电子膨胀阀控制器提供了写入开度的功能,可通过Modbus通信协议调节电子膨胀阀开度。蒸发器出口处过热度设定值为6 ℃,模糊控制器的输入量为过热度偏差e、偏差变化率ec,电子膨胀阀开度u作为模糊控制器的输出量,电子膨胀阀开度的变化引起过热度的变化,从而构成过热度闭环控制回路。
经过反复试验,e和ec的实际论域分别为[-6,6]和[-1,1],模糊化后的语言变量分别为E和Ec,E和Ec的模糊论域分别为[-3,-2,-1,0,1,2,3]和[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6],模糊语言集合均为{NB,NM,NS,ZO,PS,PM,PB},隶属度函数均选用两边S型、中间三角形的隶属度函数;电子膨胀阀开度u实际论域为[0,100],模糊化后的模糊语言变量为U,模糊论域为[0,1,2,3,4,5,6],模糊语言集合为{NB,NM,NS,ZO,PS,PM,PB},采用重心法进行去模糊化处理,隶属度函数选用两边S型、中间三角形的隶属度函数。根据Mandani推理法以及控制规则的设计原则,结合实际控制经验,设计了49条控制规则,如表5所示。为方便操作人员设计自己的模糊控制系统文件与现场调试,将量化因子、比例因子、开度以及字符串格式的模糊控制系统文件名称作为输入控件。
表5 模糊控制表
3 系统运行试验
为验证监控系统的可靠性与稳定性,通过开启冷库门的方法进行热负荷试验。试验前,将库内温度降至10 ℃,此时打开冷库门,保持开门状态直至库内温度降至设定的-18 ℃,每1 min记录一次数据。图7为热负荷试验下的温度曲线图。可以看出,热负荷试验下,所有温度均在正常范围内,库外温度约为20 ℃,库内温度从10 ℃降至-18 ℃共约56 min,冷库门开启时,库温上升约1 ℃,3 min之后一直稳步下降,排气温度在整个试验过程中有多次轻微波动,但整体表现为稳步下降,其他温度一直在稳步下降。监控系统在试验期间,操作简单、性能稳定,采集后的数据便于后续分析与管理,达到了设计目标。
图7 热负荷温度曲线
4 结语
介绍了监控系统平台以及软件系统总框架,编写了基于LabVIEW的监控系统软件,设计了OneNET服务器端的远程监测界面,利用模糊控制对电子膨胀阀进行了控制方法的改进。在试验期间,系统性能稳定,操作方便,人机界面友好,监测及时,能满足监控要求。