李 群,林喜鑒,林 娟
(福建省計量科學(xué)研究院,福建 福州 350003)
?
基于VC的以太網(wǎng)型交流伺服運動控制系統(tǒng)的研究
李 群,林喜鑒,林 娟
(福建省計量科學(xué)研究院,福建 福州 350003)
文中簡單介紹了以太網(wǎng)型的交流伺服運動控制系統(tǒng)的整體構(gòu)架,以SMC6480G以太網(wǎng)型運動控制器開發(fā)為例,對以太網(wǎng)型運動控制器的交流伺服運動控制系統(tǒng)的硬件平臺、軟件系統(tǒng)的研究,詳細介紹硬件平臺的總體框架,并利用Visual C++編程實現(xiàn)PC對交流伺服運動控制系統(tǒng)的開發(fā)和控制。
VC++;以太網(wǎng)型運動控制器;交流伺服系統(tǒng)
1.1以太網(wǎng)型運動控制系統(tǒng)介紹
目前市場在用的運動控制器有PCI總線型和RS232總線型,它們在應(yīng)用上都存在嚴重的缺點:①基于PCI總線的運動控制卡,要以插卡形式嵌入PC機的PCI插槽上,但由于筆記本電腦多不支持PCI接口,且易受周圍環(huán)境的污染造成插槽易氧化;②基于RS232總線的運動控制卡,RS232串口易損壞、傳輸速率低、抗干擾差、傳輸距離有限,不能進行長距離的運動控制。
而以太網(wǎng)型運動控制器可使得PC與以太網(wǎng)型運動控制器都通過以太網(wǎng)接口(RJ45接口)實現(xiàn)點對點長距離運動控制,采用五類雙絞線進行傳輸,距離可達到100米。
下面以可編程以太網(wǎng)運動控制器SMC6480G為硬件平臺,對以太網(wǎng)型運動控制器的交流伺服運動控制系統(tǒng)的硬件平臺、軟件系統(tǒng)進行研究。
系統(tǒng)的硬件由上位機PC電腦、SMC6480G以太網(wǎng)運動控制器、L5-400交流伺服驅(qū)動器和ACM6004L2H-B交流伺服電機構(gòu)成,設(shè)計出半閉環(huán)傳動控制系統(tǒng)。如圖1所示。
圖1 系統(tǒng)硬件構(gòu)成框圖
PC電腦+SMC6480G獨立式以太網(wǎng)運動控制器組成上位控制單元。PC主要任務(wù)是對運動控制系統(tǒng)進行管理,對各參數(shù)進行設(shè)置(包括軟件和硬件參數(shù))和提供友好的人機交互平臺。PC和運動控制器之間通過以太網(wǎng)構(gòu)成一個運動控制系統(tǒng),利用VC++調(diào)用運動控制器各種函數(shù)來編程,最終實現(xiàn)由計算機通過以太網(wǎng)對運動控制器發(fā)送指令和采集其信息的目標[1]。
驅(qū)動部分是由伺服驅(qū)動器(L5-400)和伺服電機(ACM6004L2H-B)組成。驅(qū)動器接收控制器發(fā)出的指令對電機的運轉(zhuǎn)進行控制,同時也接收電機反饋信號對其運轉(zhuǎn)進行調(diào)整,這樣便形成半閉環(huán)運動控制系統(tǒng)。
2.1SMC6480G以太網(wǎng)運動控制器
雷賽SMC6480G運動控制器的產(chǎn)品特點:
(1)網(wǎng)絡(luò)接口,以太網(wǎng)10M/100M;
(2)4軸獨立運動控制;
(3)每軸最大輸出脈沖頻率5MHz;
(4)兩種脈沖輸出類型:雙脈沖或脈沖方向;
(5)SMC6480G DLL函數(shù)庫適用于Windows 2000/xp/win7操作系統(tǒng);
(6)可用VB/VC/C++/LabView等語言工具編程。
SMC6480G運動控制器可獨立控制4個伺服電機,每路電機的控制信號有指令脈沖信號(PUL+、PUL-)、方向脈沖信號(DIR+、DIR-)。參照說明書,把指令和方向脈沖信號設(shè)置成差分輸出方式[2]。SMC6480G與交流伺服驅(qū)動器的連接如圖2所示。
圖2 SMC6480G與L5-400驅(qū)動器的接線圖
2.2L5交流伺服系統(tǒng)(L5-400伺服驅(qū)動器+ACM60042H-B伺服電機)
L5交流伺服系統(tǒng)選擇位置控制模式對驅(qū)動器進行控制,信號輸入選擇差分輸入電路,采用“脈沖+方向”的指令脈沖模式。
直線運動控制系統(tǒng)的脈沖指令工作流程如圖3。
由運動平臺技術(shù)參數(shù)可知,滾珠絲桿導(dǎo)程(螺距)L=10mm;為在校準中數(shù)據(jù)記錄和處理方便用,設(shè)置脈沖當(dāng)量為1μm/pulse,即給伺服電機輸入一個指令脈沖,滑臺移動1μm。那么伺服電機旋轉(zhuǎn)一周需要輸入的指令脈沖數(shù)為10mm/1μm=10000。
設(shè)置驅(qū)動器工作于脈沖位置指令模式,當(dāng)驅(qū)動器的Pr.009、Pr.010參數(shù)都設(shè)置為1,即指令分倍頻比為1,即運動控制卡發(fā)出n個指令脈沖給驅(qū)動器,驅(qū)動器也發(fā)出n個指令脈沖給伺服電機。由于伺服電機旋轉(zhuǎn)一周需要輸入的指令脈沖數(shù)為10000,故運動控制卡給伺服驅(qū)動器輸入的脈沖數(shù)也為10000。
然后由ACM60042H-B伺服電機的技術(shù)參數(shù)可知,伺服編碼器解析度為2500 pulse,可知伺服電機轉(zhuǎn)一周編碼器輸出2500個檢測脈沖。由于L5-400驅(qū)動器的編碼器數(shù)字輸入信號頻率為4倍頻,即伺服電機旋轉(zhuǎn)一周,電機編碼器輸出2500個脈沖,驅(qū)動器的編碼器輸入端檢測到10000個脈沖輸入。
故伺服電機旋轉(zhuǎn)一周時,運動控制卡輸入給伺服驅(qū)動器的指令脈沖數(shù)與伺服驅(qū)動器編碼器檢測的脈沖數(shù)都為10000,故電子齒輪比為1。
根據(jù)上述參數(shù)值設(shè)置要求,對L5-400驅(qū)動器參數(shù)進行基本設(shè)定,其設(shè)定內(nèi)容如下:
Pr0.01:參數(shù)設(shè)為0,為位置控制;
Pr0.02:參數(shù)設(shè)為2,為重視定位;
Pr0.03:參數(shù)設(shè)為11,調(diào)整伺服剛性;
Pr0.04:參數(shù)設(shè)為250,設(shè)定電機的負載慣量比;
Pr0.06:參數(shù)設(shè)為1,設(shè)置指令脈沖輸入的旋轉(zhuǎn)方向;
Pr0.07:參數(shù)設(shè)為1,設(shè)置成差分輸入模式;
Pr0.09:參數(shù)設(shè)為1,對指令脈沖輸入的分頻、倍頻處理的分子進行設(shè)置;
Pr0.10:參數(shù)設(shè)為1,對指令脈沖輸入的分頻、倍頻處理的分母進行設(shè)置;
Pr0.11:參數(shù)設(shè)為2500,設(shè)定電機旋轉(zhuǎn)一圈輸出的脈沖數(shù)為10000。
3.1基于windows平臺的應(yīng)用軟件結(jié)構(gòu)
雷賽運動控制器的控制系統(tǒng)架構(gòu)如圖4所示。
運動控制可以描述為以下幾個步驟:
(1)PC應(yīng)用程序,通過參數(shù)配置,人機操作接口(包括顯示屏和鍵盤)傳遞給設(shè)備的控制軟件;
(2)設(shè)備的控制軟件將操作信息轉(zhuǎn)化為運動參數(shù)并根據(jù)這些參數(shù)調(diào)用DLL庫中運動函數(shù);
(3)運動函數(shù)發(fā)出控制指令給控制器;
(4)雷泰運動控制器再根據(jù)控制指令發(fā)出相應(yīng)的驅(qū)動信號(如脈沖、方向信號)給驅(qū)動器及電機、讀取編碼器數(shù)據(jù)、讀寫通用輸入輸出口。
在開發(fā)應(yīng)用軟件的過程中所需要做的就是針對上面所說的步驟1、2進行編程。雷泰公司配套提供了VC++ 6.0下運動控制函數(shù)動態(tài)鏈接庫。SMC6480G運動控制函數(shù)庫是一個運動控制API函數(shù)庫,通過動態(tài)鏈接庫可以實現(xiàn)對自己的單軸電機進行精確、高速、協(xié)調(diào)的控制[3]。
3.2Visual C++ 6.0環(huán)境下的軟件開發(fā)
SMC6480G控制器具有良好的開放性,支持C/C++、BASIC等語言的開發(fā)應(yīng)用程序。文中是在Windows xp系統(tǒng)下利用Visual C++ 6.0的MFC以面向?qū)ο蠓绞竭M行編程??刂破髟赪indows下開發(fā)的底層動態(tài)庫包括頭文件smc6480.h,smc6x.lib和smc6x.dll。在VC++環(huán)境中,將運動函數(shù)鏈接到工程項目中,將smc6x.lib加入到工程。在調(diào)用運動函數(shù)的文件頭部代碼中加入#include“smc6480.h”語句。每個函數(shù)的具體功能,可以打開頭文件smc6480.h了解每個函數(shù)的具體定義。在Visual C++ 6.0環(huán)境下對運功控制系統(tǒng)的軟件開發(fā)典型流程如圖5所示。
圖5 運動控制系統(tǒng)的軟件開發(fā)典型流程
在Visual C++ 6.0開發(fā)環(huán)境下設(shè)計了軟件界面,通過以太網(wǎng)鏈接,對系統(tǒng)的各種參數(shù)進行了設(shè)置。成功實現(xiàn)了通過以太網(wǎng)口完成PC對交流運動控制系統(tǒng)的開發(fā)。運動控制系統(tǒng)的控制面板如圖6所示。
圖6 運動控制系統(tǒng)的控制面板圖
文中以SMC6480G以太網(wǎng)型運動控制器開發(fā)為例,對以太網(wǎng)型運動控制器的交流伺服運動控制系統(tǒng)的硬件平臺、軟件系統(tǒng)的研究,詳細介紹了硬件平臺的總體框架,利用Visual C++編程介紹了二次開發(fā)的全過程,并實現(xiàn)PC對交流伺服運動控制系統(tǒng)的開發(fā)和控制。
[1]曹預(yù)備,周亞軍.主從式交流伺服運動控制系統(tǒng)的數(shù)據(jù)通信[J].控制與檢測,2009, (09):56-63.
[2]聶國強,左力.SMC6480運動控制器在鋰電池焊接上的應(yīng)用[J].伺服控制,2010, (06):91-93.
[3]徐峰,林喜鑒.基于VC++的非金屬超聲波檢測儀校準裝置軟件系統(tǒng)設(shè)計[J].計量與測試技術(shù),2012,39(11):6-7.
The Research of an Ethernet AC Servo Control Systerm Fulfilled by VC++
LI Qun, LIN Xi-Jian, LIN Juan
(Fujian Metrology Institute, Fuzhou 350003, Fujian, China)
The structure of AC(Alternating current) servo control systerm based on ethernet is breifly introduced in paper.The motion CU(Controll Unit) used in paper is SMC6480G. And we study hardware and software of the servo control systerm based on this CU.In paper, we also expound on the structure of the hardware based on SMC6480G and fulfill PC control and development to the AC servo control systerm by VC++( Visual C++).
VC++; Motion CU based on ethernet; AC servo systerm
2016-01-02
李 群,男,福建省計量科學(xué)研究院力學(xué)室,副主任,工程師,碩士
林喜鑒,男,福建省計量科學(xué)研究院力學(xué)室,檢定員,工程師
林 娟,女,福建省計量科學(xué)研究院力學(xué)室,檢定員,工程師,碩士