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