摘 要:提出了一種以PMAC運(yùn)動(dòng)控制器為控制系統(tǒng)核心,工業(yè)控制機(jī)為系統(tǒng)支撐單元的雙CPU開(kāi)放式數(shù)控系統(tǒng),敘述了系統(tǒng)的功能,并介紹了硬件和軟件方法。實(shí)踐證明,基于PMAC的數(shù)控系統(tǒng)完全可以實(shí)現(xiàn)人機(jī)接口的定制和實(shí)時(shí)控制部件的參數(shù)化。
關(guān)鍵詞: PMAC; 雙CPU; 數(shù)控系統(tǒng); 壁板銑床
模塊化開(kāi)放式數(shù)控系統(tǒng)是當(dāng)今數(shù)控技術(shù)的發(fā)展方向。多CPU開(kāi)放式數(shù)控系統(tǒng)實(shí)現(xiàn)的最主要途徑是數(shù)控系統(tǒng)的PC化,PC化有三種途徑:1)在PC機(jī)上增加數(shù)控模塊;2)在數(shù)控系統(tǒng)上增加PC模塊;3)以軟盤文件的形式來(lái)管理數(shù)控程序,而把CNC模塊插入PC機(jī)中是PC化的一種主要方式,PMAC(Programmable Muhiple Axes Controller)運(yùn)動(dòng)控制器就是這樣的一個(gè)數(shù)控模塊。本文提出的以PMAC運(yùn)動(dòng)控制器作為CNC模塊.工業(yè)控制機(jī)為系統(tǒng)支撐單元的雙cPu數(shù)控系統(tǒng)可以進(jìn)行人機(jī)接口和非實(shí)時(shí)控制部件的定制和參數(shù)化及實(shí)時(shí)控制部件的參數(shù)化,實(shí)現(xiàn)了具有兩個(gè)級(jí)別的開(kāi)放度。該數(shù)控系統(tǒng)已應(yīng)用于SKB2320A壁板銑床數(shù)控系統(tǒng)的開(kāi)發(fā)上.并取得了良好的效果。
[b]1 硬件結(jié)構(gòu)
1.1 PMAC介紹[/b]
可編程多軸控制器PMAC是美國(guó)DeltaTau公司的產(chǎn)品。PMAC運(yùn)動(dòng)控制器是一個(gè)擁有高性能伺服運(yùn)動(dòng)的控制器,它借助于Motorola的I)SP560叭/56002數(shù)字信號(hào)處理器,可以同時(shí)操縱1~8個(gè)軸。它能夠單獨(dú)執(zhí)行存儲(chǔ)于其內(nèi)部的程序,也可執(zhí)行運(yùn)動(dòng)程序和PLC程序,并可進(jìn)行伺服環(huán)更新及以串口、總線兩種方式與上位機(jī)進(jìn)行通訊PMAC還可以自動(dòng)對(duì)任務(wù)優(yōu)先等級(jí)進(jìn)行判別.從而進(jìn)行實(shí)時(shí)的多任務(wù)處理,這一功能使得它在處理時(shí)間和任務(wù)切換這兩方面大大減輕主機(jī)和編程器的負(fù)擔(dān),提高了整個(gè)控制系統(tǒng)的運(yùn)行速度和控制精度。
1 .2 數(shù)控系統(tǒng)硬件結(jié)構(gòu)及工作原理
壁板銑床數(shù)控系統(tǒng)在工業(yè)控制機(jī)(IPC)平臺(tái)基礎(chǔ)上,采用PMAC多軸運(yùn)動(dòng)控制器和雙端口存儲(chǔ)器(I)PRAM),從而構(gòu)成該數(shù)控系統(tǒng)的控制中心。工控機(jī)上的CPU與PMAC的CPU(DSP56001)構(gòu)成主從式雙微處理器結(jié)構(gòu),兩個(gè)CPU各自實(shí)現(xiàn)相應(yīng)的功能,其中PMAC主要完成機(jī)床三軸的運(yùn)動(dòng)、控制面板開(kāi)關(guān)量的控制.工控機(jī)則主要實(shí)現(xiàn)系統(tǒng)的管理功能。為了實(shí)現(xiàn)PMAC多軸運(yùn)動(dòng)控制的功能.還需在PMAC板上擴(kuò)展相應(yīng)的I/O板、伺服驅(qū)動(dòng)單元、伺服電機(jī)、編碼器等,最終形成一個(gè)完整的數(shù)控系統(tǒng)。
控制系統(tǒng)硬件由主頻為233 MHz的工業(yè)控制機(jī)、PMAC—Lite1.5運(yùn)動(dòng)控制器、I/O板、雙端口RAM(I)PRAM)、伺服單元及交流伺服電機(jī)等組成。數(shù)控系統(tǒng)結(jié)構(gòu)原理圖如圖1所示。

