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