五軸聯(lián)動數(shù)控系統(tǒng)聯(lián)動軸數(shù)比較多,同時又涉及到兩個回轉(zhuǎn)運動,插補算法復(fù)雜,而且其各組成部分,如伺服驅(qū)動單元、位置反饋單元、誤差補償、電氣控制、機(jī)床機(jī)械結(jié)構(gòu)等在不同的應(yīng)用場合有不同的特點,在系統(tǒng)整體設(shè)計時對此應(yīng)有充分的考慮。目前,多數(shù)數(shù)控系統(tǒng)不能滿足這種多樣性的需要,對不同的應(yīng)用場合,就得選用不同型號的數(shù)控系統(tǒng),這勢必增加開發(fā)與維護(hù)費用。研究開放式數(shù)控系統(tǒng)及其功能部件,就可以根據(jù)用戶需要,比較容易地對整個數(shù)控系統(tǒng)進(jìn)行重新組合,以提高系統(tǒng)的可移植性、可伸縮性、可維護(hù)性和兼容性。
傳統(tǒng)數(shù)控系統(tǒng)的硬件設(shè)計分為兩個流派:采用專用芯片的大板結(jié)構(gòu)與總線式體系結(jié)構(gòu)。大板結(jié)構(gòu)對用戶而言是一個封閉的系統(tǒng),功能的擴(kuò)展與系統(tǒng)維護(hù)都受到限制??偩€式結(jié)構(gòu)有一定的靈活性,但由于這種總線由生產(chǎn)廠自己確定,缺乏共同的行業(yè)標(biāo)準(zhǔn),不同廠商的產(chǎn)品之間不具備互換性,所以,這種設(shè)計方法已不適應(yīng)現(xiàn)代制造業(yè)的需要。另一方面,隨著計算機(jī)技術(shù)的發(fā)展,微機(jī)的速度與十幾年前相比是天壤之別。在這種形勢下的軟硬件設(shè)計中,人們關(guān)注的重點出現(xiàn)了由效率向互換性、可維護(hù)性轉(zhuǎn)移。受其影響,在數(shù)控系統(tǒng)的設(shè)計進(jìn)程中,由大板結(jié)構(gòu)或?qū)S每偩€向標(biāo)準(zhǔn)總線、可重組的單元模塊發(fā)展成為國際趨勢。
硬件設(shè)計的開放化主要體現(xiàn)在總線標(biāo)準(zhǔn)上。開放化的數(shù)控系統(tǒng)是由多種模塊構(gòu)成的,模塊通過標(biāo)準(zhǔn)的總線連成一個整體??偩€的選擇應(yīng)當(dāng)滿足三個要求:
①在技術(shù)上有一定的先進(jìn)性,能夠滿足數(shù)控系統(tǒng)各種功能模塊對信息交互的需要。
②總線標(biāo)準(zhǔn)完全開放,且在國際上得到廣泛認(rèn)可與應(yīng)用,而不是由某個廠商自己定義使用的某種特殊總線標(biāo)準(zhǔn)。
③具有高度的可靠性。
選擇了合適的總線標(biāo)準(zhǔn)后,才能進(jìn)行各功能模塊的設(shè)計。在數(shù)控系統(tǒng)中,主要的功能模塊有:運動軸位置控制模塊、電氣控制模塊、機(jī)床操作面板及數(shù)控面板接口模塊、通訊模塊、顯示模塊等。功能模塊應(yīng)當(dāng)能夠重新配置,以免不同模塊I/O端口地址及中斷類型發(fā)生沖突。
在五軸聯(lián)動數(shù)控系統(tǒng)開發(fā)過程中,我們選擇工控機(jī)作為設(shè)計的基礎(chǔ)。工控機(jī)本身符合多種工業(yè)標(biāo)準(zhǔn),是一種開放化的計算機(jī)系統(tǒng),與常用的微機(jī)有良好的兼容性,有大量的軟硬件的支持。目前工控機(jī)底板插槽總線類型主要有兩種:ISA總線(工業(yè)標(biāo)準(zhǔn)總線)和PCI總線(外圍設(shè)備接口)。ISA總線的數(shù)據(jù)傳輸速率比較低,但已能滿足數(shù)控系統(tǒng)的需要。同時,高總線速率會對各功能模塊的硬件提出更高的要求。
由于五軸聯(lián)動插補算法復(fù)雜,有大量浮點運算,對實時性要求又較高,我們選用Pentium 166 CPU完成插補運算。另外,系統(tǒng)中各個坐標(biāo)軸還需具備位置控制功能,位置控制實時性很強,且控制軸數(shù)比較多,該任務(wù)與插補共用一個CPU會導(dǎo)致數(shù)控系統(tǒng)主機(jī)負(fù)擔(dān)太重,實時性不易保證,而且故障風(fēng)險過于集中,較好做法是每根軸采用一個獨立的CPU進(jìn)行控制,采用層次式體系結(jié)構(gòu)構(gòu)成系統(tǒng)。根據(jù)位置控制CPU與主機(jī)交互信息方法的不同,分為兩種結(jié)構(gòu)。第一種結(jié)構(gòu)把位置控制板直接插到工控機(jī)底板的ISA插槽中,在這種情況下,主機(jī)與多個位控板之間直接進(jìn)行信息傳輸,由于位控板CPU速度低,數(shù)據(jù)通訊階段會浪費主機(jī)CPU資源,控制軸數(shù)越多,主機(jī)CPU的效率就越低。此外,主機(jī)還需采取措施來保證多個位控板在時間上的準(zhǔn)確同步。因此,我們選擇了第二種結(jié)構(gòu)。第二種結(jié)構(gòu)采用單獨的通訊機(jī)完成主機(jī)與位控板之間的信息傳遞。通訊機(jī)一方面通過雙口存儲器與主機(jī)之間進(jìn)行信息交換,另一方面通過自建的局部總線與位控板進(jìn)行信息交換。雙口存儲器容量為2kb,它同時也起數(shù)據(jù)緩沖器的作用。這種方案大大減少了主機(jī)用于信息交換的CPU時間。
開放化數(shù)控系統(tǒng)的軟件設(shè)計首先需要選擇合適的操作系統(tǒng)和軟件開發(fā)工具。目前常用的操作系統(tǒng)如DOS、Windows 3.1、Windows 95、Windows NT等均被應(yīng)用到數(shù)控系統(tǒng)中。DOS本質(zhì)上是一種單任務(wù)操作系統(tǒng),在DOS下的多任務(wù)只能通過中斷技術(shù)來實現(xiàn)。數(shù)控系統(tǒng)各軟件功能模塊一般不能同時執(zhí)行,若要同時執(zhí)行,需自行解決模塊之間的調(diào)度問題。但DOS的規(guī)模很小,人們對DOS的了解比較多,在DOS上開發(fā)應(yīng)用程度相對容易。Windows 3.1是一種非搶先多任務(wù)操作系統(tǒng),可同時完成多個任務(wù)。其缺點在于某個任務(wù),如任務(wù)A得到CPU資源時,其它任務(wù)是否能順利執(zhí)行完成取決于A是否能及時處理完其本次事件,因此實時性沒有保證。Windows 95和Windows NT都是性能優(yōu)異的搶先式32位多任務(wù)操作系統(tǒng),操作介面良好,就功能而言,適合數(shù)控系統(tǒng)的需要。但在工業(yè)場合使用,其穩(wěn)定性有待證實。
軟件設(shè)計工作分為三個部分:主機(jī)軟件、通訊機(jī)軟件和位置控制卡軟件。制訂完善的通訊協(xié)議是其首要問題。為了保證可靠傳輸數(shù)據(jù),通訊機(jī)構(gòu)件采用分時處理的方法分別完成與主機(jī)及位控卡的信息傳輸。時間片的劃分及三部分之間的同步關(guān)系由通訊機(jī)進(jìn)行控制。第一時間片開始時,通訊機(jī)向主機(jī)及位控卡發(fā)出同步信號,通知主機(jī)向雙口RAM中寫入新的數(shù)據(jù),同時使位控卡開始位置控制運算。第二個時間片內(nèi),通訊機(jī)從雙口RAM中取出位置指令,分發(fā)給各個位控卡,同時從各位控卡采集實際位置數(shù)據(jù),寫入雙口RAM。主機(jī)軟件主要由NC程序編輯模塊、手動操作、電氣控制模塊、通訊模塊、自動加工、機(jī)床參數(shù)調(diào)整、系統(tǒng)定位、螺矩補償?shù)裙δ苣K構(gòu)成。
電氣控制是所有機(jī)床必不可少的一部分。在數(shù)控機(jī)床中,其實現(xiàn)方法有三種:外裝式PLC、嵌入式PLC和虛擬PLC。市場上現(xiàn)有的各種PLC一般具有通訊功能,可以通過通訊接口與數(shù)控系統(tǒng)構(gòu)成一個整體,這種電氣控制方式稱為外裝式PLC;此外,也可以設(shè)計一個智能型I/O接口卡,通過總線直接與數(shù)控系統(tǒng)構(gòu)成一體,卡上帶有CPU,完成開關(guān)邏輯運算與控制,這種方式為嵌入式實現(xiàn)。也可以直接利用數(shù)控系統(tǒng)主機(jī)CPU周期性地進(jìn)行邏輯運算,配合普通的開關(guān)量 I/O卡實現(xiàn)對電氣開關(guān)的控制,這種方式稱為虛擬PLC。
如果采用常規(guī)的程序設(shè)計方法,對于以上三種電氣控制方式,就得設(shè)計不同的軟件接口,數(shù)控系統(tǒng)軟件主體就會直接涉及到電氣控制的實現(xiàn)方式及其細(xì)節(jié),一旦控制方式發(fā)生變化,將不得不對軟件進(jìn)行大量修改。這樣編寫出的軟件通用性較差,難以適應(yīng)預(yù)料之外的變化。為了增加軟件與硬件之間的相互獨立性,我們運用面向?qū)ο蠹夹g(shù)對系統(tǒng)進(jìn)行了開放化設(shè)計。在抽象類CPlc的基礎(chǔ)上,針對三種方式分別定義了派生類CExernalPlc、CEmbedPlc和CVirtualPlc,在這些類中,完成消息的解釋及硬件的操作。
從MIT開發(fā)出第一臺三軸銑床數(shù)控系統(tǒng)到現(xiàn)在的四十多年中,數(shù)控系統(tǒng)的設(shè)計方法經(jīng)歷了巨大的變化。特別是近十年來,隨著計算機(jī)技術(shù)的迅猛發(fā)展,數(shù)控系統(tǒng)從整體結(jié)構(gòu)到詳細(xì)設(shè)計,從軟件設(shè)計到硬件設(shè)計,都與早期的數(shù)控系統(tǒng)有了很大不同。早期的數(shù)控系統(tǒng)出于效率的考慮,許多功能采用硬件電路實現(xiàn),專用性很強,可維護(hù)性、可擴(kuò)展性比較差。另一方面,通用計算機(jī)的運算速度隨時間以指數(shù)規(guī)律不斷提高,現(xiàn)在一臺微機(jī)的運算能力已經(jīng)達(dá)到或超過了早期的小型機(jī),而且,通用型微機(jī)應(yīng)用廣泛,有完善和開放的標(biāo)準(zhǔn),有眾多外圍硬件設(shè)備和豐富的軟件資源的支持。借助微機(jī)進(jìn)行數(shù)控系統(tǒng)的開發(fā)可以達(dá)到事半功倍的效果,因此成為目前數(shù)控領(lǐng)域的國際趨勢。