• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      EPICS下基于ARM處理器的電機(jī)控制系統(tǒng)

      2012-03-21 07:13:06黃躍峰李勇平尹聰聰賈文紅
      核技術(shù) 2012年6期
      關(guān)鍵詞:開發(fā)板延遲時(shí)間光源

      黃 輝 黃躍峰 李勇平 尹聰聰 賈文紅

      (中國(guó)科學(xué)院上海應(yīng)用物理研究所 上海 201800)

      上海光源(SSRF)線站電機(jī)控制系統(tǒng)在EPICS環(huán)境下開發(fā)而成,由運(yùn)行 VxWorks操作系統(tǒng)的MVME5500單板機(jī)加上MAXv8000電機(jī)控制器完成對(duì)電機(jī)的控制。其性能優(yōu)良,但VxWorks價(jià)格昂貴、VME機(jī)箱占用空間較大。本文提出一種由運(yùn)行Linux的S3C2440計(jì)算機(jī)(ARM9內(nèi)核)和MAXnet電機(jī)控制器組成的全新電機(jī)控制系統(tǒng),該系統(tǒng)目前已能正常工作。

      1 總體結(jié)構(gòu)

      EPICS為美國(guó)Argonne和Los Alamos等實(shí)驗(yàn)室為大型物理和工業(yè)裝置聯(lián)合開發(fā)的分布式控制軟件工具,基于標(biāo)準(zhǔn)模型的Server/Client模式,具有結(jié)構(gòu)靈活、易于擴(kuò)展、完全開放源代碼等優(yōu)點(diǎn),是國(guó)際大型光源和對(duì)撞機(jī)控制系統(tǒng)的主流軟件開發(fā)工具[1]。基于ARM(Advanced RISC Machine)處理器的電機(jī)控制系統(tǒng)分為三個(gè)部分:(1) OPI(Operator Interface):運(yùn)行Linux或Windows操作系統(tǒng)的中控電腦或Unix工作站,通過使用EPICS提供的MEDM或EDM設(shè)計(jì)的人機(jī)界面監(jiān)控各種控制過程,可在同一臺(tái)PC機(jī)上對(duì)多個(gè)IOC的運(yùn)行狀況實(shí)行監(jiān)控;(2) IOC:由基于ARM架構(gòu)并安裝Linux操作系統(tǒng)的S3C2440計(jì)算機(jī)和運(yùn)行在其中的EIPCS base核心程序iocCore構(gòu)成,核心任務(wù)是通過設(shè)備驅(qū)動(dòng)程序控制MAXnet電機(jī)控制器,并把相關(guān)信息以分布式數(shù)據(jù)庫(kù)的方式存儲(chǔ);(3) 設(shè)備控制層:選用美國(guó)Oregon Micro Systems公司的MAXnet電機(jī)控制器,可實(shí)現(xiàn)5路步進(jìn)/伺服電機(jī)的異步或同步驅(qū)動(dòng),不依賴VME總線,且提供網(wǎng)口和串口進(jìn)行通信,適用范圍較大并可降低成本。電機(jī)驅(qū)動(dòng)器選用SLS20**系列。

      系統(tǒng)的軟件設(shè)計(jì)分為OPI層、IOC層和設(shè)備控制層(圖1,標(biāo)示黑色部分由本組研制)。通過EPICS系統(tǒng)的Channel Access協(xié)議,IOC響應(yīng)來自O(shè)PI、IOC本身和網(wǎng)絡(luò)上其他IOC的數(shù)據(jù)請(qǐng)求與控制命令[2]。

      2 系統(tǒng)設(shè)計(jì)

      系統(tǒng)的軟件開發(fā)環(huán)境為Red Hat Linux 9,base3-14-9,Extension,motor,asyn。Extension提供了多種開發(fā)應(yīng)用軟件,包括人機(jī)圖形界面開發(fā)工具EDM。Motor軟件包提供了motor記錄,相關(guān)的記錄支持、設(shè)備支持和一些硬件驅(qū)動(dòng)支持等。asyn用于建立網(wǎng)口設(shè)備支持模塊,實(shí)現(xiàn)IOC中的數(shù)據(jù)庫(kù)與電機(jī)控制器MAXnet間的通信。

      2.1 OPI控制臺(tái)軟件

      OPI由EPICS提供的EDM進(jìn)行開發(fā),可顯示任意record中任何感興趣的域,只需在界面上選定一小塊,輸入域的信息即可實(shí)現(xiàn),圖2為操作界面的一個(gè)示例。

      2.2 IOC系統(tǒng)

      IOC系統(tǒng)的軟件包括Channel Access、Database Access、IOC Database、Motor Record Support Module、MAXnet device & driver Module和IP Port Support Module,其中IOC Database須在現(xiàn)有記錄的基礎(chǔ)上根據(jù)系統(tǒng)需要改動(dòng),MAXnet device & driver Module須自行編寫,IP Port Support Module借用asyn軟件包來實(shí)現(xiàn),其他部分則基本無需改動(dòng)。

      Motor軟件包提供了motor記錄,并定義了多個(gè)域,涵蓋了電機(jī)控制中的主要信息。最常見的為VELO(運(yùn)行速度)、VMAX(最大速度)、VBAS(起跳速度)、ACCL(加速度)、DIR(轉(zhuǎn)動(dòng)方向)等[3]。選擇所需的域,并賦予特定值,啟動(dòng)IOC時(shí)載入記錄,便完成了IOC Database的工作。

      圖1 系統(tǒng)軟件設(shè)計(jì)圖Fig.1 Overall design of system software.

      圖2 OPI界面示例Fig.2 Example of OPI.

      MAXnet device & driver Module部分是本設(shè)計(jì)的重點(diǎn)和難點(diǎn),其結(jié)構(gòu)圖見圖3。

      圖3 MAXnet模塊結(jié)構(gòu)圖Fig.3 Structure of MAXnet Module.

      MotordevCom是MotorRecord調(diào)用設(shè)備層的通用接口,根據(jù)實(shí)際需要調(diào)用具體設(shè)備的設(shè)備支持程序 devMAXnet。devMAXnet中定義的 motor_dset類型的數(shù)據(jù)結(jié)構(gòu)——devOmsMAXnet是數(shù)據(jù)庫(kù)記錄和驅(qū)動(dòng)程序之間的接口。

      drvMAXnet的主要工作如下:(1) 在系統(tǒng)中為MAXnet的各種狀態(tài)和運(yùn)行信息申請(qǐng)存儲(chǔ)空間;(2)根據(jù)具體需求設(shè)定MAXnet的工作模式;(3) 把記錄中關(guān)于方位、速度等控制信息轉(zhuǎn)換為MAXnet的控制指令發(fā)送給設(shè)備;(4) 監(jiān)控MAXnet運(yùn)行并返回控制信息到記錄,處理各種異常情況。

      當(dāng)狀態(tài)標(biāo)記被設(shè)置時(shí),MAXnet會(huì)異步發(fā)送標(biāo)記以通知主機(jī)。標(biāo)記通知字符串的格式為“%000 SSSSSSSS”,其中“%”意味著該串為數(shù)字流,“000”表示該數(shù)字流包含狀態(tài)標(biāo)記信息,八位ASCII碼代表狀態(tài)信息。由于此特征,需在drvMAXnet中的接收函數(shù)中增加對(duì)命令解析的處理。

      drvMAXnet的程序架構(gòu)參照與 MAXnet同為OMS(Oregon Micro Systems)公司生產(chǎn)的MAXv和PC68電機(jī)控制器的驅(qū)動(dòng)代碼。由于PC68使用串口通信,MAXv與MAXnet的指令最為接近,因此,PC68的數(shù)據(jù)處理方式與MAXnet的指令翻譯過程對(duì)drvMAXnet的開發(fā)有很大的參考價(jià)值。

      MAXnet的設(shè)備應(yīng)用程序使用了網(wǎng)口,需要IP設(shè)備的驅(qū)動(dòng)支持模塊。EPICS中的asyn軟件包提供的asynDriver(asynchronous driver support)可用于被控設(shè)備與低端驅(qū)動(dòng)層的接口連接,使設(shè)備支持模塊的工作變得更容易[4]。此外,asyn軟件包中提供的asyncomRecord可方便地用來調(diào)試網(wǎng)口[5]。

      在一臺(tái)Linux主機(jī)上完成了安裝EPICS base包和asyn軟件包、編譯MAXnet device & driver 程序和定義motor記錄后,啟動(dòng)IOC還需要編寫適當(dāng)?shù)膯?dòng)腳本。

      經(jīng)上述步驟,主機(jī)上建立IOC的工作基本完成,本設(shè)計(jì)的目標(biāo)是在嵌入式目標(biāo)機(jī)上運(yùn)行IOC和電機(jī)控制程序。首先在一臺(tái)Linux主機(jī)上安裝Linux-arm的交叉編譯器,對(duì)將要下載到ARM開發(fā)板上的內(nèi)核進(jìn)行裁剪,減小占用空間,編譯內(nèi)核后下載到開發(fā)板中。用主機(jī)上成功安裝的 EPICS base包以及motor、asyn等支持包交叉編譯出開發(fā)板上可運(yùn)行的IOC程序,在這個(gè)過程中,用NFS方式mount主機(jī)的根文件系統(tǒng)會(huì)對(duì)調(diào)試程序提供很大的便利,省去很多下載工作。程序調(diào)試成功后通過 ftp方式把程序、數(shù)據(jù)庫(kù)和啟動(dòng)腳本下載到目標(biāo)機(jī),修改開發(fā)板的開機(jī)配置文件使之自動(dòng)運(yùn)行 IOC,完成了 ARM開發(fā)板上IOC的開發(fā)。

      2.3 電機(jī)設(shè)備控制部分

      電機(jī)部分由MAXnet電機(jī)控制器、電機(jī)驅(qū)動(dòng)器和電機(jī)組成。MAXnet電機(jī)控制器(美國(guó) Oregon Micro Systems公司)是高性能電機(jī)控制器,與MAXv系列功能類似。MAXnet無VME接口,而代之以串口和Ethernet接口,本文通過網(wǎng)口連接ARM開發(fā)板和MAXnet電機(jī)控制器。MAXnet可同時(shí)控制5軸電機(jī)的同步或異步運(yùn)動(dòng),對(duì)于步進(jìn)和伺服電機(jī)也同樣適用。

      控制開環(huán)的步進(jìn)電機(jī)連接線見圖 4,基本控制方式為“方向+轉(zhuǎn)速”。Direction控制電機(jī)的轉(zhuǎn)動(dòng)方向,Step產(chǎn)生50%占空比的脈沖,脈沖個(gè)數(shù)決定電機(jī)轉(zhuǎn)過的角度。脈沖速度為0–4,199,303 /s,加速度為0–8,000,000 /s2[6],選擇合適的脈沖速度和加速度可控制電機(jī)的運(yùn)行速度、起跳速度和加速度。

      圖4 MAXnet與步進(jìn)電機(jī)的接線圖[6]Fig.4 The Wiring Diagram between MAXnet and motor.

      3 系統(tǒng)性能測(cè)試

      目前上海光源電機(jī)控制系統(tǒng)的使用方式有單電機(jī)運(yùn)動(dòng)控制和多軸電機(jī)同步運(yùn)動(dòng)控制。單電機(jī)運(yùn)動(dòng),其運(yùn)動(dòng)性能與操作系統(tǒng)的反應(yīng)時(shí)間和IOC與控制器之間的通信時(shí)間無關(guān),且MAXnet控制器與MAXv控制器命令集及參數(shù)指標(biāo)基本一致。因此,本設(shè)計(jì)可滿足簡(jiǎn)單的單電機(jī)運(yùn)動(dòng)控制的使用要求。

      對(duì)于多軸電機(jī)同步運(yùn)動(dòng)控制,我們用 Soft Motor與transform記錄結(jié)合觸發(fā)三路電機(jī)同步運(yùn)動(dòng)進(jìn)行了測(cè)試,規(guī)定延遲時(shí)間為第一路與第三路電機(jī)開始運(yùn)動(dòng)之間的時(shí)間差,同步誤差為運(yùn)動(dòng)過程中第一路與第三路電機(jī)之間的最大距離差,光源現(xiàn)有電機(jī)系統(tǒng)的延遲時(shí)間~23 ms。本設(shè)計(jì)的延遲時(shí)間為~100 ms,當(dāng)電機(jī)速度為150 μm/s時(shí),新系統(tǒng)的同步誤差達(dá)15 μm,為光源現(xiàn)有系統(tǒng)的4倍。新系統(tǒng)中的S3C2440計(jì)算機(jī)升級(jí)為性能更高的PC機(jī)時(shí),系統(tǒng)的延遲時(shí)間能控制在12 ms左右,僅為光源現(xiàn)有電機(jī)系統(tǒng)延遲時(shí)間的一半,產(chǎn)生的同步誤差也將為光源現(xiàn)有系統(tǒng)同步誤差的一半。表1為三種電機(jī)系統(tǒng)的軟硬件及性能比較。

      由運(yùn)行Linux非實(shí)時(shí)操作系統(tǒng)的PC機(jī)組成的電機(jī)控制系統(tǒng)性能上優(yōu)于光源現(xiàn)有電機(jī)系統(tǒng)。相比總線速度和操作系統(tǒng)實(shí)時(shí)性,計(jì)算機(jī)的運(yùn)算能力對(duì)延遲時(shí)間的影響更大。實(shí)時(shí)操作系統(tǒng)帶來的優(yōu)勢(shì)并不明顯。

      本次設(shè)計(jì)表明基于ARM處理器的電機(jī)控制系統(tǒng)的可行性,運(yùn)行 Linux的 S3C2440計(jì)算機(jī)與MAXnet組成的電機(jī)系統(tǒng)在時(shí)間響應(yīng)性能上與光源現(xiàn)有電機(jī)系統(tǒng)有一定差距,原因在于使用ARM9內(nèi)核的S3C2440計(jì)算機(jī)是嵌入式開發(fā)的入門級(jí)產(chǎn)品,性能有限。將S3C2440(linux)+MAXnet的電機(jī)控制系統(tǒng)的計(jì)算機(jī)升級(jí)為PC機(jī),系統(tǒng)的時(shí)間響應(yīng)性能會(huì)有較大提升。若使用運(yùn)算能力較強(qiáng)的ARM處理器的計(jì)算機(jī),時(shí)間響應(yīng)性能可得到很大提升。

      4 結(jié)語

      本文介紹了EPICS下基于ARM處理器的電機(jī)控制系統(tǒng),軟硬件設(shè)計(jì)與系統(tǒng)調(diào)試均已完成,證明了基于ARM處理器的電機(jī)控制系統(tǒng)的可行性。本系統(tǒng)在位置控制可滿足使用要求,在時(shí)間響應(yīng)性能上存在一定差距,若使用高性能處理器,時(shí)間響應(yīng)性能可得到很大提升。

      使用S3C2440(linux)+MAXnet方案將電機(jī)控制系統(tǒng)的成本降低了一個(gè)數(shù)量級(jí),而且省去VME機(jī)箱,系統(tǒng)體積大大減小。本次設(shè)計(jì)是對(duì)電機(jī)控制系統(tǒng)的一種新嘗試,為上海光源的電機(jī)控制系統(tǒng)設(shè)計(jì)提供了一種可供參考的思路。

      1 閆 芬, 李愛國(guó), 楊 科, 等. 基于EPICS的硬X微聚焦試驗(yàn)站數(shù)據(jù)采集系統(tǒng)[J]. 核技術(shù), 2009, 32(11): 801–805

      YAN Fen, LI Aiguo, YANG ke, et al. EPICS-based data acquisition system of hard X-ray micro focus station[J]. Nucl Tech, 2009, 32(11): 801–805

      2 Kraimer M R. EPICS input/output controller(IOC) application developer’s guide[OL], Release 3.14.8, 2005, http: //www. aps. anl. gov/epics/base/R3-14/8. php

      3 Tim Mooney, Joe Sullivan, Ron Sluiter. Motor record and related software[OL]. 2003, http://www.Aps.anl.gov/bcda/ synApps/motor/R6-2/motor Record.html

      4 Marty Kraimer, Eric Norum, Mark Rivers, et al. asynDriver: asynchronous driver support[OL], Release 4.5, 2006, http: //www. aps. anl. gov /epics/ modules/soft/ asyn/R4-7/asynDriver. html

      5 Mark Rivers, Marty Kraimer. Asyn record, release 4-7[OL],2004,http://www.aps.anl.gov/epics/ modules/soft/ asyn/ R4-7/ asynRecord. html

      6 User’s manual intelligent motion controller for Ethernet MAXnet[OL]. 2010, http://www.pro-dex.com/motioncontrol/product-catalog/motion-controllers/ethemet/ maxnet-motion-controller.aspx

      猜你喜歡
      開發(fā)板延遲時(shí)間光源
      二氧化碳對(duì)乙烷燃燒著火延遲時(shí)間的影響
      煤氣與熱力(2021年3期)2021-06-09 06:16:22
      LTE 系統(tǒng)下行鏈路FDRX 節(jié)能機(jī)制研究
      基于分層COX模型的跟馳反應(yīng)延遲時(shí)間生存分析
      《光源與照明》征訂啟事
      光源與照明(2019年3期)2019-06-15 09:21:04
      綠色光源
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      延遲時(shí)間對(duì)氣輔注射成型氣體穿透行為影響的數(shù)值模擬和實(shí)驗(yàn)研究
      科技連載:LED 引領(lǐng)第三次照明革命——與傳統(tǒng)照明的對(duì)比(一)
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      普兰店市| 南郑县| 夏津县| 田东县| 崇文区| 栖霞市| 麟游县| 长阳| 舟山市| 博罗县| 柳河县| 蛟河市| 郓城县| 贵南县| 安多县| 新闻| 商洛市| 黄浦区| 洪江市| 尼勒克县| 宁德市| 南部县| 托克逊县| 虞城县| 新密市| 遂宁市| 玉树县| 旺苍县| 边坝县| 丽江市| 曲阳县| 松潘县| 都安| 柳林县| 中阳县| 衡山县| 静海县| 新宁县| 谷城县| 年辖:市辖区| 南澳县|