李玉霞 狄敬國
摘要為了減輕溫室管理的難度,實現溫室的遠程監控,提出了一種新型智能化的溫室控制方法,采用VC++進行編程,實現計算機與PLC的遠程通信,可以靈活地監測控制溫室里的溫度、潮濕度、光照強度等。操作控制方便,工作可靠穩定,環保節能。實際操作證實,該遠程通信技術在溫室的自動遠程控制方面起到了很大的作用,提高了勞動效率和農業管理水平。
關鍵詞PLC;VC++;遠程通信
中圖分類號S273文獻標識碼A文章編號0517-6611(2014)09-02799-02
基金項目山東省星火計劃項目(2012XH11009)。
作者簡介李玉霞(1979- ),女,山東萊蕪人,講師,從事通信技術研究。
監測控制溫室環境要充分根據客觀的自然條件,例如太陽光照、雨水等非人為資源,進一步通過操作調節溫室內相應的氣溫、潮濕度、光照強度等必須的生長環境參數,才可以給溫室內的植物提供優良的生長環境,達到優質、高產、高效的目的,從而提高經濟效益[1]。為了使人們的生活更加方便,多種作物、水果蔬菜必須在溫室中種植。該溫室控制系統采用PLC作為控制器。PLC采集并分析溫室的溫度、濕度、光照等數據,通過控制加熱器、通風機、移動噴灌等設備,達到自動控制各項參數的目的。
為減輕溫室管理的難度,實現對溫室的遠程監控與管理,筆者基于FINS協議實現了計算機與PLC的遠程通信。計算機采用VC++ 6.0編程,借助現有的電話網絡可以方便地讀取參數數據,并控制溫室的各種設備,方法簡單,實用性強,特別適合居住地與溫室相距較遠、數據量較小的場合。
1硬件設計
該設計以OMRON公司的CP1H PLC作為溫室控制器。CP1H主機支持模擬量輸入輸出,無需額外擴展,節省成本。溫室內現場數據信息的采集是利用不同的傳感器,例如對溫度數據的采集使用溫度傳感器,對光照強度參數的采集利用光電傳感器,對濕度數據的采集利用濕度傳感器等。根據所采集信號控制調溫抽濕風扇、溫室內外設置的遮陽網、灌溉用的水泵、風機等設備,從而達到對溫室的智能操控調節,能夠靈活自主地對溫室內的相應信號參數進行調節,對溫室內的作物生長參數能夠進行自動監控,使系統的可維護性和可擴展性進一步得到提升。
下位PLC的監測控制是由上位機來完成的,該系統采用的是計算機,從而完成了計算機遠程對溫室相應參數的操作。CP1H型PLC上沒有串行接口,需要加裝 RS232C串行通信模塊(型號為CP1WCIF01),該通信模塊支持多種通信功能。CP1H型PLC是OMRON的新型PLC,數據區有較大擴充,其通信協議也有很大變化,因此該系統采用FINS通信協議實現通信[2]。計算機與PLC都要連接調制解調器,計算機可以讀寫PLC的數據甚至控制其運行,從而實現上位計算機對溫室的遠程管理與監控。通信結構如圖1所示。
3FINS通信協議
FINS通信協議是OMRON網絡通信的核心,用于工廠自動化網絡的指令響應系統。FINS通信幀包括FINS指令幀和FINS響應幀兩種形式。兩種形式的幀都是由FINS報頭(存儲傳輸控制信息)、FINS指令域(存儲1個FINS指令)以及FINS參數/數據域(存儲指令參數和發送/響應數據)3個部分所組成的。需要特別指出的是在用FINS協議完成電腦與PLC的通訊時,要結合OMRON公司的HOSTLINK協議來實現,即在FINS數據幀前后加入HOSTLINK的起始符、校驗碼和結束符等信息。通信幀的開始和結束分別用起始符及設備號和校驗碼及結束符標示。響應幀中還包括響應碼。FINS嵌入HOST-LINK后,完整的通信幀格式如圖2所示。
4計算機程序設計
VC++6.0中可以利用MSComm控件通過串行口發送和接收數據。如果通過串口連接Modem,則可以經過電話線與遠程設備進行數據交換。MSComm控件提供了事件驅動法來處理串口數據交換。該方法利用OnComm事件捕獲通信數據,當CommEvent屬性發生變化時,就產生事件并等待相應處理[3]。
上位機對PLC進行讀寫操作時,上位機先發出命令給PLC,啟動通信過程,并接收PLC的返回數據[4]。程序主要由串口初始化、Modem撥號、數據發送、數據接收與校驗碼計算等幾部分組成。
4.1Modem撥號Modem啟動后首先進入命令狀態,準備接收和解釋上位機發來的AT命令,連接后進入在線狀態開始數據的發送和接收,此時不接收用戶命令,直至上位機發送“+++”后,再進入命令狀態。Modem命令格式是AT+命令及其參數。該程序使用音頻撥號ATDT+電話號碼,上位機通過Modem與遠程PLC建立通信。撥號成功后,響應數據顯示: