亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LINUX+RTLINUX平臺(tái)的開放式數(shù)控系統(tǒng)的設(shè)計(jì)*

        2012-11-24 04:41:54姜凌羽
        關(guān)鍵詞:設(shè)備

        潘 策,姜凌羽

        (1.大連高金數(shù)控技術(shù)有限公司,遼寧 大連 116001;2.北京航空航天大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,北京 100083)

        0 引言

        開放式的數(shù)控系統(tǒng)是隨著計(jì)算機(jī)數(shù)控系統(tǒng)(CNC)的飛速發(fā)展而逐漸成為現(xiàn)代機(jī)床控制領(lǐng)域的新方向,其體系結(jié)構(gòu)的標(biāo)準(zhǔn)化、柔性化、功能模塊化以及超強(qiáng)的可擴(kuò)展性和移植性,特別是它能夠通過現(xiàn)場(chǎng)總線將單個(gè)設(shè)備連接,實(shí)現(xiàn)控制的網(wǎng)絡(luò)化和集成化,這是傳統(tǒng)的體系結(jié)構(gòu)所無法比擬的。在軟件應(yīng)用平臺(tái)開發(fā)上也具有更加寬廣的空間,能滿足不同用戶對(duì)其二次開發(fā)的不同需求。

        在開放式數(shù)控系統(tǒng)中主要有兩大功能模塊:運(yùn)動(dòng)控制模塊和伺服控制模塊。運(yùn)動(dòng)控制模塊主要實(shí)現(xiàn)位置環(huán)的控制;伺服控制模塊主要實(shí)現(xiàn)速度環(huán)和電流環(huán)的控制。運(yùn)動(dòng)控制模塊通過特定的控制算法將機(jī)床位置參數(shù)轉(zhuǎn)化成速度指令,傳遞給伺服控制模塊,后者將傳來的速度指令和速度反饋值比較,其偏差作為速度控制器收入,其輸出為轉(zhuǎn)矩給定,并和電流環(huán)的反饋值比較,經(jīng)轉(zhuǎn)矩/電流變換后得到轉(zhuǎn)矩電流給定,從而完成一次完整的三環(huán)閉環(huán)控制。電流環(huán)是內(nèi)環(huán),速度環(huán)是中間環(huán),位置環(huán)是外環(huán)。機(jī)床電機(jī)得到是電流輸出值,而實(shí)現(xiàn)的是機(jī)床的位置控制,因此運(yùn)動(dòng)控制模塊決定了開放式數(shù)控系統(tǒng)的精度。

        1 開放式數(shù)控系統(tǒng)的構(gòu)成

        IEEE關(guān)于開放式系統(tǒng)的定義是:開放式系統(tǒng)能有效地運(yùn)行于不同的平臺(tái)之上,可以與其他應(yīng)用系統(tǒng)相互操作,并提供與用戶交互的統(tǒng)一風(fēng)格,即所謂互操作性、可移植性、可伸縮性和可互換性[1]。

        開放式數(shù)控系統(tǒng)平臺(tái)由硬件和軟件組成。系統(tǒng)軟件包括實(shí)時(shí)操作系統(tǒng)、通訊系統(tǒng)、設(shè)備驅(qū)動(dòng)程序以及其它應(yīng)用程序。系統(tǒng)軟件通過標(biāo)準(zhǔn)的應(yīng)用程序接口向應(yīng)用軟件提供服務(wù)。系統(tǒng)硬件包括組成系統(tǒng)的各種物理實(shí)體。

        1.1 CUnet現(xiàn)場(chǎng)網(wǎng)絡(luò)

        Cunet網(wǎng)(Corective Uncontiunse Network)為無主從式、數(shù)據(jù)共享型現(xiàn)場(chǎng)總線網(wǎng)。特點(diǎn)是:把連接I/O設(shè)備的所有功能集成在一塊邊長(zhǎng)16mm的正方形IC芯片中,可省去使用者許多復(fù)雜的事先設(shè)置工作;僅用2條線,連接所有的I/O局,有極高的可維護(hù)性;IC芯片內(nèi)帶高性能糾錯(cuò)功能,具有極好的耐環(huán)境性;采用數(shù)據(jù)共享式通訊網(wǎng)絡(luò)組織方式,整個(gè)網(wǎng)絡(luò)溶為一體;不僅僅傳送I/O數(shù)據(jù),更可傳送網(wǎng)絡(luò)通訊局自身的有關(guān)信息。一個(gè)CUnet網(wǎng)絡(luò)中最多可連接64臺(tái)I/O設(shè)備。64臺(tái)I/O設(shè)備共享所有的I/O信息[2]。

        MKY40是為Cunet總線網(wǎng)絡(luò)而配置的集成芯片,將各個(gè)站點(diǎn)通過MKY40相連接,可以形成分布式處理系統(tǒng)網(wǎng)絡(luò),從而增強(qiáng)整個(gè)網(wǎng)絡(luò)的存儲(chǔ)和處理能力[2]。

        Cunet有兩種工作模式:內(nèi)存模

        式和I/O模式。兩種模式之間可以通過硬件設(shè)置相互轉(zhuǎn)換。處于內(nèi)存模式的MKY40有兩個(gè)接口:總線接口(BUS-I/F)和網(wǎng)絡(luò)接口(Network I/F),將BUSI/F和用戶端CPU連接,同時(shí)將Network I/F和網(wǎng)絡(luò)連接,可以在Cunet總線網(wǎng)絡(luò)創(chuàng)建一個(gè)內(nèi)存基站[2]。

        1.2 MCX314多軸電機(jī)伺服控制器[3]

        MCX314是日本NOVA電子公司研制的DSP運(yùn)動(dòng)控制專用芯片,能實(shí)現(xiàn)4軸3聯(lián)運(yùn)動(dòng)的位置、速度、加速度控制和直線、圓弧、位元3種模式的連續(xù)插補(bǔ)位置環(huán)閉環(huán)控制,其性能優(yōu)良、接口簡(jiǎn)單編程方便,廣泛應(yīng)用于數(shù)控機(jī)床和機(jī)器人控制領(lǐng)域。

        2 開放式數(shù)控系統(tǒng)的硬件設(shè)計(jì)

        本文采用的是通用PC加實(shí)時(shí)控制單元的雙內(nèi)核控制結(jié)構(gòu)。利用PC機(jī)的Linux形成完善的人機(jī)界面,同時(shí)用軟件來實(shí)現(xiàn)各種先進(jìn)的控制技術(shù);開放式結(jié)構(gòu)平臺(tái)可以集成不同開發(fā)商提供的軟件并適合聯(lián)網(wǎng)需要,且具有與硬件無關(guān)的特性。如圖1所示。

        圖1 基于PCI總線的運(yùn)動(dòng)控制原理圖

        PCI9052是連接PCI總線和MCX314的橋接口電路芯片,從PC機(jī)中發(fā)來的加工參數(shù)、插補(bǔ)軌跡以及狀態(tài)信息通過PCI總線傳到PCI9052的高速緩存FIFO中,PCI9052作為總線主設(shè)備將PC機(jī)傳來的信息經(jīng)過緩存最終存儲(chǔ)到MKY40內(nèi),由于MKY40映射為PC機(jī)的一部分內(nèi)存地址所以PC機(jī)就像操作內(nèi)存一樣將信息存儲(chǔ)到MKY40,等待MCX314的讀取。MCX314定時(shí)從MKY40中讀取PC機(jī)傳來的各種控制信息。MCX314的主要功能是根據(jù)PC機(jī)送來的插補(bǔ)信息通過插補(bǔ)算。如圖2所示。

        圖2 PCI9052與PCI總線和MCX314的接口電路

        3 開放式數(shù)控系統(tǒng)的軟件設(shè)計(jì)

        在Linux下,驅(qū)動(dòng)程序處于“核心態(tài)”,所有的硬件設(shè)備都被映射為文件,對(duì)外提供統(tǒng)一的標(biāo)準(zhǔn)的軟件調(diào)用接口。上層軟件通過fopen(),fread(),fwrite()等,透明地在用戶層對(duì)硬件實(shí)現(xiàn)控制[4]。

        驅(qū)動(dòng)程序的主要工作是:監(jiān)控板卡狀態(tài),控制板卡的熱插拔和熱交換;提供應(yīng)用程序訪問接口;從RAM中取出指令數(shù)據(jù);根據(jù)應(yīng)用程序的讀寫請(qǐng)求,將數(shù)據(jù)提供給應(yīng)用程序。

        PCI設(shè)備的驅(qū)動(dòng)程序主要解決的首先是即插即用問題,如何獲取系統(tǒng)分配給該設(shè)備的配置資源,然后是如何訪問設(shè)備I/O內(nèi)存映射硬件,如果處理硬件中斷,最后還要解決和應(yīng)用程序的通訊問題。

        圖3 基于PCI總線的運(yùn)動(dòng)控制原理圖

        3.1 驅(qū)動(dòng)程序的編寫

        3.1.1 設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)

        Linux的設(shè)備驅(qū)動(dòng)程序大致可以分為如下幾個(gè)部分:

        驅(qū)動(dòng)程序的注冊(cè)與注銷、設(shè)備的打開與釋放、設(shè)備的讀寫操作、設(shè)備的控制操作、設(shè)備的中斷和輪詢處理。

        驅(qū)動(dòng)程序的注冊(cè)與注銷:通過在驅(qū)動(dòng)程序的初始化過程中調(diào)用register_chrdev()或者register_blkdev()來完成。而在關(guān)閉字符設(shè)備或者塊設(shè)備時(shí),則需要通過調(diào)unregister_chrdev()或unregister_blkdev()從內(nèi)核中注銷設(shè)備,同時(shí)釋放占用的主設(shè)備號(hào)。

        設(shè)備的打開與釋放通過調(diào)用file_operations結(jié)構(gòu)中的函數(shù)open()和release()來完成的。

        設(shè)備的讀寫操作:直接使用函數(shù)read()和write()就可以了。

        設(shè)備的控制操作:通過設(shè)備驅(qū)動(dòng)程序中的函數(shù)ioctl()來完成。

        設(shè)備的中斷和輪詢處理:對(duì)于不支持中斷的硬件設(shè)備,讀寫時(shí)需要輪流查詢?cè)O(shè)備狀態(tài),以便決定是否繼續(xù)進(jìn)行數(shù)據(jù)傳輸。如果設(shè)備支持中斷,則可以按中斷方式進(jìn)行操作。

        3.1.2 設(shè)備驅(qū)動(dòng)程序的接口

        Linux中的I/O子系統(tǒng)向內(nèi)核中的其他部分提供了一個(gè)統(tǒng)一的標(biāo)準(zhǔn)設(shè)備接口,這是通過include/linux/fs.h中的數(shù)據(jù)結(jié)構(gòu)file_operations來完成。當(dāng)應(yīng)用程序?qū)υO(shè)備文件進(jìn)行諸如open、close、read、write等操作時(shí),Linux內(nèi)核將通過file_operations結(jié)構(gòu)訪問驅(qū)動(dòng)程序提供的函數(shù)。例如,當(dāng)應(yīng)用程序?qū)υO(shè)備文件執(zhí)行讀操作時(shí),內(nèi)核將調(diào)用file_operations結(jié)構(gòu)中的read函數(shù)。

        3.1.3 設(shè)備驅(qū)動(dòng)程序的動(dòng)態(tài)加載

        從本質(zhì)上來講,模塊也是內(nèi)核的一部分,它不同于普通的應(yīng)用程序,不能調(diào)用位于用戶態(tài)下的C或者C++庫(kù)函數(shù),而只能調(diào)用Linux內(nèi)核提供的函數(shù),在/proc/ksyms中可以查看到內(nèi)核提供的所有函數(shù)。

        在以模塊方式編寫驅(qū)動(dòng)程序時(shí),要實(shí)現(xiàn)兩個(gè)必不可少的函數(shù)init_module()和cleanup_module(),而且至少要包含<linux/krernel.h>和<linux/module.h>兩個(gè)頭文件。在用gcc編譯內(nèi)核模塊時(shí),需要加上-DMODULE-D_KERNEL_-DLINUX這幾個(gè)參數(shù),編譯生成的模塊(一般為.o文件)可以使用命令insmod載入Linux內(nèi)核,從而成為內(nèi)核的一個(gè)組成部分,此時(shí)內(nèi)核會(huì)調(diào)用模塊中的函數(shù)init_module()。當(dāng)不需要該模塊時(shí),可以使用rmmod命令進(jìn)行卸載,此進(jìn)內(nèi)核會(huì)調(diào)用模塊中的函數(shù)cleanup_module()。任何時(shí)候都可以使用命令來lsmod查看目前已經(jīng)加載的模塊以及正在使用該模塊的用戶數(shù)。

        3.2 應(yīng)用程序的編寫

        上層應(yīng)用程序模塊主要包括:人機(jī)接口模塊、解釋程序模塊、PLC接口模塊、插補(bǔ)模塊 、運(yùn)動(dòng)算法模塊五大部分,通過將輸入指令逐步分解、傳達(dá)至運(yùn)動(dòng)控制器,實(shí)現(xiàn)對(duì)機(jī)床的準(zhǔn)確控制,由于軟件采用了模塊化,同時(shí)基于組件技術(shù),所以進(jìn)行軟件升級(jí)以及用戶進(jìn)行二次開發(fā)都比較方便[4]

        4 結(jié)束語

        基于LINUX+RTLINUX雙內(nèi)核開發(fā)平臺(tái)和PCI總線的開放式數(shù)控系統(tǒng),具有實(shí)時(shí)性高、成本低,可移植性和可擴(kuò)展性好,易于二次開發(fā)等優(yōu)點(diǎn),能夠滿足數(shù)控車床、銑床、車銑中心、車削中心,立式和臥式加工中心等高精度機(jī)床的應(yīng)用。

        [1]于東,郭銳鋒.開放式數(shù)控系統(tǒng)域建模研究[J].小型微型計(jì)算機(jī)統(tǒng),2000.

        [2]Technical report No.006> CUnet Family> MKY40,Method of selecting the crystal oscillator for MKY40,2006.

        [3]葉佩青,汪勁松.MCX314運(yùn)動(dòng)控制芯片與數(shù)控系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002.

        [4]馬毅,李霞峰,盛煥華.基于Linux的實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)工程與應(yīng)用,2001(12):109-110,176.

        [5]馮俊平.基于MPC8250的嵌入式Linux系統(tǒng)開發(fā)[D].西安電子科技大學(xué),2006.

        [6]張俊鵬.PCI通信板卡及Linux驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2007.

        [7]趙昌永,等.一種基于嵌入式Linux的視頻采集系統(tǒng)儀器儀表學(xué)報(bào),2005.

        [8]DVB-S機(jī)頂盒前端驅(qū)動(dòng)的軟件實(shí)現(xiàn).天津大學(xué),2006.

        猜你喜歡
        設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        調(diào)試新設(shè)備
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        HTC斥資千萬美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
        Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
        如何在設(shè)備采購(gòu)中節(jié)省成本
        国产在线观看黄| 国产成人精品2021| 亚洲色欲色欲综合网站| 亚洲综合伊人制服丝袜美腿| 亚洲中文字幕无线乱码va| 日本中文字幕精品久久| av免费网址在线观看| 永久免费不卡在线观看黄网站| 欧洲国产精品无码专区影院| 精品亚洲在线一区二区| 乱子轮熟睡1区| 亲子乱aⅴ一区二区三区下载| 国产成人av在线影院无毒| 性色国产成人久久久精品二区三区| 日韩人妻不卡一区二区三区| 四川老熟妇乱子xx性bbw| 超碰日韩AV在线| 亚洲精品中文字幕熟女| 亚洲va中文字幕无码一二三区| 亚洲av中文无码乱人伦在线r▽| 亚洲高清有码在线观看| 亚洲熟女天堂av一区二区三区| 国产丝袜美女| 美女大量吞精在线观看456| 中文亚洲成a人片在线观看| 极品一区二区在线视频| 最爽无遮挡行房视频| 亚洲综合久久久| 亚洲av毛片一区二区久久| 亚洲精品国产电影| 亚洲国产另类久久久精品黑人| 69av视频在线| 成人av毛片免费大全| 超级碰碰色偷偷免费视频| 欧美成人a在线网站| 久久av少妇亚洲精品| 99久久精品免费看国产| 久热在线播放中文字幕| 熟女人妻中文字幕一区| 日韩三级一区二区三区| 狠狠色噜噜狠狠狠狠色综合久|