污水處理設備 污泥處理設備 水處理過濾器 軟化水設備/除鹽設備 純凈水設備 消毒設備|加藥設備 供水/儲水/集水/排水/輔助 水處理膜 過濾器濾芯 水處理濾料 水處理劑 水處理填料 其它水處理設備
浙江農業儀器有限公司
暫無信息 |
閱讀:523發布時間:2013-1-21
控制植物生長環境的設施和設備由簡單的生長箱發展到控制復雜的植物生長室。筆者開發的基于CAN(controller areanetwork,即控制器局域網)總線的人工氣候室智能測試系統,主要用于對植物生長的溫度、濕度、光照度和CO2含量等狀態參數的自動檢測,對人工氣候實驗室的異常情況進行故障初發期的報警處理,模擬人類智能信息融合能力,分析植物生長狀態,控制植物生長環境所需的溫度、濕度、光照度和CO2含量,從而為植物生長環境的信息融合和控制決策奠定了基礎。系統具有參數檢測、參數分析、故障自檢、系統保密、病毒防護、知識查詢等多種功能。主機軟件采用VB(Visual Basic)和LabVIEW編寫。VB作為可視化的編程語言具有簡單易學、功能強大的特點,能在短時期內開發一個完整、易于操作的應用軟件。而美國NI(National Instrument)公司推出的LabVIEW圖形化編程語言,是計算機硬件、儀器測控硬件和用于數據分析及圖形用戶界面的軟件之間的有效結合,是zui成功的虛擬儀器軟件,提供了所見即所得的圖形化界面編輯環境。在系統的主機軟件設計中,VB用于完成數據信息的通信,LabVIEW用于完成數字、圖形化處理。二者結合,使主機軟件具有比其他僅以VB為開發平臺的系統主機軟件更豐富完善的功能和視覺效果。系統已投入實際應用。
1 系統構成
系統主要由中心控制室、試驗培養室和人工能源室三大部分組成。中心控制室是自然能源利用和人工能源分配的控制中心。試驗培養室是用于模擬自然環境的人工氣候室。人工能源室是在自然能源受限的情況下,按中心控制室的指令向試驗培養室提供人工能源,以滿足培養室各試驗單元和整體環境的要求。系統的結構框圖如圖1所示。
系統以PC機(586/266以上機型)作為主機,以80C592單片機系統和溫度、濕度、光照度和CO2含量等參數測量電路為分機。作為系統的核心,主機安放在系統的控制室,分機安放在各個培養室,原則上一個光照培養箱安放一個分機。一臺主機可以管理1~200臺分機,一臺分機可以連接檢測溫度、濕度、光照度和CO2含量等共計1~128個傳感器。主機通過CAN串行總線,管理著10 km范圍內安放在培養室中的分機(CAN節點);每臺分機通過安裝在培養室中的各類不同的傳感器對狀態參數的采集與信息傳輸。
根據不同類型植物在不同生長時期及不同生長季節,控制室主機設定植物不同的理想生長狀態參數。同時,主機根據安裝在培養室的分機中各傳感器所檢測到的實際狀態參數,與設定的理想狀態參數比較、通過模糊運算以及處理,控制人工能源室向培養室提供人工能源。這種以CAN總線結構的通信方式,具有實時性好、運行成本低、系統組建方便和工作的高可靠性等優點。而主機軟件的合理設計是系統穩定、可靠運行的關鍵,它直接影響著植物生長所需的環境狀態參數。
2 主機軟件設計
主機軟件設計遵循模塊化設計思想,采用結構化程序設計方案,具有較好的模塊性、可移植性和可修改性。主機軟件模塊主要有:通信模塊、數據顯示模塊、圖形化顯示模塊、歷史數據記錄模塊、數據分析處理模塊、決策和控制模塊等。其中,溫度、濕度、光照度和CO2含量等參數的圖形化顯示還具有顏色提示和警示功能。例如,溫度檢測圖形化顯示時,紅色顯示表明溫度過高,綠色表示溫度在正常范圍,黃色表示溫度過低。系統進行檢測時,根據設定,主機首先連接某一分機或所有分機,然后將分機采集的測量數據傳送到主機,存放在數據庫中,進行分析處理。由于具有圖形化顯示功能,從主機顯示或打印輸出上,可以一目了然地得到培養室的運行情況并實現系統故障自檢及其他相關功能。主機的工作流程如圖2所示。
2. 1 主機通信軟件模塊設計系統主機通信包括主機RS2232的串口通信以及主機與分機之間的CAN總線通信;CAN總線通信模塊包括點名、檢測、設置等通信軟件模塊。
2. 1. 1 主機的串口通信軟件設計
主機計算機中一般都有兩個RS2232串行通信口,該口完成串行數據轉換和串行數據接收、發送任務,采用RS2232通信標準,其結構和使用都很簡單。而主機系統軟件VB的MSCOMM控件提供了事件驅動和查詢方式兩種方法實現串口通信。其中:事件驅動是處理串行端口交互作用的一種非常有效的方法;而查詢方式是通過MSCOMM控件間接調用API函數,充分利用系統已有的ActiveX控件實現快速開發正是VB的優點之一;兩種方法都能實現串口通信和數據信息的傳輸。
2. 1. 2 人工氣候室的CAN總線特點與工作原理
CAN總線是一種有效支持分布式控制或實時控制的串行通信網絡,它以半雙工的方式工作,一個節點發送信息,多個節點接收信息,可以實現全分布式多機系統,提高數據在網絡中傳輸的可靠性。其結構形式如圖3所示。
CAN總線的信息存取采用一種稱作廣播式的存取工作方式,信息可以在任何時候由任何節點發送到空閑的總線上,每個節點的CAN總線接口必須接收總線上出現的所有信息,因此各節點都設置有一個接收寄存器,接收寄存器首先將信息接收,然后根據接收信息的標識符決定是否讀取信息包中的數據,即判定是否使用這一信息。
CAN協議的一個zui大特點是廢除了傳統的地址編碼,而代之以對通信數據塊進行編碼。CAN總線面向數據而不是面向節點,采用這種方法的優點是可使網絡內的節點個數在理論上不受限制,加入和減少設備不影響系統的工作。因此,系統可以根據用戶的不同需要,任意改變分機的數量。CAN總線收發數據的長度zui多為8 B,因而不存在占用總線時間過長的問題,可以保證通信的實時性。通信速率zui高可達1Mb/s(通信距離40 m),通信距離zui遠可達10 km(傳輸速率為5 kb/s)。通信介質可以是同軸電纜或光導纖維,甚至可采用雙絞線。
2. 1. 3 點名通信軟件模塊設計
點名、檢測、設置等通信模塊,命令格式基本相同,因為各自執行的命令號不同,所以能實現不同的功能。下面以點名命令的通信模塊詳細說明。點名命令主要用來查詢分機個數以及分機下掛溫度、濕度、光照度和CO2含量傳感器個數,該命令一般在系統初次上電時才被執行。
人工氣候室的CAN節點個數為1~200個,因此主機必須事先知道分機的個數及其地址,以便主機統一管理。分機下掛溫度、濕度、光照度和CO2含量傳感器,采用的80C592單片機可以連接分布于培養室的傳感器個數為1~128個,因此,系統中的每個分機管理的傳感器個數也為1~128個。所以,系統主機也必須事先知道系統分機的傳感器個數及其地址,才可完成對培養室中具體區域的具體溫度、濕度、光照度和二氧化碳監測的檢測等工作。
系統主機發送的點名命令格式為:“0BBH”+CANADD+“0AAH”+cmnd+Byteh+By+ad2rh+adrl+chkxor+chksum,其中:“0BBH”為主機發送命令的起始碼,即命令頭;CANADD為系統中CAN節點的地址;“0AAH”為主、分機之間,以及分機與各傳感器之間進行通信的命令起始碼;cmnd為命令號;Byteh、By為所要檢測的數據字節數,其中Byteh為字節高8位,By為低8位,所檢測的數據總長度=(Byteh* 256+By)個字節;adrh、adr分別為檢測對象的傳感器型號和傳感器編號(每個對象都有其固定的傳感器型號和傳感器編號,這由協議來規定);chkxor、chksum分別為異或校驗、和校驗。
2. 2 VB與LabVIEW的程序嵌套設計
將VB與LabVIEW應用于系統的主機軟件開發,可以同時利用VB、LabVIEW的技術優勢,組成靈活的虛擬儀器應用系統,實現監測信息的圖形化處理及對系統的有效控制。
2. 2. 1 系統資源的共享
利用VB完成系統的自檢、通信、歷史數據記錄、數據分析處理、決策和控制等軟件模塊的設計,利用LabVIEW完成主機系統自檢、數據顯示、圖形化顯示等軟件模塊的設計,利用VB與LabVIEW共同完成主機自檢、數據顯示、圖形化顯示等軟件模塊的設計。
當主機將從串口采集主集中器傳送的數據,通過VB管理,數據以Access數據庫的形式儲存起來。DDE(dynamic data ex2change,即動態數據交換)技術的應用,使得虛擬儀器LabVIEW軟件平臺能夠調用該數據庫中的數據,以顯示參數結果。在本系統中,采用了功能強大的DDE系列函數完成了數據的交換和共享工作。實踐證明,DDE技術運行可靠,不易出錯。
2. 2. 2 在VB中嵌入LabVIEW
主機軟件VB中嵌入LabVIEW,是通過OLE(object linkingand embedding,對象的鏈接和嵌入)技術來實現的,OLE是系統主機虛擬化顯示的核心技術。利用OLE技術,在開發系統主機的虛擬化顯示功能時,系統虛擬顯示部分的開發程序以Lab2VIEW平臺為中心(而不是以VB為中心)。通過OLE,VB能夠將LabVIEW軟件作為對象嵌入到VB中去,而且VB對所嵌入的LabVIEW的處理就像對其本身對象的處理一樣方便快捷。為實現OLE自動化功能,首成一個變量來引用Lab2VIEW,這個變量稱為對象變量(ObjectVariable)。以溫度虛擬檢測為例,源程序設計如下:
Dim LVappAsLabVIEW.Application———‘定義LabVIEW應用程序變量Dim LVIAs LabVIEW.VirtualInstrument———‘定義虛擬儀器變量
Dim LVpathAs String———‘定義虛擬儀器系統路徑LVpath=APP. Path +": \LabVIEW \user. lib\實時溫度. vi"
SetLVapp=CreateObject("LabVIEW.Application")———‘啟動虛擬儀器應用程序
SetLVI=LVapp.GetVIReference(LVpath)———‘調用路徑所指向的虛擬儀器系統
LVI.FPAutoCenter=True———‘當虛擬儀器程序被運行時,LabVIEW前面板位于屏幕的*
LVI.FPW inOpen=True———‘調用虛擬儀器程序時打開并顯示前面板
LVI.Run (True)———‘運行虛擬儀器程序利用以上代碼,可以在VB程序中嵌入LabVIEW,實現系統圖形化虛擬面板功能。當虛擬面板生成以后,便可以操作面板中的各種控件(Controls),來運行或控制虛擬儀器程序。程序運行完畢以后,關閉虛擬儀器前面板( front panel),以釋放計算機的內存空間。
3 結束語
人工氣候室智能測試系統主機軟件的CAN總線通信軟件的設計采用全程跟蹤和記錄技術,方便了工作人員對通信過程的了解,提高了系統的故障解決能力。VB與LabVIEW應用于人工氣候室智能測試系統,充分利用了VB的易開發優勢和虛擬儀器的圖形化、模塊化編程優勢,使主機軟件功能大為增強。此外,系統可與其他系統軟件連接,并可實現遠程資源共享和網上信息瀏覽與查詢。
環保在線 設計制作,未經允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗證碼
請輸入你感興趣的產品
請簡單描述您的需求
請選擇省份