999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C8051和μC/OS-Ⅱ的數控機床嵌入式執行控制器實現

2010-04-12 00:00:00劉艷軍
現代電子技術 2010年16期

摘 要:在CNC系統中,一般以工業用PC機作為上位機,由嵌入式系統構成的機床控制器作為下位機。在此介紹一種基于C8051和μC/OS-Ⅱ的數控機床嵌入式執行控制器,詳細介紹該執行控制器的軟硬件結構、μC/OS-Ⅱ實時操作系統在C8051f020上的移植方法,并給出了執行控制器軟件模塊的任務劃分、優先級的確定以及任務間通信的實現。經驗證,該系統能夠滿足數控系統的要求,具有可行性。關鍵詞:C8051; μC/OS-Ⅱ; 嵌入式執行控制器; 數控系統

中圖分類號:TN911-34; TP391 文獻標識碼:A

文章編號:1004-373X(2010)16-0063-03

Realization of Embedded ActuatorController for CNC Machine

Tool Based on C8051 and μC/OS-II

LIU Yan-jun

(Department of Computer Science, Chongqing University of Arts and Sciences, Chongqing 402160, China)

Abstract: In CNC system, IPC is generally used as a master controller while machine tool controller, which is composed of embedded system, is used as a slave controller. An embedded actuatorcontroller based on C8051 and μC/OS-II for CNC machine tool is introduced. The hardware and software architectures, and the transplantation of μC/OS-II to the C8051f020 are elaborated. The task partitioning of actuatorcontroller software module, priority setting and implementation of communication between tasks are discussed. The verification result indicates that the system can meet the requirements of numerical control system and is feasible.

Keywords: C8051; μC/OS-Ⅱ; embedded actuatorcontroller; numerical control system

在數控機床系統中,功能模塊可分為兩大部分:一部分是實時性要求不高的功能,例如人機界面交互管理等;另一部分是實時性要求高的功能,主要有伺服控制、插補計算等。根據這一特點,該系統采用兩級控制結構,利用IPC豐富的軟件資源,提供圖形化的人機交互環境;利用嵌入式執行控制器的高實時性和穩定性,實現快速、可靠的控制,充分發揮了二者的優點[1]。兩級之間用串行口進行實時通信[2]。本文主要介紹嵌入式執行控制器的實現。

1 數控機床系統硬件結構

數控機床系統硬件結構如圖1所示,IPC作為上位機,安裝有專用軟件,實現人機交互;C8051020芯片[3]及其外圍電路構成的嵌入式執行控制器作為下位機,負責實時、可靠的控制。執行控制器通過串行口接收上位機的命令信息(包括:插補命令、開關量控制命令),再將這些信息轉換成控制信號輸送給相應的執行部件。例如,將插補命令轉換成一連串的插補信號,輸送給電機控制部件;將開關量控制命令轉換成輸出信號,通過I/O驅動隔離接口板輸送給相應的開關控制器。執行控制器同時還有2個檢測任務:一個是刀具是否運動到各軸限位點的檢測,另一個是間隙電壓的檢測。這兩個信息將為運動時的自動調節控制提供依據。執行控制器還負責將運行中的狀態信息組裝成幀,實時地傳送給上位機。

2 μC/OS-Ⅱ在C8051F020上的移植

要使用μC/OS-Ⅱ,首先就必須把這個內核成功地移植到C8051F020上。μC/OS-Ⅱ的移植主要是對OS_CPU.H,OS_CPU_A.ASM和OS_CPU_C.C三個文件進行修改[4],下面就具體的修改內容做介紹。

2.1 OS_CPU.H文件的修改

OS_CPU.H包括了用#define定義的與處理器相關的常量、宏和類型定義。其中,需要修改的部分如下:

typedef unsigned charOS_STK;/* 堆棧入口寬度為8位 */

#define OS_ENTER_CRITICAL() EA=0/*關中斷(使用方法1,即直接開關中斷)

#define OS_EXIT_CRITICAL() EA=1/*開中斷*/

#define OS_STK_GROWTH 0/*定義堆棧增長方向為向上,即從低地址到高地址*/

#define OS_TASK_SW() OSCtxSw()/*任務切換*/

