薛 瑄,田振東,郭凌龍,黃 飛,王 宇,張紅娟,靳寶全
(1.太原理工大學(xué) 新型傳感器與智能控制教育部與山西省重點實驗室,山西 太原 030024; 2.晉城無煙煤礦業(yè)集團有限責(zé)任公司,山西 晉城 048006; 3.山西汾西重工有限責(zé)任公司,山西 太原 030024)
刮板輸送機作為礦山生產(chǎn)領(lǐng)域輸送物料的重要裝備,其驅(qū)動機構(gòu)是安裝于機頭機尾的變頻調(diào)速一體機[1]。由于機頭機尾一體機內(nèi)部驅(qū)動電機功率、轉(zhuǎn)速之間的不匹配,刮板輸送機的運行效率不高,一體機內(nèi)電機損耗情況也不容忽視。引入可靠的監(jiān)控單元通信方案實現(xiàn)對機頭機尾一體機運行參數(shù)的協(xié)同控制對于調(diào)節(jié)刮板輸送機功率平衡與保障設(shè)備穩(wěn)定高效運行十分重要。目前,礦井監(jiān)控領(lǐng)域常采用RS485、CAN等總線方案實現(xiàn)設(shè)備之間的信息交互[2-5]。由于RS485不具備多機數(shù)據(jù)同時發(fā)送的能力,系統(tǒng)通信效率較低;CAN總線具備自動仲裁與錯誤檢測機制,數(shù)據(jù)交互效率與可靠性更強[6]。在許多礦井系統(tǒng)中,CAN總線在物理層與數(shù)據(jù)鏈路層的優(yōu)勢得到了充分利用,但系統(tǒng)的應(yīng)用層協(xié)議多由開發(fā)者自定義開發(fā),其開放性不強。針對以上情況,本文提出了基于CANopen標(biāo)準(zhǔn)通信接口的一體機協(xié)同控制通信方案,分析了CANopen協(xié)議的架構(gòu)。通過監(jiān)控單元主控MCU的串口外設(shè)驅(qū)動集成CANopen從站協(xié)議棧的通信轉(zhuǎn)換單元GCAN-305,實現(xiàn)了一體機CANopen通信接口的設(shè)計。利用GCAN-305開發(fā)礦用設(shè)備CANopen通信接口的方案能有效提高開發(fā)效率,可推廣用于提高煤礦井下通信網(wǎng)絡(luò)的標(biāo)準(zhǔn)化水平。
為實現(xiàn)機頭、機尾一體機運行狀態(tài)參數(shù)的平衡調(diào)節(jié),本文提出了基于CANopen標(biāo)準(zhǔn)通信方式的機頭機尾一體機協(xié)同控制通信系統(tǒng)方案。整個通信系統(tǒng)由機頭機尾一體機監(jiān)控單元、PLC協(xié)同控制單元、CAN通信鏈路、礦用以太網(wǎng)、井上集控主機構(gòu)成。機頭、機尾的一體機監(jiān)控單元作為CANopen從站用于將本地設(shè)備的運行狀態(tài)參數(shù)發(fā)送至CAN通信鏈路,并負(fù)責(zé)設(shè)備運行控制參數(shù)的接收;外接CANopen主站接口的PLC協(xié)同控制單元作為CANopen主機根據(jù)接收到的運行狀態(tài)參數(shù)進(jìn)行運算處理,得到機頭機尾一體機功率效率最佳時的控制參數(shù)分別發(fā)送至機頭機尾一體機監(jiān)控單元,由其輸入至一體機;PLC通過以太網(wǎng)與井上集控主機建立通信鏈路,通信系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 刮板輸送機機頭機尾一體機通信系統(tǒng)結(jié)構(gòu)框圖
CANopen是基于CAN總線的網(wǎng)絡(luò)傳輸應(yīng)用層協(xié)議,通常由對象字典、通信部分及應(yīng)用三部分構(gòu)成,其核心是對象字典,典型的CANopen設(shè)備結(jié)構(gòu)模型如圖2所示[7]。
圖2 典型的CANopen設(shè)備結(jié)構(gòu)模型框圖
對象字典是一個CANopen節(jié)點設(shè)備中設(shè)備數(shù)據(jù)、通信、應(yīng)用配置等所有對象參數(shù)項的有序集合[8]。通過2byte的索引,可以尋址范圍在0x0000~0xFFFF的對象參數(shù)項,部分索引項包含范圍8bit子索引,用以尋址某一對象參數(shù)項下的對應(yīng)元素。
為保障通信網(wǎng)絡(luò)的穩(wěn)定性與可靠性,CANopen協(xié)議規(guī)定由一個網(wǎng)絡(luò)管理主機NMT-Master來管理網(wǎng)絡(luò)中各從站節(jié)點的啟停,整個網(wǎng)絡(luò)遵循一主多從的通信模式[9]。NMT-Master通過網(wǎng)絡(luò)管理報文可使網(wǎng)絡(luò)中任一CANopen從站在初始化、預(yù)操作狀態(tài)、操作狀態(tài)、停止?fàn)顟B(tài)等6個狀態(tài)之間進(jìn)行轉(zhuǎn)換,其狀態(tài)轉(zhuǎn)換如圖3所示。
圖3 網(wǎng)絡(luò)管理狀態(tài)轉(zhuǎn)換圖
CANopen的報文傳輸采用CAN標(biāo)準(zhǔn)幀格式,規(guī)定將11 bit的CAN幀ID劃分為4bit的功能段Function-ID與7bit的節(jié)點序號段Node-ID,并定義了強制性缺省CAN-ID分配表,CAN-ID的構(gòu)成如圖4所示,功能段用于主、從站進(jìn)行數(shù)據(jù)交互的具體操作與應(yīng)答;節(jié)點序號段描述CANopen網(wǎng)絡(luò)中的節(jié)點地址序號。
圖4 CANopen的CAN-ID構(gòu)成
CANopen常用的通信對象包括網(wǎng)絡(luò)管理對象NMT、過程數(shù)據(jù)對象PDO、服務(wù)數(shù)據(jù)對象SDO、同步對象SYNC和緊急報文EMCY。其中,協(xié)議規(guī)定由PDO和SDO來存放配置參數(shù)、應(yīng)用數(shù)據(jù)等交互信息。
PDO/SDO通信模型如圖5所示。過程數(shù)據(jù)對象PDO可實現(xiàn)數(shù)據(jù)的實時單向傳輸,不需要接收從站回應(yīng)確認(rèn)報文,屬于生產(chǎn)消費通信模型。以CANopen從站為參考,PDO可被劃分為發(fā)送TPDO和接收RPDO,分別用于發(fā)送、接收數(shù)據(jù)。SDO多應(yīng)用于NMT主機對從站的配置,通常以CANopen從站作為SDO服務(wù)器,NMT主機作為客戶端,構(gòu)成服務(wù)器/客戶端模型,可確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
圖5 PDO/SDO通信模型示意圖
系統(tǒng)利用機頭、機尾監(jiān)控單元完成對刮板輸送機機頭機尾一體機運行狀態(tài)參數(shù)的采集與控制參數(shù)的給定。為實現(xiàn)機頭機尾一體機監(jiān)控單元符合CANopen通信設(shè)備規(guī)范的高效開發(fā),采用硬件集成DS301、DS302、DS303等CANopen規(guī)范的串口驅(qū)動嵌入式通信轉(zhuǎn)換單元GCAN-305來完成監(jiān)控單元的CANopen接口設(shè)計[10]。
一體機監(jiān)控單元CANopen設(shè)備接口的實現(xiàn)利用微控制器STM32F407的串行USART2外設(shè)與GCAN-305進(jìn)行數(shù)據(jù)交互,由通信單元完成協(xié)議轉(zhuǎn)換后外接CAN收發(fā)器接至CAN網(wǎng)絡(luò),通信接口的硬件電路結(jié)構(gòu)如圖6所示。
圖6 一體機監(jiān)控單元CANopen設(shè)備接口硬件框圖
MCU負(fù)責(zé)一體機運行狀態(tài)參數(shù)的監(jiān)測采集、控制參數(shù)的給定輸出,及運行參數(shù)的發(fā)送與控制參數(shù)的接收。GCAN-305可通過外部DIP開關(guān)完成對本機設(shè)備ID及CAN通信波特率的設(shè)置,并通過輸出信號至運行狀態(tài)指示LED來表示當(dāng)前設(shè)備所處的狀態(tài)。
GCAN-305內(nèi)部集成有96 byte的輸入/輸出數(shù)據(jù)緩沖區(qū),系統(tǒng)分配部分存儲地址用于存放一體機監(jiān)控單元采集到的運行轉(zhuǎn)速、工作電流等運行狀態(tài)參數(shù)與額定技術(shù)參數(shù)。部分參數(shù)在GCAN-305輸入存儲區(qū)的分配情況見表1。協(xié)同監(jiān)控單元PLC作為CAN通信鏈路中的CANopen主機在配置監(jiān)控單元從機為操作狀態(tài)后,可讀取其參數(shù)信息。
表1 GCAN-305輸入存儲區(qū)的存儲資源分配
在MCU與GCAN-305進(jìn)行串行通信時,遵循GCAN-305自定義的串行通信協(xié)議:由MCU作為串行通信主機發(fā)起問詢請求,通信單元接收到問詢請求后根據(jù)請求完成對應(yīng)操作,并作出應(yīng)答,串行通信問詢幀與應(yīng)答幀的格式如圖7所示,命令碼與特定參數(shù)等信息可查閱GCAN-305的手冊得知。
圖7 GCAN-305串口問詢/應(yīng)答幀的幀結(jié)構(gòu)
監(jiān)控單元軟件實現(xiàn)流程如圖8所示,根據(jù)通信主機問詢幀的格式與編碼規(guī)定,監(jiān)控單元的MCU在初始化時,通過USART2將一體機監(jiān)控單元的設(shè)備代碼、軟硬件版本等設(shè)備信息發(fā)送至GCAN-305的對應(yīng)對象字典索引,供CANopen主站設(shè)備查詢。監(jiān)控單元正常運行時,將監(jiān)測到的運行轉(zhuǎn)速等運行狀態(tài)參數(shù)、額定功率等額定參數(shù)完成封裝后送至數(shù)據(jù)緩沖區(qū)的對應(yīng)索引,在通信轉(zhuǎn)換單元遵循CANopen規(guī)程生成報文后,傳輸至協(xié)同監(jiān)控單元。同時,監(jiān)控單元MCU檢測GCAN-305中斷信號引腳的跳變沿,在檢測到下降沿時,讀取GCAN-305輸出數(shù)據(jù)存儲區(qū)更新的控制參數(shù)信息,并將該參數(shù)輸出至一體機給定輸入端。
圖8 板載CANopen接口的監(jiān)控單元軟件流程圖
在完成一體機監(jiān)控單元CANopen通信設(shè)備接口實現(xiàn)的設(shè)計后,在實驗室環(huán)境下搭建了如圖9所示的一體機監(jiān)控CANopen網(wǎng)絡(luò)。其中,以外接CAN分析儀的PC作為CANopen主機、由GCAN-305評估板與監(jiān)控單元構(gòu)成CANopen從站設(shè)備完成通信系統(tǒng)搭建,設(shè)置主從機之間通信波特率為115200bps。通過內(nèi)嵌CANopenMaster的上位機軟件ECAN Tools實現(xiàn)通訊數(shù)據(jù)監(jiān)控,進(jìn)行了通信測試與分析。
圖9 CANopen網(wǎng)絡(luò)主從通信測試圖
該測試所搭建的通信系統(tǒng)中僅含有一個主機和一個從機,報文負(fù)載量較小,不會出現(xiàn)擁塞情況,實時性可以保證。測試中,監(jiān)控單元MCU在初始化階段向GCAN-305的對象字典對應(yīng)參數(shù)項索引寫入具體的設(shè)備信息數(shù)據(jù)。設(shè)備運行時,向GCAN-305對應(yīng)的輸入數(shù)據(jù)緩沖區(qū)寫入設(shè)備額定電壓等參數(shù)。由CANopen主站PC發(fā)送CANopen標(biāo)準(zhǔn)指令,分析應(yīng)答數(shù)據(jù),由ECAN Tools捕獲的一組數(shù)據(jù)如圖10所示。
圖10 CANopen通信測試的數(shù)據(jù)
根據(jù)圖10分析測試數(shù)據(jù)可知:在CANopen從站上電后,向CANopen主站PC發(fā)送了一個從站節(jié)點上線報文,其幀ID為703,數(shù)據(jù)為0x00,即節(jié)點序號為3的從站上線。在ECAN Tools的CANopenMaster窗口創(chuàng)建監(jiān)控節(jié)點3,根據(jù)GCAN-305的對象字典,由SDO發(fā)送讀取設(shè)備類型指令,幀ID為0x603,對應(yīng)索引/子索引為0x1000/0x00,得到的數(shù)據(jù)0x0A0011為監(jiān)控單元初始化階段寫入的設(shè)備類型參數(shù)值。由SDO發(fā)送讀取設(shè)備產(chǎn)品代碼指令與索引,可得MCU設(shè)定的本機設(shè)備產(chǎn)品代碼為0xDEDEDEDE。發(fā)送幀ID為0x000、數(shù)據(jù)為0x0103的NMT管理指令啟動從站3,此時從站處于操作狀態(tài),ECAN Tools可接收從站發(fā)來的TPDO數(shù)據(jù),圖中幀ID為183的數(shù)據(jù)0x0CE403E800000000即為從站發(fā)送的TPDO1數(shù)據(jù),分別對應(yīng)于監(jiān)控單元設(shè)定的額定電壓、額定功率、工作轉(zhuǎn)速、工作電流等參數(shù)。這里可以讀出,監(jiān)控單元一體機的額定電壓為0x0CE4(3000V),額定功率0x03E8(1000kW),監(jiān)控單元未接監(jiān)測轉(zhuǎn)速與電流的傳感器,故監(jiān)測到的數(shù)值均為0。
綜上所述,由GCAN-305通信單元結(jié)合配置有串口的MCU構(gòu)成的CANopen通信設(shè)備接口符合CANopen協(xié)議規(guī)程,能夠滿足礦用變頻調(diào)速一體機協(xié)同控制數(shù)據(jù)通信可靠性與標(biāo)準(zhǔn)化的需求。
針對刮板輸送機運行使用的機頭、機尾變頻調(diào)速一體機功率平衡協(xié)同控制所需通信系統(tǒng)不完善、開放性差等情況等情況,本文提出了基于CANopen標(biāo)準(zhǔn)通信系統(tǒng)方案,分析了CANopen協(xié)議的架構(gòu)。通過監(jiān)控單元STM32F407的串口外設(shè)驅(qū)動通信轉(zhuǎn)換單元GCAN-305實現(xiàn)了一體機CANopen通信接口的設(shè)計,符合CANopen標(biāo)準(zhǔn)通信協(xié)議規(guī)范,能夠滿足礦用變頻調(diào)速一體機協(xié)同控制數(shù)據(jù)通信可靠性與標(biāo)準(zhǔn)化的需求,在煤礦井下通信網(wǎng)絡(luò)的標(biāo)準(zhǔn)化發(fā)展趨勢中具有良好的推廣應(yīng)用前景。