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