圖1 數控機床系統硬件結構

2.2 OS_CPU_A.ASM文件的修改

該文件包含4 個匯編語言函數。

(1) OSStartHighRdy()函數在多任務系統啟動函數OSStart()中調用。作用是設置系統運行標志位OSRunning=TRUE;將就緒表中最高優先級任務的棧指針Load到SP中,并強制中斷返回。

(2) OSCtxSw()函數是在任務級切換函數中調用的。作用是保存當前任務的環境變量,將當前SP存入任務TCB中,載入就緒最高優先級任務的SP,恢復就緒最高優先級任務的環境變量,中斷返回。這樣就完成了任務級的切換。

(3) OSIntCtxSw()在退出中斷服務函數OSIntExit ()中調用。作用是實現中斷級任務切換。

(4) OSTickISR()系統時鐘節拍中斷服務函數,其周期的大小決定了內核所能給應用系統提供的最小時間間隔服務。該中斷由C8051F020的T0定時器完成,設置定時時間為20 ms。修改代碼如下:

OSTickISR:

USING 0

PUSHALL

CLR TR0

;定義Tick=50次/s(即20 ms/次)

MOV DPTR,#T0VAL

MOV TH0,DPH

MOV TL0,DPL

SETB TR0

其中:T0VAL是16位定時器T0的時間常數,該系統采用25 MHz的外接晶振,模式1(16位)定時。

2.3 OS_CPU_C.C文件的修改

該文件中定義10個C 函數,如下:

void OSTaskStk Init (void );void OSTimeTickHook(void);

void OSInitHookBegin ( void); void OSInitHookEnd(void);

void OSTaskCreateHook (OS_TCB *ptcb); void OSTaskDelHook (OS_TCB *ptcb);

void OSTaskIdleHook ( void) ;void OSTaskStatHook(void) ;

void OSTaskSwHook ( void) ; void OSTCBInitHook (OS_TCB *ptcb)。

其中,最重要的是OSTaskStkInit ( ),它的作用是初始化堆棧, 返回堆棧的最低地址、堆棧的長度,方便匯編語言實現任務的切換。其他9個函數是暫無具體功能,其功能可以根據需要在系統內核擴展時添加。

3 基于μC/OS-Ⅱ的數控機床系統設計

3.1 執行控制器的軟件結構[5-7]

如圖2所示,系統總體分為3個功能塊,即:與IPC的通信、命令解釋和命令執行。其中,通信有發送和接收兩方面內容[8];命令解釋時,直接執行開關量控制命令;命令執行中,需要進行插補計算、檢測間隙電壓和限位開關狀態及加工監測。

圖2 系統軟件結構

3.2 任務劃分及其優先級的確定

(1) 發送任務

嵌入式執行控制器發送給IPC的信息有2種:聯絡信號和運行中的狀態信息。嵌入式執行控制器處于待命狀態時,定期向IPC發送聯絡信號,用于確定IPC是否正常工作。若IPC運行正常,則IPC收到聯絡信號后,會回送給嵌入式執行控制器一個應答信號,若發送的多次聯絡信號都未收到應答,則認為IPC出錯。嵌入式執行器處于加工狀態時,將運行中的狀態信息以固定格式定期向IPC發送。IPC收到信息后,將其轉換成圖形、文字等信息顯示出來,提供給操作員,便于實時掌握加工狀態,發送任務的實時性要求低。

(2) 接收任務

嵌入式執行控制器接收IPC機發送的聯絡、應答和命令3種信息,若接收到聯絡信號或應答信號,則接收任務直接處理(發送應答信號或刷新聯絡狀態位);若既不是聯絡信號也不是應答信號,則認為是命令信息,接收任務將命令完整接收后,關閉寫接收緩沖區,激活命令解釋任務。接收任務是由通信口接收中斷觸發的,其實時性要求高。

(3) 命令解釋任務