1)PMAc運(yùn)動(dòng)控制器與主機(jī)之間的通訊采用了兩種方式。一種是總線通訊方式,另一種是利用DPRAM 進(jìn)行數(shù)據(jù)通信,主機(jī)與PMAC運(yùn)動(dòng)控制器主要通過(guò)PC總線通訊,至于控制卡和電機(jī)的狀態(tài)、電機(jī)位置、速度、跟隨誤差等效據(jù)貝9通過(guò)DPRAM交換信息。總線通訊方式是指主機(jī)到指定的地址上去尋找PMAC運(yùn)動(dòng)控制器,其中指定的地址是由PMAC的跳線確定。雙端口RAM主要是用來(lái)與PMAC進(jìn)行快速的數(shù)據(jù)通訊和命令通訊。一方面,雙端口RAM 在用于向PMAC寫數(shù)據(jù)時(shí),在實(shí)時(shí)狀態(tài)下能夠快速地將位置數(shù)據(jù)信息或程序信息進(jìn)行重復(fù)下載;另一方面,雙端口RAM在用于從PMAC中讀取數(shù)據(jù)時(shí),可以快速地重復(fù)地獲取系統(tǒng)的狀態(tài)信息。譬如.交流伺服電機(jī)的狀態(tài)、位置、速度、跟隨誤差等數(shù)據(jù)可以不停被更新。并且能夠被PLC或被PMAC自動(dòng)地寫入DPRAM。如果系統(tǒng)中不使用DPRAM.這些數(shù)據(jù)必須用PMAc的在線命令(P、V等)通過(guò)PC總線來(lái)進(jìn)行數(shù)據(jù)的存取。由于通過(guò)DPRAM進(jìn)行的數(shù)據(jù)存取不需要經(jīng)過(guò)通訊口發(fā)送命令和等待響應(yīng),所以所需的時(shí)間要少得多,因此響應(yīng)的速度就快得多。該數(shù)控系統(tǒng)利用DPRAM進(jìn)行數(shù)據(jù)的自動(dòng)存取,提高了系統(tǒng)的響應(yīng)速度和加工精度,同時(shí)也方便了控制系統(tǒng)中各模塊之間的快速通訊和地址表的設(shè)定.降低了編程難度。
2)PMAC系統(tǒng)的內(nèi)置PLC功能是經(jīng)智能
I/0接口的輸入輸出實(shí)現(xiàn)的。在控制系統(tǒng)中。
進(jìn)入PIC的輸入信號(hào)主要有:操作面板和機(jī)床上的控制梭鈕、選擇開(kāi)關(guān)等信號(hào),各軸的行程開(kāi)關(guān)、機(jī)械零點(diǎn)開(kāi)關(guān)等信號(hào).機(jī)床電器動(dòng)作、限位、報(bào)警等信號(hào),強(qiáng)電柜中接觸器、氣動(dòng)開(kāi)關(guān)接觸等信號(hào),各伺服模塊工作狀態(tài)信號(hào)等 這些信號(hào)是通過(guò)光電隔離以后送到智能I/0接口上,光電隔離有效地將計(jì)算機(jī)數(shù)字量通道與外部過(guò)程模擬量通道隔離起來(lái),大大地減小了外部因素的干擾,提高了整機(jī)系統(tǒng)的可靠性和穩(wěn)定性。PIC輸出的信號(hào)主要有:指示燈信號(hào),控制繼電器、接觸器、電磁閥等動(dòng)作信號(hào),伺服模塊的驅(qū)動(dòng)使能和速度使能信號(hào)等。這些信號(hào)經(jīng)I/0接口迭到相應(yīng)的繼電器上.最終控制相應(yīng)的電器。
2 軟件設(shè)計(jì)
該數(shù)控系統(tǒng)軟件分為PMAC實(shí)時(shí)控制軟件和系統(tǒng)管理軟件兩部分。實(shí)時(shí)控制軟件的設(shè)計(jì)充分考慮了軟件的開(kāi)放性,用戶可以根據(jù)某些具體要求增加軟件的功能模塊。實(shí)時(shí)控制軟件主要包括插補(bǔ)模塊、伺服驅(qū)動(dòng)模塊、PLC監(jiān)控模塊、加工程序解釋模塊、數(shù)據(jù)采集及數(shù)字化加工模塊等。實(shí)時(shí)控制軟件功能模塊圖如圖2所示。

