采棉機智能監(jiān)控系統(tǒng)CAN應(yīng)用層協(xié)議設(shè)計
2.3 舉例
各類CAN模塊節(jié)點與監(jiān)控器的通信和棉花流量傳感器與監(jiān)控器的通信略有不同,舉例說明如下:
(1)流量傳感器與監(jiān)控器的通信:為了均勻地測量棉花流量,每只傳感器上置有5組近紅外發(fā)送和接收檢測單元,每組檢測單元產(chǎn)生一束16位的流量數(shù)據(jù),經(jīng)監(jiān)控器計算處理后得到通過該傳感器的平均流量。以傳感器DO節(jié)點為例,解釋說明各位含義。表2所示的6個數(shù)據(jù)幀為傳感器(節(jié)點地址為DO)正常工作時向監(jiān)控器(節(jié)點地址為F5)發(fā)送的數(shù)據(jù)幀。此時源地址為DO,目標(biāo)地址為F5,其優(yōu)先級為00110,幀類型為01(點對點式),因此幀ID為Ox0601 F5DO。該表示方法采用右對齊模式,可以清晰地分辨是源節(jié)點DO向目標(biāo)節(jié)點F5發(fā)送數(shù)據(jù)。數(shù)據(jù)幀l、2、3為一組,代表傳送的實時數(shù)據(jù)流量;數(shù)據(jù)幀4、5、6幀為一組,代表傳送的實時基準(zhǔn)調(diào)定數(shù)值。數(shù)據(jù)幀1數(shù)據(jù)值固定,用于表示后續(xù)兩幀為流量數(shù)據(jù)。數(shù)據(jù)幀2的第3位和第4位數(shù)據(jù)(表中下劃線部分)分別表示一組檢測單元的低和高位數(shù)值,通過CAN總線傳送給監(jiān)控器,然后轉(zhuǎn)換為|J進制數(shù)字顯示。同理,數(shù)據(jù)幀2的第5位和第6忙數(shù)據(jù)分別表示另一組檢測單元的低和高位數(shù)值;以此類推,數(shù)據(jù)幀2的第7、8位,數(shù)據(jù)幀3的第2、3位,第4、5位分別為另外4個檢測譯元的流量數(shù)據(jù)。數(shù)據(jù)幀4、5、6同上類似,只是其代表傳感器實時調(diào)定數(shù)值,不再贅述。
(2)其他CAN模塊與監(jiān)控器的通信:以監(jiān)控器向自動對行模塊A0發(fā)送命令為例,源節(jié)點地址為F5,目標(biāo)節(jié)點地址為A0,優(yōu)先級為00011,幀類型為00(廣播式),故幀ID為Ox0300AOF5。為了使廣播信息能被AO模塊唯一接收,必須通過特殊功能寄存器設(shè)置屏蔽碼。因為CAN控制器采用左對齊方式,所以設(shè)置CANIDTl為Oxl8,CANIDT2為0x05,CANIDT3為0x07,CANIDT4為0xA8。這樣,A0模塊就僅能接收ID為0x0300AOF5的廣播數(shù)據(jù)幀。同理,當(dāng)A0模塊向監(jiān)控器發(fā)送數(shù)據(jù)時.源地址為A0,目標(biāo)地址為F5,優(yōu)先級為00011,故幀ID為0x0300F5A0。監(jiān)控器可以接收來自任何CAN節(jié)點的數(shù)據(jù),鑒別出該幀ID,并對相應(yīng)數(shù)據(jù)幀進行操作。
3 試驗
將圖l所示的各子系統(tǒng)采用Atmel公司的AT89C51系列單片機分別設(shè)計成基于CAN總線的電路模塊,然后通過CAN總線實現(xiàn)中央控制器與各電路模塊的信息通信。試驗結(jié)果表明:基于該CAN應(yīng)用層協(xié)議的采棉機監(jiān)控系統(tǒng)可以在250kb/s速率下實現(xiàn)各模塊之間以及各模塊與中央控制器之間的實時無誤通信。
監(jiān)控器軟件設(shè)計和數(shù)據(jù)管理基于美國NI公司的虛擬儀器技術(shù)。監(jiān)控器基本上接收來自總線環(huán)上所有CAN節(jié)點的數(shù)據(jù),因此必須進行有效的數(shù)據(jù)管理,否則將導(dǎo)致數(shù)據(jù)丟失。本系統(tǒng)采用生產(chǎn)者/消費者模式對數(shù)據(jù)實施有效管理。圖2所示的生產(chǎn)者循環(huán),通過調(diào)用庫函數(shù)采集CAN節(jié)點數(shù)據(jù),當(dāng)接收函數(shù)返回值為1時,說明收到CAN數(shù)據(jù),隨即把該數(shù)據(jù)裝進隊列,然后由消費者循環(huán)進行處理。圖3所示的消費者循環(huán),將生產(chǎn)者循環(huán)采集到的數(shù)據(jù)簇取出,再將該數(shù)據(jù)簇按名稱解除捆綁,提取29位幀ID和8字節(jié)的數(shù)據(jù)幀。
將上述經(jīng)過試驗驗證的各CAN模塊就近分布于采棉機上各數(shù)據(jù)采集端,信息顯示觸摸屏置于采棉機駕駛室內(nèi),組成一整套采棉機智能監(jiān)控系統(tǒng),并于2011年9月中旬在新疆農(nóng)八師136兵團棉田內(nèi)進行了工程實踐。以5 km/h的速度,收獲成熟棉花約6.67 hm2。結(jié)果表明:①自動對行子系統(tǒng)可以在無人駕駛的情況下,根據(jù)棉壟與傳感器的位置關(guān)系,實現(xiàn)糾偏自調(diào)整。②棉花測產(chǎn)子系統(tǒng)、參數(shù)采集子系統(tǒng)和狀態(tài)監(jiān)測子系統(tǒng)可分別采集到棉花產(chǎn)量、發(fā)動機轉(zhuǎn)速、風(fēng)機轉(zhuǎn)速以及各開關(guān)量狀態(tài)等信息,并實時不失碼地傳輸給中央控制器進行數(shù)據(jù)處理(棉花測產(chǎn)子系統(tǒng)的試驗數(shù)據(jù)如表3所示,顯示值為儀表顯示得到,實測值為棉花稱量值)。③巡航速度自調(diào)節(jié)子系統(tǒng)可以根據(jù)棉花在線產(chǎn)量以及模糊規(guī)則實時調(diào)整車輛行走速度至最佳作業(yè)速度,提高工作效率。因此,基于該CAN應(yīng)用層協(xié)議設(shè)計的大型六行采棉機智能監(jiān)控系統(tǒng)是行之有效的。
4 結(jié)束語
基于CAN總線的采棉機智能監(jiān)控系統(tǒng)采用模塊化設(shè)計理念,可靠性高,維護便利。其應(yīng)用層協(xié)議制定靈活方便,簡潔清晰,擴展幀和數(shù)據(jù)幀的定義符合智能采棉機數(shù)據(jù)通信的實際狀況。通信協(xié)議已在4MZ一6A型六行采棉機試驗樣機中得到成功應(yīng)剛,實踐證明:按此規(guī)則定義的應(yīng)用層協(xié)}義不僅能滿足采棉機監(jiān)控系統(tǒng)實際需要,而且具有極強的移植性、擴展性、通用性,可推廣至其他大型農(nóng)業(yè)機械或者工程機械的智能監(jiān)控系統(tǒng)中。
評論