《搬運(yùn)機(jī)器人上位機(jī)培訓(xùn).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《搬運(yùn)機(jī)器人上位機(jī)培訓(xùn).ppt(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、S11項(xiàng)目編程培訓(xùn),培訓(xùn)人:李科,一、KeStudio 文件下載,打開(kāi)配置好的KeStudio文件,文件中機(jī)器人邏輯關(guān)系和PLC Configuration中硬件模塊已經(jīng)配置完成,只需要對(duì)PLC Configuration中的參數(shù)根據(jù)機(jī)器人情況進(jìn)行修改; PLC Configuration中的Robots選項(xiàng)中機(jī)器人桿件長(zhǎng)度、工具坐標(biāo)、加減速等參數(shù)需要配置; 驅(qū)動(dòng)器基本參數(shù)和PID參數(shù)需要根據(jù)負(fù)載情況進(jìn)行配置; 配置完成后,編譯通過(guò)后下載到CF卡中。,二、原點(diǎn)和Running信號(hào)添加,將Running.tta和origin.ttp文件放置到192.168.1.103masterdiskappl
2、icationconfigteachcontrolArtarmTX60L_GLOBAL.TT目錄下; 修改origin.ttp文件中機(jī)器人位置的值。通過(guò)示教盒顯示記錄下機(jī)器人在原點(diǎn)的世界坐標(biāo)系的XYZ的值,打開(kāi)origin.ttp文件,修改WX、WY、WZ的值,此時(shí)值的大小是原點(diǎn)值的正負(fù)10,確保值在一個(gè)長(zhǎng)度為10mm的正方體中。例如:機(jī)器人原點(diǎn)值X=1000,則修改后origin.ttp文件中WX=990,WX<=1010。,三、變量的建立,根據(jù)示教程序要求建立一個(gè)變量,在建立變量時(shí)注意變量的類(lèi)型; 在建立輸入輸出變量后需要與下位機(jī)相關(guān)聯(lián),這個(gè)值根據(jù)S11_信號(hào)交互表所示中的RCE_Upda
3、teDI和RCE_UpdateDO列中的數(shù)值一致。例如:建立了一個(gè)輸出變量RobotMoving,需要與信號(hào)交互表列出的RCE_UpdateDO列中的顯示的3,即輸出口的第三個(gè)口相關(guān)聯(lián)。,示教盒編程時(shí)必須要用到一些變量要與下位機(jī)的輸入輸出口相關(guān)聯(lián),在此就需要建立一些變量。,四、搬運(yùn)main程序,CALL init() 在主程序一開(kāi)始先將信號(hào)初始化 LABEL A Origin_Permit.Wait(TRUE) 等待PLC反饋會(huì)來(lái)的原點(diǎn)信號(hào) WaitTime(300) 一個(gè)大周期循環(huán)完后等待300ms延時(shí) PLC_Start.
4、Wait(TRUE) 等待PLC發(fā)送的機(jī)器人啟動(dòng)信號(hào) S11_1.Wait(TRUE) 等待PLC發(fā)送的車(chē)型信號(hào) WAIT Grasp.port OR Put.port OR Serve.port 等待發(fā)送的抓件、放件、服務(wù)信號(hào) PLC_Start.Wait(TRUE) 再次等待啟動(dòng)信號(hào)防止誤發(fā)送 IF Grasp.port THEN 如果是抓件,則調(diào)用抓件子程序 CALL grasp() Program_End.Pulse(TRUE, 200) 發(fā)送一個(gè)延時(shí)200ms的程序結(jié)束脈沖
5、END_IF IF Put.port THEN 如果是取件,則調(diào)用取件子程序 CALL put() Program_End.Pulse(TRUE, 200) 在每個(gè)程序結(jié)束后都要發(fā)一個(gè)程序結(jié)束脈沖 END_IF IF Serve.port THEN 如果是服務(wù),則調(diào)用服務(wù)子程序 CALL serve_program() Program_End.Pulse(TRUE, 200) END_IF GOTO A,六、抓件子程序,WaitTime(0) 每個(gè)子程序添加一個(gè)WaitTime(0),防止程序提前觸發(fā) CALL openclamp(
6、) 在走抓件子程序前調(diào)用夾爪打開(kāi)子程序,必須確保夾爪是打開(kāi)的 RobotMoving.Set(TRUE) 在機(jī)器人走點(diǎn)前加一個(gè)機(jī)器人運(yùn)動(dòng)高電平信號(hào) PTP(ap0, , or200) 點(diǎn)到點(diǎn)運(yùn)動(dòng),增加overlap點(diǎn)使走點(diǎn)順滑 Lin(cp0, vp5) 直線運(yùn)動(dòng),增加了一個(gè)動(dòng)態(tài)速度限制 CALL closeclamp() 走到抓件位置,調(diào)用閉合夾爪子程序 Lin(cp2, vp5, or50) 直線運(yùn)動(dòng),同時(shí)增加了速度限制和走點(diǎn)連續(xù) Lin(cp11, , or200) WaitTime(0) 現(xiàn)在keba系統(tǒng)需要在輸入輸出信號(hào)前都要增加一個(gè)Wait
7、Time(0),防止輸入 輸出點(diǎn)提前觸發(fā) TaskDone.Set(TRUE) 發(fā)送工作完成信號(hào),工作完成信號(hào)需要在原點(diǎn)信號(hào)區(qū)域前發(fā)送 PTP(ap0, , or200) 走到原點(diǎn) WaitTime(0) RobotMoving.Set(FALSE) 抓件點(diǎn)走完后將機(jī)器人運(yùn)動(dòng)置低 TaskDone.Set(FALSE) 工作完成信號(hào)置低 WaitTime(300),七、放件子程序,放件子程序結(jié)構(gòu)和抓件子程序相同;,八、夾爪動(dòng)作子程序,1、210抓具閉合子程序 WaitTime(0) WAIT Sensor1.port AND Sensor2.port Cla
8、mp1Close.Set(TRUE) Clamp1ClosePos.Wait(TRUE) Clamp2ClosePos.Wait(TRUE Clamp3ClosePos.Wait(TRUE) Clamp4ClosePos.Wait(TRUE) Clamp1Close.Set(FALSE) WAIT Sensor1.port AND Sensor2.port,165與210搬運(yùn)的夾爪不同,165的有5個(gè)氣缸,210的有4氣缸。165的氣缸打開(kāi)閉合分別通過(guò)兩個(gè)輸出信號(hào)控制,在閉合時(shí)同時(shí)閉合,而打開(kāi)時(shí)需要一號(hào)氣缸打開(kāi)到位后再打開(kāi)其他四個(gè)。210的氣缸打開(kāi)閉合分別通過(guò)一個(gè)信號(hào)控制。 閉合時(shí)
9、兩個(gè)接近開(kāi)關(guān)必須得先檢測(cè)到工件才能發(fā)送閉合信號(hào),在閉合完成后再檢測(cè)下工件以確認(rèn)抓到了工件。 抓具氣缸具有自鎖功能,在發(fā)送閉合高電平后,等到到位信號(hào)后將閉合信號(hào)置低即可。,WaitTime(0) Clamp1Open.Set(TRUE) Clamp1OpenPos.Wait(TRUE) Clamp2OpenPos.Wait(TRUE) Clamp3OpenPos.Wait(TRUE) Clamp4OpenPos.Wait(TRUE) Clamp1Open.Set(FALSE),2、210抓具打開(kāi)子程序,抓具打開(kāi)子程序與閉合子程序基本相同,只是不必檢測(cè)2個(gè)接近開(kāi)關(guān)的信號(hào)。,九、互鎖信號(hào)添加,W
10、aitTime(0) 輸出信號(hào)前加WaitTime(0) 防止提前觸發(fā) Request1.Set(TRUE) 請(qǐng)求進(jìn)入互鎖區(qū)1 Response1.Wait(TRUE) 等待PLC發(fā)送過(guò)來(lái)的另外一臺(tái)的響應(yīng)信號(hào),即另外 一臺(tái)不在干涉區(qū) Request1.Set(FALSE) 等到響應(yīng)后,請(qǐng)求置低 Lock1.Set(FALSE) 要進(jìn)互鎖區(qū)時(shí)發(fā)送進(jìn)互鎖區(qū)的信號(hào),互鎖 有效信號(hào)是低電平有效 WaitTime(0) Lock1.Set(TRUE) 出互鎖區(qū)將互鎖信號(hào)解除,機(jī)器人之間的互鎖信號(hào)發(fā)送給PLC,PLC將一臺(tái)的信號(hào)進(jìn)行處理后發(fā)送
11、給另外一臺(tái)。兩條機(jī)器人間的互鎖信號(hào)的命名沒(méi)有關(guān)聯(lián)。,十、初始化子程序,將所有的需要最開(kāi)始的輸出信號(hào)進(jìn)行初始化,放在main循環(huán)的開(kāi)始,只要機(jī)器人程序一開(kāi)始運(yùn)行掃描就會(huì)執(zhí)行。如果機(jī)器人中間有故障返回原點(diǎn)后可以手動(dòng)運(yùn)行一遍初始化程序確保信號(hào)不會(huì)混亂。 RobotMoving.Set(FALSE) TaskDone.Set(FALSE) request1.Set(FALSE) request2.Set(FALSE) request3.Set(FALSE) request4.Set(FALSE) lock1.Set(TRUE) lock2.Set(TRUE) lock3.Set(TRUE) lock4.Set(TRUE),結(jié) 束,