農業(yè)儀器網

人工氣候室主機系統(tǒng)軟件設計方案

來源:  類別:技術文章  更新時間:2014-01-15  閱讀

     控制植物生長環(huán)境的設施和設備由簡單的生長箱發(fā)展到控制復雜的人工氣候室。筆者開發(fā)的基于CAN(controller areanetwork,即控制器局域網)總線的人工氣候室智能測試系統(tǒng),主要用于對植物生長的溫度、濕度、光照度和CO2含量等狀態(tài)參數的自動檢測,對人工氣候實驗室的異常情況進行故障初發(fā)期的報警處理,模擬人類智能信息融合能力,分析植物生長狀態(tài),控制植物生長環(huán)境所需的溫度、濕度、光照度和CO2含量,從而為植物生長環(huán)境的信息融合和控制決策奠定了基礎。系統(tǒng)具有參數檢測、參數分析、故障自檢、系統(tǒng)保密、病毒防護、知識查詢等多種功能。主機軟件采用VB(Visual Basic)和LabVIEW編寫。VB作為可視化的編程語言具有簡單易學、功能強大的特點,能在短時期內開發(fā)一個完整、易于操作的應用軟件。而美國NI(National Instrument)公司推出的LabVIEW圖形化編程語言,是計算機硬件、儀器測控硬件和用于數據分析及圖形用戶界面的軟件之間的有效結合,是最成功的虛擬儀器軟件,提供了所見即所得的圖形化界面編輯環(huán)境。在系統(tǒng)的主機軟件設計中,VB用于完成數據信息的通信,LabVIEW用于完成數字、圖形化處理。二者結合,使主機軟件具有比其他僅以VB為開發(fā)平臺的系統(tǒng)主機軟件更豐富完善的功能和視覺效果。系統(tǒng)已投入實際應用。
1 系統(tǒng)構成
     系統(tǒng)主要由中心控制室、試驗培養(yǎng)室和人工能源室三大部分組成。中心控制室是自然能源利用和人工能源分配的控制中心。試驗培養(yǎng)室是用于模擬自然環(huán)境的人工氣候室。人工能源室是在自然能源受限的情況下,按中心控制室的指令向試驗培養(yǎng)室提供人工能源,以滿足培養(yǎng)室各試驗單元和整體環(huán)境的要求。系統(tǒng)的結構框圖如圖1所示。

人工氣候室系統(tǒng)的結構框圖

     系統(tǒng)以PC機(586/266以上機型)作為主機,以80C592單片機系統(tǒng)和溫度、濕度、光照度和CO2含量等參數測量電路為分機。作為系統(tǒng)的核心,主機安放在系統(tǒng)的控制室,分機安放在各個培養(yǎng)室,原則上一個光照箱安放一個分機。一臺主機可以管理1~200臺分機,一臺分機可以連接檢測溫度、濕度、光照度和CO2含量等共計1~128個傳感器。主機通過CAN串行總線,管理著10 km范圍內安放在培養(yǎng)室中的分機(CAN節(jié)點);每臺分機通過安裝在培養(yǎng)室中的各類不同的傳感器對狀態(tài)參數的采集與信息傳輸。
     根據不同類型植物在不同生長時期及不同生長季節(jié),控制室主機設定植物不同的理想生長狀態(tài)參數。同時,主機根據安裝在培養(yǎng)室的分機中各傳感器所檢測到的實際狀態(tài)參數,與設定的理想狀態(tài)參數比較、通過模糊運算以及處理,控制人工能源室向培養(yǎng)室提供人工能源。這種以CAN總線結構的通信方式,具有實時性好、運行成本低、系統(tǒng)組建方便和工作的高可靠性等優(yōu)點。而主機軟件的合理設計是系統(tǒng)穩(wěn)定、可靠運行的關鍵,它直接影響著植物生長所需的環(huán)境狀態(tài)參數。
2 主機軟件設計
     主機軟件設計遵循模塊化設計思想,采用結構化程序設計方案,具有較好的模塊性、可移植性和可修改性。主機軟件模塊主要有:通信模塊、數據顯示模塊、圖形化顯示模塊、歷史數據記錄模塊、數據分析處理模塊、決策和控制模塊等。其中,溫度、濕度、光照度和CO2含量等參數的圖形化顯示還具有顏色提示和警示功能。例如,溫度檢測圖形化顯示時,紅色顯示表明溫度過高,綠色表示溫度在正常范圍,黃色表示溫度過低。系統(tǒng)進行檢測時,根據設定,主機首先連接某一分機或所有分機,然后將分機采集的測量數據傳送到主機,存放在數據庫中,進行分析處理。由于具有圖形化顯示功能,從主機顯示或打印輸出上,可以一目了然地得到培養(yǎng)室的運行情況并實現系統(tǒng)故障自檢及其他相關功能。主機的工作流程如圖2所示。