命令解釋任務首先對接收緩沖區的命令信息進行校驗和解釋,處理完成后,清空并開放接收緩沖區,允許新命令的接收。這樣做的目的是不在接收緩沖區中積壓多條命令,在當前命令解釋完成之前,不接收新命令,以提高嵌入式執行控制器對命令的響應速度。根據命令執行時間的長短,將命令分為開關量控制命令和插補命令2種。開關量控制命令的執行時間短,因此在命令解釋后直接執行,以減少任務切換的時間消耗。插補命令是加工命令,運行時間長,采用專門的加工監控任務來執行,命令解釋任務只負責在命令解釋完成后激活加工監控任務。命令解釋任務的實時性要求高。

(4) 加工監控任務

加工監控任務根據當前的工作狀態(手動方式或自動方式)激活插補計算任務,并進行加工狀態的監控。手動工作方式下,操作員在PC機上手動控制刀具向-x,+x,-y,+y,-z,+z六個方向運動、刀具返回基準點、端面找正和孔中心定位等操作。自動工作方式下,操作員向控制器傳送直線、圓弧的運動命令,控制器自動完成該線形的運動。加工監控任務的實時性要求較高。

(5) 插補計算任務

插補計算任務是計算輪廓起點和終點的中間點坐標值。本系統采用逐點比較法進行插補,插補任務每執行1次產生1個行程增量,每個行程增量以1個脈沖的方式輸出給步進電機。插補任務的運行周期可能低于操作系統時鐘,達到每秒數千次,因此使用定時器1作為插補運動時間控制器。插補計算任務在該軟件中的實時性要求最高。

(6) 間隙電壓檢測和限位開關狀態檢測任務

該系統用于電火花線切割數控機床,間隙電壓是電火花加工時工具(電極絲)與工件之間的放電電壓,該數據是對放電加工過程進行實時檢測的重要參數[9],需要實時采集。限位開關是指刀具運動到加工臺邊界位置時,觸發的一個狀態開關。當到達這個感應開關時刀具應該停止工作,起到一個保護作用,也就是限定了運動的位移,該信息也需要實時采集。這兩個任務具有實時性高,執行頻繁,執行時間短的特點,因此把它們設為一個檢測任務。與插補任務相同,由于檢測任務的運行周期低于操作系統時鐘,因此使用定時器3作為檢測任務的時間觸發器。

上面將實現的功能劃分為6個任務,介紹這些任務的功能,并對其實時性要求做了分析[10]。上述任務劃分如表1所示。

3.3 任務間通信

在完成任務劃分后,還需要考慮任務的通信和同步。發送任務與檢測任務是獨立的,接收任務、命令解釋任務和加工監控任務存在聯系,如圖3所示,這里需要使用信號量和郵箱解決任務間的通信同步。

表1 任務劃分表

任務觸發自運行周期優先級

中斷處理任務

插補計算任務定時器1中斷根據指定的插補速度設定,最小1 ms高(由中斷優先級控制寄存器設定)

狀態檢測任務定時器3中斷10 ms一般

接收任務串口中斷無一般

調度任務

命令解釋任務接收任務觸發無5

加工監控任務命令解釋任務觸發50 ms6

發送任務OS調度器觸發100 ms7

圖3 接收任務、命令解釋任務和加工監控任務之間的關系

(1) 命令信號量SemCmd。當接收任務接收到一條命令信息時,發出該信號量,由命令解釋任務接收,取出并解釋命令后,清除該信號量,允許接收新命令。

(2) 加工啟動消息郵箱Mbox。當命令解釋任務發現命令信息為插補命令時,將信息翻譯成約定格式存入郵箱,發送出去,加工監控任務接收。

4 實驗結果

實驗測試,IPC通過串口向執行控制器發送直線插補命令G01X1000Y2000\\\\LF,如圖4所示,觀察返回信息中的x,y軸坐標,各點基本分布于點(0,0)與點(1 000,2 000)的直線周圍,誤差小于1個運動當量,這說明整個系統運行正常。

圖4 IPC機串口接收到的運行狀態信息

5 結 語

C8051F020 處理器具有豐富的硬件資源和強大的處理性能,μC/OS-Ⅱ具有實時性高,通用性好,移植、擴展方便等特點。基于該軟硬件平臺,可以降低系統的復雜度,提高產品的開發速度。經驗證,該硬軟件系統能滿足該數控系統的要求,具有可行性。

參考文獻

