siemens x
嵌入式系統(tǒng)

ARM嵌入式控制器應(yīng)用于印染設(shè)備監(jiān)控中

2025China.cn   2011年07月26日
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)簡(jiǎn)單、實(shí)現(xiàn)容易、通信距離長(zhǎng)、抗噪聲等優(yōu)點(diǎn),在工業(yè)控制中得到了廣泛的應(yīng)用。而微電子技術(shù)和自動(dòng)控制技術(shù)的發(fā)展。以及計(jì)算機(jī)技術(shù)迅速向非計(jì)算機(jī)領(lǐng)域的滲透,特別是32位微處理器ARM 在國(guó)內(nèi)外的廣泛應(yīng)用,使數(shù)字化、網(wǎng)絡(luò)化和智能化控制,成為新一代印染控制設(shè)備的主要發(fā)展方向。
  我們針對(duì)拉幅熱定型機(jī)主、從電機(jī)的同步運(yùn)行和烘房溫度控制系統(tǒng)進(jìn)行監(jiān)控,實(shí)現(xiàn)了微機(jī)(PC機(jī))與MICROMASTER 440變頻器的設(shè)站通訊,配合漢化下拉式菜單和畫(huà)面顯示,以及必要的操作提示,可完成對(duì)變頻器參數(shù)的設(shè)定、運(yùn)行參數(shù)的監(jiān)測(cè)、運(yùn)行數(shù)據(jù)和故障數(shù)據(jù)的采集。嵌入式控制器ARM除控制拉幅熱定型機(jī)主、從電機(jī)的同步和烘房的溫度外,還通過(guò)RS-485網(wǎng)絡(luò),將主、從電機(jī)的轉(zhuǎn)速和烘房溫度數(shù)據(jù),傳送給上位機(jī)畫(huà)面實(shí)時(shí)顯示。
2 系統(tǒng)的總體設(shè)計(jì)
  圖1為系統(tǒng)的總體框圖。
 


                             圖1 系統(tǒng)框圖
  ARM控制器通過(guò)兩路光電脈沖發(fā)生器PG1和PG2,同時(shí)采集拉幅熱定型機(jī)的主、從電機(jī)M1和M2的轉(zhuǎn)速,經(jīng)計(jì)算后求出兩電機(jī)的轉(zhuǎn)速偏差,再經(jīng)過(guò)智能算法,輸出控制量,調(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ī)通過(guò)485接口與變頻器通訊,調(diào)節(jié)變頻器2輸出頻率,從而控制從動(dòng)機(jī)M2的轉(zhuǎn)速,使之與主電機(jī)同步運(yùn)行。
  ARM控制器還通過(guò)溫度檢測(cè)控制電路,采集烘房溫度,經(jīng)過(guò)適合的算法,對(duì)烘房溫度進(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串口,在一對(duì)多點(diǎn)應(yīng)用環(huán)境中,每個(gè)串口最多可控制32個(gè)設(shè)備。每塊卡采用自動(dòng)數(shù)據(jù)流向控制ADDC(Automatic Data Direction Con-tro1)功能,無(wú)需額外的編程,即可輕松管理RS-485半雙工通訊串口數(shù)據(jù)的傳送和接收。變頻器采用西門(mén)子的MM440,它有統(tǒng)一開(kāi)放的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í)開(kāi)啟控制器ARM,進(jìn)行數(shù)據(jù)采集和運(yùn)算控制。通過(guò)485總線,PC機(jī)可對(duì)主傳動(dòng)系統(tǒng)的主、從電機(jī)同步和烘房溫度的控制進(jìn)行實(shí)時(shí)監(jiān)測(cè)。圖1僅針對(duì)拉幅熱定型機(jī)的同步系統(tǒng),所以只用了一個(gè)ARM控制器,如果需要擴(kuò)展到多單元的同步控制,增加被監(jiān)控的單元和控制量,可利用485接口,方便地接人多個(gè)ARM控制器。
