基于PMAC的數(shù)控系統(tǒng)軟件開發(fā)研究
當前,開放型、模塊化和集成化已成為數(shù)控技術發(fā)展的趨勢。 為此,世界各國都在抓緊研究制訂開放式高性能數(shù)控系統(tǒng)平臺的標準及其規(guī)范,并進行相關產(chǎn)品的開發(fā),如美國的NGC、OMAC項目、歐洲的OSACA計劃及日本的OSEC計劃等。 與此同時,世界上各大數(shù)控生產(chǎn)廠商也紛紛推出了基于開放式、模塊化和集成化的高性能數(shù)控系統(tǒng)。
本文引用地址:http://cafeforensic.com/article/201612/328851.htm關于開放式數(shù)控系統(tǒng)的特征通常認為其包括硬件系統(tǒng)的開放性和軟件系統(tǒng)的開放性,開放的硬件系統(tǒng)由微型機及模塊化的速度控制單元、位置控制單元和內置的PC構成;開放的軟件系統(tǒng)是指數(shù)控軟件系統(tǒng)的設計模塊化及模塊間的接口標準化。 目前,開放式數(shù)控系統(tǒng)有;種實現(xiàn)途徑: 一是PC機f數(shù)控專用模板;二是PC機+可編程運動控制器;三是純PC機型。
這種基于開放式可編程運動控制器的系統(tǒng)結構以通用微機為平臺,以PC機標準插件形式的開放式可編程運動控制器為核心。 通用PC機負責如數(shù)控程序編輯、人機界面管理等功能,運動控制器負責機床的運動控制和邏輯控制。 這種運動控制器以運動子程序的方式解釋執(zhí)行數(shù)控程序,以PC子程序方式實現(xiàn)機床邏輯控制,支持用戶的開發(fā)和擴展,具有上、下兩級的開放性。 美國Delta Tau公司的PMAC是這種運動控制器的典型代表,其擁有自身的CPU,同時開放包括通信端口、存儲結構在內的大部分地址空間,具有靈活性好、功能穩(wěn)定、可共享計算機所有資源等特點。 雖然國內外許多學者在基于PMAC運動控制器的開放式數(shù)控系統(tǒng)方面作了大量的研究工作,但都還處于研究階段,用于生產(chǎn)或產(chǎn)品化還基本沒有實現(xiàn)。
1 基于PMAC數(shù)控系統(tǒng)的軟件設計
1.1 BPMAC軟件的開放性
(1)支持各種高級語言,用戶可以使用:VB、VC、Delphi等在Windows件平臺上定制用戶專用界面。
(2)在數(shù)控語言上對用戶開放,不僅支持用戶直接調用現(xiàn)有的直線、圓弧、樣條曲線的插補指令!而且還允許用戶自定義G代碼、M代碼、D代碼、S代碼,實現(xiàn)以往數(shù)控語言所不能完成的功能。
?。?)提供內裝式軟件化的PLC,可以編制64個異步PC程序,通過一些指針變量,用戶可以按位"按字節(jié)進行邏輯控制。
?。?)可共享PC微機豐富的各類支撐軟件和工具軟件,方便地與各類網(wǎng)絡連接,與(’2a(’&系統(tǒng)連接,便于遠程診斷、網(wǎng)絡制造和制造系統(tǒng)集成控制的實現(xiàn)。
1.2 系統(tǒng)軟件結構
通過CNC系統(tǒng)應用程序編程接口,開發(fā)CNC系統(tǒng)的用戶界面可以選用各種能夠調用Windows動態(tài)鏈接庫的編程語言,如VB、VC、Delphi等,分別編制不同任務的前端用戶界面程序,具有很大的靈活性和開放性。 軟件開發(fā)人員通過CNC系統(tǒng)應用程序接口的統(tǒng)一支持,可以方便地構造CNC系統(tǒng)的應用軟件!即構造前端用戶操作界面。 Delta Tau公司提供了Pcimm32應用程序通訊驅動器,它包括了同PMAC通訊的各種方式,而且將其主要函數(shù)進行分類、封裝,形成一種可根據(jù)用戶需要而調用的動態(tài)鏈接庫。通過這些函數(shù)可以完成PMAC與PC機之間的通訊功能,用戶不用直接對端口進行操作就可以完成對PMAC硬件的操作,并且程序設計靈活、迅速及可移植性好。 如OpenPmacDeve()函數(shù)用于與某一個PMAC設備建立通訊關系;PmacGetResponse()函數(shù)用于給PMAC發(fā)送指令并返回執(zhí)行結果,等等。 系統(tǒng)軟件結構如圖1所示。
圖1 系統(tǒng)軟件結構
2 舉例
在硬件系統(tǒng)方面,設計了一套基于PMAC運動控制器的五軸數(shù)控系統(tǒng)試驗平臺,其中;個移動分別由步進電機直接驅動,光柵尺和編碼器反饋,兩個轉動分別由步進電機經(jīng)蝸輪蝸桿副減速傳動,編碼器反饋。 運動控制器采用PMAC-PC104八軸卡,上位機采用工控機(IPC),采用RS232串口通訊。 數(shù)控系統(tǒng)軟件是在Windows 2000操作系統(tǒng)下,以Vsual Basic6.0為開發(fā)工具,采用面向對象的編程方法,充分利用PMAC的動態(tài)鏈接庫中的函數(shù),實現(xiàn)了數(shù)控系統(tǒng)的基本功能。 系統(tǒng)軟件主界面如圖2所示,其功能樹如圖3所示。 具體實現(xiàn)的功能包括’ 人機接口界面"系統(tǒng)初始化、坐標軸選擇、手動控制、坐標位置實時顯示、速度控制及G代碼的編輯、下載等。
圖2 數(shù)控系統(tǒng)軟件主界面
圖3人機界面功能樹
2.1 系統(tǒng)初始化
系統(tǒng)的初始化在系統(tǒng)軟件運行過程中完成,主要進行PMAC的選擇和參數(shù)預置等功能。 初始化代碼如下。
2.2 手動控制
手動控制有軸選擇、各軸的點動進給、精確定位、回零點和電機速度控制等功能。 軸選擇通過一組單選按鈕OptionButton控件實現(xiàn),使用Case語句觸發(fā)各選擇,保證每次只能選擇一個軸,同時在手動控制框下也可以選擇,利用ListBox實
現(xiàn),二者是同步的,實現(xiàn)相同功能。 精確定位是通過在坐標輸入文本框中輸入坐標值,控制各軸電機運動的距離為給定坐標值,同時利用反饋來比較,保證定位的精度。 速度控制是通過改變PMAC的I變量來實現(xiàn)的。 所有手動功能都是通過API函數(shù)PmacGetResponeA來實現(xiàn),通過改變string給PMAC發(fā)送不同的指令。 其中軸選擇的string為“#n”,點動的string為“#j+”或“#j-”,精確定位的string為“#nm172->L”兩條語句來實現(xiàn)。
2.3 坐標位置實時顯示
這里利用了提t(yī)imer定時器控件,系統(tǒng)的狀態(tài)以及各種參數(shù)變量都存儲在PMAC內存中,分別用M變量去指向各狀態(tài)的地址,可通過操作M變量進行狀態(tài)的讀取和參數(shù)的寫入以及完成I/O口的控制。
2.4 G代碼的編輯& 下載和編譯
G代碼就是數(shù)控系統(tǒng)的運動程序,實際上也是坐標軸的運動控制程序,也就是加工程序。 PMAC的運動程序語言有它自己的特點,采用類似于BASIC的高級語言編程,以調用子程序的形式支持加工程序的G代碼編程。
PMAC的運動程序可以通過它的G]FK$,終端窗口編寫,程序送到緩沖區(qū)后,可以在終端窗口鍵入“&mBnR”運行程序,其中m為坐標系號,n為程序號;如果是在文本編輯器中編寫的程序,必須將其下載到PMAC中,然后才能運行。 由于PMAC內存有限,幾百K以上的大程序不能一次下載運行,這就要用到循環(huán)運動程序緩沖區(qū)。 循環(huán)運動程序緩沖區(qū)允許在程序執(zhí)行期間對程序進行下載,并覆蓋已經(jīng)執(zhí)行的程序行,這就能夠連續(xù)執(zhí)行比PMAC的存儲空間大的程序,并且實時下載程序行。
數(shù)控程序中的G代碼和M、T、D等功能指令由G代碼解釋程序、M代碼解釋程序、T代碼解釋程序和2代碼解釋程序分別進行解釋。 這4個解釋程序分別以運動程序PROG1000、PROG1001、PROG1002和PROG1003的形式存在,在系統(tǒng)調試時由PMAC可執(zhí)行程序將它們下載到PMAC的固定內存中,在實際加工中被PMAC自動調用。 主界面中的“調試”按鈕即用于實現(xiàn)這一功能,并在調試過程中發(fā)現(xiàn)錯誤后通知編程者,其程序代碼為:
PMAC將G、M、T、D代碼作為子程序來調用!在解釋程序中,可以針對特定的機床定制代碼。 在運動程序中遇到G代碼時,將會調用解釋程序PROG1000,跳轉到解釋代碼行,如G17將跳轉到PROG1000的N17000行。
2.5PLC功能的實現(xiàn)
PMAC內置有PLC控制和編程功能,它是以循環(huán)邏輯順序來執(zhí)行命令,但它的編程方式不是梯形圖編程,而是采用類似于BASIC等高級語言的編程方式!不需要專用編程器,執(zhí)行速度更快。
PMAC的內置PLC與NC共用CPU,利用CPU的余力來發(fā)揮PLC的功能,所以I/O點數(shù)較少。 通過PC程序可以完全地對PMAC變量和I/O進行操作,并且它具有非同步的特性,因此它能有力地協(xié)助運動控制程序完成任務。
3 結束語
開放式數(shù)控系統(tǒng)(ONC)是目前數(shù)控發(fā)展的趨勢,而PC機+可編程運動控制器型開放式數(shù)控系統(tǒng)是發(fā)展的主流。 筆者開發(fā)的基于PMAC的五軸數(shù)控系統(tǒng)試驗平臺,結構簡單,數(shù)控系統(tǒng)軟件運行良好,用戶可根據(jù)自己的需要進一步開發(fā),真正實現(xiàn)了數(shù)控系統(tǒng)的開放性,達到了開放式數(shù)控系統(tǒng)的要求。
評論