0 前言
目前,各種先進(jìn)的制造技術(shù)得到了飛速的發(fā)展,它們中絕大多數(shù)都需要數(shù)控技術(shù)的支持。同時(shí),數(shù)控技術(shù)的應(yīng)用也為制造業(yè)的發(fā)展帶來了深刻的變革。但是,隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,傳統(tǒng)的CNC系統(tǒng)逐漸顯示出弱點(diǎn),即:專用性強(qiáng)、軟件為系統(tǒng)的制造商所擁有,不便于功能擴(kuò)展和各種應(yīng)用軟件的支撐和更新,軟件的移植性差,組網(wǎng)通訊能力差。而現(xiàn)代制造業(yè)的發(fā)展給CNC系統(tǒng)提出了更高的要求:從完成的功能上看,一方面CNC系統(tǒng)必須適應(yīng)CIMS的發(fā)展,有一個(gè)可以集成不同開發(fā)商提供的軟件并適應(yīng)連網(wǎng)需要的平臺(tái);另一方面,隨著中小批量生產(chǎn)的趨勢(shì)日益增強(qiáng)和數(shù)控系統(tǒng)在更多的行業(yè)中的應(yīng)用,用戶對(duì)CNC系統(tǒng)的需求呈現(xiàn)多元化,這樣,必須根據(jù)不同的用戶需求,迅速、高效、低成本的構(gòu)筑面向用戶的控制系統(tǒng),于是要求CNC系統(tǒng)具有模塊化和可重新配置的特點(diǎn)。從使用角度來看,CNC系統(tǒng)應(yīng)能應(yīng)用于各種計(jì)算機(jī)平臺(tái),并提供統(tǒng)一風(fēng)格的用戶交互環(huán)境,以便于用戶操作、維護(hù)和更新升級(jí)。為了滿足對(duì)數(shù)控系統(tǒng)更具柔性、靈活性和通用性的要求,出現(xiàn)了對(duì)開放式數(shù)控系統(tǒng)結(jié)構(gòu)的研究。開放式數(shù)控系統(tǒng)具有軟件開放性和硬件開放性,它能使人們自由地選擇CNC裝置、伺服驅(qū)動(dòng)器、傳感元件和執(zhí)行單元等部件。
一般地,開放式數(shù)控系統(tǒng)有以下特點(diǎn):
?。?)各種構(gòu)成要素邏輯上獨(dú)立。
?。?)提供一個(gè)標(biāo)準(zhǔn)和規(guī)范,確保不同生產(chǎn)廠商的符合規(guī)范的構(gòu)成要素能構(gòu)成一個(gè)完整的數(shù)控系統(tǒng)。
(3)數(shù)控系統(tǒng)的拓?fù)浣Y(jié)構(gòu)可動(dòng)態(tài)改變。
?。?)與其它系統(tǒng)或軟件模塊具有互操作性。
(5)提供良好一致的人機(jī)界面。
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展以及其標(biāo)準(zhǔn)化和開放性,出現(xiàn)了基于PC的開放式數(shù)控系統(tǒng)。
1 基于PC的開放式數(shù)控系統(tǒng)
基于PC的開放式數(shù)控系統(tǒng)能充分地利用計(jì)算機(jī)的軟硬件資源,可使用通用的高級(jí)語言方便地編制程序,用戶可將標(biāo)準(zhǔn)化的外設(shè)、應(yīng)用軟件進(jìn)行靈活地組合和使用。使用計(jì)算機(jī)同時(shí)也便于實(shí)現(xiàn)網(wǎng)絡(luò)化。
基于PC的開放式數(shù)控系統(tǒng)大致可分為以下幾種類型:
?。?)PC嵌入型CNC:該類型系統(tǒng)是將PC裝入到CNC內(nèi)部,PC與CNC之間用專用的總線連接。系統(tǒng)數(shù)據(jù)傳輸快,響應(yīng)迅速,同時(shí),原型CNC系統(tǒng)也可不加修改就得以利用。缺點(diǎn)是不能直接利用通用!",開放性受到限制,通用PC強(qiáng)大的功能和豐富的軟硬件資源不能得到有效的利用。
?。?)NC嵌入型PC(NC嵌入PC型):該類型系統(tǒng)是在通用PC的擴(kuò)展槽中插入專用的CNC卡(如運(yùn)動(dòng)控制卡)組成的。它能夠充分地保證系統(tǒng)性能,軟件的通用性強(qiáng),并且編程處理靈活,但是,原型CNC資源很難得到利用。
(3)全軟件型NC:該類型系統(tǒng)是指CNC的全部功能均由PC實(shí)現(xiàn),并通過裝在PC機(jī)上擴(kuò)展槽的伺服接口卡對(duì)伺服驅(qū)動(dòng)等進(jìn)行控制。其軟件的通用性好,編程處理靈活。但是,實(shí)時(shí)處理的實(shí)現(xiàn)比較困難,并較難保證系統(tǒng)的性能,同時(shí)原型CNC資源難以利用。
2 NC嵌入PC型開放式數(shù)控系統(tǒng)
下面討論NC嵌入PC的開放式數(shù)控系統(tǒng)的軟硬件平臺(tái),NC與PC間的通訊和系統(tǒng)應(yīng)用軟件的編制方法。
?。?)NC嵌入PC型開放式數(shù)控系統(tǒng)應(yīng)用平臺(tái)作為基于PC的開放式數(shù)控系統(tǒng),NC嵌入PC型開放式數(shù)控系統(tǒng)應(yīng)用平臺(tái)可理解為由開放式運(yùn)動(dòng)控制卡+PC機(jī)組成。開放式運(yùn)動(dòng)控制卡一般采用高速:7! 作為CPU,具有強(qiáng)大的運(yùn)動(dòng)控制和邏輯控制能力,并提供一組數(shù)控內(nèi)核$"% 供用戶開發(fā)所需的數(shù)控系統(tǒng)。"!機(jī)則通常采用工業(yè)計(jì)算機(jī),從而能充分利用其豐富的軟硬件資源。用戶可以選用許多流行的編程軟件,如Delphi、Visual C++、C++ Bulder等。這能大大地改善數(shù)控系統(tǒng)的用戶界面、圖形顯示、動(dòng)態(tài)仿真以及網(wǎng)絡(luò)通訊等功能。圖1給出了NC嵌入PC型開放式數(shù)控系統(tǒng)應(yīng)用平臺(tái)的典型結(jié)構(gòu)。
圖1NC嵌入PC型開放式數(shù)控系統(tǒng)應(yīng)用平臺(tái)典型結(jié)構(gòu)
?。?)NC與PC間的通訊
從圖1中可以看出,在這個(gè)數(shù)控系統(tǒng)平臺(tái)上進(jìn)行應(yīng)用開發(fā)時(shí),首先要解決的是NC和PC機(jī)之間的通訊問題。也就是說NC和PC間應(yīng)能夠快速和準(zhǔn)確地交換數(shù)據(jù)。它們之間的通訊可以由不同的通訊機(jī)制實(shí)現(xiàn),常用的方式有:總線通訊和雙口RAM通訊??偩€通訊采用ISA/PCI總線結(jié)構(gòu),開放式運(yùn)動(dòng)控制卡插入在PC機(jī)的總線擴(kuò)展槽中,使用相應(yīng)的控制寄存器和協(xié)議建立起PC機(jī)和NC之間的通訊,其可以使用查詢方式或中斷方式。雙口CPU通訊則是采用一種特殊的存儲(chǔ)器,該存儲(chǔ)器具有兩個(gè)端口,可以分別跟PC機(jī)和NC的CPU相連,兩個(gè)CPU可互不干擾地對(duì)其進(jìn)行讀寫操作,采用這種通訊方式能明顯提高數(shù)據(jù)交換速度。為了使通訊系統(tǒng)不依賴于具體的通訊機(jī)制,對(duì)上述的通訊方式進(jìn)行抽象,得出一致的應(yīng)用程序接口。確保用戶只需訪問該應(yīng)用程序接口而不必關(guān)心底層的通訊機(jī)制就能建立起所需的通訊。
?。?)應(yīng)用軟件的編制
開放式數(shù)控系統(tǒng)的顯著特征之一是系統(tǒng)的可擴(kuò)展性,因此在進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候,采用了模塊化的程序設(shè)計(jì)方法。這樣,將來若對(duì)系統(tǒng)某一功能的改進(jìn)則只需修改相應(yīng)的模塊而不必重寫整個(gè)系統(tǒng)軟件。
3 實(shí)例研究
本文開發(fā)了一個(gè)NC嵌入PC型的開放式數(shù)控系統(tǒng),用以取代G—CNC6135型數(shù)控車床原有的數(shù)控系統(tǒng)GSK928TA。GSK928TA是由Intel公司的8位單片機(jī)(8032)和16位單片機(jī)(80C196)組成的雙CPU系統(tǒng),該數(shù)控系統(tǒng)的通用性差,聯(lián)網(wǎng)通訊功能有限,僅能通過RS232口與微機(jī)進(jìn)行程序傳輸,軟件不對(duì)用戶開放,在原有的系統(tǒng)上進(jìn)行二次開發(fā)非常困難。
該實(shí)例的硬件平臺(tái)為:CPU板卡采用臺(tái)灣EVOC公司的IPC-586VDF(C),內(nèi)置顯卡,支持電子盤,處理器采用Intel Pentium &MMX 233,顯示器為宏基的FP450彩色液晶顯示器,可視面積大,抗干擾性強(qiáng)。運(yùn)動(dòng)控制卡選用臺(tái)灣ADLink公司的開放式運(yùn)動(dòng)控制卡PCI-8134,PCI-8134使用了兩塊專業(yè)集成電路PCL5023,每塊PCL5023控制兩個(gè)軸的運(yùn)動(dòng)。運(yùn)動(dòng)功能如線性加減速、S形加減速、兩軸插補(bǔ)、定位和回零都由PCL5023來硬件實(shí)現(xiàn),使得系統(tǒng)的實(shí)時(shí)性大大增強(qiáng)。由于復(fù)雜的運(yùn)動(dòng)控制由專用芯片實(shí)現(xiàn)了,PC的CPU就可用來執(zhí)行其他的監(jiān)控任務(wù)了。每塊PCI-8134可以同時(shí)控制四根軸的運(yùn)動(dòng),它插在PC機(jī)的PCI總線擴(kuò)展槽中。PCI-8134還提供了DOS和Windows下的函數(shù)庫,供開發(fā)應(yīng)用程序時(shí)調(diào)用。系統(tǒng)還使用了兩個(gè)全數(shù)字交流伺服驅(qū)動(dòng)器(DA98)和交流伺服電機(jī)。I/O接口板采用ADLink公司的64 路(32路輸入,32路輸出)隔離的數(shù)字DIO板PCI-7432。微機(jī)上的操作系統(tǒng)為Windows NT4.0,采用Visual C++6.0作為開發(fā)工具。
整個(gè)系統(tǒng)平臺(tái)的硬件結(jié)構(gòu)如圖6 所示。PCI-8134控制各個(gè)軸的運(yùn)動(dòng),PCI-7432控制機(jī)床的各種I/O量,同時(shí)處理控制面板的輸入,二者通過PCI總線與PC機(jī)進(jìn)行通訊。
圖2 系統(tǒng)硬件平臺(tái)
在系統(tǒng)設(shè)計(jì)的時(shí)候,考慮到將來的擴(kuò)展性,采用了模塊化的程序設(shè)計(jì)方法,將整個(gè)系統(tǒng)按功能劃分為以下五個(gè)模塊:
?。?)PLC模塊; ?。?)運(yùn)動(dòng)控制模塊; ?。?)顯示模塊; ?。?)屏幕操作模塊; ?。?)網(wǎng)絡(luò)通信模塊。
系統(tǒng)的軟件結(jié)構(gòu)如圖; 所示W(wǎng)indows NT4.0平臺(tái)是一個(gè)占先式多任務(wù)操作系統(tǒng),且支持多線程編程技術(shù),線程任務(wù)在競(jìng)爭(zhēng)中獲得CPU分配的時(shí)間片,線程的優(yōu)先級(jí)越高,得到CPU時(shí)間片的機(jī)會(huì)越大。Win2下線程的優(yōu)先級(jí)分成四種,共32級(jí),其中16-31級(jí)被稱為實(shí)時(shí)級(jí),是所有級(jí)別中最高的,專門為必須對(duì)事件做出迅速響應(yīng)的線程服務(wù)??梢园褜?shí)時(shí)控制進(jìn)程按操作的關(guān)聯(lián)程度和輕重緩急分解成若干個(gè)線程。例如,一個(gè)線程響應(yīng)各種參數(shù)設(shè)定,另一個(gè)線程更新過程狀態(tài)顯示,而實(shí)時(shí)采集和控制輸出放在第三個(gè)線程中,并將該設(shè)置在實(shí)時(shí)級(jí)。緊急控制線程要求系統(tǒng)不論在什么情況下都應(yīng)立即響應(yīng),所以它的優(yōu)先級(jí)應(yīng)該設(shè)定為最高。
圖3 數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖
(1)PLC模塊
PLC模塊用來處理各種輸入輸出I/O量。在系統(tǒng)中的輸入量有鍵盤輸入、機(jī)床零點(diǎn)輸入、限位輸入、減速輸入和刀位輸入。輸出量有換刀電機(jī)控制、功放、潤(rùn)滑、冷卻、主軸正轉(zhuǎn)、主軸反轉(zhuǎn)和主軸停止。在程序中,PLC模塊作為一個(gè)線程,在系統(tǒng)啟動(dòng)的同時(shí),啟動(dòng)PLC線程。
(2)運(yùn)動(dòng)控制模塊
運(yùn)動(dòng)控制模塊是用來控制刀具實(shí)現(xiàn)各種運(yùn)動(dòng)的。模塊有連續(xù)移動(dòng)、步進(jìn)移動(dòng)、直線插補(bǔ)運(yùn)動(dòng)、圓弧插補(bǔ)運(yùn)動(dòng)和回零點(diǎn)運(yùn)動(dòng)組成,且在運(yùn)動(dòng)中實(shí)現(xiàn)速度可調(diào)。PCI-8134, 運(yùn)動(dòng)控制卡的函數(shù)庫提供了豐富的運(yùn)動(dòng)-#&函數(shù)。
在系統(tǒng)中,PCI-8134, 發(fā)送脈沖給交流伺服控制器,由交流伺服控制器控制交流電機(jī)從而帶動(dòng)刀具移動(dòng)。
當(dāng)有運(yùn)動(dòng)命令到來時(shí),系統(tǒng)啟動(dòng)一個(gè)運(yùn)動(dòng)線程。
(3)顯示模塊
數(shù)控系統(tǒng)的各種信息需要通過顯示器及時(shí)地反饋給操作者,便于操作者對(duì)整個(gè)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行監(jiān)視,因此需要單獨(dú)建立一個(gè)模塊來負(fù)責(zé)處理數(shù)控系統(tǒng)各種信息的顯示。
?。?)屏幕操作模塊
屏幕操作模塊由參數(shù)設(shè)置、直線插補(bǔ)設(shè)置、換刀控制和自動(dòng)控制組成。
?。?)通訊模塊
通訊模塊可以用來向監(jiān)控中心傳送信息或者通過服務(wù)器實(shí)現(xiàn)遠(yuǎn)程制造。
實(shí)踐表明:以PC機(jī)為基礎(chǔ)的由上述軟硬件平臺(tái)構(gòu)成的CNC系統(tǒng)取代原有的數(shù)控系統(tǒng)GSK928TA,不僅完成了原來的各項(xiàng)功能,而且在實(shí)時(shí)性、用戶界面、二次開發(fā)和聯(lián)網(wǎng)通訊等方面都有顯著的提高。
4 結(jié)束語
開放式數(shù)控系統(tǒng)是數(shù)控技術(shù)發(fā)展的必然趨勢(shì),其給數(shù)控系統(tǒng)生產(chǎn)商、機(jī)床制造商以及用戶都帶來了許多好處。而基于PC的開放式數(shù)控系統(tǒng)具有較強(qiáng)靈活性,可以充分利用PC機(jī)豐富的軟硬件資源和強(qiáng)大的技術(shù)優(yōu)勢(shì),有利于更完美地實(shí)現(xiàn)數(shù)控系統(tǒng)的用戶界面、圖形顯示、動(dòng)態(tài)仿真以及網(wǎng)絡(luò)通訊等功能。模塊化的程序設(shè)計(jì)使系統(tǒng)的通用性和可移植性大大增強(qiáng),同時(shí)也有利于系統(tǒng)日后的功能擴(kuò)展。
(審核編輯: 智匯張瑜)
分享