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

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