[1]胡俊.主從式數控系統中的數據通訊[J].機床與液壓,2000(1):32-33.

[2]王海華,郭虛進,李文淘.數控系統通訊協議參數與通訊軟件設計[J].儀器儀表標準化與測量,1999(5):14-16.

[3]潘琢金.C8051FXXX高速SoC單片機原理及應用[M].北京:北京航空航天大學出版社,2002.

[4]JEAN J Labrosse. μC/OS-Ⅱ源碼公開的實時嵌入式操作系統[M]. 邵貝貝,譯.北京:中國電力出版社,2001.

[5]李誠人.嵌入式開放型數控系統研究[J].計算機應用與軟件,2008(25):227-229.

[6]譚峰,李虹霞,李誠人.基于μC/OS-Ⅱ的開放式數控系統研究[J].機械與電子,2004(12):3-6.

[7]陳志輝,楊代華.基于μC /OS-Ⅱ和雙MCU 的數控系統研制[J].微計算機信息,2007,23(23):27-29.

[8]劉艷軍,蔣存波,陳占海.嵌入式系統與IPC的一種串口通訊協議及其實現[J].桂林工學院學報,2006(4):579-582.

[9]胡建華,汪煒,徐啟華.電火花成型加工間隙電壓在線檢測與處理的新方法[J].機械設計與制造,2006(10):93-95.

[10]金勇,陳艷霞.基于嵌入式實時操作系統μC/OS-Ⅱ 的小型電站控制系統[J].電子科技,2005(2):13-16.

主站蜘蛛池模板: 日本三级黄在线观看| 尤物视频一区| 91青青视频| аv天堂最新中文在线| 亚洲无线一二三四区男男| 99久久精品无码专区免费| 国产欧美日韩资源在线观看| 日本成人精品视频| 一本色道久久88| 国产美女主播一级成人毛片| 亚洲免费播放| 亚洲无码高清免费视频亚洲| 日韩a在线观看免费观看| 亚洲视频无码| av天堂最新版在线| 国产成人精品一区二区免费看京| 国产精品欧美日本韩免费一区二区三区不卡| 色偷偷av男人的天堂不卡| 国产免费a级片| 欧美精品影院| 99国产精品国产高清一区二区| 婷婷午夜影院| 亚洲欧美极品| 亚洲AV无码久久精品色欲| 久久99这里精品8国产| 看看一级毛片| 欧美不卡二区| 又黄又爽视频好爽视频| 国产麻豆另类AV| 视频一本大道香蕉久在线播放 | 91区国产福利在线观看午夜 | 久久频这里精品99香蕉久网址| 在线观看国产黄色| 免费在线a视频| 激情综合婷婷丁香五月尤物| 亚洲天堂视频在线播放| 国产日韩精品一区在线不卡| 国产不卡在线看| 国产激情影院| 欧美精品亚洲日韩a| 97久久精品人人做人人爽| 一级爱做片免费观看久久| 久久夜夜视频| 欧美成人第一页| 黄片在线永久| 久久99精品久久久久久不卡| 亚洲一级毛片免费看| 欧美翘臀一区二区三区| 极品国产在线| 亚洲一区二区精品无码久久久| 99热这里只有精品久久免费| 永久成人无码激情视频免费| 日日拍夜夜嗷嗷叫国产| 免费一级无码在线网站| 真人高潮娇喘嗯啊在线观看| 欧美日韩另类国产| 日韩精品中文字幕一区三区| 无码免费视频| 国产精品无码影视久久久久久久| 欧美精品1区2区| AV熟女乱| 在线观看亚洲国产| 国产特级毛片| 亚洲最大福利视频网| 久久99国产综合精品女同| 午夜不卡福利| 99精品久久精品| 40岁成熟女人牲交片免费| 午夜精品久久久久久久2023| 国产成人综合亚洲欧美在| 97视频免费在线观看| 国产91丝袜| 日本中文字幕久久网站| 亚洲成a人片7777| 久久精品中文字幕少妇| 国产精品浪潮Av| 欧美激情综合| 久久激情影院| 亚洲欧洲一区二区三区| 熟妇丰满人妻av无码区| 亚洲国产综合自在线另类| 日本a级免费|