秦洪浪
(陜西工業職業技術學院 航空工程學院, 陜西 咸陽 712000)
CAN總線是一種技術先進,可靠性與穩定性較高,功能健全的遠程控制模式,已實現了在各個領域的廣泛應用。當前國內相對缺乏以CAN總線為基礎的化工機械智能化終端平臺,并未充分合理利用CAN總線的優勢作用,同時機械智能化終端大部分存在功能過于單一化,一體化集成結構太過復雜,升級優化需拆機更換ROM存儲芯片,顯示實時性較差,監控數據信息不完善,操作不便捷等各種問題[1]。據此,本文設計了CAN總線化工機械智能化終端平臺。
CAN即國際標準化組織的串行總線通信協議,CAN總線是支持分布式控制或實時控制的串行通信網絡,稱之為工業自動化控制領域的計算機局域網。以CAN總線為基礎的分布式控制系統可實時可靠傳輸各個節點間的數據信息,因此得以在化工自動化、工業自動化、船舶設備等各個領域實現了廣泛應用。1993年11月,ISO正式頒布了道路交通運載工具-數字信息交換-高速通信CAN國際標準ISO11898,在很大程度上為CAN標準化與規范化推行奠定了堅實的基礎。CAN總線是自動化領域技術發展的主要熱點,CAN控制器基于CAN-H與CAN-L共同構成通信總線。CAN總線信號是通過二者間的差分電壓所決定的。在CAN-H為3.5 V,CAN-L為1.5 V,差分電壓為2 V時,代表顯性邏輯;在CAN-H為2.5 V,CAN-L為2.5 V,差分電壓為0 V時,代表隱性邏輯[2]。
CAN協議與傳統總線網絡之間的最大差異是編碼通信數據塊,促使網絡全部節點可實時接收相同數據,從而保障了控制系統實時性與可靠性。通信數據短幀結構,各幀包含起始段、仲裁段、控制段、數據段、循環冗余校驗段、方管段、結束段。數據段為8個字節有效數據,校驗段具備錯誤處理功能,短幀結構數據傳輸時間較短,可降低干擾影響,提升通信可靠性與穩定性。
CAN總線以多主競爭式總線結構為載體,通過非破壞性仲裁技術,CAN總線的任意節點可在任何時刻主動面向網絡其他節點傳輸信息,并且不分主次,可于各節點自由通信。在兩個節點同時面向網絡傳輸數據時,優先級較低的節點會主動停止傳輸數據,較高的節點可以不受任何影響地持續性傳輸,從而防止總線沖突。節點還可同時進行相同數據接收。這些特性促使CAN總線生成的網絡各節點間的數據通信實時性相對較強,并且比較容易生成冗余結構,提升了系統可靠性與靈活性。而CAN總線節點發生嚴重錯誤時,可自動關閉總線,從中脫離,從而保護網絡其他節點之間的通信不受外界影響。總線節點可就報文ID直接決定接收或者屏蔽報文。
CAN總線即控制器局域網,是當前應用最為普遍的現場總線模式,不僅可靠性與穩定性良好,且功能健全,成本較低,已實現了在汽車電子、電力系統、自動控制等多領域的廣泛應用。現階段CAN總線技術于化工機械中應用愈發普遍化,而很多關鍵零件生產的控制器、傳感器、執行器等大都以CAN總線為基礎加以控制,以此高效保障了整機可靠性、穩定性、可檢測性、智能性。
為解耦智能化終端平臺與既有電液控制系統,并實現在協同工作的同時,又彼此保持獨立,本文設計了CAN總線分布式控制方案,在主機子系統CAN網絡中接入了智能化終端平臺,以此面向子系統提供多項功能,即聯接、感知、計算、記憶等等,并基于功能在智能化終端平臺上實現定制式應用。CAN總線化工機械分布式智能化終端平臺接入[3],具體如圖1所示。

圖1 智能化終端平臺接口
智能化終端平臺基于CAN總線,與主機電控系統相互對接,以無線通信與遠程云平臺、近程智能手機等各種移動終端相銜接,以此為各種操作人員提供數據信息,為電控系統提供物聯網服務,并以內置傳感器為載體,獲取主機實時運行狀態,從而基于智能化終端平臺中運轉的各種應用,為控制器提供多元化、智能化功能。
CAN總線接口電路硬件基于CAN總線主站電路板與從站電路板共同構成,由于CAN接口配置的工控機并不多,成本較高,而帶有RS232串口的工控機較為普遍,所以CAN總線主站電路板以RS232轉CAN技術。CAN總線接口電路結構[4],具體如圖2所示。

圖2 總線接口電路結構
2.2.1 主站電路設計
為保障通信可靠性與穩定,CAN控制器與收發器之間添加了光電耦合器,以隔離光電。CAN主站電路結構,具體如圖3所示。

圖3 主站電路結構
2.2.2 從站電路設計
CAN從站電路與主站電路結構類似,由于無需與上位機相互通信,因此省去了RS232串口通信部分,而為提升系統可靠性,從站電路與主控電路同樣設置了電機驅動硬件接口電路,結構相一致。CAN從站電路結構如圖4所示。

圖4 從站電路結構
2.3.1 硬件設計
CAN總線化工機械智能化終端平臺硬件框架[5],具體如圖5所示。

圖5 終端平臺硬件框架
其中主控模塊是硬件核心所在,包含ARM+DSP雙核處理器,即主頻1GHz的ARM Cortex-A8 MPU核與800MHz的TMS320 C64x+DSP核,同時集成融合了2D/3D圖形加速器。由于具備DSP,主控模塊不僅可完成基于乘加運算、矩陣運算、三角函數、浮點運算的繁雜數學計算部分,還可實現圖形圖像格式轉換與處理分析算法。主控模塊ARM核主頻相對較高,接口多元化,內存非常大,可同時接入現場設備與遠程設備,并實現數據實時交互。
4G功能模塊。基于ME3630全網通工業級模塊實現4G功能,以貼片式焊接工藝,確保化工機械振動。于待機模式時,還可接收短信,喚醒主系統。同時以USB接口為載體與主控模塊實現彼此通信。
藍牙功能。利用EH-MC10低能耗工業級模組,支持藍牙4.0協議、數據通信。并基于UART接口與主控模塊相互通信。
WiFi功能。通過HF-ALL模組實現WiFi功能,以2.4 GHz頻段,支持802.11b/g/n與AP等多項功能。以網口為載體實現和主控模塊之間的通信,同時支持UART接口配置WiFi模塊。
存儲功能。基于Micro SD卡進行存儲,最大容量為32G,以SDIO接口接入主控模塊,完成二者相互通信。
定位功能。利用MAX-8Q工業級模塊準確定位,此模塊不僅體積較小,能耗偏低,而且穩定性與可靠性良好,電路實現相對簡單,同時支持GPS與北斗系統。通過UART接口與主控模塊彼此通信,且可基于IIC接口合理配置模塊。
主控模塊。集成兩路工業級CAN控制器,對外銜接附帶電鍍隔離的CAN轉發器,且信號傳輸速率可以達到1 Mbps。
硬件嚴格遵守工業級相關標準進行設計,與寬溫、寬壓、電磁兼容等相關要求高度相符。
2.3.2 軟件設計
CAN總線化工機械智能化終端平臺軟件以嵌入式Linux為載體進行開發,為實現軟件平臺化與可擴展性,遵循了模塊化與層級化設計原則。軟件主要劃分為4個層次[6],具體如圖6所示。

圖6 終端平臺軟件框架
板級支持包BSP層分析。以Linux內核為基礎開發板級支持包BSP層,其為軟件框架最底層,負責為硬件提供資源。其中包含文件系統、網絡接口、設備驅動。文件系統的作用是為終端平臺提供相關支持,系統Flash、TF卡數據、文件讀寫都是基于文件系統接口實現的;網絡接口負責提供TCP/IP協議棧支持與Socket編程接口;設備驅動的作用是提供板載外接設備與接口的應用運行接口,同時支持定位、速度、模擬信號采集、音頻視頻采集、CAN總線、WiFi、藍牙、4G等等。
基礎組件/庫層分析。負責提供應用框架與智能化應用所需動態庫,即發行版常用庫、物聯網應用常用庫、CAN應用協議庫。面向非標準化智能化終端平臺外接設備驅動,提供與其相適應的適配層硬件HAL組件,其可有效解決硬件升級引發的兼容性問題,同時還提供面向主機應用的智能化算法庫組件,其支持研發者在授權下適度擴展,以實現定制式相關要求。
應用架構層分析。基于化工機械智能化應用需求,高度抽象而得的通用功能模塊與應用框架。
智能化應用層分析。應用研發者以應用架構層代碼為輔助,根據產品個性化與差異化要求,完成實際應用研發。
2.3.3 訂閱發布機制設計
規范標準的應用架構層,是保障平臺二次開發友好性的重要前提。因此,針對應用架構層實現了終端平臺化,以訂閱發布設計模式,解耦了多項模塊,強化了應用架構易擴展性。化工機械智能化終端為數據融合載體,銜接了多種CAN總線傳感器與控制器設備,并內置了定位與溫度等傳感器,所需采集數據信息海量繁雜。就此數據應用場景也十分復雜,其中部分需單獨儲存,部分需通過解析處理,并打包傳輸于云平臺與智能手機App,其他部分則需采取特定算法完成數據運算,并反饋結果于電液控制系統。而各種場景對于數據的應用,都需確保實時性。在智能化終端應用中,為實現多應用對多數據運用的安全性、實時性、靈活性設計,引進了訂閱發布機制。
此機制明確了一對多的依賴性關系,促使多訂閱者共同監控同一主題對象。此對象在狀態實時變化時,會快速提示全部訂閱者,以確保其可及時自動更新自身狀態。訂閱發布機制[7]具體如圖7所示。

圖7 訂閱發布機制
其中將基于CAN總線、內置傳感器、定位模塊、電源管理模塊的底層數據信息,統一封裝為不同主題,由底層數據管理模塊為發布者,進行實時發布。此模塊不僅負責提供數據信息,還提供數據采集策略配置接口。而應用架構服務模塊只需關注訂閱所獲數據接口即可。應用架構層服務模塊通過相同模式,明確定義應用程序所關注交互數據為不同主題,以供業務邏輯層應用。
通過各主題解耦底層數據與業務邏輯,應用程序只需關注相關業務邏輯,以積木式模式,根據需要激活并配置應用架構供給的模塊,并詳細填寫應用代碼。此開發模塊不僅可保障二次開發便捷性與靈活性,還可保留框架整體性,在很大程度上提高了終端軟件質量。
化工機械電氣控制系統是機械自動化控制系統的核心環節,而電液比例控制技術是提升設備自動化水平的關鍵途徑。機械電液控制系統不僅可有效提升生產效率,還可降低勞動強度。基于遠程遙控操作,可有效改進優化生產環境,保障化工生產安全性。系統基于CAN通信網絡所構建分布式控制系統,以主控制器為核心,同時就PWM控制器、遙控器、人機操作界面,整體應用機械、液壓、電子技術、控制技術、網絡通信技術,從而設計化工機械設備綜合電液控制系統,其結構具體如圖8所示。

圖8 電液控制系統結構
CAN總線化工機械智能化終端平臺二次開發包括SDK(軟件開發套件)與IDE(集成開發環境)。SDK基于固件、應用架構代碼、應用程序構成,并與IDE打包為一體,供給應用研發者。
CAN總線化工機械智能化終端為嵌入式電子產品,不具有開發能力,直接于硬件編寫并調試軟件難度較大。當前嵌入式軟件開發,即基于PC編寫代碼,并通過交叉編譯形成目標平臺可以運行的二進制固件,然后燒寫于硬件運轉并調試。基于安全性與友好性,面向智能化應用開發調試,制定了以Eclipse平臺為載體的解決方案。Eclipse平臺提供了完整的基礎框架,應用程序可以此為功能插件集成于Eclipse。
以Eclipse平臺為輔助,本文深層定制研發了CAN總線化工機械智能化終端的IDE,集成了具備智能化終端的SDK、C/C++開發套件、交叉編譯器,支持面向目標機應用程序的項目管理、源代碼編輯、項目建構、交叉運行、調試、測試、固化等多元功能。而IDE運行于Windows7,不需要安裝與配置,只需通過網線連接智能化終端與電腦,便可實現研發、下載與調試,使用十分便捷[8]。
當前以CAN總線化工機械智能化終端平臺為載體,已經衍生了許多各式各樣的產品形態,且實現了在混凝土泵車健康監控系統與智能化臂架控制系統等產品中的廣泛應用。在混凝土泵車健康監控系統中,設計研發了以CAN總線化工機械智能化終端平臺為基礎的物聯網關,網關現場進行控制器CAN數據采集,并加以解析,以獲得健康檢測結果,傳輸于App呈現。同時儲存并統計的工作數據,可基于App查詢與統計,并傳輸檢測結果于近場App以呈現化工機械健康與運行狀況,具體如圖9所示。

圖9 混凝土泵車實際應用
而于智能化臂架控制系統中,基于CAN總線化工機械智能化終端平臺設計研發了臂架求解器,其功能是負責計算泵車臂架控制系統,以臂架姿態在線求解與逆求解獲得控制結果,并傳輸于控制器,以實現臂架軌跡高度精確化控制。
綜上所述,本文設計實現了CAN總線化工機械智能化終端平臺,簡單介紹了分布式電液控制系統方案,分析了CAN總線主站電路與從站電路,在此基礎上設計了化工機械智能化終端平臺,并詳細設計了終端軟件與硬件平臺,進行了終端平臺二次開發,最后通過混凝土泵車中的實踐應用驗證了終端平臺實用性。結果表明,此智能化終端可為電液控制系統提供更全面聯接、更完善感知、更高層次計算、更好記憶能力,可幫助主機實現無感智能化升級,實用性、可靠性、穩定性良好,值得大力推廣與廣泛應用。