微波控制系統(tǒng)中MWCPro協(xié)議的應(yīng)用研究
CAN總線是國際上廣泛應(yīng)用的現(xiàn)場總線之一,其模型結(jié)構(gòu)[2]相對于國際標準化組織開放系統(tǒng)互連模型(OSI)只有三層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層。為了使其應(yīng)用更加廣泛靈活,CAN的國際標準ISO 11898中只規(guī)定了物理層和數(shù)據(jù)鏈路層標準,沒有定義應(yīng)用層,用戶需要根據(jù)需求制定具體的應(yīng)用層協(xié)議。目前在多種已成國際標準的應(yīng)用層協(xié)議中CANOpen[3]和DeviceNet[4]使用最為廣泛。CANOpen的協(xié)議原型是Bosch公司在1993年提出的,它一般用于機械的嵌入式網(wǎng)絡(luò)中;DeviceNet由Allen-Bradley公司開發(fā),目前在美國和亞洲的工業(yè)自動化市場上處于領(lǐng)導(dǎo)地位;國內(nèi)工控領(lǐng)域使用較為廣泛的是周立功公司推出的iCAN[5]。這三種協(xié)議標準應(yīng)用廣泛,且便于和其他設(shè)備互聯(lián),但是對于一些相對簡單和獨立的控制系統(tǒng),它們并不適用且過于復(fù)雜,某些協(xié)議還需要付費使用。
因此針對微波控制領(lǐng)域,定義了一種新的CAN總線應(yīng)用協(xié)議——微波控制協(xié)議MWCPro(MicroWave Control Protocol)。
1 MWCPro協(xié)議在大陣列磁控管控制系統(tǒng)中的設(shè)計
制定CAN總線應(yīng)用層協(xié)議時,需要考慮以下幾個方面:報文標識符的設(shè)計、多主或主從結(jié)構(gòu)、數(shù)據(jù)的交換方式以及網(wǎng)絡(luò)的管理等。
在大陣列磁控管控制系統(tǒng)中,有整體控制、分組控制和單個控制的要求,因此每個磁控管都要有唯一的地址。采用主從式結(jié)構(gòu),數(shù)據(jù)的交換方式為主機向從機發(fā)送命令,從機返回數(shù)據(jù)以響應(yīng)主機命令,從機只可以主動報警。在整個系統(tǒng)中,固定一定數(shù)目的從機為一組,屬于分布式控制。系統(tǒng)結(jié)構(gòu)如圖1所示。
其中G0代表第0組,Gn代表第n組;S0代表第0個從機,Sm代表第m個從機。
1.1 協(xié)議介紹
報文ID的設(shè)定是應(yīng)用層協(xié)議最主要的部分,它涉及報文的優(yōu)先權(quán)、延時、報文濾波的使用、可能形成的通信結(jié)構(gòu)和標識符使用的效率等。該系統(tǒng)相對簡單獨立,因此采用CAN 2.0A標準的11位標識符外加兩個數(shù)據(jù)字節(jié)作為每幀的ID,如表1所示。
組別號和從機號的組合除去廣播所用,共有105種,即整個系統(tǒng)可以有105個節(jié)點(主機或從機)。若選擇常用的Philips 82C250作為總線收發(fā)器,CAN節(jié)點數(shù)目已基本接近其極限110個。如果需要進一步擴大網(wǎng)絡(luò)規(guī)模,以掛接更多的節(jié)點,則可以把標準標志符改為29位的擴展標志符,并利用網(wǎng)控器進行擴展[6]。
1.2 協(xié)議設(shè)計
磁控管控制系統(tǒng)的功能需求包括:首先確定通信和工作都正常的微波源的個數(shù)以及控制終端之間有無地址沖突;選擇全部、分組或者單個微波源啟動或停止;實時監(jiān)測每個微波源的各項參數(shù)值,如電流、電壓、溫度、反射功率以及微波泄漏功率等;運行途中各微波源的值若超出設(shè)定的閾值(該閾值可修改),或者微波源本身出現(xiàn)故障(偶然故障或永久性故障),則實時報警,并且系統(tǒng)要采取相應(yīng)的措施停止相關(guān)功能的繼續(xù)運行。
根據(jù)以上功能要求設(shè)計了8種命令碼:
ORD0:報警幀(數(shù)據(jù)幀),無廣播形式,從機發(fā)送主機讀取,優(yōu)先權(quán)最高。為實現(xiàn)同時報警,功能碼和子功能碼中的每一位代表一種報警,即16種報警。
ORD1:輪詢在線(遠程幀),主機依次發(fā)送ORD1命令給各個從機,從機接收后返回一個確認幀,以便主機確認該從機依舊在線。
ORD2:計算通信往返時間(遠程幀),在確定所有從機都在線時,計算主機與從機之間一幀數(shù)據(jù)平均的往返時間。該往返時間將作為判斷從機響應(yīng)是否超時的標準。
ORD3:索要從機數(shù)據(jù)(數(shù)據(jù)幀),無廣播形式,從機發(fā)送主機讀取。
ORD4:從機地址沖突檢測(遠程幀),每個從機都向其所在組的其他從機發(fā)送ORD4,其他從機接收到ORD4后將所接收ID中的地址位與自身地址進行比較,若相同則以O(shè)RD0命令向主機報告地址沖突,否則無需響應(yīng)此消息;主機本身不對ORD4進行處理。
ORD5:廣播命令(遠程幀),開從機。
ORD6:廣播命令(遠程幀),關(guān)從機。
ORD7:修改從機參數(shù)(數(shù)據(jù)幀),無廣播形式,主機發(fā)送從機執(zhí)行。
ORD8~ORDF為預(yù)留命令碼。
2 MWCPro協(xié)議在大陣列磁控管控制系統(tǒng)中的實現(xiàn)
2.1 硬件實現(xiàn)
通過對比目前市場上常見的各種芯片,最終選擇意法半導(dǎo)體公司的STM32F103VBT6作為主芯片,該芯片為基于ARM Cortex-M3核心的32位控制器,它的突出優(yōu)點是:內(nèi)核結(jié)構(gòu)先進、功耗控制優(yōu)秀、接口豐富、處理速度高、全系列軟件與封裝高度兼容、性價比高等。
2.2 軟件實現(xiàn)
整個系統(tǒng)屬于主從控制,除了主動報警,從機只能被動地按主機的要求進行操作。軟件部分實現(xiàn)流程如圖2。
3 協(xié)議應(yīng)用
實際應(yīng)用中,共有9個微波發(fā)射終端,分為三組,每組三個從機,上位機采用運行WinCE系統(tǒng)的觸摸屏。人機界面如圖3所示。主要頁面有微波控制、實時曲線、溫度曲線設(shè)置、選項參數(shù)、溫度記錄以及事件記錄共六項。在微波監(jiān)控界面可以看到系統(tǒng)分為手動模式和自動模式,手動模式下可以自主選擇需要開啟的從機,通過手動開關(guān)微波發(fā)射終端控制各段爐溫;自動模式下默認啟動所有處于啟用狀態(tài)的從機,自動啟動和停止相關(guān)微波發(fā)射終端來控制各段爐溫處于設(shè)定溫度范圍內(nèi)。該系統(tǒng)根據(jù)材料燒結(jié)工藝將爐身分為四個溫區(qū):預(yù)熱段、燒結(jié)段1、燒結(jié)段2和緩冷段。圖3所示系統(tǒng)當(dāng)前工作在手動模式,啟動了預(yù)熱段A組的1和2號、燒結(jié)段I以及燒結(jié)段II的所有從機(緩冷段不需要加熱)。通過此界面可顯示以下6項報警:地址沖突、爐門、冷卻水、過流、欠流及超溫。
該系統(tǒng)具有以下特點:
(1)采用時間觸發(fā)與事件觸發(fā)相結(jié)合的方式,將周期的數(shù)據(jù)請求幀與非周期的報警信息幀分別進行處理,大大提高了系統(tǒng)的靈活性和實時性。在該協(xié)議運行過程中,數(shù)據(jù)傳送穩(wěn)定、報警及時,基本達到設(shè)計要求,系統(tǒng)實用可靠。
(2)相比之前的PLC+觸摸屏的控制系統(tǒng),CAN總線的控制方法不僅簡單高效,還大大降低了控制系統(tǒng)的成本。
該控制系統(tǒng)采用觸摸屏作為上位機,但觸摸屏本身不具備CAN接口,這時就需要轉(zhuǎn)換。根據(jù)系統(tǒng)需求及低成本、通用性等因素的綜合考慮,最終選擇利用STM32-
F103VBT6內(nèi)部的串口作為與觸摸屏通信的接口,采用Modbus協(xié)議,即在芯片內(nèi)部實現(xiàn)CAN/RS232的轉(zhuǎn)換,它既能滿足系統(tǒng)需求,又不會增加額外的成本,并且大多數(shù)單片機都有RS232接口,通用性較強。使用過程中CAN/RS232的內(nèi)部轉(zhuǎn)換能夠滿足系統(tǒng)對實時性的要求。
上述觸摸屏控制系統(tǒng)在從機數(shù)目較多或者單機信息交換量較大的情況下,限于RS232的速率,有可能會造成數(shù)據(jù)堵塞。解決這個問題可以采用以下途徑:采用PC機加CAN/USB或CAN/PCI轉(zhuǎn)換接口代替觸摸屏加CAN/RS232,因為RS232的最大傳輸速率只有115.2 kb/s,而USB2.0的傳輸速率為480 Mb/s,為RS232的4 266倍;PCI的速率更是可以達到1 064 Mb/s,為RS232的9 457倍。因此這兩種途徑可以很好地解決數(shù)據(jù)堵塞問題。同時由于PC機可以直連的從機為110個(CAN總線本身性質(zhì)的限制),如果要繼續(xù)擴展,加網(wǎng)控器[6]就可以使掛接的從機數(shù)成倍增加。即使是超大矩陣終端系統(tǒng),采用以上兩種方案也完全可以實現(xiàn)實時控制。
基于MWCPro應(yīng)用層協(xié)議的CAN總線控制系統(tǒng)在實際應(yīng)用中數(shù)據(jù)傳輸速度快、配置靈活,整個系統(tǒng)運行穩(wěn)定。雖然MWCPro協(xié)議是針對微波控制領(lǐng)域設(shè)計的,但是它的命令碼和功能碼便于修改,系統(tǒng)容易擴展,所以該協(xié)議也可以在其他較為簡單獨立的控制系統(tǒng)中使用,具有較強的實用性與通用性。