本發(fā)明涉及一種農(nóng)業(yè)領(lǐng)域中的環(huán)境控制技術(shù),具體為一種溫室環(huán)境云控制系統(tǒng)及其控制方法。
背景技術(shù):
溫室環(huán)境的控制屬于智慧農(nóng)業(yè)的一部分,在滿足城市消費(fèi)群體需求、減輕種植業(yè)風(fēng)險(xiǎn)、充分利用自然光源、推廣農(nóng)業(yè)先進(jìn)技術(shù)方面具有重要的作用。溫室環(huán)境作為被控過程,除了具有復(fù)雜過程多變量、大滯后、非線性、強(qiáng)耦合的特性外,還具有兩個(gè)鮮明的特性:一是被控變量(如溫度、濕度、二氧化碳、光照等)的數(shù)目常常多于操作變量(天窗開度、噴水量等)的數(shù)目,屬于典型的非方控制系統(tǒng)(非方瘦系統(tǒng));二是被控變量具有區(qū)間控制的要求,即不必進(jìn)行點(diǎn)值的精確控制。因此在控制算法的研究上,除了常規(guī)復(fù)雜系統(tǒng)控制的要求外,還要滿足非方瘦系統(tǒng)區(qū)間控制的特殊要求。
目前市場的溫室環(huán)境控制系統(tǒng)普遍存在以下缺點(diǎn):
(1)現(xiàn)有的溫室環(huán)境控制系統(tǒng),其控制器安裝在溫室環(huán)境現(xiàn)場,如采用先進(jìn)控制算法對(duì)溫室環(huán)境進(jìn)行控制,則對(duì)控制器的硬件配置要求高,導(dǎo)致控制系統(tǒng)成本提高;控制算法的切換或升級(jí)過程復(fù)雜繁瑣,無法實(shí)現(xiàn)在線無擾切換或升級(jí);無法實(shí)現(xiàn)控制算法的在線優(yōu)化控制。
(2)現(xiàn)有的溫室環(huán)境控制系統(tǒng),控制終端和數(shù)據(jù)終端的通道數(shù)目相對(duì)固定,很難根據(jù)溫室環(huán)境參數(shù)分布式的特點(diǎn)靈活擴(kuò)展數(shù)據(jù)采集和控制通道,不適合溫室環(huán)境分布式數(shù)據(jù)采集和控制的要求;
(3)現(xiàn)場被控變量除了具有滯后性、耦合性等特點(diǎn)外,還具有非方瘦系統(tǒng)區(qū)間控制的特點(diǎn),即被控變量多于操作變量,且不必進(jìn)行點(diǎn)值的精確控制,而目前市場上的設(shè)備均沒有考慮上述溫室環(huán)境的的特點(diǎn),皆采用一對(duì)一的常規(guī)精確控制方式,不能按照需要進(jìn)行多回路的區(qū)間進(jìn)行,因此導(dǎo)致控制回路動(dòng)作頻繁,能耗大,也不能達(dá)到精確控制的目的。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有溫室環(huán)境控制系統(tǒng)控制靈活性差、無法進(jìn)行控制算法的無擾切換或升級(jí)、不能按區(qū)間要求進(jìn)行控制等不足,本發(fā)明要解決的問題是提供一種可實(shí)現(xiàn)溫室環(huán)境分布式參數(shù)測量、實(shí)現(xiàn)設(shè)定值區(qū)間控制、增強(qiáng)控制靈活性的溫室環(huán)境云控制系統(tǒng)及其控制方法。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
本發(fā)明一種溫室環(huán)境云控制系統(tǒng),包括云控制端、被控過程端、客戶監(jiān)控端以及管理端,其中:
云控制端,運(yùn)行控制算法及數(shù)據(jù)信息存儲(chǔ);
被控過程端,與云控制端進(jìn)行遠(yuǎn)程通訊,執(zhí)行整個(gè)控制系統(tǒng)的數(shù)據(jù)采集和控制功能;
客戶監(jiān)控端,安裝app監(jiān)控軟件的移動(dòng)終端,通過移動(dòng)互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端;
管理端,通過互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端,實(shí)現(xiàn)整個(gè)系統(tǒng)的云端管理。
被控過程端包括中心控制器和遠(yuǎn)程通信模塊,中心控制器通過數(shù)據(jù)接口接收溫室環(huán)境中各種環(huán)境變量的數(shù)據(jù),通過遠(yuǎn)程通信模塊與云控制端進(jìn)行通訊。
所述被控過程端還具有數(shù)據(jù)終端及局域網(wǎng)通信模塊,數(shù)據(jù)終端的輸入接口接有各類傳感器,數(shù)據(jù)終端通過局域網(wǎng)通信模塊與中心控制器進(jìn)行通訊連接;
或者,被控過程端還具有控制終端,控制終端通過局域網(wǎng)通信模塊與中心控制器進(jìn)行無線通訊。
控制終端的輸入輸出接口接有執(zhí)行器模塊,執(zhí)行器模塊包括繼電器電路和pwm信號(hào)驅(qū)動(dòng)電路,分別控制執(zhí)行機(jī)構(gòu)動(dòng)作。
本發(fā)明一種溫室環(huán)境云控制系統(tǒng)的控制方法,包括以下步驟:
1)在被控過程端,中心控制器以設(shè)定的周期進(jìn)行現(xiàn)場環(huán)境參數(shù)的采集、濾波,對(duì)分布在不同位置的采集器進(jìn)行查詢,接收采集器的回傳數(shù)據(jù);
2)在云控制端,云控制器以設(shè)定的周期通過遠(yuǎn)程gprs信道對(duì)被控過程端在線的中心控制器進(jìn)行查詢,中心控制器收到查詢信號(hào)之后將最近一次的數(shù)據(jù)發(fā)送至云控制器;
3)云控制器將接到的數(shù)據(jù)解析,分別送至數(shù)據(jù)庫和控制算法庫;數(shù)據(jù)庫將數(shù)據(jù)進(jìn)行儲(chǔ)存以便分析及查詢;控制算法庫調(diào)用相應(yīng)控制回路的控制算法,即非方瘦系統(tǒng)區(qū)間控制算法,根據(jù)當(dāng)前環(huán)境參數(shù)與設(shè)定參數(shù)計(jì)算得到控制量;
4)上述控制量一方面通過網(wǎng)絡(luò)發(fā)送給被控過程端的中心控制器,另一方面送到數(shù)據(jù)庫中進(jìn)行存儲(chǔ)記錄,便于管理員對(duì)控制策略進(jìn)行分析、優(yōu)化與修改;
5)被控過程端的中心控制器接收到控制信號(hào)后,將屬于自身控制通道的控制量施加給控制回路執(zhí)行機(jī)構(gòu)動(dòng)作;將屬于控制終端通道的控制量發(fā)送給相應(yīng)的控制終端,由控制終端施加給相應(yīng)的控制回路執(zhí)行機(jī)構(gòu)動(dòng)作,實(shí)現(xiàn)基于云控制器的閉環(huán)反饋控制。
非方瘦系統(tǒng)區(qū)間控制算法包括以下步驟:
301)根據(jù)系統(tǒng)輸出序列采樣值aij(1),aij(2),…,aij(n)組成階躍響應(yīng)模型aij,并組成系統(tǒng)動(dòng)態(tài)矩陣a,采用
ypm(k)=y(tǒng)p0(k)+aδum(k)(3)
作為預(yù)測模型,求得預(yù)測輸出;
其中:
aij(n)表示在第n個(gè)采樣時(shí)刻輸出變量yi對(duì)不同控制變量uj的階躍響應(yīng)系數(shù);
k為當(dāng)前時(shí)刻;
ypm(k)為當(dāng)前時(shí)刻k的模型預(yù)測輸出矢量;
yp0(k)為當(dāng)前時(shí)刻k的初始模型輸出矢量,
δum(k)為當(dāng)前時(shí)刻k最優(yōu)區(qū)間控制增量序列;
302)用戶通過人機(jī)交互界面設(shè)定輸出變量yi的期望區(qū)間[εi,min,εi,max](i=1,2,…,r)和極限約束區(qū)間[yi,min,yi,max](i=1,2,…,r),以及控制變量uj的約束區(qū)間,根據(jù)期望區(qū)間[εi,min,εi,max](i=1,2,…,r)的可放松程度,通過界面設(shè)定可調(diào)整約束的優(yōu)先級(jí),優(yōu)先級(jí)越高,相應(yīng)輸出量的區(qū)間可調(diào)整度越大;εi,min為輸出變量yi的期望區(qū)間最小值,εi,max為輸出變量yi的期望區(qū)間最大值,yi,min,yi,max分別為輸出變量yi可以達(dá)到的極限最小值和最大值;uj,min,uj,max分別為控制變量uj的最小值和最大值;r為輸出變量個(gè)數(shù),s為輸入變量個(gè)數(shù);
303)判斷輸出期望區(qū)間是否可行,若可行,將采集得到當(dāng)前環(huán)境因子值并與控制區(qū)間進(jìn)行比較,設(shè)控制性能指標(biāo)為:
性能指標(biāo)中,
304)根據(jù)控制量求得的輸出預(yù)測值,在預(yù)測模型輸出的基礎(chǔ)上用實(shí)際輸出誤差進(jìn)行反饋校正,實(shí)現(xiàn)閉環(huán)預(yù)測,即
yc(k)=y(tǒng)pm(k)+le(k)(9)
ypm(k+1)=y(tǒng)c(k)(10)
其中:
k為當(dāng)前時(shí)刻;
k+1時(shí)刻為下一時(shí)刻;
yc(k)為校正后當(dāng)前時(shí)刻k的模型預(yù)測輸出;
ypm(k)為k時(shí)刻預(yù)測模型,p表示預(yù)測時(shí)域,m表示控制時(shí)域;
l=[1,1,…,1]t∈rrp×1,表示l為r×p行1列的全1向量,r為輸出變量的個(gè)數(shù);
e(k)=y(tǒng)(k)-ym(k),為系統(tǒng)當(dāng)前時(shí)刻k時(shí)實(shí)際輸出y(k)與預(yù)測輸出ym(k)的差;y(k)為系統(tǒng)當(dāng)前時(shí)刻k時(shí)的實(shí)際輸出值;ym(k)為當(dāng)前時(shí)刻k時(shí)的模型預(yù)測輸出值。
判斷輸出期望區(qū)間步驟為:
設(shè)定系統(tǒng)控制量的穩(wěn)態(tài)值為us,輸出量的穩(wěn)態(tài)值ys,穩(wěn)態(tài)增益矩陣為gs,若存在us和ys滿足:
則稱期望區(qū)間可行;
其中,ys為輸出量的穩(wěn)態(tài)值;us為控制量的穩(wěn)態(tài)值;umax,umin分別為控制量u的最大值和最小值矢量;δεmax,δεmin分別為最大約束值εmax和最小約束值εmin的調(diào)整量;δ為區(qū)間調(diào)整量的解;上角標(biāo)t代表向量或矩陣的轉(zhuǎn)置。
如果判斷輸出期望區(qū)間不可行,程序根據(jù)優(yōu)先級(jí)設(shè)置相應(yīng)的約束調(diào)整量權(quán)值ci,再求解得到一組約束調(diào)整量的解δ=[δεtmin,δεtmax]t,給出滿足極限區(qū)間[yi,min,yi,max]的調(diào)整后可行目標(biāo)區(qū)間[εi,min,εi,max]t+δ,δεmin,δεmax分別表示最大約束值εmax和最小約束值εmin的調(diào)整量;yi,min,yi,max分別為輸出變量yi的極限區(qū)間的最大值和最小值,εi,min,εi,max分別為輸出變量yi的期望區(qū)間最小值和最大值,上角標(biāo)t代表向量或矩陣的轉(zhuǎn)置。
將公式(4)轉(zhuǎn)化為求解線性規(guī)劃:
其中:
w為最優(yōu)解;
z為z的元素;
x1=us-umin,us為控制量u的穩(wěn)態(tài)值;umin為控制量u的最小值;
x2=umax-us,umax為控制量u的最大值;
x3=gsus-εmin+δεmin,εmin為輸出變量期望區(qū)間的最小值,δεmin為εmin的調(diào)整量;
x4=εmax-gsus+δεmax,εmax為輸出變量期望區(qū)間的最大值,δεmax為εmax的調(diào)整量;
權(quán)值ct=[c1…c2s]為1行2s列的向量,s為輸出量個(gè)數(shù);c反映δ中的元素δi的可調(diào)程度,輸出變量yi優(yōu)先級(jí)越高,ci越小,可接受調(diào)整量越大;對(duì)硬約束yj可置cj為充分大的正數(shù);該線性規(guī)劃若有最優(yōu)解wmin=0,則說明原期望區(qū)間是可行的,不需要調(diào)整;若求得wmin>0,說明原期望區(qū)間需要加入調(diào)整量δ;
經(jīng)用戶與計(jì)算機(jī)多次協(xié)調(diào)后,最終調(diào)整量δ=0,此時(shí)目標(biāo)區(qū)間是可行的,同時(shí)能找到一個(gè)穩(wěn)態(tài)解ys,即非方瘦系統(tǒng)存在穩(wěn)定解。
經(jīng)推導(dǎo)后性能指標(biāo)可轉(zhuǎn)換為如下二次規(guī)劃:
s.t.dx≤d
其中:
設(shè)
b=diag(b0,b0,…,b0)∈rsm×sm,b為以b0為對(duì)角線元素的sm行sm列矩陣,s為輸出變量個(gè)數(shù);
則
取其中的即時(shí)控制增量δu(k)構(gòu)成控制量u(k)=u(k-1)+δu(k)施加于被控對(duì)象,根據(jù)類似的優(yōu)化問題遞推求出下一時(shí)刻k+1時(shí)的控制增量δu(k+1),即
u(k)=u(k-1)+(1,0,…,0)δum(k)(8)
其中u(k)為當(dāng)前時(shí)刻k的控制量,u(k-1)為前一時(shí)刻k-1的控制量,δum(k)為k時(shí)刻控制量的變化量;
本發(fā)明具有以下有益效果及優(yōu)點(diǎn):
1.本發(fā)明將控制算法庫、數(shù)據(jù)庫均置于遠(yuǎn)方的“云”中,構(gòu)成云控制器,利用云強(qiáng)大的計(jì)算能力完成復(fù)雜控制算法的快速計(jì)算、不同控制算法的無擾動(dòng)快速切換、優(yōu)化算法的實(shí)時(shí)計(jì)算,以及大規(guī)模數(shù)據(jù)的存儲(chǔ),被控過程端只需要通過高速遠(yuǎn)程通訊信道,發(fā)送現(xiàn)場采集數(shù)據(jù)和接收遠(yuǎn)方控制信號(hào)即可,降低控制系統(tǒng)的軟硬件配置要求,簡化控制系統(tǒng)的結(jié)構(gòu),增強(qiáng)系統(tǒng)擴(kuò)展的靈活性,從而明顯降低了系統(tǒng)成本,更好地服務(wù)于溫室環(huán)境下的農(nóng)業(yè)生產(chǎn)。
2.本發(fā)明以溫室環(huán)境為被控過程,基于非方瘦系統(tǒng)區(qū)間控制方法,對(duì)溫室環(huán)境進(jìn)行區(qū)間控制,使控制系統(tǒng)具有在線解耦、滾動(dòng)優(yōu)化、反饋校正等優(yōu)良性能,適應(yīng)溫室環(huán)境的實(shí)際需求,使執(zhí)行結(jié)構(gòu)動(dòng)作頻率降低,從而達(dá)到減少機(jī)構(gòu)磨損、節(jié)能降耗、使過程達(dá)到“滿意控制”的目的。
附圖說明
圖1為本發(fā)明溫室環(huán)境云控制系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明溫室環(huán)境云控制系統(tǒng)中心控制器電路圖;
圖3為本發(fā)明溫室環(huán)境云控制系統(tǒng)數(shù)據(jù)終端電路圖;
圖4為本發(fā)明具溫室環(huán)境云控制系統(tǒng)控制終端電路圖;
圖5為本發(fā)明溫室環(huán)境云控制系統(tǒng)中心控制器電氣結(jié)構(gòu)框圖;
圖6為本發(fā)明溫室環(huán)境云控制系統(tǒng)數(shù)據(jù)終端電氣結(jié)構(gòu)框圖;
圖7為本發(fā)明溫室環(huán)境云控制系統(tǒng)控制終端電氣結(jié)構(gòu)框圖;
圖8a為本發(fā)明溫室環(huán)境云控制系統(tǒng)中云控制器軟件流程圖;
圖8b為圖8a的中心控制器接入服務(wù)器子流程圖;
圖9a為本發(fā)明溫室環(huán)境云控制系統(tǒng)中心控制器軟件流程圖;
圖9b為圖9a的通信模塊初始化流程圖;
圖9c為圖9a的云端信息解析過程流程圖;
圖9d為圖9a的局域網(wǎng)信息解析過程流程圖;
圖10a為本發(fā)明溫室環(huán)境云控制系統(tǒng)數(shù)據(jù)終端軟件流程圖;
圖10b為圖10a的傳感器信息采集濾波流程圖;
圖11為本發(fā)明溫室環(huán)境云控制系統(tǒng)控制終端軟件流程圖;
圖12為本發(fā)明溫室環(huán)境云控制系統(tǒng)區(qū)間控制算法流程圖;
圖13為本發(fā)明溫室環(huán)境云控制系統(tǒng)區(qū)間控制算法預(yù)測控制方法曲線圖解。
具體實(shí)施方式
下面結(jié)合說明書附圖對(duì)本發(fā)明作進(jìn)一步闡述。
本發(fā)明一種溫室環(huán)境云控制系統(tǒng),包括云控制端、被控過程端、客戶監(jiān)控端以及管理端,其中:
云控制端,運(yùn)行控制算法及存儲(chǔ)數(shù)據(jù)信息;
被控過程端,與云控制端進(jìn)行遠(yuǎn)程通訊,執(zhí)行整個(gè)控制系統(tǒng)的數(shù)據(jù)采集和控制功能;
客戶監(jiān)控端,安裝app監(jiān)控軟件的移動(dòng)終端,通過移動(dòng)互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端;
管理端,通過互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端,實(shí)現(xiàn)整個(gè)系統(tǒng)的云端數(shù)據(jù)管理。
如圖1所示,本發(fā)明一種溫室環(huán)境云控制系統(tǒng)主要分為四大部分,第一部分為云控制端,第二部分為被控過程端,第三部分為客戶監(jiān)控端,第四部分為管理端。
所述云控制端由控制算法庫、數(shù)據(jù)庫和服務(wù)器軟件組成。其中控制算法庫主要存放控制算法——非方瘦系統(tǒng)區(qū)間控制算法;數(shù)據(jù)庫按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理系統(tǒng)數(shù)據(jù),并管理系統(tǒng)用戶信息;服務(wù)器軟件主要對(duì)云端軟件,即控制算法庫和數(shù)據(jù)庫進(jìn)行管理,協(xié)調(diào)各部分之間的工作。
所述被控過程端完成整個(gè)控制系統(tǒng)的數(shù)據(jù)采集和控制執(zhí)行功能,由中心控制器及遠(yuǎn)程通信模塊組成。中心控制器通過數(shù)據(jù)接口接收溫室環(huán)境中各種環(huán)境變量的數(shù)據(jù),通過遠(yuǎn)程通信模塊與云控制端進(jìn)行通訊。
中心控制器集數(shù)據(jù)采集、遠(yuǎn)程通信、局域網(wǎng)通信和執(zhí)行器功能于一體,在不需要擴(kuò)展的情況下可以單獨(dú)使用,也可以有多個(gè)中心控制器組成局域網(wǎng)。
遠(yuǎn)程通信模塊通過gprs通訊信道接入云端,完成與云控制端的采集數(shù)據(jù)上傳和控制信息下傳的雙向信息傳輸;執(zhí)行器用于完成云控制端下傳控制量對(duì)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)作用。
所述客戶監(jiān)控端為手機(jī)app監(jiān)控軟件,通過移動(dòng)互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端。用于用戶監(jiān)控當(dāng)前溫室環(huán)境數(shù)據(jù),同時(shí)可以完成環(huán)境參數(shù)設(shè)定、以及部分應(yīng)急的控制操作等操作。
所述管理端完成整個(gè)系統(tǒng)的云端數(shù)據(jù)管理,由pc計(jì)算機(jī)管理軟件組成,通過互聯(lián)網(wǎng)接入遠(yuǎn)方云控制端。管理人員通過計(jì)算機(jī)登錄云端,登錄后通過服務(wù)器軟件完成控制算法編寫、掛載和上傳,控制算法參數(shù)的調(diào)整,數(shù)據(jù)庫備份或清空等操作。
為了適應(yīng)溫室環(huán)境各類數(shù)據(jù)多輸入的要求,需對(duì)中心控制器的輸入通道進(jìn)行擴(kuò)展,因此本發(fā)明中的被控過程端還可以具有一個(gè)或多個(gè)數(shù)據(jù)終端,其輸入接口接有各類傳感器,通過局域網(wǎng)通信模塊與中心控制器進(jìn)行通訊連接。數(shù)據(jù)終端負(fù)責(zé)采集溫室環(huán)境數(shù)據(jù),通過無線網(wǎng)絡(luò)與中心控制器進(jìn)行通訊,使用電池方式供電,便于安裝和使用。
另外,被控過程端還可以具有一個(gè)或多個(gè)控制終端,控制終端通過局域網(wǎng)通信模塊與中心控制器進(jìn)行無線通訊。控制終端用于接收中心控制器傳送來的控制信號(hào),是對(duì)中心控制器控制通道的擴(kuò)展。
如圖2、5所示,本實(shí)施例中,中心控制器系統(tǒng)電路由pic18f46k22處理器、下載器接口、兩路串口轉(zhuǎn)485電路、lcd電路、iic接口、模擬量輸入電路、繼電器電路以及驅(qū)動(dòng)電路組成。其中,gprs模塊和wifi模塊分別通過兩路串口轉(zhuǎn)485電路與pic核心模塊進(jìn)行信息交互,組成遠(yuǎn)程通信信道和局域無線通信信道;二氧化碳傳感器、光照強(qiáng)度傳感器均通過iic接口將環(huán)境信息傳送至pic18f46k22處理器中;模擬量輸入電路由低通濾波電路和電壓跟隨器構(gòu)成,由于溫室環(huán)境是大滯后過程,因此各參數(shù)的變化是比較緩慢的,采用截止頻率為10hz的rc低通濾波對(duì)輸入的模擬量進(jìn)行硬件濾波,同時(shí),電壓跟隨電路將會(huì)把濾波后的模擬量1:1送入單片機(jī)內(nèi),這樣既能保證輸入信號(hào)的真實(shí)性,又能隔離外部的干擾,空氣溫濕度變送器、土壤溫濕度變送器均通過該電路將采集到的環(huán)境信息傳送給pic18f46k22處理器;繼電器電路使用hjr4102e-l-05v作為繼電器,數(shù)字量控制繼電器狀態(tài),使用p521光耦進(jìn)行單片機(jī)電路與繼電器電路之間的隔離,防止繼電器電路的擾動(dòng)對(duì)單片機(jī)的穩(wěn)定性造成干擾;驅(qū)動(dòng)電路是由四個(gè)cmos管組成的全橋驅(qū)動(dòng)電路,單片機(jī)通過輸出兩路pwm波控制執(zhí)行器實(shí)現(xiàn)正/反雙向動(dòng)作。
本實(shí)施例中,單片機(jī)通過兩個(gè)485接口與gprs模塊和wifi模塊進(jìn)行通信,其中g(shù)prs模塊用于連接“云控制器”,發(fā)送現(xiàn)場環(huán)境數(shù)據(jù)值和接收控制算法計(jì)算出的控制量;wifi模塊用于產(chǎn)生局域網(wǎng)中的服務(wù)器節(jié)點(diǎn),用于組網(wǎng);數(shù)字量變送器輸出的數(shù)字量通過iic協(xié)議與單片機(jī)直接通信,而模擬量變送器通過板載adc電路輸入單片機(jī)內(nèi);在控制執(zhí)行器方面,單片機(jī)通過自身的io口進(jìn)行繼電器電路的控制,實(shí)現(xiàn)執(zhí)行器的開關(guān)控制,通過自身功能引腳產(chǎn)生的pwm波控制驅(qū)動(dòng)電路,實(shí)現(xiàn)部分執(zhí)行器的連續(xù)調(diào)節(jié);顯示電路中,單片機(jī)與lcd液晶屏通過spi協(xié)議進(jìn)行通信,顯示當(dāng)前的環(huán)境參數(shù)。
如圖3、6所示,數(shù)據(jù)終端系統(tǒng)電路由pic18f4620處理器、下載器接口、串口轉(zhuǎn)485電路、lcd電路、iic接口和模擬量輸入電路組成。其中,wifi模塊通過串口轉(zhuǎn)485電路與pic18f4620處理器進(jìn)行信息交互,組成局域無線通信信道;二氧化碳傳感器、光照強(qiáng)度傳感器均通過iic接口將環(huán)境信息傳送至pic18f4620處理器;模擬量輸入電路由低通濾波電路和電壓跟隨器組成,由于溫室環(huán)境是大滯后過程,因此各參數(shù)的變化是比較緩慢的,采用截止頻率為10hz的rc低通濾波對(duì)輸入的模擬量進(jìn)行硬件濾波,同時(shí),電壓跟隨電路將會(huì)把濾波后的模擬量1:1送入pic18f4620處理器,這樣保證輸入信號(hào)的真實(shí)性的同時(shí)隔離外部的干擾;空氣溫濕度變送器、土壤溫濕度變送器均通過該電路將采集到的環(huán)境信息傳送給pic18f4620處理器。
本實(shí)施例中,單片機(jī)通過串口轉(zhuǎn)485的方式與wifi模塊進(jìn)行通信,此時(shí)wifi模塊作為客戶端,可以接入到局域網(wǎng)中與中心控制器的wifi模塊進(jìn)行通信;數(shù)字量變送器輸出的數(shù)字量通過iic協(xié)議與單片機(jī)直接通信,而模擬量變送器通過板載adc電路輸入單片機(jī)內(nèi)。在數(shù)據(jù)終端,可以通過lcd和按鍵進(jìn)行接入傳感器種類的設(shè)置,提高了整個(gè)系統(tǒng)的靈活性和可維護(hù)性。
如圖4、7所示,控制終端系統(tǒng)電路由pic18f4620處理器、下載器接口、串口轉(zhuǎn)485電路、lcd液晶電路、繼電器電路和驅(qū)動(dòng)電路組成。其中,wifi模塊通過串口轉(zhuǎn)485電路與pic18f4620處理器進(jìn)行信息交互,組成局域無線通信信道;繼電器電路使用hjr4102e-l-05v作為繼電器,數(shù)字量控制繼電器狀態(tài),使用p521光耦進(jìn)行單片機(jī)電路與繼電器電路之間的隔離,防止繼電器電路的擾動(dòng)對(duì)單片機(jī)的穩(wěn)定性造成干擾;驅(qū)動(dòng)電路是由四個(gè)cmos管組成的全橋驅(qū)動(dòng)電路,單片機(jī)通過輸出兩路pwm波控制執(zhí)行器實(shí)現(xiàn)正/反雙向動(dòng)作。
本實(shí)施例中,單片機(jī)通過串口轉(zhuǎn)485的方式與wifi模塊進(jìn)行通信,此時(shí)wifi模塊作為客戶端,可以接入到局域網(wǎng)中與中心控制器的wifi模塊進(jìn)行通信;同時(shí),單片機(jī)一方面會(huì)通過自身io口對(duì)繼電器電路進(jìn)行開關(guān)量的控制,另一方面會(huì)通過自身功能引腳產(chǎn)生pwm信號(hào)控制驅(qū)動(dòng)電路,實(shí)現(xiàn)執(zhí)行器的連續(xù)調(diào)節(jié)。在數(shù)據(jù)終端,可以通過lcd和按鍵進(jìn)行具體控制電路的選擇,提高了整個(gè)系統(tǒng)的靈活性和可維護(hù)性。
本發(fā)明一種溫室環(huán)境云控制系統(tǒng)的控制方法,包括以下步驟:
1)在被控過程端,中心控制器以設(shè)定的周期進(jìn)行現(xiàn)場環(huán)境參數(shù)的采集、濾波,對(duì)分布在不同位置的采集器進(jìn)行查詢,接收采集器的回傳數(shù)據(jù);
2)在云控制端,云控制器以設(shè)定的周期通過遠(yuǎn)程gprs信道對(duì)被控過程端在線的中心控制器進(jìn)行查詢,中心控制器接收查詢信號(hào)后將最近一次的數(shù)據(jù)發(fā)送至云控制器;
3)云控制器將接到的數(shù)據(jù)解析,分別送至數(shù)據(jù)庫和控制算法庫;數(shù)據(jù)庫將數(shù)據(jù)進(jìn)行儲(chǔ)存以便分析及查詢;控制算法庫調(diào)用相應(yīng)控制回路的控制算法,即非方瘦系統(tǒng)區(qū)間控制算法,根據(jù)當(dāng)前環(huán)境參數(shù)與設(shè)定參數(shù)計(jì)算得到控制量;
4)上述控制量一方面通過網(wǎng)絡(luò)發(fā)送給被控過程端的中心控制器,另一方面送到數(shù)據(jù)庫中進(jìn)行存儲(chǔ)記錄,便于管理員對(duì)控制策略進(jìn)行分析、優(yōu)化與修改;
5)被控過程端的中心控制器接收到控制信號(hào)后,將屬于自身控制通道的控制量施加給控制回路執(zhí)行機(jī)構(gòu)動(dòng)作;將屬于控制終端通道的控制量發(fā)送給相應(yīng)的控制終端,由控制終端施加給相應(yīng)的控制回路執(zhí)行機(jī)構(gòu)動(dòng)作,實(shí)現(xiàn)基于云控制器的閉環(huán)反饋控制。
如圖8a、8b所示,為“云控制器”軟件流程圖,其控制過程包括以下步驟:
201)在“云控制器”端,管理軟件會(huì)一直判斷是否有被控過程端的中心控制器接入服務(wù)器,具體分為:
201a)管理軟件對(duì)幀聽socket進(jìn)行監(jiān)聽;
201b)檢查是否有接入請求,是則進(jìn)行下一步,否則返回;
201c).獲取到請求端的ip地址并建立新的socket與該ip地址進(jìn)行綁定,此時(shí)“云控制器”就與該ip(中心控制器的gprs模塊中的網(wǎng)絡(luò)ip)建立了鏈接;
201d)把步驟201c)中的socket加入到查詢的隊(duì)列中,此時(shí)管理軟件就可以通過該socket與請求端(中心控制器)進(jìn)行數(shù)據(jù)的通信了;
202)在“云控制器”端,管理軟件以設(shè)定的時(shí)間周期t(人工設(shè)定)通過socket向中心控制器端發(fā)送查詢指令;
203)發(fā)送完指令的管理軟件將會(huì)對(duì)socket進(jìn)行幀聽,接收中心控制器通過gprs模塊發(fā)送的回執(zhí)數(shù)據(jù);
204)管理軟件檢查是否接收到了回執(zhí)數(shù)據(jù),是則執(zhí)行步驟205),否則進(jìn)行步驟201);
205)將接收到的數(shù)據(jù)存入數(shù)據(jù)庫中的數(shù)據(jù)表中,一方面可以供用戶進(jìn)行查看,另一方面可以供技術(shù)人員分析;
206)將數(shù)據(jù)作為控制器的輸入量輸入到非方瘦系統(tǒng)區(qū)間控制算法中計(jì)算控制量非方瘦系統(tǒng)區(qū)間控制算法具體步驟如圖12、13所示);
207)將上述控制量存入數(shù)據(jù)庫中的控制量表中,儲(chǔ)存控制量主要作用是便于管理員對(duì)控制策略進(jìn)行分析、優(yōu)化與修改;
208)將步驟206)計(jì)算得到的控制量通過socket發(fā)送回中心控制器,中心控制器通過gprs模塊接收到該控制量。
如圖12所示,為基于區(qū)間控制的預(yù)測控制算法流程圖。本實(shí)施例中,該控制算法設(shè)計(jì)在遠(yuǎn)離被控對(duì)象的“云控制器”中,包括以下步驟:
206a)根據(jù)系統(tǒng)輸出階躍響應(yīng)系數(shù)aij(1),aij(2)...,aij(n)組成階躍響應(yīng)模型aij,其中aij(n)表示在第n個(gè)采樣時(shí)刻輸出變量yi對(duì)不同控制變量uj的階躍響應(yīng)系數(shù):
并組成系統(tǒng)動(dòng)態(tài)矩陣:
其中:
aij為第j個(gè)輸入對(duì)第i個(gè)輸出的階躍響應(yīng)模型;
設(shè):r為輸出變量個(gè)數(shù),
s為輸入變量個(gè)數(shù),
p為預(yù)測時(shí)域,
m為控制時(shí)域;
采用
ypm(k)=y(tǒng)p0(k)+aδum(k)(3)
作為預(yù)測模型,求得預(yù)測輸出。
其中:
k為當(dāng)前時(shí)刻;
ypm(k)為當(dāng)前時(shí)刻k的模型預(yù)測輸出矢量;
yp0(k)為當(dāng)前時(shí)刻k的初始模型輸出矢量,
δum(k)為當(dāng)前時(shí)刻k最優(yōu)區(qū)間控制增量序列;
206b)用戶通過人機(jī)交互界面設(shè)定輸出變量yi的期望區(qū)間[εi,min,εi,max](i=1,2,…,r)和極限約束區(qū)間[yi,min,yi,max](i=1,2,…,r)以及控制變量uj的約束區(qū)間[uj,min,uj,max](j=1,2,…,s),且根據(jù)期望區(qū)間[εi,min,εi,max]的可放松程度,通過界面設(shè)定可調(diào)整約束的優(yōu)先級(jí),優(yōu)先級(jí)越高,相應(yīng)輸出量的區(qū)間可調(diào)整度越大;εi,min為輸出變量yi的期望區(qū)間最小值;εi,max為輸出變量yi的期望區(qū)間最大值;yi,min,yi,max分別為輸出變量yi可以達(dá)到的極限最小值和最大值;uj,min,uj,max分別為控制變量uj的最小值和最大值;r為輸出變量個(gè)數(shù),s為輸入變量個(gè)數(shù);
206c)計(jì)算機(jī)根據(jù)下述子算法1判斷輸出期望區(qū)間是否可行,若可行,執(zhí)行步驟206d);若不可行,程序根據(jù)優(yōu)先級(jí)設(shè)置相應(yīng)的約束調(diào)整量權(quán)值ci,再求解子算法1得到一組約束調(diào)整量的解δ=[δεtmin,δεtmax]t,給出滿足極限區(qū)間[yi,min,yi,max]的調(diào)整后可行目標(biāo)區(qū)間[εi,min,εi,max]t+δ,δεmin,δεmax分別表示最大約束值εmax和最小約束值εmin的調(diào)整量;yi,min,yi,max分別為輸出變量yi的極限區(qū)間的最大值和最小值,εi,min,εi,max分別為輸出變量yi的期望區(qū)間最小值和最大值,上角標(biāo)t代表向量或矩陣的轉(zhuǎn)置;
子算法1:
設(shè)定系統(tǒng)控制量的穩(wěn)態(tài)值為us,輸出量的穩(wěn)態(tài)值ys,穩(wěn)態(tài)增益矩陣為gs,若存在us和ys滿足:
則稱期望區(qū)間可行;
其中,ys為輸出量的穩(wěn)態(tài)值;us為控制量的穩(wěn)態(tài)值;umax,umin分別為控制量u的最大值和最小值矢量;δεmax,δεmin分別為最大約束值εmax和最小約束值εmin的調(diào)整量;δ為區(qū)間調(diào)整量的解;上角標(biāo)t代表向量或矩陣的轉(zhuǎn)置。
上式可轉(zhuǎn)化為求解線性規(guī)劃:
其中:
w為最優(yōu)解;
z為z的元素;
x1=us-umin,us為控制量u的穩(wěn)態(tài)值;umin為控制量u的最小值;
x2=umax-us,umax為控制量u的最大值;
x3=gsus-εmin+δεmin,εmin為輸出變量期望區(qū)間的最小值,δεmin為εmin的調(diào)整量;
x4=εmax-gsus+δεmax,εmax為輸出變量期望區(qū)間的最大值,δεmax為εmax的調(diào)整量;
權(quán)值ct=[c1…c2s]為1行2s列的向量,s為輸出量個(gè)數(shù);c反映δ中的元素δi的可調(diào)程度,輸出變量yi優(yōu)先級(jí)越高,ci越小,可接受調(diào)整量越大。對(duì)硬約束yj可置cj為充分大的正數(shù)。該線性規(guī)劃若有最優(yōu)解wmin=0,則說明原期望區(qū)間是可行的,不需要調(diào)整;若求得wmin>0,說明原期望區(qū)間需要加入調(diào)整量δ。經(jīng)用戶與計(jì)算機(jī)多次協(xié)調(diào)后,最終會(huì)有調(diào)整量δ=0,此時(shí)目標(biāo)區(qū)間是可行的,同時(shí)能找到一個(gè)穩(wěn)態(tài)解ys,即非方瘦系統(tǒng)存在穩(wěn)定解。
206d)采集得到當(dāng)前環(huán)境因子值并與控制區(qū)間進(jìn)行比較,設(shè)控制性能指標(biāo)為:
性能指標(biāo)中,
經(jīng)推導(dǎo)后性能指標(biāo)可轉(zhuǎn)換為如下二次規(guī)劃:
s.t.dx≤d
其中,
設(shè)
b=diag(b0,b0,…,b0)∈rsm×sm,b為以b0為對(duì)角線元素的sm行sm列矩陣,s為輸出變量個(gè)數(shù);
則
求得控制作用后并不把所有的控制作用全部實(shí)施,而是取其中的即時(shí)控制增量δu(k)構(gòu)成控制量施加于被控對(duì)象。根據(jù)類似的優(yōu)化問題遞推求出下一時(shí)刻k+1時(shí)的控制增量δu(k+1),即
u(k)=u(k-1)+(1,0,…,0)δum(k)(8)
其中u(k)為當(dāng)前時(shí)刻k的控制量,u(k-1)為前一時(shí)刻k-1的控制量,δum(k)為k時(shí)刻控制量的變化量。
206e)系統(tǒng)根據(jù)控制量求得的輸出預(yù)測值,在預(yù)測模型輸出的基礎(chǔ)上用實(shí)際輸出誤差進(jìn)行反饋校正,以實(shí)現(xiàn)閉環(huán)預(yù)測,即
yc(k)=y(tǒng)pm(k)+le(k)(9)
ypm(k+1)=y(tǒng)c(k)(10)
其中:
k為當(dāng)前時(shí)刻;
k+1時(shí)刻為下一時(shí)刻;
yc(k)為校正后當(dāng)前時(shí)刻k的模型預(yù)測輸出;
ypm(k)為k時(shí)刻預(yù)測模型,p表示預(yù)測時(shí)域,m表示控制時(shí)域;
l=[1,1,…,1]t∈rrp×1表示l為r×p行1列的全1向量,r為輸出變量的個(gè)數(shù);
e(k)=y(tǒng)(k)-ym(k),為系統(tǒng)當(dāng)前時(shí)刻k時(shí)實(shí)際輸出y(k)與預(yù)測輸出ym(k)的差;y(k)為系統(tǒng)當(dāng)前時(shí)刻k時(shí)的實(shí)際輸出值;ym(k)為當(dāng)前時(shí)刻k時(shí)的模型預(yù)測輸出值;
如圖9a、9b、9c、9d所示,為被控過程端中心控制器軟件流程圖,在本實(shí)施例中,中心控制器的軟件流程圖主要由以下步驟組成:
101)通信模塊的初始化,經(jīng)過該初始化之后,中心控制器將可以與“云控制器”進(jìn)行通信,同時(shí)可以與接入局域網(wǎng)內(nèi)的client端進(jìn)行數(shù)據(jù)收發(fā);該步驟具體分為:
101a)初始化gprs模塊,將該gprs模塊接入到“云控制器”中;
101b)初始化wifi模塊,建立局域網(wǎng)中的server端,供client端(數(shù)據(jù)終端和控制終端)進(jìn)行接入;
102)通過gprs模塊接收“云控制器”信息;
103)檢查是否接收到了“云控制器”發(fā)送的信息,是則執(zhí)行步驟104),否則進(jìn)行步驟105);
104)對(duì)來自“云控制器”數(shù)據(jù)包進(jìn)行解析,具體分為:
104a)檢查幀頭是否是查詢幀幀頭,是則將打包好的數(shù)據(jù)通過gprs模塊發(fā)送,否則進(jìn)行下一步;
104b)檢查幀頭是否是控制幀幀頭,是則通過wifi模塊發(fā)送控制幀給局域網(wǎng)內(nèi)相應(yīng)的控制終端或者自行進(jìn)行控制;
105)通過wifi模塊接收來自局域網(wǎng)的信息;
106)檢查是否接收到了局域網(wǎng)內(nèi)的數(shù)據(jù)包,是則執(zhí)行步驟107),否則執(zhí)行步驟108);
107)對(duì)來自局域網(wǎng)數(shù)據(jù)包進(jìn)行解析,具體分為:
107a)檢查幀頭是否是數(shù)據(jù)終端回執(zhí)幀頭,是則將數(shù)據(jù)按協(xié)議進(jìn)行解析并放入發(fā)送隊(duì)列中,否則進(jìn)行下一步;
107b)檢查幀頭是否是控制終端回執(zhí)幀頭,是則將數(shù)據(jù)按協(xié)議解析并判斷解析得到的數(shù)據(jù)是否和發(fā)送出的控制數(shù)據(jù)相等,相等則通過wifi模塊發(fā)送確認(rèn)幀給相應(yīng)的控制終端,不相等則重新發(fā)送控制幀并等待回執(zhí);
108)自身攜帶的傳感器進(jìn)行數(shù)據(jù)采集并濾波(具體步驟和方法如圖10a、10b中的傳感器信息采集濾波流程);
109)對(duì)得到的環(huán)境變量進(jìn)行顯示。
如圖10a、10b所示,為被控過程端中數(shù)據(jù)終端軟件流程圖,本實(shí)施例中,數(shù)據(jù)終端軟件主要包括以下幾個(gè)步驟:
1001)初始化wifi模塊,接入局域網(wǎng)中的server端,初始化后的wifi模塊可以與局域網(wǎng)的server端(中心控制器)進(jìn)行相互通信;
1002)通過wifi模塊接收局域網(wǎng)的信息,該信息主要是來自局域網(wǎng)server端(中心控制器)的信息;
1003)檢查是否接收到了中心控制器的查詢幀,是則執(zhí)行步驟1004),否則執(zhí)行步驟1005);
1004)將當(dāng)前數(shù)據(jù)通過wifi模塊發(fā)送給中心控制器;
1005)以設(shè)定的采樣頻率(頻率分布在100hz~0.5hz之間,不同傳感器的采樣頻率不一樣)對(duì)傳感器進(jìn)行數(shù)據(jù)采集,將采集到的數(shù)據(jù)進(jìn)行濾波,濾波具體分為:
1005a)將采集到的原始數(shù)值放入數(shù)據(jù)隊(duì)列中;
1005b)除去隊(duì)列中的最大最小值(將最大最小值視為量測噪聲);
1005c)求取隊(duì)列中還存在的數(shù)據(jù)的平均值作為當(dāng)前值;
1005d)對(duì)上述當(dāng)前值進(jìn)行低通濾波(溫室環(huán)境為大滯后過程,數(shù)據(jù)變化較慢),再次去除噪聲干擾,低通濾波之后的值作為當(dāng)前時(shí)刻環(huán)境變量的真實(shí)值;
1006)對(duì)濾波之后的環(huán)境變量進(jìn)行顯示,之后返回步驟1002)。
如圖11所示,為控制終端軟件流程圖,本實(shí)施例中,控制終端軟件包括以下步驟:
501)初始化wifi模塊,接入局域網(wǎng)中的server端,初始化的wifi模塊可以與局域網(wǎng)的server端(中心控制器)進(jìn)行相互通信;
502)通過wifi模塊接收局域網(wǎng)的信息,該信息主要是局域網(wǎng)server端(中心控制器)的信息;
503)檢查是否接收到了中心控制器的控制幀,是則執(zhí)行步驟504),否則執(zhí)行步驟505);
504)通過wifi模塊發(fā)送控制終端回執(zhí)幀,用于校驗(yàn)控制數(shù)據(jù)的對(duì)錯(cuò);
505)檢查是否接收到了中心控制器的確認(rèn)幀,是則執(zhí)行步驟506),否則執(zhí)行步驟507);
506)執(zhí)行控制幀發(fā)送過來的控制量;
507)顯示當(dāng)前執(zhí)行器的狀態(tài),返回步驟502)。
本發(fā)明在系統(tǒng)結(jié)構(gòu)方面,云控制系統(tǒng)基于“云計(jì)算”原理,提出一種全新的控制系統(tǒng)結(jié)構(gòu)。該結(jié)構(gòu)使得整個(gè)控制系統(tǒng)設(shè)計(jì)關(guān)注的重心為被控過程,主要方法是將控制算法置于遠(yuǎn)方的“云端”中,設(shè)計(jì)人員的主要關(guān)注點(diǎn)在被控過程上,而不是控制器上。該結(jié)構(gòu)可以使控制系統(tǒng)更加靈活方便,降低設(shè)計(jì)成本。同時(shí),本系統(tǒng)采用非方瘦系統(tǒng)的區(qū)間控制方法,更適應(yīng)溫室環(huán)境的特點(diǎn)和實(shí)際需求,可以對(duì)溫室環(huán)境施加更加有效的控制。