You are on page 1of 262

VEHICLE OPERATION STRUCTURE AND STANDARDS

(VOSS)

FORD Robot Programming Guide - FANUC Implementation


Next Gen - Integrated Ethernet Safety for R-30iA and R-30iB
Controllers

Appendix Vision MH
Table of Contents
1 SAMPLE TP PROGRAMS .................................................................... 6
1.1 PG21 – HANDLING VISION (MOVING ROBOT WITH VISION OFFSETS) .............................................. 7
1.2 PG21 – PRESENT/ABSENT VISION (PART PRESENT OR NOT) ..........................................................14
1.3 PG21 – PERCEPTRON MEASURE ...................................................................................................20
1.4 PG11 – PERCEPTRON CHECK.......................................................................................................22
1.5 VISION01 ...................................................................................................................................24
1.6 PRESENT/ABSENT SUB-PROGRAM (VISIONTRGR.TP) .............................................................26
1.7 PG21 RACK/DERACKING (MOON ROOF EXAMPLE)..................................................................27
1.8 RACK/DERACKING SUB-PROGRAM (REG_SET_4DR.TP) ...................................................40
1.9 RACK/DERACKING SUB-PROGRAM (F1PICK_4DR.TP) ......................................................42
1.10 RACK/DERACKING SUB-PROGRAM (F1DROP_4DR.TP) .....................................................48
1.11 PG21 BEST FIT (EXAMPLE) ........................................................................................................51
1.12 BEST FIT SUB-PROGRAM (LOADNOMFRAMES.TP).............................................................54
1.13 BEST FIT SUB-PROGRAM (PICKUP.TP) ................................................................................55
1.14 BEST FIT SUB-PROGRAM (MOVE_2_W84BDY.TP) ...............................................................58
1.15 BEST FIT SUB-PROGRAM (RET_FROM_W84BODY.TP) .......................................................59
1.16 BEST FIT SUB-PROGRAM (DROPOFF.TP) ............................................................................60
1.17 BEST FIT SUB-PROGRAM (VISIONFINE.TP) .........................................................................68
1.18 BEST FIT SUB-PROGRAM (VISIONPICK.TP) .........................................................................70
1.19 BEST FIT SUB-PROGRAM (ABORTPICKUP.TP) ....................................................................72
1.20 BEST FIT SUB-PROGRAM (VISIONROUGH.TP) ....................................................................74
1.21 BEST FIT SUB-PROGRAM (ABORTDROPOFF.TP) ................................................................76
1.22 BEST FIT SUB-PROGRAM (VISIONQCCK.TP) .......................................................................78
1.23 HOME_IO – RESET INPUT/OUTPUT MACRO ..............................................................................80

2 SOFTWARE I/F PANEL...................................................................... 82


2.1 VISION MENU INTERFACE .............................................................................................................82
2.2 RACK MENU INTERFACE ...............................................................................................................83

3 ETHERNET SETTINGS ...................................................................... 84


3.1 DIGITAL INPUT CONFIGURATION SETTINGS FOR TELEDYNE DALSA CAMERAS .................................84

4 PERCEPTRON VISION....................................................................... 85
4.1 PERCEPTRON SETUP ....................................................................................................................85
4.2 PERCEPTRON PROGRAMS ............................................................................................................90
4.2.1 COMM_SETUP.PC ...............................................................................................................90
4.2.2 PRCPCOMM.PC ...................................................................................................................90
4.2.3 FCANCEL – Macro ...............................................................................................................91
4.2.4 FCLRREGS – Macro .............................................................................................................93
4.2.5 FCMDMCRS – Macro ...........................................................................................................94
4.2.6 FENDCYCL – Macro ............................................................................................................95
4.2.7 FENDSCAN – Macro ............................................................................................................97
4.2.8 FGTFRAME – Macro ............................................................................................................99
4.2.9 FGTFRMEX – Macro ..........................................................................................................102
4.2.10 FMEASPOS – Macro ......................................................................................................105
4.2.11 FMEASURE – Macro .....................................................................................................107
4.2.12 FRSTATUS – Macro .......................................................................................................108
4.2.13 FSCMPND – Macro .......................................................................................................111
4.2.14 FSTPOSE – Macro .........................................................................................................113

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 2 of 133


4.2.15 FSTPSCAN – Macro .......................................................................................................115
4.2.16 FSTRTCYC – Macro .......................................................................................................117
4.2.17 FSTRTSCN – Macro .......................................................................................................119
4.2.18 FWTCYCLE – Macro ......................................................................................................121
4.2.19 FWTFRAME – Macro .....................................................................................................123
4.2.20 FWTFRMEX – Macro .....................................................................................................126
4.2.21 FWTSHIM – Macro ........................................................................................................129

5 PMC LOGIC (S-LOGIC) FOR R-30IA CONTROLLERS................ 132

6 PMC LOGIC (S-LOGIC) FOR R-30IB CONTROLLERS ................ 133

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 3 of 133


Revision History
Revision Modification Date Description
1.0 2012-05-11 Initial Release
1.1 2012-10-31 Added calls for reconnecting vision Ethernet in
programs VISIONFINE.TP, VISIONPICK.TP, VISION
ROUGH.TP, and VISIONQCCK.TP programs. Also
added HOME_IO sample program with vision
reconnect.
Present/Absent Vision program removed triggering
code and replaced with CALL VISIONTRGR.
VISIONTRGR.TP sample was created.
Added section 4.1 Digital Input Configuration Settings
section for Teledyne Dalsa Cameras.
Added Perceptron PG21, VISION01, and Perceptron
Vision section including setup and programs.
PMC update: Modified the battery low alarm rung
Y001.1
PMC update: Created Prompt Box Rung for Resume
Tolerance in LEVEL2. Y73.0
PMC update: Added SRVO-408 filtering. Added safety
chain fault error decoding to send a bit to the PLC.
1.2 2012-12-21 Created direct Exit Zones in HOME_IO.
Added wait statement in PG01 (Present/Absent Vision
(Part Present or Not) and VISION01 for job loaded.
Updated PMC: Created R0.7 Part Present in MH.
Added not R0.7 to y126.7 contact. Created K13.1 No
Tool SS Reset Contact.
Updated PMC: Added K0016.1 (VAC 4 ON PB) and
K0016.2 (BLOWOFF 4 ON PB) to rung output
D0612.1 (MH IF PB TO) in INTERFACE logic.
1.3 2013-01-14 Fixed Exit Zone 14 bit in HOME_IO.
Corrected Vision and Rack interface screens.
1.4 2013-03-18 Added R-30iB specific PMC.
1.5 2013-08-07 Updated iA PMC: Added pass through bits from
dispense controllers to PLC for error heating. X0085.6
DI 687 turns ON Y0029.2 DO 235. X93.6 DI 751 turns
ON Y0033.2 DO 267.
Updated iA PMC: Added Y108.7 DO 872
ACKBRKN1, Y108.2 DO 867 ACKBRKN2, Y29.3 DO
236 ACKNOZCH1 and Y33.3 DO 268 ACKNOZCH2
to the rung with output with D612.2 SEAL IF PB TO.
Added anti-tie down logic for Y108.7 DO 872
ACKBRKN1, Y29.3 DO 236 ACKNOZCH1, Y108.2

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 4 of 133


DO 867 ACKBRKN2 and Y33.3 DO 268
ACKNOZCH2.
Updated iA PMC: Modified logic for rung with output
R0388.0 OPSFTY_FLT_LATCH. Added a rung for
this modification that has output R0388.1 F1008.1
DELAY ON.
Updated iB PMC: Removed logic for fault decoding for
SRVO 379-385 alarms (R387.1 - R87.7). Removed
comments for R387.1 - R387.7. Modified comment for
R387.0 for new R30iB fault description. Modified logic
for rung with output R0388.0 OPSFTY_FLT_LATCH.
Added a rung for this modification that has output
R0388.1 F1008.1 DELAY ON.
1.6 2013-09-06 Added Program PG11 – Perceptron Check.
1.7 2014-06-24 Added Logic to PG21 Handling Vision for Abort
Pickup
Updated iB PMC: Facility code reset logic modified.
Updated HOME_IO to reset Robot at Minor
Maintenance;
Added DO[587:RBT AT MINMAINT]=OFF
1.8 2015-01-30 Added Second Program Verify to Main Style Programs
Updated PMC: Added Couple and Decouple pass
through signals to Tool Changer Subprogram
1.9 2016-02-12 Updated PMC (iA): Added TC Cover Open/Close to
Interface Anti-Tiedown Logic
Updated PMC: 2015-10-30 : Added Logic to allow for
Robot Cycle Start from Multiple Home Positions;
Added Logic to require a TP Interface button press to
(Un)Lock the Tool Changer while in Teach; Added
Logic to not allow the signal for the Lock Command to
go low when the Tool Change Application Bit is
inactive

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 5 of 133


1 Sample TP Programs
The programs for vision applications are the same as those for Materials Handling where
applicable.
There is additional logic required for vision:

 Move to a view position (if robot is holding the camera)


 Acquire an image
 Determine offsets
 Verify that offsets are in range
 Apply offsets to the pick (or drop) position.

It is understood that there are many variations of vision applications and correspondingly the
sequencing logic for these must vary. One example of a variation is that you might pick the
part first and then present it to a camera and then apply the offsets to a tool frame.

Also, there are differences between the way the vision systems communicate to the robot and
even how offsets need to be applied.

The sample program presented here is an application where the image of the part is taken
prior to pickup, and the offset is applied to the pickup position and approach/depart positions.
It is assumed that the vision system returns the offset in PR[50] and that it verifies that the
offset is within acceptable range.

It is important to understand that the ladder logic in the Robot controller (PMC) is involved
in the communications between the PLC and the vision system. In general, the teach pendant
program uses I/O to the PLC, but may do a call to the vision system to acquire the offset.
The vision system uses digital I/O to the robot but the majority are passed through to the PLC
via the PMC program.

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 6 of 133


1.1 PG21 – Handling Vision (Moving Robot with Vision Offsets)
/PROG PG21 Job
/ATTR
OWNER = MNEDITOR;
COMMENT = "Style 1 Main";
PROG_SIZE = 7303;
CREATE = DATE 10-02-16 TIME 16:47:26;
MODIFIED = DATE 10-10-01 TIME 10:54:42;
FILE_NAME = PG21;
VERSION = 0;
LINE_COUNT = 321;
MEMORY_SIZE = 7799;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT : TRUE ;
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !***************************** ;
2: ! CARRIED MH PG21 ;
3: ! ;
4: !***************************** ;
5: ;
6: !Verify Program ;
7: PROGRAM VERIFY(21) ;
8: ;
9: !Set Robot UTOOL Number ;
10: UTOOL_NUM=1 ;
11: ;
12: !Set Robot UFRAME Number ;
13: UFRAME_NUM=1 ;
14: ;
15: ;
16: !If Part Present and Gripper ;
17: ! Closed, GO set Part Down ;
18: IF DI[67:PART PRESENT 1]=ON AND DI[74:CLMP 1 CLOSED]=ON,JMP
LBL[10];
19: ;
20: !-------------------------------- ;
21: !Set Robot Payload WITHOUT PART ;
22: PAYLOAD[2] ;
23: ;
24: !Setup App Specific Outputs ;
25: ! Runs HOME_IO ;
26: SETUP OUTPUTS ;
27: ;
28: !Move to Home ;
29: GO TO HOME POS ;
30: ;
31: ! Move to pounce position ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 7 of 133


32: GO TO POUNCE ;
33: ;
34: !Clr to Adv Xfer ;
35: DO[954:CLRTOADVXFR]=ON ;
36: ;
37: !Clr to Ret Xfer ;
38: DO[955:CLRTORETXFR]=ON ;
39: ;
40: !Clr to Unclamp ;
41: DO[956:CLRTOUNCLMP]=OFF ;
42: ;
43: !-------------------------------- ;
44: LBL[33:Loop Back] ;
45: ;
46: ! Turn ON Robot in LOOP ;
47: DO[24:RBT IN LOOP]=ON ;
48: ;
49: !-------------------------------- ;
50: !Wait Continue from Pounce ;
51: ! or Return to Home ;
52: WAIT DI[9:START CYCLE]=ON OR DI[13:RETURN TO HOME]=ON ;
53: ;
54: ! Turn OFF Robot in LOOP ;
55: DO[24:RBT IN LOOP]=OFF ;
56: ;
57: !If Return to Home ;
58: ! jump to LB[13] ;
59: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
60: ;
61: !If Continue from Pounce ;
62: ! jump to LB[9] ;
63: IF DI[9:START CYCLE]=ON,JMP LBL[9] ;
64: ;
65: JMP LBL[33] ;
66: ;
67: !-------------------------------- ;
68: !Continue from Pounce ;
69: LBL[9] ;
8: ;
9: !Verify Program ;
10: PROGRAM VERIFY(21) ;
11: ;
71: !Clr to Return Xfer ;
72: DO[955:CLRTORETXFR]=OFF ;
73: ;
74: !Clr to Adv Xfer ;
75: DO[954:CLRTOADVXFR]=OFF ;
76: ;
77: !Clr to Unclamp ;
78: DO[956:CLRTOUNCLMP]=OFF ;
79: ;
80: ;
81: !VISION ;
82: !Zero the offset register ;
83: !remove if done elsewhere ;
84: PR[50:Vision Offset]=PR[1:Home 1] ;
85: PR[50,1:Vision Offset]=0 ;
86: PR[50,2:Vision Offset]=0 ;
87: PR[50,3:Vision Offset]=0 ;
88: PR[50,4:Vision Offset]=0 ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 8 of 133


89: PR[50,5:Vision Offset]=0 ;
90: PR[50,6:Vision Offset]=0 ;
91: ;
92: !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ;
93: !If robot is holding the camera ;
94: !Move to view posn ;
95: ;
96: !Enter Zone1 ;
97: ENTER ZONE(1) ;
98: ;
99:J P[1] 100% CNT100 ;
100:J P[2:View Posn] 50% FINE ;
101: !Settle delay before snap ;
102: WAIT .20(sec) ;
103: ;
104: DO[340:MEASURE PT 1]=ON ;
105: !start vision processing ;
106: DO[793:Vision Trigger]=PULSE,1.0sec ;
107: ;
108: !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;
109: ;
110: !PLC responds to robot in ;
111: !DI[801:Visn Measure Complete] ;
112: !PMC sends to PLC in DO[337: ;
113: !Vision System Complete] ;
114: !PLC sends DI[337] ;
115: ;
116: !SET ROBOT LOOP ;
117: DO[24:RBT IN LOOP]=ON ;
118: ;
119: !Wait Vision OP Complete ;
120: !or Return to Home ;
121: WAIT DI[337:VIS OP COMP 1]=ON OR DI[13:RETURN TO HOME]=ON ;
122: ;
123: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
124: ;
125: !Robot Not in Wait Loop ;
126: DO[24:RBT IN LOOP]=OFF ;
127: ;
128: !Call program to get the vision ;
129: ! system offset ;
130: ! CALL XXXXXX ;
131: !Offset is assumed to be ;
132: ! in PR[50] below ;
133: ;
134: !Offset Received ;
135: DO[344:VISION OFFSET REC]=PULSE,2.0sec ;
136: ;
137: !If error, vision sys sends DIs ;
138: ! 794-800 to robot. PMC sends ;
139: ! these to the PLC DO[3xx] ;
140: ;
141: !Range check of offset should ;
142: !be done by vision system ;
143: !or here in this program ;
144: !to prevent wild moves on bad ;
145: !offsets ;
146: !if Bad Offset, Go Home ;
147: IF DI[339:VIS OP NF 1]=OFF,JMP LBL[13] ;
148: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 9 of 133


149: !******************************* ;
150: !PICKUP PATH ;
151: !******************************* ;
152: ;
153: !Check Clamps OPENED ;
154: WAIT DI[73:CLMP 1 OPENED]=ON ;
155: ;
156: !Set Robot UFRAME Number ;
157: UFRAME_NUM=1 ;
158: ;
159: DO[340:MEASURE PT 1]=OFF ;
160: ;
161: ! Turn ON Robot in LOOP ;
162: DO[24:RBT IN LOOP]=ON ;
163: ;
164: !Wait for Clear to Pickup ;
165: WAIT DI[94:CLR TO PICKUP]=ON ;
166: ;
167: ! Turn OFF Robot in LOOP ;
168: DO[24:RBT IN LOOP]=OFF ;
169: ;
170: !Enter Zone1 ;
171: ENTER ZONE(1) ;
172: ;
173: ! Move to Pickup Position ;
174:J P[3] 25% CNT100 ;
175: ;
176:L P[4:Approach Pick] 500mm/sec CNT5 Offset,PR[50:Vision Offset]
;
177:L P[5:At Pick] 100mm/sec FINE Offset,PR[50:Vision Offset] ;
178: ;
179: !At Pickup 1 ;
180: DO[49:RBT @ PKUP POS 1]=ON ;
181: ;
182: !Wait for part present or abort pickup ;
183: WAIT DI[67:PART PRESENT 1]=ON OR DI[93:ABORT PICKUP]=ON ;
183: IF DI[93:ABORT PICKUP]=ON, JMP LBL[500] ;
184: ;
185: !Close gripper 1,2 ;
186: CLOSE GRIPPER1 ;
187: ;
188: !Wait for Gripper 1 Close or Abort Pickup;
189: WAIT (DI[74:CLMP 1 CLOSED]=ON OR DI[93:ABORT PICKUP]=ON) ;
183: IF DI[93:ABORT PICKUP]=ON, JMP LBL[500] ;
190: ;
191: !Set Robot Payload WITH PART ;
192: PAYLOAD[3] ;
193: ;
194: ! Move above Pickup Position ;
195:L P[6:Deprt Pick] 100mm/sec CNT50 Offset,PR[50:Vision Offset]
;
196: ;
197: !Wait for Pickup 1 Complete ;
198: WAIT DI[49:PICKUP COMP 1]=ON ;
199: ;
132: ;
123: JMP LBL[600] ;
123: ;
132: !-------------------------- ;
132: !If abort pickup is ON ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 10 of 133


132: LBL[500] ;
132: ;
123: !Open gripper 1,2 ;
123: OPEN GRIPPER1 ;
123: ;
123: !Wait for ALL Grippers ;
123: ! and Safety Clamps are ;
123: ! OPEN before continuing ;
123: WAIT DI[73:CLMP 1 OPENED]=ON ;
123: ;
123: !VACUUM 1 OFF ;
123: ! (if applicable) ;
123: CALL VAC1_OFF ;
123: ;
123: !Wait for ALL Grippers ;
123: ! and Safety Clamps are ;
123: ! OPEN before continuing ;
123: WAIT DI[73:CLMP 1 OPENED]=ON ;
123: ;
123: !Move above pickup Position ;
123: ! without the part. ;
123: !This need to be clear with ;
123: ! clamps open, otherwise use ;
123: ! a different position. ;
123:L P[3] 500 mm/sec CNT100 ;
123: ;
123: !Wait for no parts present ;
123: WAIT DI[66:NO PARTS PRESENT]=ON ;
123: ;
123: !If not Aborted or ;
123: ! Aborted with Clamp Open ;
123: LBL[600] ;
123: ;
199: ;
200: !At Pickup 1 ;
201: DO[49:RBT @ PKUP POS 1]=OFF ;
202: ;
203: ! Move away from Pickup Pos ;
204:J P[7] 25% CNT100 ;
205: ;
206: !Exit Zone1 ;
207: EXIT ZONE(1) ;
208: ;
209: !-------------------------------- ;
210: LBL[10:Skip Pickup ] ;
211: ;
212: !-------------------------------- ;
213: !Clr to Return Xfer ;
214: DO[955:CLRTORETXFR]=OFF ;
215: ;
216: !Clr to Adv Xfer ;
217: DO[954:CLRTOADVXFR]=OFF ;
218: ;
219: !Clr to Unclamp ;
220: DO[956:CLRTOUNCLMP]=OFF ;
221: ;
222: !Set Robot Payload WITH PART ;
223: PAYLOAD[3] ;
224: ;
225: !-------------------------------- ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 11 of 133


226: LBL[99:Loop Back ] ;
227: ;
228: ! Turn ON Robot in LOOP ;
229: DO[24:RBT IN LOOP]=ON ;
230: ;
231: !Wait for Ret Home or Set Down ;
232: WAIT DI[96:CLR TO SET DOWN]=ON OR DI[13:RETURN TO HOME]=ON
;
233: ;
234: ! Turn OFF Robot in LOOP ;
235: DO[24:RBT IN LOOP]=OFF ;
236: ;
237: !If Return to Home ;
238: !jump to label ;
239: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
240: ;
241: !If Clear to Set Down ;
242: !go to drop-off path ;
243: IF DI[96:CLR TO SET DOWN]=ON,JMP LBL[40] ;
244: ;
245: JMP LBL[99] ;
246: ;
247: LBL[40:GO to Set Down] ;
248: !******************************* ;
249: !DROPOFF PATH ;
250: !******************************* ;
251: ;
252: !Clr to Adv Xfer ;
253: DO[954:CLRTOADVXFR]=OFF ;
254: ;
255: !Clr to Ret Xfer ;
256: DO[955:CLRTORETXFR]=OFF ;
257: ;
258: !Clr to Unclamp ;
259: DO[956:CLRTOUNCLMP]=OFF ;
260: ;
261: !Enter Zone2 ;
262: ENTER ZONE(2) ;
263: ;
264: !Set Robot UFRAME Number ;
265: UFRAME_NUM=2 ;
266: ;
267: ! Move to Dropoff Position ;
268: ;
269:J P[8] 25% CNT100 ;
270:J P[9:At Drop] 25% FINE ;
271: ;
272: !At Set Down ;
273: DO[59:RBT AT DRP OFF 1]=ON ;
274: ;
275: !Open Grippers 1,2 ;
276: OPEN GRIPPER1 ;
277: ;
278: !Wait for Gripper 1,2 Open ;
279: WAIT DI[73:CLMP 1 OPENED]=ON ;
280: ;
281: ! Turn ON Robot in LOOP ;
282: DO[24:RBT IN LOOP]=ON ;
283: ;
284: !Wait for Set Down Complete ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 12 of 133


285: WAIT DI[59:SET DOWN COMP 1]=ON ;
286: ;
287: ! Turn OFF Robot in LOOP ;
288: DO[24:RBT IN LOOP]=OFF ;
289: ;
290: !Set Robot Payload WITHOUT PART ;
291: PAYLOAD[2] ;
292: ;
293: ! Move above Dropoff Position ;
294:J P[10] 25% CNT100 ;
295: ;
296: !Wait for Part Release ;
297: WAIT DI[97:PART RELEASED]=ON ;
298: ;
299: !Robot Waiting in Loop ;
300: DO[59:RBT AT DRP OFF 1]=OFF ;
301: ;
302: ! Move away from Dropoff Pos ;
303:J P[11] 25% CNT100 ;
304: ;
305: !Exit Zone2 ;
306: EXIT ZONE(2) ;
307: ;
308: !Clr to Return Xfer ;
309: DO[955:CLRTORETXFR]=ON ;
310: ;
311: !Clr to Adv Xfer ;
312: DO[954:CLRTOADVXFR]=ON ;
313: ;
314: !Clr to Adv Xfer ;
315: DO[956:CLRTOUNCLMP]=ON ;
316: ;
317: ;
318: LBL[13:Return to Home ] ;
319: !-------------------------------- ;
320: !Move to Home ;
321: GO TO HOME POS ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 13 of 133


1.2 PG21 – Present/Absent Vision (Part Present or Not)
/PROG PG21
/ATTR
OWNER = MNEDITOR;
COMMENT = "4 Door";
PROG_SIZE = 6845;
CREATE = DATE 10-08-24 TIME 20:21:00;
MODIFIED = DATE 10-08-24 TIME 20:21:00;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 303;
MEMORY_SIZE = 7293;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT : TRUE ;
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Ford Presents/Absent: ;
3: !Vision PG21 ;
4: !(Vendor OLP) ;
5: ;
6: ! Robot: 8a-030-6 ;
7: ! Application: Material Handling ;
8: ;
9: ! Tool: UTOOL 1 ;
10: ! X: -376.19 Y: 505.01 Z: 41 ;
11: ! W: 0.00 P: 0.00 R: 18 ;
12: ;
13: ! UFRAME: UFRAME 1 ;
14: ! X: 0.00 Y: 0.00 Z: ;
15: ! W: 0.00 P: 0.00 R: ;
16: !-------------------------------- ;
17: ;
18: !Verify Program ;
19: PROGRAM VERIFY(21) ;
20: ;
21: !Set Robot Payload ;
22: PAYLOAD[2] ;
23: ;
24: !Set Robot UTOOL Number ;
25: UTOOL_NUM=1 ;
26: ;
27: !Set Robot UFRAME Number ;
28: UFRAME_NUM=1 ;
29: ;
30: !If Part Present and Gripper Clos ;
31: IF DI[67:PART PRESENT 1]=ON AND DI[74:CLMP 1 CLOSED]=ON,JMP
LBL[10] ;
32: ;
33: !Setup App Specific Outputs ;
34: SETUP OUTPUTS ;
35: ;
36: !Move to Home ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 14 of 133


37: GO TO HOME POS ;
38: ;
39: !Move to pounce position ;
40: GO TO POUNCE ;
41: ;
42: !Clr to Adv Xfer ;
43: DO[954:CLRTOADVXFR]=ON ;
44: ;
45: !Clr to Ret Xfer ;
46: DO[955:CLRTORETXFR]=ON ;
47: ;
48: !Clr to Unclamp ;
49: DO[956:CLRTOUNCLMP]=OFF ;
50: ;
51: LBL[11:Loop Back] ;
52: ;
53: !Robot waiting in loop ;
54: DO[24:RBT IN LOOP]=ON ;
55: ;
56: !Wait Continue from Pounce ;
57: !or Return to Home ;
58: WAIT DI[9:START CYCLE]=ON OR DI[13:RETURN TO HOME]=ON ;
59: ;
60: !If Return to Home ;
61: !jump to label 13 ;
62: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
63: ;
64: !If Continue from Pounce ;
65: !jump to label 9 ;
66: IF DI[9:START CYCLE]=ON,JMP LBL[9] ;
67: ;
68: JMP LBL[11] ;
69: ;
70: !Continue from Pounce ;
71: LBL[9:Pounce Cont] ;
8: ;
9: !Verify Program ;
10: PROGRAM VERIFY(21) ;
11: ;
73: !Robot waiting in loop ;
74: DO[24:RBT IN LOOP]=OFF ;
75: ;
76: !Clr to Adv Xfer ;
77: DO[954:CLRTOADVXFR]=OFF ;
78: ;
79: !Clr to Ret Xfer ;
80: DO[955:CLRTORETXFR]=OFF ;
81: ;
82: !Clr to Unclamp ;
83: DO[956:CLRTOUNCLMP]=OFF ;
84: ;
85: !Enter Zone1 W/Pick ;
86: ENTER ZONE(1) ;
87: ;
88: !Enter Zone4 W/Welders ;
89: ENTER ZONE(4) ;
90: ;
91: !Check Clamps OPENED ;
92: WAIT DI[73:CLMP 1 OPENED]=ON ;
93: ;
94: !Confirm Clear to PickUp ;
95: WAIT DI[94:CLR TO PICKUP]=ON ;
96: ;
97: !***************************** ;
98: !Pick Path ;
99: !----------------------------- ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 15 of 133


100: ;
101:J P[1] 100% CNT50 ;
102:L P[2] 1600mm/sec CNT5 ;
103:L P[3:PICK] 500mm/sec FINE ;
104: ;
105: !Set At Pick-Up 1 ;
106: DO[49:RBT @ PKUP POS 1]=ON ;
107: ;
108: LBL[12] ;
109: ;
110: !Robot waiting in loop ;
111: DO[24:RBT IN LOOP]=ON ;
112: ;
113: !Wait for part present ;
114: IF DI[67:PART PRESENT 1]=ON,JMP LBL[14] ;
115: ;
116: !Abort Pickup ;
117: IF DI[93:ABORT PICKUP]=ON,CALL ABORTIT ;
118: ;
119: JMP LBL[12] ;
120: ;
121: LBL[14] ;
122: ;
123: !Robot waiting in loop ;
124: DO[24:RBT IN LOOP]=OFF ;
125: ;
126: !Close gripper 1 ;
127: CLOSE GRIPPER1 ;
128: ;
129: LBL[16] ;
130: ;
131: !Robot waiting in loop ;
132: DO[24:RBT IN LOOP]=ON ;
133: ;
134: !Abort Pickup ;
135: IF DI[93:ABORT PICKUP]=ON,CALL ABORTIT ;
136: ;
137: !Wait for all clamps closed ;
138: IF DI[74:CLMP 1 CLOSED]=ON,JMP LBL[15] ;
139: ;
140: JMP LBL[16] ;
141: ;
142: LBL[15] ;
143: ;
144: !Robot waiting in loop ;
145: DO[24:RBT IN LOOP]=OFF ;
146: ;
147: !Set Robot Payload WITH PART ;
148: PAYLOAD[3] ;
149: ;
150: !Move Off Proximity Sensor ;
151:L P[4] 500mm/sec CNT10 ;
152: ;
153: !Wait for Pickup Complete ;
154: WAIT DI[49:PICKUP COMP 1]=ON ;
155: ;
156: !Reset @ Pick-Up ;
157: DO[49:RBT @ PKUP POS 1]=OFF ;
158: ;
159: !***************************** ;
160: !Move clear of Pick ;
161: !----------------------------- ;
162: ;
163:J P[5] 100% CNT100 ;
164:J P[6] 100% CNT10 ;
165: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 16 of 133


166: !Exit Zone1 W/Pick ;
167: EXIT ZONE(1) ;
168: ;
169: !Exit Zone4 W/Welders ;
170: EXIT ZONE(4) ;
171: ;
172:J P[7] 100% CNT100 ;
173: ;
174: !Continue if Part Present ;
175: LBL[10:Skip Pickup] ;
176: ;
177: !Clr to Adv Xfer ;
178: DO[954:CLRTOADVXFR]=OFF ;
179: ;
180: !Clr to Ret Xfer ;
181: DO[955:CLRTORETXFR]=OFF ;
182: ;
183: !Clr to Unclamp ;
184: DO[956:CLRTOUNCLMP]=OFF ;
185: ;
186: !Set Robot Payload WITH PART ;
187: PAYLOAD[3] ;
188: ;
189:J P[8] 100% CNT100 ;
190: ;
191: !***************************** ;
192: !CHECK PART WITH VISION ;
193: !----------------------------- ;
194: !Set Vision Model Bits and Start Vision Cycle ;
195: GO[27:VISION MODEL SEL]=1 ;
195: WAIT .05(sec) ;
195: WAIT DI[802:JOB LOADED]=ON ;
196: DO[824:STARTVISIONCYCLE]=ON ;
197: ;
198: !Move Over 1st Stud ;
199:L P[18] 500mm/sec CNT10 ;
199: WAIT .25(sec) ;
200: ;
201: !Trigger Vision Measurement ;
201: CALL VISIONTRGR ;
211: ;
212: !Move Over 2nd Stud ;
213:L P[38] 500mm/sec CNT10 ;
214: ;
215: !Trigger Vision Measurement ;
201: CALL VISIONTRGR ;
225: ;
226: !Move Over 3rd Stud ;
227:L P[58] 500mm/sec CNT10 ;
228: ;
229: !Trigger Vision Measurement ;
201: CALL VISIONTRGR ;
239: ;
240: !Use the above I\O to continue with as many studs as need be
checked ;
241: ;
242: !Move Clear of Vision Camera ;
243:L P[78] 500mm/sec CNT10 ;
244: ;
245: !End of Vision Cycle Reset Vision Bits;
246: GO[27:VISION MODEL SEL]=0 ;
247: DO[824:STARTVISIONCYCLE]=OFF ;
248: !Set Vision Cycle Complete to PLC ;
249: DO[341]=ON ;
250: !END OF VISION CYCLE;
251: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 17 of 133


252:J P[9] 100% CNT10 ;
253: ;
254: LBL[30] ;
255: ;
256: !Robot waiting in loop ;
257: DO[24:RBT IN LOOP]=ON ;
258: ;
259: !Wait for Maint or Set Down ;
260: WAIT DI[6:MAINT RQST PLC]=ON OR DI[96:CLR TO SET DOWN]=ON OR
DI[13:RETURN TO HOME]=ON ;
261: ;
262: !Robot waiting in loop ;
263: DO[24:RBT IN LOOP]=OFF ;
264: ;
265: !Reset Vision Cycle Complete to PLC ;
266: DO[341]=OFF ;
267: !Set Vision Capture Complete to Vision System;
268: DO[794:VIS CAPTURECOMP]=ON ;
269: ;
270: !If Maintenance Request ;
271: !OR Return to Home ;
272: IF DI[6:MAINT RQST PLC]=ON OR DI[13:RETURN TO HOME]=ON,JMP
LBL[13] ;
273: ;
274: !Check For Clear to Set Down ;
275: IF DI[96:CLR TO SET DOWN]=ON,JMP LBL[40] ;
276: ;
277: JMP LBL[30] ;
278: ;
279: LBL[40:Set Down] ;
280: ;
281: !Clr to Adv Xfer ;
282: DO[954:CLRTOADVXFR]=OFF ;
283: ;
284: !Clr to Ret Xfer ;
285: DO[955:CLRTORETXFR]=OFF ;
286: ;
287: !Clr to Unclamp ;
288: DO[956:CLRTOUNCLMP]=OFF ;
289: ;
290: !Enter Zone2 W/Drop ;
291: ENTER ZONE(2) ;
292: ;
293: !Enter Zone5 W/Welders ;
294: ENTER ZONE(5) ;
295: ;
296: !***************************** ;
297: !Drop Path ;
298: !----------------------------- ;
299: ;
300:J P[10] 100% CNT50 ;
301:L P[11] 1200mm/sec CNT10 ;
302:L P[12:DROP] 500mm/sec FINE ;
303: ;
304: !Set At Drop Position 1 ;
305: DO[59:RBT AT DRP OFF 1]=ON ;
306: ;
307: !Wait for all clamps closed ;
308: WAIT DI[42:UDEF RBT IN 2]=ON ;
309: ;
310: !Req Open Clamp 1 ;
311: OPEN GRIPPER1 ;
312: ;
313: !Wait for Clamp 1 Open ;
314: WAIT DI[73:CLMP 1 OPENED]=ON ;
315: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 18 of 133


316: !Wait for Set Down Complete ;
317: !PLC sees part in fixture ;
318: WAIT DI[59:SET DOWN COMP 1]=ON ;
320: ;
321: !Set Robot Payload WITHOUT PART ;
322: PAYLOAD[2] ;
323: ;
324: !Move Off Prox Sensor ;
325:L P[13] 800mm/sec CNT30 ;
326: ;
327: !Wait For Part Released ;
328: WAIT DI[97:PART RELEASED]=ON ;
329: ;
330: !Reset At Drop Position 1 ;
331: DO[59:RBT AT DRP OFF 1]=OFF ;
332: ;
333: !***************************** ;
334: !Move Clear of Drop ;
335: !----------------------------- ;
336: ;
337:J P[14] 100% CNT100 ;
338:J P[15] 100% CNT50 ;
339:J P[16] 100% CNT10 ;
340: ;
341: !Exit Zone5 W/Welders ;
342: EXIT ZONE(5) ;
343: ;
344:J P[17] 100% CNT25 ;
345: ;
346: !Exit Zone2 W/Drop ;
347: EXIT ZONE(2) ;
348: ;
349: !Clr to Adv Xfer ;
350: DO[954:CLRTOADVXFR]=ON ;
351: ;
352: !Clr to Ret Xfer ;
353: DO[955:CLRTORETXFR]=ON ;
354: ;
355: !Clr to Unclamp ;
356: DO[956:CLRTOUNCLMP]=ON ;
357: ;
358: !Reset Vision Capture Complete to Vision System;
359: DO[794:VIS CAPTURECOMP]=OFF ;
360: ;
361: LBL[13:Return to Home] ;
362: ;
363: !Robot waiting in loop ;
364: DO[24:RBT IN LOOP]=OFF ;
365: ;
366: !Move to Home ;
367: GO TO HOME POS ;
368: ;
;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 19 of 133


1.3 PG21 – Perceptron Measure
/PROG PG21
/ATTR
OWNER = ASCBIN;
COMMENT = "STYLE 1 MAIN";
PROG_SIZE = 1760;
CREATE = DATE 12-10-18 TIME 20:27:10;
MODIFIED = DATE 12-10-18 TIME 20:38:58;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 75;
MEMORY_SIZE = 2228;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT : TRUE ;
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !***************************** ;
2: ! VISION MEASURE PG21 ;
3: ! NOTE: This program has NO ;
4: ! GP[1:robot] and ;
5: ! GP[2:servogun] motion ;
6: !***************************** ;
7: ;
8: !Verify Program ;
9: PROGRAM VERIFY(21) ;
10: ;
11: !Setup App Specific Outputs ;
12: ! Runs HOME_IO ;
13: SETUP OUTPUTS ;
14: ;
15: !Move to Home ;
16: GO TO HOME POS ;
17: ;
18: ! Move to pounce position ;
19: GO TO POUNCE ;
20: ;
21: !Clr to Adv Xfer ;
22: DO[954:CLRTOADVXFR]=ON ;
23: ;
24: !Clr to Ret Xfer ;
25: DO[955:CLRTORETXFR]=ON ;
26: ;
27: !Clr to Unclamp ;
28: DO[956:CLRTOUNCLMP]=OFF ;
29: ;
30: !-------------------------------- ;
31: !Wait Continue from Pounce ;
32: !or Return to Home ;
33: WAIT DI[9:START CYCLE]=ON OR DI[13:RETURN TO HOME]=ON ;
34: ;
35: !If Continue from Pounce ;
36: !jump to LBL9-Continue- ;
37: IF DI[9:START CYCLE]=ON,JMP LBL[9] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 20 of 133


38: ;
39: !If Return to Home ;
40: !jump to LB13-Return- ;
41: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
42: ;
43: !-------------------------------- ;
44: !Continue from Pounce ;
45: LBL[9] ;
8: ;
9: !Verify Program ;
10: PROGRAM VERIFY(21) ;
11: ;
47: !Clr to Adv Xfer ;
48: DO[954:CLRTOADVXFR]=OFF ;
49: ;
50: !Clr to Return Xfer ;
51: DO[955:CLRTORETXFR]=OFF ;
52: ;
53: !***************************** ;
54: !Calls Vision Routine ;
55: ! Contains Vision Points ;
56: CALL VISION01 ;
57: !***************************** ;
58: ;
59: DO[47:UDEF RBT OUT 7]=PULSE,0.2sec ;
60: ;
61: !Clr to Return Xfer ;
62: DO[955:CLRTORETXFR]=ON ;
63: ;
64: !Clr to Adv Xfer ;
65: DO[954:CLRTOADVXFR]=ON ;
66: ;
67: !Clr to Unclamp ;
68: DO[956:CLRTOUNCLMP]=ON ;
69: ;
70: !-------------------------------- ;
71: LBL[13] ;
72: ;
73: !Move to Home ;
74: GO TO HOME POS ;
75: ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 21 of 133


1.4 PG11 – Perceptron Check
/PROG PG11
/ATTR
OWNER = MNEDITOR;
COMMENT = "PERCEP CHECK";
PROG_SIZE = 2472;
CREATE = DATE 13-07-22 TIME 11:34:14;
MODIFIED = DATE 13-07-22 TIME 12:24:14;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 90;
MEMORY_SIZE = 2748;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: ;
2: !******************************** ;
3: !Perceptron FMS ;
5: !DRIFT CHECK ;
6: ! ;
7: !******************************** ;
8: ;
9: !Verify Program ;
10: PROGRAM VERIFY(11) ;
11: ;
12: !Setup App Specific Outputs ;
13: ! Runs HOME_IO ;
14: SETUP OUTPUTS ;
15: ;
16: !Move to Home ;
17: GO TO HOME POS ;
18: ;
19: ;
20: !SETTING PROGRAM PARAMETERS ;
21: !SETTLE TIME ;
22: R[89:SettleTime]=.5 ;
23: ;
24: !Set Vision Model Bits ;
25: !and Start Vision Cycle ;
26: GO[27:VISION MODEL SEL]=30 ;
27: DO[824:STARTVISIONCYCLE]=ON ;
28: ;
29: ;
30: !Set Robot UTOOL Number ;
31: UTOOL_NUM=1 ;
32: ;
33: !Set Robot UFRAME Number ;
34: UFRAME_NUM=1 ;
35: ;
36:J P[8:VIA] 100% CNT100 ;
37: ;
38:J P[9:APROACH POINT] 100% CNT100 ;
39:J P[2:TARGET ONE] 5% FINE ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 22 of 133


40: ;
41: WAIT R[89:SettleTime] ;
42: R[168:POSITION ID]=8100 ;
43: ;
44: CALL FMEASURE ;
45: ;
46:J P[4:VIA] 100% CNT100 ;
47:J P[3:VIA] 100% CNT100 ;
48: ;
49:J P[5:VIA] 100% CNT100 ;
50:J P[10:APROACH POINT] 100% CNT100 ;
51: ;
52:J P[1:TARGET TWO] 5% FINE ;
53: WAIT R[89:SettleTime] ;
54: R[168:POSITION ID]=8101 ;
55: ;
56: CALL FMEASURE ;
57: ;
58:J P[6:VIA] 100% CNT100 ;
59:J P[7:VIA] 100% CNT100 ;
60: ;
61: R[181:TEMP_COMP_NUM]=0 ;
62: GO[27:VISION MODEL SEL]=0 ;
63: DO[824:STARTVISIONCYCLE]=OFF ;
64: DO[337:VS SYSTEM COMPL]= PULSE,0.5sec ;
65: ;
66: !Move to Home ;
67: GO TO HOME POS ;
68: ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 23 of 133


1.5 VISION01
This example is a path program with Perceptron vision.

/PROG VISION01
/ATTR
OWNER = MNEDITOR;
COMMENT = "VISION01";
PROG_SIZE = 3171;
CREATE = DATE 12-10-18 TIME 20:37:10;
MODIFIED = DATE 12-10-22 TIME 13:43:08;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 123;
MEMORY_SIZE = 3443;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: ;
2: !******************************** ;
3: !Vision Path VISION01 ;
4: !Perceptron FMS ;
5: ! ;
6: !******************************** ;
7: !SETTING PROGRAM PARAMETERS ;
8: !SETTLE TIME ;
9: R[190]=.5 ;
10: ;
11: !Set Vision Model Bits ;
12: !and Start Vision Cycle ;
13: GO[27:VISION MODEL SEL]=1 ;
13: ;
13: !Wait for job loaded ;
13: WAIT DI[802:JOB LOADED]=ON ;
13: ;
14: DO[824:STARTVISIONCYCLE]=ON ;
15: ;
16: UTOOL_NUM=1 ;
17: UFRAME_NUM=1 ;
18: ;
19:J PR[3:Pounce] 100% FINE ;
20: ;
21:J P[2:Via] 100% CNT10 ;
22:J P[3:Via] 100% CNT10 ;
23: ! Slot Feature ;
24:J PR[55:R939HLF0F846] 100% FINE ;
25: WAIT R[190] ;
26: R[168:POSITION ID]=205 ;
27: CALL FMEASURE ;
28: ;
29:J P[4:Via] 100% CNT10 ;
30:J P[5:Via] 100% CNT10 ;
31: ! Slot Feature ;
32:J PR[56:R938NLY0F970] 100% FINE ;
33: WAIT R[190] ;
34: R[168:POSITION ID]=206 ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 24 of 133


35: CALL FMEASURE ;
36: ;
37: !Enter Zone2 ;
38: ENTER ZONE(2) ;
39: ;
40: ;
41:J P[6:Via] 100% CNT10 ;
42:J P[7:Via] 100% CNT10 ;
43: ! Range Feature ;
44:J PR[57:R809FSY0F846] 100% FINE ;
45: WAIT R[190] ;
46: R[168:POSITION ID]=207 ;
47: CALL FMEASURE ;
48: ;
49:J P[9] 100% CNT10 ;
50: ! Slot Feature ;
51:J PR[54:U939LLX0F314] 100% FINE ;
52: WAIT R[190] ;
53: R[168:POSITION ID]=204 ;
54: CALL FMEASURE ;
55: ;
56:J PR[1:Home 1] 100% CNT10 ;
57: ;
58: !Exit Zone2 ;
59: EXIT ZONE(2) ;
60: ;
61: !End Vision Cycle ;
62: GO[27:VISION MODEL SEL]=0 ;
63: DO[824:STARTVISIONCYCLE]=OFF ;
64: DO[337:VS SYSTEM COMPL]=ON ;
65: WAIT .50(sec) ;
66: DO[337:VS SYSTEM COMPL]=OFF ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 25 of 133


1.6 Present/Absent SUB-PROGRAM (VISIONTRGR.TP)
/PROG VISIONTRGR
/ATTR
OWNER = MNEDITOR;
COMMENT = "Vision Trigger";
PROG_SIZE = 1116;
CREATE = DATE 08-16-12 TIME 12:02:16;
MODIFIED = DATE 11-03-07 TIME 07:13:06;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 57;
MEMORY_SIZE = 1516;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !******************************** ;
2: !Trigger Vision Measurement ;
3: !******************************** ;
4: ;
5: DO[793:VISION TRIGGER]=ON ;
6: ;
7: WAIT DI[801:VISMEASURECOMPLETE]=OFF OR DI[793:VISION COMM
OK]=OFF OR DI[6:INSPCTRQUSTFRMPLC]=ON ;
8: ;
9: !Wait For Vision Complete or Comm OK OFF or Abort ;
10: WAIT DI[801:VISMEASURECOMPLETE]=ON OR DI[793:VISION COMM
OK]=OFF OR DI[6:INSPCTRQUSTFRMPLC]=ON ;
11: ;
12: DO[793:VISION TRIGGER]=OFF ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 26 of 133


1.7 PG21 RACK/DERACKING (Moon Roof Example)
/PROG PG21 Job
/ATTR
OWNER = MNEDITOR;
COMMENT = "Moon Roof4D";
PROG_SIZE = 16846;
CREATE = DATE 11-03-04 TIME 08:03:30;
MODIFIED = DATE 11-03-04 TIME 08:03:30;
FILE_NAME = PG21;
VERSION = 0;
LINE_COUNT = 736;
MEMORY_SIZE = 17526;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
DISPENSE : TRUE ;
DISPENSE_JOB;
CYCLE_TIME : 94.0;
LAST_CYCLE_TIME : 93.9;
GUN_ON_TIME : 8.1;
LAST_GUN_ON_TIME : 8.1;
MATERIAL_VOLUME : 0.0;
LAST_MAT_VOLUME : 0.0;
PART_ID : 1;
/MN
1: !******************************** ;
2: !FORD RACKING/DERACKING ;
3: !Vision/Racking Program ;
4: !4DR MOON ROOF ;
5: !Robot: B6F-10R-1 ;
6: !F # : 100433 ;
7: !******************************** ;
8: ;
9: !Verify Program ;
10: PROGRAM VERIFY(21) ;
11: ;
12: UTOOL_NUM=2 ;
13: UFRAME_NUM=0 ;
14: ;
15: !DROP PART TO RACK ;
16: IF (DI[53:PICKUP COMP 5]=ON AND (DI[69:PART PRESENT 3]=ON OR
DI[70:PART PRESENT 4]=ON)),JMP LBL[40] ;
17: ;
18: !RUNOUT MODE OR GOTO HEMMER LOOP ;
19: IF (DI[44:UDEF RBT IN 4]=ON AND DI[73:CLMP 1 OPENED]=ON AND
DI[75:CLMP 2 OPENED]=ON AND DI[77:CLMP 3 OPENED]=ON AND DI[67:PART
PRESENT 1]=OFF AND DI[68:PART PRESENT 2]=OFF AND DI[69:PART PRESENT
3]=OFF AND DI[70:PART PRESENT 4]=
OFF AND DI[71:PART PRESENT 5]=OFF),JMP LBL[30] ;
20: ;
21: ;
22: !Roof and Ring Present ;
23: !Goto Drop Roof 2 Hemmer ;
24: IF (DI[62:SET DOWN COMP 4]=ON AND (DI[69:PART PRESENT 3]=ON OR
DI[70:PART PRESENT 4]=ON) AND DI[52:PICKUP COMP 4]=ON),JMP LBL[30] ;
25: ;
26: !No Parts Present And Completed ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 27 of 133


27: !Roof In Hemmer ;
28: !Goto Pick Roof 3 ;
29: IF (DI[52:PICKUP COMP 4]=ON AND (DI[67:PART PRESENT 1]=OFF)
AND DI[68:PART PRESENT 2]=OFF AND DI[69:PART PRESENT 3]=OFF AND
DI[70:PART PRESENT 4]=OFF AND DI[71:PART PRESENT 5]=OFF),JMP LBL[30]
;
30: ;
31: !No Parts Preset And Roof In ;
32: !Holding Table Goto Pick Ring ;
33: !(With Mastic) ;
34: IF (DI[60:SET DOWN COMP 2]=ON AND DI[50:PICKUP COMP 2]=ON AND
DI[67:PART PRESENT 1]=OFF AND DI[68:PART PRESENT 2]=OFF AND
DI[69:PART PRESENT 3]=OFF AND DI[70:PART PRESENT 4]=OFF AND
DI[71:PART PRESENT 5]=OFF),JMP LBL[20] ;
35: ;
36: !Roof Present With No Ring ;
37: !Goto Drop Roof 1 ;
38: IF ((DI[69:PART PRESENT 3]=ON OR DI[70:PART PRESENT 4]=ON) AND
DI[49:PICKUP COMP 1]=ON AND DI[60:SET DOWN COMP 2]=OFF AND
DI[53:PICKUP COMP 5]=OFF),JMP LBL[10] ;
39: ;
40: !No Parts Preset And Roof In ;
41: !Holding Table Goto Pick Roof ;
42: !(Without Mastic) ;
43: IF (DI[59:SET DOWN COMP 1]=ON AND DI[50:PICKUP COMP 2]=OFF AND
DI[67:PART PRESENT 1]=OFF AND DI[68:PART PRESENT 2]=OFF AND
DI[69:PART PRESENT 3]=OFF AND DI[70:PART PRESENT 4]=OFF AND
DI[71:PART PRESENT 5]=OFF),JMP LBL[45] ;
44: ;
45: ;
46: !No Roof Present And Ring Present ;
47: !Go To Assembly Ring and Roof ;
48: IF DI[71:PART PRESENT 5]=ON AND DI[51:PICKUP COMP 3]=ON AND
DI[67:PART PRESENT 1]=OFF AND DI[68:PART PRESENT 2]=OFF,JMP LBL[25] ;
49: ;
50: !Roof and Ring Present ;
51: !Goto Drop Roof 2 Hemmer ;
52: IF (DI[71:PART PRESENT 5]=ON AND (DI[67:PART PRESENT 1]=ON OR
DI[68:PART PRESENT 2]=ON) AND DI[52:PICKUP COMP 4]=ON),JMP LBL[30] ;
53: ;
54: ;
55: PAYLOAD[2] ;
56: ;
57: !Run Home IO ;
58: SETUP OUTPUTS ;
59: ;
60: !Move Home ;
61: GO TO HOME POS ;
62: ;
63: !Move to Pounce ;
64: GO TO POUNCE ;
65: ;
66: !Clr to Adv Xfer ;
67: DO[954:CLRTOADVXFR]=ON ;
68: !Clr to Ret Xfer ;
69: DO[955:CLRTORETXFR]=ON ;
70: !Clr to Unclamp ;
71: DO[956:CLRTOUNCLMP]=OFF ;
72: ;
73: !Robot in Wait Loop ;
74: DO[24:RBT IN LOOP]=ON ;
75: ;
76: !Start Cycle or Return Home ;
77: WAIT DI[9:START CYCLE]=ON OR DI[13:RETURN TO HOME]=ON ;
78: ;
79: !Robot Not in Wait Loop ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 28 of 133


80: DO[24:RBT IN LOOP]=OFF ;
81: ;
82: IF DI[9:START CYCLE]=ON,JMP LBL[9] ;
83: ;
84: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
85: ;
86: LBL[9:Start Cycle/Pick] ;
87: ;
88: !Clr to Ret Xfer ;
89: DO[955:CLRTORETXFR]=OFF ;
90: !Clr to Adv Xfer ;
91: DO[954:CLRTOADVXFR]=OFF ;
92: !Clr to Unclamp ;
93: DO[956:CLRTOUNCLMP]=ON ;
94: ;
95: !******************************** ;
96: !Pick Roof 1 ;
97: !******************************** ;
98: !THIS IS ONLY AN EXAMPLE ;
98: !THIS ROUTINE SETS THE 4DR ;
98: !RACK COUNTS TO DEFAULT ;
98: CALL REG_SET_4DR ;
99: ;
100: !Robot in Wait Loop ;
101: DO[24:RBT IN LOOP]=ON ;
102: ;
103: WAIT DI[427:PICK F1]=ON OR DI[429:PICK F2]=ON ;
104: ;
105: !Robot Not in Wait Loop ;
106: DO[24:RBT IN LOOP]=OFF ;
107: ;
108: IF ((DI[427:PICK F1]=ON AND DI[429:PICK F2]=OFF) OR
(DI[427:PICK F1]=OFF AND DI[429:PICK F2]=ON)),JMP LBL[57] ;
109: IF R[123:Rack#3PartCount]<R[121:Rack#1PartCount],JMP LBL[1] ;
110: LBL[57] ;
111: ;
112: IF DI[427:PICK F1]=OFF,JMP LBL[1] ;
113: ;
113: !THIS IS ONLY AN EXAMPLE ;
113: !THIS ROUTINE CALLS VISION ;
113: !TO PICKUP THE RACK1 ;
113: CALL F1PICK_4DR ;
114: ;
115: IF DI[93:ABORT PICKUP]=ON,JMP LBL[13] ;
116: IF DI[49:PICKUP COMP 1]=ON,JMP LBL[10] ;
117: ;
118: LBL[1] ;
119: IF DI[429:PICK F2]=OFF,JMP LBL[9] ;
120: ;
120: !THIS IS ONLY AN EXAMPLE ;
120: !THIS ROUTINE CALLS VISION ;
120: !TO PICKUP THE RACK2 ;
120: CALL F2PICK_4DR ;
121: ;
122: IF DI[93:ABORT PICKUP]=ON,JMP LBL[13] ;
123: IF DI[49:PICKUP COMP 1]=ON,JMP LBL[10] ;
124: ;
125: ;
126: LBL[10:Skip Pickup/Drop] ;
127: ;
128: !******************************** ;
129: !Drop Roof At Requalify ;
130: !******************************** ;
131: IF DI[50:PICKUP COMP 2]=ON AND DI[60:SET DOWN COMP 2]=OFF,JMP
LBL[12] ;
132: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 29 of 133


133: !Robot in Wait Loop ;
134: DO[24:RBT IN LOOP]=ON ;
135: ;
136: WAIT DI[96:CLR TO SET DOWN]=ON OR DI[209:ACPT SEALD PART]=ON
OR DI[210:RJCT SEALD PART]=ON ;
137: ;
138: !Robot Not in Wait Loop ;
139: ;
140: IF (DI[209:ACPT SEALD PART]=ON OR DI[210:RJCT SEALD
PART]=ON),JMP LBL[12] ;
141: ;
142: !Clr to Return Xfer ;
143: DO[955:CLRTORETXFR]=OFF ;
144: !Clr to Adv Xfer ;
145: DO[954:CLRTOADVXFR]=OFF ;
146: !Clr to Unclamp ;
147: DO[956:CLRTOUNCLMP]=OFF ;
148: ;
149: PAYLOAD[3] ;
150: ;
151: ENTER ZONE(7) ;
152: UTOOL_NUM=2 ;
153: UFRAME_NUM=0 ;
154: !ENTER OPERATOR WORK ZONE ;
155: ENTER ZONE(11) ;
156: ;
157: !Robot Not in Wait Loop ;
158: DO[24:RBT IN LOOP]=OFF ;
159: ;
160: !Move To Repos Table ;
161:J P[1:reposin1] 80% CNT10 ACC50 ;
162:L P[2:lo65] 2000mm/sec CNT10 ACC50 ;
163:L P[3] 1000mm/sec FINE ;
164: ;
165: !Open Gripper Side B ;
166: OPEN GRIPPER3 ;
167: VAC2_OFF/BLOWOFF ;
168: ;
169: !Wait for Grippers Open ;
170: WAIT DI[77:CLMP 3 OPENED]=ON ;
171: ;
172:L P[4:reposdrp] 1000mm/sec FINE ;
173: ;
174: !At Set Down Position ;
175: DO[59:RBT AT DRP OFF 1]=ON ;
176: ;
177: !Open Gripper Side B ;
178: OPEN GRIPPER3 ;
179: VAC2_OFF/BLOWOFF ;
180: ;
181: !Wait for Grippers Open ;
182: WAIT DI[77:CLMP 3 OPENED]=ON ;
183: ;
184: !Wait for Set Down Complete ;
185: WAIT DI[59:SET DOWN COMP 1]=ON ;
186: ;
187: PAYLOAD[2] ;
188: !Move After Dropoff Position ;
189:L P[5:aftrepos] 750mm/sec CNT10 ;
190: ;
191: !Wait for Part Release ;
192: WAIT DI[97:PART RELEASED]=ON ;
193: ;
194: !At Set Down Position ;
195: DO[59:RBT AT DRP OFF 1]=OFF ;
196: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 30 of 133


197: LBL[50] ;
198: ;
199: !Move to Re-Pick After Vision ;
200: ;
201: !Check Clamps Opened ;
202: WAIT DI[77:CLMP 3 OPENED]=ON ;
203: ;
204: !Wait Clear to Pickup ;
205: WAIT DI[94:CLR TO PICKUP]=ON ;
206: ;
207: !Move to Pickup pos ;
208:L P[6:repospic] 750mm/sec FINE ;
209: ;
210: !At Pickup ;
211: DO[50:RBT @ PKUP POS 2]=ON ;
212: ;
213: !Close Gripper Side B ;
214: VAC2_ON ;
215: CLOSE GRIPPER3 ;
216: ;
217: !Grippers Closed and Part Present ;
218: WAIT (DI[78:CLMP 3 CLOSED]=ON AND DI[69:PART PRESENT 3]=ON) OR
DI[70:PART PRESENT 4]=ON) OR DI[93:ABORT PICKUP]=ON) ;
219: ;
220: ;
221: !Abort Pickup ;
222: IF DI[93:ABORT PICKUP]=ON,JMP LBL[92] ;
223: ;
224: PAYLOAD[3] ;
225: ;
226: !Move Above Pickup ;
227:L P[7:reposup] 750mm/sec CNT10 ;
228: ;
229: !Wait Pickup Complete ;
230: WAIT DI[50:PICKUP COMP 2]=ON ;
231: ;
232: !At Pickup ;
233: DO[50:RBT @ PKUP POS 2]=OFF ;
234: ;
235: !Move Away From Pickup ;
236:L P[8:lx75] 1200mm/sec CNT50 ;
237: ;
238: EXIT ZONE(7) ;
239: ;
240: LBL[12:Seal Routine] ;
241: ;
242: !******************************** ;
243: !Pedestal Seal Routine ;
244: !******************************** ;
245: ;
246: !Clr to Return Xfer ;
247: DO[955:CLRTORETXFR]=OFF ;
248: !Clr to Adv Xfer ;
249: DO[954:CLRTOADVXFR]=OFF ;
250: !Clr to Unclamp ;
251: DO[956:CLRTOUNCLMP]=OFF ;
252: ;
253: PAYLOAD[3] ;
254: ;
255: !Skip SEAL Routine ;
256: IF DI[216:SLR PATH SKP 1]=ON AND DI[209:ACPT SEALD PART]=ON
AND DI[210:RJCT SEALD PART]=OFF,JMP LBL[15] ;
257: ;
258: IF DI[209:ACPT SEALD PART]=OFF AND DI[210:RJCT SEALD
PART]=ON,JMP LBL[13] ;
259: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 31 of 133


260: ENTER ZONE(8) ;
261: !ENTER OPERATOR WORK ZONE ;
262: ENTER ZONE(11) ;
263: ;
263: !THIS IS ONLY AN EXAMPLE ;
263: !THIS ROUTINE CALLS SEAL ;
263: !PATH PROGRAM ;
263: !REFER SEAL ROBOT PROG GUIDE ;
263: CALL SEAL4DR ;
263: ;
264: EXIT ZONE(8) ;
265: ;
266: !Robot in Wait Loop ;
267: DO[24:RBT IN LOOP]=ON ;
268: ;
269: !WAIT MAINT OR CLR TO SET DOWN ;
270: WAIT (DI[96:CLR TO SET DOWN]=ON OR DI[6:MAINT RQST PLC]=ON OR
DI[13:RETURN TO HOME]=ON) ;
271: ;
272: !Robot Not in Wait Loop ;
273: DO[24:RBT IN LOOP]=OFF ;
274: ;
275: IF DI[6:MAINT RQST PLC]=ON OR DI[13:RETURN TO HOME]=ON,JMP
LBL[13] ;
276: IF DI[96:CLR TO SET DOWN]=ON,JMP LBL[15] ;
277: ;
278: LBL[15:Drop Roof 2 Seal] ;
279: ;
280: !******************************** ;
281: !Drop Roof After Sealer ;
282: !******************************** ;
283: ;
284: !Clr to Return Xfer ;
285: DO[955:CLRTORETXFR]=OFF ;
286: !Clr to Adv Xfer ;
287: DO[954:CLRTOADVXFR]=OFF ;
288: !Clr to Unclamp ;
289: DO[956:CLRTOUNCLMP]=OFF ;
290: ;
291: PAYLOAD[3] ;
292: ;
293: ENTER ZONE(7) ;
294: UFRAME_NUM=0 ;
295: UTOOL_NUM=2 ;
296: !ENTER OPERATOR WORK ZONE ;
297: ENTER ZONE(11) ;
298: ;
299: !Move To Dropoff Position ;
300:J P[9:lx21] 80% CNT50 ;
301:J P[10:dropin] 80% CNT10 ;
302:L P[11:predrop] 1500mm/sec CNT10 ;
303: !Open Gripper Side B ;
304: OPEN GRIPPER3 ;
305: VAC2_OFF/BLOWOFF ;
306: ;
307: !Wait for Grippers Open ;
308: WAIT DI[77:CLMP 3 OPENED]=ON ;
309: ;
310:L P[12:droppnl] 500mm/sec FINE ;
311: ;
312: !At Set Down Position ;
313: DO[60:RBT AT DRP OFF 2]=ON ;
314: ;
315: !Wait for Grippers Open ;
316: WAIT DI[77:CLMP 3 OPENED]=ON ;
317: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 32 of 133


318: !Wait for Set Down Complete ;
319: WAIT DI[60:SET DOWN COMP 2]=ON ;
320: ;
321: PAYLOAD[2] ;
322: ;
323: !Move After Dropoff Position ;
324:L P[13:aftdrop] 750mm/sec FINE ;
325: ;
326: !Wait for Part Release ;
327: WAIT DI[97:PART RELEASED]=ON ;
328: ;
329: !At Set Down Position ;
330: DO[60:RBT AT DRP OFF 2]=OFF ;
331: ;
332: !Move Away from Drop ;
333:L P[14:lx25] 1000mm/sec CNT10 ;
334:L P[15:clrdrop] 2000mm/sec CNT10 ;
335:J P[16:lx26] 80% CNT20 ;
336: ;
337: EXIT ZONE(7) ;
338: ;
339: !IF RING IN LOAD GOTO PICK OR ;
340: !MOVE CLEAR TO WAIT FOR RING ;
341: IF DI[48:UDEF RBT IN 8]=ON,JMP LBL[20] ;
342: ;
343:J P[17] 80% CNT50 ACC50 ;
344: ;
345: ;
346: LBL[20:Pickup Roof Ring] ;
347: ;
348: !******************************** ;
349: !Pickup Roof Ring ;
350: !******************************** ;
351: ;
352: UTOOL_NUM=1 ;
353: ;
354: !Check Ring Clamps Opened ;
355: WAIT DI[75:CLMP 2 OPENED]=ON ;
356: ;
357: !Wait Clear to Pickup ;
358: WAIT DI[94:CLR TO PICKUP]=ON ;
359: ;
360: ENTER ZONE(6) ;
361: !ENTER OPERATOR WORK ZONE ;
362: ENTER ZONE(11) ;
363: ;
364: !Move to Pickup pos ;
365:J P[18:lx44] 80% CNT50 ACC25 ;
366:J P[19:zn5in] 80% CNT20 ACC25 ;
367:L P[20:prering] 1600mm/sec CNT10 ;
368:L P[21:pickring] 750mm/sec FINE ;
369: ;
370: !At Pickup 3 ;
371: DO[51:RBT @ PKUP POS 3]=ON ;
372: ;
373: !Close Ring Grippers ;
374: CLOSE GRIPPER2 ;
375: ;
376: !Grippers Closed and Part Present ;
377: WAIT ((DI[76:CLMP 2 CLOSED]=ON AND DI[71:PART PRESENT 5]=ON)
OR DI[93:ABORT PICKUP]=ON) ;
378: ;
379: !Abort Pickup ;
380: IF DI[93:ABORT PICKUP]=ON,JMP LBL[93] ;
381: ;
382: PAYLOAD[3] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 33 of 133


383: ;
384: !Move Above Pickup ;
385:L P[22:aftring] 1000mm/sec CNT10 ;
386: ;
387: !Wait Pickup Complete ;
388: WAIT DI[51:PICKUP COMP 3]=ON ;
389: ;
390: !At Pickup ;
391: DO[51:RBT @ PKUP POS 3]=OFF ;
392: ;
393: !Move Away From Pickup ;
394:L P[23:lx30] 1600mm/sec CNT50 ;
395:J P[24:clrring] 80% CNT50 ;
396: ;
397: EXIT ZONE(6) ;
398: ;
399: LBL[25:Mate Ring 2 Roof] ;
400: ;
401: !******************************** ;
402: !Assemble Ring and Roof ;
403: !******************************** ;
404: ;
405: !Clr to Return Xfer ;
406: DO[955:CLRTORETXFR]=OFF ;
407: !Clr to Adv Xfer ;
408: DO[954:CLRTOADVXFR]=OFF ;
409: !Clr to Unclamp ;
410: DO[956:CLRTOUNCLMP]=OFF ;
411: ;
412: PAYLOAD[2] ;
413: ;
414: ENTER ZONE(7) ;
415: UTOOL_NUM=1 ;
416: !Move To Mate Position ;
417:J P[25:pre_asm] 60% FINE ;
418:L P[26:pickasm] 750mm/sec FINE ;
419: ;
420: !At Mate Position ;
421: DO[52:RBT @ PKUP POS 4]=ON ;
422: ;
423: !Close Gripper Side A ;
424: VAC1_ON ;
425: CLOSE GRIPPER1 ;
426: ;
427: !Wait for Grippers Closed ;
428: WAIT (DI[74:CLMP 1 CLOSED]=ON AND (DI[67:PART PRESENT 1]=ON OR
DI[68:PART PRESENT 2]=ON) OR DI[93:ABORT PICKUP]) ;
429: ;
430: !Abort Pickup ;
431: IF DI[93:ABORT PICKUP]=ON,JMP LBL[94] ;
432: ;
433: PAYLOAD[3] ;
434: !Move Above Mate Position ;
435:L P[27:aft_asm] 750mm/sec CNT10 ;
436: !Wait for Pick Up Complete ;
437: WAIT DI[52:PICKUP COMP 4]=ON ;
438: ;
439: !At Mate Position ;
440: DO[52:RBT @ PKUP POS 4]=OFF ;
441: ;
442: !Move Away from Mate Station ;
443:J P[28:lo6] 80% CNT50 ;
444: ;
445: EXIT ZONE(7) ;
446: ;
447: LBL[30:Drop Roof 2 Hem] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 34 of 133


448: ;
449: !******************************** ;
450: !Drop Roof Into Hemmer ;
451: !******************************** ;
452: UFRAME_NUM=0 ;
453: UTOOL_NUM=1 ;
454: ;
455: !EXIT OPERATOR WORK ZONE ;
456: EXIT ZONE(11) ;
457: ;
458:J P[29] 100% CNT100 ;
459:J P[30:clrasm] 60% CNT100 ACC50 ;
460:J P[31:w8hem] 60% CNT10 ACC50 ;
461: ;
462: !Robot in Wait Loop ;
463: DO[24:RBT IN LOOP]=ON ;
464: ;
465: !Wait for Maint or Set Down ;
466: WAIT DI[96:CLR TO SET DOWN]=ON OR DI[44:UDEF RBT IN 4]=ON OR
DI[6:MAINT RQST PLC]=ON OR DI[13:RETURN TO HOME]=ON ;
467: ;
468: !Robot Not in Wait Loop ;
469: DO[24:RBT IN LOOP]=OFF ;
470: ;
471: IF DI[96:CLR TO SET DOWN]=ON,JMP LBL[17] ;
472: ;
473: IF DI[6:MAINT RQST PLC]=ON OR DI[13:RETURN TO HOME]=ON,JMP
LBL[13] ;
474: ;
475: IF DI[44:UDEF RBT IN 4]=ON,JMP LBL[17] ;
476: ;
477: LBL[17] ;
478: ;
479: ENTER ZONE(5) ;
480: ;
481: !Go Straight To Pickup ;
482: IF DI[73:CLMP 1 OPENED]=ON AND DI[67:PART PRESENT 1]=OFF AND
DI[68:PART PRESENT 2]=OFF AND DI[69:PART PRESENT 3]=OFF AND
DI[70:PART PRESENT 4]=OFF,JMP LBL[35] ;
483: ;
484:L P[32:prehem] 1500mm/sec CNT10 ;
485:L P[33:hemdrop] 750mm/sec FINE ;
486: ;
487: !At Set Down Position ;
488: DO[62:RBT AT DRP OFF 4]=ON ;
489: ;
490: !Open Gripper Side A ;
491: OPEN GRIPPER1 ;
492: OPEN GRIPPER2 ;
493: VAC1_OFF/BLOWOFF ;
494: ;
495: !Wait for Grippers Open ;
496: WAIT DI[73:CLMP 1 OPENED]=ON AND DI[75:CLMP 2 OPENED]=ON ;
497: ;
498: !Wait for Set Down Complete ;
499: WAIT DI[62:SET DOWN COMP 4]=ON ;
500: !At Set Down Position ;
501: DO[62:RBT AT DRP OFF 4]=OFF ;
502: ;
503: PAYLOAD[2] ;
504:L P[34:aftdrop] 1500mm/sec CNT10 ;
505: !Go Straight To Home ;
506: IF DI[45:UDEF RBT IN 5]=ON,JMP LBL[98] ;
507: ;
508: LBL[35:Pick Roof] ;
509: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 35 of 133


510: !******************************** ;
511: !Pick Roof Out Of Hemmer ;
512: !******************************** ;
513: ;
514: UTOOL_NUM=2 ;
515: UFRAME_NUM=0 ;
516: ;
517:L P[35:prepick] 1000mm/sec CNT10 ;
518:L P[36:hempick] 500mm/sec FINE ;
519: ;
520: !At Pickup Position ;
521: DO[53:RBT @ PKUP POS 5]=ON ;
522: ;
523: !Close Gripper Side B ;
524: VAC2_ON ;
525: CLOSE GRIPPER3 ;
526: ;
527: !Clamps Closed For Part Present ;
528: WAIT (DI[78:CLMP 3 CLOSED]=ON AND DI[69:PART PRESENT 3]=ON OR
DI[70:PART PRESENT 4]=ON OR DI[93:ABORT PICKUP]=ON) ;
529: ;
530: !Abort Pickup ;
531: IF DI[93:ABORT PICKUP]=ON,JMP LBL[95] ;
532: ;
533: !Hemmer Gripper Open ;
534: WAIT DI[46:UDEF RBT IN 6]=ON ;
535: ;
536: !Wait for Pick Up Complete ;
537: WAIT DI[53:PICKUP COMP 5]=ON ;
538: ;
539: !At Pickup ;
540: DO[53:RBT @ PKUP POS 5]=OFF ;
541: ;
542: PAYLOAD[3] ;
543: ;
544:L P[37:aftpick] 1000mm/sec CNT10 ;
545:L P[38:hemclr] 1500mm/sec CNT10 ;
546: EXIT ZONE(5) ;
547: ;
548:J P[39:zn5clr] 80% CNT10 ACC50 ;
549:J P[40:w8drop] 80% CNT60 ACC50 ;
550: ;
551: LBL[40:Wait Drop Loop] ;
552: ;
553: !Robot in Wait Loop ;
554: DO[24:RBT IN LOOP]=ON ;
555: ;
556: !Wait for Maint or Set Down ;
557: WAIT DI[96:CLR TO SET DOWN]=ON OR DI[6:MAINT RQST PLC]=ON OR
DI[13:RETURN TO HOME]=ON ;
558: ;
559: !Robot Not in Wait Loop ;
560: DO[24:RBT IN LOOP]=OFF ;
561: ;
562: IF DI[6:MAINT RQST PLC]=ON OR DI[13:RETURN TO HOME]=ON,JMP
LBL[13] ;
563: ;
564: IF DI[96:CLR TO SET DOWN]=ON,JMP LBL[41] ;
565: ;
566: LBL[41:Drop Off Roof ] ;
567: ;
568: !******************************** ;
569: !Drop Off Path ;
570: !******************************** ;
571: ;
572: !Clr to Return Xfer ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 36 of 133


573: DO[955:CLRTORETXFR]=OFF ;
574: !Clr to Adv Xfer ;
575: DO[954:CLRTOADVXFR]=OFF ;
576: !Clr to Unclamp ;
577: DO[956:CLRTOUNCLMP]=OFF ;
578: ;
579: PAYLOAD[3] ;
580: ;
581: UFRAME_NUM=0 ;
582: UTOOL_NUM=2 ;
583: ;
584: !THIS IS ONLY AN EXAMPLE ;
584: !THIS ROUTINE SETS THE 4DR ;
584: !RACK COUNTS TO DEFAULT ;
584: CALL REG_SET_4DR ;
585: ;
586: !Robot in Wait Loop ;
587: DO[24:RBT IN LOOP]=ON ;
588: ;
589: WAIT DI[428:DROP F1]=ON OR DI[430:DROP F2]=ON ;
590: ;
591: !Robot Not in Wait Loop ;
592: DO[24:RBT IN LOOP]=OFF ;
593: ;
594: IF ((DI[428:DROP F1]=ON AND DI[430:DROP F2]=OFF) OR
(DI[428:DROP F1]=OFF AND DI[430:DROP F2]=ON)),JMP LBL[87] ;
595: IF R[124:Rack#4PartCount]>R[122:Rack#2PartCount],JMP LBL[6] ;
596: LBL[87] ;
597: ;
598: IF DI[428:DROP F1]=OFF,JMP LBL[6] ;
599: IF R[37:#PRTS DPRK F1]>=15,JMP LBL[6] ;
600: ;
600: !THIS IS ONLY AN EXAMPLE ;
600: !THIS ROUTINE CALLS DROP ;
600: !RACK1 OFF ;
600: CALL F1DROP_4DR ;
601: ;
602: !Go To Return to Home ;
603: JMP LBL[13] ;
604: ;
605: LBL[6] ;
606: IF DI[430:DROP F2]=OFF,JMP LBL[40] ;
607: IF R[39:#PRTS DPRK F2]>=15,JMP LBL[40] ;
608: ;
608: !THIS IS ONLY AN EXAMPLE ;
608: !THIS ROUTINE CALLS DROP ;
608: !RACK2 OFF ;
608: CALL F2DROP_4DR ;
609: ;
610: !Go To Return to Home ;
611: JMP LBL[13] ;
612: ;
613: LBL[92:Abort Pickup2] ;
614: ;
615: !******************************** ;
616: !Abort Pickup At Repos Table Path ;
617: !******************************** ;
618: UTOOL_NUM=2 ;
619: OPEN GRIPPER3 ;
620: VAC2_OFF/BLOWOFF ;
621: !Wait for Grippers Open ;
622: WAIT DI[77:CLMP 3 OPENED]=ON ;
623: PAYLOAD[2] ;
624:L P[13:aftdrop] 800mm/sec FINE ;
625: DO[50:RBT @ PKUP POS 2]=OFF ;
626:L P[14:lx25] 1000mm/sec CNT40 ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 37 of 133


627:L P[15:clrdrop] 1000mm/sec CNT60 ;
628:J P[16:lx26] 80% CNT80 ;
629:J P[41:lx44] 80% CNT100 ACC50 ;
630: GO TO HOME POS ;
631: JMP LBL[13] ;
632: ;
633: LBL[93:Abort Pickup3] ;
634: ;
635: !******************************** ;
636: !Abort Pickup At Ring Path ;
637: !******************************** ;
638: UTOOL_NUM=1 ;
639: OPEN GRIPPER2 ;
640: !Wait for Grippers Open ;
641: WAIT DI[75:CLMP 2 OPENED]=ON ;
642: PAYLOAD[2] ;
643:L P[20:prering] 800mm/sec FINE ;
644: DO[51:RBT @ PKUP POS 3]=OFF ;
645:L P[19:zn5in] 1600mm/sec CNT60 ;
646:J P[42] 80% CNT100 ACC50 ;
647:J P[43] 80% CNT100 ACC50 ;
648: GO TO HOME POS ;
649: JMP LBL[13] ;
650: ;
651: LBL[94:Abort Pickup4 ] ;
652: ;
653: !******************************** ;
654: !Abort Pickup At Mate Path ;
655: !******************************** ;
656: UTOOL_NUM=1 ;
657: OPEN GRIPPER1 ;
658: OPEN GRIPPER2 ;
659: VAC1_OFF/BLOWOFF ;
660: !Wait for Grippers Open ;
661: WAIT DI[73:CLMP 1 OPENED]=ON AND DI[75:CLMP 2 OPENED]=ON ;
662: PAYLOAD[2] ;
663:L P[25:pre_asm] 800mm/sec FINE ;
664: DO[52:RBT @ PKUP POS 4]=OFF ;
665:J P[44] 80% CNT10 ACC50 ;
666: GO TO HOME POS ;
667: JMP LBL[13] ;
668: ;
669: LBL[95:Abort Pickup5 ] ;
670: ;
671: !******************************** ;
672: !Abort Pickup At Hemmer Path ;
673: !******************************** ;
674: UTOOL_NUM=2 ;
675: OPEN GRIPPER3 ;
676: VAC2_OFF/BLOWOFF ;
677: !Wait for Grippers Open ;
678: WAIT DI[77:CLMP 3 OPENED]=ON ;
679: PAYLOAD[2] ;
680:L P[35:prepick] 800mm/sec FINE ;
681: DO[53:RBT @ PKUP POS 5]=OFF ;
682: ;
683: LBL[98:Return Home] ;
684: ;
685: !******************************** ;
686: !Return Home From Hemmer Path ;
687: !******************************** ;
688: UTOOL_NUM=1 ;
689:L P[31:w8hem] 1000mm/sec CNT5 ;
690: ;
691: EXIT ZONE(5) ;
692: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 38 of 133


693: JMP LBL[13] ;
694: ;
695: LBL[45] ;
696: ;
697: !Clr to Return Xfer ;
698: DO[955:CLRTORETXFR]=OFF ;
699: !Clr to Adv Xfer ;
700: DO[954:CLRTOADVXFR]=OFF ;
701: !Clr to Unclamp ;
702: DO[956:CLRTOUNCLMP]=OFF ;
703: ;
704: PAYLOAD[2] ;
705: ;
706: ENTER ZONE(7) ;
707: UFRAME_NUM=0 ;
708: UTOOL_NUM=2 ;
709: ;
710: !Wait for Grippers Open ;
711: WAIT DI[77:CLMP 3 OPENED]=ON ;
712: ;
713:J P[41:lx44] 80% CNT20 ;
714:J P[16:lx26] 80% CNT20 ;
715:L P[15:clrdrop] 1600mm/sec CNT20 ;
716:L P[14:lx25] 1600mm/sec CNT20 ;
717:L P[13:aftdrop] 1600mm/sec CNT20 ;
718: JMP LBL[50] ;
719: ;
720: LBL[13:Return to Home] ;
721: ;
722: !Clr to Return Xfer ;
723: DO[955:CLRTORETXFR]=ON ;
724: !Clr to Adv Xfer ;
725: DO[954:CLRTOADVXFR]=ON ;
726: !Clr to Unclamp ;
727: DO[956:CLRTOUNCLMP]=ON ;
728: ;
729: UTOOL_NUM=2 ;
730: UFRAME_NUM=0 ;
731: ;
732:J PR[1:Home 1] 80% CNT100 ACC50 ;
733: ;
734: GO TO HOME POS ;
735: ;
736: SETUP OUTPUTS ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 39 of 133


1.8 RACK/DERACKING SUB-PROGRAM (REG_SET_4DR.TP)
/PROG REG_SET_4DR
/ATTR
OWNER = MNEDITOR;
COMMENT = "C346 RACK COUNT";
PROG_SIZE = 1116;
CREATE = DATE 11-03-04 TIME 12:02:16;
MODIFIED = DATE 11-03-07 TIME 07:13:06;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 57;
MEMORY_SIZE = 1516;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !THIS ROUTINE SETS THE 4DR ;
2: !RACK COUNTS TO DEFAULT ;
3: ;
4: IF DI[417:NEWRACKLOADED1]=ON,JMP LBL[2] ;
5: JMP LBL[96] ;
6: LBL[2] ;
7: R[121:Rack#1PartCount]=31 ;
8: R[36:#PRTS PKRK F1]=31 ;
9: DO[427:RACK 1 COMPLETE]=OFF ;
10: DO[417:NEW RACK ACK1]=ON ;
11: ;
12: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[80] ;
13: WAIT DI[417:NEWRACKLOADED1]=OFF ;
14: LBL[80] ;
15: ;
16: DO[417:NEW RACK ACK1]=OFF ;
17: LBL[96] ;
18: IF DI[418:NEWRACKLOADED2]=ON,JMP LBL[3] ;
19: JMP LBL[97] ;
20: LBL[3] ;
21: R[122:Rack#2PartCount]=0 ;
22: DO[428:RACK 2 COMPLETE]=OFF ;
23: DO[418:NEW RACK ACK2]=ON ;
24: ;
25: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[81] ;
26: WAIT DI[418:NEWRACKLOADED2]=OFF ;
27: LBL[81] ;
28: ;
29: DO[418:NEW RACK ACK2]=OFF ;
30: LBL[97] ;
31: IF DI[419:NEWRACKLOADED3]=ON,JMP LBL[4] ;
32: JMP LBL[98] ;
33: LBL[4] ;
34: R[123:Rack#3PartCount]=31 ;
35: R[38:#PRTS PKRK F2]=31 ;
36: DO[429:RACK 3 COMPLETE]=OFF ;
37: DO[419:NEW RACK ACK3]=ON ;
38: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 40 of 133


39: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[82] ;
40: WAIT DI[419:NEWRACKLOADED3]=OFF ;
41: LBL[82] ;
42: ;
43: DO[419:NEW RACK ACK3]=OFF ;
44: LBL[98] ;
45: IF DI[420:NEWRACKLOADED4]=ON,JMP LBL[5] ;
46: JMP LBL[99] ;
47: LBL[5] ;
48: R[124:Rack#4PartCount]=0 ;
49: DO[430:RACK 4 COMPLETE]=OFF ;
50: DO[420:NEW RACK ACK4]=ON ;
51: ;
52: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[84] ;
53: WAIT DI[420:NEWRACKLOADED4]=OFF ;
54: LBL[84] ;
55: ;
56: DO[420:NEW RACK ACK4]=OFF ;
57: LBL[99] ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 41 of 133


1.9 RACK/DERACKING SUB-PROGRAM (F1PICK_4DR.TP)
/PROG F1PICK_4DR
/ATTR
OWNER = MNEDITOR;
COMMENT = "4Dr Pick FIXT 1";
PROG_SIZE = 6456;
CREATE = DATE 11-03-08 TIME 12:48:00;
MODIFIED = DATE 11-03-08 TIME 12:48:00;
FILE_NAME = F1PICK_4;
VERSION = 0;
LINE_COUNT = 286;
MEMORY_SIZE = 6860;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !FIXTURE 1 4DR PICK ROUTINE ;
2: ;
3: ! UTOOL[2]={X -515.004,Y -231.776 ;
4: !Z 874.624,W90,P-90,R 0 ;
5: ;
6: UFRAME_NUM=0 ;
7: UTOOL_NUM=2 ;
8: ;
9: !ENTER FIXTURE 1 PICK RACK ;
10: ENTER ZONE(1) ;
11: ;
12:J P[1:zn1in] 80% CNT50 ACC50 ;
13: ;
14: !Wait Clear to Pickup ;
15: WAIT DI[94:CLR TO PICKUP]=ON ;
16: ;
17: !Move to Pickup pos ;
18:J P[2:f1prepic] 80% FINE ACC50 ;
19: ;
20: IF R[121:Rack#1PartCount]=R[36:#PRTS PKRK F1],JMP LBL[66] ;
21: R[121:Rack#1PartCount]=31 ;
22: LBL[66] ;
23: ;
24: !******************************** ;
25: !SHIFTED PICK PATH ;
26: !******************************** ;
27: ;
28: !TO MODIFY PR[109] POS MOVE TO ;
29: !BOTTOM IDEAL PIC POS IN RACK ;
30: !TOUCH UP PR[109] IN MENU\DATA ;
31: !MAKE SURE UFRAME=0 UTOOL=2 ;
32: ;
33: !R[121] # OF PARTS IN PICK RACK ;
34: !PR[109] RECORDED 4DOOR PICK POS ;
35: !PR[111] VARIABLE RACK POS ;
36: !PR[112] Z OFFSET AFTER PICK\DRP ;
37: ;
38: !******************************** ;
39: !TO MODIFY SHIFT VALUES CHANGE ;
40: !THE # ON STEP WITH ;
41: !R[43]=R[121] * # (X VALUE IN MM) ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 42 of 133


42: !R[44]=R[121] * # (Y VALUE IN MM) ;
43: !R[45]=R[121] * # (Z VALUE IN MM) ;
44: !******************************** ;
45: !4DR Shift values R43,R44,R45 ;
46: !based on rack height of 775mm ;
47: !rack holds 31parts 775\31=25mm ;
48: !25mm+1mm(for variance)=26mm ;
49: !an additional 35mm added for ;
50: !VISION gauge position offset ;
51: !******************************** ;
52: ;
53: LBL[10] ;
54: ;
55: R[121:Rack#1PartCount]=R[121:Rack#1PartCount]-1 ;
56: ;
57: PR[111:VAR RACK POS]=PR[109:4DR PICK POS F1] ;
58: !MIN # PARTS/RACK >= `0' ;
59: IF R[121:Rack#1PartCount]<0,JMP LBL[101] ;
60: JMP LBL[102] ;
61: LBL[101] ;
62: !MAX # PARTS/RACK >= `31' ;
63: !Set to one less because ;
64: !abort pick will add one ;
65: R[121:Rack#1PartCount]=30 ;
66: R[43:X SHIFT VALUE]=0 ;
67: R[44:Y SHIFT VALUE]=0 ;
68: R[45:Z SHIFT VALUE]=0 ;
69: PR[111:VAR RACK POS]=PR[109:4DR PICK POS F1] ;
70: JMP LBL[93] ;
71: LBL[102] ;
72: R[43:X SHIFT VALUE]=R[121:Rack#1PartCount]*0 ;
73: R[44:Y SHIFT VALUE]=R[121:Rack#1PartCount]*0 ;
74: R[45:Z SHIFT VALUE]=R[121:Rack#1PartCount]*25.25 ;
75: R[45:Z SHIFT VALUE]=R[45:Z SHIFT VALUE]+45 ;
76: PR[111,1:VAR RACK POS]=PR[109,1:4DR PICK POS F1]+R[43:X SHIFT
VALUE] ;
77: PR[111,2:VAR RACK POS]=PR[109,2:4DR PICK POS F1]+R[44:Y SHIFT
VALUE] ;
78: PR[111,3:VAR RACK POS]=PR[109,3:4DR PICK POS F1]+R[45:Z SHIFT
VALUE] ;
79: LBL[103] ;
80: ;
81:L PR[111:VAR RACK POS] 800mm/sec CNT10 ;
82: PR[111,3:VAR RACK POS]=PR[111,3:VAR RACK POS]-50 ;
83: ;
84: !******************************** ;
85: !Part Presents Are Used For ;
86: !STOP SEARCHING ;
87: !******************************** ;
88: ;
89: SKIP CONDITION DI[69:PART PRESENT 3]=ON OR DI[70:PART PRESENT
4]=ON OR DI[93:ABORT PICKUP]=ON ;
90: ;
91:L PR[111:VAR RACK POS] 50mm/sec FINE Skip,LBL[40] ;
92: ;
93: !******************************** ;
94: LBL[40:END SEARCH] ;
95: !******************************** ;
96: ;
97: !******************************** ;
98: !If No Part Found Loop to next ;
99: !Pos or return home ;
100: !At Reduced Speed ;
101: !******************************** ;
102: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 43 of 133


103: IF DI[10:AUTO REPEAT MD]=ON AND DI[93:ABORT PICKUP]=OFF,JMP
LBL[99] ;
104: ;
105: IF DI[93:ABORT PICKUP]=ON,JMP LBL[93] ;
106: ;
107: IF DI[69:PART PRESENT 3]=OFF,JMP LBL[10] ;
108: ;
109: PR[116:TEMP POSITION ]=LPOS ;
110: ;
111: !Turn Vacuum 2 Off ;
112: VAC2_OFF/BLOWOFF ;
113: ;
114: !Add (X) To Last Part Found ;
115: PR[116,1:TEMP POSITION ]=PR[116,1:TEMP POSITION ]-0 ;
116: ;
117: !Add (Y) To Last Part Found ;
118: PR[116,2:TEMP POSITION ]=PR[116,2:TEMP POSITION ]-0 ;
119: ;
120: !Add (Z) To Last Part Found ;
121: PR[116,3:TEMP POSITION ]=PR[116,3:TEMP POSITION ]+35 ;
122: ;
123: !Move In The (X,Y And Z) Dir ;
124:L PR[116:TEMP POSITION ] 25mm/sec FINE ;
125: ;
126: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[99] ;
127: !******************************** ;
128: !PR[130] IS VISION FRAME RECORDED ;
129: !30mm ABOVE TOP RACK PICK POS ;
130: !SET UFRAME=8 UTOOL=4 ;
131: !******************************** ;
132: ;
133: !At Measure Point 1 ;
134: DO[340:MEASURE PT 1]=ON ;
135: ;
136: UFRAME_NUM=0 ;
137: UTOOL_NUM=2 ;
138: R[58:VISION MODEL #]=1 ;
139: R[59:VISION PROCESS #]=2 ;
140: PR[130:4dr VISION FRM ]=LPOS ;
141: UFRAME[8]=PR[130:4dr VISION FRM ] ;
142: UFRAME_NUM=8 ;
143: UTOOL_NUM=4 ;
144: ;
145: !THIS IS ONLY AN EXAMPLE ;
145: !THIS ROUTINE CALLS VISION ;
145: !PROGRAM TO CONNECT ROBOT ;
145: !TO VISION CONTROLLER ;
145: CALL VISIONCONNECT ;
146: ;
147: !THIS IS ONLY AN EXAMPLE ;
147: !THIS ROUTINE CALLS VISION ;
147: !PROGRAM TO CONNECT ROBOT ;
147: !TO VISION CONTROLLER ;
147: CALL VISION(1,3,R[58:VISION MODEL #],R[59:VISION PROCESS
#],1,8) ;
148: ;
149: IF R[90:VISION FAULT]<>0,JMP LBL[87] ;
150: ;
151: CALL VISION(1,6,R[58:VISION MODEL #],R[59:VISION PROCESS
#],1,8) ;
152: ;
153: IF R[90:VISION FAULT]<>0,JMP LBL[87] ;
154: ;
155: CALL VISION(2,3,R[58:VISION MODEL #],R[59:VISION PROCESS
#],1,8) ;
156: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 44 of 133


157: IF R[90:VISION FAULT]<>0,JMP LBL[87] ;
158: ;
159: !VISION COMPLETE ;
160: JMP LBL[88] ;
161: ;
162: WAIT R[90:VISION FAULT]=0 ;
163: ;
164: LBL[87:VISION FAULT] ;
165: ;
166: !VISION FAULT ABORT DROP ;
167: ;
168: DO[338:VS ERROR]=ON ;
169: DO[345:NO VIS MSR ERROR]=OFF ;
170: ;
171: LBL[88:COMPLETE ] ;
172: ;
173: !THIS IS ONLY AN EXAMPLE ;
173: !THIS ROUTINE CALLS VISION ;
173: !PROGRAM TO DISCONNECT ROBOT ;
173: !TO VISION CONTROLLER ;
173: CALL VISION_DISCO ;
174: ;
175: !Offset Received ;
176: DO[344:VISION OFFSET REC]=PULSE,2.0sec ;
177: ;
178: !Robot in Wait Loop ;
179: DO[24:RBT IN LOOP]=ON ;
180: ;
181: !Continue OR Abort ;
182: WAIT R[90:VISION FAULT]=0 OR DI[93:ABORT PICKUP]=ON ;
183: ;
184: !Robot Not in Wait Loop ;
185: DO[24:RBT IN LOOP]=OFF ;
186: ;
187: DO[337:VS COMM ERROR]=ON ;
188: ;
189: IF R[90:VISION FAULT]=0,JMP LBL[51] ;
190: ;
191: IF DI[93:ABORT PICKUP]=ON,JMP LBL[93] ;
192: ;
193: LBL[51] ;
194: ;
195: PR[115:VISION PICK POS]=LPOS ;
196: PR[115,3:VISION PICK POS]=PR[115,3:VISION PICK POS]+30 ;
197:L PR[115:VISION PICK POS] 400mm/sec FINE ;
198: LBL[99] ;
199: !******************************** ;
200: !END OF SHIFTED PICK PATH ;
201: !******************************** ;
202: ;
203: UFRAME_NUM=0 ;
204: UTOOL_NUM=2 ;
205: ;
206: PR[116:TEMP POSITION ]=LPOS ;
207: ;
208: !At Pickup ;
209: DO[49:RBT @ PKUP POS 1]=ON ;
210: ;
211: !Turn Vacuum 2 On ;
212: VAC2_ON ;
213: WAIT .25(sec) ;
214: ;
215: !Check Part Present ;
216: WAIT DI[69:PART PRESENT 3]=ON ;
217: ;
218: !Abort Pickup ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 45 of 133


219: IF DI[93:ABORT PICKUP]=ON,JMP LBL[93] ;
220: ;
221: PAYLOAD[3] ;
222: ;
223: !Move Above Pickup ;
224: PR[112:Z MOVE AFTER ]=PR[116:TEMP POSITION ] ;
225: PR[112,3:Z MOVE AFTER ]=PR[116,3:TEMP POSITION ]+50 ;
226:L PR[112:Z MOVE AFTER ] 500mm/sec FINE ;
227: ;
228: CLOSE GRIPPER3 ;
229: WAIT DI[78:CLMP 3 CLOSED]=ON OR DI[93:ABORT PICKUP]=ON ;
230: ;
231: WAIT DI[49:PICKUP COMP 1]=ON OR DI[93:ABORT PICKUP]=ON ;
232: ;
233: !Abort Pickup ;
234: IF DI[93:ABORT PICKUP]=ON,JMP LBL[93] ;
235: ;
236: IF R[121:Rack#1PartCount]>0,JMP LBL[2] ;
237: DO[427:RACK 1 COMPLETE]=ON ;
238: LBL[2] ;
239: ;
240:L P[3] 1000mm/sec CNT10 ;
241: ;
242: !At Pickup ;
243: DO[49:RBT @ PKUP POS 1]=OFF ;
244: ;
245: DO[340:MEASURE PT 1]=OFF ;
246: DO[337:VS COMM ERROR]=OFF ;
247: ;
248: !Move Away From Pickup ;
249:L P[2:f1prepic] 1000mm/sec CNT10 ;
250:J P[4:lx71] 80% CNT50 ;
251: ;
252: DO[24:RBT IN LOOP]=ON ;
253: !ENTER OPERATOR WORK ZONE ;
254: ENTER ZONE(11) ;
255: DO[24:RBT IN LOOP]=OFF ;
256: ;
257:J P[5:zn1clr] 80% CNT100 ;
258: ;
259: R[36:#PRTS PKRK F1]=R[121:Rack#1PartCount] ;
260: ;
261: JMP LBL[13] ;
262: ;
263: LBL[93:Abort Pickup1] ;
264: ;
265: !******************************** ;
266: !Abort Pickup At Rack Path ;
267: !******************************** ;
268: UTOOL_NUM=2 ;
269: OPEN GRIPPER3 ;
270: VAC2_OFF/BLOWOFF ;
271: !Wait for Grippers Open ;
272: WAIT DI[77:CLMP 3 OPENED]=ON ;
273: PAYLOAD[2] ;
274:L P[2:f1prepic] 800mm/sec FINE ;
275: DO[49:RBT @ PKUP POS 1]=OFF ;
276:J P[1:zn1in] 80% CNT80 ;
277:J P[6:ALMOST HOME] 100% CNT100 ;
278: ;
279: !RESET RACK COUNT AFTER ABORT ;
280: R[121:Rack#1PartCount]=R[121:Rack#1PartCount]+1 ;
281: ;
282: R[36:#PRTS PKRK F1]=R[121:Rack#1PartCount] ;
283: ;
284: LBL[13] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 46 of 133


285: ;
286: EXIT ZONE(1) ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 47 of 133


1.10 RACK/DERACKING SUB-PROGRAM (F1DROP_4DR.TP)
/PROG F1DROP_4DR
/ATTR
OWNER = MNEDITOR;
COMMENT = "4Dr Drop FIXT 1";
PROG_SIZE = 3223;
CREATE = DATE 11-03-08 TIME 13:28:46;
MODIFIED = DATE 11-03-08 TIME 13:28:46;
FILE_NAME = F1DROP_4;
VERSION = 0;
LINE_COUNT = 121;
MEMORY_SIZE = 3623;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !FIXTURE 1 4DR DROP ROUTINE ;
2: ;
3: ! UTOOL[2]={X -515.004,Y -231.776 ;
4: !Z 874.624,W90,P-90,R 0 ;
5: ;
6: PAYLOAD[3] ;
7: UTOOL_NUM=2 ;
8: UFRAME_NUM=0 ;
9: ;
10: !ENTER FIXTURE 1 DROP RACK ;
11: ENTER ZONE(2) ;
12: ;
13: !Move To Drop Rack ;
14:J P[1:zn2in] 80% CNT100 ACC50 ;
15: ;
16:J P[2:f2prdp01] 80% FINE ACC50 ;
17: ;
18: !******************************** ;
19: !SHIFTED DROP PATH ;
20: !******************************** ;
21: ;
22: !TO MODIFY PR[110] POS MOVE TO ;
23: !BOTTOM IDEAL DROP POS IN RACK ;
24: !TOUCH UP PR[110] IN MENU\DATA ;
25: !MAKE SURE UFRAME=0 UTOOL=2 ;
26: ;
27: !R[122] # OF PARTS IN DROP RACK ;
28: !PR[110] RECORDED DROP POSITION ;
29: !PR[111] VARIABLE DROP POSITION ;
30: !PR[112] OFFSET Z AFTER DROP POS ;
31: ;
32: !******************************** ;
33: !TO MODIFY SHIFT VALUES CHANGE ;
34: !THE # ON STEP WITH ;
35: !R[43]=R[122]* # (X VALUE IN MM) ;
36: !R[44]=R[122]* # (Y VALUE IN MM) ;
37: !R[45]=R[122]* # (Z VALUE IN MM) ;
38: !******************************** ;
39: !4DR Shift values R43,R44,R45 ;
40: !based on rack height of 880mm ;
41: !rack holds 15parts 880\15=58.7mm ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 48 of 133


42: !58.7mm+4.6mm(for variance)=63.3m ;
43: !additional offsets in X&Y ;
44: !compensate for rack variance ;
45: !******************************** ;
46: ;
47: PR[111:VAR RACK POS]=PR[110:4DR DROP POS F1] ;
48: ;
49: !MAX # PARTS/RACK >= `##' ;
50: IF R[122:Rack#2PartCount]>=15,JMP LBL[201] ;
51: JMP LBL[202] ;
52: LBL[201] ;
53: R[122:Rack#2PartCount]=0 ;
54: R[43:X SHIFT VALUE]=0 ;
55: R[44:Y SHIFT VALUE]=0 ;
56: R[45:Z SHIFT VALUE]=0 ;
57: PR[111:VAR RACK POS]=PR[110:4DR DROP POS F1] ;
58: JMP LBL[203] ;
59: LBL[202] ;
60: R[43:X SHIFT VALUE]=R[122:Rack#2PartCount]*0 ;
61: R[44:Y SHIFT VALUE]=R[122:Rack#2PartCount]*0 ;
62: R[45:Z SHIFT VALUE]=R[122:Rack#2PartCount]*63.3 ;
63: PR[111,1:VAR RACK POS]=PR[110,1:4DR DROP POS F1]-R[43:X SHIFT
VALUE] ;
64: PR[111,2:VAR RACK POS]=PR[110,2:4DR DROP POS F1]+R[44:Y SHIFT
VALUE] ;
65: PR[111,3:VAR RACK POS]=PR[110,3:4DR DROP POS F1]+R[45:Z SHIFT
VALUE] ;
66: LBL[203] ;
67: ;
68: SKIP CONDITION DI[41:UDEF RBT IN 1]=ON ;
69: ;
70:L PR[111:VAR RACK POS] 300mm/sec FINE ACC50 Skip,LBL[30] ;
71: ;
72: LBL[30] ;
73: !******************************** ;
74: !END OF SHIFTED DROP PATH ;
75: !******************************** ;
76: ;
77: PR[111:VAR RACK POS]=LPOS ;
78: ;
79:L PR[111:VAR RACK POS] 50mm/sec FINE ;
80: ;
81: UFRAME_NUM=0 ;
82: UTOOL_NUM=2 ;
83: ;
84: !At Set Down Position ;
85: DO[47:UDEF RBT OUT 7]=ON ;
86: ;
87: !Open Gripper Side B ;
88: OPEN GRIPPER3 ;
89: VAC2_OFF/BLOWOFF ;
90: ;
91: !Wait for Grippers Open ;
92: WAIT DI[77:CLMP 3 OPENED]=ON ;
93: ;
94: !Wait for Set Down Complete ;
95: WAIT DI[47:UDEF RBT IN 7]=ON ;
96: ;
97: PAYLOAD[2] ;
98: ;
99: !Move After Dropoff Position ;
100: R[122:Rack#2PartCount]=R[122:Rack#2PartCount]+1 ;
101: ;
102: PR[112:Z MOVE AFTER ]=LPOS ;
103: PR[112,3:Z MOVE AFTER ]=PR[112,3:Z MOVE AFTER ]+105 ;
104:L PR[112:Z MOVE AFTER ] 750mm/sec FINE ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 49 of 133


105: ;
106: IF R[122:Rack#2PartCount]<15,JMP LBL[2] ;
107: DO[428:RACK 2 COMPLETE]=ON ;
108: LBL[2] ;
109: ;
110: !Wait for Part Release ;
111: WAIT DI[97:PART RELEASED]=ON ;
112: ;
113: !At Set Down Position ;
114: DO[47:UDEF RBT OUT 7]=OFF ;
115: ;
116: !Move Away from Drop ;
117:L P[2:f2prdp01] 1500mm/sec CNT10 ACC50 ;
118: ;
119:J P[6:zn2clr] 80% CNT50 ;
120:J PR[1:Home 1] 100% CNT100 ;
121: ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 50 of 133


1.11 PG21 BEST FIT (Example)
/PROG PG21
/ATTR
OWNER = MNEDITOR;
COMMENT = "FORD 4DR";
PROG_SIZE = 2430;
CREATE = DATE 10-10-14 TIME 11:25:00;
MODIFIED = DATE 11-02-10 TIME 18:18:56;
FILE_NAME = PG21;
VERSION = 0;
LINE_COUNT = 122;
MEMORY_SIZE = 2866;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
/MN
1: !******************************** ;
2: !FORD PG21 ;
3: !BEST FIT Program ;
4: !All 4Dr Styles ;
5: !Robot: 4B-480-5 LH FRT ;
6: !F # : ;
7: !******************************** ;
8: ;
9: TIMER[5]=RESET ;
10: TIMER[5]=START ;
11: ;
12: !Verify Program ;
13: PROGRAM VERIFY(21) ;
14: ;
15: !THIS IS ONLY AN EXAMPLE ;
15: !THIS ROUTINE CALLS VISION ;
15: !TP PROGRAM TO SET POSITION ;
15: !REG FOR THE VISION FRAME ;
15: !(IF APPLICABLE) ;
15: CALL LOADNOMFRAMES ;
16: ;
17: !If Parts Present and Grippers ;
18: ! Closed GoTo Dropoff ;
19: IF DI[67:PART PRESENT 1]=ON AND DI[74:CLMP 1 CLOSED]=ON,JMP
LBL[10] ;
20: ;
21: !Set Payload To W/O Part ;
22: PAYLOAD[2] ;
23: ;
24: !Run Home IO ;
25: SETUP OUTPUTS ;
26: ;
27: !Move Home ;
28: GO TO HOME POS ;
29: ;
30: !Move to Pounce ;
31: GO TO POUNCE ;
32: ;
33: !Clr to Adv Xfer ;
34: DO[954:CLRTOADVXFR]=ON ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 51 of 133


35: !Clr to Ret Xfer ;
36: DO[955:CLRTORETXFR]=ON ;
37: !Clr to Unclamp ;
38: DO[956:CLRTOUNCLMP]=OFF ;
39: ;
40: !Turn ON Robot in Loop ;
41: DO[24:RBT IN LOOP]=ON ;
42: ;
43: !Start Cycle or Return Home ;
44: WAIT DI[9:START CYCLE]=ON OR DI[13:RETURN TO HOME]=ON ;
45: ;
46: !Turn OFF Robot in Loop ;
47: DO[24:RBT IN LOOP]=OFF ;
48: ;
49: !Return From Pounce ;
50: IF DI[13:RETURN TO HOME]=ON,JMP LBL[13] ;
51: ;
52: !Turn ON Robot in Loop ;
53: DO[24:RBT IN LOOP]=ON ;
54: ;
55: !Wait for Clear to Pickup ;
56: WAIT DI[94:CLR TO PICKUP]=ON ;
57: ;
58: !Turn OFF Robot in Loop ;
59: DO[24:RBT IN LOOP]=OFF ;
60: ;
61: !Enter ZONE 6 W/Unload Conveyor ;
62: ENTER ZONE(6) ;
63: ;
64: !Turn ON Robot in Loop ;
65: DO[24:RBT IN LOOP]=ON ;
66: ;
67: !Check Clamps Opened ;
68: ! and Slide Returned ;
69: WAIT DI[73:CLMP 1 OPENED]=ON AND DI[75:CLMP 2 OPENED]=ON ;
70: ;
71: !Turn OFF Robot in Loop ;
72: DO[24:RBT IN LOOP]=OFF ;
73: ;
74: !Pickup Path ;
75: CALL PICKUP ;
76: ;
77: !Exit ZONE 6 W/Unload Conveyor ;
78: EXIT ZONE(6) ;
79: ;
80: LBL[10:Skip Pickup] ;
81: ;
14: ;
82: !THIS IS ONLY AN EXAMPLE ;
82: !Move W/Part To Wait For Body ;
83: CALL MOVE_2_W84BDY ;
84: ;
85: ;
86: TIMER[5]=STOP ;
87: ;
88: TIMER[6]=RESET ;
89: TIMER[6]=START ;
90: ;
91: TIMER[10]=RESET ;
92: TIMER[10]=START ;
93: ;
94: ;
95: !Turn ON Robot in Loop ;
96: DO[24:RBT IN LOOP]=ON ;
97: ;
98: !Wait for Set Down or Maint ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 52 of 133


99: WAIT DI[96:CLR TO SET DOWN]=ON OR DI[13:RETURN TO HOME]=ON
;
100: ;
101: !Turn OFF Robot in Loop ;
102: DO[24:RBT IN LOOP]=OFF ;
103: ;
104: !GoTo Return To Home ;
105: !THIS IS ONLY AN EXAMPLE ;
105: IF DI[13:RETURN TO HOME]=ON,CALL RET_FROM_W84BODY ;
106: ;
107: !Drop Off Path ;
108: CALL DROPOFF ;
109: ;
110: LBL[13:Return to Home] ;
111: ;
112: !Clr to Adv Xfer ;
113: DO[954:CLRTOADVXFR]=ON ;
114: !Clr to Ret Xfer ;
115: DO[955:CLRTORETXFR]=ON ;
116: !Clr to Unclamp ;
117: DO[956:CLRTOUNCLMP]=ON ;
118: ;
119: !Move Home ;
120: GO TO HOME POS ;
121: ;
122: TIMER[9]=STOP ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 53 of 133


1.12 BEST FIT SUB-PROGRAM (LOADNOMFRAMES.TP)
/PROG LOADNOMFRAMES
/ATTR
OWNER = MNEDITOR;
COMMENT = "RELOADNOMFRAMES ";
PROG_SIZE = 806;
CREATE = DATE 11-02-10 TIME 17:47:02;
MODIFIED = DATE 11-02-10 TIME 18:18:28;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 28;
MEMORY_SIZE = 1062;
PROTECT = READ;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT : TRUE ;
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !VISION PROGRAM THAT DUMPS VALUES ;
2: !INTO PR AND THEN FRAME ;
3: ;
4: ;
5: PR[111,1:4DR_PRE_PICK]=763.5 ;
6: PR[111,2:4DR_PRE_PICK]=1777.77 ;
7: PR[111,3:4DR_PRE_PICK]=174.401 ;
8: PR[111,4:4DR_PRE_PICK]=(-16.341) ;
9: PR[111,5:4DR_PRE_PICK]=1.781 ;
10: PR[111,6:4DR_PRE_PICK]=(-.993) ;
11: ;
12: ;
13: ;
14: PR[112,1:4DR_ROUGH]=1507.28 ;
15: PR[112,2:4DR_ROUGH]=(-2115.45) ;
16: PR[112,3:4DR_ROUGH]=95.465 ;
17: PR[112,4:4DR_ROUGH]=(-1.711) ;
18: PR[112,5:4DR_ROUGH]=(-.409) ;
19: PR[112,6:4DR_ROUGH]=(-179.741) ;
20: ;
23: PR[113,1:4DR_FINE]=1507.28 ;
24: PR[113,2:4DR_FINE]=(-2125.45) ;
25: PR[113,3:4DR_FINE]=95.465 ;
26: PR[113,4:4DR_FINE]=(-1.711) ;
27: PR[113,5:4DR_FINE]=(-.409) ;
28: PR[113,6:4DR_FINE]=(-179.741) ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 54 of 133


1.13 BEST FIT SUB-PROGRAM (PICKUP.TP)
/PROG PICKUP
/ATTR
OWNER = MNEDITOR;
COMMENT = "PICKUP LH FRT ";
PROG_SIZE = 3550;
CREATE = DATE 11-02-28 TIME 08:46:36;
MODIFIED = DATE 11-02-28 TIME 08:46:36;
FILE_NAME = ABORTPIC;
VERSION = 0;
LINE_COUNT = 137;
MEMORY_SIZE = 4030;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Pickup LH RR Door Process ;
3: !FORD Program ;
4: !******************************** ;
5: ;
6: DO[794:VIS CAPTURECOMP]=PULSE,1.0sec ;
7: ;
8: R[96:VISION ATTEMPTS]=0 ;
9: ;
10: !Set Payload To W/O Part ;
11: PAYLOAD[2] ;
12: ;
13: UTOOL_NUM=9 ;
14: UFRAME_NUM=0 ;
15: ;
16: !Move Toward Pick Fit Position ;
17:L P[1:via1] 2000mm/sec CNT50 ;
18:L P[2:via2] 1500mm/sec CNT10 ;
19: ;
20: LBL[10:Retry Pick] ;
21: ;
22: UTOOL_NUM=9 ;
23: UFRAME_NUM=0 ;
24: ;
25:L P[3:prepick] 800mm/sec FINE ;
26: ;
27: !Set At Measure 1 Position ;
28: DO[340:MEASURE PT 1]=ON ;
29: ;
30: !Reset Vision Retry Register ;
31: R[51:VISION RETRY]=0 ;
32: ;
33: R[96:VISION ATTEMPTS]=R[96:VISION ATTEMPTS]+1 ;
34: ;
35: !******************************** ;
36: !VISION Pick Fit ;
37: !******************************** ;
38: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 55 of 133


39: !Turn ON Robot in Loop ;
40: DO[24:RBT IN LOOP]=ON ;
41: ;
42: !Check Vision Commuication OK ;
43: WAIT DI[793:VISION COMM OK]=ON ;
44: ;
45: !Turn OFF Robot in Loop ;
46: DO[24:RBT IN LOOP]=OFF ;
47: ;
48: !Set Active Robot UFRAME Number ;
49: ! PR[111(4DR_PICK) 121(5DR_PICK)] ;
50: UFRAME[9]=PR[111:4DR_PRE_PICK] ;
51: UFRAME_NUM=9 ;
52: UTOOL_NUM=9 ;
53: ;
54: !(Model 1=4DR, Model 2=5DR) ;
55: R[58:MODEL]=1 ;
56: R[59:PROCESS]=2 ;
57: ;
58: WAIT 1.00(sec) ;
59: ;
60: !THIS IS ONLY AN EXAMPLE ;
60: !THIS ROUTINE CALLS VISION ;
60: !TP PROGRAM TO SET VISION ;
60: !PICK ROUTINE
60: !(IF APPLICABLE) ;
60: !Call VISION Pick Fit Routine ;
61: CALL VISIONPICK ;
62: ;
63: WAIT DI[337:VIS OP COMP 1]=ON ;
64: ;
65: IF R[90:VISION ERROR]<>0 AND R[96:VISION ATTEMPTS]<2 AND
DO[345:NO VIS MSR ERROR]=ON,JMP LBL[10] ;
66: ;
67: !Turn ON Robot in Loop ;
68: DO[24:RBT IN LOOP]=ON ;
69: ;
70: !Vision Decision Loop ;
71: WAIT DI[93:ABORT PICKUP]=ON OR R[90:VISION ERROR]=0 OR
DO[802:RETRY VIS OPER]=ON ;
72: ;
73: !Turn OFF Robot in Loop ;
74: DO[24:RBT IN LOOP]=OFF ;
75: ;
76: !Abort Pickup ;
77: IF DI[93:ABORT PICKUP]=ON,CALL ABORTPICKUP ;
78: ;
79: !If I/F RETRY PB Then Retry Pick ;
80: IF DO[802:RETRY VIS OPER]=ON,JMP LBL[10] ;
81: ;
82: !VISION Pickup Position ;
83:L P[4:pickup] 500mm/sec FINE ;
84: ;
85: !Turn ON At Pickup 1 ;
86: DO[49:RBT @ PKUP POS 1]=ON ;
87: ;
88: !Turn ON Vacuum 1 ;
89: VACUUM 1 ON ;
90: ;
91: !Close Grippers ;
92: CLOSE GRIPPER1 ;
93: ;
94: !Turn ON Robot in Loop ;
95: DO[24:RBT IN LOOP]=ON ;
96: ;
97: !Wait for Clamps Closed, Vacuum ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 56 of 133


98: ! ON & Part Present or Abort Pick ;
99: WAIT ((DI[74:CLMP 1 CLOSED]=ON AND DI[88:CLMP 8 CLOSED]=ON AND
DI[67:PART PRESENT 1]=ON) OR DI[93:ABORT PICKUP]=ON) ;
100: ;
101: !Turn OFF Robot in Loop ;
102: DO[24:RBT IN LOOP]=OFF ;
103: ;
104: !Abort Pickup ;
105: IF DI[93:ABORT PICKUP]=ON,CALL ABORTPICKUP ;
106: ;
107: !Set Payload To W/Part ;
108: PAYLOAD[3] ;
109: ;
110: !Move Above Pickup ;
111:L P[5:aftpick] 800mm/sec CNT10 ;
112: ;
113: !Turn ON Robot in Loop ;
114: DO[24:RBT IN LOOP]=ON ;
115: ;
116: !Wait Pickup Complete ;
117: WAIT DI[49:PICKUP COMP 1]=ON ;
118: ;
119: !Turn OFF Robot in Loop ;
120: DO[24:RBT IN LOOP]=OFF ;
121: ;
122: !Reset Measure 1 Position ;
123: DO[340:MEASURE PT 1]=OFF ;
124: ;
125: !Reset Vision Process Complete ;
126: DO[344:VISION OFFSET REC]=OFF ;
127: ;
128: !Turn OFF At Pickup 1 ;
129: DO[49:RBT @ PKUP POS 1]=OFF ;
130: ;
131: !Reset Active UFRAME Number ;
132: UFRAME_NUM=0 ;
133: ;
134: !Move Away From Pickup ;
135:L P[6:via3] 1500mm/sec CNT20 ;
136:L P[7:via4] 2000mm/sec CNT50 ;
137:J P[8:pickclr] 100% CNT5 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 57 of 133


1.14 BEST FIT SUB-PROGRAM (MOVE_2_W84BDY.TP)
/PROG MOVE_2_W84BDY
/ATTR
OWNER = MNEDITOR;
COMMENT = "MOVE TO WAIT";
PROG_SIZE = 1062;
CREATE = DATE 10-12-06 TIME 12:25:54;
MODIFIED = DATE 10-12-06 TIME 12:25:54;
FILE_NAME = MOVE_TO_;
VERSION = 0;
LINE_COUNT = 15;
MEMORY_SIZE = 1370;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Continue To W84Body ;
3: !FORD Program ;
4: !******************************** ;
5: ;
6: !Set Payload To W/Part ;
7: PAYLOAD[3] ;
8: ;
9: UTOOL_NUM=9 ;
10: UFRAME_NUM=0 ;
11: ;
12:J P[1:via1] 100% CNT50 ;
13:J P[2:via2] 100% CNT50 ;
14:J P[3:via3] 100% CNT50 ;
15:J P[4:w84body] 100% CNT5 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 58 of 133


1.15 BEST FIT SUB-PROGRAM (RET_FROM_W84BODY.TP)
/PROG RET_FROM_W84BODY
/ATTR
OWNER = MNEDITOR;
COMMENT = "RETURN FROM WAIT";
PROG_SIZE = 1232;
CREATE = DATE 10-12-06 TIME 12:26:48;
MODIFIED = DATE 10-12-06 TIME 12:26:48;
FILE_NAME = RET_FROM;
VERSION = 0;
LINE_COUNT = 23;
MEMORY_SIZE = 1508;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !***************************** ;
2: ! Abort From W84Body To Home ;
3: ! FORD Program ;
4: !***************************** ;
5: ;
6: !Set Payload To W/Part ;
7: PAYLOAD[3] ;
8: ;
9: UTOOL_NUM=9 ;
10: UFRAME_NUM=0 ;
11: ;
12:J P[1:w84body] 80% CNT5 ;
13:J P[2:via1] 80% CNT50 ;
14:J P[3:via2] 80% CNT50 ;
15:J P[4:via3] 80% CNT50 ;
16: ;
17: !Move Home ;
18: GO TO HOME POS ;
19: ;
20: !******************************** ;
21: !ABORT CURRENT STYLE ;
22: !******************************** ;
23: ABORT ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 59 of 133


1.16 BEST FIT SUB-PROGRAM (DROPOFF.TP)
/PROG DROPOFF
/ATTR
OWNER = MNEDITOR;
COMMENT = "GO HOME W/PART";
PROG_SIZE = 9155;
CREATE = DATE 11-02-28 TIME 13:44:28;
MODIFIED = DATE 11-02-28 TIME 13:44:28;
FILE_NAME = DROPOFF;
VERSION = 0;
LINE_COUNT = 443;
MEMORY_SIZE = 9595;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Vision Best Fit Program Path ;
3: !FORD Program ;
4: !******************************** ;
5: ;
6: DO[794:VIS CAPTURECOMP]=PULSE,1.0sec ;
7: ;
8: R[96:VISION ATTEMPTS]=0 ;
9: ;
10: !Set Payload To W/Part ;
11: PAYLOAD[3] ;
12: ;
13: UTOOL_NUM=9 ;
14: UFRAME_NUM=0 ;
15: ;
16: R[96:VISION ATTEMPTS]=0 ;
17: !Enter ZONE 10 W/R1 and R3 ZONE10 ;
18: ENTER ZONE(10) ;
19: ;
20: !Enter ZONE 2 W/Station Table ;
21: ENTER ZONE(2) ;
22: ;
23: !Clr to Return Xfer ;
24: DO[955:CLRTORETXFR]=OFF ;
25: !Clr to Adv Xfer ;
26: DO[954:CLRTOADVXFR]=OFF ;
27: !Clr to Unclamp ;
28: DO[956:CLRTOUNCLMP]=OFF ;
29: ;
30: !Advance RR Door Flush Tool ;
31: CLOSE GRIPPER4 ;
32: ;
33: !Turn ON Vacuum 3 ;
34: VACUUM 3 ON ;
35: ;
36: LBL[10:Retry Rough] ;
37: ;
38: UTOOL_NUM=9 ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 60 of 133


39: UFRAME_NUM=0 ;
40: ;
41: !Move Toward Body ;
42: ! 10mm Back From Fine Fit Pos ;
43:L P[1:roughfit] 800mm/sec FINE ;
44: ;
45: !Turn ON Robot in Loop ;
46: DO[24:RBT IN LOOP]=ON ;
47: ;
48: !RR Door Flush Slide Advanced ;
49: WAIT DI[80:CLMP 4 CLOSED]=ON ;
50: ;
51: !Wait For Vacuum 3 ON ;
52: WAIT DI[92:CLMP 10 CLOSED]=ON ;
53: ;
54: !Turn OFF Robot in Loop ;
55: DO[24:RBT IN LOOP]=OFF ;
56: ;
57: !Set At Measure 2 Position ;
58: DO[340:MEASURE PT 1]=ON ;
59: ;
60: !Reset Vision Retry Register ;
61: R[51:VISION RETRY]=0 ;
62: ;
63: R[96:VISION ATTEMPTS]=R[96:VISION ATTEMPTS]+1 ;
64: ;
65: !******************************** ;
66: ! VISION Rough Fit ;
67: ! 10mm From Fine Fit ;
68: !******************************** ;
69: ;
70: !Turn ON Robot in Loop ;
71: DO[24:RBT IN LOOP]=ON ;
72: ;
73: !Check Vision Commuication OK ;
74: WAIT DI[793:VISION COMM OK]=ON ;
75: ;
76: !Turn OFF Robot in Loop ;
77: DO[24:RBT IN LOOP]=OFF ;
78: ;
79: !Set Active Robot UFRAME Number ;
80: !PR[112(4DR_ROUGH) 122(5DR_ROUGH) ;
81: UFRAME[9]=PR[112:4DR_ROUGH] ;
82: UFRAME_NUM=9 ;
83: UTOOL_NUM=9 ;
84: ;
85: !(Model 1=4DR, Model 2=5DR) ;
86: R[58:MODEL]=1 ;
87: R[59:PROCESS]=3 ;
88: ;
90: !THIS IS ONLY AN EXAMPLE ;
90: !THIS ROUTINE CALLS VISION ;
90: !TP PROGRAM TO SET VISION ;
90: ! Rough Fit Routine
90: !(IF APPLICABLE) ;
90: CALL VISIONROUGH ;
91: ;
92: WAIT DI[337:VIS OP COMP 1]=ON ;
93: ;
94: IF R[90:VISION ERROR]<>0 AND R[96:VISION ATTEMPTS]<2 AND
DO[345:NO VIS MSR ERROR]=ON,JMP LBL[10] ;
95: ;
96: !Turn ON Robot in Loop ;
97: DO[24:RBT IN LOOP]=ON ;
98: ;
99: !Vision Decision Loop ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 61 of 133


100: WAIT R[90:VISION ERROR]=0 OR DI[1022]=ON OR DO[802:RETRY VIS
OPER]=ON OR DI[6:MAINT RQST PLC]=ON OR DI[350:OK2LOAD2AVERAGE]=ON
;
101: ;
102: !Turn OFF Robot in Loop ;
103: DO[24:RBT IN LOOP]=OFF ;
104: ;
105: !If I/F ABORT PB Pressed ;
106: ! Return R5 To Home With Part ;
107: IF DO[801:ABORT VIS OPER]=ON,CALL ABORTDROPOFF ;
108: ;
109: IF DI[6:MAINT RQST PLC]=ON,CALL ABORTDROPOFF ;
110: ;
111: !If I/F RETRY PB Then Retry Rough ;
112: IF DO[802:RETRY VIS OPER]=ON,JMP LBL[10] ;
113: ;
114: !If Load to Avg is selected ;
115: IF DI[1022]=ON,JMP LBL[13] ;
116: ;
117: !Fastening Position ;
118:L P[2:at_body] 800mm/sec FINE ;
119: ;
120: !Reset Measure 2 Position ;
121: DO[340:MEASURE PT 1]=OFF ;
122: ;
123: !Reset Vision Process Complete ;
124: DO[344:VISION OFFSET REC]=OFF ;
125: ;
126: !At Set Down Position ;
127: DO[59:RBT AT DRP OFF 1]=ON ;
128: ;
129: !THIS IS ONLY AN EXAMPLE ;
129: !THIS ROUTINE CALLS VISION ;
129: !KAREL PROGRAM TO SET VISION ;
129: !Calculate Rough Fit Load Average ;
129: !(IF APPLICABLE) ;
130: IF R[90:VISION ERROR]=0 AND DO[350:LOAD2AVERAGE]=OFF AND
DI[10:AUTO REPEAT MD]=OFF,CALL CALCAVG(53,150,20,181,112) ;
131: ;
132: JMP LBL[16] ;
133: ;
134: LBL[13:Loaded2Avg] ;
135: ;
136: !Set Loaded To Rough Average ;
137: DO[350:LOAD2AVERAGE]=ON ;
138: ;
139: WAIT DI[350:OK2LOAD2AVERAGE]=ON ;
140: ;
141: !THIS IS ONLY AN EXAMPLE ;
141: !THIS ROUTINE CALLS VISION ;
141: !KAREL PROGRAM TO SET VISION ;
141: ! Load2Avg PR[181:FINE FIT AVG];
142: !(IF APPLICABLE) ;
143: CALL LOADAVG(181) ;
144: ;
145: !Set Vision Offset Recieved ;
146: DO[344:VISION OFFSET REC]=ON ;
147: ;
148: !At Set Down Position ;
149: DO[59:RBT AT DRP OFF 1]=ON ;
150: ;
151: !Rough Fit Average Position ;
152:L P[2:at_body] 800mm/sec FINE ;
153: ;
154: !Turn ON Robot in Loop ;
155: DO[24:RBT IN LOOP]=ON ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 62 of 133


156: ;
157: !NO Clamp/Hold or Return Home ;
158: WAIT DI[47:UDEF RBT IN 7]=ON ;
159: ;
160: !Turn OFF Robot in Loop ;
161: DO[24:RBT IN LOOP]=OFF ;
162: ;
163: DO[794:VIS CAPTURECOMP]=PULSE,1.0sec ;
164: ;
165: LBL[16] ;
166: ;
167: !Exit ZONE 10 W/R1 AND R3 ZONE10 ;
168: EXIT ZONE(10) ;
169: ;
170: !OK To Run HALF Torque ;
171: DO[41:UDEF RBT OUT 1]=ON ;
172: ;
173: ;
174: TIMER[6]=STOP ;
175: ;
176: ;
177: !Turn ON Robot in Loop ;
178: DO[24:RBT IN LOOP]=ON ;
179: ;
180: !Reset Loaded To Average ;
181: DO[350:LOAD2AVERAGE]=OFF ;
182: ;
183: !Nutrunners HALF Torque Complete ;
184: WAIT DI[41:UDEF RBT IN 1]=ON ;
185: ;
186: !Turn OFF Robot in Loop ;
187: DO[24:RBT IN LOOP]=OFF ;
188: ;
189: !Reset OK To HALF Torque ;
190: DO[41:UDEF RBT OUT 1]=OFF ;
191: ;
192: !Set At Measure 3 Position ;
193: DO[340:MEASURE PT 1]=ON ;
194: ;
195: !Reset Vision Retry Register ;
196: R[51:VISION RETRY]=0 ;
197: ;
198: !******************************** ;
199: !VISION Fine Fit ;
200: !******************************** ;
201: ;
202: !Reset Active Robot UFRAME ;
203: UFRAME_NUM=0 ;
204: ;
205: !Set Robot UFRAME Equal To ;
206: ! Current Robot Position ;
207: PR[115:ZERO_CURRENT_POS]=LPOS ;
208: UFRAME[9]=PR[115:ZERO_CURRENT_POS] ;
209: ;
210: !Set Active Robot UFRAME Number ;
211: UFRAME_NUM=9 ;
212: UTOOL_NUM=9 ;
213: ;
214: !(Model 1=4DR, Model 2=5DR) ;
215: R[58:MODEL]=1 ;
216: R[59:PROCESS]=4 ;
217: ;
218: !THIS IS ONLY AN EXAMPLE ;
218: !THIS ROUTINE CALLS VISION ;
218: !TP PROGRAM TO SET VISION ;
218: !Call VISION Fine Fit Routine ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 63 of 133


218: !(IF APPLICABLE) ;
219: CALL VISIONFINE ;
220: ;
221: !Turn ON Robot in Loop ;
222: DO[24:RBT IN LOOP]=ON ;
223: ;
224: WAIT DI[337:VIS OP COMP 1]=ON ;
225: ;
226: !Vision Decision Loop ;
227: WAIT R[90:VISION ERROR]=0 OR DO[801:ABORT VIS OPER]=ON ;
228: ;
229: !Turn OFF Robot in Loop ;
230: DO[24:RBT IN LOOP]=OFF ;
231: ;
232: !OK To Run FINAL Torque ;
233: DO[42:UDEF RBT OUT 2]=ON ;
234: ;
235: !Turn ON Robot in Loop ;
236: DO[24:RBT IN LOOP]=ON ;
237: ;
238: DO[337:VS SYSTEM COMPL]=ON ;
239: ;
240: !Nutrunners FINAL Torque Complete ;
241: WAIT DI[42:UDEF RBT IN 2]=ON ;
242: ;
243: TIMER[7]=RESET ;
244: TIMER[7]=START ;
245: ;
246: ;
247: !Turn OFF Robot in Loop ;
248: DO[24:RBT IN LOOP]=OFF ;
249: ;
250: !Reset Measure 3 Position ;
251: DO[340:MEASURE PT 1]=OFF ;
252: ;
253: !Reset Vision Process Complete ;
254: DO[344:VISION OFFSET REC]=OFF ;
255: ;
256: !Reset OK To Run FINAL Torque ;
257: DO[42:UDEF RBT OUT 2]=OFF ;
258: ;
259: !Abort Selected - Skip Quality ;
260: IF DI[6:MAINT RQST PLC]=ON,JMP LBL[14] ;
261: ;
262: !Turn ON Robot in Loop ;
263: DO[24:RBT IN LOOP]=ON ;
264: ;
265: !Check For No Calculate Error ;
266: WAIT R[90:VISION ERROR]=0 ;
267: ;
268: !Turn OFF Robot in Loop ;
269: DO[24:RBT IN LOOP]=OFF ;
270: ;
271: !Turn ON BlowOff 1 ;
272: BLOW OFF 1 ;
273: ;
274: !Open Grippers ;
275: OPEN GRIPPER1 ;
276: ;
277: !Move To Door Flush Position ;
278:L P[4:flush] 500mm/sec FINE ;
279: ;
280: !Extend MH Flushness Slide ;
281: CLOSE GRIPPER2 ;
282: ;
283: !Turn ON Vacuum 2 ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 64 of 133


284: VACUUM 2 ON ;
285: ;
286: !Turn ON Robot in Loop ;
287: DO[24:RBT IN LOOP]=ON ;
288: ;
289: !Grippers Open ;
290: WAIT DI[73:CLMP 1 OPENED]=ON ;
291: ;
292: !MH Flush Slide Advanced ;
293: WAIT DI[76:CLMP 2 CLOSED]=ON ;
294: ;
295: !Wait for Vacuum 2 ON ;
296: WAIT DI[90:CLMP 9 CLOSED]=ON ;
297: ;
298: !Turn OFF Robot in Loop ;
299: DO[24:RBT IN LOOP]=OFF ;
300: ;
301: !Set At Measure 4 Position ;
302: DO[340:MEASURE PT 1]=ON ;
303: ;
304: !******************************** ;
305: !VISION Quality Measure ;
306: !******************************** ;
307: ;
308: !(Model 1=4DR, Model 2=5DR) ;
309: R[58:MODEL]=1 ;
310: R[59:PROCESS]=4 ;
311: ;
312: !THIS IS ONLY AN EXAMPLE ;
312: !THIS ROUTINE CALLS VISION ;
312: !TP PROGRAM TO SET VISION ;
312: !Call Quality Check Routine ;
312: !(IF APPLICABLE) ;
313: CALL VISIONQCCK ;
314: ;
315: !Reset At Set Down Position ;
316: DO[59:RBT AT DRP OFF 1]=OFF ;
317: ;
318: !Reset Loaded To Average ;
319: DO[350:LOAD2AVERAGE]=OFF ;
320: ;
321: JMP LBL[15] ;
322: ;
323: LBL[14:ABORT] ;
324: ;
325: DO[45:UDEF RBT OUT 5]=ON ;
326: ;
327: LBL[15] ;
328: ;
329: TIMER[7]=STOP ;
330: TIMER[8]=RESET ;
331: TIMER[8]=START ;
332: ;
333: ;
334: !Turn ON BlowOff ;
335: BLOW OFF 1 ;
336: BLOW OFF 2 ;
337: BLOW OFF 3 ;
338: ;
339: !Open Grippers ;
340: OPEN GRIPPER1 ;
341: ;
342: !Turn ON Robot in Loop ;
343: DO[24:RBT IN LOOP]=ON ;
344: ;
345: !Wait For Blowoff Complete ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 65 of 133


346: WAIT DI[87:CLMP 8 OPENED]=ON ;
347: WAIT DI[89:CLMP 9 OPENED]=ON ;
348: WAIT DI[91:CLMP 10 OPENED]=ON ;
349: ;
350: !Turn OFF Robot in Loop ;
351: DO[24:RBT IN LOOP]=OFF ;
352: ;
353: !Return MH Flush Slide ;
354: OPEN GRIPPER2 ;
355: ;
356: !Return RR Door Flush Slide ;
357: OPEN GRIPPER4 ;
358: ;
359: !Turn ON Robot in Loop ;
360: DO[24:RBT IN LOOP]=ON ;
361: ;
362: !Grippers Open ;
363: WAIT DI[73:CLMP 1 OPENED]=ON ;
364: ;
365: !Setdown Complete ;
366: WAIT DI[59:SET DOWN COMP 1]=ON ;
367: ;
368: !Turn OFF Robot in Loop ;
369: DO[24:RBT IN LOOP]=OFF ;
370: ;
371: DO[337:VS SYSTEM COMPL]=OFF ;
372: ;
373: !Enter ZONE 10 W/R1 AND R3 ZONE10 ;
374: ENTER ZONE(10) ;
375: ;
376: !Set Payload To W/O Part ;
377: PAYLOAD[2] ;
378: ;
379: !Move Above Dropoff Position ;
380:L P[5:aftdrop] 1000mm/sec CNT5 ;
381: ;
382: !Turn ON Robot in Loop ;
383: DO[24:RBT IN LOOP]=ON ;
384: ;
385: !MH Flush Slide Returned ;
386: WAIT DI[75:CLMP 2 OPENED]=ON ;
387: ;
388: !RR Door Flush Slide Returned ;
389: WAIT DI[79:CLMP 4 OPENED]=ON ;
390: ;
391: !Turn OFF Robot in Loop ;
392: DO[24:RBT IN LOOP]=OFF ;
393: ;
394: !Reset Measure 4 Position ;
395: DO[340:MEASURE PT 1]=OFF ;
396: ;
397: !Reset Vision Process Complete ;
398: DO[344:VISION OFFSET REC]=OFF ;
399: ;
400: !Reset Active Robot UFRAME Number ;
401: UFRAME_NUM=0 ;
402: ;
403: !Move Away from Drop ;
404:L P[6:via1] 1500mm/sec CNT20 ;
405: ;
406: !Turn ON Robot in Loop ;
407: DO[24:RBT IN LOOP]=ON ;
408: ;
409: !Part Release ;
410: WAIT DI[97:PART RELEASED]=ON ;
411: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 66 of 133


412: !Turn OFF Robot in Loop ;
413: DO[24:RBT IN LOOP]=OFF ;
414: ;
415: !Move Clear of Transfer ;
416:L P[7:via2] 2000mm/sec CNT50 ;
417:J P[8:w84body] 100% CNT5 ;
418: ;
419: !Exit ZONE 10 W/R1 AND R3 ZONE10 ;
420: EXIT ZONE(10) ;
421: ;
422: !Exit ZONE 2 W/Station Table ;
423: EXIT ZONE(2) ;
424: ;
425: ;
426: TIMER[8]=STOP ;
427: ;
428: TIMER[9]=RESET ;
429: TIMER[9]=START ;
430: ;
431: TIMER[10]=STOP ;
432: ;
433: ;
434: !Clr to Adv Xfer ;
435: DO[954:CLRTOADVXFR]=ON ;
436: !Clr to Ret Xfer ;
437: DO[955:CLRTORETXFR]=ON ;
438: !Clr to Unclamp ;
439: DO[956:CLRTOUNCLMP]=ON ;
440: ;
441: !Move Clear ;
442:J P[9:via3] 100% CNT50 ;
443:J P[10:via4] 100% CNT50 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 67 of 133


1.17 BEST FIT SUB-PROGRAM (VISIONFINE.TP)
/PROG VISIONFINE
/ATTR
OWNER = MNEDITOR;
COMMENT = "VISION FINE FIT";
PROG_SIZE = 1774;
CREATE = DATE 10-08-06 TIME 10:08:18;
MODIFIED = DATE 10-11-16 TIME 10:43:52;
FILE_NAME = VISIONFINE;
VERSION = 0;
LINE_COUNT = 75;
MEMORY_SIZE = 2278;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
DISPENSE : TRUE ;
/MN
1: !THIS PROGRAM PERFORMS VISION DOOR ;
2: ! FINE BEST FIT ;
3: ;
4: !STORE CURRENT FRAME NUMBER ;
5: R[50:NumVisionOffset]=($MNUFRAMENUM[1]) ;
6: ;
7: !BYPASS FINE FIT THEN LOAD2AVG ;
8: IF DI[350:OK2LOAD2AVERAGE]=ON OR DI[1018:LOAD TO
AVERAGE]=ON,JMP LBL[8] ;
9: ;
10: !BYPASS VISION VISION ;
11: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[10] ;
12: ;
12: !Reconnect enet vision;
12: !Instead of autoreconnect;
12: CALL EN_ONLN(27);
12: ;
13: !ARRAY 1/2: ACTION ;
14: !ARRAY 3: MODEL ;
15: !ARRAY 4: PROCESS ;
16: !ARRAY 5: NUMBER OF RETRIES ;
17: !ARRAY 6: UFRAME USED ;
18: ;
19: !THIS IS ONLY AN EXAMPLE ;
19: !THIS ROUTINE CALLS VISION ;
19: !TP PROGRAM TO SET VISION ;
19: !ACTION "CONNECT TO VISION" ;
19: !(IF APPLICABLE) ;
20: CALL
VISION(4,1,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
21: ;
22: !VISION MEASURE FAULT ;
23: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
24: ;
25: !THIS IS ONLY AN EXAMPLE ;
25: !THIS ROUTINE CALLS VISION ;
25: !TP PROGRAM TO SET VISION ;
25: !ACTION "SET LIMITS" ;
25: !(IF APPLICABLE) ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 68 of 133


26: CALL
VISION(1,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
27: ;
28: !VISION MEASURE FAULT ;
29: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
30: ;
31: !THIS IS ONLY AN EXAMPLE ;
31: !THIS ROUTINE CALLS VISION ;
31: !TP PROGRAM TO SET VISION ;
31: !ACTION "CORRECTION FITTING" ;
31: !(IF APPLICABLE) ;
32: CALL
VISION(2,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
33: ;
34: !VISION MEASURE FAULT ;
35: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
36: ;
37: !FITTING COMPLETE ;
38: JMP LBL[9] ;
39: ;
40: LBL[1:VISION FAULT] ;
41: ;
42: !INCREMENT RETRY REGISTER ;
43: R[51:VISION RETRY]=R[51:VISION RETRY]+1 ;
44: ;
45: !DISPLAY ALARM MESSAGE ;
46: UALM[93] ;
47: ;
48: !MOVE ERROR CODE TO STORAGE ;
49: R[93:VISFINE_ERRSTORE]=R[90:VISION ERROR] ;
50: ;
51: !CONTINUE AND EXIT ;
52: JMP LBL[13] ;
53: ;
54: LBL[8:LOAD2AVG] ;
55: ;
56: !SET LOADED TO FINE AVERAGE ;
57: DO[350:LOAD2AVERAGE]=ON ;
58: ;
59: !FITTING COMPLETE ;
60: JMP LBL[9] ;
61: ;
62: LBL[10:AUTOREPEAT] ;
63: ;
64: !SIMULATE VISION FITTING TIME ;
65: WAIT 3.00(sec) ;
66: ;
67: LBL[9:COMPLETE] ;
68: ;
69: !SET VISION OFFSET RECIEVED ;
70: DO[344:VISION OFFSET REC]=ON ;
71: ;
72: LBL[13:CONTINUE] ;
73: ;
74: !THIS IS ONLY AN EXAMPLE ;
74: !THIS ROUTINE CALLS VISION ;
74: !TP PROGRAM TO SET VISION ;
74: !ACTION "DISCONNECT FROM VISION" ;
74: !(IF APPLICABLE) ;
75: CALL VISION_DISCO ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 69 of 133


1.18 BEST FIT SUB-PROGRAM (VISIONPICK.TP)
/PROG VISIONPICK
/ATTR
OWNER = MNEDITOR;
COMMENT = "VISION PICK FIT";
PROG_SIZE = 1568;
CREATE = DATE 10-08-06 TIME 10:52:22;
MODIFIED = DATE 10-11-16 TIME 10:44:00;
FILE_NAME = VISIONPICK;
VERSION = 0;
LINE_COUNT = 64;
MEMORY_SIZE = 2116;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
DISPENSE : TRUE ;
/MN
1: !THIS PROGRAM PERFORMS VISION DOOR ;
2: ! PICKUP BEST FIT ;
3: ;
4: !STORE CURRENT FRAME NUMBER ;
5: R[50:NumVisionOffset]=($MNUFRAMENUM[1]) ;
6: ;
7: !BYPASS VISION VISION ;
8: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[10] ;
9: ;
10: !Reconnect enet vision;
10: !instead of autoreconnect;
10: CALL EN_ONLN(27);
10: ;
10: !ARRAY 1/2: ACTION ;
11: !ARRAY 3: MODEL ;
12: !ARRAY 4: PROCESS ;
13: !ARRAY 5: NUMBER OF RETRIES ;
14: !ARRAY 6: UFRAME USED ;
15: ;
16: !THIS IS ONLY AN EXAMPLE ;
16: !THIS ROUTINE CALLS VISION ;
16: !TP PROGRAM TO SET VISION ;
16: !ACTION "CONNECT TO VISION" ;
16: !(IF APPLICABLE) ;
17: CALL
VISION(4,1,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
18: ;
19: !VISION MEASURE FAULT ;
20: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
21: ;
22: !THIS IS ONLY AN EXAMPLE ;
22: !THIS ROUTINE CALLS VISION ;
22: !TP PROGRAM TO SET VISION ;
22: !ACTION "SET LIMITS" ;
22: !(IF APPLICABLE) ;
23: CALL
VISION(1,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
24: ;
25: !VISION MEASURE FAULT ;
26: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 70 of 133


27: ;
28: !THIS IS ONLY AN EXAMPLE ;
28: !THIS ROUTINE CALLS VISION ;
28: !TP PROGRAM TO SET VISION ;
28: !ACTION "CORRECTION FITTING" ;
28: !(IF APPLICABLE) ;
29: CALL
VISION(2,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
30: ;
31: !VISION MEASURE FAULT ;
32: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
33: ;
34: !FITTING COMPLETE ;
35: JMP LBL[9] ;
36: ;
37: LBL[1:VISION FAULT] ;
38: ;
39: !INCREMENT RETRY REGISTER ;
40: R[51:VISION RETRY]=R[51:VISION RETRY]+1 ;
41: ;
42: !DISPLAY ALARM MESSAGE ;
43: UALM[91] ;
44: ;
45: !MOVE ERROR CODE TO STORAGE ;
46: R[91:VISPICKERRSTORE]=R[90:VISION ERROR] ;
47: ;
48: !CONTINUE AND EXIT ;
49: JMP LBL[13] ;
50: ;
51: LBL[10:AUTOREPEAT] ;
52: ;
53: !SIMULATE VISION FITTING TIME ;
54: WAIT 3.00(sec) ;
55: ;
56: LBL[9:COMPLETE] ;
57: ;
58: !SET VISION OFFSET RECIEVED ;
59: DO[344:VISION OFFSET REC]=ON ;
60: ;
61: LBL[13:CONTINUE] ;
62: ;
63: !THIS IS ONLY AN EXAMPLE ;
63: !THIS ROUTINE CALLS VISION ;
63: !TP PROGRAM TO SET VISION ;
63: !ACTION "DISCONNECT FROM VISION" ;
63: !(IF APPLICABLE) ;
64: CALL VISION_DISCO ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 71 of 133


1.19 BEST FIT SUB-PROGRAM (ABORTPICKUP.TP)
/PROG ABORTPICKUP
/ATTR
OWNER = MNEDITOR;
COMMENT = "ABORT PICK UP";
PROG_SIZE = 1777;
CREATE = DATE 10-07-21 TIME 05:33:34;
MODIFIED = DATE 10-11-16 TIME 10:56:10;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 60;
MEMORY_SIZE = 2033;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Abort Pickup Path ;
3: !FORD Program ;
4: !******************************** ;
5: ;
6: !Set Payload To W/O Part ;
7: PAYLOAD[2] ;
8: ;
9: UTOOL_NUM=9 ;
10: UFRAME_NUM=0 ;
11: ;
12: !Reset Measure 1 Position ;
13: DO[340:MEASURE PT 1]=OFF ;
14: ;
15: !Turn ON BlowOff 1 ;
16: BLOW OFF 1 ;
17: ;
18: !Open Grippers ;
19: OPEN GRIPPER1 ;
20: ;
21: !Turn ON Robot in Loop ;
22: DO[24:RBT IN LOOP]=ON ;
23: ;
24: !Wait for Grippers Open ;
25: WAIT DI[73:CLMP 1 OPENED]=ON ;
26: ;
27: !Wait For Blowoff 1 Complete ;
28: WAIT DI[87:CLMP 8 OPENED]=ON ;
29: ;
30: !Turn OFF Robot in Loop ;
31: DO[24:RBT IN LOOP]=OFF ;
32: ;
33: !Reset At Pickup Position ;
34: DO[49:RBT @ PKUP POS 1]=OFF ;
35: ;
36: !Move Above Pickup ;
37:L P[1:prepick] 500mm/sec FINE ;
38: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 72 of 133


39: !Turn ON Robot in Loop ;
40: DO[24:RBT IN LOOP]=ON ;
41: ;
42: !Check for No Part Present ;
43: WAIT DI[67:PART PRESENT 1]=OFF ;
44: ;
45: !Turn OFF Robot in Loop ;
46: DO[24:RBT IN LOOP]=OFF ;
47: ;
48:L P[2:via1] 1000mm/sec CNT5 ;
49:L P[3:via2] 1000mm/sec CNT10 ;
50: ;
51: !Move to Pounce ;
52: GO TO POUNCE ;
53: ;
54: !Return to Home ;
55: GO TO HOME POS ;
56: ;
57: !******************************** ;
58: !ABORT CURRENT STYLE ;
59: !******************************** ;
60: ABORT ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 73 of 133


1.20 BEST FIT SUB-PROGRAM (VISIONROUGH.TP)
/PROG VISIONROUGH
/ATTR
OWNER = MNEDITOR;
COMMENT = "VISION ROUGH FIT";
PROG_SIZE = 1770;
CREATE = DATE 10-08-06 TIME 10:50:58;
MODIFIED = DATE 10-11-16 TIME 10:44:10;
FILE_NAME = VISIONROUG;
VERSION = 0;
LINE_COUNT = 74;
MEMORY_SIZE = 2278;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
DISPENSE : TRUE ;
/MN
1: !THIS PROGRAM PERFORMS VISION DOOR ;
2: ! ROUGH BEST FIT ;
3: ;
4: !STORE CURRENT FRAME NUMBER ;
5: R[50:NumVisionOffset]=($MNUFRAMENUM[1]) ;
6: ;
7: !BYPASS ROUGH FIT THEN LOAD2AVG ;
8: IF DI[350:OK2LOAD2AVERAGE]=ON OR DI[1018:LOAD TO
AVERAGE]=ON,JMP LBL[8] ;
9: ;
10: !BYPASS VISION VISION ;
11: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[10] ;
12: ;
12: !Reconnect enet vision;
12: !instead of autoreconnect;
12: CALL EN_ONLN(27);
12: ;
13: !ARRAY 1/2: ACTION ;
14: !ARRAY 3: MODEL ;
15: !ARRAY 4: PROCESS ;
16: !ARRAY 5: NUMBER OF RETRIES ;
17: !ARRAY 6: UFRAME USED ;
18: ;
19: !THIS IS ONLY AN EXAMPLE ;
19: !THIS ROUTINE CALLS VISION ;
19: !TP PROGRAM TO SET VISION ;
19: !ACTION "CONNECT TO VISION" ;
19: !(IF APPLICABLE) ;
20: CALL
VISION(4,1,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
21: ;
22: !VISION MEASURE FAULT ;
23: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
24: ;
25: !THIS IS ONLY AN EXAMPLE ;
25: !THIS ROUTINE CALLS VISION ;
25: !TP PROGRAM TO SET VISION ;
25: !ACTION "SET LIMITS" ;
25: !(IF APPLICABLE) ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 74 of 133


26: CALL
VISION(1,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
27: ;
28: !VISION MEASURE FAULT ;
29: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
30: ;
30: !THIS IS ONLY AN EXAMPLE ;
30: !THIS ROUTINE CALLS VISION ;
30: !TP PROGRAM TO SET VISION ;
30: !ACTION "CORRECTION FITTING" ;
31: !(IF APPLICABLE) ;
32: CALL
VISION(2,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
33: ;
34: !VISION MEASURE FAULT ;
35: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
36: ;
37: !FITTING COMPLETE ;
38: JMP LBL[9] ;
39: ;
40: LBL[1:VISION FAULT] ;
41: ;
42: !INCREMENT RETRY REGISTER ;
43: R[51:VISION RETRY]=R[51:VISION RETRY]+1 ;
44: ;
45: !DISPLAY ALARM MESSAGE ;
46: UALM[92] ;
47: ;
48: !MOVE ERROR CODE TO STORAGE ;
49: R[92:VISROUGHERRSTORE]=R[90:VISION ERROR] ;
50: ;
51: !CONTINUE AND EXIT ;
52: JMP LBL[13] ;
53: ;
54: LBL[8:LOAD2AVG] ;
55: ;
56: !USE FINE FIT AVERAGE TO SET DOOR ;
57: ;
58: !FITTING COMPLETE ;
59: JMP LBL[9] ;
60: ;
61: LBL[10:AUTOREPEAT] ;
62: ;
63: !SIMULATE VISION FITTING TIME ;
64: WAIT 2.00(sec) ;
65: ;
66: LBL[9:COMPLETE] ;
67: ;
68: !SET VISION OFFSET RECIEVED ;
69: DO[344:VISION OFFSET REC]=ON ;
70: ;
71: LBL[13:CONTINUE] ;
72: ;
73: !ACTION "DISCONNECT FROM VISION" ;
74: CALL VISION_DISCO ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 75 of 133


1.21 BEST FIT SUB-PROGRAM (ABORTDROPOFF.TP)
/PROG ABORTDROPOFF
/ATTR
OWNER = MNEDITOR;
COMMENT = "ABORT DROP OFF";
PROG_SIZE = 2045;
CREATE = DATE 11-02-25 TIME 18:05:20;
MODIFIED = DATE 11-02-25 TIME 18:05:20;
FILE_NAME = ABORTDRO;
VERSION = 0;
LINE_COUNT = 64;
MEMORY_SIZE = 2413;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
SPOT Welding Equipment Number : 1 ;
CYCLE_REFERENCE = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
CYCLE_TARGET = 0.00 ;
/MN
1: !******************************** ;
2: !Abort Dropoff Path From Rough ;
3: !FORD Program ;
4: !******************************** ;
5: ;
6: !Set Payload To W/Part ;
7: PAYLOAD[3] ;
8: ;
9: UTOOL_NUM=9 ;
10: UFRAME_NUM=0 ;
11: ;
12: !Enter ZONE 10 W/R1 AND R3 ZONE10 ;
13: ENTER ZONE(10) ;
14: ;
15: !Enter ZONE 2 W/Station Table ;
16: ENTER ZONE(2) ;
17: ;
18: !Turn OFF Robot in Loop ;
19: DO[24:RBT IN LOOP]=OFF ;
20: ;
21: !Move Away From Body ;
22:L P[1:rough_fit] 800mm/sec CNT5 ;
23:L P[2:w84body] 1500mm/sec CNT20 ;
24:J P[3:via1] 80% CNT50 ;
25:J P[4:via2] 80% CNT50 ;
26:J P[5:via3] 80% CNT50 ;
27: ;
28: !Return Home ;
29: GO TO HOME POS ;
30: ;
31: !Turn ON BlowOff ;
32: BLOW OFF 3 ;
33: ;
34: !Turn ON Robot in Loop ;
35: DO[24:RBT IN LOOP]=ON ;
36: ;
37: !Wait For Blowoff 3 Complete ;
38: WAIT DI[91:CLMP 10 OPENED]=ON ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 76 of 133


39: ;
40: !Turn OFF Robot in Loop ;
41: DO[24:RBT IN LOOP]=OFF ;
42: ;
43: !Return MH Flush Slide ;
44: OPEN GRIPPER2 ;
45: ;
46: !Return RR Door Flush Slide ;
47: OPEN GRIPPER4 ;
48: ;
49: !Turn ON Robot in Loop ;
50: DO[24:RBT IN LOOP]=ON ;
51: ;
52: !MH Flush Slide Returned ;
53: WAIT DI[75:CLMP 2 OPENED]=ON ;
54: ;
55: !RR Door Flush Slide Returned ;
56: WAIT DI[79:CLMP 4 OPENED]=ON ;
57: ;
58: !Turn OFF Robot in Loop ;
59: DO[24:RBT IN LOOP]=OFF ;
60: ;
61: !******************************** ;
62: !ABORT CURRENT STYLE ;
63: !******************************** ;
64: ABORT ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 77 of 133


1.22 BEST FIT SUB-PROGRAM (VISIONQCCK.TP)
/PROG VISIONQCCK
/ATTR
OWNER = MNEDITOR;
COMMENT = "VISION QUALITY CHK";
PROG_SIZE = 1428;
CREATE = DATE 10-07-23 TIME 10:17:44;
MODIFIED = DATE 10-11-16 TIME 10:44:04;
FILE_NAME = VISIONDECK;
VERSION = 0;
LINE_COUNT = 58;
MEMORY_SIZE = 1872;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 1200,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
DISPENSE : TRUE ;
/MN
1: !THIS PROGRAM PERFORMS VISION DOOR ;
2: ! QUALITY CHECK ;
3: ;
4: !STORE CURRENT FRAME NUMBER ;
5: R[50:NumVisionOffset]=($MNUFRAMENUM[1]) ;
6: ;
7: !BYPASS VISION VISION ;
8: IF DI[350:OK2LOAD2AVERAGE]=ON OR DI[1018:LOAD TO
AVERAGE]=ON,JMP LBL[9] ;
9: ;
10: !BYPASS VISION VISION ;
11: IF DI[10:AUTO REPEAT MD]=ON,JMP LBL[10] ;
12: ;
12: !Reconnect enet vision;
12: !instead of autoreconnect;
12: CALL EN_ONLN(27);
12: ;
13: !ARRAY 1/2: ACTION ;
14: !ARRAY 3: MODEL ;
15: !ARRAY 4: PROCESS ;
16: !ARRAY 5: NUMBER OF RETRIES ;
17: !ARRAY 6: UFRAME USED ;
18: ;
19: !THIS IS ONLY AN EXAMPLE ;
19: !THIS ROUTINE CALLS VISION ;
19: !TP PROGRAM TO SET VISION ;
19: !ACTION "CONNECT TO VISION" ;
19: !(IF APPLICABLE) ;
20: CALL
VISION(4,1,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
21: ;
22: !VISION MEASURE FAULT ;
23: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
24: ;
25: !THIS IS ONLY AN EXAMPLE ;
25: !THIS ROUTINE CALLS VISION ;
25: !TP PROGRAM TO SET VISION ;
25: !ACTION "MEASURE FITTING" ;
25: !(IF APPLICABLE) ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 78 of 133


26: CALL
VISION(3,3,R[58:MODEL],R[59:PROCESS],1,R[50:NumVisionOffset]) ;
27: ;
28: !VISION MEASURE FAULT ;
29: IF R[90:VISION ERROR]<>0,JMP LBL[1] ;
30: ;
31: !MEASURE COMPLETE ;
32: JMP LBL[9] ;
33: ;
34: LBL[1:VISION FAULT] ;
35: ;
36: !DISPLAY ALARM MESSAGE ;
37: UALM[94] ;
38: ;
39: !MOVE ERROR CODE TO STORAGE ;
40: R[94:VISQCCKERRSTORE]=R[90:VISION ERROR] ;
41: ;
42: !MEASURE COMPLETE ;
43: JMP LBL[9] ;
44: ;
45: LBL[10:AUTOREPEAT] ;
46: ;
47: !SIMULATE VISION FITTING TIME ;
48: WAIT 1.00(sec) ;
49: ;
50: LBL[9:COMPLETE] ;
51: ;
52: !SET VISION OFFSET RECIEVED ;
53: DO[344:VISION OFFSET REC]=ON ;
54: ;
55: LBL[13:CONTINUE] ;
56: ;
57: !THIS IS ONLY AN EXAMPLE ;
57: !THIS ROUTINE CALLS VISION ;
57: !TP PROGRAM TO SET VISION ;
57: !ACTION "DISCONNECT FROM VISION" ;
57: !(IF APPLICABLE) ;
58: CALL VISION_DISCO ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 79 of 133


1.23 HOME_IO – Reset Input/Output MACRO
/PROG HOME_IO Macro
/ATTR
OWNER = ASCBIN;
COMMENT = "SET AT HOME I-O";
PROG_SIZE = 1858;
CREATE = DATE 10-02-23 TIME 06:58:08;
MODIFIED = DATE 10-10-05 TIME 08:39:56;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 98;
MEMORY_SIZE = 2226;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 60,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 1,
ABORT_REQUEST = 7,
PAUSE_REQUEST = 3;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !******************************** ;
2: !MACRO SET AT HOME I-O ;
3: ! ;
4: !Also runs Automatically when ;
5: ! robot goes from non-home pos ;
6: ! to home pos ;
7: ! ;
8: ! NOTE: This program has NO ;
9: ! GP[1:robot] and ;
10: ! GP[2:servogun] motion ;
11: !***************************** ;
12: ;
13: !CLR TO ADV. TRANSFER ;
14: DO[954:CLRTOADVXFR]=ON ;
15: ;
16: !CLR TO RET. TRANSFER ;
17: DO[955:CLRTORETXFR]=ON ;
18: ;
19: !CLEAR TO UNCLAMP ;
20: DO[956:CLRTOUNCLMP]=ON ;
21: ;
22: ;
23: !ROBOT USER DEFINE OFF ;
24: DO[41:UDEF RBT OUT 1]=OFF ;
25: DO[42:UDEF RBT OUT 2]=OFF ;
26: DO[43:UDEF RBT OUT 3]=OFF ;
27: DO[44:UDEF RBT OUT 4]=OFF ;
28: DO[45:UDEF RBT OUT 5]=OFF ;
29: DO[46:UDEF RBT OUT 6]=OFF ;
30: DO[47:UDEF RBT OUT 7]=OFF ;
31: DO[48:UDEF RBT OUT 8]=OFF ;
32: ;
33: ;
34: !RESET FAULT RESET ;
35: DO[959:FAULTRESET]=OFF ;
36: ;
37: ;
38: !RESET ROBOT LOOP ;
39: DO[24:RBT IN LOOP]=OFF ;
40: DO[977:WTRSVRPULSRST]=OFF ;
41: DO[963:PRGRM FLT]=OFF ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 80 of 133


42: ;
43: !AT REPAIR OFF ;
44: DO[6:RBT AT MAINT]=OFF ;
44: DO[587:RBT AT MINMAINT]=OFF ;
45: ;
46: ;
47: !RESET PICKUP POS ;
48: DO[49:RBT @ PKUP POS 1]=OFF ;
49: DO[59:RBT AT DRP OFF 1]=OFF ;
50: DO[50:RBT @ PKUP POS 2]=OFF ;
51: DO[60:RBT AT DRP OFF 2]=OFF ;
52: DO[51:RBT @ PKUP POS 3]=OFF ;
53: DO[61:RBT AT DRP OFF 3]=OFF ;
54: DO[52:RBT @ PKUP POS 4]=OFF ;
55: DO[62:RBT AT DRP OFF 4]=OFF ;
56: ;
57: ;
58: !RESET WRK POS ;
59: DO[177:MDL WRK POS 1]=OFF ;
60: DO[178:MDL WRK POS 2]=OFF ;
61: DO[179:MDL WRK POS 3]=OFF ;
62: DO[180:MDL WRK POS 4]=OFF ;
63: DO[181:MDL WRK POS 5]=OFF ;
64: DO[182:MDL WRK POS 6]=OFF ;
65: DO[183:MDL WRK POS 7]=OFF ;
66: DO[184:MDL WRK POS 8]=OFF ;
67: ;
69: !CLEAR EXIT ZONES ;
70: DO[900:CLROFZONE1]=ON ;
71: DO[901:CLROFZONE2]=ON ;
72: DO[902:CLROFZONE3]=ON ;
73: DO[903:CLROFZONE4]=ON ;
74: DO[904:CLROFZONE5]=ON ;
75: DO[905:CLROFZONE6]=ON ;
76: DO[906:CLROFZONE7]=ON ;
77: DO[907:CLROFZONE8]=ON ;
78: DO[908:CLROFZONE9]=ON ;
79: DO[909:CLROFZONE10]=ON ;
80: DO[910:CLROFZONE11]=ON ;
81: DO[911:CLROFZONE12]=ON ;
82: DO[912:CLROFZONE13]=ON ;
83: DO[933:CLROFZONE14]=ON ;
84: ;
85: !SET NUMBER RESET = ;
86: ! (3) RETRIES ;
87: CALL WELD1DIS ;
88: ;
89: !PEDESTAL APPLICATION ONLY ;
90: DO[971:PEDDMPAPP]=ON ;
91: ;
92: !Turn ON Weld Mode ;
93: DO[115:WELD/NO WELD MD]=OFF ;
94: ;
95: ! Reset the register that holds ;
96: ! the program number to run ;
97: R[153:ProgSelNum]=0 ;
98: ;
99: !Reconnect enet vision;
100: !instead of autoreconnect;
101: CALL EN_ONLN(27);
102: ;
/POS
/END;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 81 of 133


2 Software I/F Panel

2.1 Vision Menu Interface

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 82 of 133


2.2 Rack Menu Interface
Rack#1 = R[121: Rack#1 Part Count]
Rack#2 = R[122: Rack#2 Part Count]
Rack#3 = R[123: Rack#3 Part Count]
Rack#4 = R[124: Rack#4 Part Count]
Rack#5 = R[125: Rack#5 Part Count]
Rack#6 = R[126: Rack#6 Part Count]
Select Rack Number = R[119: Select Rack Number]
Manually Enter Part Count = R[120: Manually ENTER Part Count]

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 83 of 133


3 Ethernet Settings
Ethernet communications settings are not preinstalled on the robot for vision systems. The
integrator must setup the Ethernet communication settings for the vision system.

3.1 Digital Input Configuration Settings for Teledyne Dalsa


Cameras
The starting point for digital inputs for Teledyne Dalsa cameras must be modified according
to the table below.

Table 1: Teledyne Dalsa Cameras Digital Input Configuration Settings


RANGE RACK SLOT START
DI[ 793- 800] 89 27 33
DI[ 801- 808] 89 27 41
DI[ 809- 816] 89 27 49
DI[ 817- 824] 89 27 57
DI[ 825- 832] 89 27 65
DI[ 833- 840] 89 27 73
DI[ 841- 848] 89 27 81

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 84 of 133


4 Perceptron Vision
Perceptron vision settings are not preinstalled on the robot. The integrator must setup the
communications with Perceptron.

All related setup and macro programs are provided by Perceptron.

4.1 Perceptron Setup


The initial setup is done by running COMM_SETUP.PC. This will setup the socket
messaging.

Verify the setup by viewing the Clients from Host Comm setup. An example of the clients
after setup is as follows:

When COMM_SETUP.PC is run it populates values in the system variable $HOSTC_CFG.


Change the $SERVER_PORT value to match Perceptron configuration. The Server Port will
be different for each robot. This example has the port set for 1235:

Create a host for the Perceptron PC under TCP/IP setup. Set the IP address to that of the PC.
This example shows a host entry for “PRCP PC”:

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 85 of 133


Each robot has a unique slot number under Ethernet/IP settings. In this example Robot 1 is
assigned VISION1, Robot 2 as VISION2, etc.

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 86 of 133


Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 87 of 133
Each robot has a different input/output assembly instance. The values are determined by
perceptron.

The advanced scanner configuration must be set to 8-bit bytes as shown below:

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 88 of 133


Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 89 of 133
4.2 Perceptron Programs

4.2.1 COMM_SETUP.PC
This program does the initial setup of the communications, data registers, and position
registers.

4.2.2 PRCPCOMM.PC
This program is used by the macros for communicating with the Perceptron PC.

For example in the FSTPOSE.TP program PRCPCOMM is called like this:

18: LBL[1:SEND COMMAND] ;


19: R[174:MODE ID]=100 ;
20: MESSAGE[SEND SET ROBOT POSE] ;
21: CALL PRCPCOMM(27,AR[1],174) ;

The number of parameters to PRCPCOMM can vary based on the command that is sent to
PRCPCOMM. Refer to the macros or contact Perceptron for specifics.

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 90 of 133


4.2.3 FCANCEL – Macro
/PROG FCANCEL Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC CANCEL CYCLE";
PROG_SIZE = 1803;
CREATE = DATE 11-09-13 TIME 10:52:12;
MODIFIED = DATE 11-09-13 TIME 10:52:12;
FILE_NAME = END_CYC;
VERSION = 0;
LINE_COUNT = 72;
MEMORY_SIZE = 2283;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !CANCEL CYCLE COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !WAITS UP TO 2 SECONDS FOR REPLY ;
4: !PRCPCOMM RETIRES UP TO 3 TIMES ;
5: !STATUS - IN MACRO CALL R[160] ;
6: !STATUS - COMM FAULT R[161] ;
7: !STATUS - COMMAND NAK R[162] ;
8: !STATUS - EXECUTE CANCEL R[163] ;
9: !STATUS - RETRY COUNT R[177] ;
10: ;
11: !SET COMMAND PARAMETERS ;
12: R[160:PART ID DATA]=1 ;
13: R[161:PRCS ID FORMAT]=0 ;
14: R[162:PRCS ID NUMBER]=0 ;
15: R[163:PRCS ID DATA]=0 ;
16: R[177:SNSR NO ACTIVE]=0 ;
17: ;
18: LBL[1:SEND COMMAND] ;
19: R[174:MODE ID]=100 ;
20: MESSAGE[SEND CANCEL CYCLE] ;
21: CALL PRCPCOMM(1,174) ;
22: ;
23: LBL[2:CHECK RX STATUS] ;
24: !CHECK COMMAND REPLY STATUS ;
25: IF R[174:MODE ID]=0,JMP LBL[3] ;
26: IF R[174:MODE ID]=11,JMP LBL[110] ;
27: IF R[174:MODE ID]=12,JMP LBL[110] ;
28: IF R[174:MODE ID]=100,JMP LBL[4] ;
29: IF R[174:MODE ID]>100,JMP LBL[5] ;
30: JMP LBL[180] ;
31: ;
32: LBL[3:GOOD STATUS] ;
33: MESSAGE[PRCP CYCLE CANCELED] ;
34: JMP LBL[8] ;
35: ;
36: LBL[110:COMMAND SKIPPED] ;
37: MESSAGE[PRCP CANCEL SKIPPED] ;
38: JMP LBL[8] ;
39: ;
40: LBL[180:COMMAND ERROR] ;
41: MESSAGE[PRCP CANCEL ERROR] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 91 of 133


42: !ADD SPECIFIC ERROR BIT HERE ;
43: JMP LBL[7] ;
44: ;
45: LBL[4:INPUT ERROR] ;
46: MESSAGE[PRCP COMMAND SKIPPED] ;
47: MESSAGE[ERROR WITH CMD INPUTS] ;
48: JMP LBL[8] ;
49: ;
50: LBL[5:RETRY COUNT] ;
51: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
52: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
53: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
54: MESSAGE[RETRY COMMAND] ;
55: WAIT .40(sec) ;
56: JMP LBL[1] ;
57: ;
58: LBL[6:COMM FAULT] ;
59: MESSAGE[PRCP COMM FAULT] ;
60: R[161:PRCS ID FORMAT]=1 ;
61: !SET GENERIC COMM FAULT BIT ;
62: JMP LBL[8] ;
63: ;
64: LBL[7:COMMAND NAK] ;
65: !SET COMMAND NAK ERROR ;
66: R[162:PRCS ID NUMBER]=1 ;
67: !SET GENERIC NAK ERROR BIT ;
68: JMP LBL[8] ;
69: ;
70: LBL[8:RETURN] ;
71: R[160:PART ID DATA]=0 ;
72: !RESET PC STATUS BITS ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 92 of 133


4.2.4 FCLRREGS – Macro
/PROG FCLRREGS Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC CLEAR REGS";
PROG_SIZE = 790;
CREATE = DATE 11-09-13 TIME 11:07:52;
MODIFIED = DATE 11-09-13 TIME 14:42:50;
FILE_NAME = CLVPOS;
VERSION = 0;
LINE_COUNT = 38;
MEMORY_SIZE = 1138;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !CLEAR REGISTERS AND USER ;
2: !PRCPCOMM 200-0460 Rev D ;
3: ;
4: !RESET COMMAND PARAMS ;
5: R[160:PART ID DATA]=0 ;
6: R[161:PRCS ID FORMAT]=0 ;
7: R[162:PRCS ID NUMBER]=0 ;
8: R[163:PRCS ID DATA]=0 ;
9: R[164:PART TYPE ID]=0 ;
10: R[165:PHASE ID]=0 ;
11: R[166:SET ROUTINE]=0 ;
12: R[167:ROUTINE ID]=0 ;
13: R[168:POSITION ID]=0 ;
14: R[169:TIMEOUT]=0 ;
15: R[170:VELOCITY]=0 ;
16: R[171:FIXTURE ID]=0 ;
17: R[172:REFERENCE FRAME]=0 ;
18: R[173:OFFSET FRAME]=0 ;
19: R[174:MODE ID]=0 ;
20: R[175:SNSR FIND PRM]=0 ;
21: R[176:SNSR NO CNFGRD]=0 ;
22: R[177:SNSR NO ACTIVE]=0 ;
23: R[178:QRYCOMP STATUS]=0 ;
24: R[179:ALARM WORD 1]=0 ;
25: R[180:ALARM WORD 2]=0 ;
26: ;
27: !RESET OUTPUTS ;
28: ;
29: !CLEAR USER SCREEN ;
30: MESSAGE[...] ;
31: MESSAGE[...] ;
32: MESSAGE[...] ;
33: MESSAGE[...] ;
34: MESSAGE[...] ;
35: MESSAGE[...] ;
36: MESSAGE[...] ;
37: MESSAGE[...] ;
38: MESSAGE[...] ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 93 of 133


4.2.5 FCMDMCRS – Macro
/PROG FCMDMCRS Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC PRCPCOMM CMDS";
PROG_SIZE = 910;
CREATE = DATE 11-09-13 TIME 11:14:20;
MODIFIED = DATE 11-09-13 TIME 11:14:20;
FILE_NAME = PART_250;
VERSION = 0;
LINE_COUNT = 38;
MEMORY_SIZE = 1394;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !PC COMMAND MACROS ;
2: !PRCPCOMM 200-0460 Rev D ;
3: ;
4: !SAMPLE MACRO CALLS ;
5: CALL FCLRREGS ;
6: PAUSE ;
7: CALL FCANCEL ;
8: PAUSE ;
9: CALL FENDCYCL ;
10: PAUSE ;
11: CALL FENDSCAN(321,15) ;
12: PAUSE ;
13: CALL FGTFRAME(1,5,8) ;
14: PAUSE ;
15: CALL FGTFRMEX(1,5,8,0) ;
16: PAUSE ;
17: CALL FMEASPOS(123,3000) ;
18: PAUSE ;
19: CALL FRSTATUS ;
20: PAUSE ;
21: CALL FSCMPND ;
22: PAUSE ;
23: CALL FSTPOSE(123) ;
24: PAUSE ;
25: CALL FSTPSCAN ;
26: PAUSE ;
27: CALL FSTRTCYC(1) ;
28: PAUSE ;
29: CALL FSTRTSCN(321) ;
30: PAUSE ;
31: CALL FWTCYCLE(10000) ;
32: PAUSE ;
33: CALL FWTFRAME(3000,1,5,8) ;
34: PAUSE ;
35: CALL FWTFRMEX(3000,1,5,8,0) ;
36: PAUSE ;
37: CALL FWTSHIM(3000,1,5,8) ;
38: PAUSE ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 94 of 133


4.2.6 FENDCYCL – Macro
/PROG FENDCYCL Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC END CYCLE";
PROG_SIZE = 1866;
CREATE = DATE 11-09-13 TIME 11:16:56;
MODIFIED = DATE 11-09-13 TIME 11:47:54;
FILE_NAME = STAR_CYC;
VERSION = 0;
LINE_COUNT = 75;
MEMORY_SIZE = 2342;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !END CYCLE COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !WAITS UP TO 2 SECONDS FOR REPLY ;
4: !PRCPCOMM RETIRES UP TO 3 TIMES ;
5: !STATUS - IN MACRO CALL R[160] ;
6: !STATUS - COMM FAULT R[161] ;
7: !STATUS - COMMAND NAK R[162] ;
8: !STATUS - EXECUTE CANCEL R[163] ;
9: !STATUS - RETRY COUNT R[177] ;
10: ;
11: !SET COMMAND PARAMETERS ;
12: R[160:PART ID DATA]=1 ;
13: R[161:PRCS ID FORMAT]=0 ;
14: R[162:PRCS ID NUMBER]=0 ;
15: R[163:PRCS ID DATA]=0 ;
16: R[177:SNSR NO ACTIVE]=0 ;
17: ;
18: LBL[1:SEND COMMAND] ;
19: R[174:MODE ID]=100 ;
20: MESSAGE[SEND END CYCLE] ;
21: CALL PRCPCOMM(3,174) ;
22: ;
23: LBL[2:CHECK RX STATUS] ;
24: !CHECK COMMAND REPLY STATUS ;
25: IF R[174:MODE ID]=0,JMP LBL[3] ;
26: IF R[174:MODE ID]=5,JMP LBL[50] ;
27: IF R[174:MODE ID]=100,JMP LBL[4] ;
28: IF R[174:MODE ID]>100,JMP LBL[5] ;
29: JMP LBL[180] ;
30: ;
31: LBL[3:GOOD STATUS] ;
32: MESSAGE[PRCP CYCLE FINISHED] ;
33: !RESET IN CYCLE BIT ;
34: JMP LBL[8] ;
35: ;
36: LBL[50:OUT OF ORDER] ;
37: MESSAGE[PRCP END OUT OF ORDER] ;
38: R[163:PRCS ID DATA]=1 ;
39: !ADD SPECIFIC ERROR BIT HERE ;
40: JMP LBL[7] ;
41: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 95 of 133


42: LBL[180:COMMAND ERROR] ;
43: MESSAGE[PRCP END ERROR] ;
44: R[163:PRCS ID DATA]=1 ;
45: !ADD SPECIFIC ERROR BIT HERE ;
46: JMP LBL[7] ;
47: ;
48: LBL[4:INPUT ERROR] ;
49: MESSAGE[PRCP COMMAND SKIPPED] ;
50: MESSAGE[ERROR WITH CMD INPUTS] ;
51: JMP LBL[8] ;
52: ;
53: LBL[5:RETRY COUNT] ;
54: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
55: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
56: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
57: MESSAGE[RETRY COMMAND] ;
58: WAIT .40(sec) ;
59: JMP LBL[1] ;
60: ;
61: LBL[6:COMM FAULT] ;
62: MESSAGE[PRCP COMM FAULT] ;
63: R[161:PRCS ID FORMAT]=1 ;
64: !SET GENERIC COMM FAULT BIT ;
65: JMP LBL[8] ;
66: ;
67: LBL[7:COMMAND NAK] ;
68: !SET COMMAND NAK ERROR ;
69: R[162:PRCS ID NUMBER]=1 ;
70: !SET GENERIC NAK ERROR BIT ;
71: JMP LBL[8] ;
72: ;
73: LBL[8:RETURN] ;
74: IF R[163:PRCS ID DATA]=1,CALL FCANCEL ;
75: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 96 of 133


4.2.7 FENDSCAN – Macro
/PROG FENDSCAN Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC END SCAN";
PROG_SIZE = 2099;
CREATE = DATE 11-09-13 TIME 11:20:00;
MODIFIED = DATE 11-09-13 TIME 11:20:00;
FILE_NAME = END;
VERSION = 0;
LINE_COUNT = 85;
MEMORY_SIZE = 2527;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !END SCAN COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: !INPUT 2 - VELOCITY R[170] ;
5: !WAITS UP TO 2 SECONDS FOR REPLY ;
6: !PRCPCOMM RETIRES UP TO 3 TIMES ;
7: !STATUS - IN MACRO CALL R[160] ;
8: !STATUS - COMM FAULT R[161] ;
9: !STATUS - COMMAND NAK R[162] ;
10: !STATUS - RETRY COUNT R[177] ;
11: ;
12: !SET COMMAND PARAMETERS ;
13: R[160:PART ID DATA]=1 ;
14: R[161:PRCS ID FORMAT]=0 ;
15: R[162:PRCS ID NUMBER]=0 ;
16: R[177:SNSR NO ACTIVE]=0 ;
17: R[168:POSITION ID]=AR[1] ;
18: R[170:VELOCITY]=AR[2] ;
19: ;
20: LBL[1:SEND COMMAND] ;
21: R[174:MODE ID]=100 ;
22: MESSAGE[SEND END SCAN] ;
23: CALL PRCPCOMM(47,AR[1],AR[2],174) ;
24: ;
25: LBL[2:CHECK RX STATUS] ;
26: !CHECK COMMAND REPLY STATUS ;
27: IF R[174:MODE ID]=0,JMP LBL[3] ;
28: IF R[174:MODE ID]=1,JMP LBL[10] ;
29: IF R[174:MODE ID]=5,JMP LBL[50] ;
30: IF R[174:MODE ID]=17,JMP LBL[170] ;
31: IF R[174:MODE ID]=100,JMP LBL[4] ;
32: IF R[174:MODE ID]>100,JMP LBL[5] ;
33: JMP LBL[180] ;
34: ;
35: LBL[3:GOOD STATUS] ;
36: MESSAGE[PRCP SCAN FINISHED] ;
37: JMP LBL[8] ;
38: ;
39: LBL[10:INVALID ID] ;
40: MESSAGE[PRCP SCAN ID INVALID] ;
41: !ADD SPECIFIC ERROR BIT HERE ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 97 of 133


42: JMP LBL[7] ;
43: ;
44: LBL[50:OUT OF ORDER] ;
45: MESSAGE[PRCP SCAN OUT OF ORDER] ;
46: !ADD SPECIFIC ERROR BIT HERE ;
47: JMP LBL[7] ;
48: ;
49: LBL[170:ADDTNL OUT ORDER] ;
50: MESSAGE[PRCP POS ADDL OUT ORDER] ;
51: !ADD SPECIFIC ERROR BIT HERE ;
52: JMP LBL[7] ;
53: ;
54: LBL[180:COMMAND ERROR] ;
55: MESSAGE[PRCP SCAN ERROR] ;
56: !ADD SPECIFIC ERROR BIT HERE ;
57: JMP LBL[7] ;
58: ;
59: LBL[4:INPUT ERROR] ;
60: MESSAGE[PRCP COMMAND SKIPPED] ;
61: MESSAGE[ERROR WITH CMD INPUTS] ;
62: JMP LBL[8] ;
63: ;
64: LBL[5:RETRY COUNT] ;
65: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
66: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
67: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
68: MESSAGE[RETRY COMMAND] ;
69: WAIT .40(sec) ;
70: JMP LBL[1] ;
71: ;
72: LBL[6:COMM FAULT] ;
73: MESSAGE[PRCP COMM FAULT] ;
74: R[161:PRCS ID FORMAT]=1 ;
75: !SET GENERIC COMM FAULT BIT ;
76: JMP LBL[8] ;
77: ;
78: LBL[7:COMMAND NAK] ;
79: !SET COMMAND NAK ERROR ;
80: R[162:PRCS ID NUMBER]=1 ;
81: !SET GENERIC NAK ERROR BIT ;
82: JMP LBL[8] ;
83: ;
84: LBL[8:RETURN] ;
85: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 98 of 133


4.2.8 FGTFRAME – Macro
/PROG FGTFRAME Macro
/ATTR
OWNER = ;
COMMENT = "PC GET FRAME";
PROG_SIZE = 3312;
CREATE = DATE 11-09-13 TIME 11:23:30;
MODIFIED = DATE 11-09-13 TIME 11:57:52;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 133;
MEMORY_SIZE = 3936;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !GET FRAME COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - FIXTURE ID R[171] ;
4: !INPUT 2 - REFERENCE FRAME R[172] ;
5: !INPUT 3 - OFFSET FRAME R[173] ;
6: !INPUT 4 - PR TO STORE FRM R[180] ;
7: !OUTPUT 1 - SHIFT PR[99] ;
8: !OUTPUT 2 - ERROR CODE R[175] ;
9: !WAITS UP TO 2 SECONDS FOR REPLY ;
10: !PRCPCOMM RETIRES UP TO 3 TIMES ;
11: !STATUS - IN MACRO CALL R[160] ;
12: !STATUS - COMM FAULT R[161] ;
13: !STATUS - COMMAND NAK R[162] ;
14: !STATUS - RETRY COUNT R[177] ;
15: ;
16: !SET COMMAND PARAMETERS ;
17: R[160:PART ID DATA]=1 ;
18: R[161:PRCS ID FORMAT]=0 ;
19: R[162:PRCS ID NUMBER]=0 ;
20: R[175:SNSR FIND PRM]=0 ;
21: R[177:SNSR NO ACTIVE]=0 ;
22: R[171:FIXTURE ID]=AR[1] ;
23: R[172:REFERENCE FRAME]=AR[2] ;
24: R[173:OFFSET FRAME]=AR[3] ;
25: R[180:ALARM WORD 2]=99 ;
26: ;
27: LBL[1:SEND COMMAND] ;
28: R[174:MODE ID]=100 ;
29: MESSAGE[SEND GET FRAME] ;
30: CALL PRCPCOMM(9,AR[1],AR[2],AR[3],R[180:ALARM WORD 2],174,175)
;
31: ;
32: LBL[2:CHECK RX STATUS] ;
33: !CHECK COMMAND REPLY STATUS ;
34: IF R[174:MODE ID]=1,JMP LBL[10] ;
35: IF R[174:MODE ID]=2,JMP LBL[20] ;
36: IF R[174:MODE ID]=4,JMP LBL[40] ;
37: IF R[174:MODE ID]=22,JMP LBL[3] ;
38: IF R[174:MODE ID]=93,JMP LBL[930] ;
39: IF R[174:MODE ID]=95,JMP LBL[950] ;
40: IF R[174:MODE ID]=96,JMP LBL[960] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 99 of 133


41: IF R[174:MODE ID]=100,JMP LBL[4] ;
42: IF R[174:MODE ID]>100,JMP LBL[5] ;
43: JMP LBL[180] ;
44: ;
45: LBL[3:GOOD STATUS] ;
46: MESSAGE[PRCP FRAME DATA OK] ;
47: JMP LBL[8] ;
48: ;
49: LBL[10:INVALID ID] ;
50: MESSAGE[PRCP FRAME ID INVALID] ;
51: !ADD SPECIFIC ERROR BIT HERE ;
52: JMP LBL[7] ;
53: ;
54: LBL[20:EXTND ERROR CODE] ;
55: MESSAGE[PRCP FRAME EXTND ERROR] ;
56: !ADD SPECIFIC ERROR BIT HERE ;
57: !CHECK EXTENDED ERROR CODE STATUS ;
58: IF R[175:SNSR FIND PRM]=1,JMP LBL[21] ;
59: IF R[175:SNSR FIND PRM]=2,JMP LBL[22] ;
60: IF R[175:SNSR FIND PRM]=3,JMP LBL[23] ;
61: IF R[175:SNSR FIND PRM]=4,JMP LBL[24] ;
62: JMP LBL[7] ;
63: LBL[21:FRAME LIMIT] ;
64: MESSAGE[FRAME OUTSIDE LIMIT] ;
65: JMP LBL[7] ;
66: LBL[22:CALC ERROR] ;
67: MESSAGE[FRAME CALC NOT CONVERGE] ;
68: JMP LBL[7] ;
69: LBL[23:MEAS MISSING] ;
70: MESSAGE[MEASUREMENT MISSING] ;
71: JMP LBL[7] ;
72: LBL[24:FRAME NOT AVLBL] ;
73: MESSAGE[FRAME NOT AVAILABLE] ;
74: JMP LBL[7] ;
75: ;
76: LBL[40:NO DATA AVAIL] ;
77: MESSAGE[PRCP FRAME NOT AVAIL] ;
78: !ADD SPECIFIC ERROR BIT HERE ;
79: JMP LBL[7] ;
80: ;
81: LBL[180:COMMAND ERROR] ;
82: MESSAGE[PRCP FRAME DATA ERROR] ;
83: !ADD SPECIFIC ERROR BIT HERE ;
84: JMP LBL[7] ;
85: ;
86: LBL[930:INPUT EXTND ERR] ;
87: MESSAGE[PRCP FRAME EXTND ERROR] ;
88: MESSAGE[REGISTER - EXTND ERROR] ;
89: MESSAGE[MISSING - PRCPCOMM CALL] ;
90: !ADD SPECIFIC ERROR BIT HERE ;
91: JMP LBL[7] ;
92: ;
93: LBL[950:INPUT REF FRAME] ;
94: MESSAGE[PRCP FRAME DATA OK] ;
95: MESSAGE[REGISTER - REF FRAME] ;
96: MESSAGE[SET IN MACRO INVALID] ;
97: !ADD SPECIFIC ERROR BIT HERE ;
98: JMP LBL[7] ;
99: ;
100: LBL[960:INPUT OUT FRAME] ;
101: MESSAGE[PRCP FRAME DATA OK] ;
102: MESSAGE[REGISTER - OFFSET FRAME] ;
103: MESSAGE[SET IN MACRO INVALID] ;
104: !ADD SPECIFIC ERROR BIT HERE ;
105: JMP LBL[7] ;
106: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 100 of 133


107: LBL[4:INPUT ERROR] ;
108: MESSAGE[PRCP COMMAND SKIPPED] ;
109: MESSAGE[ERROR WITH CMD INPUTS] ;
110: JMP LBL[8] ;
111: ;
112: LBL[5:RETRY COUNT] ;
113: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
114: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
115: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
116: MESSAGE[RETRY COMMAND] ;
117: WAIT .40(sec) ;
118: JMP LBL[1] ;
119: ;
120: LBL[6:COMM FAULT] ;
121: MESSAGE[PRCP COMM FAULT] ;
122: R[161:PRCS ID FORMAT]=1 ;
123: !SET GENERIC COMM FAULT BIT ;
124: JMP LBL[8] ;
125: ;
126: LBL[7:COMMAND NAK] ;
127: !SET COMMAND NAK ERROR ;
128: R[162:PRCS ID NUMBER]=1 ;
129: !SET GENERIC NAK ERROR BIT ;
130: JMP LBL[8] ;
131: ;
132: LBL[8:RETURN] ;
133: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 101 of 133


4.2.9 FGTFRMEX – Macro
/PROG FGTFRMEX Macro
/ATTR
OWNER = ;
COMMENT = "PC GET FRAME";
PROG_SIZE = 3532;
CREATE = DATE 11-09-13 TIME 11:27:26;
MODIFIED = DATE 11-09-13 TIME 12:44:02;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 141;
MEMORY_SIZE = 4124;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !GET FRAME EX COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - FIXTURE ID R[171] ;
4: !INPUT 2 - REFERENCE FRAME R[172] ;
5: !INPUT 3 - OFFSET FRAME R[173] ;
6: !INPUT 4 - PR TO STORE FRM R[180] ;
7: !INPUT 5 - FRAME QUALIFIER R[178] ;
8: !OUTPUT 1 - SHIFT PR[99] ;
9: !OUTPUT 2 - ERROR CODE R[175] ;
10: !OUTPUT 3 - QUALIFIER R[179] ;
11: !WAITS UP TO 2 SECONDS FOR REPLY ;
12: !PRCPCOMM RETIRES UP TO 3 TIMES ;
13: !STATUS - IN MACRO CALL R[160] ;
14: !STATUS - COMM FAULT R[161] ;
15: !STATUS - COMMAND NAK R[162] ;
16: !STATUS - RETRY COUNT R[177] ;
17: ;
18: !SET COMMAND PARAMETERS ;
19: R[160:PART ID DATA]=1 ;
20: R[161:PRCS ID FORMAT]=0 ;
21: R[162:PRCS ID NUMBER]=0 ;
22: R[175:SNSR FIND PRM]=0 ;
23: R[177:SNSR NO ACTIVE]=0 ;
24: R[179:ALARM WORD 1]=0 ;
25: R[171:FIXTURE ID]=AR[1] ;
26: R[172:REFERENCE FRAME]=AR[2] ;
27: R[173:OFFSET FRAME]=AR[3] ;
28: R[178:QRYCOMP STATUS]=AR[4] ;
29: R[180:ALARM WORD 2]=99 ;
30: ;
31: LBL[1:SEND COMMAND] ;
32: R[174:MODE ID]=100 ;
33: MESSAGE[SEND GET FRAME EX] ;
34: CALL PRCPCOMM(51,AR[1],AR[2],AR[3],AR[4],R[180:ALARM WORD
2],174,175,179) ;
35: ;
36: LBL[2:CHECK RX STATUS] ;
37: !CHECK COMMAND REPLY STATUS ;
38: IF R[174:MODE ID]=1,JMP LBL[10] ;
39: IF R[174:MODE ID]=2,JMP LBL[20] ;
40: IF R[174:MODE ID]=4,JMP LBL[40] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 102 of 133


41: IF R[174:MODE ID]=22,JMP LBL[3] ;
42: IF R[174:MODE ID]=93,JMP LBL[930] ;
43: IF R[174:MODE ID]=95,JMP LBL[950] ;
44: IF R[174:MODE ID]=96,JMP LBL[960] ;
45: IF R[174:MODE ID]=100,JMP LBL[4] ;
46: IF R[174:MODE ID]>100,JMP LBL[5] ;
47: JMP LBL[180] ;
48: ;
49: LBL[3:GOOD STATUS] ;
50: MESSAGE[PRCP FRAME DATA OK] ;
51: JMP LBL[8] ;
52: ;
53: LBL[10:INVALID ID] ;
54: MESSAGE[PRCP FRAME ID INVALID] ;
55: !ADD SPECIFIC ERROR BIT HERE ;
56: JMP LBL[7] ;
57: ;
58: LBL[20:EXTND ERROR CODE] ;
59: MESSAGE[PRCP FRAME EXTND ERROR] ;
60: !ADD SPECIFIC ERROR BIT HERE ;
61: !CHECK EXTENDED ERROR CODE STATUS ;
62: IF R[175:SNSR FIND PRM]=1,JMP LBL[21] ;
63: IF R[175:SNSR FIND PRM]=2,JMP LBL[22] ;
64: IF R[175:SNSR FIND PRM]=3,JMP LBL[23] ;
65: IF R[175:SNSR FIND PRM]=4,JMP LBL[24] ;
66: IF R[175:SNSR FIND PRM]=5,JMP LBL[25] ;
67: JMP LBL[7] ;
68: LBL[21:FRAME LIMIT] ;
69: MESSAGE[FRAME OUTSIDE LIMIT] ;
70: JMP LBL[7] ;
71: LBL[22:CALC ERROR] ;
72: MESSAGE[FRAME CALC NOT CONVERGE] ;
73: JMP LBL[7] ;
74: LBL[23:MEAS MISSING] ;
75: MESSAGE[MEASUREMENT MISSING] ;
76: JMP LBL[7] ;
77: LBL[24:FRAME NOT AVLBL] ;
78: MESSAGE[FRAME NOT AVAILABLE] ;
79: JMP LBL[7] ;
80: LBL[25:NOT VALID CONDTN] ;
81: MESSAGE[VALID CONDTN FAILED] ;
82: JMP LBL[7] ;
83: ;
84: LBL[40:NO DATA AVAIL] ;
85: MESSAGE[PRCP FRAME NOT AVAIL] ;
86: !ADD SPECIFIC ERROR BIT HERE ;
87: JMP LBL[7] ;
88: ;
89: LBL[180:COMMAND ERROR] ;
90: MESSAGE[PRCP FRAME DATA ERROR] ;
91: !ADD SPECIFIC ERROR BIT HERE ;
92: JMP LBL[7] ;
93: ;
94: LBL[930:INPUT EXTND ERR] ;
95: MESSAGE[PRCP FRAME EXTND ERROR] ;
96: MESSAGE[REGISTER - EXTND ERROR] ;
97: MESSAGE[MISSING - PRCPCOMM CALL] ;
98: !ADD SPECIFIC ERROR BIT HERE ;
99: JMP LBL[7] ;
100: ;
101: LBL[950:INPUT REF FRAME] ;
102: MESSAGE[PRCP FRAME DATA OK] ;
103: MESSAGE[REGISTER - REF FRAME] ;
104: MESSAGE[SET IN MACRO INVALID] ;
105: !ADD SPECIFIC ERROR BIT HERE ;
106: JMP LBL[7] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 103 of 133


107: ;
108: LBL[960:INPUT OUT FRAME] ;
109: MESSAGE[PRCP FRAME DATA OK] ;
110: MESSAGE[REGISTER - OFFSET FRAME] ;
111: MESSAGE[SET IN MACRO INVALID] ;
112: !ADD SPECIFIC ERROR BIT HERE ;
113: JMP LBL[7] ;
114: ;
115: LBL[4:INPUT ERROR] ;
116: MESSAGE[PRCP COMMAND SKIPPED] ;
117: MESSAGE[ERROR WITH CMD INPUTS] ;
118: JMP LBL[8] ;
119: ;
120: LBL[5:RETRY COUNT] ;
121: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
122: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
123: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
124: MESSAGE[RETRY COMMAND] ;
125: WAIT .40(sec) ;
126: JMP LBL[1] ;
127: ;
128: LBL[6:COMM FAULT] ;
129: MESSAGE[PRCP COMM FAULT] ;
130: R[161:PRCS ID FORMAT]=1 ;
131: !SET GENERIC COMM FAULT BIT ;
132: JMP LBL[8] ;
133: ;
134: LBL[7:COMMAND NAK] ;
135: !SET COMMAND NAK ERROR ;
136: R[162:PRCS ID NUMBER]=1 ;
137: !SET GENERIC NAK ERROR BIT ;
138: JMP LBL[8] ;
139: ;
140: LBL[8:RETURN] ;
141: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 104 of 133


4.2.10 FMEASPOS – Macro
/PROG FMEASPOS Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC MEASURE POS";
PROG_SIZE = 2486;
CREATE = DATE 11-09-13 TIME 11:29:54;
MODIFIED = DATE 11-09-13 TIME 11:29:54;
FILE_NAME = MEAS_NEW;
VERSION = 0;
LINE_COUNT = 101;
MEMORY_SIZE = 2978;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !MEASURE POSITION COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: !INPUT 2 - TIMEOUT R[169] ;
5: !RECOMMENDED TIMEOUT - 3 SECONDS ;
6: !WAITS TIMEOUT + 2 FOR REPLY ;
7: !PRCPCOMM RETIRES UP TO 3 TIMES ;
8: !STATUS - IN MACRO CALL R[160] ;
9: !STATUS - COMM FAULT R[161] ;
10: !STATUS - COMMAND NAK R[162] ;
11: !STATUS - RETRY COUNT R[177] ;
12: ;
13: !CHECK COMM STATUS BEFORE CMD ;
14: !SKIP MEASURE POSITION IF SET ;
15: IF R[161:PRCS ID FORMAT]=1,JMP LBL[9] ;
16: ;
17: !SET COMMAND PARAMETERS ;
18: R[160:PART ID DATA]=1 ;
19: R[161:PRCS ID FORMAT]=0 ;
20: R[162:PRCS ID NUMBER]=0 ;
21: R[177:SNSR NO ACTIVE]=0 ;
22: R[168:POSITION ID]=AR[1] ;
23: R[169:TIMEOUT]=AR[2] ;
24: ;
25: LBL[1:SEND COMMAND] ;
26: R[174:MODE ID]=100 ;
27: MESSAGE[SEND MEASURE POSITION] ;
28: CALL PRCPCOMM(17,AR[1],AR[2],174) ;
29: ;
30: LBL[2:CHECK RX STATUS] ;
31: !CHECK COMMAND REPLY STATUS ;
32: IF R[174:MODE ID]=0,JMP LBL[3] ;
33: IF R[174:MODE ID]=1,JMP LBL[10] ;
34: IF R[174:MODE ID]=5,JMP LBL[50] ;
35: IF R[174:MODE ID]=7,JMP LBL[70] ;
36: IF R[174:MODE ID]=20,JMP LBL[200] ;
37: IF R[174:MODE ID]=100,JMP LBL[4] ;
38: IF R[174:MODE ID]>100,JMP LBL[5] ;
39: JMP LBL[180] ;
40: ;
41: LBL[3:GOOD STATUS] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 105 of 133


42: MESSAGE[PRCP POSITION MEASURED] ;
43: JMP LBL[8] ;
44: ;
45: LBL[10:INVALID ID] ;
46: MESSAGE[PRCP POSITION INVALID] ;
47: !ADD SPECIFIC ERROR BIT HERE ;
48: JMP LBL[7] ;
49: ;
50: LBL[50:OUT OF ORDER] ;
51: MESSAGE[PRCP MEAS OUT OF ORDER] ;
52: !ADD SPECIFIC ERROR BIT HERE ;
53: JMP LBL[7] ;
54: ;
55: LBL[70:TIMEOUT] ;
56: MESSAGE[PRCP MEASURE TIMEOUT] ;
57: !ADD SPECIFIC ERROR BIT HERE ;
58: JMP LBL[7] ;
59: ;
60: LBL[180:COMMAND ERROR] ;
61: MESSAGE[PRCP POSITION NOT MEASD] ;
62: !ADD SPECIFIC ERROR BIT HERE ;
63: JMP LBL[7] ;
64: ;
65: LBL[200:HUMAN OPERATOR] ;
66: MESSAGE[PRCP HUMAN OPER (WAIT)] ;
67: MESSAGE[RETRY COMMAND] ;
68: WAIT .40(sec) ;
69: JMP LBL[1] ;
70: ;
71: LBL[4:INPUT ERROR] ;
72: MESSAGE[PRCP COMMAND SKIPPED] ;
73: MESSAGE[ERROR WITH CMD INPUTS] ;
74: JMP LBL[8] ;
75: ;
76: LBL[5:RETRY COUNT] ;
77: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
78: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
79: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
80: MESSAGE[RETRY COMMAND] ;
81: WAIT .40(sec) ;
82: JMP LBL[1] ;
83: ;
84: LBL[6:COMM FAULT] ;
85: MESSAGE[PRCP COMM FAULT] ;
86: R[161:PRCS ID FORMAT]=1 ;
87: !SET GENERIC COMM FAULT BIT ;
88: JMP LBL[8] ;
89: ;
90: LBL[7:COMMAND NAK] ;
91: !SET COMMAND NAK ERROR ;
92: R[162:PRCS ID NUMBER]=1 ;
93: !SET GENERIC NAK ERROR BIT ;
94: JMP LBL[8] ;
95: ;
96: LBL[9:SKIP COMMAND] ;
97: MESSAGE[PRCP MEAS POS SKIPPED] ;
98: JMP LBL[8] ;
99: ;
100: LBL[8:RETURN] ;
101: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 106 of 133


4.2.11 FMEASURE – Macro
/PROG FMEASURE Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "VS MEASURE POS";
PROG_SIZE = 594;
CREATE = DATE 11-03-16 TIME 00:10:38;
MODIFIED = DATE 12-10-03 TIME 23:50:20;
FILE_NAME = CMEASPOS;
VERSION = 0;
LINE_COUNT = 16;
MEMORY_SIZE = 910;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !FORD MEASURE COMMAND MACRO ;
2: !USES PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: ;
5: !Set Measure Position ;
6: GO[29:ATMEASUREMENTPT]=R[168:POSITION ID] ;
7: CALL FSTPOSE(R[168:POSITION ID]) ;
8: ;
9: !Trigger Vision Measurement ;
10: DO[793:VISION TRIGGER]=ON ;
11: WAIT DI[801:VISMEASURECOMPLETE]=OFF OR DI[793:VISION COMM
OK]=OFF OR DI[6:INSPCTRQSTFRMPLC]=ON ;
12: !Wait for Vision Complete ;
13: WAIT DI[801:VISMEASURECOMPLETE]=ON OR DI[793:VISION COMM
OK]=OFF OR DI[6:INSPCTRQSTFRMPLC]=ON ;
14: DO[793:VISION TRIGGER]=OFF ;
15: GO[29:ATMEASUREMENTPT]=0 ;
16: R[168:POSITION ID]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 107 of 133


4.2.12 FRSTATUS – Macro
/PROG FRSTATUS Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC RQST STATUS";
PROG_SIZE = 2584;
CREATE = DATE 11-09-13 TIME 11:32:10;
MODIFIED = DATE 11-09-13 TIME 11:32:10;
FILE_NAME = CRSTSNSR;
VERSION = 0;
LINE_COUNT = 109;
MEMORY_SIZE = 3044;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !REQUEST STATUS COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !WAITS UP TO 2 SECONDS FOR REPLY ;
4: !PRCPCOMM RETIRES UP TO 3 TIMES ;
5: !STATUS - IN MACRO CALL R[160] ;
6: !STATUS - COMM FAULT R[161] ;
7: !STATUS - COMMAND NAK R[162] ;
8: !STATUS - RETRY COUNT R[177] ;
9: ;
10: !IF IN MACRO - SKIP STATUS ;
11: IF R[160:PART ID DATA]=1,JMP LBL[8] ;
12: ;
13: !RESET PC STATUS BITS ;
14: !RESET COMM FAULT BIT ;
15: ;
16: !SET COMMAND PARAMETERS ;
17: R[161:PRCS ID FORMAT]=0 ;
18: R[162:PRCS ID NUMBER]=0 ;
19: R[177:SNSR NO ACTIVE]=0 ;
20: ;
21: LBL[1:SEND COMMAND] ;
22: R[176:SNSR NO CNFGRD]=100 ;
23: MESSAGE[SEND REQUEST STATUS] ;
24: CALL PRCPCOMM(19,176) ;
25: ;
26: LBL[2:CHECK RX STATUS] ;
27: !CHECK COMMAND REPLY STATUS ;
28: IF R[176:SNSR NO CNFGRD]=11,JMP LBL[110] ;
29: IF R[176:SNSR NO CNFGRD]=12,JMP LBL[120] ;
30: IF R[176:SNSR NO CNFGRD]=14,JMP LBL[140] ;
31: IF R[176:SNSR NO CNFGRD]=23,JMP LBL[230] ;
32: IF R[176:SNSR NO CNFGRD]=24,JMP LBL[240] ;
33: IF R[176:SNSR NO CNFGRD]=26,JMP LBL[260] ;
34: IF R[176:SNSR NO CNFGRD]=29,JMP LBL[290] ;
35: IF R[176:SNSR NO CNFGRD]=30,JMP LBL[300] ;
36: IF R[176:SNSR NO CNFGRD]=100,JMP LBL[4] ;
37: IF R[176:SNSR NO CNFGRD]>100,JMP LBL[5] ;
38: JMP LBL[180] ;
39: ;
40: LBL[110:IDLE MODE] ;
41: MESSAGE[PRCP GAUGE IDLE] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 108 of 133


42: !SET PC STATUS BITS ;
43: JMP LBL[8] ;
44: ;
45: LBL[120:OFFLINE MODE] ;
46: MESSAGE[PRCP GAUGE OFFLINE] ;
47: !SET PC STATUS BITS ;
48: JMP LBL[8] ;
49: ;
50: LBL[140:RUNNING MODE] ;
51: MESSAGE[PRCP GAUGE IN CYCLE] ;
52: !SET PC STATUS BITS ;
53: JMP LBL[8] ;
54: ;
55: LBL[180:COMMAND ERROR] ;
56: MESSAGE[PRCP STATUS ERROR] ;
57: JMP LBL[7] ;
58: ;
59: LBL[230:CALIBRATION MODE] ;
60: MESSAGE[PRCP GAUGE CALIB MODE] ;
61: !SET PC STATUS BITS ;
62: JMP LBL[8] ;
63: ;
64: LBL[240:TEACH MODE] ;
65: MESSAGE[PRCP GAUGE TEACH MODE] ;
66: !SET PC STATUS BITS ;
67: JMP LBL[8] ;
68: ;
69: LBL[260:SYSTEM BUSY] ;
70: MESSAGE[PRCP SYSTEM BUSY] ;
71: !SET PC STATUS BITS ;
72: JMP LBL[8] ;
73: ;
74: LBL[290:BASEFINDER MODE] ;
75: MESSAGE[PRCP BASEFINDER MODE] ;
76: !SET PC STATUS BITS ;
77: JMP LBL[8] ;
78: ;
79: LBL[300:TOOLFINDER MODE] ;
80: MESSAGE[PRCP TOOLFINDER MODE] ;
81: !SET PC STATUS BITS ;
82: JMP LBL[8] ;
83: ;
84: LBL[4:INPUT ERROR] ;
85: MESSAGE[PRCP COMMAND SKIPPED] ;
86: MESSAGE[ERROR WITH CMD INPUTS] ;
87: JMP LBL[8] ;
88: ;
89: LBL[5:RETRY COUNT] ;
90: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
91: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
92: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
93: MESSAGE[RETRY COMMAND] ;
94: WAIT .40(sec) ;
95: JMP LBL[1] ;
96: ;
97: LBL[6:COMM FAULT] ;
98: MESSAGE[PRCP COMM FAULT] ;
99: R[161:PRCS ID FORMAT]=1 ;
100: !SET GENERIC COMM FAULT BIT ;
101: JMP LBL[8] ;
102: ;
103: LBL[7:COMMAND NAK] ;
104: !SET COMMAND NAK ERROR ;
105: R[162:PRCS ID NUMBER]=1 ;
106: !SET GENERIC NAK ERROR BIT ;
107: JMP LBL[8] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 109 of 133


108: ;
109: LBL[8:RETURN] ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 110 of 133


4.2.13 FSCMPND – Macro
/PROG FSCMPND Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC START CMPND";
PROG_SIZE = 2014;
CREATE = DATE 11-09-13 TIME 11:34:14;
MODIFIED = DATE 11-09-13 TIME 11:39:12;
FILE_NAME = STAR_CYC;
VERSION = 0;
LINE_COUNT = 82;
MEMORY_SIZE = 2454;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !START COMPOUND CYCLE CMD MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !WAITS UP TO 2 SECONDS FOR REPLY ;
4: !PRCPCOMM RETIRES UP TO 3 TIMES ;
5: !STATUS - IN MACRO CALL R[160] ;
6: !STATUS - COMM FAULT R[161] ;
7: !STATUS - COMMAND NAK R[162] ;
8: !STATUS - RETRY COUNT R[177] ;
9: ;
10: !SET COMMAND PARAMETERS ;
11: R[160:PART ID DATA]=1 ;
12: R[161:PRCS ID FORMAT]=0 ;
13: R[162:PRCS ID NUMBER]=0 ;
14: R[177:SNSR NO ACTIVE]=0 ;
15: ;
16: LBL[1:SEND COMMAND] ;
17: R[174:MODE ID]=100 ;
18: MESSAGE[SEND START COMPOUND] ;
19: CALL PRCPCOMM(44,174) ;
20: ;
21: LBL[2:CHECK RX STATUS] ;
22: !CHECK COMMAND REPLY STATUS ;
23: IF R[174:MODE ID]=0,JMP LBL[3] ;
24: IF R[174:MODE ID]=5,JMP LBL[50] ;
25: IF R[174:MODE ID]=12,JMP LBL[120] ;
26: IF R[174:MODE ID]=26,JMP LBL[260] ;
27: IF R[174:MODE ID]=100,JMP LBL[4] ;
28: IF R[174:MODE ID]>100,JMP LBL[5] ;
29: JMP LBL[180] ;
30: ;
31: LBL[3:GOOD STATUS] ;
32: MESSAGE[PRCP COMPOUND STARTED] ;
33: JMP LBL[8] ;
34: ;
35: LBL[50:OUT OF ORDER] ;
36: MESSAGE[PRCP CMPND OUT OF ORDER] ;
37: !ADD SPECIFIC ERROR BIT HERE ;
38: JMP LBL[7] ;
39: ;
40: LBL[120:OFFLINE MODE] ;
41: MESSAGE[PRCP NOT IN RUN MODE] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 111 of 133


42: !ADD SPECIFIC ERROR BIT HERE ;
43: JMP LBL[7] ;
44: ;
45: LBL[180:COMMAND ERROR] ;
46: MESSAGE[PRCP COMPOUND ERROR] ;
47: !ADD SPECIFIC ERROR BIT HERE ;
48: JMP LBL[7] ;
49: ;
50: LBL[260:SYSTEM BUSY] ;
51: MESSAGE[PRCP SYSTEM BUSY (WAIT)] ;
52: MESSAGE[RETRY COMMAND] ;
53: WAIT .40(sec) ;
54: JMP LBL[1] ;
55: ;
56: LBL[4:INPUT ERROR] ;
57: MESSAGE[PRCP COMMAND SKIPPED] ;
58: MESSAGE[ERROR WITH CMD INPUTS] ;
59: JMP LBL[8] ;
60: ;
61: LBL[5:RETRY COUNT] ;
62: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
63: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
64: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
65: MESSAGE[RETRY COMMAND] ;
66: WAIT .40(sec) ;
67: JMP LBL[1] ;
68: ;
69: LBL[6:COMM FAULT] ;
70: MESSAGE[PRCP COMM FAULT] ;
71: R[161:PRCS ID FORMAT]=1 ;
72: !SET GENERIC COMM FAULT BIT ;
73: JMP LBL[8] ;
74: ;
75: LBL[7:COMMAND NAK] ;
76: !SET COMMAND NAK ERROR ;
77: R[162:PRCS ID NUMBER]=1 ;
78: !SET GENERIC NAK ERROR BIT ;
79: JMP LBL[8] ;
80: ;
81: LBL[8:RETURN] ;
82: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 112 of 133


4.2.14 FSTPOSE – Macro
/PROG FSTPOSE Macro
/ATTR
OWNER = ;
COMMENT = "PC SET RBT POSE";
PROG_SIZE = 1892;
CREATE = DATE 11-09-13 TIME 11:40:58;
MODIFIED = DATE 11-09-13 TIME 11:40:58;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 77;
MEMORY_SIZE = 2352;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !SET ROBOT POSE COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: !WAITS UP TO 2 SECONDS FOR REPLY ;
5: !PRCPCOMM RETIRES UP TO 3 TIMES ;
6: !STATUS - IN MACRO CALL R[160] ;
7: !STATUS - COMM FAULT R[161] ;
8: !STATUS - COMMAND NAK R[162] ;
9: !STATUS - RETRY COUNT R[177] ;
10: ;
11: !SET COMMAND PARAMETERS ;
12: R[160:PART ID DATA]=1 ;
13: R[161:PRCS ID FORMAT]=0 ;
14: R[162:PRCS ID NUMBER]=0 ;
15: R[177:SNSR NO ACTIVE]=0 ;
16: R[168:POSITION ID]=AR[1] ;
17: ;
18: LBL[1:SEND COMMAND] ;
19: R[174:MODE ID]=100 ;
20: MESSAGE[SEND SET ROBOT POSE] ;
21: CALL PRCPCOMM(27,AR[1],174) ;
22: ;
23: LBL[2:CHECK RX STATUS] ;
24: !CHECK COMMAND REPLY STATUS ;
25: IF R[174:MODE ID]=0,JMP LBL[3] ;
26: IF R[174:MODE ID]=1,JMP LBL[10] ;
27: IF R[174:MODE ID]=5,JMP LBL[50] ;
28: IF R[174:MODE ID]=100,JMP LBL[4] ;
29: IF R[174:MODE ID]>100,JMP LBL[5] ;
30: JMP LBL[180] ;
31: ;
32: LBL[3:GOOD STATUS] ;
33: MESSAGE[PRCP POSE DATA OK] ;
34: JMP LBL[8] ;
35: ;
36: LBL[10:INVALID ID] ;
37: MESSAGE[PRCP POSITION INVALID] ;
38: !ADD SPECIFIC ERROR BIT HERE ;
39: JMP LBL[7] ;
40: ;
41: LBL[50:OUT OF ORDER] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 113 of 133


42: MESSAGE[PRCP POSE OUT OF ORDER] ;
43: !ADD SPECIFIC ERROR BIT HERE ;
44: JMP LBL[7] ;
45: ;
46: LBL[180:COMMAND ERROR] ;
47: MESSAGE[PRCP SET POSE ERROR] ;
48: !ADD SPECIFIC ERROR BIT HERE ;
49: JMP LBL[7] ;
50: ;
51: LBL[4:INPUT ERROR] ;
52: MESSAGE[PRCP COMMAND SKIPPED] ;
53: MESSAGE[ERROR WITH CMD INPUTS] ;
54: JMP LBL[8] ;
55: ;
56: LBL[5:RETRY COUNT] ;
57: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
58: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
59: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
60: MESSAGE[RETRY COMMAND] ;
61: WAIT .40(sec) ;
62: JMP LBL[1] ;
63: ;
64: LBL[6:COMM FAULT] ;
65: MESSAGE[PRCP COMM FAULT] ;
66: R[161:PRCS ID FORMAT]=1 ;
67: !SET GENERIC COMM FAULT BIT ;
68: JMP LBL[8] ;
69: ;
70: LBL[7:COMMAND NAK] ;
71: !SET COMMAND NAK ERROR ;
72: R[162:PRCS ID NUMBER]=1 ;
73: !SET GENERIC NAK ERROR BIT ;
74: JMP LBL[8] ;
75: ;
76: LBL[8:RETURN] ;
77: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 114 of 133


4.2.15 FSTPSCAN – Macro
/PROG FSTPSCAN Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC END SCAN";
PROG_SIZE = 2078;
CREATE = DATE 11-09-13 TIME 11:44:38;
MODIFIED = DATE 11-09-13 TIME 11:44:38;
FILE_NAME = CENDSCAN;
VERSION = 0;
LINE_COUNT = 83;
MEMORY_SIZE = 2514;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !STOP (END) SCAN COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: !INPUT 2 - VELOCITY ;
5: !WAITS UP TO 2 SECONDS FOR REPLY ;
6: !PRCPCOMM RETIRES UP TO 3 TIMES ;
7: !STATUS - IN MACRO CALL R[160] ;
8: !STATUS - COMM FAULT R[161] ;
9: !STATUS - COMMAND NAK R[162] ;
10: !STATUS - RETRY COUNT R[177] ;
11: ;
12: !SET COMMAND PARAMETERS ;
13: R[160:PART ID DATA]=1 ;
14: R[161:PRCS ID FORMAT]=0 ;
15: R[162:PRCS ID NUMBER]=0 ;
16: R[177:SNSR NO ACTIVE]=0 ;
17: ;
18: LBL[1:SEND COMMAND] ;
19: R[174:MODE ID]=100 ;
20: MESSAGE[SEND END SCAN] ;
21: CALL PRCPCOMM(47,R[168:POSITION ID],0,174) ;
22: ;
23: LBL[2:CHECK RX STATUS] ;
24: !CHECK COMMAND REPLY STATUS ;
25: IF R[174:MODE ID]=0,JMP LBL[3] ;
26: IF R[174:MODE ID]=1,JMP LBL[10] ;
27: IF R[174:MODE ID]=5,JMP LBL[50] ;
28: IF R[174:MODE ID]=17,JMP LBL[170] ;
29: IF R[174:MODE ID]=100,JMP LBL[4] ;
30: IF R[174:MODE ID]>100,JMP LBL[5] ;
31: JMP LBL[180] ;
32: ;
33: LBL[3:GOOD STATUS] ;
34: MESSAGE[PRCP SCAN FINISHED] ;
35: JMP LBL[8] ;
36: ;
37: LBL[10:INVALID ID] ;
38: MESSAGE[PRCP SCAN ID INVALID] ;
39: !ADD SPECIFIC ERROR BIT HERE ;
40: JMP LBL[7] ;
41: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 115 of 133


42: LBL[50:OUT OF ORDER] ;
43: MESSAGE[PRCP SCAN OUT OF ORDER] ;
44: !ADD SPECIFIC ERROR BIT HERE ;
45: JMP LBL[7] ;
46: ;
47: LBL[170:ADDTNL OUT ORDER] ;
48: MESSAGE[PRCP POS ADDL OUT ORDER] ;
49: !ADD SPECIFIC ERROR BIT HERE ;
50: JMP LBL[7] ;
51: ;
52: LBL[180:COMMAND ERROR] ;
53: MESSAGE[PRCP SCAN ERROR] ;
54: !ADD SPECIFIC ERROR BIT HERE ;
55: JMP LBL[7] ;
56: ;
57: LBL[4:INPUT ERROR] ;
58: MESSAGE[PRCP COMMAND SKIPPED] ;
59: MESSAGE[ERROR WITH CMD INPUTS] ;
60: JMP LBL[8] ;
61: ;
62: LBL[5:RETRY COUNT] ;
63: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
64: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
65: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
66: MESSAGE[RETRY COMMAND] ;
67: WAIT .40(sec) ;
68: JMP LBL[1] ;
69: ;
70: LBL[6:COMM FAULT] ;
71: MESSAGE[PRCP COMM FAULT] ;
72: R[161:PRCS ID FORMAT]=1 ;
73: !SET GENERIC COMM FAULT BIT ;
74: JMP LBL[8] ;
75: ;
76: LBL[7:COMMAND NAK] ;
77: !SET COMMAND NAK ERROR ;
78: R[162:PRCS ID NUMBER]=1 ;
79: !SET GENERIC NAK ERROR BIT ;
80: JMP LBL[8] ;
81: ;
82: LBL[8:RETURN] ;
83: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 116 of 133


4.2.16 FSTRTCYC – Macro
/PROG FSTRTCYC Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC START CYCLE";
PROG_SIZE = 2364;
CREATE = DATE 11-09-13 TIME 11:47:30;
MODIFIED = DATE 11-09-13 TIME 11:47:30;
FILE_NAME = LEAV_POS;
VERSION = 0;
LINE_COUNT = 98;
MEMORY_SIZE = 2876;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !START CYCLE COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - PART TYPE ID R[164] ;
4: !WAITS UP TO 2 SECONDS FOR REPLY ;
5: !PRCPCOMM RETIRES UP TO 3 TIMES ;
6: !STATUS - IN MACRO CALL R[160] ;
7: !STATUS - COMM FAULT R[161] ;
8: !STATUS - COMMAND NAK R[162] ;
9: !STATUS - EXECUTE CANCEL R[163] ;
10: !STATUS - RETRY COUNT R[177] ;
11: ;
12: !SET COMMAND PARAMETERS ;
13: R[160:PART ID DATA]=1 ;
14: R[161:PRCS ID FORMAT]=0 ;
15: R[162:PRCS ID NUMBER]=0 ;
16: R[163:PRCS ID DATA]=0 ;
17: R[177:SNSR NO ACTIVE]=0 ;
18: R[164:PART TYPE ID]=AR[1] ;
19: ;
20: LBL[1:SEND COMMAND] ;
21: R[174:MODE ID]=100 ;
22: WAIT .25(sec) ;
23: MESSAGE[SEND START CYCLE] ;
24: CALL PRCPCOMM(29,AR[1],174) ;
25: ;
26: LBL[2:CHECK RX STATUS] ;
27: !CHECK COMMAND REPLY STATUS ;
28: IF R[174:MODE ID]=0,JMP LBL[3] ;
29: IF R[174:MODE ID]=1,JMP LBL[10] ;
30: IF R[174:MODE ID]=5,JMP LBL[50] ;
31: IF R[174:MODE ID]=12,JMP LBL[120] ;
32: IF R[174:MODE ID]=26,JMP LBL[260] ;
33: IF R[174:MODE ID]=100,JMP LBL[4] ;
34: IF R[174:MODE ID]>100,JMP LBL[5] ;
35: JMP LBL[180] ;
36: ;
37: LBL[3:GOOD STATUS] ;
38: MESSAGE[PRCP CYCLE STARTED] ;
39: !SET IN CYCLE BIT ;
40: JMP LBL[8] ;
41: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 117 of 133


42: LBL[10:INVALID ID] ;
43: MESSAGE[PRCP START ID INVALID] ;
44: R[153:PRCP EXE CANCEL]=1 ;
45: !ADD SPECIFIC ERROR BIT HERE ;
46: JMP LBL[7] ;
47: ;
48: LBL[50:OUT OF ORDER] ;
49: MESSAGE[PRCP START OUT OF ORDER] ;
50: R[163:PRCS ID DATA]=1 ;
51: !ADD SPECIFIC ERROR BIT HERE ;
52: JMP LBL[7] ;
53: ;
54: LBL[120:OFFLINE MODE] ;
55: MESSAGE[PRCP NOT IN RUN MODE] ;
56: !ADD SPECIFIC ERROR BIT HERE ;
57: JMP LBL[7] ;
58: ;
59: LBL[180:COMMAND ERROR] ;
60: MESSAGE[PRCP START ERROR] ;
61: R[163:PRCS ID DATA]=1 ;
62: !ADD SPECIFIC ERROR BIT HERE ;
63: JMP LBL[7] ;
64: ;
65: LBL[260:SYSTEM BUSY] ;
66: MESSAGE[PRCP SYSTEM BUSY (WAIT)] ;
67: MESSAGE[RETRY COMMAND] ;
68: WAIT .40(sec) ;
69: JMP LBL[1] ;
70: ;
71: LBL[4:INPUT ERROR] ;
72: MESSAGE[PRCP COMMAND SKIPPED] ;
73: MESSAGE[ERROR WITH CMD INPUTS] ;
74: JMP LBL[8] ;
75: ;
76: LBL[5:RETRY COUNT] ;
77: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
78: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
79: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
80: MESSAGE[RETRY COMMAND] ;
81: WAIT .40(sec) ;
82: JMP LBL[1] ;
83: ;
84: LBL[6:COMM FAULT] ;
85: MESSAGE[PRCP COMM FAULT] ;
86: R[161:PRCS ID FORMAT]=1 ;
87: !SET GENERIC COMM FAULT BIT ;
88: JMP LBL[8] ;
89: ;
90: LBL[7:COMMAND NAK] ;
91: !SET COMMAND NAK ERROR ;
92: R[162:PRCS ID NUMBER]=1 ;
93: !SET GENERIC NAK ERROR BIT ;
94: JMP LBL[8] ;
95: ;
96: LBL[8:RETURN] ;
97: IF R[163:PRCS ID DATA]=1,CALL FCANCEL ;
98: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 118 of 133


4.2.17 FSTRTSCN – Macro
/PROG FSTRTSCN Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC START SCAN";
PROG_SIZE = 2067;
CREATE = DATE 11-09-13 TIME 11:51:14;
MODIFIED = DATE 11-09-13 TIME 11:51:14;
FILE_NAME = END;
VERSION = 0;
LINE_COUNT = 84;
MEMORY_SIZE = 2507;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !START SCAN COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - POSITION ID R[168] ;
4: !WAITS UP TO 2 SECONDS FOR REPLY ;
5: !PRCPCOMM RETIRES UP TO 3 TIMES ;
6: !STATUS - IN MACRO CALL R[160] ;
7: !STATUS - COMM FAULT R[161] ;
8: !STATUS - COMMAND NAK R[162] ;
9: !STATUS - RETRY COUNT R[177] ;
10: ;
11: !SET COMMAND PARAMETERS ;
12: R[160:PART ID DATA]=1 ;
13: R[161:PRCS ID FORMAT]=0 ;
14: R[162:PRCS ID NUMBER]=0 ;
15: R[177:SNSR NO ACTIVE]=0 ;
16: R[168:POSITION ID]=AR[1] ;
17: ;
18: CALL STRT_POS ;
19: LBL[1:SEND COMMAND] ;
20: R[174:MODE ID]=100 ;
21: MESSAGE[SEND START SCAN] ;
22: CALL PRCPCOMM(46,AR[1],174) ;
23: ;
24: LBL[2:CHECK RX STATUS] ;
25: !CHECK COMMAND REPLY STATUS ;
26: IF R[174:MODE ID]=0,JMP LBL[3] ;
27: IF R[174:MODE ID]=1,JMP LBL[10] ;
28: IF R[174:MODE ID]=5,JMP LBL[50] ;
29: IF R[174:MODE ID]=17,JMP LBL[170] ;
30: IF R[174:MODE ID]=100,JMP LBL[4] ;
31: IF R[174:MODE ID]>100,JMP LBL[5] ;
32: JMP LBL[180] ;
33: ;
34: LBL[3:GOOD STATUS] ;
35: MESSAGE[PRCP SCAN STARTED] ;
36: JMP LBL[8] ;
37: ;
38: LBL[10:INVALID ID] ;
39: MESSAGE[PRCP SCAN ID INVALID] ;
40: !ADD SPECIFIC ERROR BIT HERE ;
41: JMP LBL[7] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 119 of 133


42: ;
43: LBL[50:OUT OF ORDER] ;
44: MESSAGE[PRCP SCAN OUT OF ORDER] ;
45: !ADD SPECIFIC ERROR BIT HERE ;
46: JMP LBL[7] ;
47: ;
48: LBL[170:ADDTNL OUT ORDER] ;
49: MESSAGE[PRCP POS ADDL OUT ORDER] ;
50: !ADD SPECIFIC ERROR BIT HERE ;
51: JMP LBL[7] ;
52: ;
53: LBL[180:COMMAND ERROR] ;
54: MESSAGE[PRCP SCAN ERROR] ;
55: !ADD SPECIFIC ERROR BIT HERE ;
56: JMP LBL[7] ;
57: ;
58: LBL[4:INPUT ERROR] ;
59: MESSAGE[PRCP COMMAND SKIPPED] ;
60: MESSAGE[ERROR WITH CMD INPUTS] ;
61: JMP LBL[8] ;
62: ;
63: LBL[5:RETRY COUNT] ;
64: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
65: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
66: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
67: MESSAGE[RETRY COMMAND] ;
68: WAIT .40(sec) ;
69: JMP LBL[1] ;
70: ;
71: LBL[6:COMM FAULT] ;
72: MESSAGE[PRCP COMM FAULT] ;
73: R[161:PRCS ID FORMAT]=1 ;
74: !SET GENERIC COMM FAULT BIT ;
75: JMP LBL[8] ;
76: ;
77: LBL[7:COMMAND NAK] ;
78: !SET COMMAND NAK ERROR ;
79: R[162:PRCS ID NUMBER]=1 ;
80: !SET GENERIC NAK ERROR BIT ;
81: JMP LBL[8] ;
82: ;
83: LBL[8:RETURN] ;
84: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 120 of 133


4.2.18 FWTCYCLE – Macro
/PROG FWTCYCLE Macro
/ATTR
OWNER = MNEDITOR;
COMMENT = "PC WAIT CYCLE";
PROG_SIZE = 2336;
CREATE = DATE 11-09-13 TIME 11:54:04;
MODIFIED = DATE 11-09-13 TIME 11:54:04;
FILE_NAME = WAIT;
VERSION = 0;
LINE_COUNT = 96;
MEMORY_SIZE = 2856;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !WAIT CYCLE COMPLETE CMD MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - TIMEOUT R[169] ;
4: !RECOMMENDED TIMEOUT - 10 SECONDS ;
5: !WAITS TIMEOUT + 2 FOR REPLY ;
6: !PRCPCOMM RETIRES UP TO 3 TIMES ;
7: !STATUS - IN MACRO CALL R[160] ;
8: !STATUS - COMM FAULT R[161] ;
9: !STATUS - COMMAND NAK R[162] ;
10: !STATUS - EXECUTE CANCEL R[163] ;
11: !STATUS - RETRY COUNT R[177] ;
12: ;
13: !SET COMMAND PARAMETERS ;
14: R[160:PART ID DATA]=1 ;
15: R[161:PRCS ID FORMAT]=0 ;
16: R[162:PRCS ID NUMBER]=0 ;
17: R[163:PRCS ID DATA]=0 ;
18: R[177:SNSR NO ACTIVE]=0 ;
19: R[169:TIMEOUT]=AR[1] ;
20: ;
21: LBL[1:SEND COMMAND] ;
22: R[174:MODE ID]=100 ;
23: MESSAGE[SEND WAIT CYCLE CMPLT] ;
24: CALL PRCPCOMM(32,AR[1],174) ;
25: ;
26: LBL[2:CHECK RX STATUS] ;
27: !CHECK COMMAND REPLY STATUS ;
28: IF R[174:MODE ID]=0,JMP LBL[3] ;
29: IF R[174:MODE ID]=5,JMP LBL[50] ;
30: IF R[174:MODE ID]=7,JMP LBL[70] ;
31: IF R[174:MODE ID]=12,JMP LBL[120] ;
32: IF R[174:MODE ID]=100,JMP LBL[4] ;
33: IF R[174:MODE ID]>100,JMP LBL[5] ;
34: JMP LBL[180] ;
35: ;
36: LBL[3:GOOD STATUS] ;
37: MESSAGE[PRCP DATA COMPLETED] ;
38: JMP LBL[8] ;
39: ;
40: LBL[50:OUT OF ORDER] ;
41: MESSAGE[PRCP CMPLT OUT OF ORDER] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 121 of 133


42: R[163:PRCS ID DATA]=1 ;
43: !ADD SPECIFIC ERROR BIT HERE ;
44: JMP LBL[7] ;
45: ;
46: LBL[70:TIMEOUT] ;
47: MESSAGE[PRCP COMPLETE TIMEOUT] ;
48: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[71] ;
49: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
50: MESSAGE[RETRY COMMAND] ;
51: WAIT .40(sec) ;
52: JMP LBL[1] ;
53: LBL[71:TIMEOUT] ;
54: R[163:PRCS ID DATA]=1 ;
55: !ADD SPECIFIC ERROR BIT HERE ;
56: JMP LBL[7] ;
57: ;
58: LBL[120:OFFLINE MODE] ;
59: MESSAGE[PRCP NOT IN RUN MODE] ;
60: !ADD SPECIFIC ERROR BIT HERE ;
61: JMP LBL[7] ;
62: ;
63: LBL[180:COMMAND ERROR] ;
64: MESSAGE[PRCP COMPLETE ERROR] ;
65: R[163:PRCS ID DATA]=1 ;
66: !ADD SPECIFIC ERROR BIT HERE ;
67: JMP LBL[7] ;
68: ;
69: LBL[4:INPUT ERROR] ;
70: MESSAGE[PRCP COMMAND SKIPPED] ;
71: MESSAGE[ERROR WITH CMD INPUTS] ;
72: JMP LBL[8] ;
73: ;
74: LBL[5:RETRY COUNT] ;
75: MESSAGE[PERC NO REPLY / TIMEOUT] ;
76: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
77: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
78: MESSAGE[RETRY COMMAND] ;
79: WAIT .40(sec) ;
80: JMP LBL[1] ;
81: ;
82: LBL[6:COMM FAULT] ;
83: MESSAGE[PRCP COMM FAULT] ;
84: R[161:PRCS ID FORMAT]=1 ;
85: !SET GENERIC COMM FAULT BIT ;
86: JMP LBL[8] ;
87: ;
88: LBL[7:COMMAND NAK] ;
89: !SET COMMAND NAK ERROR ;
90: R[162:PRCS ID NUMBER]=1 ;
91: !SET GENERIC NAK ERROR BIT ;
92: JMP LBL[8] ;
93: ;
94: LBL[8:RETURN] ;
95: IF R[163:PRCS ID DATA]=1,CALL FCANCEL ;
96: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 122 of 133


4.2.19 FWTFRAME – Macro
/PROG FWTFRAME Macro
/ATTR
OWNER = ;
COMMENT = "PC WAIT FRAME";
PROG_SIZE = 3808;
CREATE = DATE 11-09-13 TIME 12:01:12;
MODIFIED = DATE 11-09-13 TIME 12:01:12;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 154;
MEMORY_SIZE = 4348;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !WAIT FRAME COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - TIMEOUT R[169] ;
4: !INPUT 2 - FIXTURE ID R[171] ;
5: !INPUT 3 - REFERENCE FRAME R[172] ;
6: !INPUT 4 - OFFSET FRAME R[173] ;
7: !INPUT 5 - PR TO STORE FRM R[180] ;
8: !OUTPUT 1 - SHIFT PR[99] ;
9: !OUTPUT 2 - ERROR CODE R[175] ;
10: !RECOMMENDED TIMEOUT - 3 SECONDS ;
11: !WAITS TIMEOUT + 2 FOR REPLY ;
12: !PRCPCOMM RETIRES UP TO 3 TIMES ;
13: !STATUS - IN MACRO CALL R[160] ;
14: !STATUS - COMM FAULT R[161] ;
15: !STATUS - COMMAND NAK R[162] ;
16: !STATUS - RETRY COUNT R[177] ;
17: ;
18: !SET COMMAND PARAMETERS ;
19: R[160:PART ID DATA]=1 ;
20: R[161:PRCS ID FORMAT]=0 ;
21: R[162:PRCS ID NUMBER]=0 ;
22: R[175:SNSR FIND PRM]=0 ;
23: R[177:SNSR NO ACTIVE]=0 ;
24: R[169:TIMEOUT]=AR[1] ;
25: R[171:FIXTURE ID]=AR[2] ;
26: R[172:REFERENCE FRAME]=AR[3] ;
27: R[173:OFFSET FRAME]=AR[4] ;
28: R[180:ALARM WORD 2]=99 ;
29: ;
30: LBL[1:SEND COMMAND] ;
31: R[174:MODE ID]=100 ;
32: MESSAGE[SEND WAIT FRAME] ;
33: CALL PRCPCOMM(33,AR[1],AR[2],AR[3],AR[4],R[180:ALARM WORD
2],174,175) ;
34: ;
35: LBL[2:CHECK RX STATUS] ;
36: !CHECK COMMAND REPLY STATUS ;
37: IF R[174:MODE ID]=1,JMP LBL[10] ;
38: IF R[174:MODE ID]=2,JMP LBL[20] ;
39: IF R[174:MODE ID]=4,JMP LBL[40] ;
40: IF R[174:MODE ID]=5,JMP LBL[50] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 123 of 133


41: IF R[174:MODE ID]=7,JMP LBL[70] ;
42: IF R[174:MODE ID]=12,JMP LBL[120] ;
43: IF R[174:MODE ID]=22,JMP LBL[3] ;
44: IF R[174:MODE ID]=93,JMP LBL[930] ;
45: IF R[174:MODE ID]=95,JMP LBL[950] ;
46: IF R[174:MODE ID]=96,JMP LBL[960] ;
47: IF R[174:MODE ID]=100,JMP LBL[4] ;
48: IF R[174:MODE ID]>100,JMP LBL[5] ;
49: JMP LBL[180] ;
50: ;
51: LBL[3:GOOD STATUS] ;
52: MESSAGE[PRCP FRAME DATA OK] ;
53: JMP LBL[8] ;
54: ;
55: LBL[10:INVALID ID] ;
56: MESSAGE[PRCP FRAME ID INVALID] ;
57: !ADD SPECIFIC ERROR BIT HERE ;
58: JMP LBL[7] ;
59: ;
60: LBL[20:EXTND ERROR CODE] ;
61: MESSAGE[PRCP FRAME EXTND ERROR] ;
62: !ADD SPECIFIC ERROR BIT HERE ;
63: !CHECK EXTENDED ERROR CODE STATUS ;
64: IF R[175:SNSR FIND PRM]=1,JMP LBL[21] ;
65: IF R[175:SNSR FIND PRM]=2,JMP LBL[22] ;
66: IF R[175:SNSR FIND PRM]=3,JMP LBL[23] ;
67: IF R[175:SNSR FIND PRM]=4,JMP LBL[24] ;
68: JMP LBL[7] ;
69: LBL[21:FRAME LIMIT] ;
70: MESSAGE[FRAME OUTSIDE LIMIT] ;
71: JMP LBL[7] ;
72: LBL[22:CALC ERROR] ;
73: MESSAGE[FRAME CALC NOT CONVERGE] ;
74: JMP LBL[7] ;
75: LBL[23:MEAS MISSING] ;
76: MESSAGE[MEASUREMENT MISSING] ;
77: JMP LBL[7] ;
78: LBL[24:FRAME NOT AVLBL] ;
79: MESSAGE[FRAME NOT AVAILABLE] ;
80: JMP LBL[7] ;
81: ;
82: LBL[40:NO DATA AVAIL] ;
83: MESSAGE[PRCP FRAME NOT AVAIL] ;
84: !ADD SPECIFIC ERROR BIT HERE ;
85: JMP LBL[7] ;
86: ;
87: LBL[50:OUT OF ORDER] ;
88: MESSAGE[PRCP FRAME OUT OF ORDER] ;
89: !ADD SPECIFIC ERROR BIT HERE ;
90: JMP LBL[7] ;
91: ;
92: LBL[70:TIMEOUT] ;
93: MESSAGE[PRCP FRAME TIMEOUT] ;
94: !ADD SPECIFIC ERROR BIT HERE ;
95: JMP LBL[7] ;
96: ;
97: LBL[120:OFFLINE MODE] ;
98: MESSAGE[PRCP NOT IN RUN MODE] ;
99: !ADD SPECIFIC ERROR BIT HERE ;
100: JMP LBL[7] ;
101: ;
102: LBL[180:COMMAND ERROR] ;
103: MESSAGE[PRCP FRAME DATA ERROR] ;
104: !ADD SPECIFIC ERROR BIT HERE ;
105: JMP LBL[7] ;
106: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 124 of 133


107: LBL[930:INPUT EXTND ERR] ;
108: MESSAGE[PRCP FRAME EXTND ERROR] ;
109: MESSAGE[MISSING EXTND REGISTER] ;
110: MESSAGE[MISSING - PRCPCOMM CALL] ;
111: !ADD SPECIFIC ERROR BIT HERE ;
112: JMP LBL[7] ;
113: ;
114: LBL[950:INPUT REF FRAME] ;
115: MESSAGE[PRCP FRAME DATA OK] ;
116: MESSAGE[REGISTER - REF FRAME] ;
117: MESSAGE[SET IN MACRO INVALID] ;
118: !ADD SPECIFIC ERROR BIT HERE ;
119: JMP LBL[7] ;
120: ;
121: LBL[960:INPUT OUT FRAME] ;
122: MESSAGE[PRCP FRAME DATA OK] ;
123: MESSAGE[REGISTER - OFFSET FRAME] ;
124: MESSAGE[SET IN MACRO INVALID] ;
125: !ADD SPECIFIC ERROR BIT HERE ;
126: JMP LBL[7] ;
127: ;
128: LBL[4:INPUT ERROR] ;
129: MESSAGE[PRCP COMMAND SKIPPED] ;
130: MESSAGE[ERROR WITH CMD INPUTS] ;
131: JMP LBL[8] ;
132: ;
133: LBL[5:RETRY COUNT] ;
134: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
135: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
136: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
137: MESSAGE[RETRY COMMAND] ;
138: WAIT .40(sec) ;
139: JMP LBL[1] ;
140: ;
141: LBL[6:COMM FAULT] ;
142: MESSAGE[PRCP COMM FAULT] ;
143: R[161:PRCS ID FORMAT]=1 ;
144: !SET GENERIC COMM FAULT BIT ;
145: JMP LBL[8] ;
146: ;
147: LBL[7:COMMAND NAK] ;
148: !SET COMMAND NAK ERROR ;
149: R[162:PRCS ID NUMBER]=1 ;
150: !SET GENERIC NAK ERROR BIT ;
151: JMP LBL[8] ;
152: ;
153: LBL[8:RETURN] ;
154: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 125 of 133


4.2.20 FWTFRMEX – Macro
/PROG FWTFRMEX Macro
/ATTR
OWNER = ;
COMMENT = "PC WAIT FRAME";
PROG_SIZE = 4028;
CREATE = DATE 11-09-13 TIME 12:03:00;
MODIFIED = DATE 11-09-13 TIME 12:45:06;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 162;
MEMORY_SIZE = 4664;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !WAIT FRAME EX COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - TIMEOUT R[169] ;
4: !INPUT 2 - FIXTURE ID R[171] ;
5: !INPUT 3 - REFERENCE FRAME R[172] ;
6: !INPUT 4 - OFFSET FRAME R[173] ;
7: !INPUT 5 - PR TO STORE FRM R[180] ;
8: !INPUT 6 - FRAME QUALIFIER R[178] ;
9: !OUTPUT 1 - SHIFT PR[99] ;
10: !OUTPUT 2 - ERROR CODE R[175] ;
11: !OUTPUT 3 - QUALIFIER R[179] ;
12: !RECOMMENDED TIMEOUT - 3 SECONDS ;
13: !WAITS TIMEOUT + 2 FOR REPLY ;
14: !PRCPCOMM RETIRES UP TO 3 TIMES ;
15: !STATUS - IN MACRO CALL R[160] ;
16: !STATUS - COMM FAULT R[161] ;
17: !STATUS - COMMAND NAK R[162] ;
18: !STATUS - RETRY COUNT R[177] ;
19: ;
20: !SET COMMAND PARAMETERS ;
21: R[160:PART ID DATA]=1 ;
22: R[161:PRCS ID FORMAT]=0 ;
23: R[162:PRCS ID NUMBER]=0 ;
24: R[175:SNSR FIND PRM]=0 ;
25: R[177:SNSR NO ACTIVE]=0 ;
26: R[179:ALARM WORD 1]=0 ;
27: R[169:TIMEOUT]=AR[1] ;
28: R[171:FIXTURE ID]=AR[2] ;
29: R[172:REFERENCE FRAME]=AR[3] ;
30: R[173:OFFSET FRAME]=AR[4] ;
31: R[178:QRYCOMP STATUS]=AR[5] ;
32: R[180:ALARM WORD 2]=99 ;
33: ;
34: LBL[1:SEND COMMAND] ;
35: R[174:MODE ID]=100 ;
36: MESSAGE[SEND WAIT FRAME EX] ;
37: CALL PRCPCOMM(52,AR[1],AR[2],AR[3],AR[4],AR[5],R[180:ALARM
WORD 2],174,175,179) ;
38: ;
39: LBL[2:CHECK RX STATUS] ;
40: !CHECK COMMAND REPLY STATUS ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 126 of 133


41: IF R[174:MODE ID]=1,JMP LBL[10] ;
42: IF R[174:MODE ID]=2,JMP LBL[20] ;
43: IF R[174:MODE ID]=4,JMP LBL[40] ;
44: IF R[174:MODE ID]=5,JMP LBL[50] ;
45: IF R[174:MODE ID]=7,JMP LBL[70] ;
46: IF R[174:MODE ID]=12,JMP LBL[120] ;
47: IF R[174:MODE ID]=22,JMP LBL[3] ;
48: IF R[174:MODE ID]=93,JMP LBL[930] ;
49: IF R[174:MODE ID]=95,JMP LBL[950] ;
50: IF R[174:MODE ID]=96,JMP LBL[960] ;
51: IF R[174:MODE ID]=100,JMP LBL[4] ;
52: IF R[174:MODE ID]>100,JMP LBL[5] ;
53: JMP LBL[180] ;
54: ;
55: LBL[3:GOOD STATUS] ;
56: MESSAGE[PRCP FRAME DATA OK] ;
57: JMP LBL[8] ;
58: ;
59: LBL[10:INVALID ID] ;
60: MESSAGE[PRCP FRAME ID INVALID] ;
61: !ADD SPECIFIC ERROR BIT HERE ;
62: JMP LBL[7] ;
63: ;
64: LBL[20:EXTND ERROR CODE] ;
65: MESSAGE[PRCP FRAME EXTND ERROR] ;
66: !ADD SPECIFIC ERROR BIT HERE ;
67: !CHECK EXTENDED ERROR CODE STATUS ;
68: IF R[175:SNSR FIND PRM]=1,JMP LBL[21] ;
69: IF R[175:SNSR FIND PRM]=2,JMP LBL[22] ;
70: IF R[175:SNSR FIND PRM]=3,JMP LBL[23] ;
71: IF R[175:SNSR FIND PRM]=4,JMP LBL[24] ;
72: IF R[175:SNSR FIND PRM]=5,JMP LBL[25] ;
73: JMP LBL[7] ;
74: LBL[21:FRAME LIMIT] ;
75: MESSAGE[FRAME OUTSIDE LIMIT] ;
76: JMP LBL[7] ;
77: LBL[22:CALC ERROR] ;
78: MESSAGE[FRAME CALC NOT CONVERGE] ;
79: JMP LBL[7] ;
80: LBL[23:MEAS MISSING] ;
81: MESSAGE[MEASUREMENT MISSING] ;
82: JMP LBL[7] ;
83: LBL[24:FRAME NOT AVLBL] ;
84: MESSAGE[FRAME NOT AVAILABLE] ;
85: JMP LBL[7] ;
86: LBL[25:NOT VALID CONDTN] ;
87: MESSAGE[VALID CONDTN FAILED] ;
88: JMP LBL[7] ;
89: ;
90: LBL[40:NO DATA AVAIL] ;
91: MESSAGE[PRCP FRAME NOT AVAIL] ;
92: !ADD SPECIFIC ERROR BIT HERE ;
93: JMP LBL[7] ;
94: ;
95: LBL[50:OUT OF ORDER] ;
96: MESSAGE[PRCP FRAME OUT OF ORDER] ;
97: !ADD SPECIFIC ERROR BIT HERE ;
98: JMP LBL[7] ;
99: ;
100: LBL[70:TIMEOUT] ;
101: MESSAGE[PRCP FRAME TIMEOUT] ;
102: !ADD SPECIFIC ERROR BIT HERE ;
103: JMP LBL[7] ;
104: ;
105: LBL[120:OFFLINE MODE] ;
106: MESSAGE[PRCP NOT IN RUN MODE] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 127 of 133


107: !ADD SPECIFIC ERROR BIT HERE ;
108: JMP LBL[7] ;
109: ;
110: LBL[180:COMMAND ERROR] ;
111: MESSAGE[PRCP FRAME DATA ERROR] ;
112: !ADD SPECIFIC ERROR BIT HERE ;
113: JMP LBL[7] ;
114: ;
115: LBL[930:INPUT EXTND ERR] ;
116: MESSAGE[PRCP FRAME EXTND ERROR] ;
117: MESSAGE[MISSING EXTND REGISTER] ;
118: MESSAGE[MISSING - PRCPCOMM CALL] ;
119: !ADD SPECIFIC ERROR BIT HERE ;
120: JMP LBL[7] ;
121: ;
122: LBL[950:INPUT REF FRAME] ;
123: MESSAGE[PRCP FRAME DATA OK] ;
124: MESSAGE[REGISTER - REF FRAME] ;
125: MESSAGE[SET IN MACRO INVALID] ;
126: !ADD SPECIFIC ERROR BIT HERE ;
127: JMP LBL[7] ;
128: ;
129: LBL[960:INPUT OUT FRAME] ;
130: MESSAGE[PRCP FRAME DATA OK] ;
131: MESSAGE[REGISTER - OFFSET FRAME] ;
132: MESSAGE[SET IN MACRO INVALID] ;
133: !ADD SPECIFIC ERROR BIT HERE ;
134: JMP LBL[7] ;
135: ;
136: LBL[4:INPUT ERROR] ;
137: MESSAGE[PRCP COMMAND SKIPPED] ;
138: MESSAGE[ERROR WITH CMD INPUTS] ;
139: JMP LBL[8] ;
140: ;
141: LBL[5:RETRY COUNT] ;
142: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
143: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
144: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
145: MESSAGE[RETRY COMMAND] ;
146: WAIT .40(sec) ;
147: JMP LBL[1] ;
148: ;
149: LBL[6:COMM FAULT] ;
150: MESSAGE[PRCP COMM FAULT] ;
151: R[161:PRCS ID FORMAT]=1 ;
152: !SET GENERIC COMM FAULT BIT ;
153: JMP LBL[8] ;
154: ;
155: LBL[7:COMMAND NAK] ;
156: !SET COMMAND NAK ERROR ;
157: R[162:PRCS ID NUMBER]=1 ;
158: !SET GENERIC NAK ERROR BIT ;
159: JMP LBL[8] ;
160: ;
161: LBL[8:RETURN] ;
162: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 128 of 133


4.2.21 FWTSHIM – Macro
/PROG FWTSHIM Macro
/ATTR
OWNER = ;
COMMENT = "PC WAIT SHIM";
PROG_SIZE = 3820;
CREATE = DATE 11-09-13 TIME 11:57:34;
MODIFIED = DATE 11-09-13 TIME 11:57:34;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 154;
MEMORY_SIZE = 4360;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: !WAIT SHIM OFFSET COMMAND MACRO ;
2: !PRCPCOMM 200-0460 Rev D ;
3: !INPUT 1 - TIMEOUT R[169] ;
4: !INPUT 2 - FIXTURE ID R[171] ;
5: !INPUT 3 - REFERENCE FRAME R[172] ;
6: !INPUT 4 - OFFSET FRAME R[173] ;
7: !INPUT 5 - PR TO STORE FRM R[180] ;
8: !OUTPUT 1 - SHIFT PR[99] ;
9: !OUTPUT 2 - ERROR CODE R[175] ;
10: !RECOMMENDED TIMEOUT - 3 SECONDS ;
11: !WAITS TIMEOUT + 2 FOR REPLY ;
12: !PRCPCOMM RETIRES UP TO 3 TIMES ;
13: !STATUS - IN MACRO CALL R[160] ;
14: !STATUS - COMM FAULT R[161] ;
15: !STATUS - COMMAND NAK R[162] ;
16: !STATUS - RETRY COUNT R[177] ;
17: ;
18: !SET COMMAND PARAMETERS ;
19: R[160:PART ID DATA]=1 ;
20: R[161:PRCS ID FORMAT]=0 ;
21: R[162:PRCS ID NUMBER]=0 ;
22: R[175:SNSR FIND PRM]=0 ;
23: R[177:SNSR NO ACTIVE]=0 ;
24: R[169:TIMEOUT]=AR[1] ;
25: R[171:FIXTURE ID]=AR[2] ;
26: R[172:REFERENCE FRAME]=AR[3] ;
27: R[173:OFFSET FRAME]=AR[4] ;
28: R[180:ALARM WORD 2]=99 ;
29: ;
30: LBL[1:SEND COMMAND] ;
31: R[174:MODE ID]=100 ;
32: MESSAGE[SEND WAIT SHIM OFFSET] ;
33: CALL PRCPCOMM(38,AR[1],AR[2],AR[3],AR[4],R[180:ALARM WORD
2],174,175) ;
34: ;
35: LBL[2:CHECK RX STATUS] ;
36: !CHECK COMMAND REPLY STATUS ;
37: IF R[174:MODE ID]=1,JMP LBL[10] ;
38: IF R[174:MODE ID]=2,JMP LBL[20] ;
39: IF R[174:MODE ID]=4,JMP LBL[40] ;
40: IF R[174:MODE ID]=5,JMP LBL[50] ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 129 of 133


41: IF R[174:MODE ID]=7,JMP LBL[70] ;
42: IF R[174:MODE ID]=12,JMP LBL[120] ;
43: IF R[174:MODE ID]=22,JMP LBL[3] ;
44: IF R[174:MODE ID]=93,JMP LBL[930] ;
45: IF R[174:MODE ID]=95,JMP LBL[950] ;
46: IF R[174:MODE ID]=96,JMP LBL[960] ;
47: IF R[174:MODE ID]=100,JMP LBL[4] ;
48: IF R[174:MODE ID]>100,JMP LBL[5] ;
49: JMP LBL[180] ;
50: ;
51: LBL[3:GOOD STATUS] ;
52: MESSAGE[PRCP FRAME DATA OK] ;
53: JMP LBL[8] ;
54: ;
55: LBL[10:INVALID ID] ;
56: MESSAGE[PRCP FRAME ID INVALID] ;
57: !ADD SPECIFIC ERROR BIT HERE ;
58: JMP LBL[7] ;
59: ;
60: LBL[20:EXTND ERROR CODE] ;
61: MESSAGE[PRCP FRAME EXTND ERROR] ;
62: !ADD SPECIFIC ERROR BIT HERE ;
63: !CHECK EXTENDED ERROR CODE STATUS ;
64: IF R[175:SNSR FIND PRM]=1,JMP LBL[21] ;
65: IF R[175:SNSR FIND PRM]=2,JMP LBL[22] ;
66: IF R[175:SNSR FIND PRM]=3,JMP LBL[23] ;
67: IF R[175:SNSR FIND PRM]=4,JMP LBL[24] ;
68: JMP LBL[7] ;
69: LBL[21:FRAME LIMIT] ;
70: MESSAGE[FRAME OUTSIDE LIMIT] ;
71: JMP LBL[7] ;
72: LBL[22:CALC ERROR] ;
73: MESSAGE[FRAME CALC NOT CONVERGE] ;
74: JMP LBL[7] ;
75: LBL[23:MEAS MISSING] ;
76: MESSAGE[MEASUREMENT MISSING] ;
77: JMP LBL[7] ;
78: LBL[24:FRAME NOT AVLBL] ;
79: MESSAGE[FRAME NOT AVAILABLE] ;
80: JMP LBL[7] ;
81: ;
82: LBL[40:NO DATA AVAIL] ;
83: MESSAGE[PRCP FRAME NOT AVAIL] ;
84: !ADD SPECIFIC ERROR BIT HERE ;
85: JMP LBL[7] ;
86: ;
87: LBL[50:OUT OF ORDER] ;
88: MESSAGE[PRCP FRAME OUT OF ORDER] ;
89: !ADD SPECIFIC ERROR BIT HERE ;
90: JMP LBL[7] ;
91: ;
92: LBL[70:TIMEOUT] ;
93: MESSAGE[PRCP FRAME TIMEOUT] ;
94: !ADD SPECIFIC ERROR BIT HERE ;
95: JMP LBL[7] ;
96: ;
97: LBL[120:OFFLINE MODE] ;
98: MESSAGE[PRCP NOT IN RUN MODE] ;
99: !ADD SPECIFIC ERROR BIT HERE ;
100: JMP LBL[7] ;
101: ;
102: LBL[180:COMMAND ERROR] ;
103: MESSAGE[PRCP FRAME DATA ERROR] ;
104: !ADD SPECIFIC ERROR BIT HERE ;
105: JMP LBL[7] ;
106: ;

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 130 of 133


107: LBL[930:INPUT EXTND ERR] ;
108: MESSAGE[PRCP FRAME EXTND ERROR] ;
109: MESSAGE[MISSING EXTND REGISTER] ;
110: MESSAGE[MISSING - PRCPCOMM CALL] ;
111: !ADD SPECIFIC ERROR BIT HERE ;
112: JMP LBL[7] ;
113: ;
114: LBL[950:INPUT REF FRAME] ;
115: MESSAGE[PRCP FRAME DATA OK] ;
116: MESSAGE[REGISTER - REF FRAME] ;
117: MESSAGE[SET IN MACRO INVALID] ;
118: !ADD SPECIFIC ERROR BIT HERE ;
119: JMP LBL[7] ;
120: ;
121: LBL[960:INPUT OUT FRAME] ;
122: MESSAGE[PRCP FRAME DATA OK] ;
123: MESSAGE[REGISTER - OFFSET FRAME] ;
124: MESSAGE[SET IN MACRO INVALID] ;
125: !ADD SPECIFIC ERROR BIT HERE ;
126: JMP LBL[7] ;
127: ;
128: LBL[4:INPUT ERROR] ;
129: MESSAGE[PRCP COMMAND SKIPPED] ;
130: MESSAGE[ERROR WITH CMD INPUTS] ;
131: JMP LBL[8] ;
132: ;
133: LBL[5:RETRY COUNT] ;
134: MESSAGE[PRCP NO REPLY / TIMEOUT] ;
135: IF R[177:SNSR NO ACTIVE]=2,JMP LBL[6] ;
136: R[177:SNSR NO ACTIVE]=1+R[177:SNSR NO ACTIVE] ;
137: MESSAGE[RETRY COMMAND] ;
138: WAIT .40(sec) ;
139: JMP LBL[1] ;
140: ;
141: LBL[6:COMM FAULT] ;
142: MESSAGE[PRCP COMM FAULT] ;
143: R[161:PRCS ID FORMAT]=1 ;
144: !SET GENERIC COMM FAULT BIT ;
145: JMP LBL[8] ;
146: ;
147: LBL[7:COMMAND NAK] ;
148: !SET COMMAND NAK ERROR ;
149: R[162:PRCS ID NUMBER]=1 ;
150: !SET GENERIC NAK ERROR BIT ;
151: JMP LBL[8] ;
152: ;
153: LBL[8:RETURN] ;
154: R[160:PART ID DATA]=0 ;
/POS
/END

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 131 of 133


5 PMC Logic (S-Logic) for R-30iA Controllers

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 132 of 133


[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 1

N00001 R0000.0 R0000.0


A 1 ALWAYS ON
ALWAYS ALWAYS
ON ON

R0000.0
B
ALWAYS
ON

N00002 R0000.0 G1000.0


C 4 IMMEDIATE STOP
ALWAYS IMSTP
ON

N00003 X0000.0 R0100.5 G1000.1


D 6 *HOLD
DI 1 EXT BREAK A *HOLD
RNENBL NO HOLD

N00004 X1026.4 R0100.5


E 9 S BREAK A NO HOLD
SI12 HOL BREAK A
DSW NO HOLD

N00005 X1026.5 R0100.5


F 11 R BREAK A NO HOLD
SI13 RES BREAK A
ETSW NO HOLD

X1026.4 X1025.6
G
SI12 HOL CYCLE
DSW START

X0000.1 X1026.4
H
DI 2 EX SI12 HOL
RNEN RST DSW

N00006 R0000.0 G1000.2


I 19 SAFE SPEED
ALWAYS SFSPD
ON

N00007 X1000.3 G1000.3


J 21

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 2

N00008 X1025.1 G1000.4


A 23 FAULT RESET
FAULT RB FAULT
RESET RESET

X0000.1 X0001.2
B
DI 2 EX DI 11
RNEN RST PLC AUTO

X1026.5
C
SI13 RES
ETSW

X0000.3
D
DI 4 EXT
CY STRT

X0000.2
E
DI 3 EXT
MTR ON

Y0119.6
F
DO 959 F
LT RESET

N00009 X1000.6 G1000.6


G 32 GO HOME
HOME

N00010 R0000.0 G1000.7


H 34 ENABLE
ALWAYS ENABLE
ON

N00011 F1000.0 Y1000.0


I 36
COMMAND
ENABLE

N00012 F1000.1 Y1000.1


J 38
SYSTEM
READY

Y1025.5
K MOTORS ENABLE
MOTORS
ENABLE

N00013 F1000.2 Y1000.2


L 41
PROGRAM
RUNNING

N00014 F1000.3 Y1000.3


M 43
PAUSED

N00015 F1000.4 Y1000.4


N 45
HELD

Y0000.0
O ROBOT RUN ENABLE INTERRUPT ACK
DO 1 RUN
ENB ACK
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 3

N00016 F1000.5 ACT R0338.0


A 48 SUB 3 0031 INTERNAL FAULT DELAY
FAULT TMR INT FLT
DELAY

N00017 F1000.5 G1000.4 R0397.0 R0338.0 Y1000.5


B 52
FAULT RB FAULT FILTERED INT FLT
RESET FAULT DELAY

Y0120.2 Y0000.4
C ROBOT CONTROLLER FAULT
DO 963 DO 5 RBT
PRG FLT CNT FLT

Y0001.6
D
DO 15 CO
LL DTCT

N00018 F1000.6 Y1000.6


E 60
AT HOME

Y0002.0 Y0000.1
F ROBOT AT HOME
DO 17 RB DO 2 RBT
T @ HM1 @ HOME

Y0002.1
G
DO 18 RB
T @ HM2

Y0002.2
H
DO 19 RB
T @ HM3

Y0002.3
I
DO 20 RB
T @ HM4

Y0002.4
J
DO 21 RB
T @ HM5

Y0002.5
K
DO 22 RB
T @ HM6

Y0002.6
L
DO 23 RB
T @ HM7

N00019 F1000.7 Y1000.7


M 70
TPENABLE

Y0119.7 Y0000.3
N ROBOT IN TEACH
DO 960 DO 4 RBT
AUTO KEY IN TCH

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 4

N00020 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 R1402.6 1


A 74
ECO17 ECO18 ECO19 ECO20 ECO21 ECO22 ECO23
FC1 FC2 FC4 FC8 FC16 FC32 FC64

1 R1402.7 R1405.0
B S
ECO24 FACILITY
FC128 CODE 11

N00021 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 R1400.6 1


C 83
EC01 EC02 ECO3 ECO4 ECO5 ECO6 ECO7

1 R1400.7 R1401.1 R1401.2 R1401.3 R1401.5 R1401.6 2


D
ECO8 ECO10 ECO11 ECO12 ECO14 ECO15

2 R1401.7 R1405.1
E
ECO16 ERROR 4

N00022 R1405.0 R1405.1 G1000.4 R1405.2


F 98 FENCE FAULT
FACILITY ERROR 4 RB FAULT FENCE
CODE 11 RESET FAULT

R1405.2
G
FENCE
FAULT

N00023 R0000.1 F1000.5 R1466.0 F1000.0 F1000.1 K0010.3


H 103 POWER FAIL RECOVERY
INT EXT FAULT BRK PWR COMMAND SYSTEM PWR FAIL
MTR ON FL RCVRY ENABLE READY RECVRY

R0000.2
I
INT EXT
CYC STRT

K0010.3
J
PWR FAIL
RECVRY

N00024 K0010.3 ACT R1466.0


K 111 SUB 3 0027 BREAK POWER FAIL RECOVERY
PWR FAIL TMR BRK PWR
RECVRY FL RCVRY

N00025 Y0000.3 F1000.0 Y0000.4 R0000.1 R0000.2 F1000.1 F1008.0 1


L 115
DO 4 RBT COMMAND DO 5 RBT INT EXT INT EXT SYSTEM STEP
IN TCH ENABLE CNT FLT MTR ON CYC STRT READY

R1404.5 Y0000.2
M
DRP AUTO DO 3 RBT
FAULT IN AUTO

1 F1008.2 X1025.0 R1405.2 K0010.0 Y0001.6 Y0000.2


N ROBOT IN AUTOMATIC
TP FANUC FENCE TEACH DO 15 CO DO 3 RBT
E-STOP E-STOP FAULT MEMORY LL DTCT IN AUTO

N00026 Y0119.5 Y0072.4


O 132 INPUT SIMULATED
DO 958 I DO 581 I
NPUTSIM NPUTSIM
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 5

N00027 R1404.4 R1456.0 R1404.2 F1000.5 G1000.4 R1404.5


A 134 S DROP AUTO FAULT
FC AVAIL APPL FC ZERO FAULT RB FAULT DRP AUTO
ALARMS RESET FAULT

N00028 F1000.5 R1404.5


B 140 R DROP AUTO FAULT
FAULT DRP AUTO
FAULT

G1000.4
C
RB FAULT
RESET

N00029 F1000.5 R1404.0 R1404.1 R1404.4


D 143
FAULT ECO33 ECO FC AVAIL
STROBE RETRIEVE

N00030 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


E 147
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1404.3


F S
ECO23 ECO24 SPOT
FC64 FC128 ALARM

N00031 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


G 157
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.0


H S
ECO23 ECO24 ARC
FC64 FC128 ALARM

N00032 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


I 167
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.1


J S
ECO23 ECO24 SEALER
FC64 FC128 ALARM

N00033 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


K 177
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.2


L S
ECO23 ECO24 SERVOGUN
FC64 FC128 ALARM

N00034 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


M 187
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.3


N S
ECO23 ECO24 TOOLCHNG
FC64 FC128 ALARM

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 6

N00035 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


A 197
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.4


B S
ECO23 ECO24 SYSTEM
FC64 FC128 ALARM

N00036 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


C 207
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1406.0


D S
ECO23 ECO24 FACILITY
FC64 FC128 CODE 15

N00037 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


E 217
FC AVAIL ECO17 ECO18 ECO19 ECO20 ECO21 ECO22
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1404.2


F
ECO23 ECO24 FC ZERO
FC64 FC128

N00038 R1404.1 ACT R1404.3


G 227 SUB57 0001 R
ECO DIFU SPOT
RETRIEVE ALARM

R0330.0
H R
ARC
ALARM

R0330.1
I R
SEALER
ALARM

R0330.2
J R
SERVOGUN
ALARM

R0330.3
K R
TOOLCHNG
ALARM

R0330.4
L R
SYSTEM
ALARM

R1405.0
M R
FACILITY
CODE 11

R1406.0
N R
FACILITY
CODE 15

N00039 R1404.4 ACT R1404.6


O 238 SUB 3 0006
FC AVAIL TMR RETRIEVE
DELAY
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 7

N00040 R1404.6 R1404.1


A 242 S
RETRIEVE ECO
DELAY RETRIEVE

N00041 R1404.1 ACT R1404.1


B 244 SUB 3 0007 R
ECO TMR ECO
RETRIEVE RETRIEVE

N00042 R1404.4 R1404.3 R1404.2 F1000.5 Y0015.5


C 248 S WELD FAULT #1
FC AVAIL SPOT FC ZERO FAULT DO 126 W
ALARM LD FLT 1

N00043 X0083.1 Y0015.5


D 253 R WELD FAULT #1
DI 666 I DO 126 W
NCYCLE1 LD FLT 1

N00044 K0010.1 K0010.0 R0000.1


E 255
EXT MTR TEACH INT EXT
ON MEMORY MTR ON

N00045 X0000.2 K0010.0 K0010.5 K0010.1


F 258 S EXTERNAL MOTORS ON
DI 3 EXT TEACH MAINT ME EXT MTR
MTR ON MEMORY M ON

X1026.5 Y0000.4 F1000.5


G
SI13 RES DO 5 RBT FAULT
ETSW CNT FLT

X1025.1
H
FAULT
RESET

X0000.1 X0001.2
I
DI 2 EX DI 11
RNEN RST PLC AUTO

K0010.3
J
PWR FAIL
RECVRY

N00046 Y0000.2 Y0000.4 G1000.4 K0010.1


K 271 R EXTERNAL MOTORS ON
DO 3 RBT DO 5 RBT RB FAULT EXT MTR
IN AUTO CNT FLT RESET ON

N00047 K0010.2 K0010.0 K0010.5 R0000.2


L 275
EXT CYC TEACH MAINT ME INT EXT
START MEMORY M CYC STRT

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 8

N00048 X0000.3 K0010.0 K0010.2


A 279 S EXTERNAL CYCLE START
DI 4 EXT TEACH EXT CYC
CY STRT MEMORY START

X1026.5 Y0000.4 F1000.5


B
SI13 RES DO 5 RBT FAULT
ETSW CNT FLT

X1025.1
C
FAULT
RESET

X0000.1 X0001.2
D
DI 2 EX DI 11
RNEN RST PLC AUTO

K0010.3
E
PWR FAIL
RECVRY

R0340.0
F
MANUAL
WELD

N00049 Y0000.2 Y0000.4 G1000.4 K0010.2


G 292 R EXTERNAL CYCLE START
DO 3 RBT DO 5 RBT RB FAULT EXT CYC
IN AUTO CNT FLT RESET START

N00050 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


H 296
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.0
I PROGRAM 1
DI 24 PG PROGRAM
SLCT128 1

N00051 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


J 305
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.1
K PROGRAM 2
DI 24 PG PROGRAM
SLCT128 2

N00052 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


L 314
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.2
M PROGRAM 3
DI 24 PG PROGRAM
SLCT128 3

N00053 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


N 323
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.3
O PROGRAM 4
DI 24 PG PROGRAM
SLCT128 4
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 9

N00054 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 332
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.4
B PROGRAM 5
DI 24 PG PROGRAM
SLCT128 5

N00055 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 341
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.5
D PROGRAM 6
DI 24 PG PROGRAM
SLCT128 6

N00056 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


E 350
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.6
F PROGRAM 7
DI 24 PG PROGRAM
SLCT128 7

N00057 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


G 359
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0507.7
H PROGRAM 8
DI 24 PG PROGRAM
SLCT128 8

N00058 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


I 368
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.0
J PROGRAM 9
DI 24 PG PROGRAM
SLCT128 9

N00059 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


K 377
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.1
L PROGRAM 10
DI 24 PG PROGRAM
SLCT128 10

N00060 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


M 386
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.2
N PROGRAM 11
DI 24 PG PROGRAM
SLCT128 11

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 10

N00061 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 395
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.3
B PROGRAM 12
DI 24 PG PROGRAM
SLCT128 12

N00062 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 404
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.4
D PROGRAM 13
DI 24 PG PROGRAM
SLCT128 13

N00063 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


E 413
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.5
F PROGRAM 14
DI 24 PG PROGRAM
SLCT128 14

N00064 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


G 422
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.6
H PROGRAM 15
DI 24 PG PROGRAM
SLCT128 15

N00065 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


I 431
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0508.7
J PROGRAM 16
DI 24 PG PROGRAM
SLCT128 16

N00066 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


K 440
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0509.0
L PROGRAM 17
DI 24 PG PROGRAM
SLCT128 17

N00067 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


M 449
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0509.1
N PROGRAM 18
DI 24 PG PROGRAM
SLCT128 18

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 11

N00068 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 458
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0509.2
B PROGRAM 19
DI 24 PG PROGRAM
SLCT128 19

N00069 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 467
DI 17 PG DI 18 PG DI 19 PG DI 20 PG DI 21 PG DI 22 PG DI 23 PG
SLCT 1 SLCT 2 SLCT 4 SLCT 8 SLCT 16 SLCT 32 SLCT 64

1 X0002.7 R0509.3
D PROGRAM 20
DI 24 PG PROGRAM
SLCT128 20

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 12

N00070 X0000.4 Y0000.2 F1000.2 F1000.3 F1000.6 X0001.2 G1000.1 1


A 476
DI 5 MV DO 3 RBT PROGRAM PAUSED AT HOME DI 11 *HOLD
TO POUNC IN AUTO RUNNING PLC AUTO

Y0000.2 F1000.3 F1000.2 X0001.2


B
DO 3 RBT PAUSED PROGRAM DI 11
IN AUTO RUNNING PLC AUTO

F1000.6 R0507.0 F1000.2 F1000.3


C
AT HOME PROGRAM PROGRAM PAUSED
1 RUNNING

R0507.1
D
PROGRAM
2

R0507.2
E
PROGRAM
3

R0507.3
F
PROGRAM
4

R0507.4
G
PROGRAM
5

R0507.5
H
PROGRAM
6

R0507.6
I
PROGRAM
7

R0507.7
J
PROGRAM
8

R0508.0
K
PROGRAM
9

R0508.1
L
PROGRAM
10

R0508.2
M
PROGRAM
11

R0508.3
N
PROGRAM
12

R0508.4
O
PROGRAM
13
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 13

R0508.5
A
PROGRAM
14

R0508.6
B
PROGRAM
15

R0508.7
C
PROGRAM
16

R0509.0
D
PROGRAM
17

R0509.1
E
PROGRAM
18

R0509.2
F
PROGRAM
19

R0509.3
G
PROGRAM
20

Y0000.2 F1000.3 F1000.2 X0000.1 X0001.2


H
DO 3 RBT PAUSED PROGRAM DI 2 EX DI 11
IN AUTO RUNNING RNEN RST PLC AUTO

X1025.6
I
CYCLE
START

1 R0000.1 D0603.0 Y0000.4 R0100.5 F1000.5 G1000.5


J UOP CYCLE START
INT EXT CYCLE DO 5 RBT BREAK A FAULT UOP CYC
MTR ON STRT DLY CNT FLT NO HOLD START

N00071 G1000.5 F1000.2 ACT D0603.0


K 527 SUB 3 0008 S CYCLE START DELAY
UOP CYC PROGRAM TMR CYCLE
START RUNNING STRT DLY

N00072 D0603.0 ACT D0603.0


L 532 SUB 3 0009 R CYCLE START DELAY
CYCLE TMR CYCLE
STRT DLY STRT DLY

N00073 F1000.2 D0603.0


M 536 R CYCLE START DELAY
PROGRAM CYCLE
RUNNING STRT DLY

N00074
N 538 SUB 1
END1

N00075 Y0119.7 ACT K0010.4


O 539 SUB 3 0011 TEACH MEMORY DELAY
DO 960 TMR TEACH ME
AUTO KEY M DELAY
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 14

N00076 Y0000.3 X1026.5 X1025.1 X1025.6 K0010.0


A 543 TEACH MEMORY
DO 4 RBT SI13 RES FAULT CYCLE TEACH
IN TCH ETSW RESET START MEMORY

K0010.4
B
TEACH ME
M DELAY

K0010.0
C
TEACH
MEMORY

N00077 K0008.0 R0350.0


D 550 MAINTENANCE MODE
AUTO/MAI IN MAINT
NT SS

N00078 R0350.0 ACT D0610.0


E 552 SUB 3 0012 MAINTENANCE MODE DELAY
IN MAINT TMR MAINT
DELAY

N00079 D0610.0 Y0000.2 Y0000.1 X1026.5 X1025.1 K0010.5


F 556 MAINTENANCE MEMORY
MAINT DO 3 RBT DO 2 RBT SI13 RES FAULT MAINT ME
DELAY IN AUTO @ HOME ETSW RESET M

K0010.5 X0000.6
G
MAINT ME DI 7 MAI
M NT PSCLR

N00080 X0000.2 X0000.3 Y0000.2 K0010.6


H 565 EXTERNAL START ANTI-TIE DOWN
DI 3 EXT DI 4 EXT DO 3 RBT EXT STRT
MTR ON CY STRT IN AUTO ANTI TD

K0010.6
I
EXT STRT
ANTI TD

N00081 X0002.0 G1001.0


J 570
DI 17 PG PNS 1
SLCT 1

N00082 X0002.1 G1001.1


K 572
DI 18 PG PNS 2
SLCT 2

N00083 X0002.2 G1001.2


L 574
DI 19 PG PNS 3
SLCT 4

N00084 X0002.3 G1001.3


M 576
DI 20 PG PNS 4
SLCT 8

N00085 X0002.4 G1001.4


N 578
DI 21 PG PNS 5
SLCT 16

N00086 X0002.5 G1001.5


O 580
DI 22 PG PNS 6
SLCT 32
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 15

N00087 X0002.6 G1001.6


A 582
DI 23 PG PNS 7
SLCT 64

N00088 X0002.7 G1001.7


B 584
DI 24 PG PNS 8
SLCT128

N00089 X0000.6 K0008.0 Y0120.5


C 586 MAINTENANCE POSITION CLEAR
DI 7 MAI AUTO/MAI DO 966 M
NT PSCLR NT SS ANTP CLR

N00090 K0008.0 Y0001.4


D 589 SEND ROBOT TO MAINTENANCE
AUTO/MAI DO 13 SN
NT SS DRBT MNT

N00091 Y0112.3 Y0003.0


E 591 CLEAR OF ZONE #1
DO 900 DO 25 CL
CLR ZN 1 R ZON 1

N00092 Y0112.4 Y0003.1


F 593 CLEAR OF ZONE #2
DO 901 DO 26 CL
CLR ZN 2 R ZON 2

N00093 Y0112.5 Y0003.2


G 595 CLEAR OF ZONE #3
DO 902 DO 27 CL
CLR ZN 3 R ZON 3

N00094 Y0112.6 Y0003.3


H 597 CLEAR OF ZONE #4
DO 903 DO 28 CL
CLR ZN 4 R ZON 4

N00095 Y0112.7 Y0003.4


I 599 CLEAR OF ZONE #5
DO 904 DO 29 CL
CLR ZN 5 R ZON 5

N00096 Y0113.0 Y0003.5


J 601 CLEAR OF ZONE #6
DO 905 DO 30 CL
CLR ZN 6 R ZON 6

N00097 Y0113.1 Y0003.6


K 603 CLEAR OF ZONE #7
DO 906 DO 31 CL
CLR ZN 7 R ZON 7

N00098 Y0113.2 Y0003.7


L 605 CLEAR OF ZONE #8
DO 907 DO 32 CL
CLR ZN 8 R ZON 8

N00099 Y0113.3 Y0004.0


M 607 CLEAR OF ZONE #9
DO 908 DO 33 CL
CLR ZN 9 R ZON 9

N00100 Y0113.4 Y0004.1


N 609 CLEAR OF ZONE #10
DO 909 C DO 34 CL
LR ZN 10 R ZON 10

N00101 Y0113.5 Y0004.2


O 611 CLEAR OF ZONE #11
DO 910 C DO 35 CL
LR ZN 11 R ZON 11
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 16

N00102 Y0113.6 Y0004.3


A 613 CLEAR OF ZONE #12
DO 911 C DO 36 CL
LR ZN 12 R ZON 12

N00103 Y0113.7 Y0004.4


B 615 CLEAR OF ZONE #13
DO 912 C DO 37 CL
LR ZN 13 R ZON 13

N00104 Y0116.4 Y0004.5


C 617 CLEAR OF ZONE #14
DO 933 C DO 38 CL
LR ZN 14 R ZON 14

N00105 Y0118.7 Y0004.6


D 619 CLR OF INDEPENDENT MOTION ZN1
DO952 CL DO 39 CL
RMOTZN1 R INDMOT

N00106 Y0119.0 Y0004.7


E 621 CLR OF INDEPENDENT MOTION ZN2
DO953 CL DO 40 CL
RMOTZN2 R INDMT2

N00107 Y0119.1 X0000.0 Y0000.6


F 623 CLEAR TO ADVANCE TRANSFER
DO 954 C DI 1 EXT DO 7 CLR
LRAV XFR RNENBL ADV

N00108 Y0119.2 X0000.0 Y0000.7


G 626 CLEAR TO RETURN TRANSFER
DO 955 C DI 1 EXT DO 8 CLR
LRET XFR RNENBL RET XFR

N00109 Y0119.3 X0000.0 Y0001.0


H 629 CLEAR TO UNCLAMP
DO 956 C DI 1 EXT DO 9 CLR
LR UNCLP RNENBL 2 UNCLP

N00110 Y0000.3 R1000.0 Y0073.0


I 632 PROMPT BOX
DO 4 RBT DO 19001 DO 585
IN TCH PRPTBX PRMPT BX

N00111 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 R1402.6 1


J 635
ECO17 ECO18 ECO19 ECO20 ECO21 ECO22 ECO23
FC1 FC2 FC4 FC8 FC16 FC32 FC64

1 R1402.7 R1405.3
K SYSTEM FACILITY CODE (24)
ECO24 SYS FCLY
FC128 CODE

N00112 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


L 644
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


M
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0365.0


N SRVO-001 OPERATOR PANEL E-STOP
ECO13 ECO14 ECO15 ECO16 SRVO-001

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 17

N00113 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 662
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0366.0


C SRVO-002 TEACH PENDANT E-STOP
ECO13 ECO14 ECO15 ECO16 SRVO-002

N00114 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 680
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0367.0


F SRVO-003 DEADMAN SWITCH RELEAS
ECO13 ECO14 ECO15 ECO16 SRVO-003

N00115 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 698
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0368.0


I SRVO-005 ROBOT OVERTRAVELL
ECO13 ECO14 ECO15 ECO16 SRVO-005

N00116 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 716
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0370.0


L SRVO-007 EXTERNAL EMERGENCY ST
ECO13 ECO14 ECO15 ECO16 SRVO-007

N00117 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 734
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0370.1


O SRVO-408 DCS SSO EXT EMERGSTOP
ECO13 ECO14 ECO15 ECO16 SRVO-408
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 18

N00118 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 752
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.3


C SRVO-50 COLLISION DETECT
ECO13 ECO14 ECO15 ECO16 SRVO-50

N00119 R1406.3 X1025.1 Y0001.6


D 770 COLLISION DETECT
SRVO-50 FAULT DO 15 CO
RESET LL DTCT

Y0001.6
E
DO 15 CO
LL DTCT

N00120 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


F 774
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


G
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.2


H SRVO-65 LOW BATTERY
ECO13 ECO14 ECO15 ECO16 SRVO-65
LOW BATT

N00121 F1001.0 Y0001.1


I 792 ROBOT BATTERY LOW
BATALM DO 10 RB
T BAT LW

N00122 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 794
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0371.0


L SRVO-101 ROBOT OVERATRAVEL
ECO13 ECO14 ECO15 ECO16 SRVO-101

N00123 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 812
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.1


O DISTURBANCE EXCESS(SRVO11)
ECO13 ECO14 ECO15 ECO16 DISTURBA
NCE EXCE
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 19

N00124 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 830
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0373.0


C SRVO-199 CONTROL STOP
ECO13 ECO14 ECO15 ECO16 SRVO-199
CONTROL

N00125 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 848
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0374.0


F SRVO-232 NTED INPUT
ECO13 ECO14 ECO15 ECO16 SRVO-232
NTED IN

N00126 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 866
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0375.0


I SRVO-233 TP OFF IN T1,T2/DOOR
ECO13 ECO14 ECO15 ECO16 SRVO-233
TP OFF

N00127 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 884
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0376.0


L SRVO-280 SVOFF INPUT
ECO13 ECO14 ECO15 ECO16 SRVO-280
SVOFF I

N00128 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 902
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.0


O SRVO-378 OPSFTY11 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-378
OPSFT11
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 20

N00129 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 920
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.1


C SRVO-379 OPSFTY12 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-379
OPSFT12

N00130 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 938
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.2


F SRVO-380 OPSFTY21 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-380
OPSFT21

N00131 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 956
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.3


I SRVO-381 OPSFTY22 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-381
OPSFT22

N00132 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 974
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.4


L SRVO-382 OPSFTY31 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-382
OPSFT31

N00133 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 992
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.5


O SRVO-383 OPSFTY32 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-383
OPSFT32
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 21

N00134 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 1010
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.6


C SRVO-384 OPSFTY41 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-384
OPSFT41

N00135 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 1028
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE 11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.7


F SRVO-385 OPSFTY42 STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-385
OPSFT42

N00136 R0387.0 R0388.0


G 1046 SRVO OPSFTY ABNORM FAULT LATCH
SRVO-378 OPSFTY F
OPSFT11 LT LATCH

R0387.1
H
SRVO-379
OPSFT12

R0387.2
I
SRVO-380
OPSFT21

R0387.3
J
SRVO-381
OPSFT22

R0387.4
K
SRVO-382
OPSFT31

R0387.5
L
SRVO-383
OPSFT32

R0387.6
M
SRVO-384
OPSFT41

R0387.7
N
SRVO-385
OPSFT42

R0388.0 F1000.5
O
OPSFTY F FAULT
LT LATCH
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 22

N00137 R0388.0 Y0073.1


A 1058 SAFETY CHAIN FAULT
OPSFTY F DO 586 S
LT LATCH FTY CHN

N00138 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


B 1060
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


C
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0377.0


D SYST-034 HOLD SIGNAL FROM SOP/
ECO13 ECO14 ECO15 ECO16 SYST-034
HOLD SI

N00139 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


E 1078
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


F
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0378.0


G SYST-038 OPERATION MODE T1 SEL
ECO13 ECO14 ECO15 ECO16 SYST-038
OPERATI

N00140 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


H 1096
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


I
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0379.0


J
ECO13 ECO14 ECO15 ECO16 SYST-039

N00141 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


K 1114
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


L
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0380.0


M SYST-040 OPERATION MODE AUTO S
ECO13 ECO14 ECO15 ECO16 SYST-040
OPERATI

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 23

N00142 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 1132
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0381.0


C SYST-042 DEADMAN DEFEATED
ECO13 ECO14 ECO15 ECO16 SYST-042
DEADMAN

N00143 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 1150
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0382.0


F SYST-043 TP DISABLE IN T1/T2
ECO13 ECO14 ECO15 ECO16 SYST-043
TP DISA

N00144 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 1168
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0383.0


I SYST-045 TP ENABLE IN AUTO MO
ECO13 ECO14 ECO15 ECO16 SYST-045
TP ENAB

N00145 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 1186
SYS FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0384.0


L SYST-154 NO START IN ISOLATE/B
ECO13 ECO14 ECO15 ECO16 SYST-154
NO STAR

N00146 R0397.0 F1000.0 R0397.0


M 1204 FILTERED FAULT
FILTERED COMMAND FILTERED
FAULT ENABLE FAULT

R0398.0
N
FILTER
FLT GRP1

R0399.0
O
FILTER
FLT GRP2
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 24

N00147 R0365.0 R0398.0


A 1209 FILTER FAULTS GROUP1
SRVO-001 FILTER
FLT GRP1

R0366.0
B
SRVO-002

R0367.0
C
SRVO-003

R0368.0
D
SRVO-005

R0369.0
E
R369.0
RESERVED

R0370.0
F
SRVO-007

R0371.0
G
SRVO-101

R0372.0
H
R372.0
RESERVED

R0373.0
I
SRVO-199
CONTROL

R0374.0
J
SRVO-232
NTED IN

R0375.0
K
SRVO-233
TP OFF

R0376.0
L
SRVO-280
SVOFF I

R0370.1
M
SRVO-408

R1456.0
N
APPL
ALARMS

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 25

N00148 R0377.0 R0399.0


A 1224 FILTER FAULTS GROUP2
SYST-034 FILTER
HOLD SI FLT GRP2

R0378.0
B
SYST-038
OPERATI

R0379.0
C
SYST-039

R0380.0
D
SYST-040
OPERATI

R0381.0
E
SYST-042
DEADMAN

R0382.0
F
SYST-043
TP DISA

R0383.0
G
SYST-045
TP ENAB

R0384.0
H
SYST-154
NO STAR

X1025.0
I
FANUC
E-STOP

F1008.2
J
TP
E-STOP

X1026.1
K
SI9
AUTOMDSW

Y0000.3
L
DO 4 RBT
IN TCH

K0010.0
M
TEACH
MEMORY

R1405.2
N
FENCE
FAULT

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 26

N00149 R0330.0 F1000.5 R1456.0


A 1239
ARC FAULT APPL
ALARM ALARMS

R0330.1
B
SEALER
ALARM

R0330.2
C
SERVOGUN
ALARM

R0330.3
D
TOOLCHNG
ALARM

R0330.4
E
SYSTEM
ALARM

R1404.3
F
SPOT
ALARM

R1456.0
G
APPL
ALARMS

N00150 D0001.0 Y0079.0


H 1248 S TOOL CHANGER LOCK
TOOL CHA DO 633 T
NGE APP C LOCK

Y0079.1
I R TOOL CHANGER UNLOCK
DO 634 T
C UNLOCK

N00151 D0001.0 ACT


J 1251 SUB10 0000
TOOL CHA JMP
NGE APP

N00152
K 1254 SUB66 P0001
CALLU TOOL CHANGING

N00153
L 1256 SUB30
JMPE

N00154
M 1257 SUB66 P0004
CALLU AIR SWITCH

N00155
N 1259 SUB66 P0006
CALLU UALM

N00156
O 1261 SUB66 P0007
CALLU INTERFACE
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 27

N00157
A 1263 SUB66 P0008
CALLU MH

N00158
B 1265 SUB66 P0009
CALLU APPLICATION

N00159
C 1267 SUB66 P0024
CALLU VISION

N00160
D 1269 SUB 2
END2

N00161 ### P0001 ###


E 1270 SUB71 P0001
SP TOOL CHANGING

N00162 X0080.0 R0347.0


F 1272 GUN ID NOT 0
DI 641 GUN ID
TOOL ID1 NOT 0

X0080.1
G
DI 642
TOOL ID2

X0080.2
H
DI 643
TOOL ID4

X0080.3
I
DI 644
TOOL ID8

N00163 X0080.0 X0080.1 X0080.2 X0080.3 R0321.0


J 1277
DI 641 DI 642 DI 643 DI 644 GUN 1 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00164 X0080.0 X0080.1 X0080.2 X0080.3 R0322.0


K 1282
DI 641 DI 642 DI 643 DI 644 GUN 2 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00165 X0080.0 X0080.1 X0080.2 X0080.3 R0323.0


L 1287
DI 641 DI 642 DI 643 DI 644 GUN 3 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00166 X0080.0 X0080.1 X0080.2 X0080.3 R0324.0


M 1292
DI 641 DI 642 DI 643 DI 644 GUN 4 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00167 X0080.0 X0080.1 X0080.2 X0080.3 R0325.0


N 1297
DI 641 DI 642 DI 643 DI 644 GUN 5 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00168 X0080.0 X0080.1 X0080.2 X0080.3 R0326.0


O 1302
DI 641 DI 642 DI 643 DI 644 GUN 6 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 28

N00169 X0080.0 X0080.1 X0080.2 X0080.3 R0326.1


A 1307
DI 641 DI 642 DI 643 DI 644 GUN 7 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00170 X0080.0 X0080.1 X0080.2 X0080.3 R0326.2


B 1312
DI 641 DI 642 DI 643 DI 644 GUN 8 ON
TOOL ID1 TOOL ID2 TOOL ID4 TOOL ID8 ARM

N00171 R0321.0 R0328.6


C 1317 TOOL ON ROBOT
GUN 1 ON TOOLONRO
ARM BOT

R0322.0
D
GUN 2 ON
ARM

R0323.0
E
GUN 3 ON
ARM

R0324.0
F
GUN 4 ON
ARM

R0325.0
G
GUN 5 ON
ARM

R0326.0
H
GUN 6 ON
ARM

R0326.1
I
GUN 7 ON
ARM

R0326.2
J
GUN 8 ON
ARM

N00172 R0321.0 R0322.0 R0323.0 R0324.0 R0325.0 R0326.0 R0326.1 1


K 1326
GUN 1 ON GUN 2 ON GUN 3 ON GUN 4 ON GUN 5 ON GUN 6 ON GUN 7 ON
ARM ARM ARM ARM ARM ARM ARM

1 R0326.2 R0348.0
L ANY GEO TOOL PRESENT ON ROBOT
GUN 8 ON GEOTOOLP
ARM RSNT

N00173 X0080.0 Y0038.0


M 1335
DI 641 DO 305
TOOL ID1 TOOL ID1

N00174 X0080.1 Y0038.1


N 1337
DI 642 DO 306
TOOL ID2 TOOL ID2

N00175 X0080.2 Y0038.2


O 1339
DI 643 DO 307
TOOL ID4 TOOL ID4
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 29

N00176 X0080.3 Y0038.3


A 1341
DI 644 DO 308
TOOL ID8 TOOL ID8

N00177 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 X0038.6 1


B 1343
DI 305 DI 306 DI 307 DI 308 DI 309 DI 310 DI 311
TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6 TCSTND7

1 X0038.7 R0327.0
C GUN 1-8 (ALL TOOLS IN STAND)
DI 312 GUN 1-8
TCSTND8

N00178 Y0117.4 K0011.1


D 1352 TOOL CHANGER RELEASE
DO 941 TC
TC UNLCK RELEASED

N00179 Y0117.3 Y0000.2 X0079.4 X0079.5 R0328.6 Y0079.0


E 1354 S TOOL CHANGER LOCK
DO 940 DO 3 RBT DI 637 DI 638 TOOLONRO DO 633 T
TC LOCK IN AUTO RDY2LCK1 RDY2LCK2 BOT C LOCK

F1000.7 Y0119.7 K0015.0 R0328.6


F
TPENABLE DO 960 TC LOCK TOOLONRO
AUTO KEY PB BOT

N00180 X0079.0 Y0040.6


G 1367
DI 633 DO 327 T
TC LOCKD CCOUPMON

N00181 Y0117.4 Y0117.3 Y0000.2 Y0079.0


H 1369 R TOOL CHANGER LOCK
DO 941 DO 940 DO 3 RBT DO 633 T
TC UNLCK TC LOCK IN AUTO C LOCK

F1000.7 Y0119.7 K0016.0


I
TPENABLE DO 960 TC UNLOC
AUTO KEY K PB

N00182 K0011.1 Y0079.0 Y0000.2 X0080.4 X0080.5 1


J 1378
TC DO 633 T DO 3 RBT DI 645 T DI 646 T
RELEASED C LOCK IN AUTO SIV SRV

F1000.7 Y0119.7 K0016.0 R0328.6 2


K
TPENABLE DO 960 TC UNLOC TOOLONRO
AUTO KEY K PB BOT

1 R0328.6 Y0079.1
L TOOL CHANGER UNLOCK
TOOLONRO DO 634 T
BOT C UNLOCK

2
M

N00183 K0015.0 K0016.0 F1000.7 Y0119.7 K0015.0


N 1392 TC LOCK PUSH BUTTON
TC LOCK TC UNLOC TPENABLE DO 960 TC LOCK
PB K PB AUTO KEY PB

N00184 K0016.0 K0015.0 F1000.7 Y0119.7 K0016.0


O 1397 TC UNLOCK PUSH BUTTON
TC UNLOC TC LOCK TPENABLE DO 960 TC UNLOC
K PB PB AUTO KEY K PB
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 30

N00185 X0079.1 Y0040.7


A 1402
DI 634 DO 328 T
TC ULCKD CRELMON

N00186 R0328.6 K0008.0 R0218.4


B 1404 TOOL CHANGER NO TOOL DETECTED
TOOLONRO AUTO/MAI DI 940 T
BOT NT SS C NOTOOL

N00187 Y0117.5 Y0117.6 Y0000.2 Y0038.5


C 1407 TOOL CHANGER OPEN COVERS
DO 942 DO 943 DO 3 RBT DO 310 T
TCOPNCVR TCCLSCVR IN AUTO C OPNCVR

K0011.4 K0011.5 Y0000.3


D
TC OPENG TC CLOS DO 4 RBT
UNCOVER GUNCOVER IN TCH

N00188 Y0117.5 Y0117.6 Y0000.2 Y0038.6


E 1415 TOOL CHANGER CLOSE COVERS
DO 942 DO 943 DO 3 RBT DO 311 T
TCOPNCVR TCCLSCVR IN AUTO C CLSCVR

K0011.5 K0011.4 Y0000.3


F
TC CLOS TC OPENG DO 4 RBT
GUNCOVER UNCOVER IN TCH

N00189 X0038.0 R0321.0 R0329.0


G 1423 GUN1 POSITION
DI 305 GUN 1 ON GUN1 POS
TCSTND1 ARM ITION

X0038.0 X0039.3
H
DI 305 DI 316 G
TCSTND1 EOTPDCK

N00190 X0038.1 R0322.0 R0329.1


I 1429 GUN2 POSITION
DI 306 GUN 2 ON GUN2 POS
TCSTND2 ARM ITION

X0038.1 X0039.3
J
DI 306 DI 316 G
TCSTND2 EOTPDCK

N00191 X0038.2 R0323.0 R0329.2


K 1435 GUN3 POSITION
DI 307 GUN 3 ON GUN3 POS
TCSTND3 ARM ITION

X0038.2 X0039.3
L
DI 307 DI 316 G
TCSTND3 EOTPDCK

N00192 X0038.3 R0324.0 R0329.3


M 1441 GUN4 POSITION
DI 308 GUN 4 ON GUN4 POS
TCSTND4 ARM ITION

X0038.3 X0039.3
N
DI 308 DI 316 G
TCSTND4 EOTPDCK

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 31

N00193 X0038.4 R0325.0 R0329.4


A 1447 GUN5 POSITION
DI 309 GUN 5 ON GUN5 POS
TCSTND5 ARM ITION

X0038.4 X0039.3
B
DI 309 DI 316 G
TCSTND5 EOTPDCK

N00194 X0038.5 R0326.0 R0329.5


C 1453 GUN6 POSITION
DI 310 GUN 6 ON GUN6 POS
TCSTND6 ARM ITION

X0038.5 X0039.3
D
DI 310 DI 316 G
TCSTND6 EOTPDCK

N00195 X0038.6 R0326.1 R0329.6


E 1459 GUN7 POSITION
DI 311 GUN 7 ON GUN7 POS
TCSTND7 ARM ITION

X0038.6 X0039.3
F
DI 311 DI 316 G
TCSTND7 EOTPDCK

N00196 X0038.7 R0326.2 R0329.7


G 1465 GUN8 POSITION
DI 312 GUN 8 ON GUN8 POS
TCSTND8 ARM ITION

X0038.7 X0039.3
H
DI 312 DI 316 G
TCSTND8 EOTPDCK

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 32

N00197 R0329.0 R0328.7


A 1471 ALL GUN1-8 POSITION
GUN1 POS GUN1-8 P
ITION OSITION

R0329.1
B
GUN2 POS
ITION

R0329.2
C
GUN3 POS
ITION

R0329.3
D
GUN4 POS
ITION

R0329.4
E
GUN5 POS
ITION

R0329.5
F
GUN6 POS
ITION

R0329.6
G
GUN7 POS
ITION

R0329.7
H
GUN8 POS
ITION

N00198 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


I 1480
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.0


J TOOL 1 IN OPDOCK
DI 311 DI 312 TOOL1INO
TCSTND7 TCSTND8 PDOCK

N00199 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


K 1490
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.1


L TOOL 2 IN OPDOCK
DI 311 DI 312 TOOL2INO
TCSTND7 TCSTND8 PDOCK

N00200 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


M 1500
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.2


N TOOL 3 IN OPDOCK
DI 311 DI 312 TOOL3INO
TCSTND7 TCSTND8 PDOCK

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 33

N00201 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


A 1510
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.3


B TOOL 4 IN OPDOCK
DI 311 DI 312 TOOL4INO
TCSTND7 TCSTND8 PDOCK

N00202 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


C 1520
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.4


D TOOL 5 IN OPDOCK
DI 311 DI 312 TOOL5INO
TCSTND7 TCSTND8 PDOCK

N00203 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


E 1530
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.5


F TOOL 6 IN OPDOCK
DI 311 DI 312 TOOL6INO
TCSTND7 TCSTND8 PDOCK

N00204 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


G 1540
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.6


H TOOL 7 IN OPDOCK
DI 311 DI 312 TOOL7INO
TCSTND7 TCSTND8 PDOCK

N00205 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


I 1550
DI 316 G DI 305 DI 306 DI 307 DI 308 DI 309 DI 310
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.7


J TOOL 8 IN OPDOCK
DI 311 DI 312 TOOL8INO
TCSTND7 TCSTND8 PDOCK

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 34

N00206 R0320.0 R0319.0


A 1560 ALL TOOLS IN OPDOCK
TOOL1INO ALLTOOLS
PDOCK INOPDOCK

R0320.1
B
TOOL2INO
PDOCK

R0320.2
C
TOOL3INO
PDOCK

R0320.3
D
TOOL4INO
PDOCK

R0320.4
E
TOOL5INO
PDOCK

R0320.5
F
TOOL6INO
PDOCK

R0320.6
G
TOOL7INO
PDOCK

R0320.7
H
TOOL8INO
PDOCK

N00207 X0082.6 Y0038.7


I 1569
DI 663 T DO 312 T
CCOMMOK CCOMMOK

N00208 X0082.7 Y0039.2


J 1571
DI 664 T DO 315 T
CTLSLDPW LSLIDPWR

N00209 X0079.4 X0079.5 G1008.4


K 1573 RTL1&L2SWITCHMISMATCH
DI 637 DI 638 UALM 5
RDY2LCK1 RDY2LCK2

X0079.4 X0079.5
L
DI 637 DI 638
RDY2LCK1 RDY2LCK2

N00210 R0328.6 G1008.5


M 1579 NO TOOL ON ARM
TOOLONRO UALM 6
BOT

N00211 K0013.1 R0000.7 Y0126.7


N 1581 NO TOOL ON EOAT SS
NOTOOLON PART PRE DO 1016
EOATSS SENT NOEOATSS

N00212 K0013.1 R0000.7 K0013.1


O 1584 R NO TOOL ON EOAT SS
NOTOOLON PART PRE NOTOOLON
EOATSS SENT EOATSS
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 35

N00213 Y0039.3 Y0039.3


A 1587 S WRONG TOOL IN STAND
DO 316 W DO 316 W
RNGTLSTD RNGTLSTD

N00214 Y0039.3 X1025.1 Y0000.1 Y0039.3


B 1589 R WRONG TOOL IN STAND
DO 316 W FAULT DO 2 RBT DO 316 W
RNGTLSTD RESET @ HOME RNGTLSTD

N00215
C 1593 SUB72
SPE

N00216 ### AIR SWITCH ###


D 1594 SUB71 P0004
SP AIR SWITCH

N00217 X1020.6 Y0001.5


E 1596 END OF ARM AIR ON
RI 7 AIR DO 14 EO
FL SW A AIR ON

N00218
F 1598 SUB72
SPE

N00219 ### P0006 ###


G 1599 SUB71 P0006
SP UALM

N00220 Y0120.2 X1025.1 Y0120.2


H 1601 PROGRAM FAULT
DO 963 FAULT DO 963
PRG FLT RESET PRG FLT

N00221 Y0120.2 G1008.0


I 1604 PROGRAM VERIFY FAULT
DO 963 UALM1
PRG FLT

N00222 K0010.0 Y0119.7 Y0000.3 G1010.6


J 1606 TEACH MEMORY ON
TEACH DO 960 DO 4 RBT UALM23
MEMORY AUTO KEY IN TCH

N00223 R0000.0 G1011.0


K 1610 GUN DISABLED SELECTOR SWITCH
ALWAYS UALM 25
ON

N00224 R0000.0 G1011.1


L 1612 RETRACT ENABLED
ALWAYS UALM 26
ON

N00225 Y0002.7 G1011.4


M 1614 IN PROGRAM LOOP
DO 24 RB UALM 29
T LOOP

N00226 Y0039.3 G1009.7


N 1616 TC PRESS FAULT RESET
DO 316 W UALM 16
RNGTLSTD

N00227
O 1618 SUB72
SPE
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 36

N00228 ### INTERFACE ###


A 1619 SUB71 P0007
SP INTERFACE

N00229 D0612.1 ACT D0612.0


B 1621 SUB 3 0040 ALL INTERFACE PB TIMEOUT
MH IF PB TMR ALL IF P
TO B TO

D0612.2
C
SEAL IF
PB TO

D0612.3
D
STUD IF
PB TO

D0612.4
E
VISION I
F PB TO

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 37

N00230 K0002.0 D0612.1


A 1628 MH IF PB TO
CLMP1CLS MH IF PB
TO

K0002.1
B
CLMP1OPN

K0002.2
C
CLMP2CLS

K0002.3
D
CLMP2OPN

K0002.4
E
CLMP3CLS

K0002.5
F
CLMP3OPN

K0002.6
G
CLMP4CLS

K0002.7
H
CLMP4OPN

K0003.0
I
CLMP5CLS

K0003.1
J
CLMP5OPN

K0003.2
K
CLMP6CLS

K0003.3
L
CLMP6OPN

K0003.4
M
CLMP7CLS

K0003.5
N
CLMP7OPN

K0003.6
O
CLMP8CLS
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 38

K0003.7
A
CLMP8OPN

K0004.0
B
CLMP9CLS

K0004.1
C
CLMP9OPN

K0004.2
D
CLP10CLS

K0004.3
E
CLP10OPN

K0014.2
F
VAC 1 ON
PB

K0014.3
G
VAC 2 ON
PB

K0014.4
H
VAC 3 ON
PB

K0014.5
I
BLOWOFF
1 ON PB

K0014.6
J
BLOWOFF
2 ON PB

K0014.7
K
BLOWOFF
3 ON PB

K0000.4
L
RERUNPRC
PB

K0000.5
M
ACCPTPRC
PB

K0000.6
N
REJCTPRC
PB

K0000.7
O
INSPCTSE
LPB
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 39

K0011.4
A
TC OPENG
UNCOVER

K0011.5
B
TC CLOS
GUNCOVER

K0016.1
C
VAC 4 ON
PB

K0016.2
D
BLOWOFF
4 ON PB

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 40

N00231 K0009.4 D0612.2


A 1663 SEAL IF PB TO
MAN FLOW SEAL IF
PB1 PB TO

K0008.7
B
RESEAL P
B1

K0011.2
C
AUTO PUR
GE PB1

K0008.2
D
ACCEPTSE
ALER1 IF

K0008.3
E
REJECTSE
ALER1 IF

K0012.3
F
INSPECTI
ON PB 1

K0009.5
G
MAN FLOW
PB2

K0009.0
H
RESEAL P
B2

K0011.3
I
AUTO PUR
GE PB2

K0012.4
J
INSPECTI
ON PB 2

K0013.5
K
ACCEPTSE
ALER2 IF

K0013.6
L
REJECTSE
ALER2 IF

Y0108.7
M
DO 872 A
CKBRKN1

Y0108.2
N
DO 867 A
CKBRKN2

Y0029.3
O
DO 236 A
CKNOZCH1
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 41

Y0033.3
A
DO 268 A
CKNOZCH2

N00232 K0011.7 D0612.3


B 1680 STUD IF PB TO
STUDSKPR STUD IF
EMSTDPB1 PB TO

K0012.0
C
STUDREJE
CTPB1

K0012.1
D
STUDMANU
ALPB1

K0012.2
E
STUDFAUL
TRSTPB1

K0012.6
F
STUDSKPR
EMSTDPB2

K0012.7
G
STUDREJE
CTPB2

K0013.0
H
STUDMANU
ALPB2

K0002.7
I
CLMP4OPN

K0013.2
J
REJECTNO
PGRECLL1

K0013.3
K
REJECTNO
PGRECLL2

K0013.4
L
STUDFAUL
TRSTPB2

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 42

N00233 K0001.4 D0612.4


A 1692 VISION IF PB TO
LOAD2AVE VISION I
RAGE F PB TO

K0001.5
B
ABORTPRO
CESS

K0001.6
C
CALIBREQ
UEST

K0001.7
D
RETRYOPE
RATION

K0001.0
E
LIGHTTES
TPB

N00234
F 1698 SUB72
SPE

N00235 ### P0008 ###


G 1699 SUB71 P0008
SP MH

N00236 Y0000.3 K0004.4 R1410.0


H 1701 MANUAL GRIP ENABLE
DO 4 RBT MAN GRP MAN GRP
IN TCH ENBLE SS ENABLE

N00237 R1410.0 ACT


I 1704 SUB10 0000
MAN GRP JMP
ENABLE

N00238 R0000.0 Y0114.0


J 1707 OPEN CLAMP 1
ALWAYS DO 913
ON OPNCLMP1

N00239 R0000.0 Y0114.1


K 1709 CLOSE CLAMP 1
ALWAYS DO 914
ON CLSCLMP1

N00240 R0000.0 Y0114.2


L 1711 OPEN CLAMP 2
ALWAYS DO 915
ON OPNCLMP2

N00241 R0000.0 Y0114.3


M 1713 CLOSE CLAMP 2
ALWAYS DO 916
ON CLSCLMP2

N00242 R0000.0 Y0114.4


N 1715 OPEN CLAMP 3
ALWAYS DO 917
ON OPNCLMP3

N00243 R0000.0 Y0114.5


O 1717 CLOSE CLAMP 3
ALWAYS DO 918
ON CLSCLMP3
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 43

N00244 R0000.0 Y0114.6


A 1719 OPEN CLAMP 4
ALWAYS DO 919
ON OPNCLMP4

N00245 R0000.0 Y0114.7


B 1721 CLOSE CLAMP 4
ALWAYS DO 920
ON CLSCLMP4

N00246 R0000.0 Y0115.0


C 1723 OPEN CLAMP 5
ALWAYS DO 921
ON OPNCLMP5

N00247 R0000.0 Y0115.1


D 1725 CLOSE CLAMP 5
ALWAYS DO 922
ON CLSCLMP5

N00248 R0000.0 Y0115.2


E 1727 OPEN CLAMP 6
ALWAYS DO 923
ON OPNCLMP6

N00249 R0000.0 Y0115.3


F 1729 CLOSE CLAMP 6
ALWAYS DO 924
ON CLSCLMP6

N00250 R0000.0 Y0115.4


G 1731 OPEN CLAMP 7
ALWAYS DO 925
ON OPNCLMP7

N00251 R0000.0 Y0115.5


H 1733 CLOSE CLAMP 7
ALWAYS DO 926
ON CLSCLMP7

N00252 R0000.0 Y0115.6


I 1735 OPEN CLAMP 8
ALWAYS DO 927
ON OPNCLMP8

N00253 R0000.0 Y0115.7


J 1737 CLOSE CLAMP 8
ALWAYS DO 928
ON CLSCLMP8

N00254 R0000.0 Y0116.0


K 1739 OPEN CLAMP 9
ALWAYS DO 929
ON OPNCLMP9

N00255 R0000.0 Y0116.1


L 1741 CLOSE CLAMP 9
ALWAYS DO 930
ON CLSCLMP9

N00256 R0000.0 Y0116.2


M 1743 OPEN CLAMP 10
ALWAYS DO 931
ON OPNCLP10

N00257 R0000.0 Y0116.3


N 1745 CLOSE CLAMP 10
ALWAYS DO 932
ON CLSCLP10

N00258 R0000.0 Y0127.2


O 1747 VACUUM 1 ON
ALWAYS DO1019 V
ON AC1ON
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 44

N00259 R0000.0 Y0127.3


A 1749 BLOWOFF 1 ON
ALWAYS DO1020 B
ON LWOF1ON

N00260 R0000.0 Y0127.4


B 1751 VACUUM 2 ON
ALWAYS DO1021 V
ON AC2ON

N00261 R0000.0 Y0127.5


C 1753 BLOWOFF 2 ON
ALWAYS DO1022 B
ON LWOF2ON

N00262 R0000.0 Y0127.6


D 1755 VACUUM 3 ON
ALWAYS DO1023 V
ON AC3ON

N00263 R0000.0 Y0127.7


E 1757 BLOWOFF 3 ON
ALWAYS DO1024 B
ON LWOF3ON

N00264 R0000.0 Y0118.5


F 1759 VACUUM 4 ON
ALWAYS DO 950 V
ON AC4ON

N00265 R0000.0 Y0118.6


G 1761 BLOWOFF 4 ON
ALWAYS DO 951 B
ON LWOF4ON

N00266
H 1763 SUB30
JMPE

N00267 R1410.0 ACT R0001.1


I 1764 SUB 3 0038
MAN GRP TMR MAN GRP
ENABLE TO

N00268 R0001.1 ACT


J 1768 SUB10 0000
MAN GRP JMP
TO

N00269 K0002.1 X1026.1 Y0114.0


K 1771 OPEN CLAMP 1
CLMP1OPN SI9 DO 913
AUTOMDSW OPNCLMP1

N00270 Y0114.0 Y0009.0


L 1774 OPEN CLAMP #1
DO 913 DO 73 OP
OPNCLMP1 N CLMP1

N00271 K0002.0 X1026.1 Y0114.1


M 1776 CLOSE CLAMP 1
CLMP1CLS SI9 DO 914
AUTOMDSW CLSCLMP1

N00272 Y0114.1 Y0009.1


N 1779 CLOSE CLAMP #1
DO 914 DO 74 CL
CLSCLMP1 S CLMP1

N00273 K0002.3 X1026.1 Y0114.2


O 1781 OPEN CLAMP 2
CLMP2OPN SI9 DO 915
AUTOMDSW OPNCLMP2
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 45

N00274 Y0114.2 Y0009.2


A 1784 OPEN CLAMP #2
DO 915 DO 75 OP
OPNCLMP2 N CLMP2

N00275 K0002.2 X1026.1 Y0114.3


B 1786 CLOSE CLAMP 2
CLMP2CLS SI9 DO 916
AUTOMDSW CLSCLMP2

N00276 Y0114.3 Y0009.3


C 1789 CLOSE CLAMP #2
DO 916 DO 76 CL
CLSCLMP2 S CLMP2

N00277 K0002.5 X1026.1 Y0114.4


D 1791 OPEN CLAMP 3
CLMP3OPN SI9 DO 917
AUTOMDSW OPNCLMP3

N00278 Y0114.4 Y0009.4


E 1794 OPEN CLAMP #3
DO 917 DO 77 OP
OPNCLMP3 N CLMP 3

N00279 K0002.4 X1026.1 Y0114.5


F 1796 CLOSE CLAMP 3
CLMP3CLS SI9 DO 918
AUTOMDSW CLSCLMP3

N00280 Y0114.5 Y0009.5


G 1799 CLOSE CLAMP #3
DO 918 DO 78 CL
CLSCLMP3 S CLMP3

N00281 K0002.7 X1026.1 Y0114.6


H 1801 OPEN CLAMP 4
CLMP4OPN SI9 DO 919
AUTOMDSW OPNCLMP4

N00282 Y0114.6 Y0009.6


I 1804 OPEN CLAMP #4
DO 919 DO 79 OP
OPNCLMP4 N CLMP4

N00283 K0002.6 X1026.1 Y0114.7


J 1806 CLOSE CLAMP 4
CLMP4CLS SI9 DO 920
AUTOMDSW CLSCLMP4

N00284 Y0114.7 Y0009.7


K 1809 CLOSE CLAMP #4
DO 920 DO 80 CL
CLSCLMP4 S CLMP4

N00285 K0003.1 X1026.1 Y0115.0


L 1811 OPEN CLAMP 5
CLMP5OPN SI9 DO 921
AUTOMDSW OPNCLMP5

N00286 Y0115.0 Y0010.0


M 1814 OPEN CLAMP #5
DO 921 DO 81 OP
OPNCLMP5 N CLMP5

N00287 K0003.0 X1026.1 Y0115.1


N 1816 CLOSE CLAMP 5
CLMP5CLS SI9 DO 922
AUTOMDSW CLSCLMP5

N00288 Y0115.1 Y0010.1


O 1819 CLOSE CLAMP #5
DO 922 DO 82 CL
CLSCLMP5 S CLMP5
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 46

N00289 K0003.3 X1026.1 Y0115.2


A 1821 OPEN CLAMP 6
CLMP6OPN SI9 DO 923
AUTOMDSW OPNCLMP6

N00290 Y0115.2 Y0010.2


B 1824 OPEN CLAMP #6
DO 923 DO 83 OP
OPNCLMP6 N CLMP6

N00291 K0003.2 X1026.1 Y0115.3


C 1826 CLOSE CLAMP 6
CLMP6CLS SI9 DO 924
AUTOMDSW CLSCLMP6

N00292 Y0115.3 Y0010.3


D 1829 CLOSE CLAMP #6
DO 924 DO 84 CL
CLSCLMP6 S CLMP 6

N00293 K0003.5 X1026.1 Y0115.4


E 1831 OPEN CLAMP 7
CLMP7OPN SI9 DO 925
AUTOMDSW OPNCLMP7

N00294 Y0115.4 Y0010.4


F 1834 OPEN CLAMP #7
DO 925 DO 85 OP
OPNCLMP7 N CLMP 7

N00295 K0003.4 X1026.1 Y0115.5


G 1836 CLOSE CLAMP 7
CLMP7CLS SI9 DO 926
AUTOMDSW CLSCLMP7

N00296 Y0115.5 Y0010.5


H 1839 CLOSE CLAMP #7
DO 926 DO 86 CL
CLSCLMP7 S CLAMP7

N00297 K0003.7 X1026.1 Y0115.6


I 1841 OPEN CLAMP 8
CLMP8OPN SI9 DO 927
AUTOMDSW OPNCLMP8

N00298 Y0115.6 Y0010.6


J 1844 OPEN CLAMP #8
DO 927 DO 87 OP
OPNCLMP8 N CLMP8

N00299 K0003.6 X1026.1 Y0115.7


K 1846 CLOSE CLAMP 8
CLMP8CLS SI9 DO 928
AUTOMDSW CLSCLMP8

N00300 Y0115.7 Y0010.7


L 1849 CLOSE CLAMP #8
DO 928 DO 88 CL
CLSCLMP8 S CLAMP8

N00301 K0004.1 X1026.1 Y0116.0


M 1851 OPEN CLAMP 9
CLMP9OPN SI9 DO 929
AUTOMDSW OPNCLMP9

N00302 Y0116.0 Y0011.0


N 1854 OPEN CLAMP #9
DO 929 DO 89 OP
OPNCLMP9 N CLMP9

N00303 K0004.0 X1026.1 Y0116.1


O 1856 CLOSE CLAMP 9
CLMP9CLS SI9 DO 930
AUTOMDSW CLSCLMP9
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 47

N00304 Y0116.1 Y0011.1


A 1859 CLOSE CLAMP #9
DO 930 DO 90 CL
CLSCLMP9 S CLMP9

N00305 K0004.3 X1026.1 Y0116.2


B 1861 OPEN CLAMP 10
CLP10OPN SI9 DO 931
AUTOMDSW OPNCLP10

N00306 Y0116.2 Y0011.2


C 1864 OPEN CLAMP #10
DO 931 DO 91 OP
OPNCLP10 N CLMP10

N00307 K0004.2 X1026.1 Y0116.3


D 1866 CLOSE CLAMP 10
CLP10CLS SI9 DO 932
AUTOMDSW CLSCLP10

N00308 Y0116.3 Y0011.3


E 1869 CLOSE CLAMP #10
DO 932 DO 92 CL
CLSCLP10 S CLMP10

N00309 K0014.2 X1026.1 K0014.1 Y0127.2


F 1871 VACUUM 1 ON
VAC 1 ON SI9 VAC/BLOW DO1019 V
PB AUTOMDSW OFFTIMER AC1ON

N00310 Y0127.2 Y0008.0


G 1875
DO1019 V DO 65 VA
AC1ON C 1 ON

N00311 K0014.5 X1026.1 K0014.1 Y0127.3


H 1877 BLOWOFF 1 ON
BLOWOFF SI9 VAC/BLOW DO1020 B
1 ON PB AUTOMDSW OFFTIMER LWOF1ON

N00312 Y0127.3 Y0008.1


I 1881
DO1020 B DO 66 BL
LWOF1ON WOFF1ON

N00313 K0014.3 X1026.1 K0014.1 Y0127.4


J 1883 VACUUM 2 ON
VAC 2 ON SI9 VAC/BLOW DO1021 V
PB AUTOMDSW OFFTIMER AC2ON

N00314 Y0127.4 Y0008.2


K 1887
DO1021 V DO 67 VA
AC2ON C 2 ON

N00315 K0014.6 X1026.1 K0014.1 Y0127.5


L 1889 BLOWOFF 2 ON
BLOWOFF SI9 VAC/BLOW DO1022 B
2 ON PB AUTOMDSW OFFTIMER LWOF2ON

N00316 Y0127.5 Y0008.3


M 1893
DO1022 B DO 68 BL
LWOF2ON WOFF2ON

N00317 K0014.4 X1026.1 K0014.1 Y0127.6


N 1895 VACUUM 3 ON
VAC 3 ON SI9 VAC/BLOW DO1023 V
PB AUTOMDSW OFFTIMER AC3ON

N00318 Y0127.6 Y0008.4


O 1899
DO1023 V DO 69 VA
AC3ON C 3 ON
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 48

N00319 K0014.7 X1026.1 K0014.1 Y0127.7


A 1901 BLOWOFF 3 ON
BLOWOFF SI9 VAC/BLOW DO1024 B
3 ON PB AUTOMDSW OFFTIMER LWOF3ON

N00320 Y0127.7 Y0008.5


B 1905
DO1024 B DO 70 BL
LWOF3ON WOFF3ON

N00321 K0016.1 X1026.1 K0014.1 Y0118.5


C 1907 VACUUM 4 ON
VAC 4 ON SI9 VAC/BLOW DO 950 V
PB AUTOMDSW OFFTIMER AC4ON

N00322 Y0118.5 Y0008.6


D 1911
DO 950 V DO 71 VA
AC4ON C 4 ON

N00323 K0016.2 X1026.1 K0014.1 Y0118.6


E 1913 BLOWOFF 4 ON
BLOWOFF SI9 VAC/BLOW DO 951 B
4 ON PB AUTOMDSW OFFTIMER LWOF4ON

N00324 Y0118.6 Y0008.7


F 1917
DO 951 B DO 72 BL
LWOF4ON WOFF4ON

N00325
G 1919 SUB30
JMPE

N00326 Y0008.0 ACT K0014.1


H 1920 SUB 3 0032 VACUUM / BLOWOFF TIMER
DO 65 VA TMR VAC/BLOW
C 1 ON OFFTIMER

Y0008.1
I
DO 66 BL
WOFF1ON

Y0008.2
J
DO 67 VA
C 2 ON

Y0008.3
K
DO 68 BL
WOFF2ON

Y0008.4
L
DO 69 VA
C 3 ON

Y0008.5
M
DO 70 BL
WOFF3ON

Y0008.6
N
DO 71 VA
C 4 ON

Y0008.7
O
DO 72 BL
WOFF4ON
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 49

N00327 K0002.0 D0612.0 K0002.0


A 1931 CLMP1 CLOSE
CLMP1CLS ALL IF P CLMP1CLS
B TO

N00328 K0002.1 D0612.0 K0002.1


B 1934 CLMP1 OPEN
CLMP1OPN ALL IF P CLMP1OPN
B TO

N00329 K0002.2 D0612.0 K0002.2


C 1937 CLMP2 CLOSE
CLMP2CLS ALL IF P CLMP2CLS
B TO

N00330 K0002.3 D0612.0 K0002.3


D 1940 CLMP2 OPEN
CLMP2OPN ALL IF P CLMP2OPN
B TO

N00331 K0002.4 D0612.0 K0002.4


E 1943 CLMP3 CLOSE
CLMP3CLS ALL IF P CLMP3CLS
B TO

N00332 K0002.5 D0612.0 K0002.5


F 1946 CLMP3 OPEN
CLMP3OPN ALL IF P CLMP3OPN
B TO

N00333 K0002.6 D0612.0 K0002.6


G 1949 CLMP4 CLOSE
CLMP4CLS ALL IF P CLMP4CLS
B TO

N00334 K0002.7 D0612.0 K0002.7


H 1952 CLMP4 OPEN
CLMP4OPN ALL IF P CLMP4OPN
B TO

N00335 K0003.0 D0612.0 K0003.0


I 1955 CLMP5 CLOSE
CLMP5CLS ALL IF P CLMP5CLS
B TO

N00336 K0003.1 D0612.0 K0003.1


J 1958 CLMP5 OPEN
CLMP5OPN ALL IF P CLMP5OPN
B TO

N00337 K0003.2 D0612.0 K0003.2


K 1961 CLMP6 CLOSE
CLMP6CLS ALL IF P CLMP6CLS
B TO

N00338 K0003.3 D0612.0 K0003.3


L 1964 CLMP6 OPEN
CLMP6OPN ALL IF P CLMP6OPN
B TO

N00339 K0003.4 D0612.0 K0003.4


M 1967 CLMP7 CLOSE
CLMP7CLS ALL IF P CLMP7CLS
B TO

N00340 K0003.5 D0612.0 K0003.5


N 1970 CLMP7 OPEN
CLMP7OPN ALL IF P CLMP7OPN
B TO

N00341 K0003.6 D0612.0 K0003.6


O 1973 CLMP8 CLOSE
CLMP8CLS ALL IF P CLMP8CLS
B TO
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 50

N00342 K0003.7 D0612.0 K0003.7


A 1976 CLMP8 OPEN
CLMP8OPN ALL IF P CLMP8OPN
B TO

N00343 K0004.0 D0612.0 K0004.0


B 1979 CLMP9 CLOSE
CLMP9CLS ALL IF P CLMP9CLS
B TO

N00344 K0004.1 D0612.0 K0004.1


C 1982 CLMP9 OPEN
CLMP9OPN ALL IF P CLMP9OPN
B TO

N00345 K0004.2 D0612.0 K0004.2


D 1985 CLMP10 CLOSE
CLP10CLS ALL IF P CLP10CLS
B TO

N00346 K0004.3 D0612.0 K0004.3


E 1988 CLMP10 OPEN
CLP10OPN ALL IF P CLP10OPN
B TO

N00347 K0014.2 D0612.0 K0014.2


F 1991
VAC 1 ON ALL IF P VAC 1 ON
PB B TO PB

N00348 K0014.3 D0612.0 K0014.3


G 1994
VAC 2 ON ALL IF P VAC 2 ON
PB B TO PB

N00349 K0014.4 D0612.0 K0014.4


H 1997
VAC 3 ON ALL IF P VAC 3 ON
PB B TO PB

N00350 K0016.1 D0612.0 K0016.1


I 2000
VAC 4 ON ALL IF P VAC 4 ON
PB B TO PB

N00351 K0014.5 D0612.0 K0014.5


J 2003
BLOWOFF ALL IF P BLOWOFF
1 ON PB B TO 1 ON PB

N00352 K0014.6 D0612.0 K0014.6


K 2006
BLOWOFF ALL IF P BLOWOFF
2 ON PB B TO 2 ON PB

N00353 K0014.7 D0612.0 K0014.7


L 2009
BLOWOFF ALL IF P BLOWOFF
3 ON PB B TO 3 ON PB

N00354 K0016.2 D0612.0 K0016.2


M 2012
BLOWOFF ALL IF P BLOWOFF
4 ON PB B TO 4 ON PB

N00355 K0000.4 Y0012.6


N 2015 RERUN PROCESS
RERUNPRC DO 103 R
PB ERUNPRC

N00356 K0000.5 Y0012.7


O 2017 ACCEPT PROCESS
ACCPTPRC DO 104 A
PB CCPTPRC
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 51

N00357 K0000.6 Y0013.0


A 2019 REJECT PROCESS
REJCTPRC DO 105 R
PB EJCTPRC

N00358 K0000.7 Y0013.1


B 2021 INSPECTION SELECTED
INSPCTSE DO 106 I
LPB NSP SEL

K0001.3 K0001.5
C
VISIONIN ABORTPRO
TERVENSS CESS

Y0013.1 K0001.5
D
DO 106 I ABORTPRO
NSP SEL CESS

N00359 K0000.4 D0612.0 K0000.4


E 2029 S RERUN PROCESS PB
RERUNPRC ALL IF P RERUNPRC
PB B TO PB

N00360 K0000.4 D0612.0 K0000.4


F 2032 R RERUN PROCESS PB
RERUNPRC ALL IF P RERUNPRC
PB B TO PB

N00361 K0000.5 D0612.0 K0000.5


G 2035 S ACCEPT PROCESS PB
ACCPTPRC ALL IF P ACCPTPRC
PB B TO PB

N00362 K0000.5 D0612.0 K0000.5


H 2038 R ACCEPT PROCESS PB
ACCPTPRC ALL IF P ACCPTPRC
PB B TO PB

N00363 K0000.6 D0612.0 K0000.6


I 2041 S REJECT PROCESS PB
REJCTPRC ALL IF P REJCTPRC
PB B TO PB

N00364 K0000.6 D0612.0 K0000.6


J 2044 R REJECT PROCESS PB
REJCTPRC ALL IF P REJCTPRC
PB B TO PB

N00365 K0000.7 D0612.0 K0000.7


K 2047 S INSPECTION SELECTED PB
INSPCTSE ALL IF P INSPCTSE
LPB B TO LPB

N00366 K0000.7 D0612.0 K0000.7


L 2050 R INSPECTION SELECTED PB
INSPCTSE ALL IF P INSPCTSE
LPB B TO LPB

N00367 K0011.4 D0612.0 K0011.4


M 2053 TOOL CHANGER OPEN GUN COVER
TC OPENG ALL IF P TC OPENG
UNCOVER B TO UNCOVER

N00368 K0011.5 D0612.0 K0011.5


N 2056 TOOL CHANGER CLOSE GUN COVER
TC CLOS ALL IF P TC CLOS
GUNCOVER B TO GUNCOVER

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 52

N00369 X0008.2 R0000.7


A 2059 PART PRESENT ON EOAT
DI 67 PR PART PRE
T PRES1 SENT

X0008.3
B
DI 68 PR
T PRES2

X0008.4
C
DI 69 PR
T PRES3

X0008.5
D
DI 70 PR
T PRES4

X0008.6
E
DI 71 PR
T PRES5

X0008.7
F
DI 72 PR
T PRES6

N00370
G 2066 SUB72
SPE

N00371 ### APPLICATION ###


H 2067 SUB71 P0009
SP APPLICATION

N00372 D0000.0 Y0048.0


I 2069 MATERIAL HANLDING APPLICATION
MH APP DO 385 M
H APP

N00373 D0000.1 Y0048.1


J 2071 WELD 1 APPLICATION
WELD 1 A DO 386
PP WLD1 APP

N00374 D0000.2 Y0048.2


K 2073 WELD 2 APPLICATION
WELD 2 A DO 387 W
PP LD2 APP

N00375 D0000.3 Y0048.3


L 2075 NUT FEED APPLICATION
NUT FEED DO 388 N
APP UTFD APP

N00376 D0000.4 Y0048.4


M 2077 SEALER 1 APPLICATION
SEAL 1 A DO 389 S
PP LR 1 APP

N00377 D0000.5 Y0048.5


N 2079 SEALER 2 APPLICATION
SEAL 2 DO 390 S
APP LR 2 APP

N00378 D0000.6 Y0048.6


O 2081 STUD WELD 1 APPLICATION
STUD 1 A DO 391 S
PP TDW 1APP
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 53

N00379 D0000.7 Y0048.7


A 2083 STUD WELD 2 APPLICATION
STUD 2 A DO 392 S
PP TDW 2APP

N00380 D0001.0 Y0049.0


B 2085 TOOL CHANGE APPLICATION
TOOL CHA DO 393 T
NGE APP C APP

N00381 D0001.1 Y0049.1


C 2087 RIVET 1 APPLICAYION
RIVET 1 DO 394 R
APP VT 1 APP

N00382 D0001.2 Y0049.2


D 2089 RIVET 2 APPLICATION
RIVET 2 DO 395 R
APP VT 2 APP

N00383 D0001.3 Y0049.3


E 2091 NUT RUNNER APPLICATION
NUT RUNN DO 396 N
ER APP UTR APP

N00384 D0001.4 Y0049.4


F 2093 MIG WELD APPLICATION
MIG WELD DO 397 M
APP IGW APP

N00385 D0001.5 Y0049.5


G 2095 ROLL HEMMER APPLICATION
ROLLER H DO 398 R
EMM APP LLHEM AP

N00386 D0001.6 Y0049.6


H 2097 LASER CUT APPLICATION
LASER CU DO 399 L
T APP SRCT APP

N00387 D0001.7 Y0049.7


I 2099 PLASMA CUT APPLICATION
PLASMA C DO 400 P
UT APP LSMA APP

N00388 D0002.0 Y0050.0


J 2101 LASER WELD APPLICATION
LASER WE DO 401 L
LD APP SRWLDAPP

N00389 D0002.1 Y0050.1


K 2103 OPERATOR LOAD APPLICATION
OPER LOA DO 402 O
D APP P LD APP

N00390 D0002.2 Y0050.2


L 2105 VISION APPLICATION
VISION A DO 403 V
PP IS APP

N00391 D0002.3 Y0050.3


M 2107 PROGRAM LOCATOR APPLICATION
PROG LOC DO 404 P
APP RG LCAPP

N00392 D0002.4 Y0050.4


N 2109 INTERFACE DEFINITION BIT 21
IF DEF DO 405
21 INDEFB21

N00393 D0002.5 Y0050.5


O 2111 NUT FEEDER 2 APPLICATION
NUT FEED DO 406 N
ER 2 APP TFD 2APP
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 54

N00394 D0002.6 Y0050.6


A 2113 INTERFACE DEFINITION BIT 23
IF DEF DO 407 I
23 NDEF B23

N00395 D0002.7 Y0050.7


B 2115 INTERFACE DEFINITION BIT 24
IF DEF DO 408 I
24 NDEF B24

N00396 D0003.0 Y0051.0


C 2117 INTERFACE DEFINITION BIT 25
IF DEF DO 409 I
25 NDEF B25

N00397 D0003.1 Y0051.1


D 2119 INTERFACE DEFINITION BIT 26
IF DEF DO 410 I
26 NDEF B26

N00398 D0003.2 Y0051.2


E 2121 INTERFACE DEFINITION BIT 27
IF DEF DO 411 I
27 NDEF B27

N00399 D0003.3 Y0051.3


F 2123 INTERFACE DEFINITION BIT 28
IF DEF DO 412 I
28 NDEF B28

N00400 D0003.4 Y0051.4


G 2125 INTERFACE DEFINITION BIT 29
IF DEF DO 413 I
29 NDEF B29

N00401 D0003.5 Y0051.5


H 2127 INTERFACE DEFINITION BIT 30
IF DEF DO 414 I
30 NDEF B30

N00402 D0003.6 Y0051.6


I 2129 INTERFACE DEFINITION BIT 31
IF DEF DO 415 I
31 NDEF B31

N00403 D0003.7 Y0051.7


J 2131 INTERFACE DEFINITION BIT 32
IF DEF DO 416 I
32 NDEF B32

N00404
K 2133 SUB72
SPE

N00405 ### P0012 ###


L 2134 SUB71 P0012
SP DISPENSE1

N00406 X0000.0 R0355.0


M 2136 INTERNAL EXTERNAL RUN ENABLE
DI 1 EXT INT EXT
RNENBL RUN ENAB

N00407 R0355.0 ACT D0601.0


N 2138 SUB 3 0016 EXTERNAL RUN ENABLE DELAY
INT EXT TMR EXT RUN
RUN ENAB ENBL DLY

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 55

N00408 Y0118.0 Y0118.0 Y0083.2 R0355.1


A 2142 START DISPENSE1
DO 945 S DO 945 S DO 667 R START DI
TRTDISP1 TRTDISP1 UN MODE SPENSE1

R0355.1 Y0000.3 X0000.0 D0601.0


B
START DI DO 4 RBT DI 1 EXT EXT RUN
SPENSE1 IN TCH RNENBL ENBL DLY

N00409 X0000.0 ACT D0602.0


C 2153 SUB 3 0023 E-STOP RECVER SLW REPEAT TIMER
DI 1 EXT TMR SLOW REP
RNENBL EAT TIMR

N00410 F1000.4 ACT D0605.0


D 2157 SUB 3 0024 E-STOP RECOVER START DELAY
HELD TMR ESTOP RE
C SDLY

N00411 D0602.0 ACT D0604.0


E 2161 SUB 3 0025 ESTOP RECOVERY DELAY
SLOW REP TMR ESTOP RE
EAT TIMR C DELAY

N00412 R0355.1 Y0083.2 X0001.1 Y0083.5


F 2165 START DISP CYCLE1
START DI DO 667 R DI 10 AU DO 670
SPENSE1 UN MODE TO REPT STRT DSP

N00413 K0009.6 X0001.1 Y0084.6


G 2169 FLOW / NO FLOW1
WET/DRY DI 10 AU DO 679
MODE TO REPT FLWNOFLW

Y0092.6
H FLOW / NO FLOW2
DO 743 F
LWNOFLW

N00414 Y0084.6 Y0048.4 D0005.1


I 2173 WET MODE SEALER 1
DO 679 DO 389 S WETMODES
FLWNOFLW LR 1 APP EALER1

N00415 Y0092.6 Y0048.5 D0005.2


J 2176 WET MODE SEALER 2
DO 743 F DO 390 S WETMODES
LWNOFLW LR 2 APP EALER2

Y0048.5
K
DO 390 S
LR 2 APP

N00416 D0005.1 D0005.2 Y0026.0


L 2180
WETMODES WETMODES DO 209 F
EALER1 EALER2 LWSLSW

N00417 K0009.4 Y0084.0


M 2183 MANUAL FLOW1
MAN FLOW DO 673 M
PB1 ANFLW

N00418 K0008.4 Y0027.3 Y0027.2 K0008.4


N 2185 S ENABLE ACCEPT/REJECT 1
ENBACCEP DO 220 R DO 219 A ENBACCEP
TREJECT1 EJSEAL1 CCPTSL1 TREJECT1

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 56

N00419 K0008.2 Y0027.2 K0008.4


A 2189 R ENABLE ACCEPT/REJECT 1
ACCEPTSE DO 219 A ENBACCEP
ALER1 IF CCPTSL1 TREJECT1

K0008.3 Y0027.3
B
REJECTSE DO 220 R
ALER1 IF EJSEAL1

N00420 K0008.4 K0008.2 K0008.3 Y0027.2


C 2195
ENBACCEP ACCEPTSE REJECTSE DO 219 A
TREJECT1 ALER1 IF ALER1 IF CCPTSL1

N00421 K0008.4 K0008.2 K0008.3 Y0027.3


D 2199
ENBACCEP ACCEPTSE REJECTSE DO 220 R
TREJECT1 ALER1 IF ALER1 IF EJSEAL1

N00422 X0083.4 Y0026.1


E 2203
DI 669 S DO 210 S
LREADY1 EALRDY1

N00423 X0083.1 Y0026.2


F 2205
DI 666 I DO 211 S
NCYCLE1 EALCYCL1

N00424 X0083.3 Y0026.3


G 2207
DI 668 N DO 212 M
OFLT1 AJFLT1

N00425 X0083.7 Y0026.4


H 2209
DI 672 V DO 213 V
OLOK1 OL OK1

N00426 Y0086.1 Y0028.2


I 2211
DO 690 @ DO 227 A
PRGBUCK TPURGBC1

N00427 X0083.0 Y0028.4


J 2213
DI 665 C DO 229 S
OMM OK1 LCOMMOK1

N00428 X0083.6 Y0027.4


K 2215
DI 671 C DO 221 C
YCCMP1 YCCMP1

N00429 X0085.5 Y0027.5


L 2217
DI 686 2 DO 222 N
CINMIX1 O2CMIX1

N00430 X0084.2 Y0027.6


M 2219
DI 675 M DO 223 M
INFLT1 INORFLT1

N00431 X0086.2 Y0028.0


N 2221
DI 691 N DO 225 N
OZZCHG1 OZCHGRQ1

N00432 X0084.0 Y0028.1


O 2223
DI 673 H DO 226 H
I/LO1 ILOWARN1
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 57

N00433 X0026.2 Y0086.3


A 2225 FAULT RESET1
DI 211 R DO 692 F
STSL FLT AULTRST

Y0094.3
B FAULT RESET2
DO 756 F
AULTRST2

N00434 Y0127.0 Y0086.1 Y0085.3


C 2228 PURGE1
DO 1017 DO 690 @ DO 684
PURGE1 PRGBUCK PURGE

X0026.4
D
DI 213 A
PRGESL 1

N00435 X0027.0 Y0084.7


E 2232 RESTART PULSE1
DI 217 R DO 680
STRTPLS1 RESTRT

N00436 K0008.7 Y0027.0


F 2234
RESEAL P DO 217 R
B1 ESEALPB1

N00437 K0011.2 Y0026.5


G 2236
AUTO PUR DO 214 A
GE PB1 UTPRGPB1

N00438 X0027.0 Y0084.7


H 2238 RESTART PULSE1
DI 217 R DO 680
STRTPLS1 RESTRT

N00439 X0084.0 Y0028.1


I 2240
DI 673 H DO 226 H
I/LO1 ILOWARN1

N00440 X0084.3 Y0028.3


J 2242
DI 676 D DO 228 S
EPRESSIZ EALDEPR1

N00441 X0084.4 Y0028.6


K 2244
DI 677 P DO 231 P
URGCOMP1 URGCOMP1

N00442 X0084.5 Y0028.7


L 2246
DI678 PU DO 232 P
RGEACTV1 URGACTV1

N00443 X0027.1 Y0086.2


M 2248 ACK NOZZLE CHANGED1
DI 218 A DO 691 A
CKNZCHG1 CKNOZCHG

N00444 X0084.6 Y0029.0


N 2250
DI 679 R DO 233 S
EFERREQ1 LRREFER1

N00445 K0009.4 D0612.0 K0009.4


O 2252 MANUAL FLOW PB 1
MAN FLOW ALL IF P MAN FLOW
PB1 B TO PB1
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 58

N00446 K0008.7 D0612.0 K0008.7


A 2255 RESEAL PB1
RESEAL P ALL IF P RESEAL P
B1 B TO B1

N00447 K0011.2 D0612.0 K0011.2


B 2258 AUTO PURGE PB1
AUTO PUR ALL IF P AUTO PUR
GE PB1 B TO GE PB1

N00448 K0008.2 D0612.0 K0008.2


C 2261 ACCEPT SEALER 1
ACCEPTSE ALL IF P ACCEPTSE
ALER1 IF B TO ALER1 IF

N00449 K0008.3 D0612.0 K0008.3


D 2264 REJECT SEALER 1
REJECTSE ALL IF P REJECTSE
ALER1 IF B TO ALER1 IF

N00450 K0012.3 D0612.0 K0012.3


E 2267 INSPECTION PB 1
INSPECTI ALL IF P INSPECTI
ON PB 1 B TO ON PB 1

N00451 X0084.1 Y0029.1


F 2270
DI 674 D DO 234 D
OSRFIL1 OSRFILL1

N00452 K0012.3 Y0028.5


G 2272
INSPECTI DO 230 I
ON PB 1 NSPCSEL1

N00453 X0085.6 Y0029.2


H 2274
DI 687 E DO 235 H
RRHEAT1 T/CLERR1

N00454 Y0108.7 D0612.0 Y0108.7


I 2276 ACKNOWLEDGE BROKEN NOZZLE PB 1
DO 872 A ALL IF P DO 872 A
CKBRKN1 B TO CKBRKN1

N00455 Y0029.3 D0612.0 Y0029.3


J 2279
DO 236 A ALL IF P DO 236 A
CKNOZCH1 B TO CKNOZCH1

N00456
K 2282 SUB72
SPE

N00457 ### P0013 ###


L 2283 SUB71 P0013
SP DISPENSE2

N00458 Y0117.7 Y0117.7 Y0091.2 R0355.2


M 2285 START DISPENSE2
DO 944 S DO 944 S DO 731 R START DI
TRTDISP2 TRTDISP2 UN MODE SPENSE2

R0355.2 Y0000.3 X0000.0 D0601.0


N
START DI DO 4 RBT DI 1 EXT EXT RUN
SPENSE2 IN TCH RNENBL ENBL DLY

N00459 R0355.2 Y0091.2 X0001.1 Y0091.5


O 2296 START DISP CYCLE2
START DI DO 731 R DI 10 AU DO 734 S
SPENSE2 UN MODE TO REPT TRT DSP
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 59

N00460 K0009.5 Y0092.0


A 2300 MANUAL FLOW2
MAN FLOW DO 737 M
PB2 ANFLW

N00461 K0013.7 Y0031.3 Y0031.2 K0013.7


B 2302 S ENABLE ACCEPT/REJECT 2
ENBACCEP DO 252 R DO 251 A ENBACCEP
TREJECT2 EJSEAL2 CCPTSL2 TREJECT2

N00462 K0013.5 Y0031.2 K0013.7


C 2306 R ENABLE ACCEPT/REJECT 2
ACCEPTSE DO 251 A ENBACCEP
ALER2 IF CCPTSL2 TREJECT2

K0013.6 Y0031.3
D
REJECTSE DO 252 R
ALER2 IF EJSEAL2

N00463 K0013.7 K0013.5 K0013.6 Y0031.2


E 2312
ENBACCEP ACCEPTSE REJECTSE DO 251 A
TREJECT2 ALER2 IF ALER2 IF CCPTSL2

N00464 K0013.7 K0013.5 K0013.6 Y0031.3


F 2316
ENBACCEP ACCEPTSE REJECTSE DO 252 R
TREJECT2 ALER2 IF ALER2 IF EJSEAL2

N00465 X0091.4 Y0030.1


G 2320
DI 733 S DO 242 S
LREADY2 EALRDY2

N00466 X0091.1 Y0030.2


H 2322
DI 730 I DO 243 S
NCYCLE2 EALCYCL2

N00467 X0091.3 Y0030.3


I 2324
DI 732 N DO 244 M
OFLT2 AJFLT2

N00468 X0091.7 Y0030.4


J 2326
DI 736 V DO 245 V
OLOK2 OL OK2

N00469 Y0094.1 Y0032.2


K 2328
DO 754 @ DO 259 A
PRGBUCK2 TPURGBC2

N00470 X0091.0 Y0032.4


L 2330
DI 729 C DO 261 S
OMM OK2 LCOMMOK2

N00471 X0091.6 Y0031.4


M 2332
DI 735 C DO 253 C
YCCMP2 YCCMP2

N00472 X0093.5 Y0031.5


N 2334
DI 750 2 DO 254 N
CINMIX2 O2CMIX2

N00473 X0092.2 Y0031.6


O 2336
DI 739 M DO 255 M
INFLT2 INORFLT2
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 60

N00474 X0094.2 Y0032.0


A 2338
DI 755 N DO 257 N
OZZCHG2 OZCHGRQ2

N00475 X0092.0 Y0032.1


B 2340
DI 737 H DO 258 H
I/LO2 ILOWARN2

N00476 Y0127.1 Y0094.1 Y0093.3


C 2342 PURGE2
DO 1018 DO 754 @ DO 748 P
PURGE2 PRGBUCK2 URGE2

X0030.4
D
DI 245 A
PRGESL 2

N00477 X0031.0 Y0092.7


E 2346 RESTART PULSE2
DI 249 R DO 744 R
STRTPLS2 ESTRT

N00478 K0009.0 Y0031.0


F 2348
RESEAL P DO 249 R
B2 ESEALPB2

N00479 K0011.3 Y0030.5


G 2350
AUTO PUR DO 246 A
GE PB2 UTPRGPB2

N00480 X0031.0 Y0092.7


H 2352 RESTART PULSE2
DI 249 R DO 744 R
STRTPLS2 ESTRT

N00481 X0092.0 Y0032.1


I 2354
DI 737 H DO 258 H
I/LO2 ILOWARN2

N00482 X0092.3 Y0032.3


J 2356
DI 740 D DO 260 S
EPRESIZ2 EALDEPR2

N00483 X0092.4 Y0032.6


K 2358
DI 741 P DO 263 P
URGCOMP2 URGCOMP2

N00484 X0092.5 Y0032.7


L 2360
DI742 PU DO 264 P
RGEACTV2 URGACTV2

N00485 X0031.1 Y0094.2


M 2362 ACK NOZZLE CHANGED2
DI 250 A DO 755 A
CKNZCHG2 CKNOZCH2

N00486 X0092.6 Y0033.0


N 2364
DI 743 R DO 265 S
EFERREQ2 LRREFER2

N00487 K0009.5 D0612.0 K0009.5


O 2366 MANUAL FLOW PB 2
MAN FLOW ALL IF P MAN FLOW
PB2 B TO PB2
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 61

N00488 K0009.0 D0612.0 K0009.0


A 2369 RESEAL PB2
RESEAL P ALL IF P RESEAL P
B2 B TO B2

N00489 K0011.3 D0612.0 K0011.3


B 2372 AUTO PURGE PB2
AUTO PUR ALL IF P AUTO PUR
GE PB2 B TO GE PB2

N00490 K0013.5 D0612.0 K0013.5


C 2375 ACCEPT SEALER 2
ACCEPTSE ALL IF P ACCEPTSE
ALER2 IF B TO ALER2 IF

N00491 K0013.6 D0612.0 K0013.6


D 2378 REJECT SEALER 2
REJECTSE ALL IF P REJECTSE
ALER2 IF B TO ALER2 IF

N00492 K0012.4 D0612.0 K0012.4


E 2381 INSPECTION PB 2
INSPECTI ALL IF P INSPECTI
ON PB 2 B TO ON PB 2

N00493 X0092.1 Y0033.1


F 2384
DI 738 D DO 266 D
OSRFIL2 OSRFILL2

N00494 K0012.4 Y0032.5


G 2386
INSPECTI DO 262 I
ON PB 2 NSPCSEL2

N00495 X0093.6 Y0033.2


H 2388
DI751 ER DO 267 H
RHEAT2 T/CLERR2

N00496 Y0108.2 D0612.0 Y0108.2


I 2390 ACKNOWLEDGE BROKEN NOZZLE PB 2
DO 867 A ALL IF P DO 867 A
CKBRKN2 B TO CKBRKN2

N00497 Y0033.3 D0612.0 Y0033.3


J 2393
DO 268 A ALL IF P DO 268 A
CKNOZCH2 B TO CKNOZCH2

N00498
K 2396 SUB72
SPE

N00499 ### P0024 ###


L 2397 SUB71 P0024
SP VISION

N00500 X0099.0 Y0043.1


M 2399
DI 793 DO 346 V
COMMOK ISCOMMOK

N00501 X0099.1 Y0042.1


N 2401
DI 794 DO 338
SYSERR VISSYSER

Y0109.5
O
DO 878 S
YSERROR
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 62

N00502 X0099.2 Y0042.2


A 2404
DI 795 DO 339 V
CALERR ISCALIER

N00503 X0099.3 Y0043.0


B 2406
DI 796 DO 345 N
MEASERR OMEASERR

N00504 X0099.6 Y0043.2


C 2408
DI 799 DO 347 R
RCKOUTTL CKOUTTOL

N00505 X0099.5 Y0043.4


D 2410
DI 798 DO 349 O
OUTOFTOL UTOFTOL

Y0109.6
E
DO 879 O
UTOFTOL

N00506 X0099.7 Y0043.6


F 2413
DI 800 DO 351 S
SYSWARN YSWARN

N00507 X0042.4 Y0099.2


G 2415 VSION SYSTEM LIGHT TEST
DI 341 V DO 795
ISLIGHT LIGHTTST

K0001.3 K0001.0
H
VISIONIN LIGHTTES
TERVENSS TPB

Y0099.2 K0001.0
I
DO 795 LIGHTTES
LIGHTTST TPB

N00508 K0001.3 K0001.4 R0224.5


J 2423 VISION LOAD TO AVERAGE
VISIONIN LOAD2AVE DI 1022
TERVENSS RAGE LOAD2AVG

R0224.5 K0001.4
K
DI 1022 LOAD2AVE
LOAD2AVG RAGE

N00509 K0001.0 D0612.0 K0001.0


L 2429 S VISION LIGHT TEST PB
LIGHTTES ALL IF P LIGHTTES
TPB B TO TPB

N00510 K0001.0 D0612.0 K0001.0


M 2432 R VISION LIGHT TEST PB
LIGHTTES ALL IF P LIGHTTES
TPB B TO TPB

N00511 K0001.4 D0612.0 K0001.4


N 2435 S VISION LOAD TO AVERAGE
LOAD2AVE ALL IF P LOAD2AVE
RAGE B TO RAGE

N00512 K0001.4 D0612.0 K0001.4


O 2438 R VISION LOAD TO AVERAGE
LOAD2AVE ALL IF P LOAD2AVE
RAGE B TO RAGE
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 63

N00513 K0001.3 K0001.5 Y0100.0


A 2441 ABORT VISION OPERATION
VISIONIN ABORTPRO DO 801
TERVENSS CESS VISABRT

X0042.7
B
DI 344 A
BRTVISOP

Y0100.0 K0001.5
C
DO 801 ABORTPRO
VISABRT CESS

N00514 K0001.5 D0612.0 K0001.5


D 2448 S VISION ABORT VISION PROCESS
ABORTPRO ALL IF P ABORTPRO
CESS B TO CESS

N00515 K0001.5 D0612.0 K0001.5


E 2451 R VISION ABORT VISION PROCESS
ABORTPRO ALL IF P ABORTPRO
CESS B TO CESS

N00516 K0001.3 K0001.6 Y0043.3


F 2454
VISIONIN CALIBREQ DO 348 R
TERVENSS UEST UNCALIB

Y0043.3 K0001.6
G
DO 348 R CALIBREQ
UNCALIB UEST

N00517 K0001.6 D0612.0 K0001.6


H 2460 S VISION CALIB REQUEST
CALIBREQ ALL IF P CALIBREQ
UEST B TO UEST

N00518 K0001.6 D0612.0 K0001.6


I 2463 R VISION CALIB REQUEST
CALIBREQ ALL IF P CALIBREQ
UEST B TO UEST

N00519 K0001.3 K0001.7 Y0100.1


J 2466 RETRY VISION OPERATION
VISIONIN RETRYOPE DO 802
TERVENSS RATION VISRETRY

X0043.0
K
DI 345 R
TRYVISOP

Y0100.1 K0001.7
L
DO 802 RETRYOPE
VISRETRY RATION

N00520 K0001.7 D0612.0 K0001.7


M 2473 S VISION RETRY OPERATION
RETRYOPE ALL IF P RETRYOPE
RATION B TO RATION

N00521 K0001.7 D0612.0 K0001.7


N 2476 R VISION RETRY OPERATION
RETRYOPE ALL IF P RETRYOPE
RATION B TO RATION

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 64

N00522 X0099.1 R0224.4


A 2479 ALL VISION ERRORS
DI 794 DI1021 V
SYSERR ISIONERR

X0099.2
B
DI 795
CALERR

X0099.3
C
DI 796
MEASERR

X0099.4
D
DI 797
COMMERR

N00523 K0001.3 K0001.3


E 2484 S VISION INTERVENTION ENABLE SS
VISIONIN VISIONIN
TERVENSS TERVENSS

N00524 K0001.3 X1025.1 K0001.3


F 2486 R VISION INTERVENTION ENABLE SS
VISIONIN FAULT VISIONIN
TERVENSS RESET TERVENSS

K0001.3 R0224.5
G
VISIONIN DI 1022
TERVENSS LOAD2AVG

K0001.3 Y0100.0
H
VISIONIN DO 801
TERVENSS VISABRT

K0001.3 Y0100.1
I
VISIONIN DO 802
TERVENSS VISRETRY

K0001.3 Y0043.3
J
VISIONIN DO 348 R
TERVENSS UNCALIB

K0001.3 Y0099.2
K
VISIONIN DO 795
TERVENSS LIGHTTST

K0001.3 Y0013.1
L
VISIONIN DO 106 I
TERVENSS NSP SEL

N00525 K0001.1 Y0000.5 Y0072.2


M 2503 ROBOT BYPASS SS
ROBOTBYP DO 6 RBT DO 579 R
ASS SS @ MAINT BTBYP_SS

N00526 Y0101.5 Y0099.2 Y0101.5


N 2506 START VISION CYCLE
DO 814 S DO 795 DO 814 S
TARTCYC LIGHTTST TARTCYC

O
[FORD_NEXTGEN_ENETSafe_MH_VISION_2015_10_30]
Ladder Diagram 65

N00527 X0106.2 Y0042.4


A 2509
DI 851 V DO 341 V
ISPASS1 ISPASSED

X0106.3
B
DI 852 V
ISPASS2

X0106.4
C
DI 853 V
ISPASS4

N00528 X0100.3 Y0042.5


D 2513
DI 804 M DO 342 M
STRNDWRN STRNDWRN

N00529 X0100.4 Y0042.6


E 2515
DI 805 M DO 343 M
S REJECT S REJECT

N00530 X0103.0 Y0072.7


F 2517 VISION EDIT OCCURRED
DI 825 E DO 584 E
DITOCCUR DITOCCUR

N00531
G 2519 SUB72
SPE

O
6 PMC Logic (S-Logic) for R-30iB Controllers

Ford-FANUC R30iA_R30iB NextGen_ENET_Safe_Vision_Appendix - 2016_02_12.doc Page 133 of 133


[f3l1vsmh1] Ladder Diagram 1

N00001 R0000.0 R0000.0


A 1 ALWAYS ON
ALWAYS__ ALWAYS__
ON ON

R0000.0
B
ALWAYS__
ON

N00002 R0000.0 G1000.0


C 4 IMMEDIATE STOP
ALWAYS__ IMSTP
ON

N00003 X0000.0 R0100.5 G1000.1


D 6 *HOLD
DI_1_EXT BREAK_A_ *HOLD
_RNENBL NO_HOLD

N00004 X1026.4 R0100.5


E 9 S BREAK A NO HOLD
SI12_HOL BREAK_A_
DSW NO_HOLD

N00005 X1026.5 R0100.5


F 11 R BREAK A NO HOLD
SI13_RES BREAK_A_
ETSW NO_HOLD

X1026.4 X1025.6
G
SI12_HOL CYCLE___
DSW START

X0000.1 X1026.4
H
DI_2_EX_ SI12_HOL
RNEN_RST DSW

N00006 R0000.0 G1000.2


I 19 SAFE SPEED
ALWAYS__ SFSPD
ON

N00007 X1000.3 G1000.3


J 21

O
[f3l1vsmh1] Ladder Diagram 2

N00008 X1025.1 G1000.4


A 23 FAULT RESET
FAULT___ RB_FAULT
RESET _RESET

X0000.1 X0001.2
B
DI_2_EX_ DI_11___
RNEN_RST PLC_AUTO

X1026.5
C
SI13_RES
ETSW

X0000.3
D
DI_4_EXT
_CY_STRT

X0000.2
E
DI_3_EXT
MTR_ON

Y0119.6
F
DO_959_F
LT_RESET

N00009 X1000.6 G1000.6


G 32 GO HOME
HOME

N00010 R0000.0 G1000.7


H 34 ENABLE
ALWAYS__ ENABLE
ON

N00011 F1000.0 Y1000.0


I 36
COMMAND_
ENABLE

N00012 F1000.1 Y1000.1


J 38
SYSTEM__
READY

Y1025.5
K MOTORS ENABLE
MOTORS__
ENABLE

N00013 F1000.2 Y1000.2


L 41
PROGRAM_
RUNNING

N00014 F1000.3 Y1000.3


M 43
PAUSED

N00015 F1000.4 Y1000.4


N 45
HELD

Y0000.0
O ROBOT RUN ENABLE INTERRUPT ACK
DO_1_RUN
_ENB_ACK
[f3l1vsmh1] Ladder Diagram 3

N00016 F1000.5 ACT R0338.0


A 48 SUB 3 0031 INTERNAL FAULT DELAY
FAULT TMR INT_FLT_
__DELAY

N00017 F1000.5 G1000.4 R0397.0 R0338.0 Y1000.5


B 52
FAULT RB_FAULT FILTERED INT_FLT_
_RESET _FAULT __DELAY

Y0120.2 Y0000.4
C ROBOT CONTROLLER FAULT
DO_963__ DO_5_RBT
PRG_FLT _CNT_FLT

Y0001.6
D
DO_15_CO
LL_DTCT

N00018 F1000.6 Y1000.6


E 60
AT_HOME

Y0002.0 Y0000.1
F ROBOT AT HOME
DO_17_RB DO_2_RBT
T_@_HM1 _@_HOME

Y0002.1
G
DO_18_RB
T_@_HM2

Y0002.2
H
DO_19_RB
T_@_HM3

Y0002.3
I
DO_20_RB
T_@_HM4

Y0002.4
J
DO_21_RB
T_@_HM5

Y0002.5
K
DO_22_RB
T_@_HM6

Y0002.6
L
DO_23_RB
T_@_HM7

N00019 F1000.7 Y1000.7


M 70
TPENABLE

Y0119.7 Y0000.3
N ROBOT IN TEACH
DO_960__ DO_4_RBT
AUTO_KEY _IN_TCH

O
[f3l1vsmh1] Ladder Diagram 4

N00020 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 R1402.6 1


A 74
ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___ ECO23___
FC1 FC2 FC4 FC8 FC16 FC32 FC64

1 R1402.7 R1405.0
B S
ECO24___ FACILITY
FC128 _CODE_11

N00021 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 R1400.6 1


C 83
EC01 EC02 ECO3 ECO4 ECO5 ECO6 ECO7

1 R1400.7 R1401.1 R1401.2 R1401.3 R1401.5 R1401.6 2


D
ECO8 ECO10 ECO11 ECO12 ECO14 ECO15

2 R1401.7 R1405.1
E
ECO16 ERROR_4

N00022 R1405.0 R1405.1 G1000.4 R1405.2


F 98 FENCE FAULT
FACILITY ERROR_4 RB_FAULT FENCE___
_CODE_11 _RESET FAULT

R1405.2
G
FENCE___
FAULT

N00023 R0000.1 F1000.5 R1466.0 F1000.0 F1000.1 K0010.3


H 103 POWER FAIL RECOVERY
INT_EXT_ FAULT BRK_PWR_ COMMAND_ SYSTEM__ PWR_FAIL
MTR_ON FL_RCVRY ENABLE READY _RECVRY

R0000.2
I
INT_EXT_
CYC_STRT

K0010.3
J
PWR_FAIL
_RECVRY

N00024 K0010.3 ACT R1466.0


K 111 SUB 3 0027 BREAK POWER FAIL RECOVERY
PWR_FAIL TMR BRK_PWR_
_RECVRY FL_RCVRY

N00025 Y0000.3 F1000.0 Y0000.4 R0000.1 R0000.2 F1000.1 F1008.0 1


L 115
DO_4_RBT COMMAND_ DO_5_RBT INT_EXT_ INT_EXT_ SYSTEM__ STEP
_IN_TCH ENABLE _CNT_FLT MTR_ON CYC_STRT READY

R1404.5 Y0000.2
M
DRP_AUTO DO_3_RBT
_FAULT _IN_AUTO

1 F1008.2 X1025.0 R1405.2 K0010.0 Y0001.6 Y0000.2


N ROBOT IN AUTOMATIC
TP______ FANUC___ FENCE___ TEACH___ DO_15_CO DO_3_RBT
E-STOP E-STOP FAULT MEMORY LL_DTCT _IN_AUTO

N00026 Y0119.5 Y0072.4


O 132 INPUT SIMULATED
DO_958_I DO_581_I
NPUTSIM NPUTSIM
[f3l1vsmh1] Ladder Diagram 5

N00027 R1404.4 R1456.0 R1404.2 F1000.5 G1000.4 R1404.5


A 134 S DROP AUTO FAULT
FC_AVAIL APPL____ FC_ZERO FAULT RB_FAULT DRP_AUTO
ALARMS _RESET _FAULT

N00028 F1000.5 R1404.5


B 140 R DROP AUTO FAULT
FAULT DRP_AUTO
_FAULT

G1000.4
C
RB_FAULT
_RESET

N00029 F1000.5 R1404.0 R1404.1 R1404.4


D 143
FAULT ECO33___ ECO_____ FC_AVAIL
STROBE RETRIEVE

N00030 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


E 147
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1404.3


F S
ECO23___ ECO24___ SPOT____
FC64 FC128 ALARM

N00031 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


G 157
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.0


H S
ECO23___ ECO24___ ARC_____
FC64 FC128 ALARM

N00032 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


I 167
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.1


J S
ECO23___ ECO24___ SEALER__
FC64 FC128 ALARM

N00033 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


K 177
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.2


L S
ECO23___ ECO24___ SERVOGUN
FC64 FC128 _ALARM

N00034 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


M 187
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.3


N S
ECO23___ ECO24___ TOOLCHNG
FC64 FC128 __ALARM

O
[f3l1vsmh1] Ladder Diagram 6

N00035 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


A 197
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R0330.4


B S
ECO23___ ECO24___ SYSTEM__
FC64 FC128 _ALARM

N00036 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


C 207
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1406.0


D S
ECO23___ ECO24___ FACILITY
FC64 FC128 _CODE_15

N00037 R1404.4 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 1


E 217
FC_AVAIL ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___
FC1 FC2 FC4 FC8 FC16 FC32

1 R1402.6 R1402.7 R1404.2


F
ECO23___ ECO24___ FC_ZERO
FC64 FC128

N00038 R1404.1 ACT R1404.3


G 227 SUB57 0001 R
ECO_____ DIFU SPOT____
RETRIEVE ALARM

R0330.0
H R
ARC_____
ALARM

R0330.1
I R
SEALER__
ALARM

R0330.2
J R
SERVOGUN
_ALARM

R0330.3
K R
TOOLCHNG
__ALARM

R0330.4
L R
SYSTEM__
_ALARM

R1405.0
M R
FACILITY
_CODE_11

R1406.0
N R
FACILITY
_CODE_15

N00039 R1404.4 ACT R1404.6


O 238 SUB 3 0006
FC_AVAIL TMR RETRIEVE
_DELAY
[f3l1vsmh1] Ladder Diagram 7

N00040 R1404.6 R1404.1


A 242 S
RETRIEVE ECO_____
_DELAY RETRIEVE

N00041 R1404.1 ACT R1404.1


B 244 SUB 3 0007 R
ECO_____ TMR ECO_____
RETRIEVE RETRIEVE

N00042 R1404.4 R1404.3 R1404.2 F1000.5 Y0015.5


C 248 S WELD FAULT #1
FC_AVAIL SPOT____ FC_ZERO FAULT DO_126_W
ALARM LD_FLT_1

N00043 X0083.1 Y0015.5


D 253 R WELD FAULT #1
DI_666_I DO_126_W
NCYCLE1 LD_FLT_1

N00044 K0010.1 K0010.0 R0000.1


E 255
EXT_MTR_ TEACH___ INT_EXT_
ON MEMORY MTR_ON

N00045 X0000.2 K0010.0 K0010.5 K0010.1


F 258 S EXTERNAL MOTORS ON
DI_3_EXT TEACH___ MAINT_ME EXT_MTR_
MTR_ON MEMORY M ON

X1026.5 Y0000.4 F1000.5


G
SI13_RES DO_5_RBT FAULT
ETSW _CNT_FLT

X1025.1
H
FAULT___
RESET

X0000.1 X0001.2
I
DI_2_EX_ DI_11___
RNEN_RST PLC_AUTO

K0010.3
J
PWR_FAIL
_RECVRY

N00046 Y0000.2 Y0000.4 G1000.4 K0010.1


K 271 R EXTERNAL MOTORS ON
DO_3_RBT DO_5_RBT RB_FAULT EXT_MTR_
_IN_AUTO _CNT_FLT _RESET ON

N00047 K0010.2 K0010.0 K0010.5 R0000.2


L 275
EXT_CYC_ TEACH___ MAINT_ME INT_EXT_
START MEMORY M CYC_STRT

O
[f3l1vsmh1] Ladder Diagram 8

N00048 X0000.3 K0010.0 K0010.2


A 279 S EXTERNAL CYCLE START
DI_4_EXT TEACH___ EXT_CYC_
_CY_STRT MEMORY START

X1026.5 Y0000.4 F1000.5


B
SI13_RES DO_5_RBT FAULT
ETSW _CNT_FLT

X1025.1
C
FAULT___
RESET

X0000.1 X0001.2
D
DI_2_EX_ DI_11___
RNEN_RST PLC_AUTO

K0010.3
E
PWR_FAIL
_RECVRY

R0340.0
F
MANUAL__
WELD

N00049 Y0000.2 Y0000.4 G1000.4 K0010.2


G 292 R EXTERNAL CYCLE START
DO_3_RBT DO_5_RBT RB_FAULT EXT_CYC_
_IN_AUTO _CNT_FLT _RESET START

N00050 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


H 296
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.0
I PROGRAM 1
DI_24_PG PROGRAM_
_SLCT128 1

N00051 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


J 305
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.1
K PROGRAM 2
DI_24_PG PROGRAM_
_SLCT128 2

N00052 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


L 314
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.2
M PROGRAM 3
DI_24_PG PROGRAM_
_SLCT128 3

N00053 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


N 323
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.3
O PROGRAM 4
DI_24_PG PROGRAM_
_SLCT128 4
[f3l1vsmh1] Ladder Diagram 9

N00054 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 332
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.4
B PROGRAM 5
DI_24_PG PROGRAM_
_SLCT128 5

N00055 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 341
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.5
D PROGRAM 6
DI_24_PG PROGRAM_
_SLCT128 6

N00056 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


E 350
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.6
F PROGRAM 7
DI_24_PG PROGRAM_
_SLCT128 7

N00057 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


G 359
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0507.7
H PROGRAM 8
DI_24_PG PROGRAM_
_SLCT128 8

N00058 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


I 368
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.0
J PROGRAM 9
DI_24_PG PROGRAM_
_SLCT128 9

N00059 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


K 377
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.1
L PROGRAM 10
DI_24_PG PROGRAM_
_SLCT128 10

N00060 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


M 386
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.2
N PROGRAM 11
DI_24_PG PROGRAM_
_SLCT128 11

O
[f3l1vsmh1] Ladder Diagram 10

N00061 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 395
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.3
B PROGRAM 12
DI_24_PG PROGRAM_
_SLCT128 12

N00062 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 404
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.4
D PROGRAM 13
DI_24_PG PROGRAM_
_SLCT128 13

N00063 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


E 413
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.5
F PROGRAM 14
DI_24_PG PROGRAM_
_SLCT128 14

N00064 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


G 422
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.6
H PROGRAM 15
DI_24_PG PROGRAM_
_SLCT128 15

N00065 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


I 431
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0508.7
J PROGRAM 16
DI_24_PG PROGRAM_
_SLCT128 16

N00066 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


K 440
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0509.0
L PROGRAM 17
DI_24_PG PROGRAM_
_SLCT128 17

N00067 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


M 449
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0509.1
N PROGRAM 18
DI_24_PG PROGRAM_
_SLCT128 18

O
[f3l1vsmh1] Ladder Diagram 11

N00068 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


A 458
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0509.2
B PROGRAM 19
DI_24_PG PROGRAM_
_SLCT128 19

N00069 X0002.0 X0002.1 X0002.2 X0002.3 X0002.4 X0002.5 X0002.6 1


C 467
DI_17_PG DI_18_PG DI_19_PG DI_20_PG DI_21_PG DI_22_PG DI_23_PG
_SLCT_1 _SLCT_2 _SLCT_4 _SLCT_8 _SLCT_16 _SLCT_32 _SLCT_64

1 X0002.7 R0509.3
D PROGRAM 20
DI_24_PG PROGRAM_
_SLCT128 20

O
[f3l1vsmh1] Ladder Diagram 12

N00070 X0000.4 Y0000.2 F1000.2 F1000.3 F1000.6 X0001.2 G1000.1 1


A 476
DI_5_MV_ DO_3_RBT PROGRAM_ PAUSED AT_HOME DI_11___ *HOLD
TO_POUNC _IN_AUTO RUNNING PLC_AUTO

Y0000.2 F1000.3 F1000.2 X0001.2


B
DO_3_RBT PAUSED PROGRAM_ DI_11___
_IN_AUTO RUNNING PLC_AUTO

F1000.6 R0507.0 F1000.2 F1000.3


C
AT_HOME PROGRAM_ PROGRAM_ PAUSED
1 RUNNING

R0507.1
D
PROGRAM_
2

R0507.2
E
PROGRAM_
3

R0507.3
F
PROGRAM_
4

R0507.4
G
PROGRAM_
5

R0507.5
H
PROGRAM_
6

R0507.6
I
PROGRAM_
7

R0507.7
J
PROGRAM_
8

R0508.0
K
PROGRAM_
9

R0508.1
L
PROGRAM_
10

R0508.2
M
PROGRAM_
11

R0508.3
N
PROGRAM_
12

R0508.4
O
PROGRAM_
13
[f3l1vsmh1] Ladder Diagram 13

R0508.5
A
PROGRAM_
14

R0508.6
B
PROGRAM_
15

R0508.7
C
PROGRAM_
16

R0509.0
D
PROGRAM_
17

R0509.1
E
PROGRAM_
18

R0509.2
F
PROGRAM_
19

R0509.3
G
PROGRAM_
20

Y0000.2 F1000.3 F1000.2 X0000.1 X0001.2


H
DO_3_RBT PAUSED PROGRAM_ DI_2_EX_ DI_11___
_IN_AUTO RUNNING RNEN_RST PLC_AUTO

X1025.6
I
CYCLE___
START

1 R0000.1 D0603.0 Y0000.4 R0100.5 F1000.5 G1000.5


J UOP CYCLE START
INT_EXT_ CYCLE___ DO_5_RBT BREAK_A_ FAULT UOP_CYC_
MTR_ON STRT_DLY _CNT_FLT NO_HOLD START

N00071 G1000.5 F1000.2 ACT D0603.0


K 527 SUB 3 0008 S CYCLE START DELAY
UOP_CYC_ PROGRAM_ TMR CYCLE___
START RUNNING STRT_DLY

N00072 D0603.0 ACT D0603.0


L 532 SUB 3 0009 R CYCLE START DELAY
CYCLE___ TMR CYCLE___
STRT_DLY STRT_DLY

N00073 F1000.2 D0603.0


M 536 R CYCLE START DELAY
PROGRAM_ CYCLE___
RUNNING STRT_DLY

N00074
N 538 SUB 1
END1

N00075 Y0119.7 ACT K0010.4


O 539 SUB 3 0011 TEACH MEMORY DELAY
DO_960__ TMR TEACH_ME
AUTO_KEY M_DELAY
[f3l1vsmh1] Ladder Diagram 14

N00076 Y0000.3 X1026.5 X1025.1 X1025.6 K0010.0


A 543 TEACH MEMORY
DO_4_RBT SI13_RES FAULT___ CYCLE___ TEACH___
_IN_TCH ETSW RESET START MEMORY

K0010.4
B
TEACH_ME
M_DELAY

K0010.0
C
TEACH___
MEMORY

N00077 K0008.0 R0350.0


D 550 MAINTENANCE MODE
AUTO/MAI IN_MAINT
NT_SS

N00078 R0350.0 ACT D0610.0


E 552 SUB 3 0012 MAINTENANCE MODE DELAY
IN_MAINT TMR MAINT___
DELAY

N00079 D0610.0 Y0000.2 Y0000.1 X1026.5 X1025.1 K0010.5


F 556 MAINTENANCE MEMORY
MAINT___ DO_3_RBT DO_2_RBT SI13_RES FAULT___ MAINT_ME
DELAY _IN_AUTO _@_HOME ETSW RESET M

K0010.5 X0000.6
G
MAINT_ME DI_7_MAI
M NT_PSCLR

N00080 X0000.2 X0000.3 Y0000.2 K0010.6


H 565 EXTERNAL START ANTI-TIE DOWN
DI_3_EXT DI_4_EXT DO_3_RBT EXT_STRT
MTR_ON _CY_STRT _IN_AUTO _ANTI_TD

K0010.6
I
EXT_STRT
_ANTI_TD

N00081 X0002.0 G1001.0


J 570
DI_17_PG PNS_1
_SLCT_1

N00082 X0002.1 G1001.1


K 572
DI_18_PG PNS_2
_SLCT_2

N00083 X0002.2 G1001.2


L 574
DI_19_PG PNS_3
_SLCT_4

N00084 X0002.3 G1001.3


M 576
DI_20_PG PNS_4
_SLCT_8

N00085 X0002.4 G1001.4


N 578
DI_21_PG PNS_5
_SLCT_16

N00086 X0002.5 G1001.5


O 580
DI_22_PG PNS_6
_SLCT_32
[f3l1vsmh1] Ladder Diagram 15

N00087 X0002.6 G1001.6


A 582
DI_23_PG PNS_7
_SLCT_64

N00088 X0002.7 G1001.7


B 584
DI_24_PG PNS_8
_SLCT128

N00089 X0000.6 K0008.0 Y0120.5


C 586 MAINTENANCE POSITION CLEAR
DI_7_MAI AUTO/MAI DO_966_M
NT_PSCLR NT_SS ANTP_CLR

N00090 K0008.0 Y0001.4


D 589 SEND ROBOT TO MAINTENANCE
AUTO/MAI DO_13_SN
NT_SS DRBT_MNT

N00091 Y0112.3 Y0003.0


E 591 CLEAR OF ZONE #1
DO_900__ DO_25_CL
CLR_ZN_1 R_ZON_1

N00092 Y0112.4 Y0003.1


F 593 CLEAR OF ZONE #2
DO_901__ DO_26_CL
CLR_ZN_2 R_ZON_2

N00093 Y0112.5 Y0003.2


G 595 CLEAR OF ZONE #3
DO_902__ DO_27_CL
CLR_ZN_3 R_ZON_3

N00094 Y0112.6 Y0003.3


H 597 CLEAR OF ZONE #4
DO_903__ DO_28_CL
CLR_ZN_4 R_ZON_4

N00095 Y0112.7 Y0003.4


I 599 CLEAR OF ZONE #5
DO_904__ DO_29_CL
CLR_ZN_5 R_ZON_5

N00096 Y0113.0 Y0003.5


J 601 CLEAR OF ZONE #6
DO_905__ DO_30_CL
CLR_ZN_6 R_ZON_6

N00097 Y0113.1 Y0003.6


K 603 CLEAR OF ZONE #7
DO_906__ DO_31_CL
CLR_ZN_7 R_ZON_7

N00098 Y0113.2 Y0003.7


L 605 CLEAR OF ZONE #8
DO_907__ DO_32_CL
CLR_ZN_8 R_ZON_8

N00099 Y0113.3 Y0004.0


M 607 CLEAR OF ZONE #9
DO_908__ DO_33_CL
CLR_ZN_9 R_ZON_9

N00100 Y0113.4 Y0004.1


N 609 CLEAR OF ZONE #10
DO_909_C DO_34_CL
LR_ZN_10 R_ZON_10

N00101 Y0113.5 Y0004.2


O 611 CLEAR OF ZONE #11
DO_910_C DO_35_CL
LR_ZN_11 R_ZON_11
[f3l1vsmh1] Ladder Diagram 16

N00102 Y0113.6 Y0004.3


A 613 CLEAR OF ZONE #12
DO_911_C DO_36_CL
LR_ZN_12 R_ZON_12

N00103 Y0113.7 Y0004.4


B 615 CLEAR OF ZONE #13
DO_912_C DO_37_CL
LR_ZN_13 R_ZON_13

N00104 Y0116.4 Y0004.5


C 617 CLEAR OF ZONE #14
DO_933_C DO_38_CL
LR_ZN_14 R_ZON_14

N00105 Y0118.7 Y0004.6


D 619 CLR OF INDEPENDENT MOTION ZN1
DO952_CL DO_39_CL
RMOTZN1 R_INDMOT

N00106 Y0119.0 Y0004.7


E 621 CLR OF INDEPENDENT MOTION ZN2
DO953_CL DO_40_CL
RMOTZN2 R_INDMT2

N00107 Y0119.1 X0000.0 Y0000.6


F 623 CLEAR TO ADVANCE TRANSFER
DO_954_C DI_1_EXT DO_7_CLR
LRAV_XFR _RNENBL _ADV

N00108 Y0119.2 X0000.0 Y0000.7


G 626 CLEAR TO RETURN TRANSFER
DO_955_C DI_1_EXT DO_8_CLR
LRET_XFR _RNENBL _RET_XFR

N00109 Y0119.3 X0000.0 Y0001.0


H 629 CLEAR TO UNCLAMP
DO_956_C DI_1_EXT DO_9_CLR
LR_UNCLP _RNENBL _2_UNCLP

N00110 Y0000.3 R1000.0 Y0073.0


I 632 PROMPT BOX
DO_4_RBT DO_19001 DO_585__
_IN_TCH _PRPTBX PRMPT_BX

N00111 R1402.0 R1402.1 R1402.2 R1402.3 R1402.4 R1402.5 R1402.6 1


J 635
ECO17___ ECO18___ ECO19___ ECO20___ ECO21___ ECO22___ ECO23___
FC1 FC2 FC4 FC8 FC16 FC32 FC64

1 R1402.7 R1405.3
K SYSTEM FACILITY CODE (24)
ECO24___ SYS_FCLY
FC128 CODE

N00112 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


L 644
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


M
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0365.0


N SRVO-001 OPERATOR PANEL E-STOP
ECO13 ECO14 ECO15 ECO16 SRVO-001

O
[f3l1vsmh1] Ladder Diagram 17

N00113 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 662
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0366.0


C SRVO-002 TEACH PENDANT E-STOP
ECO13 ECO14 ECO15 ECO16 SRVO-002

N00114 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 680
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0367.0


F SRVO-003 DEADMAN SWITCH RELEAS
ECO13 ECO14 ECO15 ECO16 SRVO-003

N00115 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 698
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0368.0


I SRVO-005 ROBOT OVERTRAVELL
ECO13 ECO14 ECO15 ECO16 SRVO-005

N00116 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 716
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0370.0


L SRVO-007 EXTERNAL EMERGENCY ST
ECO13 ECO14 ECO15 ECO16 SRVO-007

N00117 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 734
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0370.1


O SRVO-408 DCS SSO EXT EMERGSTOP
ECO13 ECO14 ECO15 ECO16 SRVO-408
[f3l1vsmh1] Ladder Diagram 18

N00118 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 752
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.3


C SRVO-50 COLLISION DETECT
ECO13 ECO14 ECO15 ECO16 SRVO-50

N00119 R1406.3 X1025.1 Y0001.6


D 770 COLLISION DETECT
SRVO-50 FAULT___ DO_15_CO
RESET LL_DTCT

Y0001.6
E
DO_15_CO
LL_DTCT

N00120 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


F 774
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


G
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.2


H SRVO-65 LOW BATTERY
ECO13 ECO14 ECO15 ECO16 SRVO-65_
LOW_BATT

N00121 F1001.0 Y0001.1


I 792 ROBOT BATTERY LOW
BATALM DO_10_RB
T_BAT_LW

N00122 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 794
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0371.0


L SRVO-101 ROBOT OVERATRAVEL
ECO13 ECO14 ECO15 ECO16 SRVO-101

N00123 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 812
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R1406.1


O DISTURBANCE EXCESS(SRVO11)
ECO13 ECO14 ECO15 ECO16 DISTURBA
NCE_EXCE
[f3l1vsmh1] Ladder Diagram 19

N00124 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 830
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0373.0


C SRVO-199 CONTROL STOP
ECO13 ECO14 ECO15 ECO16 SRVO-199
_CONTROL

N00125 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 848
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0374.0


F SRVO-232 NTED INPUT
ECO13 ECO14 ECO15 ECO16 SRVO-232
_NTED_IN

N00126 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 866
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0375.0


I SRVO-233 TP OFF IN T1,T2/DOOR
ECO13 ECO14 ECO15 ECO16 SRVO-233
_TP_OFF

N00127 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 884
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0376.0


L SRVO-280 SVOFF INPUT
ECO13 ECO14 ECO15 ECO16 SRVO-280
_SVOFF_I

N00128 R1405.0 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 902
FACILITY EC01 EC02 ECO3 ECO4 ECO5 ECO6
_CODE_11

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0387.0


O SRVO-378 SFDIxx STATUS ABNOR
ECO13 ECO14 ECO15 ECO16 SRVO-378
_SFDIxx
[f3l1vsmh1] Ladder Diagram 20

N00129 F1008.1 ACT R0388.1


A 920 SUB24 0001 F1008.1 SYSRST DELAY ON
SYSRST TMRB F1008.1_
DELAY ON

B 0000000124

N00130 R0387.0 R0388.1 R0388.0


C 925 SRVO OPSFTY ABNORM FAULT LATCH
SRVO-378 F1008.1_ OPSFTY_F
_SFDIxx DELAY ON LT_LATCH

R0388.0 F1000.5
D
OPSFTY_F FAULT
LT_LATCH

N00131 R0388.0 Y0073.1


E 931 SAFETY CHAIN FAULT
OPSFTY_F DO_586_S
LT_LATCH FTY_CHN

N00132 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


F 933
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


G
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0377.0


H SYST-034 HOLD SIGNAL FROM SOP/
ECO13 ECO14 ECO15 ECO16 SYST-034
_HOLD_SI

N00133 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


I 951
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


J
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0378.0


K SYST-038 OPERATION MODE T1 SEL
ECO13 ECO14 ECO15 ECO16 SYST-038
_OPERATI

N00134 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


L 969
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


M
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0379.0


N
ECO13 ECO14 ECO15 ECO16 SYST-039

O
[f3l1vsmh1] Ladder Diagram 21

N00135 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


A 987
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


B
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0380.0


C SYST-040 OPERATION MODE AUTO S
ECO13 ECO14 ECO15 ECO16 SYST-040
_OPERATI

N00136 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


D 1005
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


E
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0381.0


F SYST-042 DEADMAN DEFEATED
ECO13 ECO14 ECO15 ECO16 SYST-042
_DEADMAN

N00137 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


G 1023
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


H
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0382.0


I SYST-043 TP DISABLE IN T1/T2
ECO13 ECO14 ECO15 ECO16 SYST-043
_TP_DISA

N00138 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


J 1041
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


K
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0383.0


L SYST-045 TP ENABLE IN AUTO MO
ECO13 ECO14 ECO15 ECO16 SYST-045
_TP_ENAB

N00139 R1405.3 R1400.0 R1400.1 R1400.2 R1400.3 R1400.4 R1400.5 1


M 1059
SYS_FCLY EC01 EC02 ECO3 ECO4 ECO5 ECO6
CODE

1 R1400.6 R1400.7 R1401.0 R1401.1 R1401.2 R1401.3 2


N
ECO7 ECO8 ECO9 ECO10 ECO11 ECO12

2 R1401.4 R1401.5 R1401.6 R1401.7 R0384.0


O SYST-154 NO START IN ISOLATE/B
ECO13 ECO14 ECO15 ECO16 SYST-154
_NO_STAR
[f3l1vsmh1] Ladder Diagram 22

N00140 R0397.0 F1000.0 R0397.0


A 1077 FILTERED FAULT
FILTERED COMMAND_ FILTERED
_FAULT ENABLE _FAULT

R0398.0
B
FILTER__
FLT_GRP1

R0399.0
C
FILTER__
FLT_GRP2

O
[f3l1vsmh1] Ladder Diagram 23

N00141 R0365.0 R0398.0


A 1082 FILTER FAULTS GROUP1
SRVO-001 FILTER__
FLT_GRP1

R0366.0
B
SRVO-002

R0367.0
C
SRVO-003

R0368.0
D
SRVO-005

R0369.0
E
R369.0__
RESERVED

R0370.0
F
SRVO-007

R0371.0
G
SRVO-101

R0372.0
H
R372.0__
RESERVED

R0373.0
I
SRVO-199
_CONTROL

R0374.0
J
SRVO-232
_NTED_IN

R0375.0
K
SRVO-233
_TP_OFF

R0376.0
L
SRVO-280
_SVOFF_I

R0370.1
M
SRVO-408

R1456.0
N
APPL____
ALARMS

O
[f3l1vsmh1] Ladder Diagram 24

N00142 R0377.0 R0399.0


A 1097 FILTER FAULTS GROUP2
SYST-034 FILTER__
_HOLD_SI FLT_GRP2

R0378.0
B
SYST-038
_OPERATI

R0379.0
C
SYST-039

R0380.0
D
SYST-040
_OPERATI

R0381.0
E
SYST-042
_DEADMAN

R0382.0
F
SYST-043
_TP_DISA

R0383.0
G
SYST-045
_TP_ENAB

R0384.0
H
SYST-154
_NO_STAR

X1025.0
I
FANUC___
E-STOP

F1008.2
J
TP______
E-STOP

X1026.1
K
SI9_____
AUTOMDSW

Y0000.3
L
DO_4_RBT
_IN_TCH

K0010.0
M
TEACH___
MEMORY

R1405.2
N
FENCE___
FAULT

O
[f3l1vsmh1] Ladder Diagram 25

N00143 R0330.0 F1000.5 R1456.0


A 1112
ARC_____ FAULT APPL____
ALARM ALARMS

R0330.1
B
SEALER__
ALARM

R0330.2
C
SERVOGUN
_ALARM

R0330.3
D
TOOLCHNG
__ALARM

R0330.4
E
SYSTEM__
_ALARM

R1404.3
F
SPOT____
ALARM

R1456.0
G
APPL____
ALARMS

N00144 D0001.0 Y0079.0


H 1121 S TOOL CHANGER LOCK
TOOL_CHA DO_633_T
NGE_APP C_LOCK

Y0079.1
I R TOOL CHANGER UNLOCK
DO_634_T
C_UNLOCK

N00145 D0001.0 ACT


J 1124 SUB10 0000
TOOL_CHA JMP
NGE_APP

N00146
K 1127 SUB66 P0001
CALLU TOOL_CHANGING

N00147
L 1129 SUB30
JMPE

N00148
M 1130 SUB66 P0004
CALLU AIR_SWITCH

N00149
N 1132 SUB66 P0006
CALLU UALM

N00150
O 1134 SUB66 P0007
CALLU INTERFACE
[f3l1vsmh1] Ladder Diagram 26

N00151
A 1136 SUB66 P0008
CALLU MH

N00152
B 1138 SUB66 P0009
CALLU APPLICATION

N00153
C 1140 SUB66 P0024
CALLU VISION

N00154
D 1142 SUB 2
END2

N00155 ### TOOL_CHANGING ###


E 1143 SUB71 P0001
SP TOOL_CHANGING

N00156 X0080.0 R0347.0


F 1145 GUN ID NOT 0
DI_641__ GUN_ID__
TOOL_ID1 NOT_0

X0080.1
G
DI_642__
TOOL_ID2

X0080.2
H
DI_643__
TOOL_ID4

X0080.3
I
DI_644__
TOOL_ID8

N00157 X0080.0 X0080.1 X0080.2 X0080.3 R0321.0


J 1150
DI_641__ DI_642__ DI_643__ DI_644__ GUN_1_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00158 X0080.0 X0080.1 X0080.2 X0080.3 R0322.0


K 1155
DI_641__ DI_642__ DI_643__ DI_644__ GUN_2_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00159 X0080.0 X0080.1 X0080.2 X0080.3 R0323.0


L 1160
DI_641__ DI_642__ DI_643__ DI_644__ GUN_3_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00160 X0080.0 X0080.1 X0080.2 X0080.3 R0324.0


M 1165
DI_641__ DI_642__ DI_643__ DI_644__ GUN_4_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00161 X0080.0 X0080.1 X0080.2 X0080.3 R0325.0


N 1170
DI_641__ DI_642__ DI_643__ DI_644__ GUN_5_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00162 X0080.0 X0080.1 X0080.2 X0080.3 R0326.0


O 1175
DI_641__ DI_642__ DI_643__ DI_644__ GUN_6_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM
[f3l1vsmh1] Ladder Diagram 27

N00163 X0080.0 X0080.1 X0080.2 X0080.3 R0326.1


A 1180
DI_641__ DI_642__ DI_643__ DI_644__ GUN_7_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00164 X0080.0 X0080.1 X0080.2 X0080.3 R0326.2


B 1185
DI_641__ DI_642__ DI_643__ DI_644__ GUN_8_ON
TOOL_ID1 TOOL_ID2 TOOL_ID4 TOOL_ID8 _ARM

N00165 R0321.0 R0328.6


C 1190 TOOL ON ROBOT
GUN_1_ON TOOLONRO
_ARM BOT

R0322.0
D
GUN_2_ON
_ARM

R0323.0
E
GUN_3_ON
_ARM

R0324.0
F
GUN_4_ON
_ARM

R0325.0
G
GUN_5_ON
_ARM

R0326.0
H
GUN_6_ON
_ARM

R0326.1
I
GUN_7_ON
_ARM

R0326.2
J
GUN_8_ON
_ARM

N00166 R0321.0 R0322.0 R0323.0 R0324.0 R0325.0 R0326.0 R0326.1 1


K 1199
GUN_1_ON GUN_2_ON GUN_3_ON GUN_4_ON GUN_5_ON GUN_6_ON GUN_7_ON
_ARM _ARM _ARM _ARM _ARM _ARM _ARM

1 R0326.2 R0348.0
L ANY GEO TOOL PRESENT ON ROBOT
GUN_8_ON GEOTOOLP
_ARM RSNT

N00167 X0080.0 Y0038.0


M 1208
DI_641__ DO_305__
TOOL_ID1 TOOL_ID1

N00168 X0080.1 Y0038.1


N 1210
DI_642__ DO_306__
TOOL_ID2 TOOL_ID2

N00169 X0080.2 Y0038.2


O 1212
DI_643__ DO_307__
TOOL_ID4 TOOL_ID4
[f3l1vsmh1] Ladder Diagram 28

N00170 X0080.3 Y0038.3


A 1214
DI_644__ DO_308__
TOOL_ID8 TOOL_ID8

N00171 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 X0038.6 1


B 1216
DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__ DI_311__
TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6 TCSTND7

1 X0038.7 R0327.0
C GUN 1-8 (ALL TOOLS IN STAND)
DI_312__ GUN_1-8
TCSTND8

N00172 Y0117.4 K0011.1


D 1225 TOOL CHANGER RELEASE
DO_941__ TC______
TC_UNLCK RELEASED

N00173 Y0117.3 Y0000.2 X0079.4 X0079.5 R0328.6 Y0079.0


E 1227 S TOOL CHANGER LOCK
DO_940__ DO_3_RBT DI_637__ DI_638__ TOOLONRO DO_633_T
TC_LOCK _IN_AUTO RDY2LCK1 RDY2LCK2 BOT C_LOCK

F1000.7 Y0119.7 K0015.0 R0328.6


F
TPENABLE DO_960__ TC_LOCK_ TOOLONRO
AUTO_KEY PB BOT

N00174 Y0117.4 Y0117.3 Y0000.2 Y0079.0


G 1240 R TOOL CHANGER LOCK
DO_941__ DO_940__ DO_3_RBT DO_633_T
TC_UNLCK TC_LOCK _IN_AUTO C_LOCK

F1000.7 Y0119.7 K0016.0


H
TPENABLE DO_960__ TC_UNLOC
AUTO_KEY K_PB

N00175 X0079.0 Y0040.6


I 1249
DI_633__ DO_327_T
TC_LOCKD CCOUPMON

N00176 K0011.1 Y0079.0 Y0000.2 X0080.4 X0080.5 1


J 1251
TC______ DO_633_T DO_3_RBT DI_645_T DI_646_T
RELEASED C_LOCK _IN_AUTO SIV SRV

F1000.7 Y0119.7 K0016.0 R0328.6 2


K
TPENABLE DO_960__ TC_UNLOC TOOLONRO
AUTO_KEY K_PB BOT

1 R0328.6 Y0079.1
L TOOL CHANGER UNLOCK
TOOLONRO DO_634_T
BOT C_UNLOCK

2
M

N00177 K0015.0 K0016.0 F1000.7 Y0119.7 K0015.0


N 1265 TC LOCK PUSH BUTTON
TC_LOCK_ TC_UNLOC TPENABLE DO_960__ TC_LOCK_
PB K_PB AUTO_KEY PB

N00178 K0016.0 K0015.0 F1000.7 Y0119.7 K0016.0


O 1270 TC UNLOCK PUSH BUTTON
TC_UNLOC TC_LOCK_ TPENABLE DO_960__ TC_UNLOC
K_PB PB AUTO_KEY K_PB
[f3l1vsmh1] Ladder Diagram 29

N00179 X0079.1 Y0040.7


A 1275
DI_634__ DO_328_T
TC_ULCKD CRELMON

N00180 R0328.6 K0008.0 R0218.4


B 1277 TOOL CHANGER NO TOOL DETECTED
TOOLONRO AUTO/MAI DI_940_T
BOT NT_SS C_NOTOOL

N00181 Y0117.5 Y0117.6 Y0000.2 Y0038.5


C 1280 TOOL CHANGER OPEN COVERS
DO_942__ DO_943__ DO_3_RBT DO_310_T
TCOPNCVR TCCLSCVR _IN_AUTO C_OPNCVR

K0011.4 K0011.5 Y0000.3


D
TC_OPENG TC__CLOS DO_4_RBT
UNCOVER GUNCOVER _IN_TCH

N00182 Y0117.5 Y0117.6 Y0000.2 Y0038.6


E 1288 TOOL CHANGER CLOSE COVERS
DO_942__ DO_943__ DO_3_RBT DO_311_T
TCOPNCVR TCCLSCVR _IN_AUTO C_CLSCVR

K0011.5 K0011.4 Y0000.3


F
TC__CLOS TC_OPENG DO_4_RBT
GUNCOVER UNCOVER _IN_TCH

N00183 X0038.0 R0321.0 R0329.0


G 1296 GUN1 POSITION
DI_305__ GUN_1_ON GUN1_POS
TCSTND1 _ARM ITION

X0038.0 X0039.3
H
DI_305__ DI_316_G
TCSTND1 EOTPDCK

N00184 X0038.1 R0322.0 R0329.1


I 1302 GUN2 POSITION
DI_306__ GUN_2_ON GUN2_POS
TCSTND2 _ARM ITION

X0038.1 X0039.3
J
DI_306__ DI_316_G
TCSTND2 EOTPDCK

N00185 X0038.2 R0323.0 R0329.2


K 1308 GUN3 POSITION
DI_307__ GUN_3_ON GUN3_POS
TCSTND3 _ARM ITION

X0038.2 X0039.3
L
DI_307__ DI_316_G
TCSTND3 EOTPDCK

N00186 X0038.3 R0324.0 R0329.3


M 1314 GUN4 POSITION
DI_308__ GUN_4_ON GUN4_POS
TCSTND4 _ARM ITION

X0038.3 X0039.3
N
DI_308__ DI_316_G
TCSTND4 EOTPDCK

O
[f3l1vsmh1] Ladder Diagram 30

N00187 X0038.4 R0325.0 R0329.4


A 1320 GUN5 POSITION
DI_309__ GUN_5_ON GUN5_POS
TCSTND5 _ARM ITION

X0038.4 X0039.3
B
DI_309__ DI_316_G
TCSTND5 EOTPDCK

N00188 X0038.5 R0326.0 R0329.5


C 1326 GUN6 POSITION
DI_310__ GUN_6_ON GUN6_POS
TCSTND6 _ARM ITION

X0038.5 X0039.3
D
DI_310__ DI_316_G
TCSTND6 EOTPDCK

N00189 X0038.6 R0326.1 R0329.6


E 1332 GUN7 POSITION
DI_311__ GUN_7_ON GUN7_POS
TCSTND7 _ARM ITION

X0038.6 X0039.3
F
DI_311__ DI_316_G
TCSTND7 EOTPDCK

N00190 X0038.7 R0326.2 R0329.7


G 1338 GUN8 POSITION
DI_312__ GUN_8_ON GUN8_POS
TCSTND8 _ARM ITION

X0038.7 X0039.3
H
DI_312__ DI_316_G
TCSTND8 EOTPDCK

O
[f3l1vsmh1] Ladder Diagram 31

N00191 R0329.0 R0328.7


A 1344 ALL GUN1-8 POSITION
GUN1_POS GUN1-8_P
ITION OSITION

R0329.1
B
GUN2_POS
ITION

R0329.2
C
GUN3_POS
ITION

R0329.3
D
GUN4_POS
ITION

R0329.4
E
GUN5_POS
ITION

R0329.5
F
GUN6_POS
ITION

R0329.6
G
GUN7_POS
ITION

R0329.7
H
GUN8_POS
ITION

N00192 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


I 1353
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.0


J TOOL 1 IN OPDOCK
DI_311__ DI_312__ TOOL1INO
TCSTND7 TCSTND8 PDOCK

N00193 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


K 1363
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.1


L TOOL 2 IN OPDOCK
DI_311__ DI_312__ TOOL2INO
TCSTND7 TCSTND8 PDOCK

N00194 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


M 1373
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.2


N TOOL 3 IN OPDOCK
DI_311__ DI_312__ TOOL3INO
TCSTND7 TCSTND8 PDOCK

O
[f3l1vsmh1] Ladder Diagram 32

N00195 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


A 1383
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.3


B TOOL 4 IN OPDOCK
DI_311__ DI_312__ TOOL4INO
TCSTND7 TCSTND8 PDOCK

N00196 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


C 1393
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.4


D TOOL 5 IN OPDOCK
DI_311__ DI_312__ TOOL5INO
TCSTND7 TCSTND8 PDOCK

N00197 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


E 1403
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.5


F TOOL 6 IN OPDOCK
DI_311__ DI_312__ TOOL6INO
TCSTND7 TCSTND8 PDOCK

N00198 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


G 1413
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.6


H TOOL 7 IN OPDOCK
DI_311__ DI_312__ TOOL7INO
TCSTND7 TCSTND8 PDOCK

N00199 X0039.3 X0038.0 X0038.1 X0038.2 X0038.3 X0038.4 X0038.5 1


I 1423
DI_316_G DI_305__ DI_306__ DI_307__ DI_308__ DI_309__ DI_310__
EOTPDCK TCSTND1 TCSTND2 TCSTND3 TCSTND4 TCSTND5 TCSTND6

1 X0038.6 X0038.7 R0320.7


J TOOL 8 IN OPDOCK
DI_311__ DI_312__ TOOL8INO
TCSTND7 TCSTND8 PDOCK

O
[f3l1vsmh1] Ladder Diagram 33

N00200 R0320.0 R0319.0


A 1433 ALL TOOLS IN OPDOCK
TOOL1INO ALLTOOLS
PDOCK INOPDOCK

R0320.1
B
TOOL2INO
PDOCK

R0320.2
C
TOOL3INO
PDOCK

R0320.3
D
TOOL4INO
PDOCK

R0320.4
E
TOOL5INO
PDOCK

R0320.5
F
TOOL6INO
PDOCK

R0320.6
G
TOOL7INO
PDOCK

R0320.7
H
TOOL8INO
PDOCK

N00201 X0082.6 Y0038.7


I 1442
DI_663_T DO_312_T
CCOMMOK CCOMMOK

N00202 X0082.7 Y0039.2


J 1444
DI_664_T DO_315_T
CTLSLDPW LSLIDPWR

N00203 X0079.4 X0079.5 G1008.4


K 1446 RTL1ANDL2SWITCHMISMATCH
DI_637__ DI_638__ UALM_5
RDY2LCK1 RDY2LCK2

X0079.4 X0079.5
L
DI_637__ DI_638__
RDY2LCK1 RDY2LCK2

N00204 R0328.6 G1008.5


M 1452 NO TOOL ON ARM
TOOLONRO UALM_6
BOT

N00205 K0013.1 R0000.7 Y0126.7


N 1454 NO TOOL ON EOAT SS
NOTOOLON PART_PRE DO_1016_
EOATSS SENT NOEOATSS

N00206 K0013.1 R0000.7 K0013.1


O 1457 R NO TOOL ON EOAT SS
NOTOOLON PART_PRE NOTOOLON
EOATSS SENT EOATSS
[f3l1vsmh1] Ladder Diagram 34

N00207 Y0039.3 Y0039.3


A 1460 S WRONG TOOL IN STAND
DO_316_W DO_316_W
RNGTLSTD RNGTLSTD

N00208 Y0039.3 X1025.1 Y0000.1 Y0039.3


B 1462 R WRONG TOOL IN STAND
DO_316_W FAULT___ DO_2_RBT DO_316_W
RNGTLSTD RESET _@_HOME RNGTLSTD

N00209
C 1466 SUB72
SPE

N00210 ### AIR_SWITCH ###


D 1467 SUB71 P0004
SP AIR_SWITCH

N00211 X1020.6 Y0001.5


E 1469 END OF ARM AIR ON
RI_7_AIR DO_14_EO
_FL_SW A_AIR_ON

N00212
F 1471 SUB72
SPE

N00213 ### UALM ###


G 1472 SUB71 P0006
SP UALM

N00214 Y0120.2 X1025.1 Y0120.2


H 1474 PROGRAM FAULT
DO_963__ FAULT___ DO_963__
PRG_FLT RESET PRG_FLT

N00215 Y0120.2 G1008.0


I 1477 PROGRAM VERIFY FAULT
DO_963__ UALM1
PRG_FLT

N00216 K0010.0 Y0119.7 Y0000.3 G1010.6


J 1479 TEACH MEMORY ON
TEACH___ DO_960__ DO_4_RBT UALM23
MEMORY AUTO_KEY _IN_TCH

N00217 R0000.0 G1011.0


K 1483 GUN DISABLED SELECTOR SWITCH
ALWAYS__ UALM_25
ON

N00218 R0000.0 G1011.1


L 1485 RETRACT ENABLED
ALWAYS__ UALM_26
ON

N00219 Y0002.7 G1011.4


M 1487 IN PROGRAM LOOP
DO_24_RB UALM_29
T_LOOP

N00220 Y0039.3 G1009.7


N 1489 TC PRESS FAULT RESET
DO_316_W UALM_16
RNGTLSTD

N00221
O 1491 SUB72
SPE
[f3l1vsmh1] Ladder Diagram 35

N00222 ### INTERFACE ###


A 1492 SUB71 P0007
SP INTERFACE

N00223 D0612.1 ACT D0612.0


B 1494 SUB 3 0040 ALL INTERFACE PB TIMEOUT
MH_IF_PB TMR ALL_IF_P
_TO B_TO

D0612.2
C
SEAL_IF_
PB_TO

D0612.3
D
STUD_IF_
PB_TO

D0612.4
E
VISION_I
F_PB_TO

O
[f3l1vsmh1] Ladder Diagram 36

N00224 K0002.0 D0612.1


A 1501 MH IF PB TO
CLMP1CLS MH_IF_PB
_TO

K0002.1
B
CLMP1OPN

K0002.2
C
CLMP2CLS

K0002.3
D
CLMP2OPN

K0002.4
E
CLMP3CLS

K0002.5
F
CLMP3OPN

K0002.6
G
CLMP4CLS

K0002.7
H
CLMP4OPN

K0003.0
I
CLMP5CLS

K0003.1
J
CLMP5OPN

K0003.2
K
CLMP6CLS

K0003.3
L
CLMP6OPN

K0003.4
M
CLMP7CLS

K0003.5
N
CLMP7OPN

K0003.6
O
CLMP8CLS
[f3l1vsmh1] Ladder Diagram 37

K0003.7
A
CLMP8OPN

K0004.0
B
CLMP9CLS

K0004.1
C
CLMP9OPN

K0004.2
D
CLP10CLS

K0004.3
E
CLP10OPN

K0014.2
F
VAC_1_ON
_PB

K0014.3
G
VAC_2_ON
_PB

K0014.4
H
VAC_3_ON
_PB

K0014.5
I
BLOWOFF_
1_ON_PB

K0014.6
J
BLOWOFF_
2_ON_PB

K0014.7
K
BLOWOFF_
3_ON_PB

K0000.4
L
RERUNPRC
PB

K0000.5
M
ACCPTPRC
PB

K0000.6
N
REJCTPRC
PB

K0000.7
O
INSPCTSE
LPB
[f3l1vsmh1] Ladder Diagram 38

K0011.4
A
TC_OPENG
UNCOVER

K0011.5
B
TC__CLOS
GUNCOVER

K0016.1
C
VAC_4_ON
_PB

K0016.2
D
BLOWOFF_
4_ON_PB

O
[f3l1vsmh1] Ladder Diagram 39

N00225 K0009.4 D0612.2


A 1536 SEAL IF PB TO
MAN_FLOW SEAL_IF_
_PB1 PB_TO

K0008.7
B
RESEAL_P
B1

K0011.2
C
AUTO_PUR
GE_PB1

K0008.2
D
ACCEPTSE
ALER1_IF

K0008.3
E
REJECTSE
ALER1_IF

K0012.3
F
INSPECTI
ON_PB_1

K0009.5
G
MAN_FLOW
_PB2

K0009.0
H
RESEAL_P
B2

K0011.3
I
AUTO_PUR
GE_PB2

K0012.4
J
INSPECTI
ON_PB_2

K0013.5
K
ACCEPTSE
ALER2_IF

K0013.6
L
REJECTSE
ALER2_IF

Y0108.7
M
DO_872_A
CKBRKN1

Y0108.2
N
DO_867_A
CKBRKN2

Y0029.3
O
DO_236_A
CKNOZCH1
[f3l1vsmh1] Ladder Diagram 40

Y0033.3
A
DO_268_A
CKNOZCH2

N00226 K0011.7 D0612.3


B 1553 STUD IF PB TO
STUDSKPR STUD_IF_
EMSTDPB1 PB_TO

K0012.0
C
STUDREJE
CTPB1

K0012.1
D
STUDMANU
ALPB1

K0012.2
E
STUDFAUL
TRSTPB1

K0012.6
F
STUDSKPR
EMSTDPB2

K0012.7
G
STUDREJE
CTPB2

K0013.0
H
STUDMANU
ALPB2

K0002.7
I
CLMP4OPN

K0013.2
J
REJECTNO
PGRECLL1

K0013.3
K
REJECTNO
PGRECLL2

K0013.4
L
STUDFAUL
TRSTPB2

O
[f3l1vsmh1] Ladder Diagram 41

N00227 K0001.4 D0612.4


A 1565 VISION IF PB TO
LOAD2AVE VISION_I
RAGE F_PB_TO

K0001.5
B
ABORTPRO
CESS

K0001.6
C
CALIBREQ
UEST

K0001.7
D
RETRYOPE
RATION

K0001.0
E
LIGHTTES
TPB

N00228
F 1571 SUB72
SPE

N00229 ### MH ###


G 1572 SUB71 P0008
SP MH

N00230 Y0000.3 K0004.4 R1410.0


H 1574 MANUAL GRIP ENABLE
DO_4_RBT MAN_GRP_ MAN_GRP_
_IN_TCH ENBLE_SS ENABLE

N00231 R1410.0 ACT


I 1577 SUB10 0000
MAN_GRP_ JMP
ENABLE

N00232 R0000.0 Y0114.0


J 1580 OPEN CLAMP 1
ALWAYS__ DO_913__
ON OPNCLMP1

N00233 R0000.0 Y0114.1


K 1582 CLOSE CLAMP 1
ALWAYS__ DO_914__
ON CLSCLMP1

N00234 R0000.0 Y0114.2


L 1584 OPEN CLAMP 2
ALWAYS__ DO_915__
ON OPNCLMP2

N00235 R0000.0 Y0114.3


M 1586 CLOSE CLAMP 2
ALWAYS__ DO_916__
ON CLSCLMP2

N00236 R0000.0 Y0114.4


N 1588 OPEN CLAMP 3
ALWAYS__ DO_917__
ON OPNCLMP3

N00237 R0000.0 Y0114.5


O 1590 CLOSE CLAMP 3
ALWAYS__ DO_918__
ON CLSCLMP3
[f3l1vsmh1] Ladder Diagram 42

N00238 R0000.0 Y0114.6


A 1592 OPEN CLAMP 4
ALWAYS__ DO_919__
ON OPNCLMP4

N00239 R0000.0 Y0114.7


B 1594 CLOSE CLAMP 4
ALWAYS__ DO_920__
ON CLSCLMP4

N00240 R0000.0 Y0115.0


C 1596 OPEN CLAMP 5
ALWAYS__ DO_921__
ON OPNCLMP5

N00241 R0000.0 Y0115.1


D 1598 CLOSE CLAMP 5
ALWAYS__ DO_922__
ON CLSCLMP5

N00242 R0000.0 Y0115.2


E 1600 OPEN CLAMP 6
ALWAYS__ DO_923__
ON OPNCLMP6

N00243 R0000.0 Y0115.3


F 1602 CLOSE CLAMP 6
ALWAYS__ DO_924__
ON CLSCLMP6

N00244 R0000.0 Y0115.4


G 1604 OPEN CLAMP 7
ALWAYS__ DO_925__
ON OPNCLMP7

N00245 R0000.0 Y0115.5


H 1606 CLOSE CLAMP 7
ALWAYS__ DO_926__
ON CLSCLMP7

N00246 R0000.0 Y0115.6


I 1608 OPEN CLAMP 8
ALWAYS__ DO_927__
ON OPNCLMP8

N00247 R0000.0 Y0115.7


J 1610 CLOSE CLAMP 8
ALWAYS__ DO_928__
ON CLSCLMP8

N00248 R0000.0 Y0116.0


K 1612 OPEN CLAMP 9
ALWAYS__ DO_929__
ON OPNCLMP9

N00249 R0000.0 Y0116.1


L 1614 CLOSE CLAMP 9
ALWAYS__ DO_930__
ON CLSCLMP9

N00250 R0000.0 Y0116.2


M 1616 OPEN CLAMP 10
ALWAYS__ DO_931__
ON OPNCLP10

N00251 R0000.0 Y0116.3


N 1618 CLOSE CLAMP 10
ALWAYS__ DO_932__
ON CLSCLP10

N00252 R0000.0 Y0127.2


O 1620 VACUUM 1 ON
ALWAYS__ DO1019_V
ON AC1ON
[f3l1vsmh1] Ladder Diagram 43

N00253 R0000.0 Y0127.3


A 1622 BLOWOFF 1 ON
ALWAYS__ DO1020_B
ON LWOF1ON

N00254 R0000.0 Y0127.4


B 1624 VACUUM 2 ON
ALWAYS__ DO1021_V
ON AC2ON

N00255 R0000.0 Y0127.5


C 1626 BLOWOFF 2 ON
ALWAYS__ DO1022_B
ON LWOF2ON

N00256 R0000.0 Y0127.6


D 1628 VACUUM 3 ON
ALWAYS__ DO1023_V
ON AC3ON

N00257 R0000.0 Y0127.7


E 1630 BLOWOFF 3 ON
ALWAYS__ DO1024_B
ON LWOF3ON

N00258 R0000.0 Y0118.5


F 1632 VACUUM 4 ON
ALWAYS__ DO_950_V
ON AC4ON

N00259 R0000.0 Y0118.6


G 1634 BLOWOFF 4 ON
ALWAYS__ DO_951_B
ON LWOF4ON

N00260
H 1636 SUB30
JMPE

N00261 R1410.0 ACT R0001.1


I 1637 SUB 3 0038
MAN_GRP_ TMR MAN_GRP_
ENABLE TO

N00262 R0001.1 ACT


J 1641 SUB10 0000
MAN_GRP_ JMP
TO

N00263 K0002.1 X1026.1 Y0114.0


K 1644 OPEN CLAMP 1
CLMP1OPN SI9_____ DO_913__
AUTOMDSW OPNCLMP1

N00264 Y0114.0 Y0009.0


L 1647 OPEN CLAMP #1
DO_913__ DO_73_OP
OPNCLMP1 N_CLMP1

N00265 K0002.0 X1026.1 Y0114.1


M 1649 CLOSE CLAMP 1
CLMP1CLS SI9_____ DO_914__
AUTOMDSW CLSCLMP1

N00266 Y0114.1 Y0009.1


N 1652 CLOSE CLAMP #1
DO_914__ DO_74_CL
CLSCLMP1 S_CLMP1

N00267 K0002.3 X1026.1 Y0114.2


O 1654 OPEN CLAMP 2
CLMP2OPN SI9_____ DO_915__
AUTOMDSW OPNCLMP2
[f3l1vsmh1] Ladder Diagram 44

N00268 Y0114.2 Y0009.2


A 1657 OPEN CLAMP #2
DO_915__ DO_75_OP
OPNCLMP2 N_CLMP2

N00269 K0002.2 X1026.1 Y0114.3


B 1659 CLOSE CLAMP 2
CLMP2CLS SI9_____ DO_916__
AUTOMDSW CLSCLMP2

N00270 Y0114.3 Y0009.3


C 1662 CLOSE CLAMP #2
DO_916__ DO_76_CL
CLSCLMP2 S_CLMP2

N00271 K0002.5 X1026.1 Y0114.4


D 1664 OPEN CLAMP 3
CLMP3OPN SI9_____ DO_917__
AUTOMDSW OPNCLMP3

N00272 Y0114.4 Y0009.4


E 1667 OPEN CLAMP #3
DO_917__ DO_77_OP
OPNCLMP3 N_CLMP_3

N00273 K0002.4 X1026.1 Y0114.5


F 1669 CLOSE CLAMP 3
CLMP3CLS SI9_____ DO_918__
AUTOMDSW CLSCLMP3

N00274 Y0114.5 Y0009.5


G 1672 CLOSE CLAMP #3
DO_918__ DO_78_CL
CLSCLMP3 S_CLMP3

N00275 K0002.7 X1026.1 Y0114.6


H 1674 OPEN CLAMP 4
CLMP4OPN SI9_____ DO_919__
AUTOMDSW OPNCLMP4

N00276 Y0114.6 Y0009.6


I 1677 OPEN CLAMP #4
DO_919__ DO_79_OP
OPNCLMP4 N_CLMP4

N00277 K0002.6 X1026.1 Y0114.7


J 1679 CLOSE CLAMP 4
CLMP4CLS SI9_____ DO_920__
AUTOMDSW CLSCLMP4

N00278 Y0114.7 Y0009.7


K 1682 CLOSE CLAMP #4
DO_920__ DO_80_CL
CLSCLMP4 S_CLMP4

N00279 K0003.1 X1026.1 Y0115.0


L 1684 OPEN CLAMP 5
CLMP5OPN SI9_____ DO_921__
AUTOMDSW OPNCLMP5

N00280 Y0115.0 Y0010.0


M 1687 OPEN CLAMP #5
DO_921__ DO_81_OP
OPNCLMP5 N_CLMP5

N00281 K0003.0 X1026.1 Y0115.1


N 1689 CLOSE CLAMP 5
CLMP5CLS SI9_____ DO_922__
AUTOMDSW CLSCLMP5

N00282 Y0115.1 Y0010.1


O 1692 CLOSE CLAMP #5
DO_922__ DO_82_CL
CLSCLMP5 S_CLMP5
[f3l1vsmh1] Ladder Diagram 45

N00283 K0003.3 X1026.1 Y0115.2


A 1694 OPEN CLAMP 6
CLMP6OPN SI9_____ DO_923__
AUTOMDSW OPNCLMP6

N00284 Y0115.2 Y0010.2


B 1697 OPEN CLAMP #6
DO_923__ DO_83_OP
OPNCLMP6 N_CLMP6

N00285 K0003.2 X1026.1 Y0115.3


C 1699 CLOSE CLAMP 6
CLMP6CLS SI9_____ DO_924__
AUTOMDSW CLSCLMP6

N00286 Y0115.3 Y0010.3


D 1702 CLOSE CLAMP #6
DO_924__ DO_84_CL
CLSCLMP6 S_CLMP_6

N00287 K0003.5 X1026.1 Y0115.4


E 1704 OPEN CLAMP 7
CLMP7OPN SI9_____ DO_925__
AUTOMDSW OPNCLMP7

N00288 Y0115.4 Y0010.4


F 1707 OPEN CLAMP #7
DO_925__ DO_85_OP
OPNCLMP7 N_CLMP_7

N00289 K0003.4 X1026.1 Y0115.5


G 1709 CLOSE CLAMP 7
CLMP7CLS SI9_____ DO_926__
AUTOMDSW CLSCLMP7

N00290 Y0115.5 Y0010.5


H 1712 CLOSE CLAMP #7
DO_926__ DO_86_CL
CLSCLMP7 S_CLAMP7

N00291 K0003.7 X1026.1 Y0115.6


I 1714 OPEN CLAMP 8
CLMP8OPN SI9_____ DO_927__
AUTOMDSW OPNCLMP8

N00292 Y0115.6 Y0010.6


J 1717 OPEN CLAMP #8
DO_927__ DO_87_OP
OPNCLMP8 N_CLMP8

N00293 K0003.6 X1026.1 Y0115.7


K 1719 CLOSE CLAMP 8
CLMP8CLS SI9_____ DO_928__
AUTOMDSW CLSCLMP8

N00294 Y0115.7 Y0010.7


L 1722 CLOSE CLAMP #8
DO_928__ DO_88_CL
CLSCLMP8 S_CLAMP8

N00295 K0004.1 X1026.1 Y0116.0


M 1724 OPEN CLAMP 9
CLMP9OPN SI9_____ DO_929__
AUTOMDSW OPNCLMP9

N00296 Y0116.0 Y0011.0


N 1727 OPEN CLAMP #9
DO_929__ DO_89_OP
OPNCLMP9 N_CLMP9

N00297 K0004.0 X1026.1 Y0116.1


O 1729 CLOSE CLAMP 9
CLMP9CLS SI9_____ DO_930__
AUTOMDSW CLSCLMP9
[f3l1vsmh1] Ladder Diagram 46

N00298 Y0116.1 Y0011.1


A 1732 CLOSE CLAMP #9
DO_930__ DO_90_CL
CLSCLMP9 S_CLMP9

N00299 K0004.3 X1026.1 Y0116.2


B 1734 OPEN CLAMP 10
CLP10OPN SI9_____ DO_931__
AUTOMDSW OPNCLP10

N00300 Y0116.2 Y0011.2


C 1737 OPEN CLAMP #10
DO_931__ DO_91_OP
OPNCLP10 N_CLMP10

N00301 K0004.2 X1026.1 Y0116.3


D 1739 CLOSE CLAMP 10
CLP10CLS SI9_____ DO_932__
AUTOMDSW CLSCLP10

N00302 Y0116.3 Y0011.3


E 1742 CLOSE CLAMP #10
DO_932__ DO_92_CL
CLSCLP10 S_CLMP10

N00303 K0014.2 X1026.1 K0014.1 Y0127.2


F 1744 VACUUM 1 ON
VAC_1_ON SI9_____ VAC/BLOW DO1019_V
_PB AUTOMDSW OFFTIMER AC1ON

N00304 Y0127.2 Y0008.0


G 1748
DO1019_V DO_65_VA
AC1ON C_1_ON

N00305 K0014.5 X1026.1 K0014.1 Y0127.3


H 1750 BLOWOFF 1 ON
BLOWOFF_ SI9_____ VAC/BLOW DO1020_B
1_ON_PB AUTOMDSW OFFTIMER LWOF1ON

N00306 Y0127.3 Y0008.1


I 1754
DO1020_B DO_66_BL
LWOF1ON WOFF1ON

N00307 K0014.3 X1026.1 K0014.1 Y0127.4


J 1756 VACUUM 2 ON
VAC_2_ON SI9_____ VAC/BLOW DO1021_V
_PB AUTOMDSW OFFTIMER AC2ON

N00308 Y0127.4 Y0008.2


K 1760
DO1021_V DO_67_VA
AC2ON C_2_ON

N00309 K0014.6 X1026.1 K0014.1 Y0127.5


L 1762 BLOWOFF 2 ON
BLOWOFF_ SI9_____ VAC/BLOW DO1022_B
2_ON_PB AUTOMDSW OFFTIMER LWOF2ON

N00310 Y0127.5 Y0008.3


M 1766
DO1022_B DO_68_BL
LWOF2ON WOFF2ON

N00311 K0014.4 X1026.1 K0014.1 Y0127.6


N 1768 VACUUM 3 ON
VAC_3_ON SI9_____ VAC/BLOW DO1023_V
_PB AUTOMDSW OFFTIMER AC3ON

N00312 Y0127.6 Y0008.4


O 1772
DO1023_V DO_69_VA
AC3ON C_3_ON
[f3l1vsmh1] Ladder Diagram 47

N00313 K0014.7 X1026.1 K0014.1 Y0127.7


A 1774 BLOWOFF 3 ON
BLOWOFF_ SI9_____ VAC/BLOW DO1024_B
3_ON_PB AUTOMDSW OFFTIMER LWOF3ON

N00314 Y0127.7 Y0008.5


B 1778
DO1024_B DO_70_BL
LWOF3ON WOFF3ON

N00315 K0016.1 X1026.1 K0014.1 Y0118.5


C 1780 VACUUM 4 ON
VAC_4_ON SI9_____ VAC/BLOW DO_950_V
_PB AUTOMDSW OFFTIMER AC4ON

N00316 Y0118.5 Y0008.6


D 1784
DO_950_V DO_71_VA
AC4ON C_4_ON

N00317 K0016.2 X1026.1 K0014.1 Y0118.6


E 1786 BLOWOFF 4 ON
BLOWOFF_ SI9_____ VAC/BLOW DO_951_B
4_ON_PB AUTOMDSW OFFTIMER LWOF4ON

N00318 Y0118.6 Y0008.7


F 1790
DO_951_B DO_72_BL
LWOF4ON WOFF4ON

N00319
G 1792 SUB30
JMPE

N00320 Y0008.0 ACT K0014.1


H 1793 SUB 3 0032 VACUUM / BLOWOFF TIMER
DO_65_VA TMR VAC/BLOW
C_1_ON OFFTIMER

Y0008.1
I
DO_66_BL
WOFF1ON

Y0008.2
J
DO_67_VA
C_2_ON

Y0008.3
K
DO_68_BL
WOFF2ON

Y0008.4
L
DO_69_VA
C_3_ON

Y0008.5
M
DO_70_BL
WOFF3ON

Y0008.6
N
DO_71_VA
C_4_ON

Y0008.7
O
DO_72_BL
WOFF4ON
[f3l1vsmh1] Ladder Diagram 48

N00321 K0002.0 D0612.0 K0002.0


A 1804 CLMP1 CLOSE
CLMP1CLS ALL_IF_P CLMP1CLS
B_TO

N00322 K0002.1 D0612.0 K0002.1


B 1807 CLMP1 OPEN
CLMP1OPN ALL_IF_P CLMP1OPN
B_TO

N00323 K0002.2 D0612.0 K0002.2


C 1810 CLMP2 CLOSE
CLMP2CLS ALL_IF_P CLMP2CLS
B_TO

N00324 K0002.3 D0612.0 K0002.3


D 1813 CLMP2 OPEN
CLMP2OPN ALL_IF_P CLMP2OPN
B_TO

N00325 K0002.4 D0612.0 K0002.4


E 1816 CLMP3 CLOSE
CLMP3CLS ALL_IF_P CLMP3CLS
B_TO

N00326 K0002.5 D0612.0 K0002.5


F 1819 CLMP3 OPEN
CLMP3OPN ALL_IF_P CLMP3OPN
B_TO

N00327 K0002.6 D0612.0 K0002.6


G 1822 CLMP4 CLOSE
CLMP4CLS ALL_IF_P CLMP4CLS
B_TO

N00328 K0002.7 D0612.0 K0002.7


H 1825 CLMP4 OPEN
CLMP4OPN ALL_IF_P CLMP4OPN
B_TO

N00329 K0003.0 D0612.0 K0003.0


I 1828 CLMP5 CLOSE
CLMP5CLS ALL_IF_P CLMP5CLS
B_TO

N00330 K0003.1 D0612.0 K0003.1


J 1831 CLMP5 OPEN
CLMP5OPN ALL_IF_P CLMP5OPN
B_TO

N00331 K0003.2 D0612.0 K0003.2


K 1834 CLMP6 CLOSE
CLMP6CLS ALL_IF_P CLMP6CLS
B_TO

N00332 K0003.3 D0612.0 K0003.3


L 1837 CLMP6 OPEN
CLMP6OPN ALL_IF_P CLMP6OPN
B_TO

N00333 K0003.4 D0612.0 K0003.4


M 1840 CLMP7 CLOSE
CLMP7CLS ALL_IF_P CLMP7CLS
B_TO

N00334 K0003.5 D0612.0 K0003.5


N 1843 CLMP7 OPEN
CLMP7OPN ALL_IF_P CLMP7OPN
B_TO

N00335 K0003.6 D0612.0 K0003.6


O 1846 CLMP8 CLOSE
CLMP8CLS ALL_IF_P CLMP8CLS
B_TO
[f3l1vsmh1] Ladder Diagram 49

N00336 K0003.7 D0612.0 K0003.7


A 1849 CLMP8 OPEN
CLMP8OPN ALL_IF_P CLMP8OPN
B_TO

N00337 K0004.0 D0612.0 K0004.0


B 1852 CLMP9 CLOSE
CLMP9CLS ALL_IF_P CLMP9CLS
B_TO

N00338 K0004.1 D0612.0 K0004.1


C 1855 CLMP9 OPEN
CLMP9OPN ALL_IF_P CLMP9OPN
B_TO

N00339 K0004.2 D0612.0 K0004.2


D 1858 CLMP10 CLOSE
CLP10CLS ALL_IF_P CLP10CLS
B_TO

N00340 K0004.3 D0612.0 K0004.3


E 1861 CLMP10 OPEN
CLP10OPN ALL_IF_P CLP10OPN
B_TO

N00341 K0014.2 D0612.0 K0014.2


F 1864
VAC_1_ON ALL_IF_P VAC_1_ON
_PB B_TO _PB

N00342 K0014.3 D0612.0 K0014.3


G 1867
VAC_2_ON ALL_IF_P VAC_2_ON
_PB B_TO _PB

N00343 K0014.4 D0612.0 K0014.4


H 1870
VAC_3_ON ALL_IF_P VAC_3_ON
_PB B_TO _PB

N00344 K0016.1 D0612.0 K0016.1


I 1873
VAC_4_ON ALL_IF_P VAC_4_ON
_PB B_TO _PB

N00345 K0014.5 D0612.0 K0014.5


J 1876
BLOWOFF_ ALL_IF_P BLOWOFF_
1_ON_PB B_TO 1_ON_PB

N00346 K0014.6 D0612.0 K0014.6


K 1879
BLOWOFF_ ALL_IF_P BLOWOFF_
2_ON_PB B_TO 2_ON_PB

N00347 K0014.7 D0612.0 K0014.7


L 1882
BLOWOFF_ ALL_IF_P BLOWOFF_
3_ON_PB B_TO 3_ON_PB

N00348 K0016.2 D0612.0 K0016.2


M 1885
BLOWOFF_ ALL_IF_P BLOWOFF_
4_ON_PB B_TO 4_ON_PB

N00349 K0000.4 Y0012.6


N 1888 RERUN PROCESS
RERUNPRC DO_103_R
PB ERUNPRC

N00350 K0000.5 Y0012.7


O 1890 ACCEPT PROCESS
ACCPTPRC DO_104_A
PB CCPTPRC
[f3l1vsmh1] Ladder Diagram 50

N00351 K0000.6 Y0013.0


A 1892 REJECT PROCESS
REJCTPRC DO_105_R
PB EJCTPRC

N00352 K0000.7 Y0013.1


B 1894 INSPECTION SELECTED
INSPCTSE DO_106_I
LPB NSP_SEL

K0001.3 K0001.5
C
VISIONIN ABORTPRO
TERVENSS CESS

Y0013.1 K0001.5
D
DO_106_I ABORTPRO
NSP_SEL CESS

N00353 K0000.4 D0612.0 K0000.4


E 1902 S RERUN PROCESS PB
RERUNPRC ALL_IF_P RERUNPRC
PB B_TO PB

N00354 K0000.4 D0612.0 K0000.4


F 1905 R RERUN PROCESS PB
RERUNPRC ALL_IF_P RERUNPRC
PB B_TO PB

N00355 K0000.5 D0612.0 K0000.5


G 1908 S ACCEPT PROCESS PB
ACCPTPRC ALL_IF_P ACCPTPRC
PB B_TO PB

N00356 K0000.5 D0612.0 K0000.5


H 1911 R ACCEPT PROCESS PB
ACCPTPRC ALL_IF_P ACCPTPRC
PB B_TO PB

N00357 K0000.6 D0612.0 K0000.6


I 1914 S REJECT PROCESS PB
REJCTPRC ALL_IF_P REJCTPRC
PB B_TO PB

N00358 K0000.6 D0612.0 K0000.6


J 1917 R REJECT PROCESS PB
REJCTPRC ALL_IF_P REJCTPRC
PB B_TO PB

N00359 K0000.7 D0612.0 K0000.7


K 1920 S INSPECTION SELECTED PB
INSPCTSE ALL_IF_P INSPCTSE
LPB B_TO LPB

N00360 K0000.7 D0612.0 K0000.7


L 1923 R INSPECTION SELECTED PB
INSPCTSE ALL_IF_P INSPCTSE
LPB B_TO LPB

N00361 K0011.4 D0612.0 K0011.4


M 1926 TOOL CHANGER OPEN GUN COVER
TC_OPENG ALL_IF_P TC_OPENG
UNCOVER B_TO UNCOVER

N00362 K0011.5 D0612.0 K0011.5


N 1929 TOOL CHANGER CLOSE GUN COVER
TC__CLOS ALL_IF_P TC__CLOS
GUNCOVER B_TO GUNCOVER

O
[f3l1vsmh1] Ladder Diagram 51

N00363 X0008.2 R0000.7


A 1932 PART PRESENT ON EOAT
DI_67_PR PART_PRE
T_PRES1 SENT

X0008.3
B
DI_68_PR
T_PRES2

X0008.4
C
DI_69_PR
T_PRES3

X0008.5
D
DI_70_PR
T_PRES4

X0008.6
E
DI_71_PR
T_PRES5

X0008.7
F
DI_72_PR
T_PRES6

N00364
G 1939 SUB72
SPE

N00365 ### APPLICATION ###


H 1940 SUB71 P0009
SP APPLICATION

N00366 D0000.0 Y0048.0


I 1942 MATERIAL HANLDING APPLICATION
MH_APP DO_385_M
H_APP

N00367 D0000.1 Y0048.1


J 1944 WELD 1 APPLICATION
WELD_1_A DO_386__
PP WLD1_APP

N00368 D0000.2 Y0048.2


K 1946 WELD 2 APPLICATION
WELD_2_A DO_387_W
PP LD2_APP

N00369 D0000.3 Y0048.3


L 1948 NUT FEED APPLICATION
NUT_FEED DO_388_N
_APP UTFD_APP

N00370 D0000.4 Y0048.4


M 1950 SEALER 1 APPLICATION
SEAL_1_A DO_389_S
PP LR_1_APP

N00371 D0000.5 Y0048.5


N 1952 SEALER 2 APPLICATION
SEAL_2__ DO_390_S
APP LR_2_APP

N00372 D0000.6 Y0048.6


O 1954 STUD WELD 1 APPLICATION
STUD_1_A DO_391_S
PP TDW_1APP
[f3l1vsmh1] Ladder Diagram 52

N00373 D0000.7 Y0048.7


A 1956 STUD WELD 2 APPLICATION
STUD_2_A DO_392_S
PP TDW_2APP

N00374 D0001.0 Y0049.0


B 1958 TOOL CHANGE APPLICATION
TOOL_CHA DO_393_T
NGE_APP C_APP

N00375 D0001.1 Y0049.1


C 1960 RIVET 1 APPLICAYION
RIVET_1_ DO_394_R
APP VT_1_APP

N00376 D0001.2 Y0049.2


D 1962 RIVET 2 APPLICATION
RIVET_2_ DO_395_R
APP VT_2_APP

N00377 D0001.3 Y0049.3


E 1964 NUT RUNNER APPLICATION
NUT_RUNN DO_396_N
ER_APP UTR_APP

N00378 D0001.4 Y0049.4


F 1966 MIG WELD APPLICATION
MIG_WELD DO_397_M
_APP IGW_APP

N00379 D0001.5 Y0049.5


G 1968 ROLL HEMMER APPLICATION
ROLLER_H DO_398_R
EMM_APP LLHEM_AP

N00380 D0001.6 Y0049.6


H 1970 LASER CUT APPLICATION
LASER_CU DO_399_L
T_APP SRCT_APP

N00381 D0001.7 Y0049.7


I 1972 PLASMA CUT APPLICATION
PLASMA_C DO_400_P
UT_APP LSMA_APP

N00382 D0002.0 Y0050.0


J 1974 LASER WELD APPLICATION
LASER_WE DO_401_L
LD_APP SRWLDAPP

N00383 D0002.1 Y0050.1


K 1976 OPERATOR LOAD APPLICATION
OPER_LOA DO_402_O
D_APP P_LD_APP

N00384 D0002.2 Y0050.2


L 1978 VISION APPLICATION
VISION_A DO_403_V
PP IS_APP

N00385 D0002.3 Y0050.3


M 1980 PROGRAM LOCATOR APPLICATION
PROG_LOC DO_404_P
_APP RG_LCAPP

N00386 D0002.4 Y0050.4


N 1982 INTERFACE DEFINITION BIT 21
IF_DEF__ DO_405__
21 INDEFB21

N00387 D0002.5 Y0050.5


O 1984 NUT FEEDER 2 APPLICATION
NUT_FEED DO_406_N
ER_2_APP TFD_2APP
[f3l1vsmh1] Ladder Diagram 53

N00388 D0002.6 Y0050.6


A 1986 INTERFACE DEFINITION BIT 23
IF_DEF__ DO_407_I
23 NDEF_B23

N00389 D0002.7 Y0050.7


B 1988 INTERFACE DEFINITION BIT 24
IF_DEF__ DO_408_I
24 NDEF_B24

N00390 D0003.0 Y0051.0


C 1990 INTERFACE DEFINITION BIT 25
IF_DEF__ DO_409_I
25 NDEF_B25

N00391 D0003.1 Y0051.1


D 1992 INTERFACE DEFINITION BIT 26
IF_DEF__ DO_410_I
26 NDEF_B26

N00392 D0003.2 Y0051.2


E 1994 INTERFACE DEFINITION BIT 27
IF_DEF__ DO_411_I
27 NDEF_B27

N00393 D0003.3 Y0051.3


F 1996 INTERFACE DEFINITION BIT 28
IF_DEF__ DO_412_I
28 NDEF_B28

N00394 D0003.4 Y0051.4


G 1998 INTERFACE DEFINITION BIT 29
IF_DEF__ DO_413_I
29 NDEF_B29

N00395 D0003.5 Y0051.5


H 2000 INTERFACE DEFINITION BIT 30
IF_DEF__ DO_414_I
30 NDEF_B30

N00396 D0003.6 Y0051.6


I 2002 INTERFACE DEFINITION BIT 31
IF_DEF__ DO_415_I
31 NDEF_B31

N00397 D0003.7 Y0051.7


J 2004 INTERFACE DEFINITION BIT 32
IF_DEF__ DO_416_I
32 NDEF_B32

N00398
K 2006 SUB72
SPE

N00399 ### DISPENSE1 ###


L 2007 SUB71 P0012
SP DISPENSE1

N00400 X0000.0 R0355.0


M 2009 INTERNAL EXTERNAL RUN ENABLE
DI_1_EXT INT_EXT_
_RNENBL RUN_ENAB

N00401 R0355.0 ACT D0601.0


N 2011 SUB 3 0016 EXTERNAL RUN ENABLE DELAY
INT_EXT_ TMR EXT_RUN_
RUN_ENAB ENBL_DLY

O
[f3l1vsmh1] Ladder Diagram 54

N00402 Y0118.0 Y0118.0 Y0083.2 R0355.1


A 2015 START DISPENSE1
DO_945_S DO_945_S DO_667_R START_DI
TRTDISP1 TRTDISP1 UN_MODE SPENSE1

R0355.1 Y0000.3 X0000.0 D0601.0


B
START_DI DO_4_RBT DI_1_EXT EXT_RUN_
SPENSE1 _IN_TCH _RNENBL ENBL_DLY

N00403 X0000.0 ACT D0602.0


C 2026 SUB 3 0023 E-STOP RECVER SLW REPEAT TIMER
DI_1_EXT TMR SLOW_REP
_RNENBL EAT_TIMR

N00404 F1000.4 ACT D0605.0


D 2030 SUB 3 0024 E-STOP RECOVER START DELAY
HELD TMR ESTOP_RE
C_SDLY

N00405 D0602.0 ACT D0604.0


E 2034 SUB 3 0025 ESTOP RECOVERY DELAY
SLOW_REP TMR ESTOP_RE
EAT_TIMR C_DELAY

N00406 R0355.1 Y0083.2 X0001.1 Y0083.5


F 2038 START DISP CYCLE1
START_DI DO_667_R DI_10_AU DO_670__
SPENSE1 UN_MODE TO_REPT STRT_DSP

N00407 K0009.6 X0001.1 Y0084.6


G 2042 FLOW / NO FLOW1
WET/DRY_ DI_10_AU DO_679__
MODE TO_REPT FLWNOFLW

Y0092.6
H FLOW / NO FLOW2
DO_743_F
LWNOFLW

N00408 Y0084.6 Y0048.4 D0005.1


I 2046 WET MODE SEALER 1
DO_679__ DO_389_S WETMODES
FLWNOFLW LR_1_APP EALER1

N00409 Y0092.6 Y0048.5 D0005.2


J 2049 WET MODE SEALER 2
DO_743_F DO_390_S WETMODES
LWNOFLW LR_2_APP EALER2

Y0048.5
K
DO_390_S
LR_2_APP

N00410 D0005.1 D0005.2 Y0026.0


L 2053
WETMODES WETMODES DO_209_F
EALER1 EALER2 LWSLSW

N00411 K0009.4 Y0084.0


M 2056 MANUAL FLOW1
MAN_FLOW DO_673_M
_PB1 ANFLW

N00412 K0008.4 Y0027.3 Y0027.2 K0008.4


N 2058 S ENABLE ACCEPT/REJECT 1
ENBACCEP DO_220_R DO_219_A ENBACCEP
TREJECT1 EJSEAL1 CCPTSL1 TREJECT1

O
[f3l1vsmh1] Ladder Diagram 55

N00413 K0008.2 Y0027.2 K0008.4


A 2062 R ENABLE ACCEPT/REJECT 1
ACCEPTSE DO_219_A ENBACCEP
ALER1_IF CCPTSL1 TREJECT1

K0008.3 Y0027.3
B
REJECTSE DO_220_R
ALER1_IF EJSEAL1

N00414 K0008.4 K0008.2 K0008.3 Y0027.2


C 2068
ENBACCEP ACCEPTSE REJECTSE DO_219_A
TREJECT1 ALER1_IF ALER1_IF CCPTSL1

N00415 K0008.4 K0008.2 K0008.3 Y0027.3


D 2072
ENBACCEP ACCEPTSE REJECTSE DO_220_R
TREJECT1 ALER1_IF ALER1_IF EJSEAL1

N00416 X0083.4 Y0026.1


E 2076
DI_669_S DO_210_S
LREADY1 EALRDY1

N00417 X0083.1 Y0026.2


F 2078
DI_666_I DO_211_S
NCYCLE1 EALCYCL1

N00418 X0083.3 Y0026.3


G 2080
DI_668_N DO_212_M
OFLT1 AJFLT1

N00419 X0083.7 Y0026.4


H 2082
DI_672_V DO_213_V
OLOK1 OL_OK1

N00420 Y0086.1 Y0028.2


I 2084
DO_690_@ DO_227_A
PRGBUCK TPURGBC1

N00421 X0083.0 Y0028.4


J 2086
DI_665_C DO_229_S
OMM_OK1 LCOMMOK1

N00422 X0083.6 Y0027.4


K 2088
DI_671_C DO_221_C
YCCMP1 YCCMP1

N00423 X0085.5 Y0027.5


L 2090
DI_686_2 DO_222_N
CINMIX1 O2CMIX1

N00424 X0084.2 Y0027.6


M 2092
DI_675_M DO_223_M
INFLT1 INORFLT1

N00425 X0086.2 Y0028.0


N 2094
DI_691_N DO_225_N
OZZCHG1 OZCHGRQ1

N00426 X0084.0 Y0028.1


O 2096
DI_673_H DO_226_H
I/LO1 ILOWARN1
[f3l1vsmh1] Ladder Diagram 56

N00427 X0026.2 Y0086.3


A 2098 FAULT RESET1
DI_211_R DO_692_F
STSL_FLT AULTRST

Y0094.3
B FAULT RESET2
DO_756_F
AULTRST2

N00428 Y0127.0 Y0086.1 Y0085.3


C 2101 PURGE1
DO_1017_ DO_690_@ DO_684__
PURGE1 PRGBUCK PURGE

X0026.4
D
DI_213_A
PRGESL_1

N00429 X0027.0 Y0084.7


E 2105 RESTART PULSE1
DI_217_R DO_680__
STRTPLS1 RESTRT

N00430 K0008.7 Y0027.0


F 2107
RESEAL_P DO_217_R
B1 ESEALPB1

N00431 K0011.2 Y0026.5


G 2109
AUTO_PUR DO_214_A
GE_PB1 UTPRGPB1

N00432 X0027.0 Y0084.7


H 2111 RESTART PULSE1
DI_217_R DO_680__
STRTPLS1 RESTRT

N00433 X0084.0 Y0028.1


I 2113
DI_673_H DO_226_H
I/LO1 ILOWARN1

N00434 X0084.3 Y0028.3


J 2115
DI_676_D DO_228_S
EPRESSIZ EALDEPR1

N00435 X0084.4 Y0028.6


K 2117
DI_677_P DO_231_P
URGCOMP1 URGCOMP1

N00436 X0084.5 Y0028.7


L 2119
DI678_PU DO_232_P
RGEACTV1 URGACTV1

N00437 X0027.1 Y0086.2


M 2121 ACK NOZZLE CHANGED1
DI_218_A DO_691_A
CKNZCHG1 CKNOZCHG

N00438 X0084.6 Y0029.0


N 2123
DI_679_R DO_233_S
EFERREQ1 LRREFER1

N00439 K0009.4 D0612.0 K0009.4


O 2125 MANUAL FLOW PB 1
MAN_FLOW ALL_IF_P MAN_FLOW
_PB1 B_TO _PB1
[f3l1vsmh1] Ladder Diagram 57

N00440 K0008.7 D0612.0 K0008.7


A 2128 RESEAL PB1
RESEAL_P ALL_IF_P RESEAL_P
B1 B_TO B1

N00441 K0011.2 D0612.0 K0011.2


B 2131 AUTO PURGE PB1
AUTO_PUR ALL_IF_P AUTO_PUR
GE_PB1 B_TO GE_PB1

N00442 K0008.2 D0612.0 K0008.2


C 2134 ACCEPT SEALER 1
ACCEPTSE ALL_IF_P ACCEPTSE
ALER1_IF B_TO ALER1_IF

N00443 K0008.3 D0612.0 K0008.3


D 2137 REJECT SEALER 1
REJECTSE ALL_IF_P REJECTSE
ALER1_IF B_TO ALER1_IF

N00444 K0012.3 D0612.0 K0012.3


E 2140 INSPECTION PB 1
INSPECTI ALL_IF_P INSPECTI
ON_PB_1 B_TO ON_PB_1

N00445 X0084.1 Y0029.1


F 2143
DI_674_D DO_234_D
OSRFIL1 OSRFILL1

N00446 K0012.3 Y0028.5


G 2145
INSPECTI DO_230_I
ON_PB_1 NSPCSEL1

N00447 X0085.6 Y0029.2


H 2147
DI_687_E DO_235_H
RRHEAT1 T/CLERR1

N00448 Y0108.7 D0612.0 Y0108.7


I 2149
DO_872_A ALL_IF_P DO_872_A
CKBRKN1 B_TO CKBRKN1

N00449 Y0029.3 D0612.0 Y0029.3


J 2152
DO_236_A ALL_IF_P DO_236_A
CKNOZCH1 B_TO CKNOZCH1

N00450
K 2155 SUB72
SPE

N00451 ### DISPENSE2 ###


L 2156 SUB71 P0013
SP DISPENSE2

N00452 Y0117.7 Y0117.7 Y0091.2 R0355.2


M 2158 START DISPENSE2
DO_944_S DO_944_S DO_731_R START_DI
TRTDISP2 TRTDISP2 UN_MODE SPENSE2

R0355.2 Y0000.3 X0000.0 D0601.0


N
START_DI DO_4_RBT DI_1_EXT EXT_RUN_
SPENSE2 _IN_TCH _RNENBL ENBL_DLY

N00453 R0355.2 Y0091.2 X0001.1 Y0091.5


O 2169 START DISP CYCLE2
START_DI DO_731_R DI_10_AU DO_734_S
SPENSE2 UN_MODE TO_REPT TRT_DSP
[f3l1vsmh1] Ladder Diagram 58

N00454 K0009.5 Y0092.0


A 2173 MANUAL FLOW2
MAN_FLOW DO_737_M
_PB2 ANFLW

N00455 K0013.7 Y0031.3 Y0031.2 K0013.7


B 2175 S ENABLE ACCEPT/REJECT 2
ENBACCEP DO_252_R DO_251_A ENBACCEP
TREJECT2 EJSEAL2 CCPTSL2 TREJECT2

N00456 K0013.5 Y0031.2 K0013.7


C 2179 R ENABLE ACCEPT/REJECT 2
ACCEPTSE DO_251_A ENBACCEP
ALER2_IF CCPTSL2 TREJECT2

K0013.6 Y0031.3
D
REJECTSE DO_252_R
ALER2_IF EJSEAL2

N00457 K0013.7 K0013.5 K0013.6 Y0031.2


E 2185
ENBACCEP ACCEPTSE REJECTSE DO_251_A
TREJECT2 ALER2_IF ALER2_IF CCPTSL2

N00458 K0013.7 K0013.5 K0013.6 Y0031.3


F 2189
ENBACCEP ACCEPTSE REJECTSE DO_252_R
TREJECT2 ALER2_IF ALER2_IF EJSEAL2

N00459 X0091.4 Y0030.1


G 2193
DI_733_S DO_242_S
LREADY2 EALRDY2

N00460 X0091.1 Y0030.2


H 2195
DI_730_I DO_243_S
NCYCLE2 EALCYCL2

N00461 X0091.3 Y0030.3


I 2197
DI_732_N DO_244_M
OFLT2 AJFLT2

N00462 X0091.7 Y0030.4


J 2199
DI_736_V DO_245_V
OLOK2 OL_OK2

N00463 Y0094.1 Y0032.2


K 2201
DO_754_@ DO_259_A
PRGBUCK2 TPURGBC2

N00464 X0091.0 Y0032.4


L 2203
DI_729_C DO_261_S
OMM_OK2 LCOMMOK2

N00465 X0091.6 Y0031.4


M 2205
DI_735_C DO_253_C
YCCMP2 YCCMP2

N00466 X0093.5 Y0031.5


N 2207
DI_750_2 DO_254_N
CINMIX2 O2CMIX2

N00467 X0092.2 Y0031.6


O 2209
DI_739_M DO_255_M
INFLT2 INORFLT2
[f3l1vsmh1] Ladder Diagram 59

N00468 X0094.2 Y0032.0


A 2211
DI_755_N DO_257_N
OZZCHG2 OZCHGRQ2

N00469 X0092.0 Y0032.1


B 2213
DI_737_H DO_258_H
I/LO2 ILOWARN2

N00470 Y0127.1 Y0094.1 Y0093.3


C 2215 PURGE2
DO_1018_ DO_754_@ DO_748_P
PURGE2 PRGBUCK2 URGE2

X0030.4
D
DI_245_A
PRGESL_2

N00471 X0031.0 Y0092.7


E 2219 RESTART PULSE2
DI_249_R DO_744_R
STRTPLS2 ESTRT

N00472 K0009.0 Y0031.0


F 2221
RESEAL_P DO_249_R
B2 ESEALPB2

N00473 K0011.3 Y0030.5


G 2223
AUTO_PUR DO_246_A
GE_PB2 UTPRGPB2

N00474 X0031.0 Y0092.7


H 2225 RESTART PULSE2
DI_249_R DO_744_R
STRTPLS2 ESTRT

N00475 X0092.0 Y0032.1


I 2227
DI_737_H DO_258_H
I/LO2 ILOWARN2

N00476 X0092.3 Y0032.3


J 2229
DI_740_D DO_260_S
EPRESIZ2 EALDEPR2

N00477 X0092.4 Y0032.6


K 2231
DI_741_P DO_263_P
URGCOMP2 URGCOMP2

N00478 X0092.5 Y0032.7


L 2233
DI742_PU DO_264_P
RGEACTV2 URGACTV2

N00479 X0031.1 Y0094.2


M 2235 ACK NOZZLE CHANGED2
DI_250_A DO_755_A
CKNZCHG2 CKNOZCH2

N00480 X0092.6 Y0033.0


N 2237
DI_743_R DO_265_S
EFERREQ2 LRREFER2

N00481 K0009.5 D0612.0 K0009.5


O 2239 MANUAL FLOW PB 2
MAN_FLOW ALL_IF_P MAN_FLOW
_PB2 B_TO _PB2
[f3l1vsmh1] Ladder Diagram 60

N00482 K0009.0 D0612.0 K0009.0


A 2242 RESEAL PB2
RESEAL_P ALL_IF_P RESEAL_P
B2 B_TO B2

N00483 K0011.3 D0612.0 K0011.3


B 2245 AUTO PURGE PB2
AUTO_PUR ALL_IF_P AUTO_PUR
GE_PB2 B_TO GE_PB2

N00484 K0013.5 D0612.0 K0013.5


C 2248 ACCEPT SEALER 2
ACCEPTSE ALL_IF_P ACCEPTSE
ALER2_IF B_TO ALER2_IF

N00485 K0013.6 D0612.0 K0013.6


D 2251 REJECT SEALER 2
REJECTSE ALL_IF_P REJECTSE
ALER2_IF B_TO ALER2_IF

N00486 K0012.4 D0612.0 K0012.4


E 2254 INSPECTION PB 2
INSPECTI ALL_IF_P INSPECTI
ON_PB_2 B_TO ON_PB_2

N00487 X0092.1 Y0033.1


F 2257
DI_738_D DO_266_D
OSRFIL2 OSRFILL2

N00488 K0012.4 Y0032.5


G 2259
INSPECTI DO_262_I
ON_PB_2 NSPCSEL2

N00489 X0093.6 Y0033.2


H 2261
DI751_ER DO_267_H
RHEAT2 T/CLERR2

N00490 Y0108.2 D0612.0 Y0108.2


I 2263
DO_867_A ALL_IF_P DO_867_A
CKBRKN2 B_TO CKBRKN2

N00491 Y0033.3 D0612.0 Y0033.3


J 2266
DO_268_A ALL_IF_P DO_268_A
CKNOZCH2 B_TO CKNOZCH2

N00492
K 2269 SUB72
SPE

N00493 ### VISION ###


L 2270 SUB71 P0024
SP VISION

N00494 X0099.0 Y0043.1


M 2272
DI_793__ DO_346_V
COMMOK ISCOMMOK

N00495 X0099.1 Y0042.1


N 2274
DI_794__ DO_338__
SYSERR VISSYSER

Y0109.5
O
DO_878_S
YSERROR
[f3l1vsmh1] Ladder Diagram 61

N00496 X0099.2 Y0042.2


A 2277
DI_795__ DO_339_V
CALERR ISCALIER

N00497 X0099.3 Y0043.0


B 2279
DI_796__ DO_345_N
MEASERR OMEASERR

N00498 X0099.6 Y0043.2


C 2281
DI_799__ DO_347_R
RCKOUTTL CKOUTTOL

N00499 X0099.5 Y0043.4


D 2283
DI_798__ DO_349_O
OUTOFTOL UTOFTOL

Y0109.6
E
DO_879_O
UTOFTOL

N00500 X0099.7 Y0043.6


F 2286
DI_800__ DO_351_S
SYSWARN YSWARN

N00501 X0042.4 Y0099.2


G 2288 VSION SYSTEM LIGHT TEST
DI_341_V DO_795__
ISLIGHT LIGHTTST

K0001.3 K0001.0
H
VISIONIN LIGHTTES
TERVENSS TPB

Y0099.2 K0001.0
I
DO_795__ LIGHTTES
LIGHTTST TPB

N00502 K0001.3 K0001.4 R0224.5


J 2296 VISION LOAD TO AVERAGE
VISIONIN LOAD2AVE DI_1022_
TERVENSS RAGE LOAD2AVG

R0224.5 K0001.4
K
DI_1022_ LOAD2AVE
LOAD2AVG RAGE

N00503 K0001.0 D0612.0 K0001.0


L 2302 S VISION LIGHT TEST PB
LIGHTTES ALL_IF_P LIGHTTES
TPB B_TO TPB

N00504 K0001.0 D0612.0 K0001.0


M 2305 R VISION LIGHT TEST PB
LIGHTTES ALL_IF_P LIGHTTES
TPB B_TO TPB

N00505 K0001.4 D0612.0 K0001.4


N 2308 S VISION LOAD TO AVERAGE
LOAD2AVE ALL_IF_P LOAD2AVE
RAGE B_TO RAGE

N00506 K0001.4 D0612.0 K0001.4


O 2311 R VISION LOAD TO AVERAGE
LOAD2AVE ALL_IF_P LOAD2AVE
RAGE B_TO RAGE
[f3l1vsmh1] Ladder Diagram 62

N00507 K0001.3 K0001.5 Y0100.0


A 2314 ABORT VISION OPERATION
VISIONIN ABORTPRO DO_801__
TERVENSS CESS VISABRT

X0042.7
B
DI_344_A
BRTVISOP

Y0100.0 K0001.5
C
DO_801__ ABORTPRO
VISABRT CESS

N00508 K0001.5 D0612.0 K0001.5


D 2321 S VISION ABORT VISION PROCESS
ABORTPRO ALL_IF_P ABORTPRO
CESS B_TO CESS

N00509 K0001.5 D0612.0 K0001.5


E 2324 R VISION ABORT VISION PROCESS
ABORTPRO ALL_IF_P ABORTPRO
CESS B_TO CESS

N00510 K0001.3 K0001.6 Y0043.3


F 2327
VISIONIN CALIBREQ DO_348_R
TERVENSS UEST UNCALIB

Y0043.3 K0001.6
G
DO_348_R CALIBREQ
UNCALIB UEST

N00511 K0001.6 D0612.0 K0001.6


H 2333 S VISION CALIB REQUEST
CALIBREQ ALL_IF_P CALIBREQ
UEST B_TO UEST

N00512 K0001.6 D0612.0 K0001.6


I 2336 R VISION CALIB REQUEST
CALIBREQ ALL_IF_P CALIBREQ
UEST B_TO UEST

N00513 K0001.3 K0001.7 Y0100.1


J 2339 RETRY VISION OPERATION
VISIONIN RETRYOPE DO_802__
TERVENSS RATION VISRETRY

X0043.0
K
DI_345_R
TRYVISOP

Y0100.1 K0001.7
L
DO_802__ RETRYOPE
VISRETRY RATION

N00514 K0001.7 D0612.0 K0001.7


M 2346 S VISION RETRY OPERATION
RETRYOPE ALL_IF_P RETRYOPE
RATION B_TO RATION

N00515 K0001.7 D0612.0 K0001.7


N 2349 R VISION RETRY OPERATION
RETRYOPE ALL_IF_P RETRYOPE
RATION B_TO RATION

O
[f3l1vsmh1] Ladder Diagram 63

N00516 X0099.1 R0224.4


A 2352 ALL VISION ERRORS
DI_794__ DI1021_V
SYSERR ISIONERR

X0099.2
B
DI_795__
CALERR

X0099.3
C
DI_796__
MEASERR

X0099.4
D
DI_797__
COMMERR

N00517 K0001.3 K0001.3


E 2357 S VISION INTERVENTION ENABLE SS
VISIONIN VISIONIN
TERVENSS TERVENSS

N00518 K0001.3 X1025.1 K0001.3


F 2359 R VISION INTERVENTION ENABLE SS
VISIONIN FAULT___ VISIONIN
TERVENSS RESET TERVENSS

K0001.3 R0224.5
G
VISIONIN DI_1022_
TERVENSS LOAD2AVG

K0001.3 Y0100.0
H
VISIONIN DO_801__
TERVENSS VISABRT

K0001.3 Y0100.1
I
VISIONIN DO_802__
TERVENSS VISRETRY

K0001.3 Y0043.3
J
VISIONIN DO_348_R
TERVENSS UNCALIB

K0001.3 Y0099.2
K
VISIONIN DO_795__
TERVENSS LIGHTTST

K0001.3 Y0013.1
L
VISIONIN DO_106_I
TERVENSS NSP_SEL

N00519 K0001.1 Y0000.5 Y0072.2


M 2376 ROBOT BYPASS SS
ROBOTBYP DO_6_RBT DO_579_R
ASS_SS _@_MAINT BTBYP_SS

N00520 Y0101.5 Y0099.2 Y0101.5


N 2379 START VISION CYCLE
DO_814_S DO_795__ DO_814_S
TARTCYC LIGHTTST TARTCYC

O
[f3l1vsmh1] Ladder Diagram 64

N00521 X0106.2 Y0042.4


A 2382
DI_851_V DO_341_V
ISPASS1 ISPASSED

X0106.3
B
DI_852_V
ISPASS2

X0106.4
C
DI_853_V
ISPASS4

N00522 X0100.3 Y0042.5


D 2386
DI_804_M DO_342_M
STRNDWRN STRNDWRN

N00523 X0100.4 Y0042.6


E 2388
DI_805_M DO_343_M
S_REJECT S_REJECT

N00524 X0103.0 Y0072.7


F 2390 VISION EDIT OCCURRED
DI_825_E DO_584_E
DITOCCUR DITOCCUR

N00525
G 2392 SUB72
SPE

You might also like