余佳鑫,黃金福,王新軍,馬鵬宇
(廣州日濱科技發(fā)展有限公司,廣東廣州 510660)
液壓支架電液控制系統(tǒng)是實現(xiàn)煤炭綜采工作面高產(chǎn)高效的關鍵技術設備。系統(tǒng)一般由控制器、電源、隔離器、驅(qū)動器等設備組成,其中控制器是整個系統(tǒng)的核心部件,多個控制器通過一定的連接方式進行組網(wǎng),從而實現(xiàn)對工作面液壓支架控制、監(jiān)測及異常響應等功能[1]。當前國內(nèi)外從事液壓支架電液控制系統(tǒng)研發(fā)、制造的廠家和機構眾多,在系統(tǒng)通信網(wǎng)絡的實現(xiàn)上也各具特色,但這些通信網(wǎng)絡大多數(shù)是通過RS485、CAN等總線通信實現(xiàn),或者是在這些總線通信的基礎上進行改良[2]。盡管有很多現(xiàn)成的軟硬件設計規(guī)范來支持這種總線通信網(wǎng)絡設計,但這種二次開發(fā)應用的針對性不強,難以根據(jù)液壓支架電液控制系統(tǒng)的特點,從深層次地去進行一些通信準確性和系統(tǒng)可靠性的研究設計。本文從通信網(wǎng)絡模型的角度,拋開總線通信這一固有思維,介紹一種應用于液壓支架電液控制系統(tǒng)控制器上的,基于OSI模型的“點對點”通信網(wǎng)絡設計。
液壓支架電液控制系統(tǒng)是一種由多個控制器聯(lián)網(wǎng)組成的分布式控制系統(tǒng),控制器數(shù)量一般在100~200臺之間,每臺控制器必須分配有唯一的、按順序遞增或遞減的網(wǎng)絡號。對于這樣的系統(tǒng),常用的現(xiàn)場總線通信都體現(xiàn)出弊端,如RS485總線,其總線節(jié)點最多為32個,超過32個節(jié)點時往往需要使用中繼器進行二次組網(wǎng)[3-4];又如CAN總線,要達到理論上的110個節(jié)點,首先需要解決總線驅(qū)動電路上阻抗匹配這一難題,實際應用時往往需要使用提升器等設備加強驅(qū)動和二次組網(wǎng)[5-6]。而且,由于總線式的通信是“一對多”的方式,無法解決自動按順序分配網(wǎng)絡號的問題,通常需要使用類似撥碼開關的方式進行手動設置,這在工作環(huán)境惡劣的煤礦工作面上顯然行不通。
根據(jù)液壓支架電液控制系統(tǒng)這一特點,本文提出了一種點對點網(wǎng)絡通信模型,模型的基本架構如圖1所示。模型的基本單元為相鄰兩個控制器之間的點對點通信,通過多個基本單元的有機串聯(lián),通信數(shù)據(jù)在各個控制器之間互相傳遞,從而實現(xiàn)系統(tǒng)的互聯(lián)。
圖1 通信模型基本架構
在每個基本單元中,控制器之間點對點通信采用的網(wǎng)絡協(xié)議參照OSI(開放式系統(tǒng)互聯(lián))模型,并在OSI模型的基礎上進行剪裁,僅保存物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層及應用層,如圖2所示。
圖2 基本單元網(wǎng)絡協(xié)議模型
與傳統(tǒng)的RS485、CAN等總線通信網(wǎng)絡相比,本文提出的點對點通信網(wǎng)絡在應用于液壓支架電液控制系統(tǒng)時具有以下優(yōu)點:
(1)全雙工通信,控制器之間的連線簡單可靠;
(2)不存在阻抗匹配問題,通信速率可達250 kbit/s甚至更高;
(3)簡單快捷地實現(xiàn)控制器自動按順序分配網(wǎng)絡號;
圖3 物理層設計
(4)完善的通信糾錯和數(shù)據(jù)幀優(yōu)先級設置機制,平衡通信質(zhì)量與負荷量。
以下將對通信網(wǎng)絡中基本單元網(wǎng)絡協(xié)議的各個子層進行深入探討,闡述每一個子層的功能和設計依據(jù)。
物理層的主要功能是對通信數(shù)據(jù)中的每一個bit進行電氣特性的約定,硬件基礎為一種經(jīng)過改進的UART傳輸。
物理層硬件電路如圖3所示,以基本單元中一路收發(fā)為例,在發(fā)送控制器端,MCU發(fā)出TTL電平的UART信號經(jīng)過驅(qū)動和電壓提升,作為發(fā)送控制器的輸出信號;在接收控制器端,將信號進行調(diào)理和整形,還原為TTL電平,最終被接收控制器的MCU識別。
物理層約定收發(fā)兩端的電氣特性如下:
(1)傳輸數(shù)據(jù)0時為低電平、數(shù)據(jù)1時為高電平;
(2)傳輸線上高電平電壓幅值為:
(3)傳輸線上高電平時電流幅值為:
由此可見,在物理層的設計上,主要通過提高驅(qū)動電壓、增強驅(qū)動電流對通用的UART通信進行改進,從硬件上以最精簡的方式保證通信的可靠性。更重要的是,這種改進是具體到每個基本單元的每一路收發(fā)信號上的,驅(qū)動的效果不會因為收發(fā)線路的增加而減弱,即不存在阻抗匹配的問題。在30米內(nèi)的通信距離內(nèi),通信速率可保證在250 kbit/s以上,完全可滿足液壓支架電液控制系統(tǒng)應用需求。
數(shù)據(jù)鏈路層的主要功能是在物理層的基礎上進行可靠的數(shù)據(jù)傳輸,即通過一定的差錯檢測,保證相鄰兩個控制器間每一次通信的準確性。
控制器之間的通信是以幀為基本單位的,幀的起始、結束和校驗的處理在數(shù)據(jù)鏈路層中完成。本設計中,數(shù)據(jù)幀采用定長結構,幀頭由同步域標識幀的起始,并將幀的結束域和校驗進行合并,如圖4所示。
圖4 網(wǎng)絡協(xié)議幀結構
與傳統(tǒng)數(shù)據(jù)鏈路層不同,在本通信網(wǎng)絡協(xié)議中,當控制器接收完一幀但確認校驗出錯時,直接放棄本幀數(shù)據(jù),且并不通知發(fā)送方重發(fā),而是由發(fā)送方在傳輸層中統(tǒng)一作超時處理。
網(wǎng)絡層的主要功能是實現(xiàn)數(shù)據(jù)幀的地址屬性,并確定數(shù)據(jù)幀如何從發(fā)送方路由到接收方。
系統(tǒng)在每次上電后,由服務器或順槽主機發(fā)起設置網(wǎng)絡號的命令,控制器接收到該命令后,一方面從命令中獲取本機網(wǎng)絡號數(shù)據(jù),另一方面將該數(shù)據(jù)加1后轉(zhuǎn)發(fā)至下一臺控制器。在設置網(wǎng)絡號命令在工作面所有控制器中傳輸完一遍后,每臺控制器具有唯一的、依次連續(xù)遞增或遞減的網(wǎng)絡號。
在網(wǎng)絡層進行數(shù)據(jù)的路由時,并不需要標識具體的目標控制器地址,也不需要尋找并存儲最快的數(shù)據(jù)傳輸路徑,而是在控制器發(fā)送數(shù)據(jù)之前,提前計算好該數(shù)據(jù)傳遞至目標控制器的中轉(zhuǎn)次數(shù)N,并將N加入數(shù)據(jù)幀中,接收到該數(shù)據(jù)的控制器首先進行N-1的操作,結果為零時說明本機即是該數(shù)據(jù)的目標控制器,非零時則根據(jù)數(shù)據(jù)的方向進行轉(zhuǎn)發(fā)。而當某些數(shù)據(jù)需要以廣播的形式傳輸時,例如某臺控制器急停開關按下時需要通知至所有控制器,中轉(zhuǎn)次數(shù)N標識為255,其他控制器接收后同時提取數(shù)據(jù)并轉(zhuǎn)發(fā)。
網(wǎng)絡層采用的機制可避免復雜的地址匹配流程,以最精簡的形式實現(xiàn)可靠、高效的數(shù)據(jù)傳輸。
傳輸層的主要功能是根據(jù)所傳輸?shù)臄?shù)據(jù)的重要性進行分級,并以此實現(xiàn)對整個網(wǎng)絡的流量控制。
在傳輸層中,將數(shù)據(jù)幀定義為命令幀、應答幀和信息幀,建立相應的數(shù)據(jù)幀緩存空間,并對緩存空間中的每個數(shù)據(jù)幀都進行幀序列號的標識。命令幀指由系統(tǒng)手動控制、自動控制等控制相關的通信數(shù)據(jù)幀及異常情況(急停閉鎖,設備故障等)觸發(fā)的通信數(shù)據(jù)幀,通信網(wǎng)絡必須保證這些數(shù)據(jù)幀都能有效傳遞到目標控制器。應答幀指對命令幀應答數(shù)據(jù)幀,在命令幀的點對點傳遞過程中,無論本機是否為命令的目標控制器,也無論本機是否仍需對命令幀進行轉(zhuǎn)發(fā),首先都要對發(fā)出或轉(zhuǎn)發(fā)該命令幀的控制器進行應答,而發(fā)出某個命令幀的控制器,也只有在接收到與幀序列號相對應的應答幀后,才允許發(fā)送下一個命令幀,否則將一直重發(fā)當前的命令幀,當某個命令幀重復發(fā)送一定次數(shù)時,判定為通信故障,并啟用相應處理機制。信息幀指數(shù)據(jù)量大但允許少量丟失,而且能夠定時更新的數(shù)據(jù),例如控制器中用于順槽監(jiān)測的狀態(tài)數(shù)據(jù),信息幀無需等待應答。
根據(jù)以上機制,數(shù)據(jù)幀優(yōu)先級的排序從高到低依次為應答幀、命令幀、信息幀,而命令幀在發(fā)出一定時間內(nèi)未收到相應的應答幀時,將進行重新發(fā)送,這一機制也將數(shù)據(jù)鏈路層中幀校驗失敗的處理一并實現(xiàn)。
根據(jù)點對點通信的特點,距離順槽監(jiān)控主機越近的控制器,其通信數(shù)據(jù)負荷量越大,傳輸層對數(shù)據(jù)幀的處理類似TCP/UDP協(xié)議,既保證重要數(shù)據(jù)的可靠傳輸,又最大限度降低數(shù)據(jù)負荷量。
應用層的主要功能是對具體的數(shù)據(jù)報文進行解析,由用戶針對具體的通信功能進行自定義,在此不作詳細列舉。
圖5 通信處理流程
網(wǎng)絡協(xié)議中數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層的通信處理流程體現(xiàn)在每一次數(shù)據(jù)收發(fā)的流程中,這種流程及其邏輯處理可方便地在MCU中實現(xiàn),如圖5所示。
本文首先介紹了液壓支架電液控制系統(tǒng)中控制器組網(wǎng)的特點,根據(jù)這些特點分析了RS485、CAN等總線在應用于液壓支架電液控制系統(tǒng)時的缺陷,并提出一種“點對點”的通信網(wǎng)絡設計,詳細介紹網(wǎng)絡架構、各協(xié)議子層的原理和功能,以及相應的通信處理流程。
本文所介紹的通信網(wǎng)絡,優(yōu)點在于繞開了總線形式的思維,將通信網(wǎng)絡中功能的實現(xiàn)、可靠性的保障、故障的診斷細化到由兩個控制器組成的,基于OSI模型的點對點最小單元之間,再由此延伸至整個液壓支架電液控制系統(tǒng)控制器的組網(wǎng),最終解決了阻抗匹配和按順序分配網(wǎng)絡號兩個總線形式的網(wǎng)絡難以解決的問題。
本文所設計的網(wǎng)絡通信協(xié)議已經(jīng)在液壓支架電液控制系統(tǒng)中實現(xiàn),同時系統(tǒng)已應用于多個綜采工作面。
[1]王國法.高端液壓支架及先進制造技術[M].北京:煤炭工業(yè)出版社,2010.
[2]李首濱,韋文術,牛劍峰.液壓支架電液控制及工作面自動化技術綜述[J].煤炭科學技術,2007,35(11):1-5.
[3]李磊,宋建成,田幕琴,等.基于DSP和RS485總線的液壓支架電液控制通信系統(tǒng)的設計[J].煤炭學報,2010,35(4):701-704.
[4]呂賧,陳輝,張曉嬌,等.液壓支架電液控制系統(tǒng)通訊網(wǎng)絡的設計[J].煤礦機械,2009,30(10):146-148.
[5]孫曉健,張東來.CAN總線在液壓支架電液控制系統(tǒng)的應用[J].微計算機信息:嵌入式與SOC,2006,22(6-2):97-98.
[6]劉國平,邱吉元,李繼武.基于雙CAN總線的液壓支架控制系統(tǒng)的設計[J].工礦自動化,2009(6):65-68.