EPSON機(jī)械手培訓(xùn)-課件.ppt_第1頁
EPSON機(jī)械手培訓(xùn)-課件.ppt_第2頁
EPSON機(jī)械手培訓(xùn)-課件.ppt_第3頁
EPSON機(jī)械手培訓(xùn)-課件.ppt_第4頁
EPSON機(jī)械手培訓(xùn)-課件.ppt_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

EPSON 機(jī)械手培訓(xùn),深圳市長(zhǎng)榮科機(jī)電設(shè)備有限公司 2012年8月,一、關(guān)于機(jī)械手的基礎(chǔ)知識(shí) 二、硬件概要 三、EPSON RC+ 用戶界面 四、RC+5.4.3軟件操作 五、SPEL+語言 六、動(dòng)作指令 七、I/O 八、Pallet 九、!.! 并列處理 十、多任務(wù)處理 十一、循環(huán)控制指令 十二、程序?qū)嵗?1、機(jī)械手坐標(biāo)系,1.1 SCARA機(jī)械手坐標(biāo)系,XY方向坐標(biāo)(前后左右),Z方向坐標(biāo)(上下),U方向坐標(biāo)(旋轉(zhuǎn)),2. 機(jī)械手的手臂姿勢(shì) 在使用機(jī)械手作業(yè)時(shí),有必要使其用示教時(shí)的手臂姿勢(shì)在指定的點(diǎn)上動(dòng)作。如果不這樣做,根據(jù)手臂姿勢(shì)的不同,會(huì)產(chǎn)生輕微的位臵偏移,或朝著意想不到的路徑動(dòng)作的結(jié)果,有干涉周邊設(shè)備的危險(xiǎn)。為了避免這種情況,在點(diǎn)數(shù)據(jù)中必須事先指定使其在此點(diǎn)上動(dòng)作時(shí)的手臂姿勢(shì)(如下圖)。此信息也也可以從程序中變更(L或者R)。,2.1 SCARA機(jī)械手的手臂姿勢(shì)圖,系統(tǒng)構(gòu)成,NPN接法,PNP接法,NPN接法,PNP接法,1、控制器運(yùn)行時(shí)序圖,2、急停時(shí)序圖,3、程序執(zhí)行時(shí)序圖,4、安全門輸入時(shí)序圖,1、I/O擴(kuò)展板輸入輸出定義及設(shè)置,2、1號(hào)I/O擴(kuò)展引腳定義,不外接急停時(shí)可以將安全I(xiàn)/O按如下方式接線:1,2,3,7,9,18,20短接 4,11短接 8,19,21,25短接 12,17短接 10,14,15,16短接,1. 軟件IP設(shè)置(使用以太網(wǎng)連接時(shí)用) (1)單擊“設(shè)置” “電腦與控制器通訊”進(jìn)入IP設(shè)置畫面,然后單擊工具欄圖 標(biāo)“ ”進(jìn)入IP設(shè)置畫面 ,然后單擊“增加”進(jìn)入右下圖畫面選擇“通 過以太網(wǎng)連接到控制器”單擊確定,(2)設(shè)置新增以太網(wǎng)連接名稱及IP地址 ,控制器出廠默認(rèn)控制器IP設(shè)置如右下圖所示 設(shè)置好IP后單擊應(yīng)用,如果控制器IP忘記了,可以先用USB線連接控制器然后在 “設(shè)置”|控制器|configuration里可以查看控制器IP,電腦IP的前三位要與控制 器的前三位相同,例如“192.168.0.10”。設(shè)置好IP地址后單擊“連接”連接控 制器 。,2.控制器設(shè)置 (1)單擊“設(shè)置” “控制器”進(jìn)入控制器設(shè)置畫面,然后單擊“configuration” 設(shè)置控制的IP地址及控制方式,當(dāng)要使用外部I/O控制時(shí)須將“Control Device” 遠(yuǎn)程I/O,然后單擊“Apply”,再單擊關(guān)閉,等待控制器重啟完畢后,按“F5”, 單擊“激活遠(yuǎn)程I/O”后關(guān)閉軟件即可使用外部I/O控制控制器,3. 示教畫面 打開Jog&Teach頁面: Tools Robot Manager Jog&Teach或單擊工具欄 圖標(biāo)后,選擇Jog&Teach頁面。如下圖示,Mode說明: World:在當(dāng)前的局部坐標(biāo)系、工具坐標(biāo)系、機(jī)械手屬性、ECP坐標(biāo)系上,向X、Y、Z軸的方向微動(dòng)動(dòng)作。如果是SCARA型機(jī)械手,也可以向U方向微動(dòng)。如果是垂直6軸型機(jī)械手,則可以向U方向(傾斜)、V方向(仰臥)、W方向(偏轉(zhuǎn))微動(dòng)。 Tool : 向工具定義的坐標(biāo)系的方向微動(dòng)移動(dòng)。 Local: 向定義的局部坐標(biāo)系的方向微動(dòng)移動(dòng)。 Joint : 各機(jī)械手的關(guān)節(jié)單獨(dú)微動(dòng)移動(dòng)。不是直角坐標(biāo)型的機(jī)械手使用Joint模式時(shí),顯示單獨(dú)的微動(dòng)按鈕。 ECP : 在用當(dāng)前的外部控制點(diǎn)定義的坐標(biāo)系上,微動(dòng)動(dòng)作。,4. 示教點(diǎn)步驟 (1)在“點(diǎn)數(shù)據(jù)”頁面中“點(diǎn)文件”下拉菜單中選擇需要教點(diǎn)的點(diǎn)文件,單擊選擇點(diǎn)文件,(2)在步進(jìn)示教頁面右下角位位置選擇需要示教的點(diǎn)編號(hào),單擊選擇要示教的點(diǎn)位,(3)微動(dòng)將機(jī)械手移動(dòng)的需要示教點(diǎn)的位置。如果是SCARA機(jī)械手,Motor On情況下,可以在Control Panel 頁面Free All釋放所有軸后,手動(dòng)將機(jī)械手移動(dòng)需要示教點(diǎn)的位置后,Lock ALL鎖定所有軸。,微動(dòng)按鈕,點(diǎn)位追蹤按鈕,在馬達(dá)上伺服ON時(shí)直接移動(dòng)到之前示教的點(diǎn)位,一般在之前點(diǎn)位變化需做微調(diào)時(shí)用,(4)點(diǎn)擊Teach按鈕,系統(tǒng)自動(dòng)記錄下示教點(diǎn)在當(dāng)前坐標(biāo)系的具體數(shù)值。如果需要示教的點(diǎn)為新增點(diǎn),將彈出以下對(duì)話框,用戶可根據(jù)需要對(duì)該點(diǎn)編輯標(biāo)簽及描述,編輯點(diǎn)標(biāo)簽及描述然后單擊“確定”,(5)在“點(diǎn)數(shù)據(jù)”頁面單擊“保存”按鈕,完成示教點(diǎn)。,5. 馬達(dá)重置及伺服OFF 工具 機(jī)器人管理器控制面板或單擊工具欄 圖標(biāo)后,選擇“控制面板”頁面。如下圖示,伺服ON,運(yùn)行功率設(shè)置,馬達(dá)報(bào)警時(shí)重置馬達(dá),剎車釋放,Z軸剎車釋放后要按住伺服指示燈旁邊白色按鈕才能手動(dòng)移動(dòng)Z軸,6. 工具坐標(biāo)設(shè)置 工具 機(jī)器人管理器工具或單擊工具欄 圖標(biāo)后,選擇“工具”頁面。如下圖示,(1)在“工具”畫面單擊“工具向?qū)А保M(jìn)入工具向?qū)М嬅?,選擇工具坐標(biāo)編號(hào),(2)選擇好工具坐標(biāo)編號(hào)后單擊“NEXT”,進(jìn)入如下畫面,單擊“Teach”進(jìn)入機(jī)器人示教畫面,(3)將U軸旋轉(zhuǎn)到0度,在機(jī)器人運(yùn)動(dòng)范圍內(nèi)固定一個(gè)參考位置,然后通過移動(dòng)X、Y軸移動(dòng)到參考位置,然后單擊確定,(4)示教好第一個(gè)位置后單擊“Teach”進(jìn)入如下畫面,然后單擊“Teach”進(jìn)入第二點(diǎn)示 教畫面,(5)將Z后提起后,旋轉(zhuǎn)180度后,重新移動(dòng)X、Y軸至之前保存的位置,然后單擊“Teach”進(jìn)入下圖畫面,然后單擊“Finish”,完成工具坐標(biāo)校準(zhǔn),7. I/O監(jiān)控 “工具” “I/O監(jiān)視器”工具或單擊工具欄 圖標(biāo)后,進(jìn)入如下圖示畫面監(jiān)控I/O狀態(tài),雙擊輸出位時(shí)可以強(qiáng)制輸出ON,1. 概述 SPEL+是在RC170/180、RC90控制器上運(yùn)行的與BASIC相近的程序語言。它支持多任務(wù),動(dòng)作控制和I/O控制。程序以ASCII文本形式創(chuàng)建,被編輯在可以執(zhí)行的對(duì)象文件中。 2. 程序結(jié)構(gòu) 一個(gè)SPEL+程序包括有函數(shù),變量和宏指令,每一個(gè)程序以.PRG的擴(kuò)展名保持到對(duì)應(yīng)的項(xiàng)目里(Project)。一個(gè)項(xiàng)目至少包含有一個(gè)程序和一個(gè)main函數(shù)。函數(shù)以Function開始,F(xiàn)end結(jié)束,函數(shù)名可以使用最多32個(gè)字符的半角英文數(shù)字和下劃線,不區(qū)分大小寫,但是不可以使用以數(shù)字和下劃線開始的名稱或SPEL+關(guān)鍵字。 3. 變量 SPEL+中有3種不同的變量。 Local : 局部變量(用在同一Function內(nèi)使用的變量) Module : 模塊變量(在同一程序內(nèi)使用的變量) Global : 全局變量(在同一項(xiàng)目?jī)?nèi)使用的變量),程序示例:,MAIN.PRG Function Main Call Func1 . Fend Function Func1 Jump pickpnt .,Integer m_i 模塊變量m_i Global (Preserve) Integer g_i 全局變量(全局保護(hù)變量)g_i Function main Integer I 局部變量i . Fend Function Func1 Integer I 局部變量i . Fend,4. 變量的數(shù)據(jù)類型 變量有多種數(shù)據(jù)類型,使用前先說明類型,格式為:數(shù)據(jù)類型變量名。例如:Integer i,定義變量i為整型數(shù)據(jù)。另外,代入的數(shù)據(jù)和變量的類型必須一致。在下表中列出SPEL+ 語言中使用的數(shù)據(jù)類型。,動(dòng)作指令分類 使機(jī)械手動(dòng)作的指令叫作動(dòng)作指令。 可分為:PTP動(dòng)作指令,CP動(dòng)作指令,Curves動(dòng)作指令,Joint動(dòng)作指令。,NOTE: * CP模式,即Continuous Path 連續(xù)路徑模式。 * 指定PTP動(dòng)作指令和Joint動(dòng)作指令的速度和加/減速度時(shí),使用SPEED指令和ACCEL指令。指定CP模式動(dòng)作指令時(shí),使用使用SPEEDS指令和ACCELS指令。,2. PTP指令 包括指令:Go、Jump、BGo、TGo PTP(Pose To Pose)動(dòng)作,是與其動(dòng)作軌跡無關(guān),以機(jī)械手的工具頂端為目標(biāo)位臵使其動(dòng)作的動(dòng)作方法。PTP動(dòng)作,使用各關(guān)節(jié)上配置的電動(dòng)機(jī),使機(jī)械手通過最短的路徑到達(dá)目標(biāo)位置。 優(yōu)點(diǎn):運(yùn)動(dòng)速度快,缺點(diǎn):運(yùn)動(dòng)軌跡無法預(yù)測(cè)。指定PTP動(dòng)作速度和加/減速,使用SPEED指令和ACCEL指令。 2.1 Go 指令 功能:全軸同時(shí)的PTP動(dòng)作,動(dòng)作的軌跡是各關(guān)節(jié)分別對(duì)從當(dāng)前的點(diǎn)到目標(biāo)坐標(biāo)進(jìn)行插補(bǔ)。 格式:Go 目標(biāo)坐標(biāo) 示例: 1. Go P1 機(jī)械手動(dòng)作到P1點(diǎn) 2. Go XY(50, 400, 0, 0) 機(jī)械手動(dòng)作到X=50,Y=400,Z=0,U=0 3. Go P1+X(50) 機(jī)械手動(dòng)作到P1點(diǎn)X坐標(biāo)值偏移量為+50的位置 4. Go P1:X(50) 機(jī)械手動(dòng)作到P1點(diǎn)對(duì)應(yīng)X坐標(biāo)值為50的位置 2.2 Jump 指令 功能:通過“門形動(dòng)作”使手臂手臂從當(dāng)前位臵移動(dòng)至目標(biāo)坐標(biāo)。 格式:Jump 目標(biāo)坐標(biāo) 示例: 1. Jump P1 機(jī)械手以“門形動(dòng)作”動(dòng)作到P1點(diǎn) 2. Jump P1 LimZ -10 以限定第三軸目標(biāo)坐標(biāo)Z=-10的門形動(dòng)作移動(dòng)到P1點(diǎn),如圖1示 3. Jump P1:Z(-10)LimZ -10 以限定第三軸目標(biāo)坐標(biāo)Z=-10的門形動(dòng)作移動(dòng)到P1點(diǎn)位臵Z坐標(biāo)值為-10的位置,圖1,NOTE: Go與Jump的區(qū)別Jump與Go都是使機(jī)械手手臂用PTP動(dòng)作移動(dòng)的命令。但是Jump有Go沒有的一個(gè)功能。Jump將機(jī)械手的手部先抬起至LimZ 值,然后使手臂水平移動(dòng),快要到目標(biāo)坐標(biāo)上空的時(shí)候使其下降移動(dòng)。此動(dòng)作的標(biāo)準(zhǔn)是可以更準(zhǔn)確地避開障礙物這一點(diǎn),更重要的是通過吸附、配置動(dòng)作,提高作業(yè)的周期時(shí)間。 3. CP指令 包括指令:Move、Arc、Arc3、Jump3/Jump3CP、BMove、TMove、CVMove CP(Continuous Path )指令可以指定機(jī)械手到達(dá)目標(biāo)位臵的運(yùn)動(dòng)軌跡。 優(yōu)點(diǎn):軌跡可以控制,勻速動(dòng)作。缺點(diǎn):速度慢。 指定Linear動(dòng)作速度和加/減速度,使用SPEEDS指令和ACCELS指令。 3.1 Move 指令 功能:以直線軌跡將機(jī)械手從當(dāng)前位置移動(dòng)到指定目標(biāo)位置。全關(guān)節(jié)同時(shí)啟動(dòng),同時(shí)停止。 格式:Move 目標(biāo)坐標(biāo) 示例:Move P1 機(jī)械手以直線軌跡動(dòng)作到P1點(diǎn) NOTE: Move與Go的區(qū)別到達(dá)目標(biāo)點(diǎn)時(shí)的手臂的姿勢(shì)重要的時(shí)候使用Go命令,但是比控制動(dòng)作中的手臂的軌跡重要的時(shí)候,使用Move 命令。在SCARA機(jī)械手只有Z軸上下動(dòng)作時(shí),Go與Move的軌跡一樣。,3.2 Arc和Arc3 指令 功能:Arc 在XY平面上以圓弧插補(bǔ)動(dòng)作。 Arc3 在3D空間里以圓弧插補(bǔ)動(dòng)作。 格式:Arc 經(jīng)過坐標(biāo),目標(biāo)坐標(biāo) 說明:將機(jī)械手從當(dāng)前位臵到目標(biāo)坐標(biāo),通過經(jīng)過坐標(biāo)用圓弧插補(bǔ)動(dòng)作活動(dòng)時(shí)使用。從所給的3點(diǎn)(當(dāng)前坐標(biāo)、經(jīng)過坐標(biāo)、目標(biāo)坐標(biāo))自動(dòng)演算圓弧插補(bǔ)軌道,并沿著此軌道移動(dòng)機(jī)械手直至目標(biāo)坐標(biāo)為止。 示例:Arc P2,P3 NOTE: 即使目標(biāo)坐標(biāo)在機(jī)械手的動(dòng)作范圍內(nèi),一旦在Move或Arc運(yùn)動(dòng)軌跡超過允許動(dòng)作范圍外,機(jī)械手會(huì)突然停止,給伺服電機(jī)帶來撞擊,有產(chǎn)生故障的危險(xiǎn)。為了防止這樣的事發(fā)生,請(qǐng)?jiān)诟咚賵?zhí)行之前先以低速進(jìn)行動(dòng)作范圍確認(rèn)。,3.3 Jump3/Jump3CP指令 功能將手臂用3 維門形動(dòng)作移動(dòng)。Jump3是兩個(gè)CP動(dòng)作與1個(gè)PTP動(dòng)作的組合 格式Jump3 退避坐標(biāo),接近開始坐標(biāo),目標(biāo)坐標(biāo) 示例Jump3 P1,P2,P3從當(dāng)前位臵經(jīng)過保存坐標(biāo)P1,接近坐標(biāo)P2運(yùn)動(dòng)到目標(biāo)坐標(biāo)P3。圖2示 NOTE: 1、Jump不能用于6軸機(jī)械手,6軸機(jī)械手只能使用Jump3和Jump3 CP指令 2、Jump3CP指令用法與Jump3類似,不同在于Jump3CP是3個(gè)CP動(dòng)作的組合 3、SCARA機(jī)械手Z軸上升或下降動(dòng)作時(shí),使用Jump指令可以提高運(yùn)動(dòng)速度 3.4 BMove 、TMove、CVMove 指令 BMove 在指定的局部坐標(biāo)系(Local)上執(zhí)行偏移直線插補(bǔ)動(dòng)作。沒有指定局部坐標(biāo)系時(shí),以局部0(基準(zhǔn)坐標(biāo)系)為基準(zhǔn),進(jìn)行進(jìn)行偏移PTP 動(dòng)作。 TMove 在當(dāng)前的工具坐標(biāo)系上執(zhí)行偏移直線插補(bǔ)動(dòng)作。,圖2,CVMove 用Curve 命令執(zhí)行定義的自由曲線CP 動(dòng)作。CVMove 執(zhí)行設(shè)定控制器硬盤上的文件名的文件數(shù)據(jù)的自由曲線CP 動(dòng)作。此文件必須事先用Curve 命令制作。 Curve “mycurve”, O, 0, 4, P1, P2, On 2, P(3:7) 設(shè)定自由曲線 Jump P1 用直線將手臂移動(dòng)至P1 CVMove “mycurve” 用定義的自由曲線“mycurve”移 動(dòng)手臂 5. 速度設(shè)定指令 5.1 PTP指令的速度設(shè)定 Speed 功能用于設(shè)定PTP動(dòng)作速度的百分比 格式:Speed s,a,b 說明:s 速度設(shè)定值;a 第三軸上升速度設(shè)定值;b 第三軸下降速度設(shè)定值。 示例:1. Speed 80 2. Speed 80,40,30 Accel 功能用于設(shè)定PTP動(dòng)作加減速度的百分比。 格式:Accel a,b,c,d,e,f 說明:a/b 加/減速度設(shè)定值;c/d 第三軸上升加/減速度設(shè)定值; e/f 第三軸下降加/減速度設(shè)定值 示例:1. Accel 80,80 2. Accel 80,80,30,30,60,60,圖2,5.2 CP指令的速度設(shè)定 SpeedS 功能用于設(shè)定CP動(dòng)作速度值 格式:SpeedS 速度設(shè)定值 說明:表1 為不同機(jī)型對(duì)應(yīng)的速度設(shè)定值范圍 示例:SpeedS 800 CP動(dòng)作的速度設(shè)置為800mm/s AccelS功能用于設(shè)定CP動(dòng)作加減速度值 格式:AccelS 加速設(shè)定值,減速設(shè)定值 說明:表1 為不同機(jī)型對(duì)應(yīng)的加減速度設(shè)定值范圍 示例:AccelS 800 加減速度均為800mm/S,表1,4.3 Power指令 功能:電源模式的設(shè)定 格式:Power High|Low 說明:默認(rèn)值為L(zhǎng)ow。低功率模式下電機(jī)輸出被限制,實(shí)際動(dòng)作速度變?yōu)槟J(rèn)初始值的范圍內(nèi)。低功率模式設(shè)定時(shí),從監(jiān)控窗口或程序中即使出現(xiàn)設(shè)為高速的指示,也會(huì)按初始值速度動(dòng)作。如果需要用更高的速 度動(dòng)作時(shí),必須設(shè)定為Power High。 4.4 Weight指令 功能:進(jìn)行補(bǔ)償PTP 動(dòng)作時(shí)的速度加減速度的參數(shù)設(shè)定 格式:Weight 手部重量 說明:手部重量指指定手臂上垂掛的夾治具和其他工件的重量。由設(shè)定值計(jì)算出的等價(jià)搬運(yùn)重量超過最大可搬運(yùn)重量時(shí),會(huì)出現(xiàn)錯(cuò)誤。,5. Jump 指令的修飾 5.1 拱形動(dòng)作 在Jump指令后通過指定門形參數(shù)Cn(n=07),可以改變拱形的形狀。 上圖中a,b的值與C06對(duì)默認(rèn)初始值(單位:mm)如下表列,7為門形動(dòng)作。要改變C06對(duì)應(yīng)的a,b的值,使用Arch指令。也可以Tools|Robot Manager|Arch選項(xiàng)卡中修改。,5.2 Arch指令 功能:用于設(shè)定Jump動(dòng)作拱形參數(shù)設(shè)定格式Arch 拱形編號(hào),垂直上升距離,垂直下降距離說明設(shè)定值比垂直移動(dòng)距離大時(shí)變?yōu)殚T形動(dòng)作。設(shè)定值即使掉電也會(huì)被保持。運(yùn)動(dòng)軌跡根據(jù)運(yùn)動(dòng)速度、機(jī)械手的動(dòng)作方式而改變,所以動(dòng)作前請(qǐng)先確認(rèn)動(dòng)作軌跡 示例:Arch 0,10,40,RC90控制器標(biāo)配了24位輸入和16位輸出,用戶可以通過安裝I/O板卡擴(kuò)展I/O位數(shù)。每張I/O板卡包括32位輸入和32位輸出,最多可以安裝4張I/O板卡,既最多可增加128位輸入和128位輸出。 1硬件連接 1.1 輸入電路:輸入電壓范圍: + 12 24V 10 ON 電壓: + 10.8V(最小)OFF 電壓: + 5V(最大) 輸入電流: 10mA,24V輸入時(shí),典型值,1.2 輸出電路 額定輸出電壓: + 12 24V 10 最大輸出電流::100mA(典型值)1輸出 輸出驅(qū)動(dòng)器::Photo Mos繼電器 通態(tài)電阻(平均)::23.5以下輸出,2 輸出指令 On 功能:打開指定輸出位 格式:On 輸出位編號(hào), 時(shí)間, 非同步指定 輸出位編號(hào):可使用的輸出位編號(hào);時(shí)間:以秒為單位,最小有效位為0.01秒;非同步指定:0或1 說明:非同步指定在時(shí)間指定時(shí)可以指定,功能如表1 示 示例:1. On 1 2. On 1,0.5,0 Off 功能:關(guān)閉指定輸出位 格式:Off 輸出位編號(hào), 時(shí)間, 非同步指定 輸出位編號(hào):可使用的輸出位編號(hào);時(shí)間:以秒為單位,最小有效位為0.01秒;非同步指定:0或1 說明非同步指定在時(shí)間指定時(shí)可以指定,功能如表1 示 示例:1. Off 1 2. Off 1,0.5,0,表1,2 輸出指令 Out 功能:同時(shí)設(shè)定輸出8個(gè)輸出位 格式:Out 端口編號(hào),輸出數(shù)據(jù) 端口編號(hào):構(gòu)成可使用輸出位的組;輸出數(shù)據(jù):用端口編號(hào)指定的組的輸出模式 說明:端口編號(hào)與輸出數(shù)據(jù)的組合后同時(shí)設(shè)定8個(gè)輸出位。輸出位8位1組。首先在用端口編號(hào)指定的組中 指定輸出數(shù)據(jù)參數(shù)中特定的輸出模式。輸出數(shù)據(jù)參數(shù)用10進(jìn)制數(shù)(0255)或16進(jìn)制數(shù)(&H0 &HFF)指定。端口編號(hào)如下與位編號(hào)對(duì)應(yīng)。 端口編號(hào) 位編號(hào) 0 0-7 1 8-15 2 16-23 . . 63 504-511 示例: Out 0, 0 將07位全部關(guān)閉 Out 1, 255 將815位全部打開 Out 0, 100 將2,5,6位全部關(guān)閉 Out 0, &H64 將2,5,6位全部關(guān)閉,3 輸入指令 3.1 Wait 功能:時(shí)間等待或輸入位等待 格式:Wait 時(shí)間 Wait 輸入條件,時(shí)間 時(shí)間:02147483,最小有效位為0.01秒;輸入條件:記述待機(jī)條件 說明:只指定時(shí)間時(shí),指定時(shí)間待機(jī)后執(zhí)行下一個(gè)命令。只指定輸入條件式時(shí),待機(jī)至條件成立。指定輸入條 件與時(shí)間時(shí),條件式成立或指定時(shí)間到都會(huì)執(zhí)行下一個(gè)命令。使用Sw函數(shù),可以確認(rèn)輸入條件式是否成 立,或指定時(shí)間是否已到。 示例:Wait 1.5 待機(jī)1.5秒后,繼續(xù)執(zhí)行程序 Wait Sw(3)=On 待機(jī)直到輸入位3開啟 3.2 Sw函數(shù) 功能:返回指定的輸入位狀態(tài) 格式:Sw (輸入位編號(hào)) 輸入位編號(hào):可以使用的輸入位編號(hào) 說明:進(jìn)行I/O輸入的狀態(tài)確認(rèn)。指定的輸入打開時(shí)返回1,關(guān)閉時(shí)返回0。 示例:Print Sw(3) 打印輸入位3的狀態(tài) Wait Sw(1)=On and Sw(2)=On 待機(jī)直到輸入位1和2開啟 Wait Sw(1)=On or Sw(2)=On 待機(jī)直到輸入位1或2開啟,3.3 In函數(shù) 功能:返回指定的輸入位端口 格式:In(端口編號(hào)) 端口編號(hào):構(gòu)成可以使用輸入位的組 說明:可同時(shí)確認(rèn)8個(gè)輸入位的值??梢允蛊浯龣C(jī)直到2個(gè)以上的I/O位的狀態(tài)在特定的條件下一致。 返回值為0255范圍的整數(shù)值。 示例:Print In(0) 打印輸入位3的狀態(tài) Wait In(0)=0 待機(jī)到07位全部關(guān)閉 Wait In(0)=255 待機(jī)到07位全部開啟,格式:Pallet Outside, Pallet 編號(hào), Pi, Pj, Pk,Pm , 列數(shù), 行數(shù) 參數(shù): Outside 創(chuàng)建在指定的行及列的范圍外可以訪問的Pallet。指定范圍:-32768 to 32767??墒÷?。 Pallet 編號(hào)用0到15的整數(shù)指定Pallet編號(hào)。 Pi, Pj, Pk 指定使用在Pallet定義(標(biāo)準(zhǔn)的3 點(diǎn)定義)中的點(diǎn)變量。 Pm 與Pi, Pj, Pk 一起使用定義Pallet的點(diǎn)變量??墒÷?。 列數(shù) 用整數(shù)指定Pi 與Pj的列數(shù)。范圍為1到32767。(行數(shù)列數(shù)32767) 行數(shù) 用整數(shù)指定Pi 與Pk的行數(shù)。范圍為1到32767。(行數(shù)列數(shù)32767) 說明:在機(jī)械手上至少必須示教Pi, Pj, Pk這3 點(diǎn),并指定Pi 與Pj的分割數(shù)及Pi 與Pk的分割數(shù),才能定義pallet。,Pallet 如果是高精度的四方形,則只要指定角上4 點(diǎn)中的3 個(gè)點(diǎn)就足夠了,但是,還是建議指定全角4點(diǎn)的位臵后進(jìn)行pallet 定義。 定義pallet 時(shí),首先要示教角的3 或4 個(gè)點(diǎn),4 點(diǎn)定義時(shí):以下表示P1、P2、P3 及P4。P1-P2 間有3 點(diǎn),P1-P3 間有4點(diǎn),總計(jì)使用12點(diǎn)用以下格式定義。表示Pallet的分割的各點(diǎn)自動(dòng)地分配分割編號(hào) (1-12)。 示教P1、P2、P3 時(shí),盡量使三點(diǎn)的姿勢(shì)一致。 Notes 不正確的pallet 的定義 如果搞錯(cuò)了點(diǎn)的順序或點(diǎn)間的分割數(shù),會(huì)出現(xiàn)錯(cuò)誤的pallet順序。,Pallet 面的定義 用角上3 點(diǎn)的Z 坐標(biāo)值定義pallet 平面的高度。所以,也可以定義垂直方向的pallet。 1 列pallet 的pallet 定義 通過3 點(diǎn)指定的Pallet 命令,也可以定義1 列的pallet。如果是1 列,應(yīng)示教兩端的2 點(diǎn),并如下輸入、執(zhí)行。 同一編號(hào)方向的分割數(shù)為1。 Pallet 2, P20, P21, P20, 5, 1 定義一個(gè)5x1 的pallet Pallet 使用示例 以下是從監(jiān)控窗口設(shè)定用P1、P2、P3 定義的pallet 的示例。Pallet 而平均配臵15 點(diǎn),P1-P2 間排列。 pallet 1, P1, P2, P3, 3, 5 jump pallet(1, 2) Jump to position on pallet 此設(shè)定的創(chuàng)建的pallet 如右圖所示。,動(dòng)作中并列進(jìn)行I/O 等的輸入輸出處理。 使用示例 1) 將并列處理連同Jump命令同時(shí)使用。第3 關(guān)節(jié)上升移動(dòng)結(jié)束,第1、第2、第4 關(guān)節(jié) 開始動(dòng)作的階段打開輸出位1。輸出位1 在Jump動(dòng)作完成50%的階段再次關(guān)閉。 Function test Jump P1 !D0; On 1; D50; Off 1! Fend 2) 將并列處理連同Jump 命令一起使用。第3 關(guān)節(jié)上升移動(dòng)結(jié)束,第1、第2、第4 關(guān)節(jié)各自完成到P1 的移動(dòng)的 10%的階段打開輸出位5,0.5 秒后關(guān)閉輸出位5。 Function test2 Jump P1 !D10; On 5; Wait 0.5; Off 5! Fend 注意: 所有I/O 命令結(jié)束前動(dòng)作結(jié)束的情況下 即使結(jié)束特定動(dòng)作命令的動(dòng)作所有的并列處理語句的執(zhí)行也沒有結(jié)束時(shí),等全部結(jié)束以后執(zhí)行下一個(gè)程 序。這種狀況在必須并列處理多個(gè)I/O 命令的短距離移動(dòng)動(dòng)作時(shí)特別要注意 用停止手臂的Till 語句中途結(jié)束動(dòng)作時(shí),并聯(lián)I/O 的執(zhí)行 如果移動(dòng)的中途停止手臂的Till 語句被使用,動(dòng)作語句執(zhí)行的下一個(gè)語句等待至全部并列處理語句執(zhí)行結(jié) 束后執(zhí)行。,多重任務(wù)是多個(gè)作業(yè)同時(shí)執(zhí)行,可以大幅度縮短任務(wù)時(shí)間(作業(yè)時(shí)間)。也可以同時(shí)控制周邊設(shè)備,這樣系統(tǒng)整體效率提高生產(chǎn)性也會(huì)提高。作業(yè)分為各個(gè)任務(wù)后,程序會(huì)變得易懂,且維修也可以對(duì)各任務(wù)分別進(jìn)行,要新增作業(yè)時(shí)只需添加任務(wù)就可以了??梢酝瑫r(shí)執(zhí)行的任務(wù)最多可以是16 個(gè)。 格式:Xqt 任務(wù)編號(hào), 函數(shù)名(自變量一覽表) ,Normal | NoPause | NoEmgAbort 動(dòng)作 任務(wù)1 : 重復(fù)P1P4的Jump動(dòng)作 任務(wù)2 : 每5秒打開/關(guān)閉1次I/O。 程序: Function test9 Integer i Xqt IO Do For i= 1 To 4 Jump P(i) Next Loop FEND FUNCTION IO Do On 1; Wait 0.5 Off 1; Wait 0.5 Loop Fend,1、Do . Loop 功能:條件一致或不一致時(shí)反復(fù)執(zhí)行Do Loop直接的程序,直到條件一致為止 格式1:Do while |until條件式 語句】 Exit Do 語句 Loop 格式2:Do 語句】 Exit Do 語句 Loopwhile |until條件式 說明:當(dāng)條件式省略時(shí),且Do . Loop循環(huán)中沒有Eixt Do語句則為一個(gè)無限循環(huán)。當(dāng)條件式成立時(shí)退出循環(huán)。退出Do.Loop的另一個(gè)方法是可以在Do.Loop中的任何位置,插入任意個(gè)Exit Do語句。Exit Do經(jīng)常使用在對(duì)If.Then 等幾個(gè)條件進(jìn)行評(píng)價(jià)之后。在If.Then 上使用Exit Do語句后,將控制Loop移至下一個(gè)語句。 示例:Do While Sw(8) =On 當(dāng)輸入8為ON時(shí)一直執(zhí)行Do . Loop之間語句 Go p1 移動(dòng)到P1位置 On 8 打開輸入8 Go p2 移動(dòng)P2位置 Off 8 關(guān)閉輸入8 Loop,2、If . Then . Elseif . Endif 功能:根據(jù)指定條件分歧執(zhí)行命令 格式1:If 條件式 Then 語句 T1 . . Elseif 條件式 Then 語句 T1 . . Else 語句 F1 . . Endif 格式2:If 條件式 Then 語句T1 ;語句T2. Else 語句 F1 ;語句 F2. 說明:If . Then . Else 在滿足條件時(shí)執(zhí)行語句T1以后部分,不滿足條件時(shí)執(zhí)行F1以后部分,Else部分可省略,不滿足條件時(shí)就執(zhí)行 Endif 以后部分。按照格式1編輯程序時(shí)必須以Endif結(jié)束,按照格式2將語句編輯到同一行時(shí)可省略 Endif,If.Then.Else 語句的程序段,嵌套最多可以有20段 示例: If SW(8)=ON then 當(dāng)輸入8接通時(shí)移動(dòng)到P1 Go P1 Endif,3、 For . Next 功能:For . Next 之間一連串的語句執(zhí)行指定次數(shù) 格式1:For 變量名=初始值 To 結(jié)束值 Step 增值 語句 . Next 變量名 說明: 初始值的數(shù)值為計(jì)數(shù)器最初的值。如果正確設(shè)定了結(jié)束值變量與增值,就可以設(shè)定負(fù)的數(shù)值。結(jié)束值為計(jì)數(shù)器的最終值。到達(dá)此值后循環(huán)立即結(jié)束,程序控制移至Next 命令的下一個(gè)命令。 For 語句的下一個(gè)語句被執(zhí)行至到達(dá)Next 命令為止。計(jì)數(shù)器變量(變量名)根據(jù)增值參數(shù),只增值指定的值。如果沒有設(shè)定增值值,計(jì)數(shù)器每1 增減。 然后計(jì)數(shù)器變量(變量名) 與最終值比較。計(jì)數(shù)器比最終值小或相同時(shí), For 命令的下一個(gè)語句被再次執(zhí)行。計(jì)數(shù)器變量(變量名)大于最終值時(shí)在For.Next循環(huán)以外分支,在Next 命令的下一個(gè)命令上繼續(xù)。 在For. Next間再次使用For.Next語句叫做嵌套。嵌套最高可以到16段 示例: For ctr = 1 to 10 Go Pctr Next ctr For ctr = 10 to 1 Step -1 Go Pctr Next ctr,4、GoSub . Return 功能:GoSub 是將程序控制轉(zhuǎn)移至子程序。子程序的執(zhí)行結(jié)束后控制回到GoSub 命令的下 一行。 格式1:GoSub 行編號(hào) | 標(biāo)簽 行編號(hào)|標(biāo)簽: 語句 Return . 說明:GoSub 命令將程序控制轉(zhuǎn)移至指定的行或標(biāo)簽。程序執(zhí)行轉(zhuǎn)移目標(biāo)的語句,就這樣一直執(zhí)行轉(zhuǎn)移目標(biāo)行,直到Return 命令。GoSub 命令在執(zhí)行子程序以后用Return 返回GoSub 命令的下一行。請(qǐng)務(wù)必用Return 結(jié)束子程序。 NOTE: 1)GoSub 命令在轉(zhuǎn)移目標(biāo)中指定不存在的行編號(hào)或標(biāo)簽后,會(huì)發(fā)生錯(cuò)誤1650。 2)GoSub 命令的嵌套最多只能有16段。即轉(zhuǎn)移目標(biāo)的子程序內(nèi)再次執(zhí)行GoSub 命令, 并再次執(zhí)行子程序可以有16次。想執(zhí)行第17次GoSub 命令就會(huì)發(fā)生錯(cuò)誤7 。 3)Return 命令將執(zhí)行了GoSub 命令的部分恢復(fù)至原來的程序。如果沒有GoSub ,但使 用了Return ,就會(huì)發(fā)生錯(cuò)誤3 。沒有GoSub 時(shí)使用Return ,不知道恢復(fù)至哪里,所以 無任何意義。 示例:Function main Go Sub checkio GoSub using Label On 1 Exit Function checkio: Subroutine starts here var1 = In(0) var2 = In(1) Return Subroutine ends here,5、Goto 功能:GoTo命令是將程序控制轉(zhuǎn)移至指定的行或標(biāo)簽 格式:GoTo 行編號(hào) | 標(biāo)簽 說明:GoTo 命令將程序控制轉(zhuǎn)移至指定的語句行或標(biāo)簽。程序執(zhí)行轉(zhuǎn)移目標(biāo)的語句行,并執(zhí)行以下的行 NOTE:在1 個(gè)程序中,如果過多使用GoTo命令,程序就會(huì)變得難懂,請(qǐng)注意。通常盡量不要使用GoTo命令。實(shí)際上,有時(shí)不得不使用GoTo,但是像GoTo 語句將源代碼到處轉(zhuǎn)移的使用會(huì)造成錯(cuò)誤或引起其他問題 示例:Function main If Sw(1) = Off Then GoTo mainAbort EndIf Print “Input 1 was On, continuing cycle“ . Exit Function mainAbort: Print “Input 1 was OFF, cycle aborted!“ Fend,6、Call 功能:將函數(shù)作為子程序調(diào)出 格式1:Call 函數(shù)名 ( 自變量列表) . 說明:通過Call 命令,F(xiàn)unction.Fend 將程序控制移至定義的函數(shù)。通過Call 命令,程序的執(zhí)行 從當(dāng)前的函數(shù)移至Call 命令指定的函數(shù)。程序一直用調(diào)出的函數(shù)繼續(xù),直到找開Exit Function 或Fend。接著用Call 命令的下一個(gè)語句返回原來的函數(shù)控制。 示例: Function main Call InitRobot(1) Fend Function InitRobot(robotNumber As Integer) Integer savRobot savRobot = Robot Robot robotNumber Motor On If Not MCalComplete Then MCal End If Robot savRobot Fend,7、While. Wend 功能:條件成立期間,執(zhí)行While. Wend 之間的指定的語句。 格式1:While 條件式 語句 Wend . 說明:指定While條件。如果條件成立,在WhileWend 間的語句被執(zhí)行,再一次確認(rèn)While條件。 While條件成立期間,重復(fù)WhileWend 間的語句的執(zhí)行與While條件的確認(rèn)。如果While 條件不成立,程序控制移至Wend的下一個(gè)命令。如果第1 次確認(rèn)后While條件不成立, WhileWend 間的語句一次都不被執(zhí)行。 NOTE:在一個(gè)While.Wend 循環(huán)中可嵌套的While.Wend循環(huán)最多為16段。 示例: Long i i = 1 While i 60 Execute statements between While/Wend if i 60 . i = i + 2 Wend,8、Select. Send 功能:根據(jù)表達(dá)式的值將控制移至幾個(gè)語句中的任意一個(gè)上。 格式1:Select 表達(dá)式 Case項(xiàng)目 語句 Default 語句 Send . 說明:1)Case 語句的項(xiàng)目中如果有與Select 語句的表達(dá)式結(jié)果一致的,則執(zhí)行Case 語句后的語 句群。執(zhí)行后,程序控制移至Send語句上連接的語句。 2)Case 語句的項(xiàng)目中如果沒有與Select 語句的表達(dá)式結(jié)果一致的,則執(zhí)行Default語句,程 序控制移至Send語句上連接的語句。 3)Case 語句的項(xiàng)目中如果沒有與Select 語句的表達(dá)式結(jié)果一致的,且Default被省略,不執(zhí) 行任何語句,程序控制移至Send語句的下一個(gè)語句。 4)Select 語句的表達(dá)式與CASE 語句的項(xiàng)目中可以指定使用常數(shù)、變量、And Or Xor 等 的邏輯算符。 5)1 個(gè)Select 命令上最多可以創(chuàng)建250 段的Case 語句。 示例:Select I Case 0 Off 1;On 2;Jump P1 Case 3 On 1;Off 2 Jump P2;Move P3;On 3 Case 7,9、OnErr 功能:發(fā)生錯(cuò)誤時(shí),在錯(cuò)誤處理子程序上設(shè)定使控制分支的中斷。使用記可以進(jìn)行錯(cuò)誤處理。 格式1: OnErr GoTo 標(biāo)簽 | 行編號(hào) | 0 . 說明:1)通過OnErr 用戶可以進(jìn)行錯(cuò)誤處理。如果沒有使用OnErr,發(fā)生錯(cuò)誤時(shí)任務(wù)被中止,顯示 錯(cuò) 誤。但是,如果使用OnErr,為做到自動(dòng)地從錯(cuò)誤中恢復(fù),可以將控制移至錯(cuò)誤處理子 程序?;謴?fù)錯(cuò)誤后,控制移至用OnErr 命令指定的行編號(hào)。這樣,即使發(fā)生錯(cuò)誤,也不會(huì) 中斷任務(wù)的執(zhí)行,且可以自動(dòng)進(jìn)行錯(cuò)誤處理。另外,容易變得復(fù)雜的問題也可以用同樣的 方法自動(dòng)處理,所以可以明顯地提高工作效率。 2)OnErr 命令在指定參數(shù) 0 后被設(shè)定時(shí),清除當(dāng)前的OnErr 設(shè)定。 OnErr 0執(zhí)行后,如 果發(fā)生錯(cuò)誤,程序的執(zhí)行會(huì)立即停止。 示例:Function errDemo Integer i, errNum OnErr GoTo errHandler For i = 0 To 399 temp = CX(P(i) Next i Exit Function errHandler: errNum = Err If errNum = 78 Then Print “Point number P“, i, “ is undefined!“ Else Print “ERROR: Error number “, errNum, “ occurred while“ Print “ trying to process point P“, i, “ !“ EndIf EResume Next Fend,1、以下程序?yàn)橐粋€(gè)分揀演示程序,先通過EPSON視覺照相獲取模版位置,然后 將不同的料排列到不同矩陣盤,然后再從矩陣盤就料取出隨意放入料盤, 如此往復(fù)運(yùn)行。 Integer num, num1 定義全局整形變量 *主函數(shù)* Function main Call InitRobot 調(diào)用初始化子函數(shù) Jump daiji 移動(dòng)到待機(jī)位置 Do Call Robot1 調(diào)用Robot1子函數(shù) Loop Fend *初始化子函數(shù)* Function InitRobot If Motor = Off Then 當(dāng)馬達(dá)伺服未上時(shí)使伺服ON Motor On 開伺服 EndIf Power High 運(yùn)行功率為高功率 Speed 10 定義PTP速度 Accel 80, 80 定義加減速 Off 8 關(guān)閉輸出8 Pallet 1, y1, y2, y3, 3, 2 定義一個(gè)三列二行矩陣1 Pallet 2, y10, y11, y12, 3, 2 定義一個(gè)三列二行矩陣2 Fend,*視覺子程序* Function Vision1 Integer i, j 定義整形變量 Real

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論