摘要:MOTOMAN機器人的兩款新型二次開發(fā)軟件MotoPlus和Pendant customization,使用戶不需要了解機器人內(nèi)部的原理或代碼,就可以把自己編寫的程序嵌入到機器人內(nèi),方便實現(xiàn)外部設(shè)備與機器人的數(shù)據(jù)交互,以及示教盒的客戶化界面的編寫。
0前言
隨著全球工業(yè)化進程的不斷推進,工業(yè)機器人已經(jīng)在越來越多的行業(yè)發(fā)揮著舉足輕重的作用。為了適應(yīng)不斷發(fā)展的工業(yè)需求,MOTOMAN機器人不斷創(chuàng)新,不斷完善,滿足用戶的多元化需求。
MOTOMAN機器人作為全球市場占有率領(lǐng)先的機器人,已廣泛應(yīng)用于社會生活各領(lǐng)域,尤以制造業(yè)為更多。一直以來,為廣大MOTOMAN機器人用戶所熟知的二次開發(fā)軟件僅有Motocom32一種,雖然Motocom32功能強大,編程簡單,但還是不能滿足某些用戶的特殊需求。尤其是大專院校、科研院所等,對機器人的應(yīng)用,有更多的創(chuàng)新,對機器人二次開發(fā)功能要求也就更具多樣性。
本文介紹了傳統(tǒng)的Motocom32通訊軟件和MOTOMAN機器人的兩款新型二次開發(fā)軟件,MotoPlus和Pendant customization。這兩款新軟件都是在機器人內(nèi)部運行的,用戶不需要了解機器人內(nèi)部的原理或代碼,就可以把自己編寫的程序嵌入到機器人內(nèi),方便實現(xiàn)外部設(shè)備與機器人的數(shù)據(jù)交互,以及示教盒的客戶化界面的編寫。
傳統(tǒng)的Motocom32介紹
Motocom32是在電腦上運行的,用于計算機與機器人
控制柜之間進行數(shù)據(jù)傳輸?shù)能浖S嬎銠C與控制柜之間可以使用RS232串口通信也可以使用以太網(wǎng)通信。該套軟件,既提供現(xiàn)成的應(yīng)用程序供用戶使用,又提供動態(tài)鏈接庫等文件供用戶二次開發(fā)。只要具備基本的VC或VB知識就可以掌握二次開發(fā)方法,每一種功能都提供現(xiàn)成的函數(shù)供用戶直接調(diào)用。用戶通過這些函數(shù),可以建立計算機與控制柜的通訊連接,可以讀取機器人的當前信息和狀態(tài),可以實現(xiàn)對機器人的控制,啟動指定的機器人程序,控制機器人的運動等。用戶可以根據(jù)自己的不同需求,把對機器人的控制集成到自己的系統(tǒng)軟件中或單獨開發(fā)機器人監(jiān)控軟件。
圖1為Motocom32在工業(yè)生產(chǎn)現(xiàn)場的應(yīng)用示例。生產(chǎn)現(xiàn)場的機器人可以通過網(wǎng)線連入工廠的局域網(wǎng)內(nèi),在不同地方的PC都能通過Motocom32軟件監(jiān)測機器人生產(chǎn)狀態(tài)和報警信息。
圖1 Motocom32應(yīng)用示例
Motocom32開發(fā)工具:Visual Basic 或Visual C++
Motocom32特點:
(1)通訊設(shè)置簡單:只需在機器人內(nèi)修改相應(yīng)參數(shù),并在機器人和計算機上設(shè)定好相應(yīng)的IP地址,就能實現(xiàn)機器人與計算機的通訊。
(2)功能齊全:包括文件傳輸功能,機器人控制功能,DCI功能,I/O信號讀取功能等。
(3)編程方便:提供專門的通訊函數(shù)庫,用戶不需要掌握底層的通訊規(guī)則,只需要調(diào)用相應(yīng)的函數(shù)就能實現(xiàn)所需功能,容易上手。而且每個函數(shù)的參數(shù)都有詳細的解釋。
例如:讀取機器人變量的函數(shù):
Short BscGetVarData(short nCid, short type, short varno, double *p)
參數(shù):
ncid: 通訊ID號
type:變量類型
varno:變量號
*p:變量指針
返回值:
0:成功執(zhí)行
其他:錯誤代碼
MotoPlus介紹
MotoPlus是一個專業(yè)的集成開發(fā)環(huán)境,利用C語言在MotoPlusIDE文本編輯器中編寫代碼,然后編譯鏈接成可執(zhí)行程序,安裝到機器人控制柜中,可作為一個任務(wù)在機器人內(nèi)執(zhí)行。機器人上電后,儲存在CF卡上的MotoPlusApI應(yīng)用程序,自動導(dǎo)入到機器人內(nèi)存中,和系統(tǒng)程序同時執(zhí)行。圖2為MotoPlus開發(fā)環(huán)境。
圖2 MotoPlus開發(fā)環(huán)境
MotoPlus應(yīng)用程序是以任務(wù)的形式啟動的,一個應(yīng)用程序可以是單任務(wù)的,也可以是多任務(wù)的,可以同時啟動,也可以在任務(wù)內(nèi)單獨調(diào)用。任務(wù)可以有多種狀態(tài),運行,睡眠,等待等。根據(jù)任務(wù)的不同,還可以設(shè)置不同的優(yōu)先級。不同任務(wù)間可以通過信號或事件進行信息交互。
MotoPlus的API提供的功能包括:任務(wù)控制,機器人控制,JOB控制,IO控制,網(wǎng)絡(luò)通信控制,事件,串口通信控制等。通過這些功能,可以通過視覺傳感器或其他傳感器的數(shù)據(jù)動態(tài)調(diào)整機器人的位置,通過網(wǎng)絡(luò)通信實現(xiàn)機器人與外部PC的數(shù)據(jù)傳輸或者實現(xiàn)機器人程序的順序控制。
MotoPlus的開發(fā)工具:MotoPlusIDE
MotoPlus的特點:
(1)執(zhí)行速度快:應(yīng)用程序嵌入到了機器人系統(tǒng)中,就像CPU上的原生代碼一樣,所以執(zhí)行速度很快。
(2)減少硬件配置:通過MotoPlus提供的網(wǎng)絡(luò)通訊端口和RS232串口通訊端口,用戶可以直接建立機器人與外部傳感器的連接,與傳統(tǒng)的MOTOCOM32通訊方式相比,減少了一臺計算機的配置。
(3)編程簡單:使用C語言豐富的標準庫以及MotoPlus提供的API函數(shù)集,不需要調(diào)整機器人控制柜的源代碼便可開發(fā)出各種應(yīng)用程序。
例如:讀取機器人變量的函數(shù):
LONG mpGetVarData(MP_VAR_INFO* sData, LONG * rData, LONG num)
參數(shù):
sData:指向變量數(shù)據(jù)結(jié)構(gòu)的指針
rData:指向變量數(shù)據(jù)的指針
num:變量數(shù)據(jù)的個數(shù)
返回值:
0:正常結(jié)束
-1:錯誤
Pendant customization介紹
Pendant customization是機器人示教盒的客戶化界面開發(fā)工具。在嵌入式操作系統(tǒng)WindowsCE上開發(fā)的應(yīng)用軟件裝入機器人控制器的示教盒內(nèi),可以構(gòu)建客戶化畫面,滿足用戶對不同工況人機界面的需求。
Pendant customization應(yīng)用軟件的開發(fā)是在嵌入式系統(tǒng)上進行的,需要具備嵌入式軟件開發(fā)的知識,還需要具備多線程,winsock等方面的知識。通過指定功能的API函數(shù)庫,用戶可以實現(xiàn)對機器人的系統(tǒng)控制,系統(tǒng)監(jiān)視和文件傳輸?shù)裙δ堋?yīng)用軟件生成的可執(zhí)行程序通過專用軟件下載至示教盒內(nèi),程序可以在示教盒上調(diào)試,也可以在電腦上調(diào)試。下載后的客戶化界面可以在機器人上電時自動啟動,也可通過按鈕啟動。
裝入客戶化界面的示教盒可以在標準界面和客戶化界面間任意切換(如圖3)。由于客戶化應(yīng)用程序要作為機器人系統(tǒng)的一部分啟動,所以可能會對機器人系統(tǒng)地運行造成影響,為此制定了一些編程規(guī)則,比如應(yīng)用程序的任務(wù)優(yōu)先級和文件保存位置等,為了使機器人系統(tǒng)整體安全運行,必須嚴格遵守編程規(guī)則,否則標準界面將無法正常啟動。
圖3 客戶化界面與標準界面間的切換
開發(fā)工具:Microsoft eMbedded Visual C++ 4.0 SP4開發(fā)語言:VC++
Microsoft Visual Studio 2005 開發(fā)語言:C#
特點:
(1)示教盒界面更直觀、操作更簡單:通過客戶化界面,可以自行組織自己所需的信息,使工況設(shè)置更簡單、機器人信息更直觀。
(2)減少硬件配置:對于小型的簡單人機界面要求,示教盒可以作為外部
觸摸屏使用,而不需要再配置觸摸屏或
工控機,減少了硬件配置。
比較
上面詳細介紹了MOTOMAN機器人的三款機器人二次開發(fā)工具,現(xiàn)總結(jié)如下表:

5.總結(jié)
MOTOMAN機器人的三款機器人二次開發(fā)工具,有各自的優(yōu)勢和應(yīng)用場合,MOTOCOM32側(cè)重于電腦的主控功能,MotoPlus側(cè)重于機器人與外部設(shè)備的通訊接口,Pendant customization側(cè)重于示教盒客戶化界面的編輯,用戶在需要時,可根據(jù)自己的需求合理選擇,用最簡單的方式滿足項目需求。