3 上位機(jī)和變頻器
  PC機(jī)與變頻器的通信采用USS協(xié)議。該協(xié)議由SIEMENS AG定義,主要以RS-485總線方式將多臺(tái)西門(mén)子公司生產(chǎn)的變頻器、直流調(diào)速器或PLC等終端設(shè)備與工業(yè)控制計(jì)算機(jī)相連,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。USS協(xié)議是開(kāi)放的,所以為用戶開(kāi)發(fā)自己的基于該協(xié)議的軟件產(chǎn)品提供了可行性。這樣不僅有利于降低開(kāi)發(fā)成本,而且能充分滿足特定項(xiàng)目的需要,方便日常的工控網(wǎng)絡(luò)維護(hù)。
  USS協(xié)議支持多點(diǎn)聯(lián)接,支持主一從存取方式,用于單主站系統(tǒng),最多可鏈接32個(gè)站。USS協(xié)議支持可變和固定報(bào)文長(zhǎng)度,報(bào)文格式簡(jiǎn)單,通信字符格式為:1位起始位、1位停止位、1位校驗(yàn)位、8位數(shù)據(jù)位,波特率最高可達(dá)18715Kbps。
  圖2為變頻器MM440的通信報(bào)文結(jié)構(gòu),對(duì)報(bào)文的具體字符含義不做過(guò)多解釋,強(qiáng)調(diào)一點(diǎn)MM440支持BiCo(二進(jìn)制互聯(lián)連接)技術(shù),用戶可更方便的對(duì)它進(jìn)行參數(shù)的控制。
  在變頻器與PC機(jī)進(jìn)行485通信前,對(duì)于MM440的參數(shù)設(shè)置至關(guān)重要。首先將所有參數(shù)復(fù)位到出廠設(shè)置:
  P0010(調(diào)試參數(shù)過(guò)濾器):30,表示為工廠的設(shè)定值;
  P970(工廠復(fù)位)=1,表示所有參數(shù)都復(fù)位到它們的缺省值;
  設(shè)置參數(shù):P0700(選擇命令源)=5,表示C0M 鏈路的USS設(shè)置;
  PIO00(頻率設(shè)定值的選擇)=5,表示可通過(guò)USS對(duì)變頻器進(jìn)行控制;
  P2010(USS波特率)=6,表示通信波特率選9600;
  P2011(USS地址號(hào))=1,表示變頻器1的地址為1;
  P2009(USS規(guī)格化)=1,表示數(shù)值是以絕對(duì)十進(jìn)制數(shù)的形式發(fā)送[即4000(十進(jìn)制)(=0FA0hex)等于40.00Hz];
  P2012(USS協(xié)議的PZD(過(guò)程數(shù)據(jù))長(zhǎng)度):2,表示PZD傳輸?shù)氖强刂谱趾驮O(shè)定值,共2個(gè);
  P1013(USS協(xié)議的PKW 長(zhǎng)度)=4,表示用4個(gè)字節(jié)讀寫(xiě)各個(gè)參數(shù)的數(shù)值;
  P2014(USS的停止傳輸時(shí)間(ms))=X,表示允許用戶設(shè)定一個(gè)時(shí)間X,在經(jīng)過(guò)這個(gè)時(shí)間以后,如果USS通道接收不到報(bào)文,就將產(chǎn)生故障信號(hào)F07O。
  上位機(jī)和變頻器通信采用VB6.0編程,程序編制上采用事件驅(qū)動(dòng)的通信方式。串口每接收16個(gè)字符便激活一個(gè)OnComm()事件,在On-Comm()消息處理函數(shù)中,加入相應(yīng)的處理代碼,實(shí)現(xiàn)對(duì)變頻器參數(shù)的在線修改。
4 上位機(jī)和ARM
  嵌入式控制器采用三星公司的32位微處理器S3C44B0,芯片的內(nèi)核是16/32位ARM7TDMI精簡(jiǎn)指令結(jié)構(gòu)處理器,是一種低功耗,通用微處理器內(nèi)核,特別適合于對(duì)價(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),它很適合那些沒(méi)有MMU(Memory Management Unit)的處理器。沒(méi)有MMU 的處理器在嵌入式領(lǐng)域中應(yīng)用相當(dāng)普遍。針對(duì)uClinux內(nèi)核的二進(jìn)制代碼和源代碼都經(jīng)過(guò)重新編寫(xiě),以緊縮和裁剪基本的代碼。這就使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,方便的對(duì)拉幅熱定型機(jī)的烘房溫度進(jìn)行較高精度的數(shù)據(jù)采集;通過(guò)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),用戶可以通過(guò)瀏覽器訪問(wèn)該控制系統(tǒng)的運(yùn)行數(shù)據(jù),實(shí)現(xiàn)對(duì)系統(tǒng)的遠(yuǎn)程監(jiān)控。
  在拉幅熱定型機(jī)中,作為主傳動(dòng),帶動(dòng)布鋏的主、從電機(jī)的線速度同步,是保證加工質(zhì)量的關(guān)鍵,控制算法通常在PC機(jī)中完成,由于本系統(tǒng)采用32位微處理器,所以完全可以在作為下位機(jī)的ARM控制器中完成。PC機(jī)僅用于監(jiān)測(cè)和變頻器通信,大大減輕了負(fù)擔(dān)。而且S3C44B0具有很好的移植性,可以作為模塊方便的掛在485總線上。嵌入式控制器S3C44B0和PC機(jī)之間,我們定義了下面的收發(fā)協(xié)議,如圖3所示。其中命令包括復(fù)位命令和發(fā)送命令,若接收方在約定時(shí)間內(nèi)未收到發(fā)送命令幀,則發(fā)送復(fù)位幀,雙方回到通信程序的開(kāi)始,清空緩沖區(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;//偷令類(lèi)型錯(cuò)誤,丟棄當(dāng)前幀后返回
  }
   }
5 實(shí)驗(yàn)結(jié)果
  PC機(jī)采用VB6.0做上位機(jī)監(jiān)控畫(huà)面,使用其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)溫度超過(guò)或低于設(shè)定值時(shí),烘房溫度報(bào)警指示燈會(huì)點(diǎn)亮紅色,并發(fā)出報(bào)警聲。同樣,當(dāng)主、從電機(jī)轉(zhuǎn)速之差超過(guò)規(guī)定偏差的2%時(shí),相應(yīng)的報(bào)警指示燈也會(huì)點(diǎn)亮紅色,并發(fā)出報(bào)警聲。中間17個(gè)指示燈組成光柱,可以直觀地顯示主、從電機(jī)轉(zhuǎn)速的正負(fù)偏差。當(dāng)偏差為零時(shí),中間的綠燈亮;有偏差時(shí),兩邊的黃燈亮,偏差量越大,黃燈亮得越多,光柱越長(zhǎng);偏差超限時(shí),位于光柱左、右兩端的紅燈亮,表示主、從電機(jī)的轉(zhuǎn)速失去同步,發(fā)出報(bào)警停車(chē)信號(hào),這種設(shè)計(jì)使人機(jī)界面更加友好。

(轉(zhuǎn)載)

標(biāo)簽:ARM 嵌入式控制器 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道