“虹科”工業(yè)自動(dòng)化
本系列文章旨在幫助讀者對(duì)虹科KPA Automation體系進(jìn)行一個(gè)簡(jiǎn)要的理解,并且能使用MoDK進(jìn)行快速的上手操作,包括:虹科KPA Automation、虹科KPA MoDK簡(jiǎn)介,虹科KPA MoDK的運(yùn)行環(huán)境搭建與例程測(cè)試。本文檔搭建的虹科KPA MoDK運(yùn)行環(huán)境,是基于Win10,并且是以C/C++為開發(fā)語言進(jìn)行的。
本篇推文將展示部分官方例程的測(cè)試。以下例程分別對(duì)應(yīng)了MoDK可以控制的3類對(duì)象:EtherCAT從站(結(jié)合MDK)、Vrep機(jī)器人仿真平臺(tái)、Simulation(純文字仿真)。最后一個(gè)例程通過Motion Configuration Utility中的設(shè)置,實(shí)現(xiàn)了對(duì)實(shí)際電機(jī)以及Vrep中仿真機(jī)器人的同時(shí)控制。
溫故知新
點(diǎn)擊以下鏈接可回顧前文內(nèi)容
? 虹科KPA MoDK運(yùn)行環(huán)境與搭建步驟(1)——運(yùn)行環(huán)境簡(jiǎn)介
? 虹科KPA MoDK運(yùn)行環(huán)境與搭建步驟(2)——MoDK運(yùn)行環(huán)境搭建
1. Move_relative (EtherCAT & CiA402)
該例程的測(cè)試效果是控制一個(gè)物理電機(jī)軸進(jìn)行3次相關(guān)運(yùn)動(dòng),需要我們外接一個(gè)EtherCAT從站伺服和電機(jī)進(jìn)行現(xiàn)象觀察,筆者的測(cè)試環(huán)境中,選擇的是maxsine的伺服。
?例程測(cè)試的步驟如下:
在虹科KPA Studio中進(jìn)行網(wǎng)絡(luò)組態(tài)
打開虹科KPA Studio,導(dǎo)入maxsine伺服ESI文件。當(dāng)虹科KPA MRT安裝完畢后,可用作本地EtherCAT Master與Studio進(jìn)行連接。將maxsine伺服拖動(dòng)至Master的位置,即實(shí)現(xiàn)了從站的掛載,也完成了網(wǎng)絡(luò)組態(tài)。
進(jìn)行軸的配置,并導(dǎo)出配置文件
接下來在Motion Configuration Utility中將軸與伺服電機(jī)進(jìn)行對(duì)接,并導(dǎo)出網(wǎng)絡(luò)組態(tài)與軸配置文件,然后進(jìn)行電機(jī)軸與伺服的綁定,并導(dǎo)出相關(guān)文件。
修改程序源代碼的部分參數(shù)
例程通過讀取網(wǎng)絡(luò)配置文件和軸配置文件進(jìn)行MoDK運(yùn)行環(huán)境的初始化,其讀取的文件名是通過宏進(jìn)行設(shè)定的。可以通過修改宏來適應(yīng)文件名。另外,我們還需要修改ecatm虹科KPA15_helper.c中的選用網(wǎng)卡編號(hào),使得本地Master能夠通過正確的網(wǎng)卡進(jìn)行從站伺服的控制。
以上配置完成后,點(diǎn)擊“ctrl+F5”,即可運(yùn)行程序觀察現(xiàn)象。
2. Move_path (Vrep)
該例程不僅體現(xiàn)了虹科KPA MoDK的另一種被控對(duì)象(Vrep),并且也體現(xiàn)了另一種軸實(shí)例的初始化方式——源代碼配置,即通過直接在程序中添加源碼以到達(dá)修改軸配置參數(shù)的目的。相比上一個(gè)例程中的“界面配置+源碼導(dǎo)入”的環(huán)境初始化方式,這種配置方式無疑會(huì)更加繁瑣,而且會(huì)增加源代碼的代碼量。但是在此部分代碼完成后,再次修改軸配置參數(shù)的步驟可以直接在代碼中進(jìn)行,而另一種環(huán)境初始化方式則仍需要重新配置生成ini文件。
例程測(cè)試的步驟如下:
在VREP中打開官方提供的三軸線性機(jī)器人模型
虹科MoDK提供了一個(gè)Vrep三軸線性機(jī)器人模型,在開發(fā)包的samples文件夾下,安裝Vrep后,雙擊即可在Vrep中打開模型
在代碼中修改VREP的端口參數(shù)
虹科MoDK提供的Vrep模型使用3.04.00版本的Vrep開發(fā),而目前在官網(wǎng)上下載的Vrep版本已經(jīng)到達(dá)了3.5.0。不過這并不需要用戶進(jìn)行太多的適配操作,新版本的vrep會(huì)向下兼容舊版本vrep的模型。
觀察控制現(xiàn)象
修改完成后,即可進(jìn)行例程測(cè)試,點(diǎn)擊ctrl+F5,切換至VREP窗口,即可觀察到機(jī)器人末端按照預(yù)定的軌跡點(diǎn)進(jìn)行運(yùn)動(dòng)。用戶也可以使用自己的算法生成所需要的軌跡在此demo中進(jìn)行測(cè)試
3.Simulation_move_absolute (Simulation)
此例程為純文字仿真,不需要進(jìn)行額外的操作。MoDK在虹科KPA運(yùn)行環(huán)境內(nèi)創(chuàng)建了虛擬軸句柄,simulation即對(duì)這些虛擬軸句柄進(jìn)行虛擬化運(yùn)動(dòng),反映在讀取的各軸位置、速度值發(fā)生變化。
切換啟動(dòng)項(xiàng)目,按下ctrl+F5,即可開始仿真。
?4. Move_complex_drawing (EtherCAT & CiA402 + Vrep)
對(duì)于可控制的三種被控對(duì)象,虹科MoDK可以同時(shí)控制其中任意兩種,此部分選取EtherCAT伺服電機(jī)+Vrep機(jī)器人模型這兩種比較直觀的被控對(duì)象進(jìn)行測(cè)試。測(cè)試控制的對(duì)象是三個(gè)maxsine的EtherCAT伺服電機(jī),加上Vrep中的三軸線性機(jī)器人模型。
例程測(cè)試的步驟如下:
在虹科KPA Studio中進(jìn)行網(wǎng)絡(luò)組態(tài)
此部分操作與第1個(gè)例程Move_relative (EtherCAT & CiA402)的操作基本相同,可參照前文進(jìn)行。
打開Vrep中的三軸線性機(jī)器人模型,并將軸與伺服電機(jī)進(jìn)行對(duì)接
留意此處線性機(jī)器人模型的名稱,后續(xù)會(huì)使用到。并且注意到,機(jī)器人的axis1使用y軸坐標(biāo)表示,axis2使用x軸坐標(biāo)表示。而代碼的邏輯是按照x、y的順序進(jìn)行掃描的。因此在初始化配置的時(shí)候需要留意軸的編號(hào)指定,即將編號(hào)1(x軸)指定到axis2,編號(hào)2(y軸)指定到axis1。
修改V-REP參數(shù)和通用參數(shù),并克隆電機(jī)軸
將參數(shù)修改為所需的參數(shù),完成電機(jī)軸參數(shù)配置后克隆電機(jī)軸,然后只需要為克隆出來的電機(jī)軸綁定伺服、設(shè)定Vrep機(jī)器人模型的軸編號(hào)、修改Vrep端口號(hào)即可。
導(dǎo)出文件,修改源代碼部分參數(shù)后按下“ctrl+F5”,即可看到控制現(xiàn)象:Vrep中的機(jī)器人模型進(jìn)行圓周運(yùn)動(dòng),EtherCAT伺服也在帶動(dòng)電機(jī)進(jìn)行運(yùn)動(dòng)。
?總結(jié)CONCLUSIONS
1. 觀察MoDK的例程代碼,可以發(fā)現(xiàn)其程序編寫遵循一個(gè)比較規(guī)整的三步走模式:聲明變量→創(chuàng)建實(shí)例→函數(shù)調(diào)用,軸控制循環(huán)則采用狀態(tài)機(jī)的方式實(shí)現(xiàn)。但這種PLC的編程方式雖然用起來的思路比較明確,但是代碼量看起來會(huì)相當(dāng)龐大,可維護(hù)性相對(duì)較差。2. 因而MoDK最好的使用方式,仍是結(jié)合虹科Straton使用PLC語言進(jìn)行開發(fā)。虹科Straton擁有獨(dú)立的變量編輯器,并且PLC功能塊創(chuàng)建與調(diào)用本身就是一體化的,可以極大減少開發(fā)的工作量,程序的維護(hù)也變得直觀與簡(jiǎn)單起來。
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5269瀏覽量
126599
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論