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
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )