秦洪浪
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 航空工程學(xué)院, 陜西 咸陽 712000)
CAN總線是一種技術(shù)先進,可靠性與穩(wěn)定性較高,功能健全的遠程控制模式,已實現(xiàn)了在各個領(lǐng)域的廣泛應(yīng)用。當前國內(nèi)相對缺乏以CAN總線為基礎(chǔ)的化工機械智能化終端平臺,并未充分合理利用CAN總線的優(yōu)勢作用,同時機械智能化終端大部分存在功能過于單一化,一體化集成結(jié)構(gòu)太過復(fù)雜,升級優(yōu)化需拆機更換ROM存儲芯片,顯示實時性較差,監(jiān)控數(shù)據(jù)信息不完善,操作不便捷等各種問題[1]。據(jù)此,本文設(shè)計了CAN總線化工機械智能化終端平臺。
CAN即國際標準化組織的串行總線通信協(xié)議,CAN總線是支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),稱之為工業(yè)自動化控制領(lǐng)域的計算機局域網(wǎng)。以CAN總線為基礎(chǔ)的分布式控制系統(tǒng)可實時可靠傳輸各個節(jié)點間的數(shù)據(jù)信息,因此得以在化工自動化、工業(yè)自動化、船舶設(shè)備等各個領(lǐng)域?qū)崿F(xiàn)了廣泛應(yīng)用。1993年11月,ISO正式頒布了道路交通運載工具-數(shù)字信息交換-高速通信CAN國際標準ISO11898,在很大程度上為CAN標準化與規(guī)范化推行奠定了堅實的基礎(chǔ)。CAN總線是自動化領(lǐng)域技術(shù)發(fā)展的主要熱點,CAN控制器基于CAN-H與CAN-L共同構(gòu)成通信總線。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協(xié)議與傳統(tǒng)總線網(wǎng)絡(luò)之間的最大差異是編碼通信數(shù)據(jù)塊,促使網(wǎng)絡(luò)全部節(jié)點可實時接收相同數(shù)據(jù),從而保障了控制系統(tǒng)實時性與可靠性。通信數(shù)據(jù)短幀結(jié)構(gòu),各幀包含起始段、仲裁段、控制段、數(shù)據(jù)段、循環(huán)冗余校驗段、方管段、結(jié)束段。數(shù)據(jù)段為8個字節(jié)有效數(shù)據(jù),校驗段具備錯誤處理功能,短幀結(jié)構(gòu)數(shù)據(jù)傳輸時間較短,可降低干擾影響,提升通信可靠性與穩(wěn)定性。
CAN總線以多主競爭式總線結(jié)構(gòu)為載體,通過非破壞性仲裁技術(shù),CAN總線的任意節(jié)點可在任何時刻主動面向網(wǎng)絡(luò)其他節(jié)點傳輸信息,并且不分主次,可于各節(jié)點自由通信。在兩個節(jié)點同時面向網(wǎng)絡(luò)傳輸數(shù)據(jù)時,優(yōu)先級較低的節(jié)點會主動停止傳輸數(shù)據(jù),較高的節(jié)點可以不受任何影響地持續(xù)性傳輸,從而防止總線沖突。節(jié)點還可同時進行相同數(shù)據(jù)接收。這些特性促使CAN總線生成的網(wǎng)絡(luò)各節(jié)點間的數(shù)據(jù)通信實時性相對較強,并且比較容易生成冗余結(jié)構(gòu),提升了系統(tǒng)可靠性與靈活性。而CAN總線節(jié)點發(fā)生嚴重錯誤時,可自動關(guān)閉總線,從中脫離,從而保護網(wǎng)絡(luò)其他節(jié)點之間的通信不受外界影響??偩€節(jié)點可就報文ID直接決定接收或者屏蔽報文。
CAN總線即控制器局域網(wǎng),是當前應(yīng)用最為普遍的現(xiàn)場總線模式,不僅可靠性與穩(wěn)定性良好,且功能健全,成本較低,已實現(xiàn)了在汽車電子、電力系統(tǒng)、自動控制等多領(lǐng)域的廣泛應(yīng)用?,F(xiàn)階段CAN總線技術(shù)于化工機械中應(yīng)用愈發(fā)普遍化,而很多關(guān)鍵零件生產(chǎn)的控制器、傳感器、執(zhí)行器等大都以CAN總線為基礎(chǔ)加以控制,以此高效保障了整機可靠性、穩(wěn)定性、可檢測性、智能性。
為解耦智能化終端平臺與既有電液控制系統(tǒng),并實現(xiàn)在協(xié)同工作的同時,又彼此保持獨立,本文設(shè)計了CAN總線分布式控制方案,在主機子系統(tǒng)CAN網(wǎng)絡(luò)中接入了智能化終端平臺,以此面向子系統(tǒng)提供多項功能,即聯(lián)接、感知、計算、記憶等等,并基于功能在智能化終端平臺上實現(xiàn)定制式應(yīng)用。CAN總線化工機械分布式智能化終端平臺接入[3],具體如圖1所示。
圖1 智能化終端平臺接口
智能化終端平臺基于CAN總線,與主機電控系統(tǒng)相互對接,以無線通信與遠程云平臺、近程智能手機等各種移動終端相銜接,以此為各種操作人員提供數(shù)據(jù)信息,為電控系統(tǒng)提供物聯(lián)網(wǎng)服務(wù),并以內(nèi)置傳感器為載體,獲取主機實時運行狀態(tài),從而基于智能化終端平臺中運轉(zhuǎn)的各種應(yīng)用,為控制器提供多元化、智能化功能。
CAN總線接口電路硬件基于CAN總線主站電路板與從站電路板共同構(gòu)成,由于CAN接口配置的工控機并不多,成本較高,而帶有RS232串口的工控機較為普遍,所以CAN總線主站電路板以RS232轉(zhuǎn)CAN技術(shù)。CAN總線接口電路結(jié)構(gòu)[4],具體如圖2所示。
圖2 總線接口電路結(jié)構(gòu)
2.2.1 主站電路設(shè)計
為保障通信可靠性與穩(wěn)定,CAN控制器與收發(fā)器之間添加了光電耦合器,以隔離光電。CAN主站電路結(jié)構(gòu),具體如圖3所示。
圖3 主站電路結(jié)構(gòu)
2.2.2 從站電路設(shè)計
CAN從站電路與主站電路結(jié)構(gòu)類似,由于無需與上位機相互通信,因此省去了RS232串口通信部分,而為提升系統(tǒng)可靠性,從站電路與主控電路同樣設(shè)置了電機驅(qū)動硬件接口電路,結(jié)構(gòu)相一致。CAN從站電路結(jié)構(gòu)如圖4所示。
圖4 從站電路結(jié)構(gòu)
2.3.1 硬件設(shè)計
CAN總線化工機械智能化終端平臺硬件框架[5],具體如圖5所示。
圖5 終端平臺硬件框架
其中主控模塊是硬件核心所在,包含ARM+DSP雙核處理器,即主頻1GHz的ARM Cortex-A8 MPU核與800MHz的TMS320 C64x+DSP核,同時集成融合了2D/3D圖形加速器。由于具備DSP,主控模塊不僅可完成基于乘加運算、矩陣運算、三角函數(shù)、浮點運算的繁雜數(shù)學(xué)計算部分,還可實現(xiàn)圖形圖像格式轉(zhuǎn)換與處理分析算法。主控模塊ARM核主頻相對較高,接口多元化,內(nèi)存非常大,可同時接入現(xiàn)場設(shè)備與遠程設(shè)備,并實現(xiàn)數(shù)據(jù)實時交互。
4G功能模塊?;贛E3630全網(wǎng)通工業(yè)級模塊實現(xiàn)4G功能,以貼片式焊接工藝,確?;C械振動。于待機模式時,還可接收短信,喚醒主系統(tǒng)。同時以USB接口為載體與主控模塊實現(xiàn)彼此通信。
藍牙功能。利用EH-MC10低能耗工業(yè)級模組,支持藍牙4.0協(xié)議、數(shù)據(jù)通信。并基于UART接口與主控模塊相互通信。
WiFi功能。通過HF-ALL模組實現(xiàn)WiFi功能,以2.4 GHz頻段,支持802.11b/g/n與AP等多項功能。以網(wǎng)口為載體實現(xiàn)和主控模塊之間的通信,同時支持UART接口配置WiFi模塊。
存儲功能。基于Micro SD卡進行存儲,最大容量為32G,以SDIO接口接入主控模塊,完成二者相互通信。
定位功能。利用MAX-8Q工業(yè)級模塊準確定位,此模塊不僅體積較小,能耗偏低,而且穩(wěn)定性與可靠性良好,電路實現(xiàn)相對簡單,同時支持GPS與北斗系統(tǒng)。通過UART接口與主控模塊彼此通信,且可基于IIC接口合理配置模塊。
主控模塊。集成兩路工業(yè)級CAN控制器,對外銜接附帶電鍍隔離的CAN轉(zhuǎn)發(fā)器,且信號傳輸速率可以達到1 Mbps。
硬件嚴格遵守工業(yè)級相關(guān)標準進行設(shè)計,與寬溫、寬壓、電磁兼容等相關(guān)要求高度相符。
2.3.2 軟件設(shè)計
CAN總線化工機械智能化終端平臺軟件以嵌入式Linux為載體進行開發(fā),為實現(xiàn)軟件平臺化與可擴展性,遵循了模塊化與層級化設(shè)計原則。軟件主要劃分為4個層次[6],具體如圖6所示。
圖6 終端平臺軟件框架
板級支持包BSP層分析。以Linux內(nèi)核為基礎(chǔ)開發(fā)板級支持包BSP層,其為軟件框架最底層,負責為硬件提供資源。其中包含文件系統(tǒng)、網(wǎng)絡(luò)接口、設(shè)備驅(qū)動。文件系統(tǒng)的作用是為終端平臺提供相關(guān)支持,系統(tǒng)Flash、TF卡數(shù)據(jù)、文件讀寫都是基于文件系統(tǒng)接口實現(xiàn)的;網(wǎng)絡(luò)接口負責提供TCP/IP協(xié)議棧支持與Socket編程接口;設(shè)備驅(qū)動的作用是提供板載外接設(shè)備與接口的應(yīng)用運行接口,同時支持定位、速度、模擬信號采集、音頻視頻采集、CAN總線、WiFi、藍牙、4G等等。
基礎(chǔ)組件/庫層分析。負責提供應(yīng)用框架與智能化應(yīng)用所需動態(tài)庫,即發(fā)行版常用庫、物聯(lián)網(wǎng)應(yīng)用常用庫、CAN應(yīng)用協(xié)議庫。面向非標準化智能化終端平臺外接設(shè)備驅(qū)動,提供與其相適應(yīng)的適配層硬件HAL組件,其可有效解決硬件升級引發(fā)的兼容性問題,同時還提供面向主機應(yīng)用的智能化算法庫組件,其支持研發(fā)者在授權(quán)下適度擴展,以實現(xiàn)定制式相關(guān)要求。
應(yīng)用架構(gòu)層分析?;诨C械智能化應(yīng)用需求,高度抽象而得的通用功能模塊與應(yīng)用框架。
智能化應(yīng)用層分析。應(yīng)用研發(fā)者以應(yīng)用架構(gòu)層代碼為輔助,根據(jù)產(chǎn)品個性化與差異化要求,完成實際應(yīng)用研發(fā)。
2.3.3 訂閱發(fā)布機制設(shè)計
規(guī)范標準的應(yīng)用架構(gòu)層,是保障平臺二次開發(fā)友好性的重要前提。因此,針對應(yīng)用架構(gòu)層實現(xiàn)了終端平臺化,以訂閱發(fā)布設(shè)計模式,解耦了多項模塊,強化了應(yīng)用架構(gòu)易擴展性?;C械智能化終端為數(shù)據(jù)融合載體,銜接了多種CAN總線傳感器與控制器設(shè)備,并內(nèi)置了定位與溫度等傳感器,所需采集數(shù)據(jù)信息海量繁雜。就此數(shù)據(jù)應(yīng)用場景也十分復(fù)雜,其中部分需單獨儲存,部分需通過解析處理,并打包傳輸于云平臺與智能手機App,其他部分則需采取特定算法完成數(shù)據(jù)運算,并反饋結(jié)果于電液控制系統(tǒng)。而各種場景對于數(shù)據(jù)的應(yīng)用,都需確保實時性。在智能化終端應(yīng)用中,為實現(xiàn)多應(yīng)用對多數(shù)據(jù)運用的安全性、實時性、靈活性設(shè)計,引進了訂閱發(fā)布機制。
此機制明確了一對多的依賴性關(guān)系,促使多訂閱者共同監(jiān)控同一主題對象。此對象在狀態(tài)實時變化時,會快速提示全部訂閱者,以確保其可及時自動更新自身狀態(tài)。訂閱發(fā)布機制[7]具體如圖7所示。
圖7 訂閱發(fā)布機制
其中將基于CAN總線、內(nèi)置傳感器、定位模塊、電源管理模塊的底層數(shù)據(jù)信息,統(tǒng)一封裝為不同主題,由底層數(shù)據(jù)管理模塊為發(fā)布者,進行實時發(fā)布。此模塊不僅負責提供數(shù)據(jù)信息,還提供數(shù)據(jù)采集策略配置接口。而應(yīng)用架構(gòu)服務(wù)模塊只需關(guān)注訂閱所獲數(shù)據(jù)接口即可。應(yīng)用架構(gòu)層服務(wù)模塊通過相同模式,明確定義應(yīng)用程序所關(guān)注交互數(shù)據(jù)為不同主題,以供業(yè)務(wù)邏輯層應(yīng)用。
通過各主題解耦底層數(shù)據(jù)與業(yè)務(wù)邏輯,應(yīng)用程序只需關(guān)注相關(guān)業(yè)務(wù)邏輯,以積木式模式,根據(jù)需要激活并配置應(yīng)用架構(gòu)供給的模塊,并詳細填寫應(yīng)用代碼。此開發(fā)模塊不僅可保障二次開發(fā)便捷性與靈活性,還可保留框架整體性,在很大程度上提高了終端軟件質(zhì)量。
化工機械電氣控制系統(tǒng)是機械自動化控制系統(tǒng)的核心環(huán)節(jié),而電液比例控制技術(shù)是提升設(shè)備自動化水平的關(guān)鍵途徑。機械電液控制系統(tǒng)不僅可有效提升生產(chǎn)效率,還可降低勞動強度?;谶h程遙控操作,可有效改進優(yōu)化生產(chǎn)環(huán)境,保障化工生產(chǎn)安全性。系統(tǒng)基于CAN通信網(wǎng)絡(luò)所構(gòu)建分布式控制系統(tǒng),以主控制器為核心,同時就PWM控制器、遙控器、人機操作界面,整體應(yīng)用機械、液壓、電子技術(shù)、控制技術(shù)、網(wǎng)絡(luò)通信技術(shù),從而設(shè)計化工機械設(shè)備綜合電液控制系統(tǒng),其結(jié)構(gòu)具體如圖8所示。
圖8 電液控制系統(tǒng)結(jié)構(gòu)
CAN總線化工機械智能化終端平臺二次開發(fā)包括SDK(軟件開發(fā)套件)與IDE(集成開發(fā)環(huán)境)。SDK基于固件、應(yīng)用架構(gòu)代碼、應(yīng)用程序構(gòu)成,并與IDE打包為一體,供給應(yīng)用研發(fā)者。
CAN總線化工機械智能化終端為嵌入式電子產(chǎn)品,不具有開發(fā)能力,直接于硬件編寫并調(diào)試軟件難度較大。當前嵌入式軟件開發(fā),即基于PC編寫代碼,并通過交叉編譯形成目標平臺可以運行的二進制固件,然后燒寫于硬件運轉(zhuǎn)并調(diào)試?;诎踩耘c友好性,面向智能化應(yīng)用開發(fā)調(diào)試,制定了以Eclipse平臺為載體的解決方案。Eclipse平臺提供了完整的基礎(chǔ)框架,應(yīng)用程序可以此為功能插件集成于Eclipse。
以Eclipse平臺為輔助,本文深層定制研發(fā)了CAN總線化工機械智能化終端的IDE,集成了具備智能化終端的SDK、C/C++開發(fā)套件、交叉編譯器,支持面向目標機應(yīng)用程序的項目管理、源代碼編輯、項目建構(gòu)、交叉運行、調(diào)試、測試、固化等多元功能。而IDE運行于Windows7,不需要安裝與配置,只需通過網(wǎng)線連接智能化終端與電腦,便可實現(xiàn)研發(fā)、下載與調(diào)試,使用十分便捷[8]。
當前以CAN總線化工機械智能化終端平臺為載體,已經(jīng)衍生了許多各式各樣的產(chǎn)品形態(tài),且實現(xiàn)了在混凝土泵車健康監(jiān)控系統(tǒng)與智能化臂架控制系統(tǒng)等產(chǎn)品中的廣泛應(yīng)用。在混凝土泵車健康監(jiān)控系統(tǒng)中,設(shè)計研發(fā)了以CAN總線化工機械智能化終端平臺為基礎(chǔ)的物聯(lián)網(wǎng)關(guān),網(wǎng)關(guān)現(xiàn)場進行控制器CAN數(shù)據(jù)采集,并加以解析,以獲得健康檢測結(jié)果,傳輸于App呈現(xiàn)。同時儲存并統(tǒng)計的工作數(shù)據(jù),可基于App查詢與統(tǒng)計,并傳輸檢測結(jié)果于近場App以呈現(xiàn)化工機械健康與運行狀況,具體如圖9所示。
圖9 混凝土泵車實際應(yīng)用
而于智能化臂架控制系統(tǒng)中,基于CAN總線化工機械智能化終端平臺設(shè)計研發(fā)了臂架求解器,其功能是負責計算泵車臂架控制系統(tǒng),以臂架姿態(tài)在線求解與逆求解獲得控制結(jié)果,并傳輸于控制器,以實現(xiàn)臂架軌跡高度精確化控制。
綜上所述,本文設(shè)計實現(xiàn)了CAN總線化工機械智能化終端平臺,簡單介紹了分布式電液控制系統(tǒng)方案,分析了CAN總線主站電路與從站電路,在此基礎(chǔ)上設(shè)計了化工機械智能化終端平臺,并詳細設(shè)計了終端軟件與硬件平臺,進行了終端平臺二次開發(fā),最后通過混凝土泵車中的實踐應(yīng)用驗證了終端平臺實用性。結(jié)果表明,此智能化終端可為電液控制系統(tǒng)提供更全面聯(lián)接、更完善感知、更高層次計算、更好記憶能力,可幫助主機實現(xiàn)無感智能化升級,實用性、可靠性、穩(wěn)定性良好,值得大力推廣與廣泛應(yīng)用。