本站小編為你精心準備了談固高控制器的電子手輪控制程序設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:使用VisualStudio2019社區版開發平臺,根據固高運動控制器支持的電子齒輪運動指令,采用C++編程語言能夠很方便地開發電子手輪控制程序,為運動控制系統增加手輪控制功能。電子手輪控制程序包括了初始化、讀取編碼器位置以及手脈軸選和倍率、軸號選擇以及倍率變換和從軸運動函數。經測試,運動軸能夠很好地跟隨電子手輪運動。
關鍵詞:運動控制器;電子手輪;電子齒輪
1概述
在機器人、自動化化生產線和印刷機械等領域,電子手輪都有廣泛應用。特別是在數控機床上,操作人員經常需要進行數控機床的工作原點設定、對刀和微調等操作,電子手輪可以為用戶使用帶來很大方便[1]。在多軸運動控制系統中,可以增加電子手輪控制功能為設備的調試與操作提供支持。運動控制是自動化領域里的一個重要研究方向,在很多行業中,運動控制性能的優良決定了用戶產品的競爭力。由于小型PLC運動控制功能弱,運動控制器已經成為多軸運動控制系統的主要部件。在多軸運動控制系統中,經常需要一個軸運動的同時,另一個軸可按一定比例跟隨運動。基于固高運動控制器的電子齒輪功能能夠方便地實現電子手輪控制程序的開發。
2固高控制器
GTS-800-PV-PCI運動控制器是由固高公司生產,核心由FPGA和DSP組成,可以實現高性能的控制計算,提供標準的PCIe總線接口,以IBM-PC及其兼容機為主機,適用領域廣泛,提供C語言等函數庫和Windows動態鏈接庫,可以實現點位高速運動控制等復雜控制功能[2]。在進行運動控制系統的設備調試時,使用者可通過專有調試軟件完成各軸的Jog、點位運動控制,并能控制各信號的輸入輸出。可以利用Windows動態鏈接庫方便實現固高運動控制器的編程。GTS-800-PV-PCI運動控制器由控制板CN17和轉接板CN18兩部組成。端子板是運動控制器與外部設備進行信號傳遞的接口,例如編碼器信號、外部傳感器信號、電機軸信號等都是通過端子板與控制器進行信息傳遞。此款運動控制器支持1路4倍頻增量式手輪編碼器輸入,最高頻率10KHz(4倍頻后)和7路軸選、倍率開關輸入。運動控制器配套端子板為8軸端子板,其中CN20接口是手輪接口(MPG接口),有24V和5V電源,1路輔助編碼器輸入(可接收A相和B相差分輸入),7路數字量IO輸入(低電平有效,默認24V)。
3電子手輪
電子手輪由于本質上是增量式光電編碼器,因此也稱為手脈、手搖脈沖發生器、手動脈沖發生等[3]。電子手輪上一般都有波段開關用于軸和倍率的選擇,脈沖發生器用于產生發出脈沖便于控制系統采集。當旋轉手輪時,可以驅動內部編碼器的軸轉動,從而可以產生相對手輪運動的脈沖信號。電子手輪按供電電壓、信號輸出種類、分辨率等有不同分類,這里選擇使用手持單元盒外掛式型號為OMT1469-100B-4A電子手輪,支持x1、x10、x1003檔倍率和4軸選擇切換。
4電子手輪控制程序設計與實現
4.1電子齒輪模式
固高運動控制卡支持電子齒輪模式,可以很方便實現在多軸運動時,一個軸運動的同時,使另外一個軸按給定比例同時運動。因此電子齒輪模式是一種多軸聯動模式,所能實現的運動效果與兩個機械齒輪的嚙合運動相似。通過電子齒輪功能能夠在多種運動控制時,實現軸的主從運動,達到將兩軸或多軸聯系起來,實現精確的同步運動,從而可以替代傳統的機械齒輪連接機構。在電子手輪應用中,一般都是實現電子手輪轉動時,其他軸跟隨其運動。在程序設計時,必須選定主軸和從軸。而主軸是被跟隨軸,這里就是指電子手輪;從軸是跟隨軸,即跟隨電子手脈輪運動的軸。電子齒輪模式下,一個主軸可以驅動多個從軸,從軸能夠跟隨主軸的規劃位置和編碼器位置運動。主軸速度與從軸速度的比例可以在程序中通過設置傳動比決定。當主軸速度發生變化時,從軸速度也會隨之變化,并保持固定的傳動比。電子齒輪模式能夠方便靈活地設置傳動比,而不用改變機械系統,可以節省機械系統的安裝時間。當主軸速度變化時,從軸會根據設定好的傳動比自動改變速度。在運動過程中,電子齒輪模式也允許改變傳動比。當改變傳動比時,可以設置離合區,實現平滑變速。離合區位移不是指從軸變速時所走過的位移,而是從軸平滑變速過程中主軸所運動的位移。在電子手脈輪控制中,從軸的運動模式要設置為電子齒輪模式。一旦改變傳動比,在離合區位移內,從軸速度會從零逐漸增大直到到達設定傳動比。離合區越大,從軸速度的變化過程就越緩慢,也就使從軸傳動比能夠平穩變化。
4.2軟件開發工具
在Windows系統下使用運動控制器,首先要安裝驅動程序。固高控制卡對軟件開發工具有良好的開放性,為用戶提供了運動控制器指令函數動態鏈接庫,用戶可以在VC、VB、Python等任何支持動態鏈接庫開發的環境下進行程序開發。C++是一種運行高效的程序設計語言,在運動控制系統中可以通過C++編寫系統軟件實現各種運動控制。VisualStudio是美國微軟公司發布的開發工具包產品,提供了基本完整的開發工具集,支持C、C++、C#編程語言。VisualStudio分為社區版、專業版和企業版,其中社區版為免費版本,擁有比較完整的編譯平臺,適合一般用戶程序開發使用。因此可以選用目前在Windows平臺下比較常用的VisualStu-dio2019社區版,利用VC++創建Win32控制臺手輪控制應用程序。
4.3與電子手輪相關指令
電子齒輪運動需要使用的指令,如表1所示。電子齒輪運動指令中常用參數包括profle(規劃軸號)、dir(跟隨方式)、mastereType(主軸類型)、mas-terEvn(主軸位移)、slaveEvn(從軸位移)、masterSlope(離合區)。
4.4手輪控制伺服電動機
利用固高運動控制器實現手輪對伺服軸跟隨控制,需要按以下步驟實現:
(1)硬件連接,交流伺服控制廣泛應用于工業生產領域,交流伺服電動機是無刷電機,適合實現復雜低速平穩運行的運動定位控制系統。這里通過采用電子手輪去控制由安川∑7交流伺服電機驅動的運動模組為例,說明固高控制器GTS-800-PV-PCI如何實現電子手輪控制功能。首先要完成相應的系統硬件接線,主要包括運動控制器與端子板之間的連接、端子板與外接各設備之間的接線和外部設備之間接線。運動控制器與端子板接線時要先關閉計算機電源,采用專有的屏蔽電纜連接控制器的CN17與端子板CN17端口,另用一根電纜線連接轉接板的CN18與端子板的CN18。根據任務需要,端子板需要完成與電子手輪、伺服驅動器的連接,此外還需要完成伺服驅動器與伺服電機接線,伺服驅動器與編碼器接線。
(2)配置運動控制器模式和伺服驅動器參數,在計算機上安裝完固高運動控制器驅動程序后,打開運動控制器系統調試軟件MotionControlToolkit2009(MC2008),能夠用于檢測主機與運動控制器是否能夠建立通信。如果MC2008能夠正常打開,說明通信正常,如圖1所示正常打開MCT2008。否則會提示“打開板卡失敗”的錯誤提示信息。MC2008提供運動控制器的配置功能,用戶可以利用MC2008根據任務完成各軸以及I/O限位報警的配置,并可以生成相應的配置文件GTS800.cfg。對伺服驅動器進行配置,采用USB通信線連接安川驅動器的調試口與計算機USB接口;打開安川伺服驅動器軟件“SigmaWin+Ver.7”;打開軟件連接伺服驅動器,通過點擊軟件界面左上角“Home”圖標,選擇下拉菜單中的“開始”,“連接伺服”,進入通信設定界面,檢索伺服單元,實現連接;伺服參數設定,通過點擊所選伺服單元“菜單”按鈕,點擊“參數編輯”進入參數編輯界面。這里可以修改驅動器參數的值包括旋轉方向旋轉、控制方式選擇、指令脈沖形態、電子齒輪比(分子)、電子齒輪比(分母)以及編碼器分頻脈沖數等。修改好的參數要通過點擊“參數編輯”界面中的“正在編輯的參數”命令寫入到伺服驅動器中。為使寫入伺服驅動器的參數有效,需要將伺服驅動器主回路電源關閉,然后重新上電,從而完成對伺服驅動器參數設定任務。
(3)新建項目,在VisualStudio中根據需要新建32位的C++手輪工作臺控制項目工程。
(4)手輪控制項目創建后,VS會自動在指定位置生成許多文件。在固高運動控制器配套光盤dll文件夾中選擇對應32位程序版本的動態鏈接庫gts.dll,頭文件gts.h,靜態鏈接庫文件gts.lib,以及運動控制器配置文件GTS800.cfg復制到工程文件夾中。在打開的VS項目窗口右側解決方案資源管理器中中右擊“頭文件”,選擇“添加”、“現有項”,找到“gts.h”,選擇“添加”。添加完成后,需要在應用程序中加入函數庫頭文件的聲明即代碼#include“gts.h”。添加庫文件有兩種方法,一種方法是在VS軟件窗口“項目”菜單中選擇“屬性”,在彈出的“屬性”窗口中選擇“鏈接器”、“輸入”、“附加依賴項”中找到庫文件添加gts.lib到庫文件。另一種方法是在應用程序中直接使用#pragmacomment(lib,''gts.lib''),實現庫文件的添加。
(5)按照手脈控制程序設計內容要求編寫代碼。利用固高控制器實現手輪控制程序需要包含初始化、獲取手輪數據、從軸運動幾個子函數。主函數完成調用初始化、獲取手輪數據,讓手脈可以工作。初始化函數實現運動控制卡的初始化功能,需要完成啟動運動控制器、復位運動控制器、配置運動控制器,并進行電機軸異常清除和位置清零。在程序中GT_LoadConfig("GTS800.cfg")命令是用來實現運動控制器配置的,程序編譯時有可能出現錯誤提示。如果提示錯誤,可以通過在VS軟件窗口中選擇“項目”菜單下“屬性”,在打開的屬性對話框中選擇“C++”、“語言”中的“符合模式”改成否。讀取編碼器位置以及手脈軸選和倍率函數通過GT_GetDi(MC_MPG,&IGpiValue)讀取手輪接口的軸選和倍率的IO輸入狀態的DI信號獲得變量IGpiValue的值。軸號選擇以及倍率變換函數接收傳入的手脈軸號以及倍率的值。由于變量IGpiValue低4位存儲的是軸選信號,第5、6、7位存儲的是倍率信號。因此必須在該函數中要對IGpiValue值進行處理,將IGpiValue值和0x0f(00001111)進行按位與運算,運算結果就只保留前4位有效,從而獲取軸選數據slaveAxis,將IGpiVal-ue值和0x70(01110000)進行按位與運算,運算結果得到5~7位的數據,從而獲取倍率設置數據slaveEvn。根據獲取的軸選數據,確定需要手輪控制的選定軸,由于每次只能選定一個軸,必須停止其他軸。通過GT_GetEncPos(masterAxis,&mpgPos,1)能夠讀取手輪編碼器位置信息,其中masterAxis是指主軸手脈的軸號,由于手脈是外接到控制器端子板上的,它的軸號固定為11。從軸運動函數的實現是通過GT_PrfGear(SlaveAx-is)設置從軸SlaveAxis運動模式為電子齒輪模式,通過GT_SetGearMaster(SlaveAxis,masterAxis,GEAR_MAS-TER_ENCODER)設置從軸跟隨主軸編碼器,GT_Set-GearRatio(SlaveAxis,masterEvn,SlaveEvn,slope)設置從軸的傳動比和離合區。最后通過GT_GearStart(1<<(SlaveAxis-1))指令啟動電子齒輪。主函數voidmain()分別調用初始化函數、讀取編碼器位置以及手脈軸選和倍率函數,讓手脈工作。
(6)檢測代碼無誤后,編譯生成解決方案,進行程序調試。運行程序,使用手脈分別改變軸號和倍率,轉動手脈手柄,觀察軸運動狀態。經測試,利用固高電子齒輪功能,能夠很好地實現從軸跟隨手脈的功能。
5結語
隨著機電一體化設備技術要求的不斷提高,運動控制系統越來越多地采用以運動控制器為核心體系結構。固高運動控制器能夠很容易地利用電子齒輪運動模式實現電子手輪的控制功能。增加了電子手輪的運動控制系統,將大大提升用戶的操作體驗,方便設備的調試。
參考文獻
[1]王益紅,陳志同.基于PMAC的數控機床手輪功能的實現[J].機械工程師,2005,(12):68-70.
[2]楊軍軍,武建新.基于固高控制器的焊接機器人控制系統設計[J].機械研究與應用,2015,(3):200-204.
[3]汪小寶,錢明珠.電子手輪常見故障診斷與維修[J].電腦知識與技術,2020,16(4):240-241.
作者:李強 單位:山東理工職業學院