(廣東工業(yè)大學(xué),廣州 510006)
Yasukawa驅(qū)動(dòng)器及其電機(jī)占有自動(dòng)化市場份額巨大,屬于中高檔伺服驅(qū)動(dòng)產(chǎn)品,具有優(yōu)質(zhì)的運(yùn)動(dòng)控制性能。本文嘗試直接采用其Σ-V系列伺服驅(qū)動(dòng)器作為控制器,以減少中間環(huán)節(jié)降低成本投入為目的,通過RS422總線,結(jié)合MEMOBUS RTU通訊協(xié)議及其電機(jī),構(gòu)建形成具有單通道通訊控制的多軸伺服驅(qū)動(dòng)技術(shù)方案,如圖1所示。并在Mircrosoft Visual Studio 2012平臺(tái)上以C#語言編程,開發(fā)Yasukawa多軸伺服驅(qū)動(dòng)運(yùn)動(dòng)平臺(tái)操作的上位機(jī),進(jìn)一步擴(kuò)展Yasukawa豐富的操作功能,實(shí)現(xiàn)上位機(jī)對整個(gè)伺服系統(tǒng)的可靠監(jiān)控,使伺服系統(tǒng)各個(gè)參數(shù)的調(diào)節(jié)具備可觀,實(shí)現(xiàn)實(shí)時(shí)控制,操作簡單,便于快速應(yīng)用到各種自動(dòng)化生產(chǎn)領(lǐng)域,減少配套設(shè)備的開發(fā)周期,降低硬件需求的成本。
圖1 多軸伺服驅(qū)動(dòng)技術(shù)方案
圖2 Yasukawa伺服驅(qū)動(dòng)器及其電機(jī)
圖3 電路圖及I/O接線圖
Yasukawa伺服驅(qū)動(dòng)器在Memobus網(wǎng)絡(luò)中作為從站,通過RS422現(xiàn)場總線可以設(shè)置多個(gè)從站[1]。其外觀圖如圖2所示。Yasukawa伺服驅(qū)動(dòng)器[2]提供CN3端口,如圖4的各驅(qū)動(dòng)器的通信鏈路,以現(xiàn)場總線RS422轉(zhuǎn)USB與PC端通信,實(shí)現(xiàn)單通道的數(shù)據(jù)傳輸方式。另外其輸入輸出信號(hào)CN1端口的I/O采用部分端子如圖3所示,分別為伺服準(zhǔn)備就緒輸出29(S-RDY+)、伺服準(zhǔn)備就緒輸出30(S- RDY-)、電源DC24V輸入47(VIN)、禁止正轉(zhuǎn)驅(qū)動(dòng)42(P-OT)、禁止反轉(zhuǎn)驅(qū)動(dòng)43(N-OP)。三軸運(yùn)動(dòng)方向上還安裝了兩對行程開關(guān)和一對光電感應(yīng)傳感器防止伺服電機(jī)超行程發(fā)生安全事故。
圖4 各驅(qū)動(dòng)器的通信鏈路
Yasukawa伺服驅(qū)動(dòng)器提供多種功能模式,本文的控制方案上位機(jī)開發(fā)主要集中在操作、跟蹤區(qū)域(2000H~2FFFH)、機(jī)種定義區(qū)域(C000H~CFFFH)及監(jiān)視器區(qū)域(E000H~EFFFH)方面的寄存器[3]。
其中在操作模式中設(shè)定【JOG運(yùn)行模式】,即可進(jìn)行JOG運(yùn)行,相關(guān)的寄存器及操作模式設(shè)定寄存器2000H如表1所示,操作設(shè)定2001H設(shè)定值如表2所示。
而在操作模式中設(shè)定【程序點(diǎn)動(dòng)運(yùn)行】可以根據(jù)用戶參數(shù)中預(yù)先設(shè)定的運(yùn)行曲線、移動(dòng)距離、移動(dòng)速度、加減速時(shí)間、反復(fù)運(yùn)行次數(shù)可連續(xù)自動(dòng)運(yùn)行。且執(zhí)行中為位置控制模式。相關(guān)寄存器如表2所示。
表1 JOG運(yùn)行相關(guān)寄存器及操作模式2000H設(shè)定值
Yasukawa伺服驅(qū)動(dòng)器要求高效的傳送速度為19200bps,數(shù)據(jù)位為8bit,停止位為1bit,校驗(yàn)位為偶校驗(yàn),通信方式為全雙重通信[3]。
根據(jù)其驅(qū)動(dòng)器的Memobus通信方式的信息格式如表3所示,指令/應(yīng)答的信息格式相同,都是由從站地址、功能代碼、數(shù)據(jù)以及出錯(cuò)校驗(yàn)這4個(gè)區(qū)域構(gòu)成[2]。主站向從站發(fā)出指令信息時(shí),設(shè)定從站的地址,例如從站地址:01,代表第一伺服驅(qū)動(dòng)器。從站只提取針對自己的指令信息。從站在向主站返回應(yīng)答信息時(shí),設(shè)定自己的地址也為:01。主站通過功能代碼指定想要從站執(zhí)行的功能,從站根據(jù)功能代碼,執(zhí)行被指定的功能。執(zhí)行后,返回應(yīng)答信息時(shí),正常應(yīng)答信息為設(shè)定相同的功能代碼,異常應(yīng)答信息為設(shè)定功能代碼+80H。根據(jù)此信息,主站從返回哪個(gè)功能代碼就能知道相關(guān)的應(yīng)答信息。設(shè)定每個(gè)功能代碼所定義的信息,即數(shù)據(jù)。為了檢出由于信號(hào)傳送所導(dǎo)致的信息錯(cuò)誤(bit的變化),需要設(shè)定出錯(cuò)校驗(yàn)用數(shù)據(jù)。出錯(cuò)校驗(yàn)通過CRC-16(同步冗余校驗(yàn))來執(zhí)行。
表2 程序點(diǎn)動(dòng)相關(guān)寄存及2000H與2001H設(shè)定
表3 Memobus數(shù)據(jù)幀結(jié)構(gòu)及功能碼表
以單個(gè)寄存器的寫入(子功能代碼:06H)為例,主站將寫入的數(shù)據(jù)分割為高位8bit和低位8bit后,發(fā)送指令信息。如將數(shù)據(jù)029EH寫入到3#從站的寄存器006AH中,如表4信息示例所示。
同樣,按照協(xié)議傳輸方式和Memobus功能碼可以編程實(shí)現(xiàn)對Yasukawa伺服驅(qū)動(dòng)器實(shí)際參數(shù)的讀取和設(shè)置,從而實(shí)現(xiàn)伺服電機(jī)的多種方式(原點(diǎn)搜索模式、位置模式、速度模式等)控制。按照Memobus協(xié)議,最多可實(shí)現(xiàn)連接15軸(電纜總長度最長30m)[4],因此,從站的通信方式簡化清晰,顯示了Memobus協(xié)議控制方式強(qiáng)大的可擴(kuò)展性。
表4 信息示例
該軟件結(jié)合Mircrosoft Visual Studio 2012平臺(tái)以C#語言編程,設(shè)計(jì)指令動(dòng)態(tài)連接庫,進(jìn)行多軸伺服驅(qū)動(dòng)運(yùn)動(dòng)平臺(tái)操作的上位機(jī)開發(fā)。
指令動(dòng)態(tài)鏈接庫包括【各軸伺服驅(qū)動(dòng)器/電機(jī)監(jiān)控】、【各軸運(yùn)動(dòng)操作方法】、【驅(qū)動(dòng)器運(yùn)作模式監(jiān)控】、【程序點(diǎn)動(dòng)模式完成信號(hào)監(jiān)控】、【各軸伺服ON/OFF】、【CRC列表及校驗(yàn)碼計(jì)算】等等。如:【X軸伺服驅(qū)動(dòng)器/電機(jī)監(jiān)控】的非連續(xù)讀取寄存器的信息指令。
在自定義類里,編寫實(shí)現(xiàn)產(chǎn)生CRC校驗(yàn)碼的方法,其中采取高效率的查表法,使整體代碼運(yùn)作效率提高,計(jì)算CRC16循環(huán)校驗(yàn)碼關(guān)鍵代碼如下:
Yasukawa驅(qū)動(dòng)器的數(shù)據(jù)監(jiān)控、跟蹤及自動(dòng)運(yùn)行需要同步線程來實(shí)現(xiàn),其中軟件在自動(dòng)運(yùn)行中所定義的線程如下:
Yasukawa伺服驅(qū)動(dòng)器提供位置、速度、扭矩3種基本控制模式[1],根據(jù)平臺(tái)的實(shí)際用處,本設(shè)計(jì)采用位置模式和速度模式,設(shè)計(jì)PC上位機(jī)與各個(gè)從站設(shè)備的異步串口通信程序及操作程序,其中程序設(shè)計(jì)流程圖如圖5所示。
圖5 程序設(shè)計(jì)流程圖
上位機(jī)系統(tǒng)界面如圖6所示,其中包括實(shí)現(xiàn)單軸控制、多軸順序控制、定距點(diǎn)動(dòng)、動(dòng)作路線規(guī)劃、歸位、自動(dòng)運(yùn)行、監(jiān)控、脫機(jī)模擬運(yùn)行、指令輸入輸出狀態(tài)反饋的功能。點(diǎn)擊【掃描端口】可獲得當(dāng)前計(jì)算機(jī)可用端口,并通過計(jì)算機(jī)的設(shè)備管理器查看確定鏈接的端口。確定那一個(gè)端口后并可以點(diǎn)擊【連接】連接系統(tǒng)。其余的端口可在拔掉RS422總線,在計(jì)算機(jī)上可進(jìn)行軟件的模擬運(yùn)動(dòng)操作,除以下框架之外,模擬運(yùn)動(dòng)操作不顯示信息,分別為{伺服/電機(jī)信息}{軸回歸操作}{模式監(jiān)控}框架。連接成功后。{伺服/電機(jī)信息}框架中會(huì)顯示驅(qū)動(dòng)器和電機(jī)方面的信息。
圖6 上位機(jī)系統(tǒng)界面
本軟件可實(shí)現(xiàn)三種操作功能:單軸操作和多軸順序操作及自動(dòng)運(yùn)行操作。單軸操作方法又分兩種:{單軸定距JOG操作}和{程序操作設(shè)定}。且操作間有提示及安全注意。下面以單軸操作為例實(shí)施檢測。
驅(qū)動(dòng)X軸:點(diǎn)擊【初始化驅(qū)動(dòng)A】+【選擇A-JOG】+輸入【時(shí)間】+輸入【JOG速度】+【先確定距離再操作正反轉(zhuǎn)】+{程序操作設(shè)定}的【驅(qū)動(dòng)器A】+【伺服ON】+【X軸JOG+】或【X軸JOG-】。即可實(shí)現(xiàn)X軸的定距運(yùn)動(dòng)操作。停止則是:點(diǎn)擊【初始化驅(qū)動(dòng)A】或【伺服OFF】。運(yùn)動(dòng)后,{軸回歸操作}框架能顯示各軸運(yùn)動(dòng)的總距離。而在{動(dòng)作規(guī)劃}框架中可設(shè)置48個(gè)輸入點(diǎn),X軸的行程為500mm,Y軸的行程為1000mm,Z軸的行程為100mm,其中以速度模式和位置模式運(yùn)行時(shí)的界面如圖7、圖8所示。
圖7 監(jiān)控驅(qū)動(dòng)器的速度模式
圖8 監(jiān)控驅(qū)動(dòng)器的位置模式
目前,上位機(jī)測試穩(wěn)定,定位精確,通信時(shí)效性強(qiáng),操作直觀,簡潔清晰。
本項(xiàng)目研究所設(shè)計(jì)的通信控制方案,基于C#語言進(jìn)行Memobus串行通信,可實(shí)現(xiàn)PC上位機(jī)直接控制伺服驅(qū)動(dòng)器,進(jìn)而實(shí)現(xiàn)了多軸伺服驅(qū)動(dòng)的運(yùn)動(dòng)控制。本系統(tǒng)通過友好的人機(jī)交互界面,能進(jìn)一步擴(kuò)展Yasukawa伺服驅(qū)動(dòng)豐富的操作功能,使各個(gè)參數(shù)的調(diào)節(jié)具有可觀,實(shí)時(shí)控制性強(qiáng),系統(tǒng)性能可靠,硬件結(jié)構(gòu)簡單,因而能快速應(yīng)用到自動(dòng)化生產(chǎn)領(lǐng)域中去,對減少配套設(shè)備開發(fā)周期,降低硬件需求成本有現(xiàn)實(shí)意義。
[1]Yasukawa電機(jī)官方網(wǎng)站.MEMOBUS通信規(guī)格書[900-017-771]ΣⅤシリーズACサーボパックMEMOBUS通信仕様書(中)[Z].
[2]Yasukawa電機(jī)官方網(wǎng)站.Σ-Ⅴ系列用戶手冊設(shè)計(jì)、維護(hù)篇模擬量電壓、脈沖序列指令型/旋轉(zhuǎn)型(SICPS80000045B)[Z].
[3]Yasukawa電機(jī)官方網(wǎng)站.信息通信寄存器規(guī)格書[900-018-129]Σ-ⅤシリーズACサーボドライブメッセージ通信レジスタ仕様書(中)[Z].
[4]Yasukawa電機(jī)官方網(wǎng)站.Yasukawa硬件連接[900-024-784]Σ-ⅤシリーズACサーボパックMEMOBUS通信仕様書(ハードウエア接続)(中)[Z].