Uploaded by DementionQ

C2056 Rivetting Precommissioning v2b

advertisement
Commessa 2056-22 ======= station 26
Rivetting – RR2 – Precommissioning reminder
scope: testing & implementation rivetting & camera application
robot Fanuc ArcMate 120iD PL25kg – E185185
Settings
Comunication Profinet (Bollhoff)
Hw: PN board ]084 – Single channel ==== controller side
Sw: 1A05B-2600-S523 ! PROFINET PHOENIX-CONTACT
Comunication Ethernet (Keyence)
Hw: Controller motherboard JD38B Port #2
Sw: 1A05B-2600-R648 ! User Socket Msg
DCS:
Cartesian position check
No_5
Active
Conveyor
No_7
Not Active
RR1 interference
No_9
Active
Work area
User model/tool:
To be done
Tool 1 – Rivetnut
Restricted
Restricted
Tool 7 camera – not used
Payload data
mass - kg
center X – cm
center Y – cm
center Z – cm
inertia X – kgfcms^2
inertia Y – kgfcms^2
inertia Z – kgfcms^2
Robot mapping DI/DO/GI/GO
#
range
1_DI
001-832
2_DI
833-2048
1_DO
001-256
2_DO
257-2048
---10_GI
11_GI
12_GI
13_GI
14_GI
15_GI
16_GI
17_GI
User alarm
[4]
[5]
[6]
[7]
24.6
12
-0.1
-0.2
2.32
3.00
1.37
rack
99
0
99
0
slot
1
0
1
0
st
1
0
1
0
num
0
99
99
0
99
99
99
99
0
1
1
0
1
1
1
1
0
97
113
0
223
248
257
273
0
16
16
0
16
16
16
16
Stroke/mm H1
Stroke/mm H2
Force/Nm H1 -- W1
Force/Nm H1 -- W2
Force/Nm H2 -- W1
Force/Nm H2 -- W2
label reference 91/97
---Outside value - CAM
Outside value - J1
Outside value- skip - Touch control skip
Phoenix ==== Plc Next Enginering
Files loaded on robot for PN comunication performed with PLCnext engineer v2023.0
TIC.zip
DEV_CONFIG.dt
slot[1].name = pn-pn-coupler-1
slot[1].station_id = 1
slot[1].di_byte = 104
slot[1].do_byte = 32
slot[1].alias = pn-pn-coupler-1
Bollhoff – rivetting machine
IP RR2
IP Bollhoff
199.201.6.57
199.201.6.58 – pnpn coupler
=== Map IO === input 104 bytes / Output 32 bytes
Coupler ---- 6ES7 158-3AD10-0XA0 === Fw ver 4.0 --- Gsdml ver 2.32
Coupler sheet
Keyence – guided robot
Sw: CV-X serie Termonal v5.8
Object detection with ShapeTrax3 tool
Eth - IP robot
Eth - IP Keyence
199.202.6.202
199.202.6.222
Files.pc loaded on robot controller for Eth comunication (Keyence)
1
Keyencesetup
9
Key_p2j
2
Key_add_ufrm
10
Key_recv_val
3
Key_checkpos
11
Key_selconf
4
Key_close
12
Key_send_cmd
5
Key_connrct
13
Key_set_ext
6
Key_get_conf
14
Key_set_ip
7
Key_get_path
15
Key_set_var
8
Key_get_var
16
Key_wait_cmd
alarms
srvo xxx
OVC alarm
Host 151
msg buffer
UTRECVSTRF – LINE 932
Receive value error 1 0essed
$FBP2_DIAG.$FW_VERSION === v2.7.2
Programming – MAIN - PNS0001
/MN
1: ! ***** SIMPRO SPA ***** ;
2: ! **** release 4_0 ***** ;
3: ! *** Rivetting test *** ;
5: LBL[1] ;
start label
7: PAYLOAD[1:Rivetnut] ;
initialization
8: //CALL RESET_OUT ;
reset out
9: DO[17:OFF:2RqLoad]=OFF ;
reset out
10: DO[19:OFF:H2Home]=OFF ;
reset out
11: CALL RIVET_INIT ;
initialization
12: ;
13: IF DO[50:OFF:Hom]=OFF,CALL BACKHOME ;
14: ;
15: IF R[121:EN_Riv_1]=1,CALL AATEST_CAM1 ; routine
16: IF R[122:EN_Riv_2]=1,CALL AATEST_CAM2 ; routine
17: IF R[123:EN_Riv_3]=1,CALL AATEST_CAM3 ; routine
18: ;
19:J PR[1:Home] 75% FINE ;
20: //DO[1:ON :EM_OF]=OFF ;
safety active
21: //DO[2:ON :Air]=OFF ;
general air
22: DO[17:OFF:2RqLoad]=OFF ;
request of loading
23: DO[19:OFF:H2Home]=OFF ;
position free 4 to be loaded
24: JMP LBL[1] ;
loop
25: ;
/POS
/END
Programming – Rivet 123456 example
3: ! *** Rivetting test *** ;
4: ;
5: LBL[1] ;
6: PAYLOAD[1:Rivetnut] ;
set paylod
7: DO[17:OFF:2RqLoad]=OFF ;
reset output
8: DO[19:OFF:H2Home]=OFF ;
reset output
9: //CALL RESET_OUT ;
reset output
10: //CALL RIVET_INIT ;
initialization
11: ;
12: IF DO[50:OFF:Hom]=OFF,CALL BACKHOME ;
13: ;
14: LBL[2] ;
15: OVERRIDE=75% ;
16: UTOOL_NUM=1 ;
17: ! Avvicinamento ;
18:J PR[20:Appr] 75% CNT100 ;
common ergister
19: ;
20: CALL B2_LOADING ;
macro load rivet head 2
21: ;
22: LBL[10] ;
23:L P[2] 1250mm/sec CNT75 ;
24: COL DETECT ON ;
25: COL GUARD ADJUST 125 ;
26: DO[19:OFF:H2Home]=OFF ;
OFF Ho,e head 2
27: ;
28: LBL[12] ;
29: WAIT DI[19:OFF:H2 LOCKED]=OFF ;
Check signal
30: ;
31: ! *** Cam Pos 1 *** Z 20 ;
32: PR[51,3:pCam1]=R[93:CamZ] ;
adj height --- 20
33:L PR[51:pCam1] 200mm/sec FINE ;
pos cam 1
34: WAIT .20(sec) ;
35: ;
36: ! * * * Start * * * ;
37: CALL KEY_CONNECT ;
CAMERA CONNECTION
38: ! * * * PG 012 * * * ;
39: CALL KEY_SEND_CMD('PW',1,12) ;
PROGRAM LOADED 12
40: WAIT .05(sec) ;
41: CALL KEY_WAIT_CMD('PW',18) ;
QUEUE R18
42: ;
43: CALL KEY_SEND_CMD('T1') ;
trigger co0mmand
44: WAIT .05(sec) ;
45: CALL KEY_WAIT_CMD('T1',19) ;
trigger result on R19
46: ;
50: CALL KEY_RECV_VAL(20) ;
\
Data correction frm R20
51: ;
52: CALL KEY_CLOSE ;
Close connection
53: //PAUSE ;
54: ! * * * End * * * ;
55: ;
56: ! * * * Cam Limits * * * ;
57: R[78:@LBLCam]=12 ;
Check cam value +-1
58: //IF (R[20:X]<913.75 OR R[20:X]>915.75),JMP LBL[95] ;
59: //IF (R[21:Y]<129.25 OR R[21:Y]>121.25),JMP LBL[95] ;
60: ;
61: PR[41,1:pRiv1K]=R[20:X] ;
correction
62: PR[41,2:pRiv1K]=R[21:Y] ;
correction
63: PR[41,3:pRiv1K]=(-140) ;
initial z
64: PR[41,4:pRiv1K]=PR[21,4:Riv1] ;
orientation
65: PR[41,5:pRiv1K]=PR[21,5:Riv1] ;
orientation
66: PR[41,6:pRiv1K]=PR[21,6:Riv1] ;
orientation
68:L PR[41:pRiv1K] 500mm/sec FINE ;
corrwcted pnt
69: ! Master pos ;
70: //PR[21,3:Riv1]=(-140) ;
master pos
71: //L PR[21:Riv1] 75mm/sec FINE ;
4 setting only
72: WAIT R[131] ;
73: WAIT DI[19:OFF:H2 LOCKED]=OFF ;
74: PAUSE ;
75: ;
76: IF (R[53:DRYCYC]=1) THEN ;
dry cycle
77: WAIT 2.60(sec) ;
78: ENDIF ;
79: IF R[53:DRYCYC]=1,JMP LBL[14] ;
dry cycle
80: ;
81: ! *** UnLock *** ;
82: PR[41,3:pRiv1K]=(-158) ;
rivet inside hole
83:L PR[41:pRiv1K] 75mm/sec FINE ;
84: ! *** Check compensation *** ;
85: ! *** Force push less 2mm *** ;
86: ! *** Check compensation *** ;
87: IF (!DI[16:OFF:H2 COMP OK]),JMP LBL[95] ; check input
88: ;
89: DO[21:OFF:2Unlock cmp]=ON ;
head 2 locked command
90: WAIT DI[19:OFF:H2 LOCKED]=ON ;
head 2 locked input
92: ! *** SKIP *** ;
93: SKIP CONDITION R[73:Trq*3]>3 ;
torque &/or comp skip
94: ;
95: PR[41,3:pRiv1K]=(-173.75)
height linear sensor final target
96:L PR[41:pRiv1K] 45mm/sec FINE Skip,LBL[14],PR[91:Skp1]=LPOS ;
97: ;
98: R[77:@LBLTrq]=11 ;
99: WAIT R[131] ;
100: JMP LBL[97] ;
torque error
101: ;
102: LBL[14] ;
103: WAIT 2.00(sec) ;
104: CALL B2_SETTING ;
routine for setting
105: WAIT .20(sec) ;
106: ;
107: ! Uscita tool Z -30 ;
108:L PR[41:pRiv1K] 75mm/sec FINE Tool_Offset,PR[60:T*0 ] ;
109: WAIT .05(sec) ;
110: DO[21:OFF:2Unlock cmp]=OFF ; reset compliance
111: ;
112: LBL[14] ;
113:L PR[41:pRiv1K] 500mm/sec CNT75 Tool_Offset,PR[63:TOfs*3] ;
114: ;
115: ! Uscita tool Z 00 ;
116:L P[3] 750mm/sec CNT75 ;
117: COL DETECT OFF ;
118: ;
119: LBL[20] ;
120:L P[4] 1250mm/sec CNT100 ;
121: CALL B2_LOADING ;
advance loading
122: //DO[19:OFF:H2Home]=OFF ;
123: ;
124: LBL[36] ;
125: ;
126: LBL[70] ;
127: WAIT .25(sec) ;
128: //J PR[1:Home] 75% FINE ;
129: ;
130: FOR R[30:*Reserv]=51 TO 69 ;
reset out
131: DO[R[30]]=OFF ;
132: ENDFOR ;
133: WAIT R[131] ;
134: //JMP LBL[2] ;
loop
135: JMP LBL[99] ;
exit
136: !END ;b no frame used
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Control
System
Design
Ph. +39
0119179
311
| Google
Chat filip
po.defilip
pi@simp
ronet.co
m
Simpro
S.p.A. |
via Torino 454, 10032 Brandizzo (TO), Italy
www.simpro.it | map on Google1
1
Download