楊帥 姜亞南 薛嵐
摘要:為解決我國(guó)農(nóng)業(yè)管理長(zhǎng)期依賴(lài)人工勞動(dòng)力的局面,設(shè)計(jì)一種基于LON平臺(tái)的現(xiàn)代農(nóng)業(yè)全分布式監(jiān)控系統(tǒng),促進(jìn)了農(nóng)業(yè)現(xiàn)代化,實(shí)現(xiàn)了農(nóng)業(yè)管理的高效性和科學(xué)性。本系統(tǒng)采用LON現(xiàn)場(chǎng)總線實(shí)時(shí)監(jiān)控農(nóng)業(yè)現(xiàn)場(chǎng)的參數(shù),依托以太網(wǎng)和GPRS通信終端,實(shí)現(xiàn)了農(nóng)業(yè)現(xiàn)場(chǎng)與遠(yuǎn)程數(shù)據(jù)處理中心的信息交互。重點(diǎn)剖析LON平臺(tái)的核心設(shè)備網(wǎng)關(guān)節(jié)點(diǎn),該節(jié)點(diǎn)在Host Based架構(gòu)模式下,利用Slave_A模式并行接口的虛擬令牌乒乓式傳遞機(jī)制,實(shí)現(xiàn)了LON現(xiàn)場(chǎng)總線與和RS232串口總線的無(wú)縫銜接。試驗(yàn)證明該系統(tǒng)性能良好。
關(guān)鍵詞:現(xiàn)代農(nóng)業(yè);LON平臺(tái);網(wǎng)關(guān)節(jié)點(diǎn);Slave_A模式;虛擬令牌傳遞;監(jiān)控系統(tǒng)
中圖分類(lèi)號(hào): TP2772;S126文獻(xiàn)標(biāo)志碼: A
文章編號(hào):1002-1302(201412-0426-03[HS][HT9SS]
收稿日期:2014-02-18
基金項(xiàng)目:江蘇省淮安市農(nóng)業(yè)科技支撐計(jì)劃(編號(hào):SN12052;江蘇省淮安市創(chuàng)新載體平臺(tái)建設(shè)計(jì)劃(編號(hào):HAP201313。
作者簡(jiǎn)介:楊帥(1981—,男,遼寧錦州人,碩士,講師、工程師,研究方向?yàn)闄C(jī)電一體化與控制技術(shù)。Tel:(051783808243;E-mail:lnyangshuai@163com。
信息網(wǎng)絡(luò)技術(shù)和人工智能技術(shù)的高速發(fā)展促使一種新穎農(nóng)業(yè)生產(chǎn)管理思想的誕生,從而產(chǎn)生了利用LON平臺(tái)對(duì)農(nóng)作物實(shí)施現(xiàn)代化管理?;贚ON平臺(tái)的現(xiàn)代農(nóng)業(yè)全分布式監(jiān)控系統(tǒng)依托LON現(xiàn)場(chǎng)總線網(wǎng)絡(luò)技術(shù)平臺(tái),LON平臺(tái)致力于綠色節(jié)能和智能管理,為不同設(shè)備的集成并網(wǎng)提供有效可行的實(shí)施方案,該平臺(tái)內(nèi)的節(jié)點(diǎn)分散自治,以點(diǎn)對(duì)點(diǎn)的通信方式實(shí)現(xiàn)分散基礎(chǔ)上的融合,網(wǎng)關(guān)節(jié)點(diǎn)不僅實(shí)現(xiàn)了平臺(tái)內(nèi)節(jié)點(diǎn)的分段成組,而且還實(shí)現(xiàn)了平臺(tái)向上級(jí)信息系統(tǒng)的集成。平臺(tái)內(nèi)節(jié)點(diǎn)的輸入輸出、內(nèi)部參數(shù)和狀態(tài)特征值都以網(wǎng)絡(luò)變量的形式進(jìn)行傳輸,按照節(jié)點(diǎn)間的邏輯關(guān)系形成現(xiàn)場(chǎng)采集回路。LON總線采用數(shù)字傳輸技術(shù),能夠有效防止數(shù)據(jù)傳輸?shù)腻e(cuò)誤發(fā)生率,同時(shí)工程施工量小,采用的通信電纜少,無(wú)需中繼就可以將數(shù)據(jù)傳輸?shù)角字?,這種完全分布的系統(tǒng)結(jié)構(gòu)非常適合在農(nóng)田中應(yīng)用。
1現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)的設(shè)計(jì)方案
系統(tǒng)由現(xiàn)場(chǎng)采集、數(shù)據(jù)通信和遠(yuǎn)程數(shù)據(jù)處理中心三部分組成,對(duì)不同地域、不同農(nóng)作物及農(nóng)作物不同生長(zhǎng)周期對(duì)土壤水分、溫濕度、化學(xué)成分的進(jìn)行監(jiān)測(cè)(圖1。土壤分析儀采樣的土壤監(jiān)測(cè)數(shù)據(jù)通過(guò)RS232串口總線將其傳送到LON現(xiàn)場(chǎng)總線網(wǎng)絡(luò)上。由于LON現(xiàn)場(chǎng)總線和RS232串口總線通信協(xié)議不同,需要協(xié)網(wǎng)關(guān)節(jié)點(diǎn)完成2種協(xié)議數(shù)據(jù)信息格式的轉(zhuǎn)換,實(shí)現(xiàn)兩信道的互通。土壤參數(shù)監(jiān)測(cè)節(jié)點(diǎn)和環(huán)境參數(shù)監(jiān)測(cè)節(jié)點(diǎn)定時(shí)采樣農(nóng)作物環(huán)境的溫濕度和二氧化碳濃度等參數(shù),并將參數(shù)傳送到LON現(xiàn)場(chǎng)總線上。網(wǎng)絡(luò)攝像頭又可以對(duì)農(nóng)作物的生長(zhǎng)狀態(tài)實(shí)時(shí)監(jiān)控。利用網(wǎng)關(guān)節(jié)點(diǎn)將LON現(xiàn)場(chǎng)總線和以太網(wǎng)有機(jī)結(jié)合,并借助GPRS通信終端服務(wù)器克服地域限制,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。通過(guò)遠(yuǎn)程處理中心將現(xiàn)場(chǎng)采集的數(shù)據(jù)與上位機(jī)中數(shù)據(jù)庫(kù)相比,得出科學(xué)的農(nóng)業(yè)策略。系統(tǒng)的現(xiàn)場(chǎng)采集設(shè)備內(nèi)部均含有Neuron智能芯片,每個(gè)設(shè)備均是一個(gè)獨(dú)立智能處理單元,兩者之間的數(shù)據(jù)交換可以直接現(xiàn)場(chǎng)進(jìn)行,無(wú)需上位機(jī)處理,這種點(diǎn)對(duì)點(diǎn)的交互模式徹底構(gòu)建系統(tǒng)的全分布模式。LON平臺(tái)實(shí)現(xiàn)了現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)中所有設(shè)備的網(wǎng)絡(luò)集成,該平臺(tái)采用的算法是優(yōu)先級(jí)帶預(yù)測(cè)的P-堅(jiān)持CSMA(載波監(jiān)聽(tīng)多路訪問(wèn),該協(xié)議能夠預(yù)測(cè)LON平臺(tái)網(wǎng)絡(luò)負(fù)載,輕載時(shí)給網(wǎng)上節(jié)點(diǎn)分配較少的隨機(jī)時(shí)隙以減少節(jié)點(diǎn)媒介訪問(wèn)延時(shí);重載時(shí)給網(wǎng)絡(luò)上節(jié)點(diǎn)分配較多的隨機(jī)時(shí)隙以減少各節(jié)點(diǎn)因同時(shí)發(fā)送消息帶來(lái)的沖突,從而實(shí)現(xiàn)隨機(jī)時(shí)隙數(shù)目以概率P值的動(dòng)態(tài)調(diào)整。這種機(jī)制有效保證了現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)監(jiān)測(cè)數(shù)據(jù)的精確性、穩(wěn)定性和可靠性。
[F(W11][TPYS11tif][F]
2系統(tǒng)的核心設(shè)備——網(wǎng)關(guān)節(jié)點(diǎn)
21網(wǎng)關(guān)節(jié)點(diǎn)的原理模型設(shè)計(jì)
LON平臺(tái)是現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)的基礎(chǔ),而網(wǎng)關(guān)節(jié)點(diǎn)又是LON平臺(tái)的關(guān)鍵,該設(shè)備承擔(dān)LON現(xiàn)場(chǎng)總線與以太網(wǎng)、LON現(xiàn)場(chǎng)總線與和RS232串口總線無(wú)縫銜接的任務(wù),這里重點(diǎn)設(shè)計(jì)對(duì)LON現(xiàn)場(chǎng)總線與和RS232串口總線的無(wú)縫銜接。網(wǎng)關(guān)節(jié)點(diǎn)采用Host Base設(shè)計(jì)框架,即雙處理器(Neuron智能芯片3150和MCU芯片AT89C55之間數(shù)據(jù)交換的方法[1-2]。Neuron智能芯片3150是一種專(zhuān)門(mén)為設(shè)備提供智能和網(wǎng)絡(luò)控制能力的集成芯片,由于3150將復(fù)雜的通信過(guò)程簡(jiǎn)化為網(wǎng)絡(luò)變量以及捆綁和連接,為充分發(fā)揮其優(yōu)異的通信特性,將其定位從機(jī)角色,只承擔(dān)信息通信任務(wù)。AT89C55是一款片內(nèi)具有20 kB Flash存儲(chǔ)器,該存儲(chǔ)空間大,適合數(shù)據(jù)存儲(chǔ)和處理,將其定位主機(jī)角色,承擔(dān)數(shù)據(jù)的存儲(chǔ)和處理。為了提高網(wǎng)關(guān)節(jié)點(diǎn)的數(shù)據(jù)處理速度,3150和AT89C55之間采用Slave_ A[JP2]模式并行接口進(jìn)行連接,網(wǎng)關(guān)節(jié)點(diǎn)的原理模型如圖2所示。AT89C55通過(guò)RS232接口接收和發(fā)送RS232串口總線的數(shù)據(jù)報(bào)文;3150通過(guò)FTT-10A收發(fā)器接收和發(fā)送LON現(xiàn)場(chǎng)總線的數(shù)據(jù)報(bào)文;RS232串口總線的數(shù)據(jù)報(bào)文和LON現(xiàn)場(chǎng)總線的數(shù)據(jù)報(bào)文通過(guò)Slave_A模式的并行接口實(shí)現(xiàn)相互轉(zhuǎn)換。
[F(W8][TPYS22tif;S+3mm][F]
22網(wǎng)關(guān)節(jié)點(diǎn)的硬件設(shè)計(jì)
221網(wǎng)關(guān)節(jié)點(diǎn)Slave_A模式并行接口
Neuron智能芯片3150與MCU芯片AT89C55之間的Slave_A模式并行接口原理電路如圖3所示,Slave_A模式并行接口由8根雙向數(shù)據(jù)總線IO0~I(xiàn)O7、1根片選信號(hào)~CS、1根握手信號(hào)HS、1根讀寫(xiě)控制信號(hào)R/~W構(gòu)成,支持最高速率33 Mb/s,極大提高數(shù)據(jù)報(bào)文處理的實(shí)時(shí)性。Neuron智能芯片3150的IO0~I(xiàn)O7管腳依次與MCU芯片AT89C55的P00~P07管腳相連形成數(shù)據(jù)總線,3150的IO8管腳與AT89C55的P12管腳相連形成片選信號(hào)線,3150的IO9管腳與AT89C55的P11管腳相連形成讀寫(xiě)控制線,3150的IO10管腳與AT89C55的P10管腳相連形成握手控制線。3150與AT89C55等2個(gè)處理器之間在基于虛擬令牌乒乓式傳遞機(jī)制下實(shí)現(xiàn)數(shù)據(jù)報(bào)文的交換,有效解決了數(shù)據(jù)總線頻繁占用、數(shù)據(jù)阻塞的瓶頸弊端[4-5]。3150與AT89C55之間互相傳遞虛擬令牌,擁有令牌的處理器具有寫(xiě)數(shù)據(jù)報(bào)文的主動(dòng)權(quán)。當(dāng)片選信號(hào)線~CS為低電平時(shí),讀寫(xiě)操作由R/~W控制信號(hào)線決定;當(dāng)R/~W為低電平時(shí),AT89C55占有令牌,當(dāng)R/~W 為高電平時(shí),3150占有令牌。握手信號(hào)HS為高電平時(shí),3150處于忙狀態(tài);握手信號(hào)HS為低電平時(shí),3150處于空閑狀態(tài)。當(dāng)AT89C55檢測(cè)握手信號(hào)線HS為低電平時(shí),在~CS信號(hào)的下降沿將數(shù)據(jù)寫(xiě)入數(shù)據(jù)總線。
222網(wǎng)關(guān)節(jié)點(diǎn)RS232接口
網(wǎng)關(guān)節(jié)點(diǎn)的RS232串口總線采用的是標(biāo)準(zhǔn)EIA電平,MCU芯片AT89C55采用的是標(biāo)準(zhǔn)的TTL電平,實(shí)現(xiàn)AT89C55與RS232串口總線的數(shù)據(jù)報(bào)文相互傳遞,采用MAX232芯片進(jìn)行電平轉(zhuǎn)換,從而形成RS232接口。AT89C55的P14、P15、RXD、TXD管腳依次與MAX232芯片的R2OUT、T2IN、R1OUT、T1IN管腳相連,網(wǎng)關(guān)節(jié)點(diǎn)的RS232接口電路如圖4所示。[FL]
[F(W17][TPYS33tif][F]
[F(W10][TPYS44tif][F]
[FL(22]23網(wǎng)關(guān)節(jié)點(diǎn)的Slave_A并口數(shù)據(jù)軟件設(shè)計(jì)
實(shí)現(xiàn)網(wǎng)關(guān)節(jié)點(diǎn)主機(jī)AT89C55與從機(jī)3150的數(shù)據(jù)交換,采用虛擬令牌乒乓式傳輸,在網(wǎng)關(guān)節(jié)點(diǎn)上電復(fù)位后,AT89C55發(fā)送同步值,3150讀取后向AT89C55發(fā)送應(yīng)答同步,當(dāng)AT89C55和3150同步后,兩處理器開(kāi)始交換數(shù)據(jù)報(bào)文,AT89C55置低R/~W信號(hào)線占有令牌,通過(guò)置低~CS信號(hào)線選通3150并時(shí)刻監(jiān)聽(tīng)從機(jī)3150的閑忙狀態(tài),當(dāng)檢測(cè)到信號(hào)線HS為低電平,即3150處于空閑狀態(tài),AT89C55立即將RS232串口總線發(fā)送過(guò)來(lái)的數(shù)據(jù)報(bào)文寫(xiě)到Slave_A模式并行接口的數(shù)據(jù)總線上,同時(shí)置高R/~W信號(hào)線交出虛擬令牌給3150,然后置高~CS信號(hào)線(同時(shí)迫使HS信號(hào)線也置高開(kāi)始讀取Slave_A模式并行接口數(shù)據(jù)總線。當(dāng)3150占有虛擬令牌后,3150輪巡檢測(cè)When(nv_update_occurs(輸入網(wǎng)絡(luò)變量 語(yǔ)句,當(dāng)輸入網(wǎng)絡(luò)變量的值被更新時(shí),通過(guò)io_out(函數(shù)將數(shù)據(jù)報(bào)文發(fā)送到Slave_A模式并行接口數(shù)據(jù)總線上,同時(shí)交出虛擬令牌,然后置低HS信號(hào)線,并通過(guò)任務(wù)驅(qū)動(dòng)語(yǔ)句When(和io_in(函數(shù)讀取AT89C55發(fā)送過(guò)來(lái)的數(shù)據(jù)報(bào)文,由Neuron C語(yǔ)言設(shè)計(jì)的調(diào)度程序?qū)?bào)文數(shù)據(jù)賦值給輸出網(wǎng)絡(luò)變量,并通過(guò)3150內(nèi)部固化的LON協(xié)議的網(wǎng)絡(luò)層、MAC層將類(lèi)型、源地址、目標(biāo)地址、變量名、變量?jī)?nèi)容等消息層層打包[6-7],將打包后的數(shù)據(jù)幀發(fā)送給LON總線平臺(tái)上的LON協(xié)議目標(biāo)設(shè)備,LonTalk協(xié)議數(shù)據(jù)幀的格式如下:
[F(W3][BG(!][BHDG2,4。4,62,32]同步碼域ID地址碼配置表網(wǎng)絡(luò)變量消息校驗(yàn)碼[BG][F]
網(wǎng)絡(luò)變量消息的代碼第一字節(jié)的第1位是1,表明該消息是網(wǎng)絡(luò)變量;第2位表明該消息是輸入網(wǎng)絡(luò)變量還是輸出網(wǎng)絡(luò)變量(0為輸入,1為輸出,3~8位是網(wǎng)絡(luò)變量選擇器的高有效位;網(wǎng)絡(luò)變量消息的代碼第二字節(jié)是網(wǎng)絡(luò)變量選擇器的低有效位;余下的字節(jié)是網(wǎng)絡(luò)變量的值;當(dāng)網(wǎng)絡(luò)變量修改消息發(fā)送后,如果LON總線平臺(tái)的接收設(shè)備有一個(gè)輸入網(wǎng)絡(luò)變量的選擇器的值與發(fā)送消息中的選擇器的值相同,那么接收設(shè)備上對(duì)應(yīng)的輸入網(wǎng)絡(luò)變量修改事件發(fā)生,輸入網(wǎng)絡(luò)變量的值修改為發(fā)送網(wǎng)絡(luò)變量消息的值,實(shí)現(xiàn)網(wǎng)關(guān)節(jié)點(diǎn)與其他LON標(biāo)準(zhǔn)協(xié)議設(shè)備的通信。網(wǎng)關(guān)節(jié)點(diǎn)中3150固化的LON協(xié)議能夠自動(dòng)完成虛擬令牌乒乓式傳輸機(jī)制,采用Neuron C語(yǔ)言將3150的IO口聲明為Slave_A并行接口:IO_0 parallel slave io_object_name;虛擬令牌的傳遞依靠事件io_out_ready(和io_out_request(完成,io_out_ready(為真時(shí),3150交出令牌,io_out_request(為真時(shí),3150擁有令牌。AT89C55不能自動(dòng)完成虛擬令牌傳遞,需要用C語(yǔ)言編制虛擬令牌傳遞協(xié)議,包括主機(jī)的同步、握手、數(shù)據(jù)讀寫(xiě)、令牌傳遞過(guò)程,傳送的數(shù)據(jù)要遵從一定的格式,傳送的數(shù)據(jù)要遵從一定的格式。3150與AT89C55的令牌傳遞完整軟件流程如圖5所示。
3結(jié)論
利用LonMaker組網(wǎng)工具把網(wǎng)關(guān)節(jié)點(diǎn)添加到現(xiàn)代農(nóng)業(yè)分布式監(jiān)控系統(tǒng)上,通過(guò)LNS DDE SERVER或NL-OPC Server工[CM(25]具訪問(wèn)LON平臺(tái)數(shù)據(jù),實(shí)現(xiàn)網(wǎng)關(guān)節(jié)點(diǎn)的網(wǎng)絡(luò)集成,修改網(wǎng)[CM]
[F(W24][TPYS55tif][F]
關(guān)節(jié)點(diǎn)的網(wǎng)絡(luò)變量數(shù)值,土壤分析儀通過(guò)RS232端口傳送數(shù)據(jù),網(wǎng)關(guān)節(jié)點(diǎn)接收到數(shù)據(jù)報(bào)文后,進(jìn)行LRC校驗(yàn),然后解析,通過(guò)LonMaker軟件監(jiān)測(cè)返回的數(shù)據(jù)報(bào)文。結(jié)果表明,通過(guò)LonMaker監(jiān)測(cè)到的返回?cái)?shù)據(jù)正確,當(dāng)要傳輸?shù)臄?shù)據(jù)報(bào)文達(dá)500~1000包/s時(shí),網(wǎng)絡(luò)碰撞率穩(wěn)定在10%,監(jiān)控網(wǎng)絡(luò)即使在過(guò)載的情況下,仍可以達(dá)到最大的通信量,而不至于發(fā)生因沖突過(guò)多致使網(wǎng)絡(luò)吞吐量急劇下降,系統(tǒng)性能良好。本系統(tǒng)以平衡地力、提高產(chǎn)量為目標(biāo),實(shí)施科學(xué)農(nóng)業(yè)管理,實(shí)現(xiàn)高效利用各類(lèi)科技資源最大限度提高農(nóng)業(yè)現(xiàn)實(shí)生產(chǎn)力,是實(shí)現(xiàn)優(yōu)質(zhì)、高產(chǎn)、低耗和環(huán)保的可持續(xù)發(fā)展農(nóng)業(yè)的有效途徑。
[HS2][HT85H]參考文獻(xiàn):[HT8SS]
[1][(#]楊帥,薛嵐,成建生 基于虛擬令牌傳輸協(xié)議的LonWorks監(jiān)控系統(tǒng)設(shè)計(jì)[J] 低壓電器,2010(14:45-48
[2]馮艷娜 基于Lonworks總線的網(wǎng)關(guān)工具的設(shè)計(jì)[J] 工礦自動(dòng)化,2008(5:139-141
[3]楊帥,薛嵐,成建生 基于Slave_B并行傳輸模式的雙絞線LON節(jié)點(diǎn)[J] 儀表技術(shù)與傳感器,2011(5:48-50,54
[4]薛嵐,楊帥,姜亞南 LonWorks總線技術(shù)在瓦斯分布式過(guò)程監(jiān)控中的應(yīng)用[J] 礦業(yè)安全與環(huán)保,2013,40(2:31-34
[5]楊帥,周奎,薛嵐 基于LonWorks總線的全分布式瓦斯監(jiān)控系統(tǒng)[J] 工礦自動(dòng)化,2012,38(11:84-87
[6]楊帥,薛嵐,成建生 采用LonWorks電力載波技術(shù)的控制器[J] 低壓電器,2011(13:41-44
[7]薛嵐,楊帥,成建生 LonWorks總線技術(shù)在實(shí)驗(yàn)室數(shù)字化建設(shè)中的應(yīng)用[J] 化工自動(dòng)化及儀表,2011,38(7:881-884[HJ][FL]