摘 要:本文簡(jiǎn)紹了工業(yè)自動(dòng)化生產(chǎn)中,利用ABBIRB120型工業(yè)機(jī)器人編制一個(gè)與歐姆龍F(tuán)HFZ5系列圖像處理器相互通訊的應(yīng)用程序,以滿足不同生產(chǎn)現(xiàn)場(chǎng)的需要,本文示例采用了數(shù)據(jù)通訊測(cè)試以及IF語(yǔ)句檢測(cè)方式編程,盡可能在教學(xué)中讓學(xué)生更全面的去學(xué)習(xí)新的知識(shí)、體會(huì)要點(diǎn),盡快的去掌握這種編程方式,以達(dá)到現(xiàn)場(chǎng)編程的需要。
關(guān)鍵詞:視覺(jué)通訊;編程方式
工業(yè)自動(dòng)化生產(chǎn)過(guò)程中,工業(yè)機(jī)器人借助于各種傳感器的使用正在一步步的代替了人工操作,通過(guò)視覺(jué)傳感器與工業(yè)機(jī)器人通訊連接,工業(yè)機(jī)器人便有了自己的“眼睛”,從而大大提高了生產(chǎn)效率。下面介紹一種利用ABBIRB120型工業(yè)機(jī)器人與歐姆龍F(tuán)HFZ5系列圖像處理器相互通訊的程序的編制方法。
1 通訊接口連接
OMRON視覺(jué)系統(tǒng)控制器網(wǎng)絡(luò)端口通過(guò)TCP/IP協(xié)議與IRC5控制柜 X6端口連接,如圖1所示,左邊為OMRON視覺(jué)系統(tǒng)控制器端口截圖,右邊為ABBIRB120工業(yè)機(jī)器人控制箱內(nèi)部端口截圖;
2 OMRON視覺(jué)系統(tǒng)軟件與工業(yè)機(jī)器人通訊設(shè)置
打開(kāi)OMRON FHFZ5系列圖像處理器系統(tǒng)軟件,打開(kāi)【菜單欄】中【工具】,選擇【系統(tǒng)設(shè)置】,選擇【通信模塊】,在串行(以太網(wǎng))的下拉菜單中選擇【無(wú)協(xié)議(TCP)】,更改完成后點(diǎn)擊【保存】。在【菜單欄】的【工具】中的系統(tǒng)設(shè)置,選擇啟【通信】,選擇以太網(wǎng)(無(wú)協(xié)議)。在右側(cè)框內(nèi)設(shè)定正確的IP地址與端口號(hào),例如192.168.100.101,輸入/輸出端口號(hào):1400。設(shè)置完成后,單擊【適用】單擊【保存】,重啟系統(tǒng)查看。打開(kāi)工業(yè)機(jī)器人示教器主界面【控制面板】,選擇【配置】,選擇【主題】,選擇【communication】,選擇【IP setting】,再選擇【添加】,為ABB工業(yè)機(jī)器人添加一個(gè)IP地址為“192.168.100.100”,點(diǎn)擊【確定】。
3 OMRON軟件流程編輯與工業(yè)機(jī)器人程序編寫
選擇【function】,選擇【Scene switch】,將場(chǎng)景組選擇1,場(chǎng)景選擇1,選擇【Edit Flow】,將圖像輸入FH、形狀搜索 Ⅲ、串行數(shù)據(jù)輸出選項(xiàng)添加到流程顯示窗口處,在串行數(shù)據(jù)輸出項(xiàng)目中,【設(shè)定】中添加數(shù)據(jù)0的表達(dá)式為TJG。單擊串行數(shù)據(jù)輸出,在串行數(shù)據(jù)輸出項(xiàng)目【輸出格式】中,選擇【以太網(wǎng)】通訊方式,選擇【ASCII】為輸出形式,更改完成后,點(diǎn)擊【確定】,點(diǎn)擊【保存】。機(jī)器人與相機(jī)視覺(jué)通訊,主要包括: socket通訊建立及收發(fā)數(shù)據(jù)、 數(shù)據(jù)關(guān)鍵信息的提取、提取信息與機(jī)器人位置robtarget(或者工件坐標(biāo)系下的oframe)的轉(zhuǎn)化;socket就是TCP/IP通訊,無(wú)協(xié)議,在微軟環(huán)境下稱為socket,可以收發(fā)制定的數(shù)據(jù),包括sting字符串,byte數(shù)組等,創(chuàng)建socket機(jī)器人需要616-1 PC-INTERFACE選項(xiàng),socket通訊網(wǎng)線插Service口或者Wan口都可以,可以自己設(shè)置;創(chuàng)建client端,通常機(jī)器人和相機(jī)通訊,機(jī)器人作為client端,新建一個(gè)機(jī)器人系統(tǒng),注意建立系統(tǒng)時(shí)加入pc-interface選項(xiàng),為了避免之前的連接沒(méi)有關(guān)閉,先插入socketclose指令,后面的socket1為自己新建的socketdev類型的變量,之后插入創(chuàng)建連接socketCreate,插入建立連接SocketConnect,后面需要指定Server的ip和端口,如ip設(shè)為“192.168.100.101”,端口設(shè)為1400,建議不要用默認(rèn)的1025,這一步作用為機(jī)器人會(huì)和server建立連接,如果沒(méi)有建立成功會(huì)一直等待,如果成功則往下執(zhí)行,測(cè)試通訊時(shí),在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful,接下去可以收發(fā)數(shù)據(jù),此處為client先發(fā)送數(shù)據(jù)給server,再接受server發(fā)送回來(lái)的數(shù)據(jù),SocketSend后面可以發(fā)送string或者byte數(shù)組,具體可以選擇不同可選變量,發(fā)送完畢后,client接受到server發(fā)回的數(shù)據(jù)并寫屏。在手動(dòng)模式下,手動(dòng)單步執(zhí)行程序。若出現(xiàn)“socketclinent connect successful”通知,則表示機(jī)器人與CCD已經(jīng)建立通信,若超過(guò)5S報(bào)錯(cuò),請(qǐng)檢查上面步驟是否正確。正確則進(jìn)一步往下執(zhí)行程序,程序編寫示例如下:
MODULE CCDModule
VAR socketdev socket1;
VAR string string1:=””;
VAR string jieguo:=””;
CONST string CCDOK:=” 1”;
PROC CCD()
SocketCreate socket1;
SocketConnect socket1, “192.168.100.101”, 1400\Time:=5;
WaitTime 0.2;
TPWrite “ socketclinent connect successful “; /通訊測(cè)試寫屏
SocketSend socket1\Str:=”SCNGROUP 1”;
WaitTime 0.2;
SocketSend socket1\Str:=”SCENE 1”;
WaitTime 0.2;
SocketSend socket1\Str:=”M”;
WaitTime 0.2;
SocketReceive socket1\Str:=string1;
jieguo := StrPart(string1,18,2);
SocketClose socket1;
IF jieguo = CCDOK THEN
MoveL P10, v1000, z50, tool0;
ENDIF
ENDPROC
4 結(jié)束語(yǔ)
工業(yè)機(jī)器人視覺(jué)通訊是自動(dòng)化生產(chǎn)的重要環(huán)節(jié),只有在生產(chǎn)中不斷學(xué)習(xí)和總結(jié),才能較好的掌握視覺(jué)通訊程序的應(yīng)用,從而大大的提高產(chǎn)品的生產(chǎn)效率 。
參考文獻(xiàn)
[1]ABB工業(yè)機(jī)器人技術(shù)參考手冊(cè).RAPID指令、函數(shù)和數(shù)據(jù)類型.
[2]歐姆龍 FH/FZ5圖像處理系統(tǒng)處理項(xiàng)目功能參考手冊(cè).
作者簡(jiǎn)介
許校軍(1985-),男,安徽省潛山縣,本科,安徽科技貿(mào)易學(xué)校,講師,教研組長(zhǎng),研究方向:機(jī)電一體化。