錢 石 ,王天雷 ,王小東 ,王大承
(1.五邑大學(xué) 機(jī)電工程學(xué)院,廣東 江門 529020;2.廣東科杰機(jī)械自動(dòng)有限公司,廣東 江門 529020)
機(jī)床電纜作為機(jī)床電氣系統(tǒng)的組成部分,擔(dān)負(fù)著電能和電能信號(hào)傳送的重任,在生產(chǎn)加工過程中扮演著重要角色。但長期頻繁的往復(fù)運(yùn)動(dòng)必然使機(jī)床拖鏈中的電纜出現(xiàn)疲勞受損,而工作環(huán)境中的油污、粉塵等因素又加速了絕緣層老化,線芯短、斷路等現(xiàn)象。為了了解電纜的壽命并快速判斷電纜通斷,本文模擬機(jī)床拖鏈中電纜實(shí)際運(yùn)行條件,搭建含有油槽的測試平臺(tái),選用固高科技生產(chǎn)的GUC系列運(yùn)動(dòng)控制器,基于VS2008編譯環(huán)境中的VC++模塊,利用其提供的MFC編輯程序界面的方法以及控制器自帶的庫函數(shù),建立“PC+運(yùn)動(dòng)控制器”開放式電纜測試運(yùn)動(dòng)控制系統(tǒng)。
電纜測試平臺(tái)在設(shè)計(jì)搭建過程中,要充分考慮布置在拖鏈中電纜的實(shí)際運(yùn)動(dòng)情況以及工作環(huán)境對(duì)它的影響等因素。電纜測試系統(tǒng)試驗(yàn)臺(tái)實(shí)物圖如圖1所示。
圖1 電纜測試系統(tǒng)試驗(yàn)臺(tái)
電纜布置在拖鏈中,拖鏈一端固定在接線盒上,另一端固定在運(yùn)動(dòng)負(fù)載上,電機(jī)連接聯(lián)軸器帶動(dòng)滾珠絲杠,旋轉(zhuǎn)的滾珠絲桿通過滾軸螺母帶動(dòng)負(fù)載水平往復(fù)性運(yùn)動(dòng)。整個(gè)運(yùn)動(dòng)過程既可實(shí)現(xiàn)勻速運(yùn)動(dòng),又可實(shí)現(xiàn)變速運(yùn)動(dòng),往復(fù)運(yùn)動(dòng)次數(shù)以及運(yùn)動(dòng)距離可以實(shí)時(shí)顯示。為了更符合電纜實(shí)際工作情況,可以對(duì)油槽中加入油污或切削液,也可以每隔一段時(shí)間,手動(dòng)噴灑;在電纜測試運(yùn)動(dòng)過程中,電纜兩端通過接線端子與控制器的I/O口相連接,構(gòu)成閉合回路,以便人機(jī)界面實(shí)時(shí)顯示電纜在反復(fù)運(yùn)動(dòng)中出現(xiàn)的斷路、短路等情況。
一般開放式運(yùn)動(dòng)控制系統(tǒng)主要由PC、運(yùn)動(dòng)控制卡、連接端子板、伺服驅(qū)動(dòng)器以及伺服電機(jī)5個(gè)部分組成,如圖2所示。電纜測試運(yùn)動(dòng)控制系統(tǒng)采用了固高科技生產(chǎn)的GUC系列運(yùn)動(dòng)控制器,該控制器是PC技術(shù)與運(yùn)動(dòng)控制技術(shù)相結(jié)合的產(chǎn)物,它以Intel標(biāo)準(zhǔn)X86架構(gòu)的CPU和芯片組為系統(tǒng)處理器,采用高性能DSP和FPGA作為運(yùn)動(dòng)控制協(xié)處理器,在實(shí)現(xiàn)高性能多軸協(xié)調(diào)運(yùn)動(dòng)控制的同時(shí),可以實(shí)現(xiàn)普通PC的所有基本功能。電纜測試運(yùn)動(dòng)控制系統(tǒng)硬件主要由以下幾部分器件組成。
(1)GUC-300-ESV運(yùn)動(dòng)控制器;
(2)三洋伺服電機(jī)驅(qū)動(dòng)器以及伺服電機(jī);
(3)驅(qū)動(dòng)器電源以及+24 V直流電源(用于 GUC系列運(yùn)動(dòng)控制器及接口板電源);
(4)原點(diǎn)開關(guān)、正/負(fù)限位開關(guān);
(5)顯示器、輸入設(shè)備或?qū)S萌藱C(jī)界面。
圖2 運(yùn)動(dòng)控制系統(tǒng)的組成
電纜測試系統(tǒng)采用深圳固高科技生產(chǎn)GUC-300-ESV一體化運(yùn)動(dòng)控制器,該控制器集系統(tǒng)處理器和運(yùn)動(dòng)控制處理器于一體,運(yùn)動(dòng)控制處理器采用GE系列控制器。這種嵌入式一體化的解決方案給用戶帶來很大的方便,一臺(tái)GUC-300-ESV控制器加上一個(gè)顯示器就可以建立一個(gè)等同于“PC+運(yùn)動(dòng)控制器”開放式電纜測試運(yùn)動(dòng)控制系統(tǒng)。
GUC-300-ESV運(yùn)動(dòng)控制器提供C語言函數(shù)庫和Windows動(dòng)態(tài)鏈接庫,可實(shí)現(xiàn)復(fù)雜的控制功能。該運(yùn)動(dòng)控制器技術(shù)參數(shù)及功能如下[1]。
(1)系統(tǒng)處理器采用X86架構(gòu)、主頻100 MHz的CPU,PCI總線通信方式;
(2)控制周期為 200 μs 且不可調(diào);
(3)3路(每軸一路)模擬量以及脈沖信號(hào)輸出,模擬量的分辨率為16 bit,輸出電壓范圍為-10 V~10 V,脈沖輸出最大頻率為256 kHz;
(4)帶有3路編碼器信號(hào)輸入,輸入最大頻率為4 MHz;
(5)每軸分別各有一個(gè)正、負(fù)限位信號(hào)、原點(diǎn)信號(hào)以及驅(qū)動(dòng)報(bào)警信號(hào)等專用輸入信號(hào),還有一個(gè)伺服允許信號(hào)和驅(qū)動(dòng)器復(fù)位信號(hào);
(6)分別擁有16路經(jīng)光電隔離處理過的通用數(shù)字量輸入輸出,其中16路通用輸出是采用集電極開路輸出,驅(qū)動(dòng)能力達(dá)200 mA;
(7)可實(shí)現(xiàn)直線、圓弧插補(bǔ)運(yùn)動(dòng),提供了 8 KB的緩沖區(qū),可實(shí)現(xiàn)運(yùn)動(dòng)軌跡預(yù)處理;
(8)帶有PID+速度前饋+加速度前饋濾波器;
(9)可設(shè)置跟隨誤差極限、加速度極限以及輸出電壓飽和極限等一些安全保護(hù)措施;
(10)提供了 DOS下的C語言函數(shù)庫和Windows下的動(dòng)態(tài)鏈接庫,在Windows系統(tǒng)下,用戶可以使用任何能夠支持動(dòng)態(tài)鏈接庫的開發(fā)工具來開發(fā)應(yīng)用程序,例如Visual C++、Visual Basic和 Delphi等。
電纜測試系統(tǒng)軟件設(shè)計(jì)是在Windows系統(tǒng)下基于GUC-300-ESV控制器進(jìn)行開發(fā)設(shè)計(jì)的,軟件設(shè)計(jì)主要包括兩個(gè)部分:一是可視化編程部分;另一個(gè)是代碼編程部分??梢暬幊滩糠掷肰S2008提供的強(qiáng)大軟件開發(fā)工具向?qū)В恍枰止ぞ帉懘a,只要根據(jù)自己的設(shè)計(jì)思想,用鼠標(biāo)或鍵盤進(jìn)行操作即可。與采用代碼編寫相比,用可視化編程部分進(jìn)行Window風(fēng)格的圖形用戶界面和各種控件的制作,將更加簡單方便。代碼編寫部分采用VS2008提供的文本編輯器,用面向?qū)ο蟮腣C++語言進(jìn)行編寫。
使用運(yùn)動(dòng)控制器開發(fā)應(yīng)用程序之前,先安裝驅(qū)動(dòng)程序,并把運(yùn)動(dòng)控制器自帶的動(dòng)態(tài)鏈接庫ges.dll、頭文件ges.h以及ges.lib文件復(fù)制到工程文件夾里,在VS2008編譯器中對(duì)ges.lib文件進(jìn)行鏈接設(shè)置后,并在應(yīng)用程序文件中加入函數(shù)庫的頭文件的聲明,至此,就可以使用動(dòng)態(tài)鏈接庫中的所有函數(shù)編寫應(yīng)用程序了[2]。
在安裝完驅(qū)動(dòng)后,用控制器自帶軟件檢測主機(jī)是否與控制器建立聯(lián)系,自帶軟件運(yùn)行界面如圖3所示。若演示程序能正常工作,說明控制器通信正常,只有通信正常,才可以進(jìn)行系統(tǒng)的操作,否則需找出問題后,重新檢測。
圖3 測試軟件運(yùn)行界面
可視化控制界面的設(shè)計(jì)不僅要滿足控制要求,同時(shí)還要友好美觀。電纜測試平臺(tái)主控制界面及參數(shù)設(shè)置界面運(yùn)行結(jié)果分別如圖4、圖5所示。
圖4 主控制界面
圖5 參數(shù)設(shè)置界面
主控制界面主要包括兩個(gè)部分:一部分負(fù)責(zé)實(shí)時(shí)顯示控制狀態(tài);另一部分是控制按鈕??刂茽顟B(tài)顯示包括顯示控制器初始化是否成功、測試工作臺(tái)是否回零,實(shí)時(shí)顯示往復(fù)運(yùn)動(dòng)循環(huán)次數(shù)、工作臺(tái)運(yùn)行的規(guī)劃位置、實(shí)際位置以及運(yùn)行速度,主界面中間的I/O口狀態(tài)的顯示實(shí)時(shí)反映電纜在運(yùn)動(dòng)過程中是否出現(xiàn)短路、斷路等情況;控制按鈕主要完成運(yùn)動(dòng)控制的開始、停止、運(yùn)動(dòng)控制的參數(shù)設(shè)置以及運(yùn)動(dòng)方式的選擇等。
參數(shù)設(shè)置界面主要由軸運(yùn)動(dòng)參數(shù)設(shè)置和控制器I/O口信號(hào)輸出選擇設(shè)置兩部分組成。軸運(yùn)動(dòng)參數(shù)設(shè)置主要完成工作臺(tái)運(yùn)動(dòng)速度、運(yùn)動(dòng)方式(勻速或變速)以及往復(fù)運(yùn)動(dòng)次數(shù)的設(shè)置;通過對(duì)I/O信號(hào)輸出口選擇設(shè)置,結(jié)合主控制界面I/O口狀態(tài)指示燈的顯示,可以判斷電纜是否出現(xiàn)短路、斷路等情況。
打開MicrosoftVisualStudio 2008軟件,選擇新建一個(gè)基于對(duì)話框的MFC應(yīng)用程序類型的項(xiàng)目,接著對(duì)對(duì)話框資源視圖添加一些控件,建立友好控制界面,最后對(duì)程序內(nèi)部手動(dòng)編寫相應(yīng)的運(yùn)動(dòng)控制代碼[3-6],總體程序編寫流程圖如圖6所示。
圖6 總體程序編寫流程圖
在OnInitDialog函數(shù)中,先對(duì)控制界面的大小、顯示的位置、界面字體和菜單按鈕進(jìn)行了初始化。檢測控制卡是否打開,調(diào)用運(yùn)動(dòng)控制器函數(shù)庫中的GT_Open、GT_Reset函數(shù)對(duì)運(yùn)動(dòng)控制器初始化并對(duì)專用信號(hào)參數(shù)進(jìn)行設(shè)置。部分初始化程序如下。
將運(yùn)動(dòng)中電纜兩端接在控制器通用數(shù)字I/O口上,形成閉合回路,在參數(shù)設(shè)置界面中設(shè)置輸出口,使控制器相應(yīng)I/O口向與之相連的電纜輸出電平信號(hào),并檢測是否有返回信號(hào),通過主控制界面的I/O口指示燈的亮滅來判斷電纜在運(yùn)行中是否出現(xiàn)斷路、短路等情況。在程序中分別調(diào)用控制器函數(shù)庫中GT_ExInpt、GT_ExOpt函數(shù)讀取16路通用數(shù)字I/O輸入的電平狀態(tài)和設(shè)置16路通用數(shù)字I/O輸出的電平狀態(tài)來實(shí)現(xiàn)電纜通斷檢測。通斷測試流程如圖7所示。
圖7 通斷測試流程圖
實(shí)時(shí)更新I/O狀態(tài)程序如下。
基于VC和GUC-300-ESV運(yùn)動(dòng)控制器建立的電纜測試平臺(tái),界面美觀實(shí)用、操作簡單,編寫測試實(shí)驗(yàn)程序,模擬機(jī)床在各種工況下運(yùn)行:勻速運(yùn)動(dòng)、變加、減速運(yùn)動(dòng)、快速定位運(yùn)動(dòng)等,并對(duì)電纜進(jìn)行檢測,實(shí)時(shí)顯示電纜的通斷情況。電纜測試平臺(tái)還可對(duì)氣管、油管的可靠性進(jìn)行檢測,具有廣泛的應(yīng)用領(lǐng)域。
[1]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2007.
[2]侯俊杰.深入淺出 MFC(第 2版)[M].武漢:華中科技大學(xué)出版社,2001.
[3]謝莉.VC++動(dòng)態(tài)鏈接庫的開發(fā)及調(diào)用[J].微型機(jī)與應(yīng)用,2001,20(9):10-12.
[4]深圳固高科技有限公司.GE系列運(yùn)動(dòng)控制器編程手冊(cè)[Z].2009.
[5]深圳固高科技有限公司.GE系列運(yùn)動(dòng)控制器用戶手冊(cè)[Z].2009.
[6]高煊,何廣平.基于VC++的四軸運(yùn)動(dòng)控制卡軟件系統(tǒng)開發(fā)研究[J].制造技術(shù)與機(jī)床,2009(6):24-28.
[7]范寶德,劉驚雷.基于VC的多線程編程技術(shù)及其實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2002,21(7):10-12.