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