基于VB6. 0 & ServoWorks SDK的全軟型四軸聯動數控系統研究與開發
2018-3-30 來源:內蒙古土業大學機械學院 作者:畢俊喜,智伯雄,薛志安
摘要:ServoWorks是一種基于PC解決方案的全軟件開放式CNC系統,它所有的功能均由軟件實現。通過對Ser-voWorks CNC系統硬件結構和軟件結構的分析,依據Soft Servo System公司提供的SDK開發包在VB6. 0上進行軟件的一次開發,開發出了全軟型四軸聯動數控系統,并在實驗平臺上進行了軟件的調試運行試驗,實現了預期的目標。
關鍵詞:ServoWorks CNC; SDK; VB6.0
0、前言
在Windows平臺上開發數控系統是目前數控系統發展的趨勢,可以充分利用PC的軟硬件優勢以及開放性體系結構,來實現數控系統的模塊化、標準化、可移植化和網絡化等特點。
為了提高系統的實時性,Soft Servo Syste為Win-dows系統嵌入了IntervalZero公司的RTX實時系統。RTX實時擴展技術使得SoftWorks CNC伺服控制程序可運行在PC上,由PC的CPU執行所有的實時伺服任務和CNC任務,包括:反饋回路、多軸插補、網絡通信、文件管理、數據處理等功能。在開發全軟數控系統時需要己經通過嚴格檢測其精度和穩定性的硬實時計時器的支持。一般可通過使用RDTSC來計算CPU時鐘周期,并將其作為標準檢測時鐘信號,來檢測RTX定時器的精度和穩定性。IntervalZer。公司的RTX實時軟件的時鐘分辨率可達到0. 1 μs。SoftWorks CNC的多任務實時軟件結構完全替代了運動控制卡來完成高實時性的伺服控制任務,有效地消除了硬件帶來的可靠性差、成本高等問題。利用該軟伺服內核技術,用戶可以在Windows系統下開發出有自己特色的CNC產品。
1、SoftWorks CNC系統結構
1. 1 硬件結構
ServoWorks CNC的核心技術是軟件運動控制(Soft Motion)和實時以太網總線(EtherCAT)兩者結合的零硬件開放式構架,系統無需運動控制卡即可完成任務傳輸,通過計算機CPU的強大功能,完成全部所需的實時伺服控制和CNC任務。圖1為Ser-voWorks配置結構圖。

圖1 S-120M配置結構圖
DX-110A為數控系統接口模塊,可作為模擬主軸0~ 10 V接口、5 V脈沖手輪接口和控制面板的16輸入/16輸出。IX-320是數字輸入輸出模塊,32位輸入/32位輸出,可外接分線器和繼電器模塊。工控機和伺服驅動器之間通信EtherCAT。EtherCAT是一種開放總線技術,用標準網卡通信。EtherCAT帶寬100M, 30 μs更新1 000個I/0, 100個伺服軸的通訊僅為100 μs,分布時鐘(DC)技術使軸的同步偏差小于1 μs。
1. 2 軟件系統
ServoWorks CNC軟件系統結構中(圖2),主機內的軟件分為:Win32空間層,實時系統層,以及兩者的接口層實時DLL (Dynamic Link Library)動態連接庫,其中計算機CPU給實時系統層最高的優先級。

