王舒瑋
(山西大同大學機電工程學院,山西大同037003)
全軟型開放式三軸數(shù)控系統(tǒng)的開發(fā)應用
王舒瑋
(山西大同大學機電工程學院,山西大同037003)
針對現(xiàn)有的基于Servo Works的全軟型開放式多軸數(shù)控系統(tǒng),在研究分析Servo Works技術的基礎上進行實時擴展。首先對系統(tǒng)引擎進行了初始化設定,再利用Servo Works CNC提供的應用程序編程接口,對軟件功能、數(shù)據(jù)結構進行定義,并使用VB作為開發(fā)工具,在二次開發(fā)包基礎上對系統(tǒng)界面進行設計和參數(shù)的設定。軟PLC部分是在系統(tǒng)提供的Ladder Works PLC基礎上,通過重新設置臨時地址點和命令狀態(tài),進行相應配套PLC部分的擴展,保證三軸數(shù)控系統(tǒng)的軟硬件能夠合理的銜接,彌補了傳統(tǒng)數(shù)控系統(tǒng)平臺開放性不足的缺點,可以開發(fā)出滿足個人需求的各種加工平臺。
Servo Works數(shù)控系統(tǒng);SDK;PLC
開放式數(shù)控系統(tǒng)是指將在數(shù)控系統(tǒng)放置在統(tǒng)一的運行平臺上,并對其開發(fā)。其核心是利用數(shù)控功能來重新定義、增加或刪除結構對象,研發(fā)出各個檔次的開放式系列化數(shù)控系統(tǒng)[1]。
隨著開放式數(shù)控系統(tǒng)的發(fā)展,可編程邏輯控制器已由以前各PLC產品互不兼容的傳統(tǒng)硬PLC逐步向基于PC豐富的軟、硬件資源,用軟件實現(xiàn)傳統(tǒng)PLC功能的軟PLC發(fā)展[2]。
美國Soft Servo System公司以全軟型開放式的運動控制內核為基礎,研究并開發(fā)出Servo Works CNC系統(tǒng),其核心技術是Servo Works技術[3],他可以利用電腦內存完成計算和運行,并將數(shù)據(jù)存放在指定位置,并通過顯示器顯示操作界面。
本研究選用的操作系統(tǒng)平臺為Windows XP系統(tǒng),不過隨著Windows 7的普及,Servo Works CNC同樣能正常工作。Servo Works CNC的突出點在于其核心是利用RTX軟件對其進行了升級,從Windows硬件抽象層轉變成RTX硬件抽象層,也就是說原本的大量進程任務的實際工作形式并沒有發(fā)生變化[4]。這樣產生的RTSS(Real Time Scientific System,即實時科學系統(tǒng))為用戶提供標準DLL(Dynamic Link Library,即動態(tài)鏈接庫),便于調用Win32中的應用程序。RTX擴展之后的Windows系統(tǒng)結構,見圖1。
圖1 RTX擴展方案
Servo Works CNC軟件部分由四部分組成:Servo Works引擎內核、各種Servo Works通訊平臺驅動、Servo Works DLL和SDK(Servo Works Develop Kit,即Servo Works二次開發(fā)軟件包)。
其中SDK是Servo Works CNC中實現(xiàn)二次開發(fā)的重要工具,他為開發(fā)者提供了API函數(shù)庫和源函數(shù)程序,利用VB對具體操作指令進行編程設計,開發(fā)出基于S-140M的開放式三軸數(shù)控系統(tǒng)。另外,API函數(shù)庫和源函數(shù)程序包括控制功能和管理功能。控制功能主要是實現(xiàn)局部變量、全局變量、變量引用、變量賦值的功能,而實現(xiàn)這些內容主要是通過調用API中最核心的4個子函數(shù)(即sss GetLocal Macro Var、sss Get Global Macro Var、sss Get Permanent Macro Var、sss Set Permanent Macro Var)完成[5]。管理功能通過調用Servo Works實時DLL或Windows API執(zhí)行。
本研究的系統(tǒng)在軟件設計方面,具體內容為:背景平臺是在Windows操作系統(tǒng)下進行;首先通過RTX對原有Windows進行擴展,然后利用Servo Works提供的API,使用Visual Basic作為開發(fā)工具,進行軟件的設計與實現(xiàn)[6]。
S-140M提供了豐富的API(SWAPI),其功能涉及了傳統(tǒng)數(shù)控系統(tǒng)包含的所有功能模塊[7],在進行新型系統(tǒng)的設計開發(fā)之前,需要對所需的功能進行定義。具體內容如下(部分):
(1)設備控制指令
sss Open/Close Device:Servo Works設備的打開/關閉。
(2)系統(tǒng)初始化指令
sss Install Drivers:安裝操作系統(tǒng)所需要的模塊。
sss Open Drivers:與原有實時模塊建立通信連接。
(3)數(shù)控系統(tǒng)控制指令
sss Set EMG Stop On/Reset:在急停條件下停止/恢復所有操作。
sss Set Nc Mode:定義NC工作模式。
用戶定義基本數(shù)據(jù)框架,分別有以下內容(部分):
(1)SERVO_CONTROL_PARAM:用來存儲本系統(tǒng)的伺服控制主要參數(shù)。
在S-140M界面框架的基礎上,通過使用SDK開發(fā)包,在保證系統(tǒng)正常工作的狀態(tài)下,設計和開發(fā)了三軸數(shù)控系統(tǒng)。啟動窗口,見圖2。
圖2 數(shù)控系統(tǒng)啟動窗口
當打開三軸數(shù)控系統(tǒng)軟件時,會自動進行初始化狀態(tài)設置。設計出的開放式三軸數(shù)控系統(tǒng),主要是在軟件替代硬件的基礎上,具有硬件布局簡單、開放性高、滿足多樣化數(shù)控場合的優(yōu)點。系統(tǒng)主界面,見圖3。
人機界面初始化的部分程序如下:
圖3 系統(tǒng)主界面圖
對于基于S-140M開發(fā)出的開放式數(shù)控系統(tǒng)中,只需在注冊表中進行編寫,就可以直接在界面上實現(xiàn)相應的設置。如此一來,便要對注冊表編寫進行設定,通常由以下函數(shù)實現(xiàn)(部分):
通過這些函數(shù),三軸數(shù)控系統(tǒng)就可以通過注冊表實現(xiàn)設置。
在主界面點擊菜單下方增量點動功能按鍵,生成SUB_BTN_2的點擊事件,調用Set Jor Incr Mode函數(shù)進入增量點動模式,見圖4。圖5是顯示增量點動模式的運行狀態(tài)。
圖4 通過點擊按鈕進入增量點動模式
圖5 增量點動模式運行顯示
Ladder Works是基于Servo Works技術的一種軟件式內置軟PLC系統(tǒng)。Ladder Works PLC系統(tǒng)包括Servo Works PLC引擎內核、swPLC_Link(Servo Works PLC Link,即Servo Works PLC鏈接)系統(tǒng)服務和 Ladder Works控制臺組成。其中,sw-PLC_Link,即運行于Windows的主要內容,實現(xiàn)應用程序與系統(tǒng)程序的鏈接,是其主要任務,見圖6。
圖6 swPLC_Link服務功能示意圖
本課題在開發(fā)軟PLC程序方面,按照以下步驟實施[8]:
(1)做整體規(guī)劃。需要考慮功能和模塊擴展、內部和外部地址點的分布。
(2)設置臨時通訊地址點。在模塊的執(zhí)行條件滿足之前,檢查各功能能否執(zhí)行狀態(tài)地址,并設定實時更新。
(3)注意命令和狀態(tài)之間的區(qū)別。該系統(tǒng)有人機界面上的軟件操作面板和傳統(tǒng)的硬件操作面板。要注意兩者對ONC運行狀態(tài)的綜合效應[9]。
此外,鑒于PLC程序的通用性,處理輸入地址不依賴于硬件,只需進行簡單設置便可使PLC滿足各類型的輸入和輸出。相關軟PLC的控制界面,見圖7,屏幕顯示工具便是通過該界面完成的,作用是用來實現(xiàn)軟PLC程序的編輯與編譯。在該系統(tǒng)中,為了后續(xù)操作方便,特地為此設定了快捷鍵,即點擊Ctrl+Alt+1。
另外,點擊Ctrl+Alt+2可顯示繪制出梯形圖,見圖8;點擊Ctrl+Alt+3可顯示開發(fā)出的系統(tǒng)位值顯示框,見圖9;并拓展出軟PLC系統(tǒng)時序表工具,通過點擊Ctrl+Alt+4出現(xiàn)圖10的形式顯示任意信號地址指定位信號的歷史記錄,來幫助調試軟PLC程序。
圖7 配套PLC控制面板
圖8 配套PLC梯形圖
圖9 配套PLC位值
圖10 配套PLC波形圖
通過程序來對系統(tǒng)進行測試。程序代碼為:
其中G91為增量定位模式,G90為絕對定位模式[10]。數(shù)控系統(tǒng)工作界面,見圖11。
圖11 測試結果
本課題基于全軟型開放式數(shù)控系統(tǒng)具有通用性、可靠性和實時性的特點,在擁有傳統(tǒng)數(shù)控系統(tǒng)所具有的基本操作功能的基礎上[11],利用全軟型開放式數(shù)控系統(tǒng),堅持將開放式與傳統(tǒng)式相結合的特點,在Windows XP的系統(tǒng)平臺上,實現(xiàn)全軟型開放式數(shù)控系統(tǒng)在三軸數(shù)控系統(tǒng)中的開發(fā),并制定了配套的軟PLC程序,并取得階段性成果。
利用Servo Works技術和相關硬件技術的三軸數(shù)控系統(tǒng)是一種有效的嘗試,為今后開放式數(shù)控系統(tǒng)的進一步開發(fā)提供了經驗。同時由于二次開發(fā)軟件SDK操作簡單,研發(fā)方便,縮短開發(fā)周期,降低開發(fā)費用,具有顯著的經濟效益。
[1]張俠.開放式數(shù)控系統(tǒng)數(shù)據(jù)通訊管理與狀態(tài)監(jiān)測技術研究[D].天津:天津大學,2008.
[2]王舒瑋.全軟型開放式數(shù)控系統(tǒng)關鍵技術及應用研究[D].呼和浩特:內蒙古工業(yè)大學,2016.
[3]白曉燦,陳永明.純軟件開放式數(shù)控系統(tǒng)在橋切機數(shù)控化改造中的運用[J].機電工程技術,2010,39(6):113-114,164.
[4]Soft Servo Systems Inc.Servo Works with VersioBus Setup and Integration Manual[Z].2008.
[5]章明眾,李寅,陳華,等.開放式數(shù)控系統(tǒng)宏程序替代功能的開發(fā)與應用[J].機床與液壓,2011,39(4):43-44.
[6]陳清德.純軟件開放式CNC技術的研究及應用開發(fā)[D].廈門:廈門大學,2007.
[7]Soft Servo Systems Inc.Ladder Works PLC Reference Manual[Z].2008.
[8]李寅.純軟件開放式數(shù)控系統(tǒng)的研究及其在加工中心上的運用[D].廈門:廈門大學,2009.
[9]白艷艷.開放式數(shù)控系統(tǒng)中的軟件PLC的研究開發(fā)[D].北京:北京工業(yè)大學,2003.
[10]李悅韡.具有點位控制功能的伺服驅動系統(tǒng)的實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學,2013.
[11]張小兵.數(shù)控技術發(fā)展趨勢探討[J].機電技術,2008(2):88-90.
Development and Application of All Soft ONC Three-axis Numerical Control System
WANG Shu-wei
(Mechanical and Electrical Engineering Shanxi Datong University,Datong Shanxi,037003)
For the existing system based on Servo Works of all soft open multi-axis CNC system,based on the analysis of Servo Work we did real-time expansion.First,the system engine is initialized,and then we use the application programming interface provided by Servo Works CNC to define the software function and data structure.And we use VB as a development tool to design the system interface and set parameters in the secondary development package.Soft PLC part is provided on the basis of Ladder Works PLC,by resetted the temporary address point and command status and expansion of supporting PLC,we ensure that the three-axis CNC system hardware and software to convergence,and make up for the traditional NC system platform open lack of shortcomings,which can be developed to meet the individual needs of a variety of processing platforms.
Servo Works CNC system;SDK;PLC
TH164
A
〔責任編輯 王東〕
1674-0874(2017)04-0058-04
2017-05-20
王舒瑋(1990-),女,河北定州人,碩士,助教,研究方向:機械制造。