电力载波温室大棚监测系统的人机交互研究
2019-05-16张云起赵釢辛魏依斌
晏 涌,张云起,赵釢辛,梁 灿,纵 恒,魏依斌
(北京石油化工学院信息工程学院,北京 102617)
0 引言
国内很多温室大棚对温度、湿度等的监控都采用人工管理,导致人力资源浪费、成本增加,且农作物的产量不能满足要求[1-2]。因此,基于现代电子信息技术,开发温室大棚多种数据实时监控系统非常必要。
电力载波通信(power line carrier,PLC)技术,以电力线作为传输媒介来实现数据传递和信息交换的通信[3-4]。电力线具有分布广泛、直达用户、接入操作简单、成本投入小等优势。利用它进行数据通信,传递各种信息,省工、省钱、维护简单。所以,电力载波通信技术有着广阔的应用前景和极大的发展潜力。本文提出了一种利用电力载波技术进行温室环境参数采集和传输,并基于组态软件实现数据的图形显示和人机交互,设计了多种数据实时监控报警的温室大棚监测系统。
1 电力载波系统总体方案
电力载波系统总体方案的设计包括:主节点上位计算机、主节点和多个子节点监控,以及组态王模块组成。其中:主节点包括电力载波模块和高级精简指令集机器(advanced RISC machine,ARM);子节点监控模块包括电力载波模块、ARM、各种温室环境监测传感器、执行机构以及组态王。温室数据监控系统总体架构如图1所示。
图1 系统总体架构图
各子节点的采集数据通过电力载波模块,由低压电力线汇集到主节点;主节点通过RS-232串口与计算机进行数据通信,完成数据的上行。数据下行是由计算机将采集信号比较处理后产生的控制信号,经主节点和电力载波模块,利用电力线送到指定的子节点,并通过执行机构对环境参数进行调节[5]。各子节点还可以利用组态王监测所处温室的环境数据,使用Modbus通信协议传输到ARM,并在TPC触摸屏上实时显示采集的数据。通过编写脚本程序,可在触摸屏中分别调用所需监控的子界面[6]。
2 硬件实现
2.1 监视与控制通用系统介绍
监视与控制通用系统(monitor and control generated system,MCGS)是北京昆仑通态公司开发的一款用于快速构造和生成上位机监控系统的组态软件系统。该系统采用Modbus通信协议,可在Windows平台上运行,通过采集和处理数据,以动画显示、报警处理、流程控制和报表输出等多种输入、输出方式,为用户提供优质解决方案。因其便于操作、易于上手且易于扩展,MCGS在自动化工业和教育行业有着较为广泛的应用[7]。
2.2 子节点硬件组成
系统模拟了3个不同温室大棚作为3个子节点,分别对空气温湿度、土壤湿度、CO2浓度、光照强度、人体红外、门窗震动、雨滴、火源火焰等数据进行采集和处理,包括3种开关量、2种模拟量、单总线和I2C 4种输出形式。由STM32单片机结合传感器群作为下位机返回数据,通过Modbus协议传输至TPC触摸屏(上位机)。在MCGS中,对采集到的数据进行比对,对超过限值的数据量报警并记录[8]。子节点监控模块组成如图2所示。
图2 子节点监控模块组成框图
子节点模块采用的硬件如下。空气温度传感器,测量范围0~50 ℃,精度±2 ℃,数字量报警。空气湿度传感器:测量范围20%~90%RH,精度±5%RH,数字量超限值报警。土壤湿度传感器:电位器调控相应阈值,低于设定值输出为1,数字量超限值报警。CO2浓度传感器:测量范围0~10 000×10-6,TTL低电平有效,数字量超限值报警。光照强度传感器:测量范围0~65 535 Lux,传感器内置16位A/D转换器,数字量超限值报警。人体红外传感器:感应式触发,高电平有效,开关量报警。门窗震动传感器:电位器调控相应阈值,高电平有效,指示灯不亮,开关量报警。雨滴传感器:电位器调控相应阈值,低电平有效,开关量报警。火源火焰传感器:测量波长在760~1 100 nm范围内的光源,开关量报警。STM32F103单片机:该型单片机由意法半导体设计制造,使用高性能的ARM Cortex-M3,32位核心,频率为72 MHz,内置高速ROM,具备丰富的I/O端口;装载有WIN7 64位系统和MCGSE的计算机终端,用于运行MCGS程序编制项目。MCGS嵌入版TPC7062TX触摸屏是以Cortex-A8 为核心的、频率为600 MHz的一体化触摸屏。产品使用了7英寸(1英寸=25.4 mm)液晶显示屏,内置MCGS嵌入式组态软件的相应版本,能够实现项目工程的显示输出和触摸控制等功能[9]。
3 软件的设计
3.1 串行异步通信协议设计
通信协议包括三部分:总节点通过串口上传计算机的数据协议、计算机串口下传控制指令到总节点数据协议、计算机对总节点数据请求协议。总节点通过串口上传计算机的数据协议,每一帧数据的总长度为25 B。
数据协议如表1所示。
表1 数据协议表
3.2 实时数据库
MCGS工程界面由主控窗口、用户窗口、设备窗口、实时数据库和运行策略组成[10]。用户窗口组态主要用于设置人机交互界面,如系统的主控界面、曲线图、动画等。主控窗口组态是工程的主窗口或主框架,通过对系统菜单和参数的定义和设置来调度、管理用户窗口的打开或关闭。实时数据库组态是工程各个部分数据交换与处理中心,对系统所创建的数据对象的基本属性、存盘属性、报警属性进行定义和设置。设备构件组态是连接和驱动外部设备的工作环境。运行策略组态完成工程运行流程的控制,根据系统的控制算法及要完成的特定流程和操作处理,对系统的“启动策略”、“循环策略”、“存盘策略”等分别进行组态和设置。
在通道连接窗口中,将数据转换通道和实时数据库中的数据对象对应连结起来。在基本属性窗口中,采用重复采集和对采集数据进行最大值、最小值处理的方式,以提高采集的精度和数据的稳定性。在数据处理窗口,设置数据处理方法,即把采集或输出的数据转换为温室环境参数数据。在组态环境中完成上述用户设计和应用系统构造后,用户组态生成的结果是一个数据库文件,即组态结果数据库[11]。数据库数据分为数值型、开关型、字符型和组对象四类。
MCGS工程界面如图3所示。
图3 MCGS工程界面
根据该系统的子节点传感器选型,设计了MCGS数据库的数据表。以其中一个温室大棚的数据结构为例,具体的传感器数据如表2所示。
表2 传感器数据表
3.3 Modbus通信协议
Modbus是1979年由莫迪康(现为施耐德公司的子公司)发布的串行通信协议,现已成为工业电子设备连接的常用协议。Modbus协议是应用于电子控制器的一种通用语言。通过此协议,可实现控制器相互之间、控制器经由网络(例如以太网)和其他设备之间的通信。在Modbus系统中有2种传输模式可选择。一种模式是美国信息交换码(ASCII),另一种模式是远程终端设备(remeote terminal unit,RTU)[12]。本系统采用RTU模式。当控制器在Modbus网络上以RTU模式通信时,消息中的每个8 B字节包含2个4 B的十六进制字符。这种方式的主要优点是在同样的波特率下,比ASCII方式传送更多的数据。Modbus协议数据帧格式如图4所示。Modbus协议常用功能码6为写单寄存器、功能码5为写单线圈,RTU模式采用16位循环冗余码校验(cyclical redundancy check,CRC)校验码。
图4 Modbus 协议数据帧格式
Modbus串行链路协议能实现客户端在Modbus链路层提供主/从功能,由客户机作为主站、服务器作为从站进行数据传输[13]。Modbus作为一种主/从机应用协议:主站能够向从站发送请求;从站分析并处理请求,向主站返回消息。可用装载了MCGS的TPC触摸屏作为从站,其他第三方软件作为主站,通过Modbus协议实现主从站Modbus协议数据交互。计算机和组态模块利用RS-232串口通信,波特率为9 600,数据位共计8位,校验位1位,奇偶校验。数据采集的间隔时间为1 s。
3.4 界面设计
通过定义数据库数据表、编写Modbus协议,将MCGS程序从主机下载到从机TPC,完成温室数据监测系统人机交互方案设计。基于MCGS 组态软件的温室监控系统体系结构如图5所示。MCGS组态包括以数据库为核心的数据显示、数据处理、实时曲线、历史曲线、报警窗口、报表窗口等几部分。
温室数据监测系统主界面窗口集成显示了系统日常运行所需要的实时信息,包括:当前的温度、湿度、光强、土壤湿度等数据,雨滴、火源传感器的状态,以及红外、震动报警器的设防、撤防状态。系统将这些信息简洁、直观地提供给系统管理员巡检。在相关的详细界面,可以通过点击相应的名称跳转进入二级窗口。
图5 基于MCGS 组态软件的温室监控系统体系结构图
二级窗口包含温度、湿度等5个数据检测、历史报警窗口,以及红外、震动等4个历史报警窗口。以空气温度子窗口界面为例,其包含当前温度、温度设定值、温度实时曲线、报警浏览窗口等,既完成当前温度的实时显示、报警,又完成历史数据的显示,同时实现排风扇的动画显示。环境异常报警窗口可浏览各传感器的报警监测日志。
4 数据去噪算法
由于传感器受到自身精度与外界干扰的影响,会导致数据的精确度受到影响,产生一定的误差。为了去除较大的误差数据,利用了两次求均值去噪算法。该算法简单、常用,很好地利用了被测点之间的相关性[14],适用于传感器采集的数据处理。数据去噪流程如图6所示。根据第一次计算的均值和阈值去除奇异点,然后对去除奇异点的数据进行第二次求均值。
图6 数据去噪流程图
求均值公式如下:
(1)
根据设定的允许误差阈值,剔除误差较大的奇异点数据,公式如下:
(2)
通过二次均值,可以得到较为精确的测量数据。阈值的选取与传感器精度相关。温湿度传感器采用DHT11,精度为0.1 ℃,因此选择的阈值与之相对应为0.1 ℃。作均值计算的时间区间长度,根据采集数据的类型设定,测量温度数据并每秒计算1次均值。采用去噪算法,提高了传输数据的准确度,降低了数据的传输成本。
5 结束语
针对农业温室大棚环境参数的数据采集和控制成本高、效率低、自动化水平低的问题,设计了一套基于电力载波技术、MCGS组态软件的温室环境参数的采集、传输以及人机交互系统的装置。实时采集温室环境参数、利用输电线路进行传输、图形化显示,按照每个温室的作物所适应环境及时作出调整,并在出现数据异常时进行实时报警。通过试验证明,该系统具备操作方便、响应速度快、显示信息完备等特点,具有一定的推广应用价值。