人工氣候室主機的工作流程
2. 1 主機通信軟件模塊設計系統(tǒng)主機通信包括主機RS2232的串口通信以及主機與分機之間的CAN總線通信;CAN總線通信模塊包括點名、檢測、設置等通信軟件模塊。
2. 1. 1 主機的串口通信軟件設計
     主機計算機中一般都有兩個RS2232串行通信口,該口完成串行數據轉換和串行數據接收、發(fā)送任務,采用RS2232通信標準,其結構和使用都很簡單。而主機系統(tǒng)軟件VB的MSCOMM控件提供了事件驅動和查詢方式兩種方法實現串口通信。其中:事件驅動是處理串行端口交互作用的一種非常有效的方法;而查詢方式是通過MSCOMM控件間接調用API函數,充分利用系統(tǒng)已有的ActiveX控件實現快速開發(fā)正是VB的優(yōu)點之一;兩種方法都能實現串口通信和數據信息的傳輸。
2. 1. 2 人工氣候室的CAN總線特點與工作原理
     CAN總線是一種有效支持分布式控制或實時控制的串行通信網絡,它以半雙工的方式工作,一個節(jié)點發(fā)送信息,多個節(jié)點接收信息,可以實現全分布式多機系統(tǒng),提高數據在網絡中傳輸的可靠性。其結構形式如圖3所示。

人工氣候室系統(tǒng)軟件CAN總線結構圖

      CAN總線的信息存取采用一種稱作廣播式的存取工作方式,信息可以在任何時候由任何節(jié)點發(fā)送到空閑的總線上,每個節(jié)點的CAN總線接口必須接收總線上出現的所有信息,因此各節(jié)點都設置有一個接收寄存器,接收寄存器首先將信息接收,然后根據接收信息的標識符決定是否讀取信息包中的數據,即判定是否使用這一信息。
     CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的地址編碼,而代之以對通信數據塊進行編碼。CAN總線面向數據而不是面向節(jié)點,采用這種方法的優(yōu)點是可使網絡內的節(jié)點個數在理論上不受限制,加入和減少設備不影響系統(tǒng)的工作。因此,系統(tǒng)可以根據用戶的不同需要,任意改變分機的數量。CAN總線收發(fā)數據的長度最多為8 B,因而不存在占用總線時間過長的問題,可以保證通信的實時性。通信速率最高可達1Mb/s(通信距離40 m),通信距離最遠可達10 km(傳輸速率為5 kb/s)。通信介質可以是同軸電纜或光導纖維,甚至可采用雙絞線。
2. 1. 3 點名通信軟件模塊設計
     點名、檢測、設置等通信模塊,命令格式基本相同,因為各自執(zhí)行的命令號不同,所以能實現不同的功能。下面以點名命令的通信模塊詳細說明。點名命令主要用來查詢分機個數以及分機下掛溫度、濕度、光照度和CO2含量傳感器個數,該命令一般在系統(tǒng)初次上電時才被執(zhí)行。
人工氣候室的CAN節(jié)點個數為1~200個,因此主機必須事先知道分機的個數及其地址,以便主機統(tǒng)一管理。分機下掛溫度、濕度、光照度和CO2含量傳感器,采用的80C592單片機可以連接分布于培養(yǎng)室的傳感器個數為1~128個,因此,系統(tǒng)中的每個分機管理的傳感器個數也為1~128個。所以,系統(tǒng)主機也必須事先知道系統(tǒng)分機的傳感器個數及其地址,才可完成對培養(yǎng)室中具體區(qū)域的具體溫度、濕度、光照度和二氧化碳監(jiān)測的檢測等工作。
     系統(tǒng)主機發(fā)送的點名命令格式為:“0BBH”+CANADD+“0AAH”+cmnd+Byteh+Bytel+ad2rh+adrl+chkxor+chksum,其中:“0BBH”為主機發(fā)送命令的起始碼,即命令頭;CANADD為系統(tǒng)中CAN節(jié)點的地址;“0AAH”為主、分機之間,以及分機與各傳感器之間進行通信的命令起始碼;cmnd為命令號;Byteh、Bytel為所要檢測的數據字節(jié)數,其中Byteh為字節(jié)高8位,Bytel為低8位,所檢測的數據總長度=(Byteh* 256+Bytel)個字節(jié);adrh、adr分別為檢測對象的傳感器型號和傳感器編號(每個對象都有其固定的傳感器型號和傳感器編號,這由協(xié)議來規(guī)定);chkxor、chksum分別為異或校驗、和校驗。
