0 引 言
目前開放式數控系統通常采用兩個處理器:主控制器和DSP(數字信號處理器)。主控制器負責接受用戶的數據輸入,顯示狀態,系統管理功能等,一般用工控機(IPC)作主控制器,也可稱為主機。DSP負責運動信號和伺服數據處理,可以是各種運動控制器。為了解決主處理器與DSP之間的通訊問題,數控系統采用了雙端RAM,用于實現DSP與主控制處理器之間的高速重復不需握手的數據通信。
雙端RAM,具有兩套獨立的地址、數據線及讀/寫控制線,它的控制邏輯與存儲器集成在一片大規模集成電路內,實現了真正的雙端口異步操作,可與多種CPU 接口,使得電路設計簡化,集成度提高,數據交換更加快速、可靠。雙端RAM 是一種特殊存貯器,其主要特點為:
1)能在兩個CPU 之間建立數據通道。雙端RAM 擁有兩套互相獨立的數據、地址和讀/寫控制總線,可分別與兩個不同的CPU 相連,只要不同時操作同一存貯單元,兩側CPU就能互不相干地對其中任一單元進行讀/寫操作。
2)可作為CPU 外部RAM 使用,即每個CPU 都把雙端RAM 作為自己的外部存貯器用。主控制器寫入雙端RAM中的數據可隨時被DSP 讀出,同樣DSP 寫入雙端口RAM中數據也能隨時被主控制器讀出。
3)雙端RAM 用于CPU 之間數據交換時,常采用中斷方式或令牌方式。中斷工作方式在傳輸數據時需發出中斷請求,得到CPU 響應后,硬件發出中斷向量,并打斷原程序運行,轉向執行數據傳輸中斷服務程序。令牌工作方式約定只有得到令牌的一方才能傳輸數據。一旦令牌被兩個CPU 中的一個得到,則另一個CPU 只能等到它用完再傳輸。
數控系統運行時主控制器將運動命令寫入雙端RAM,DSP 讀取后執行,同時主控制器也從雙端RAM 中讀出DSP存放的運行狀況反饋信息。雙端RAM 是一個插在IPC 總線上的獨立芯片,與DSP 用電纜連接。雙端RAM 可用作快速從DSP 中讀出或向DSP 寫入數據和命令。
本系統向DSP 寫入的典型用法是實時重復下載位置數據和循環程序信息。從DSP 中讀出的典型用法是重復得到狀態信息。對于本文采用的DSP 支持一些自動功能。自動功能包括DSP 可以自動或由PLC 程序將電機狀態、位置、速度及錯誤信息等連續上載寫入雙端RAM 中。
1 雙端RAM的地址分布
雙端RAM在主機端和DSP 內存地址分布是不同的。本文采用了8K X 16bit 的雙端RAM。對于DSP,一個字是16 位,雙字為32 位,將雙端RAM 按雙字(32 位)取址,雙端RAM 僅被認為是出現在地址空間$ D000 到$DFFF 上的一段多余內存。內存大小為4k 的雙字(32位),或8k的單字(16 位)。每個單元的前16 位為該單元的Y分量,后16位為X 分量。DSP 將內存空間$ D000 到$D1FF保留作固定用途,$D200 到$ DFFF 范圍內存開放為一般用途。對于主機端,雙端RAM 為8k X 16 位的內存。由于大多數計算機按字節取址,這將要求16k的地址空間,即在主機總線上14 位(214 = 16k)。
雙端RAM在DSP和主機之間的地址換算可用下式計算:
主機地址=主機起始地址+ 4*(DSP 地址- $D000)+偏移量
其中若要得到Y分量,偏移量=0;若要得到X 分量,偏移量=2。
在本系統中,主機的起始地址為$ 1FC000。反過來,可得到:
DSP地址=0.25*(主機地址-主機起始地址)+$D000
用C 語言寫主機程序來讀1 號電機的實際位置,可以利用DSP的自動功能將這些數據放在雙端RAM的指定位置上。然后,主機程序就可以讀取地址$D200的數據,重新裝配位置信息以便C語言可以使用。$D200在IPC內存地址由上面的公式容易得到:
十六進制( $D200-$D000)*4+$D4000=$D4800
2 數控軟件的設計
設計友好的用戶界面是數控系統工業運行不可忽視的重要因素。由于操作者已習慣傳統數控系統操作面板及相關術語和指令系統,故基于方便終端用戶使用的考慮,在開發本數控軟件時,必須將其在工作原理方面的特點隱藏在系統內部,而使提供給用戶或需要用戶處理的信息盡可能與傳統數控系統一致。這些信息通常包括操作面板的顯示、數據程序代碼和坐標定義等。用戶界面的開發主要工作集中在雙端RAM 的通信功能,通信程序是利用Delta Tau公司提供的Pcomm32 動態連接庫和PTALKDT 控件編制的。Pcomm32囊括了主控制器同DSP 通信的所有方式,而且將其主要函數進行分類、封裝,最終形成ActiveX 控件- PTALKDT。利用Visual C + + 開發應用軟件中嵌入PTALKDT,可以制作出友好的用戶界面。所制作的用戶界面采用模塊化設計,包括手工編程模塊、程序下載模塊、參數設置模塊、手動調整模塊和自動加工模塊及其它輔助功能模塊。
1)手動編程模塊
VC 中的MFC 提供一個文本編輯類CeditView,利用它幾乎不用編寫什么代碼,便能生成一個類似NotePad 的文本編輯器,雖然它沒有Word 的文字處理功能強大,但用來編輯NC 代碼已經足夠。在編輯窗口完成NC 代碼所有編輯操作,可以進行語法檢查,將檢查結果以對話框的形式告訴操作者語法錯誤信息。
2)程序下載模塊
經過語法檢查、格式轉換的NC代碼程序可以下載到雙端RAM二進制循環程序緩沖區中,將ASCII碼轉換為二進制形式,然后由雙端RAM送到DSP的循環運動程序緩沖區。循環運動程序緩沖區允許在程序執行期間對程序行進行下載,并覆蓋已經被執行的程序行。這就能夠連續執行比DSP的存儲空間大的程序,并且實時下載程序行。下載程序流程圖見圖1。
圖1 下載程序流程圖
3)參數設置模塊
參數設置模塊完成并聯機床一些加工工藝參數的調整設置工作并對運動控制器進行相應的設置。為防止非專業人員修改參數,在進入參數設置模塊前提示輸入密碼。參數設置包括部分:控制參數、位置參數、系統參數、刀具參數??刂茀抵饕菍\動控制器中PID調節進行設置。位置參數設定工件坐標系、機床坐標系的相對位置及參考點位置等。系統參數是主要機床加工工藝上的參數定義。刀具參數是選擇刀具的型號,尺寸。該模塊把輸入的參數存至雙端RAM特定的內存地址上。
4)手動調整模塊
手動調整模塊與操作面板相似,可以對單個軸進行點動、回零控制,還可以在單軸運動過程中開關主軸、冷卻液及刀具,并可對主軸和進給轉速進行修調。在單軸運動過程中將所選軸的位置信息實時顯示出來。手動調整界面見圖2。
圖2 手動調整界面
5)自動加工模塊
程序下載后就可選擇自動加工命令,它向DSP發出命令執行程序緩沖區中的程序,同時將界面按顯示方式切換為自動加工的頁面。可以按三種坐標方式,兩種字體方式選擇顯示方式,通過對話框選擇。自動加工模塊在加工過程中從雙端RAM中實時取得坐標位置、電機轉速并將其同步顯示出來。選擇大字符時,僅在頁面上顯示坐標位置和電機轉速,選擇小字符時,還會將運行程序和正在執行的程序行顯示出來。坐標方式分機床坐標、工件坐標和桿件坐標三種。坐標位置會根據所選方式進行坐標變換和運動學變換,然后在頁面上顯示出來。
3 結 論
數控軟件運用現成的NC 程序,對應用推廣有現實意義。將原理方面的特點隱藏在系統內部,提供給用戶處理的信息與傳統數控系統一致,使操作容易,為數控系統的工業運行提供了必要條件。用戶界面實現模塊化設計,便于以后功能擴展。
(審核編輯: 智匯胡妮)
分享