摘 要:作物生長(zhǎng)需要一個(gè)適宜的環(huán)境,在可控環(huán)境下,可以不分季節(jié)、不分地區(qū)地種植所需的作物??刂葡到y(tǒng)為實(shí)現(xiàn)這一目標(biāo)提供了基礎(chǔ)??刂葡到y(tǒng)設(shè)計(jì)采用主從模式,基于RS-485 總線協(xié)議,設(shè)計(jì)全數(shù)字化傳感器和測(cè)控輸入輸出模塊;采用COM組件技術(shù)設(shè)計(jì)應(yīng)用軟件的數(shù)據(jù)采集、控制算法和控制輸出組件。整個(gè)系統(tǒng)經(jīng)過(guò)測(cè)試和運(yùn)行,證明滿足可控環(huán)境調(diào)控要求。
關(guān)鍵詞:現(xiàn)場(chǎng)總線,分布式系統(tǒng),COM組件,可控環(huán)境,智能節(jié)點(diǎn)
1 引言
設(shè)施農(nóng)業(yè)已成為我國(guó)農(nóng)業(yè)重要的一個(gè)領(lǐng)域,就是要跨越一個(gè)地域或跨越時(shí)區(qū),創(chuàng)造一個(gè)可控環(huán)境,給作物提供良好的生存條件。在九五期間國(guó)家啟動(dòng)了工廠化農(nóng)業(yè)示范項(xiàng)目,經(jīng)過(guò)五年的示范,取得了一定的成就。設(shè)施農(nóng)業(yè)中的一個(gè)共性問(wèn)題之一,就是環(huán)境的調(diào)控問(wèn)題,在九五期間已經(jīng)引起了設(shè)施領(lǐng)域,控制領(lǐng)域的高度重視,期間領(lǐng)域?qū)<蚁蚩茖W(xué)技術(shù)部提供了許多建設(shè)性的工廠化農(nóng)業(yè)發(fā)展戰(zhàn)略報(bào)告,因此在十五期間國(guó)家啟動(dòng)了工廠化農(nóng)業(yè)的關(guān)鍵技術(shù)研究與示范項(xiàng)目。就設(shè)施農(nóng)業(yè)的一個(gè)共性問(wèn)題-環(huán)境調(diào)控,啟動(dòng)了溫室環(huán)境智能控制關(guān)鍵技術(shù)研究與示范課題。該課題的主要研究?jī)?nèi)容之一研究基于總線技術(shù)的控制系統(tǒng),給溫室環(huán)境調(diào)控提供了一個(gè)硬件基礎(chǔ)。本文介紹系統(tǒng)的設(shè)計(jì)原理與性能測(cè)試方法。
2 系統(tǒng)描述
系統(tǒng)由上位機(jī)(Host)、通訊總線RS-485、測(cè)量傳感器、控制輸入輸出模塊等組成。如圖1所示。
上位機(jī)軟件核心部分:數(shù)據(jù)采集與處理模塊;控制算法模塊;輸出控制模塊;通訊處理模塊和實(shí)時(shí)數(shù)據(jù)庫(kù)組成,如圖2 所示。
[align=center]
圖2 控制軟件核心部分結(jié)構(gòu)[/align]
從圖2可以看出,實(shí)時(shí)數(shù)據(jù)庫(kù)[1]是整個(gè)上位機(jī)控制站軟件系統(tǒng)的中心環(huán)節(jié)。它相當(dāng)于一個(gè)運(yùn)載工具,將各部分的信息(包括狀態(tài)、控制、數(shù)據(jù))從一個(gè)執(zhí)行模塊傳到另一個(gè)執(zhí)行模塊。也可以將它理解成一個(gè)倉(cāng)庫(kù),從各通道采集來(lái)的數(shù)據(jù),以及網(wǎng)絡(luò)上傳的數(shù)據(jù)存入實(shí)時(shí)數(shù)據(jù)庫(kù)中,而別的模塊(如輸出模塊,控制算法等)需要數(shù)據(jù)時(shí),可以不直接到傳感器上去取,而是直接從實(shí)時(shí)數(shù)據(jù)庫(kù)中去取就可以了,同時(shí)運(yùn)算的中間結(jié)果也存放在實(shí)時(shí)數(shù)據(jù)庫(kù)中。實(shí)時(shí)數(shù)據(jù)庫(kù)的另一個(gè)作用是實(shí)現(xiàn)數(shù)據(jù)共享,如幾個(gè)控制算法都需要某一個(gè)傳感器信號(hào),如果沒(méi)有實(shí)時(shí)數(shù)據(jù)庫(kù),則每次用到此數(shù)據(jù)都得去通道上輸入,同時(shí),每個(gè)模塊必須重復(fù)地輸入、轉(zhuǎn)換和存儲(chǔ)該數(shù)據(jù)。而有了實(shí)時(shí)數(shù)據(jù)庫(kù),只需要一個(gè)輸入模塊周期性地輸入該點(diǎn)的信息,并完成轉(zhuǎn)換、極限轉(zhuǎn)換、將結(jié)果放在數(shù)據(jù)庫(kù)中,這樣不論有多少控制算法需要此點(diǎn),只要去實(shí)時(shí)數(shù)據(jù)庫(kù)中拷來(lái)用即可。
軟件輔助的功能有:歷史數(shù)據(jù)的存儲(chǔ);過(guò)程畫(huà)面顯示和管理;報(bào)警信息的管理;記錄報(bào)表的管理和打印;參數(shù)列表顯示;人-機(jī)接口控制等。
3 硬件系統(tǒng)的設(shè)計(jì)
硬件系統(tǒng)如圖1 所示,在選擇完上位機(jī)后,根據(jù)控制現(xiàn)場(chǎng)的情況,合理的配置RS-485總線,之后主要任務(wù)是開(kāi)發(fā)硬件設(shè)備:智能傳感器、I/O輸入輸出模塊、模擬量輸入輸出模塊。由于模塊通訊協(xié)議采用RS-485, 通訊可靠性問(wèn)題顯得特別重要。RS-485 是主從通訊模式,要保證可靠的采集數(shù)據(jù),控制輸入輸出,就要設(shè)計(jì)中斷軟件模塊。當(dāng)模塊中斷被激活后,所有的數(shù)據(jù)采集、輸入輸出任務(wù)均應(yīng)在中斷程序中完成[2]。
3.1 智能傳感器模塊
智能傳感器模塊有溫濕度傳感器;光照度傳感器。設(shè)計(jì)流程圖如圖3所示。
[align=center]
圖3 傳感器設(shè)計(jì)流程圖[/align]
軟件主要流程如圖4所示,在中斷內(nèi)完成所需的一切任務(wù)。
[align=center]
圖4 傳感器軟件中斷流程圖[/align]
3.2 輸入輸出模塊
該模塊的類型有四類:(1)數(shù)字量輸出模塊:輸出點(diǎn)數(shù)為8點(diǎn);采用光電隔離技術(shù);具有軟硬看門狗;驅(qū)動(dòng)能力:最大輸出電流500MA;通訊協(xié)議RS-485;供電電源: 24VDC。(2)數(shù)字量輸入:輸入點(diǎn)數(shù)為8點(diǎn);通訊協(xié)議RS-485;采用光電隔離技術(shù);具有軟硬看門狗;檢測(cè)輸入電壓5~48VDC;供電電源: 24VDC。(3)模擬量輸入模塊:輸入通道8;具有軟硬看門狗;輸入信號(hào)0~5VDC 或4~20MA; 通訊協(xié)議RS-485;分辨率8位或12位;供電電源: 24VDC。(4)模擬量輸出模塊:輸出通道2; 輸出信號(hào)4-20MA;分辨率8位或12位;通訊協(xié)議RS-485;供電電源: 24VDC。由于篇幅所限,硬件設(shè)計(jì)原理流程與軟件設(shè)計(jì)流程略。
4 軟件系統(tǒng)設(shè)計(jì)
應(yīng)用軟件的核心部分由幾個(gè)控件構(gòu)成,如圖1所示,數(shù)據(jù)采集組件;控制算法組件;控制輸出組件等,在此介紹控制算法組件的設(shè)計(jì)原理。
4.1 COM組件技術(shù)
使用Com組件技術(shù)給用戶帶來(lái)靈活性。一個(gè)Com 組件是一個(gè)執(zhí)行程序代碼的單元,例如,一個(gè)*.EXE, *.DLL, *.OCX 文件,Com 組件遵從用于提供對(duì)象的Com 規(guī)范。Com 組件展示可以被其他應(yīng)用程序使用的對(duì)象[3]。利用Visual Basic 可以創(chuàng)建三種類型的Com 組件,Active X 控件,Active 文檔,Com 可執(zhí)行程序和 DLL. 下面介紹如何創(chuàng)建智能控制算法的Intell_algor.DLL。
4.2 Intell_algor.DLL 算法庫(kù)的生成方法
算法庫(kù)包括許多算法,例如,智能PID算法,基于遺傳技術(shù)的各種算法,模糊控制算法,神經(jīng)控制算法等。以模糊控制算法為例敘述。流程如圖5 所示。
[align=center]
圖5 帶有優(yōu)化器的模糊控制組件[/align]
由于使用二維模糊算法且該算法具有靈活性-適應(yīng)不同控制對(duì)象的要求或是時(shí)變對(duì)象,在輸入端的信息有量化因子k[sub]e[/sub]、k[sub]ec[/sub],比例因子k[sub]u[/sub];輸入量化等級(jí)p、q,輸出量化等級(jí)r;允許的誤差及誤差的變化率Ena_E、
;控制時(shí)間間隔Int_T;設(shè)定點(diǎn)參數(shù)Set_P、實(shí)時(shí)采集參數(shù)Samp_P、前一次采樣參數(shù)Samp_P0。Intell_algor.DLL 的輸出信息有兩個(gè)p、q。其中控制表是一個(gè)脫離組件的控制表,可由p 、q查閱控制表得到輸出的量化等級(jí)r,反模糊化后輸出到執(zhí)行機(jī)構(gòu)上。
控制表優(yōu)化器可在線運(yùn)行,也離線運(yùn)行,可根據(jù)實(shí)際情況來(lái)確定。有關(guān)二維模糊控制起的原理及優(yōu)化方法、編程規(guī)范參閱文獻(xiàn)[4][5]。
編制好的Intell_algor.DLL 在使用時(shí)要事先注冊(cè),注冊(cè)方法參考文獻(xiàn)[3]。
5 系統(tǒng)測(cè)試
系統(tǒng)的測(cè)試內(nèi)容有兩項(xiàng):一是網(wǎng)絡(luò)運(yùn)行的可靠性考核;二是本系統(tǒng)的控制算法考核。
系統(tǒng)的數(shù)據(jù)采集節(jié)點(diǎn)14個(gè),其中有四個(gè)溫濕度傳感器節(jié)點(diǎn);四個(gè)輸出節(jié)點(diǎn);兩個(gè)輸入節(jié)點(diǎn);兩個(gè)光照傳感器節(jié)點(diǎn);一個(gè)風(fēng)速傳感器節(jié)點(diǎn);一個(gè) 傳感器節(jié)點(diǎn)。測(cè)試時(shí)間2003/1/27 到 2003/2/8,采集所有節(jié)點(diǎn)數(shù)據(jù),采樣時(shí)間5秒,不加任何處理進(jìn)行數(shù)據(jù)記錄。有一次斷網(wǎng)情況,時(shí)間持續(xù)25秒。各個(gè)節(jié)點(diǎn)隨機(jī)出現(xiàn)的誤碼每天大約3次。經(jīng)過(guò)軟件簡(jiǎn)單處理,上述情況沒(méi)有發(fā)生。對(duì)于控制算法的測(cè)試是調(diào)控溫室環(huán)境因子溫度,初測(cè)幾天的數(shù)據(jù)分析看有模糊控制的空擋現(xiàn)象,經(jīng)過(guò)組件改進(jìn)后,運(yùn)行近5天,一切正常。
6 結(jié)論
該系統(tǒng)的研制為可控環(huán)境的調(diào)控提供了基礎(chǔ),組建控制系統(tǒng)的靈活。研制的智能傳感器和測(cè)控模塊是基于網(wǎng)絡(luò)技術(shù)設(shè)計(jì)的,開(kāi)發(fā)的應(yīng)用軟件的核心部分采用了COM組件技術(shù),用戶使用方便,可在短期內(nèi)開(kāi)發(fā)出界面友好的應(yīng)用軟件。整個(gè)系統(tǒng)經(jīng)過(guò)近半年的運(yùn)行,證明軟硬件設(shè)計(jì)合理,符合用戶需求。
參考文獻(xiàn)
[1] 王常力,廖道文. 集散型控制系統(tǒng)的設(shè)計(jì)與應(yīng)用[M]. 北京,清華大學(xué)出版社,1993
[2] 何立民. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京,北京航空航天大學(xué)出版社,1990
[3] 李海. Visual Basic 編程普及:Active X 控件[M]. 北京,北京航空航天大學(xué)出版社,2000
[4] 王磊,王為民. 模糊控制理論及應(yīng)用[M]. 北京,國(guó)防工業(yè)出版社,1997
[5] 周長(zhǎng)發(fā). 科學(xué)與工程數(shù)值算法[M]. 北京,清華大學(xué)出版社,2002