圖2 Servoworks CNC軟件技術模塊圖
實時系統層包含3個模塊:ServoWorks CNC運動引擎,PLC引擎和G代碼編譯器。其ServoWorksCNC引擎負責實現伺服控制,例如:插補、位置控制、誤差補償、NC路徑的生成和控制等。
PLC引擎是ServoWorks CNC系統中的軟PLC的應用平臺,它的掃描周期是5 ms,擁有38條指令功能和12條基本命令,能夠訪問所有的I/0點。 G代碼解釋器是用來處理ServoWorks CNC系統中的G代碼的,可將整個G代碼文件全部寫入系統中。其處理速度為1 000條指令/s.
2、SoftWorks CNC軟件二次開發
Soft Servo System公司為二次開發提供了Ser-voWorks Develop Kid ( SDK)工具,SDK/MDK開發包擁有:應用軟件接口模塊庫(SWAPI /MAPI ) ,SWAPI / MAPI源代碼、Simulator、例程源代碼、客戶定制軟件開發服務等。在開發軟件系統、培訓技術人員和測試軟件時,選擇模擬運行后,可無需硬件。ServoWorks CNC是通過調用內核API函數中的4個宏定義子函數來實現局部變量、全局變量、變量引用、變量賦值的功能圖. SDK方便、簡化了系統的二次開發,如使用VB6.0, VC++等編程工具可開發出滿足自己工作需要的基于ServoWorks CNC技術的數控系統及相關應用程序。
2. 1 系統主界面
通過使用Soft Servo System (3S)公司提供的ServoWorks Develop Kid ( SDK)軟件開發包,在VB6. 0環境中對原有的數據系統進行了二次開發,同時獲得了符合要求的操作界面。圖3為未開發時的ADXI4軟件系統主界面,其為五軸聯動數控系統,通過修改代碼,減少一軸,軟件就成為四軸聯動軟件。

圖3 ADXI4主界面圖
圖4為開發后的四軸聯動數控系統主界面。文中主要研究開發關于四軸聯動控制系統,保證系統滿足用戶的特殊需求并可以正常運行。

圖4 四軸數控主界面圖
2. 2 初始化通信模塊
初始化通訊模塊是為了建立用戶界面和Ser-voWorks實時模塊之間的聯系。首先,調用Ser-voWorks APIs for Device Handling Commands中的函數sssOpenDevice()打開ServoWorks運動控制器驅動程序;接著,調用ServoWorks APIs for System Initial-ization and Firmware/Hardware Initialization Commands中的函數sssInstallDrives()裝載ServoWorks RTX引擎內核;隨后,調用sssOpenDrives()在ServoWorksRTX模塊中建立IP C(內部進程通信)通道;最后,調用函sssStartInterrupt()激活ServoWorks控制硬件,啟動ServoWorks CNC引擎的通信和對ServoWorks控制硬件做出響應。
退出應用程序時,調用函數sssCloseDevice()關閉運動控制器,調用函數sssRemoveDevice()將引擎從RTSS進程中卸載Cal。初始化完整流程圖如圖5。

圖5 初始化流程圖
2. 3 狀態顯示模塊
軟件中狀態顯示模塊由兩部分組成:坐標信息模塊和輔助信息模塊。坐標顯示模塊可實現界面實時顯示編程坐標和機床坐標,并可通過監視伺服軸的運動狀態來了解加工狀況,調整加工方法。
輔助信息模塊包括:軸狀態顯示和I/0狀態顯示。軸狀態顯示可實時顯示:軸是否回零、軸是否到達限位處、驅動器是否報警等;I/0狀態顯示實現了對FP-90和DC-120模塊的I/0口的實時監視。可通過輔助信息模塊達到對機床的實時監控,為實時操作和故障診斷提供了可能,讓系統更人性化。
調用函數Power2 (i)產生16進制地址;調用函數SSSSTATUS.FP75_Din/SSSTATUS. FP90_DOUT_ReadBack獲得FP -90狀態;調用SSSSTATUS. DC 120_Din / SSSTATUS. DC 120_ DOUT_ ReadBack獲得DC-120模塊的I/0狀態。部分程序如下:

3、結束語
研究在純軟件包Servo Works CNC開發包的基礎上,進行二次開發得到的四軸聯動數控系統,利用開放式數控系統便于進行開發的優點來滿足用戶各種特殊需要,并在實驗平臺上實現了四軸機床的基本功能,為Servo Works CNC在實際四軸機床上的應用奠定了一定的理論基礎,具有一定使用價值。與傳統的數控系統相比,Servo Works CNC實現了控制器的PC化和控制方案的軟件化,具有最高的性價比和好的發展前景。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息