單慧勇,張程皓,李晨陽,趙輝,衛勇,郭旭存
(天津農學院 工程技術學院,天津 300384)
根據光合作用的反應機制,對設施農作物生長影響較大的環境因素主要有光照、CO2濃度及溫濕度等,由于溫室環境為密閉環境,內部環境參數多通過人工進行調控,工作效率低。針對以上問題,孫小平[1]對溫室中的供暖設備、風機、LED 燈與其相對應的調控參數(如溫度、光強等)之間的關系進行研究,尋找其相關函數關系,實現溫室環境自動調控。張漫等[2]設計了作物光合速率預測模型,將實時監測光照、溫度及CO2濃度輸入預測模型中,獲取相應的CO2濃度最佳目標值,從而實現溫室CO2自動調控。李雅善等[3]擬合設計出了多元非線性光合速率預測模型,可進行光飽和點尋優,確定了溫室作物在不同光強條件下的環境參數最佳目標值,實現了溫室光強自動調控。以上研究多針對溫室環境中單一環境變量進行調控,難以實現溫室環境參數自適應調控。為有效提高溫室環境自動化程度,促進溫室作物生長,設計溫室自動調控系統,結合溫室環境監測、作物光合速率預測模型和多目標協同控制尋優方法設計基于MATLAB 的溫室環境自動調控系統,以溫室黃瓜為研究對象,對其光合速率進行預測并對環境調控效果進行驗證。為方便操作者實時監控溫室環境參數的變化,設計基于MATLAB 環境的人機交互GUI 界面,為溫室環境智能調控的研究提供借鑒。
調控系統的設計首先需搭建溫室環境參數尋優模型,模型的建立主要包括三部分:首先建立光合速率預測模型,然后在光合速率預測模型的基礎上,構建有限二氧化碳資源下溫室二氧化碳優化調控模型數據庫,繼而提出了以光照增長相對價值為評價指標的相對最經濟的補光策略,最終實現有限二氧化碳資源下的溫室光氣耦合優化調控。
采用LS-SVM算法構建光合速率預測模型[4],尋求溫度(x1)、光強(x2)及CO2濃度(x3)和輸出光合速率(y)之間的關 系:y=f(x1,x2,x3)。首先,使用MATLAB 中的mapminmax 函數對溫度、光強及CO2濃度進行歸一化處理,其模擬歸一化區間為[0.2,0.9][5]。選取徑向基函數作為核函數進行建模,gam是控制錯分樣本懲罰程度的可調參數,sig2是徑向基核函數的參數,通過網格搜索獲取最優的建模參數gam和sig2[6],最終確定 的gam=263.549,sig2=0.204 042 5。模型各參數確定后調用LS-SVM 工具箱的trainlssvm函數進行光合速率預測模型的構建。
基于上述光合速率預測模型,擬在1 d 內的有限資源下對溫室CO2濃度進行優化調控,即給定可用補氣總量,尋找當天溫室中最優的補氣時間及對應的單位時間補氣量,將補氣后的光合速率增量作為評價指標,建立CO2優化調控模型數據庫。在獲取補氣時間段與補氣量后,將依據光照增長相對價值曲線曲率最大值對補光量進行尋優。
結合上述調控模型,擬設計溫室環境自動調控系統,通過PLC 實時采集溫室中溫度、光強及CO2濃度等參數,通過OPC 通信協議實現遠程通信。在MATLAB 中搭建調控系統,依據調控模型,分析預測作物生長的最佳補氣時間及補氣總量,控制氣肥發生器及補光燈工作,結合實時讀取的數據進行追蹤控制。
溫室環境自動調控系統的功能主要包括實時環境數據的監測、數據分析目標值尋優以及自動輸出調控環境參數。通過監測溫室中的實時環境數據,獲取對植物生長速率影響較大的各種參數,如溫度、光強和CO2等,可實時監測植物生長狀態。根據實時環境參數,系統可調用上述模型,對環境參數進行尋優,獲得植物生長最佳調控目標值。結合模型尋優目標值和實時反饋的溫室環境數據,控制補光燈組及氣肥發生器等設備進行環境參數的調節,實現溫室環境自動調控。為實現以上功能,設計了溫室環境監測子系統、數據分析決策和輸出控制子系統三部分(圖1)。
溫室環境監測子系統包括:CO2傳感器、溫度傳感器以及光照傳感器,監測溫室中實時環境參數,實現溫室環境數據實時監測功能,并將其輸入調控目標值尋優子系統中,調用相應的模型,將光強與CO2協同調控目標值尋優。輸出控制子系統根據控制系統計算出的環境參數目標值,結合實時環境參數,控制溫室中補光燈組及氣肥發生器改變光強與CO2值,從而達到目標值要求,完成反饋控制。
圖2 為溫室環境監測子系統結構框圖,由CO2傳感器、溫度傳感器、光照傳感器和PLC 控制器組成。由于溫室生產環境較為惡劣,作物生長環境存在高溫高濕情況,對監控與控制系統具有較高的可靠性要求[7],因此,采用PLC 作為控制器。溫室中各傳感器監測記錄溫度、CO2濃度和光照強度等,為調控目標值尋優子系統提供數據,實現了溫室實時環境數據監測功能。
圖3 為數據分析決策子系統控制流程圖,環境監測傳感器將實時采集到的信息發送到控制器PLC,PLC 通過OPC 通信,與計算機建立遠程通信,將環境參數實時上傳至計算機中,計算機分析判斷環境溫度所屬區間,繼而通過模型調用該溫度下子模型,通過模型分析預測出光照強度與CO2濃度調控目標值。實現了數據分析目標值尋優功能,計算調控目標值與實時環境值的差值,將調控目標值發送至相應的控制設備。
本研究選擇在MATLAB 環境下設計輸出控制子系統[8]。自動模式下,傳感器將監測到的溫度、光照及CO2濃度數據傳輸至計算機,計算機根據模型計算出協同決策的光強及CO2濃度目標值,計算機通過OPC 通信與現場控制器PLC 建立通信,寫入光強及CO2濃度目標值,PLC 輸出控制補光燈[9]及氣肥發生器使得光照與CO2濃度達到目標值[10],實現了自動輸出調控環境參數功能(圖4)。在手動模式下,操作者可根據傳感器上傳的溫室環境數據,手動控制補光燈及氣肥發生器調控溫室環境參數。
為方便計算機讀取溫室實時環境數據進而分析決策,獲取調控目標值,同時反饋控制調控設備工作,需實現計算機與現場PLC 之間的通信連接,通信協議選擇OPC通信[11-13]。
OPC(OLE for process control)是由OPC 基金會(OPC Foundation)所制定的工業標準[14]。OPC 主要是在Microsoft 的OLC(ActiveX)、COM、DCOM 的基礎上所研發的一個開放的標準接口。其主要應用體系為客戶端/服務器[15],在客戶端和服務器之間建立一種通信和數據交換的工業標準[16],以OPC 為交換數據的主要方法。
7.0版本以上的MATLAB 軟件中均支持OPC服務,有相應的工具箱OPC toolbox[17],支持讀寫OPC數據。MATLAB 中讀取溫室實時環境數據方式有如下2種。
(1)通過GUI界面讀取實時環境參數
A.啟動Opctool界面
在MATLAB 命令窗口輸入Opctool,單擊回車即可打開Opctool界面,其操控界面如圖5所示。
B.創建客戶端對象、組對象和項
右鍵單擊OPC Network 可添加本地Host,名字選用默認名字Localhost。右鍵單擊Localhost 添加Client,從OPC Server ID 中選擇GrmOpcServer.GRMOPC,即可建立連接,順序添加Group、Item,即可顯示溫室環境參數實時數據,如圖6 所示。選中相應數據,點擊Add即可讀取實時環境參數。
(2)輸入程序讀取實時環境參數
實時環境數據讀取程序如下所示:
da=opcda(‘localhost’,‘GrmOpcServer.GRMOPC’);%創建客戶端對象
connect(da);%連接一個客戶到服務器;
grp=addgroup(da,‘group2’);%創建數據訪問組對象;
itm=additem(grp,‘GRM.二氧化碳(溫室)’);%讀取實時環境參數;
itm1=additem(grp,‘GRM.光照強度(溫室)’);
itm2=additem(grp,‘GRM.空氣溫度(溫室)’質;
set(grp,′UpdateRate′,0.2);%設置數據保存間隔
r=read(itm);%讀取數據;
a={r.Value};%讀取實時環境數值;
b=cell2mat(a);%將元胞數組類型數據轉換為數值型方便處理;
clear grp itm itm1 itm2。
為方便操作人員實時監控溫室環境,GUI 界面設計如圖7—8 所示,對接收到的環境數據進行存儲,并對數據進行分析、判斷與智能決策,根據決策結果發送相應控制指令到相應的輸出裝置。根據系統硬件要求,在MATLAB 環境下設計了人機交互的GUI界面。
(1)控制系統主界面如圖7所示,主要包括實時監控、歷史數據、參數設定、報警信息四部分,按下按鈕可跳轉至相應界面。
(2)實時顯示界面如圖8所示,包括溫室環境數據實時顯示欄、溫室環境數據調控目標值、工作模式選擇、工作狀態四部分。
A.溫室環境數據實時顯示欄:溫室中通過溫度傳感器、CO2濃度傳感器、光照傳感器監測到的環境數據傳輸至PLC,MATLAB 通過OPC 通信協議與PLC建立遠程通信,將各項數據實時顯示在界面上,便于操作者監控溫室環境變化。
B.溫室環境數據調控目標值:系統根據實時采集的溫室環境數據,依據當前溫度,調用適合的模型,預測最佳環境參數,并發送至界面,方便操作者對比實時環境參數決策控制方案。
C.工作模式選擇:根據需求可選擇自動控制或手動控制。自動控制模式下,系統根據實時溫度,調用相應的模型,分析溫室環境參數,計算出環境參數目標值,并顯示在目標欄上。
D.工作狀態:實時顯示控制裝置工作狀態,便于操作者決策控制。
(3)手動控制界面如圖9所示,包括溫室環境數據實時顯示欄、溫室環境數據調控目標和手動控制面板三部分。
溫室環境數據實時顯示欄和溫室環境數據調控目標值與自動模式下相同,控制面板上操作者可根據控制要求手動輸入環境參數,按下執行按鈕可控制裝置輸出,控制系統向氣肥發生器或補光燈發送調控指令,待實時數據達到目標值后停止工作,完成環境參數調控。
(4)參數配置界面如圖10 所示,在主界面按下參數配置按鈕可調出參數配置界面,包括增加通訊組、刪除通信組和刷新服務器三部分,可根據操作者實際需求,進行增刪通信組與刷新服務器操作。
(5)歷史數據顯示欄如圖11 所示,在主界面按下歷史數據按鈕可調出歷史數據顯示界面,可顯示不同時間溫度、光強和CO2濃度,操作者可根據數據判斷不同時間溫室環境參數變化情況,記錄保存。
以天津農學院西校區溫室作為研究基地,對系統進行測試。2020 年3 月4 日,溫室中保溫時間段為9:00—16:00,選擇9:30—15:30 作為調控時間段。首先,設定好可用補氣資源總量,通過調控模型尋優確定當天內最優補氣時間及單位時間補氣量,控制氣肥發生器在對應時間段工作,同時控制補光燈工作,控制系統通過PLC 不斷讀取溫室中光照強度及CO2濃度?;谏鲜鰧灧椒?,得到了以溫度、CO2濃度為輸入數據,以光照強度調控目標值為輸出數據的數據集,結合實時讀取的光照強度數據,對比調控目標值獲得光照強度調控增量,控制系統實時追蹤控制補光燈光照強度,實現溫室光氣耦合調控。調控完成后,獲得了調控時間段內的光合速率增量,為1 176.918 μmol/(m2·s)。調控過程中數據傳輸穩定,實時反饋效果好,自動模式控制界面、手動模式控制界面分別如圖12—13所示。
為實現溫室環境自動調控,在融合光合速率預測模型與溫室環境參數實時監測的基礎上,建立了溫室環境調控的尋優模型,基于上述調控模型,在MATLAB 環境下設計了溫室環境調控系統。通過溫室中的CO2傳感器、溫度傳感器以及光照傳感器分別監測溫室實時環境參數,并上傳至控制器PLC中。PLC 通過OPC 技術與計算機建立遠程通信,計算機讀取PLC 上傳的溫室環境數據,調用相應的尋優模型,分析計算出CO2濃度及光照強度的調控目標值,將其發送給控制器??刂破鞲鶕{控目標值控制氣肥發生器和補光燈組工作,直至溫室環境數據達到調控目標值后,停止工作,完成反饋控制。對構建的系統測試結果表明,該控制系統可完成作物生長自適應補光補氣,調控時間段內的光合速率增量為1 176.918 μmol/(m2·s),數據傳輸穩定,實時反饋效果好。為方便操作者決策控制,查看溫室環境數據,設計了人機交互GUI 界面,監控溫室環境參數,及時進行決策控制。本研究側重點在于溫室環境調控系統的設計,對所涉及的環境參數尋優模型并未詳述,后續將另文介紹上述尋優模型建模過程,結合組態軟件,設計完善控制系統及圖形用戶控制界面,進一步提高溫室環境自動調控技術。