2. 2 VB與LabVIEW的程序嵌套設計
     將VB與LabVIEW應用于系統(tǒng)的主機軟件開發(fā),可以同時利用VB、LabVIEW的技術優(yōu)勢,組成靈活的虛擬儀器應用系統(tǒng),實現監(jiān)測信息的圖形化處理及對系統(tǒng)的有效控制。
2. 2. 1 系統(tǒng)資源的共享
     利用VB完成系統(tǒng)的自檢、通信、歷史數據記錄、數據分析處理、決策和控制等軟件模塊的設計,利用LabVIEW完成主機系統(tǒng)自檢、數據顯示、圖形化顯示等軟件模塊的設計,利用VB與LabVIEW共同完成主機自檢、數據顯示、圖形化顯示等軟件模塊的設計。
     當主機將從串口采集主集中器傳送的數據,通過VB管理,數據以Access數據庫的形式儲存起來。DDE(dynamic data ex2change,即動態(tài)數據交換)技術的應用,使得虛擬儀器LabVIEW軟件平臺能夠調用該數據庫中的數據,以顯示參數結果。在本系統(tǒng)中,采用了功能強大的DDE系列函數完成了數據的交換和共享工作。實踐證明,DDE技術運行可靠,不易出錯。
2. 2. 2 在VB中嵌入LabVIEW
     主機軟件VB中嵌入LabVIEW,是通過OLE(object linkingand embedding,對象的鏈接和嵌入)技術來實現的,OLE是系統(tǒng)主機虛擬化顯示的核心技術。利用OLE技術,在開發(fā)系統(tǒng)主機的虛擬化顯示功能時,系統(tǒng)虛擬顯示部分的開發(fā)程序以Lab2VIEW平臺為中心(而不是以VB為中心)。通過OLE,VB能夠將LabVIEW軟件作為對象嵌入到VB中去,而且VB對所嵌入的LabVIEW的處理就像對其本身對象的處理一樣方便快捷。為實現OLE自動化功能,首先生成一個變量來引用Lab2VIEW,這個變量稱為對象變量(ObjectVariable)。以溫度虛擬檢測為例,源程序設計如下:
Dim LVappAsLabVIEW.Application———‘定義LabVIEW應用程序變量Dim LVIAs LabVIEW.VirtualInstrument———‘定義虛擬儀器變量
Dim LVpathAs String———‘定義虛擬儀器系統(tǒng)路徑LVpath=APP. Path +": \LabVIEW \user. lib\實時溫度. vi"
SetLVapp=CreateObject("LabVIEW.Application")———‘啟動虛擬儀器應用程序
SetLVI=LVapp.GetVIReference(LVpath)———‘調用路徑所指向的虛擬儀器系統(tǒng)
LVI.FPAutoCenter=True———‘當虛擬儀器程序被運行時,LabVIEW前面板位于屏幕的中央
LVI.FPW inOpen=True———‘調用虛擬儀器程序時打開并顯示前面板
LVI.Run (True)———‘運行虛擬儀器程序利用以上代碼,可以在VB程序中嵌入LabVIEW,實現系統(tǒng)圖形化虛擬面板功能。當虛擬面板生成以后,便可以操作面板中的各種控件(Controls),來運行或控制虛擬儀器程序。程序運行完畢以后,關閉虛擬儀器前面板( front panel),以釋放計算機的內存空間。
3 結束語
     人工氣候室智能測試系統(tǒng)主機軟件的CAN總線通信軟件的設計采用全程跟蹤和記錄技術,方便了工作人員對通信過程的了解,提高了系統(tǒng)的故障解決能力。VB與LabVIEW應用于人工氣候室智能測試系統(tǒng),充分利用了VB的易開發(fā)優(yōu)勢和虛擬儀器的圖形化、模塊化編程優(yōu)勢,使主機軟件功能大為增強。此外,系統(tǒng)可與其他系統(tǒng)軟件連接,并可實現遠程資源共享和網上信息瀏覽與查詢。

相關產品:溫濕度記錄儀   光合有效輻射記錄儀

  • 中國農業(yè)儀器網】聲明部分文章轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,且不承擔此類作品侵權行為的直接責任及連帶責任。如涉及作品內容、版權和其它問題,請在30日內與本網聯(lián)系。

©2024 http://www.ktty36.com 版權所有:浙江托普云農科技股份有限公司

地址:杭州市拱墅區(qū)祥園路88號中國(杭州)智慧信息產業(yè)園I座11-13樓

聯(lián)系電話:0571-86056609 0571-86059660 0571-88971438

售后服務專線:400-672-1817

浙ICP備09083614號

免費咨詢

  • 在線詢價: QQ
  • 南:13388425012
  • 微信客服
  • 北:19032001373
  • 微信客服