插補(bǔ)模塊包括直線插補(bǔ)、圓弧插補(bǔ)及樣條插補(bǔ)等。PMAC還提供了PvT(位置一速度一時(shí)同)運(yùn)動(dòng)模式,該模式可以對(duì)軌跡圖形進(jìn)行直接地緊湊地控制。用戶可以對(duì)以上幾種模式加以選擇和組合。
伺服驅(qū)動(dòng)模塊可以選擇PID位置環(huán)伺服濾波器、陷波濾波器或擴(kuò)展濾披器.并設(shè)置其控制參數(shù)。用戶也可以定制自己的伺服算法,實(shí)現(xiàn)個(gè)性化的伺服控制。
PLC監(jiān)控模塊主要包括看門狗PLC、上電PI C、主PLC、指示燈管理PI C及下電PI,C看門狗PI C在PMAC上電后立即被啟動(dòng),它通過(guò)不斷讀DPRAM中某地址單元的計(jì)數(shù)值來(lái)判斷主機(jī)是否進(jìn)入CNC系統(tǒng)。當(dāng)相鄰兩次讀得的差值大于某個(gè)數(shù)時(shí)它便啟動(dòng)上電PI C,對(duì)整個(gè)數(shù)控系統(tǒng)上電;當(dāng)它讀得的差值小于某個(gè)數(shù)時(shí)它便啟動(dòng)下電PLC,關(guān)閉整個(gè)數(shù)控系統(tǒng)。
主PLC用來(lái)完成對(duì)控制面板及機(jī)床輸入、輸出進(jìn)行監(jiān)控的任務(wù),它主要包括手動(dòng)、自動(dòng)功能的實(shí)現(xiàn)、主軸運(yùn)動(dòng)的控制等操作。PDC程序編制首先需要將I/O 口與DPRAM地址做鏡像,PLC只需對(duì)DPRAM 的某些單元進(jìn)行操作。就可以操作I,O 口。如:

這樣便定義了DPRAM 中未被使用的地址,從而實(shí)現(xiàn)了用戶自定義的通訊功能,如:系統(tǒng)的自動(dòng)手動(dòng)方式、主軸的正反轉(zhuǎn)等命令、狀態(tài)信息,進(jìn)給倍率、主軸轉(zhuǎn)速等數(shù)值信息。加工程序解釋模塊由G代碼解釋程序、M代碼解釋程序和T代碼解釋程序組成。這些解釋程序在PEWIN執(zhí)行程序下編輯和調(diào)試,并下載到PMAC的固定內(nèi)存中,在實(shí)際加工時(shí)被PMAC自動(dòng)調(diào)用。另外。伺服中斷時(shí)間、電機(jī)相位等參數(shù)由PEWIN執(zhí)行程序來(lái)設(shè)置,從而實(shí)現(xiàn)了實(shí)時(shí)控制部件的參數(shù)化。數(shù)字化模塊根據(jù)三維仿形儀的反饋信息,采用專門的控制算法,實(shí)現(xiàn)工件的跟蹤掃描,并完成工件表面的數(shù)據(jù)采集。系統(tǒng)管理軟件主要實(shí)現(xiàn)初始化、參數(shù)輸入及加工程序編輯、系統(tǒng)管理和雙CPU通訊等功能。其功能模塊圖如圖3所示。
在系統(tǒng)管理軟件中,雙CPU通訊程序的開(kāi)發(fā)工作量大,也很具有技巧性。本數(shù)控系統(tǒng)的上位機(jī)和下位機(jī)通訊程序是利用Delta Tau公司提供的Pcomm32動(dòng)態(tài)連接庫(kù)和PTALKDT控件編制的。Pc~nm32囊括了同PMAC通訊的所有方式,而且將其主要函數(shù)進(jìn)行分類、封裝,最終形成AetiveX控件— —P1 I KDT。所編制的通訊程序?qū)崿F(xiàn)了加工程序、PLC程序及運(yùn)動(dòng)程序的下載,上位機(jī)對(duì)PMAC的指令傳輸及PMAC對(duì)上位機(jī)的狀態(tài)反饋諸通訊功能。系統(tǒng)配置、數(shù)控程序編輯、加工控制、故障診斷及參數(shù)轄入等人機(jī)界面采用Visual Basic語(yǔ)言進(jìn)行編制,利用了Windows豐富的GUI函數(shù)及32位的處理能力來(lái)實(shí)現(xiàn)友好的人機(jī)界面。
3 結(jié) 論
該數(shù)控系統(tǒng)以通用工業(yè)控制機(jī)為基礎(chǔ),采用功能強(qiáng)大的運(yùn)動(dòng)控制器PMAC承擔(dān)插補(bǔ)計(jì)算、位置控制、速度控制等實(shí)時(shí)任務(wù)。實(shí)踐證明,以工控機(jī)為系統(tǒng)支撐單元、PMAC為控制系統(tǒng)核心的數(shù)控系統(tǒng)完全可以實(shí)現(xiàn)兩個(gè)級(jí)別的開(kāi)放度:
1)人機(jī)接口和非實(shí)時(shí)控鑭部件的定制及參數(shù)化。這個(gè)級(jí)別的開(kāi)放使得數(shù)控系統(tǒng)具有比專有系統(tǒng)更好的人機(jī)交互能力和上層應(yīng)用系統(tǒng)集成能力。
2)實(shí)時(shí)控制部件的定制與參數(shù)化。這個(gè)級(jí)別的開(kāi)放使生產(chǎn)廠家和用戶對(duì)系統(tǒng)功能進(jìn)行定制與參數(shù)調(diào)節(jié),使系統(tǒng)具有更好的適應(yīng)性。
基于PMAC的開(kāi)放式數(shù)控系統(tǒng)的研究和開(kāi)發(fā):PDF