KUKA堆放件控制USER說明:
PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=0 SPSTrig=5[1/100s] PU
1: FB PSPS = EIN
2: A23 = AUS
3: A18 = EIN
4: GOTO SPSLabel 3 = F940 F940如果抓手上沒件
5: SPSLabel 2
6: WARTE BIS (E61 + E213) & M2 +M1 & F940
7: --重置為容器1-在容器為空時重置--
8: i51 ( E59 ) = 1 E59容器1內沒有件,沒有件就重置I51
9: --重置為容器2-在容器為空時重置-- -
10: i52 ( E209 ) = 1 E209容器2內沒有件, 沒有件就重置I52
11: i31 ( E61 ) = i51 E61料架1是否合格,可以進入,i31總計數,i51料架1計數器.
12: i31 ( E213 ) = i52 E213料架是否合格,可以進入,i31總計數,i52料架2計數器.
13: bin20 ( EIN ) = i31 反饋上一次計數值給PLC用于比較
14: A61 = E61 & !E213 機器人去料架1-A61
15: A213 = !E61 & E213 機器人去料架2-A213
16: --從PLC讀取計數器狀態--
17: i31 ( EIN ) = binin20 PLC將數值發給I31
18: bin20 ( EIN ) = i31 反饋計數值給PLC用于比
---下面的F916和F917是用來判斷計數器I31的計數是否正確-----
19: F916 = i31 = 0 i31計數值=0就激活F916
20: F917 = i31 > 9 i31計數值>9就激活F917
-----------------
21: F918 = (F916 & !E917) +(!F916 & F917) F918是計數數值不正確
22: GOTO SPSLabel 2 = F918 計數數值不正確就再回第2步
23: SPSLabel 3
24: F901 = M2 & !E15 + F941& E15 M2/F901抓持上有件
25: WARTE BIS E63 & F901 &!E18 + E212 & F901 & !E18 + F940 & !F901
E63往鼠籠1放件,E212往鼠籠2放件, F940 & !F901抓持器上沒有件
26: A18 = AUS
27: F902 = i51 < 10 ?鼠籠1數量在小于10以內
28: F903 = i52 < 10 ?鼠籠2數量在小于10以內
29: WARTE BIS F901 & (F902 +F903) + F940
等待F901抓持器上有件,F902/F903計數器在正常范圍內或者F940抓持器上沒有件
30: WARTE BIS E23
31: A23 = EIN
32: FB PSPS = M30
UP14 = E63 & F901 & F902 去鼠籠1放件
UP15 = E212 & F901 & F903 去鼠籠2放件
-------------------------
UP14 放件程序分析:
通過USE程序和計數器I31結合改變BASE值實現向鼠籠料架進行堆放件的程序編寫.
PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=3 SPSTrig=5[1/100s] P
Tech_T_Speicher Platz=Base+i31 FRG S-Platz = 63 EIN
VW_USR_R (#USR_ADV,107,2,1,1,1,63,1,TRUE)
開始放件步
LIN VB=250[mm/s] VE=100% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P
LIN VB=250[mm/s] VE=10% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P
放件點軌跡
LIN VB=250[mm/s] VE=0%ACC=100% RobWzg=1 Base=31 SPSTrig=5[1/100s] P
LIN VB=250[mm/s] VE=0% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P
ADV
CASE 107 ;
; VW_USR_R (#USR_ADV,107,2,1,1,1,63,1,TRUE)
P1 =2 偏移模式
P5 =63 與PLC進行IO通訊反饋
P7 = TRUE 激活USER
零件存放
IF(PAR7==TRUE)THEN 激活位置計算功能
CONTINUE
IF(PAR5>0)THEN 如果 PAR5有值
IF NOT $IN[PAR5] THEN 如果沒有E63
CONTINUE
$OUT[PAR5] = TRUE 發出A63給PLC提示機器人開始進行偏移放件
nRintMsgNr[10] = 0
WHILE NOT $IN[PAR5]
當指令:當沒有E63 時發出提示信息
IF(exists_krlMsg(nRintMsgNr[10])== FALSE)THEN
MLD(40,#StateMsg);零件編號 PLC中缺少
ENDIF
ENDWHILE
MSG_DEL = Clear_KrlMsg (nRintMsgNr[10])刪除狀態消息
ENDIF
ENDIF
CONTINUE
$COUNT_I[i_T_Speicher]=$B_IN[Binin_T_Sp] BIN20的數給I31
CONTINUE
WHILE($COUNT_I[i_T_Speicher]<1) OR ($COUNT_I[i_T_Speicher]>254)
當指令: 當I31 小于1,或大于254 發出提示信息
MLD(14,#QuitMsg);PLC存儲器位置無效
$COUNT_I[i_T_Speicher]=$B_IN[Binin_T_Sp] I31 =Bin20
ENDWHILE
$B_OUT[Binout_T_Sp]=$B_IN[Binin_T_Sp]
將個給入的Bin20再發出去BINout20給PLC
設置零件存儲位置1-254
CONTINUE
IF(BASE_TYPE[VW_MPARA_ACT.BASE_NO]==#BASE)THEN
只有當BASE_TYPE[1]被設置成#BASE時執行
CONTINUE
WHILE(T_Speicher[$COUNT_I[i_T_Speicher]].Z==0.0)
當T_Speicher的Z方向是0時提示信息
MLD(15,#QuitMsg);存儲位置的坐標無效
ENDWHILE
SWITCH Par1 Par1=2
CASE 1
CONTINUE
BASE_DATA[31]=T_Speicher[$COUNT_I[i_T_Speicher]]
當 Par1=1時 BASE_DATA[31]直接由變量T_Speicherge[]給賦值
CASE 2 Par1=2時
CONTINUE 改變$BASE31的坐標值:當前使用的BASE值與T_Speicher的計算
BASE_DATA[31]=BASE_DATA[VW_MPARA_ACT.BASE_NO]:T_Speicher[$COUNT_I[i_T_Speicher]]
DEFAULT P1要是其他的值
MLD(20,#QuitMsg);選擇錯誤
ENDSWITCH
ELSE BASE_TYPE[1]沒有設置成#BASE需要提示報警
MLD(31,#QuitMsg);基本類型無效
ENDIF
;
ENDIF
FRAME T_Speicher[300] 程序中使用了9個空位
T_Speicher[1]={X 0.0,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[2]={X -180.300003,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[3]={X -360.600006,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[4]={X -540.900024,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[5]={X -721.200012,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[6]={X -901.5,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[7]={X -1081.80005,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[8]={X -1262.09998,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
T_Speicher[9]={X -1442.40002,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}
-
控制
+關注
關注
4文章
1018瀏覽量
122889 -
User
+關注
關注
1文章
27瀏覽量
10892 -
KUKA
+關注
關注
3文章
217瀏覽量
16677
原文標題:KUKA堆放件控制USER說明:Tech_ T_Speicher
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
庫卡KUKA機器人常見故障維修
Keysight是德N4433D射頻電子校準件4 端口說明書

TSW1400開發板的USER_LED3 和USER_LED4不亮怎么解決?
電子控制裝置的主要零件有哪些
OTA時,由USER2.BIN更新USER1.BIN出錯,無法啟動怎么解決?
ota升級跳到user2以后,一直是fatal exception,重新燒寫也回不到user1,為什么?
請問ESP8266_NONOS_SDK_V2.0 的user1.bin和user2.bin是一樣的嗎?
OTA升級從user2.bin ota升級到user1.bin失敗了的原因?
請問如何創建Characteristic User Description?
如何使用VeriStand的User Channels、Alarms、Procedures功能?

評論