摘 要:針對拉幅熱定型機(jī),設(shè)計(jì)一種基于485總線的分布式監(jiān)控系統(tǒng)。用ARM 嵌入式控制器實(shí)現(xiàn)主、從電機(jī)的同步運(yùn)行和烘房溫度的控制;在PC機(jī)上用VB6.0設(shè)計(jì)轉(zhuǎn)速和溫度的監(jiān)控畫面;實(shí)現(xiàn)ARM、變頻器和PC機(jī)之間的數(shù)據(jù)通信。結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)簡單,通信可靠,移植性強(qiáng),在印染設(shè)備監(jiān)控中具有很強(qiáng)的推廣性。
關(guān)鍵詞:嵌入式;RS一485;印染設(shè)備;uClinux;監(jiān)控
1 引 言
隨著工業(yè)自動(dòng)化進(jìn)程的推進(jìn)和企業(yè)信息化程度的提高,利用遠(yuǎn)端智能模塊和RS一485網(wǎng)絡(luò)構(gòu)建監(jiān)控工作分散、監(jiān)控結(jié)果集中的分布式監(jiān)控系統(tǒng),由于投資費(fèi)用低、結(jié)構(gòu)簡單、實(shí)現(xiàn)容易、通信距離長、抗噪聲等優(yōu)點(diǎn),在工業(yè)控制中得到了廣泛的應(yīng)用。而微電子技術(shù)和自動(dòng)控制技術(shù)的發(fā)展。以及計(jì)算機(jī)技術(shù)迅速向非計(jì)算機(jī)領(lǐng)域的滲透,特別是32位微處理器ARM 在國內(nèi)外的廣泛應(yīng)用,使數(shù)字化、網(wǎng)絡(luò)化和智能化控制,成為新一代印染控制設(shè)備的主要發(fā)展方向。
我們針對拉幅熱定型機(jī)主、從電機(jī)的同步運(yùn)行和烘房溫度控制系統(tǒng)進(jìn)行監(jiān)控,實(shí)現(xiàn)了微機(jī)(PC機(jī))與MICROMASTER 440變頻器的設(shè)站通訊,配合漢化下拉式菜單和畫面顯示,以及必要的操作提示,可完成對變頻器參數(shù)的設(shè)定、運(yùn)行參數(shù)的監(jiān)測、運(yùn)行數(shù)據(jù)和故障數(shù)據(jù)的采集。嵌入式控制器ARM除控制拉幅熱定型機(jī)主、從電機(jī)的同步和烘房的溫度外,還通過RS一485網(wǎng)絡(luò),將主、從電機(jī)的轉(zhuǎn)速和烘房溫度數(shù)據(jù),傳送給上位機(jī)畫面實(shí)時(shí)顯示。
2 系統(tǒng)的總體設(shè)計(jì)
圖1為系統(tǒng)的總體框圖。
ARM控制器通過兩路光電脈沖發(fā)生器PG1和PG2,同時(shí)采集拉幅熱定型機(jī)的主、從電機(jī)M1和M2的轉(zhuǎn)速,經(jīng)計(jì)算后求出兩電機(jī)的轉(zhuǎn)速偏差,再經(jīng)過智能算法,輸出控制量,調(diào)整從動(dòng)機(jī)的轉(zhuǎn)速,使之跟隨主動(dòng)機(jī)。由于是變頻器驅(qū)動(dòng),控制量要轉(zhuǎn)換為頻率的變化量。ARM 控制器按確定的數(shù)據(jù)結(jié)構(gòu),把控制量送給PC機(jī),PC機(jī)通過485接口與變頻器通訊,調(diào)節(jié)變頻器2輸出頻率,從而控制從動(dòng)機(jī)M2的轉(zhuǎn)速,使之與主電機(jī)同步運(yùn)行。
ARM控制器還通過溫度檢測控制電路,采集烘房溫度,經(jīng)過適合的算法,對烘房溫度進(jìn)行控制。這里重點(diǎn)介紹PC機(jī)與變頻器和嵌入式控制器的RS一485接口設(shè)計(jì)。整個(gè)系統(tǒng)采用RS一485總線標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳輸。PC機(jī)采用研華的MOX—A CP一132UL卡,它是專為工業(yè)通訊環(huán)境設(shè)計(jì)的RS一422/485二串口卡,它支持2個(gè)獨(dú)立的RS一422或RS一485串口,在一對多點(diǎn)應(yīng)用環(huán)境中,每個(gè)串口最多可控制32個(gè)設(shè)備。每塊卡采用自動(dòng)數(shù)據(jù)流向控制ADDC(Automatic Data Direction Con—tro1)功能,無需額外的編程,即可輕松管理RS一485半雙工通訊串口數(shù)據(jù)的傳送和接收。變頻器采用西門子的MM440,它有統(tǒng)一開放的USS通信協(xié)議,可方便的與PC機(jī)進(jìn)行通信,并可以在運(yùn)行中改變變頻器的運(yùn)行參數(shù)。
系統(tǒng)運(yùn)行前,首先在PC機(jī)上設(shè)定變頻器的內(nèi)部參數(shù),電機(jī)的轉(zhuǎn)速和溫度的額定值;同時(shí)開啟控制器ARM,進(jìn)行數(shù)據(jù)采集和運(yùn)算控制。通過485總線,PC機(jī)可對主傳動(dòng)系統(tǒng)的主、從電機(jī)同步和烘房溫度的控制進(jìn)行實(shí)時(shí)監(jiān)測。圖1僅針對拉幅熱定型機(jī)的同步系統(tǒng),所以只用了一個(gè)ARM控制器,如果需要擴(kuò)展到多單元的同步控制,增加被監(jiān)控的單元和控制量,可利用485接口,方便地接人多個(gè)ARM控制器。
3 上位機(jī)和變頻器
PC機(jī)與變頻器的通信采用USS協(xié)議。該協(xié)議由SIEMENS AG定義,主要以RS一485總線方式將多臺(tái)西門子公司生產(chǎn)的變頻器、直流調(diào)速器或PLC等終端設(shè)備與工業(yè)控制計(jì)算機(jī)相連,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。USS協(xié)議是開放的,所以為用戶開發(fā)自己的基于該協(xié)議的軟件產(chǎn)品提供了可行性。這樣不僅有利于降低開發(fā)成本,而且能充分滿足特定項(xiàng)目的需要,方便日常的工控網(wǎng)絡(luò)維護(hù)。
USS協(xié)議支持多點(diǎn)聯(lián)接,支持主一從存取方式,用于單主站系統(tǒng),最多可鏈接32個(gè)站。USS協(xié)議支持可變和固定報(bào)文長度,報(bào)文格式簡單,通信字符格式為:1位起始位、1位停止位、1位校驗(yàn)位、8位數(shù)據(jù)位,波特率最高可達(dá)18715Kbps。
圖2為變頻器MM440的通信報(bào)文結(jié)構(gòu),對報(bào)文的具體字符含義不做過多解釋,詳見文獻(xiàn)[1],強(qiáng)調(diào)一點(diǎn)MM440支持BiCo(二進(jìn)制互聯(lián)連接)技術(shù),用戶可更方便的對它進(jìn)行參數(shù)的控制。
在變頻器與PC機(jī)進(jìn)行485通信前,對于MM440的參數(shù)設(shè)置至關(guān)重要。首先將所有參數(shù)復(fù)位到出廠設(shè)置:
P0010(調(diào)試參數(shù)過濾器):30
表示為工廠的設(shè)定值;
P970(工廠復(fù)位)=1
表示所有參數(shù)都復(fù)位到它們的缺省值;
設(shè)置參數(shù):P0700(選擇命令源)=5,
表示C0M 鏈路的USS設(shè)置;
PIO00(頻率設(shè)定值的選擇)=5,
表示可通過USS對變頻器進(jìn)行控制;
P2010(USS波特率)=6,
表示通信波特率選9600;
P2011(USS地址號(hào))等于1,
表示變頻器1的地址為1;
P2009(USS規(guī)格化)等于1,
表示數(shù)值是以絕對十進(jìn)制數(shù)的形式發(fā)送[即4000(十進(jìn)制)(=0FA0hex)等于40.00Hz];
P2012(USS協(xié)議的PZD(過程數(shù)據(jù))長度):2,
表示PZD傳輸?shù)氖强刂谱趾驮O(shè)定值,共2個(gè);
P1013(USS協(xié)議的PKW 長度)=4,
表示用4個(gè)字節(jié)讀寫各個(gè)參數(shù)的數(shù)值;
P2014(USS的停止傳輸時(shí)間(ms))=X,
表示允許用戶設(shè)定一個(gè)時(shí)間X,在經(jīng)過這個(gè)時(shí)間以后,如果USS通道接收不到報(bào)文,就將產(chǎn)生故障信號(hào)F07O。
上位機(jī)和變頻器通信采用VB6.0編程[2],程序編制上采用事件驅(qū)動(dòng)的通信方式。串口每接收16個(gè)字符便激活一個(gè)OnComm()事件,在On—Comm()消息處理函數(shù)中,加入相應(yīng)的處理代碼,實(shí)現(xiàn)對變頻器參數(shù)的在線修改[3]。
4 上位機(jī)和ARM
嵌入式控制器采用三星公司的32位微處理器S3C44B0,芯片的內(nèi)核是16/32位ARM7TDMI精簡指令結(jié)構(gòu)處理器,是一種低功耗,通用微處理器內(nèi)核,特別適合于對價(jià)格比較敏感產(chǎn)品的設(shè)計(jì)[4]。S3C44B0芯片除了微處理器內(nèi)核外,在芯片中還集成了許多外圍設(shè)備,如8通道10位ADC,1個(gè)I2C— BUS控制器,LCD控制器,2通道UART。最重要的是它可以移植操作系統(tǒng)uClinux進(jìn)行管理。uClinux是一個(gè)優(yōu)秀的嵌入式操作系統(tǒng),它很適合那些沒有MMU(Memory Management Unit)的處理器。沒有MMU 的處理器在嵌入式領(lǐng)域中應(yīng)用相當(dāng)普遍。針對uClinux內(nèi)核的二進(jìn)制代碼和源代碼都經(jīng)過重新編寫,以緊縮和裁剪基本的代碼。這就使uClinux和標(biāo)準(zhǔn)Linux 2.0內(nèi)核相比非常小,但它仍然保持了Linux操作系統(tǒng)主要優(yōu)點(diǎn)。
本系統(tǒng)中,我們用帶uClinux操作系統(tǒng)的S3C44BOX控制器,用它自帶的一路10位ADC,方便的對拉幅熱定型機(jī)的烘房溫度進(jìn)行較高精度的數(shù)據(jù)采集;通過I2C總線和外圍計(jì)數(shù)芯片實(shí)現(xiàn)兩路電機(jī)轉(zhuǎn)速的采集。一個(gè)UART用作485總線接口,與PC機(jī)通信;一個(gè)LCD控制器直接接3.5寸的STN液晶器,方便觀察。由于uClinux本身已經(jīng)做好網(wǎng)絡(luò)的移植,本系統(tǒng)采用網(wǎng)絡(luò)芯片RTL8019AS把嵌入式接入以太網(wǎng),用戶可以通過瀏覽器訪問該控制系統(tǒng)的運(yùn)行數(shù)據(jù),實(shí)現(xiàn)對系統(tǒng)的遠(yuǎn)程監(jiān)控[5]。
在拉幅熱定型機(jī)中,作為主傳動(dòng),帶動(dòng)布鋏的主、從電機(jī)的線速度同步,是保證加工質(zhì)量的關(guān)鍵,控制算法通常在PC機(jī)中完成,由于本系統(tǒng)采用32位微處理器,所以完全可以在作為下位機(jī)的ARM控制器中完成。PC機(jī)僅用于監(jiān)測和變頻器通信,大大減輕了負(fù)擔(dān)。而且S3C44B0具有很好的移植性,可以作為模塊方便的掛在485總線上。嵌入式控制器S3C44B0和PC機(jī)之間,我們定義了下面的收發(fā)協(xié)議,如圖3所示。其中命令包括復(fù)位命令和發(fā)送命令,若接收方在約定時(shí)間內(nèi)未收到發(fā)送命令幀,則發(fā)送復(fù)位幀,雙方回到通信程序的開始,清空緩沖區(qū),然后重新同步,具體流程如圖4所示。
以下為ARM控制器發(fā)送數(shù)據(jù)的主程序流程:
while(1){ //主循環(huán)
if(recv_cmd(&type)==0)//CRC校驗(yàn)發(fā)生幀錯(cuò)誤
continue;
switch(type){
case_ADDR: //是本機(jī)地址
send_ack(_OK,0,dbuf);//發(fā)送應(yīng)答信息
break;
case_GETDATA_: //是發(fā)送命令幀
len= strlen(dbuf);
send_data(_DATA,len,dbuf);//發(fā)送采集數(shù)據(jù)信息
case_RESET: //是復(fù)位幀
break;
default:
break;//偷令類型錯(cuò)誤,丟棄當(dāng)前幀后返回
}
}
5 實(shí)驗(yàn)結(jié)果
PC機(jī)采用VB6.0做上位機(jī)監(jiān)控畫面,使用其Activex控件一MSComm,方便地實(shí)現(xiàn)了和多臺(tái)變頻器及嵌入式控制器的通信。為了使軟件更友好,采用了多文檔(MDI)Windows界面,支持下拉菜單,彈出式窗口,最大限度地方便了用戶的操作。軟件主要由以下幾大模塊組成,即:用戶登陸模塊,實(shí)時(shí)監(jiān)控模塊、參數(shù)設(shè)定模塊,歷史數(shù)據(jù)查詢模塊和文件管理模塊。圖5為實(shí)時(shí)監(jiān)控模塊,它的三塊儀表可以顯示兩臺(tái)主、從電機(jī)的轉(zhuǎn)速和烘房的溫度,當(dāng)溫度超過或低于設(shè)定值時(shí),烘房溫度報(bào)警指示燈會(huì)點(diǎn)亮紅色,并發(fā)出報(bào)警聲。同樣,當(dāng)主、從電機(jī)轉(zhuǎn)速之差超過規(guī)定偏差的2%時(shí),相應(yīng)的報(bào)警指示燈也會(huì)點(diǎn)亮紅色,并發(fā)出報(bào)警聲。中間17個(gè)指示燈組成光柱,可以直觀地顯示主、從電機(jī)轉(zhuǎn)速的正負(fù)偏差。當(dāng)偏差為零時(shí),中間的綠燈亮;有偏差時(shí),兩邊的黃燈亮,偏差量越大,黃燈亮得越多,光柱越長;偏差超限時(shí),位于光柱左、右兩端的紅燈亮,表示主、從電機(jī)的轉(zhuǎn)速失去同步,發(fā)出報(bào)警停車信號(hào),這種設(shè)計(jì)使人機(jī)界面更加友好。
6 結(jié)束語
在本系統(tǒng)中,ARM控制器實(shí)現(xiàn)了對拉幅熱定型機(jī)主、從電機(jī)的同步控制和烘房溫度的實(shí)時(shí)控制,PC機(jī)實(shí)現(xiàn)了對電機(jī)轉(zhuǎn)速和溫度的監(jiān)控。對于像這樣具有多控制任務(wù)的系統(tǒng),選用ARM嵌入式控制器,顯示了它在控制和通信上的優(yōu)越性。雖然本系統(tǒng)是針對拉幅熱定型機(jī)設(shè)計(jì)的,但是由于485總線的節(jié)點(diǎn)可以擴(kuò)展到32個(gè),變頻器和控制器均可進(jìn)一步擴(kuò)展。而且低成本,低功耗,高性能的ARM控制器是在uClinux環(huán)境下開發(fā)的,其本身的移植性強(qiáng),加上PC機(jī)配置頁面的靈活性,更適合移植到其他印染設(shè)備的控制系統(tǒng)中,在其它工業(yè)現(xiàn)場的自動(dòng)監(jiān)控中也具有很強(qiáng)的推廣價(jià)值。
參考文獻(xiàn)
[1] MIcROMAsTER 440通用型變頻器使用大全[S].
[2] 范逸之,陳立元.Visual Basic與RS一232串行通信控制(最新版)[M].北京:清華大學(xué)出版社,2002.
[3] 陳立定.Windows98下單臺(tái)PC與多臺(tái)變頻器的串行通信控制[J].微計(jì)算機(jī)信息,2001,(2).
[4] 李巖,榮盤詳.基于S3CA4BOX嵌入式uClinux系統(tǒng)原理及應(yīng)用[M].北京:清華出版社,2005.
[5] 李文蒙,范玉璋,陳曉雷.印染設(shè)備嵌入式同步控制遠(yuǎn)程監(jiān)控的設(shè)計(jì)[J].中原工學(xué)院學(xué)報(bào),2006,(1).