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

其中:TOVAL是16位定時器T0的時間常數,該系統采用25 MHz的外接晶振,模式1(16位)定時。
2.3 OS_CPU_C.C文件的修改
該文件中定義10個C函數,如下:


其中,最重要的是OSTaskStklnit(),它的作用是初始化堆棧,返回堆棧的最低地址、堆棧的長度,方便匯編語言實現任務的切換。其他9個函數是暫無具體功能,其功能可以根據需要在系統內核擴展時添加。
3 基于μC/OS-Ⅱ的數控機床系統設計
3.1 執行控制器的軟件結構
如圖2所示,系統總體分為3個功能塊,即:與IPC的通信、命令解釋和命令執行。其中,通信有發送和接收兩方面內容;命令解釋時,直接執行開關量控制命令;命令執行中,需要進行插補計算、檢測間隙電壓和限位開關狀態及加工監測。本文引用地址:http://www.104case.com/article/151425.htm
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作為插補運動時間控制器。插補計算任務在該軟件中的實時性要求最高。
評論