You are on page 1of 82

Controls, Conveyors, Robotics & Welding

GM Global Robot Specifications


GRS-4 Standard Robot Interface Section V:
Robot Vision Guidance

October 2008
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

DOCUMENT MANAGEMENT INFORMATION


Authors:

GME CCRW:
- GME CCRW
- GME CCRW

GMNA:

Tom McGraw - GMNA CCRW


Jon Chen – GM CCRW
Peter Tavora – GMNA CCRW
Vision User Group Committee

Approval(s):

Steve Byrne - GMNA CCRW

Sponsoring groups:

GME Controls, Conveyors, Robotics & Welding


GMNA Vehicle Operations, Manufacturing – Controls, Conveyors, Robotics & Welding

Forward questions, comments and/or revisions to:

General Motors Corporation


NA Controls, Conveyors, Robotics & Welding
30300 Mound Road
Mail Code 480-109-266
Warren, MI 48090
Attn: Tom McGraw

Additional Copies of this Document may be obtained from:

Any printed copy of this document is considered “uncontrolled” according to ISO9001 standards.
Access to a controlled version can be made through the GMNA Socrates website by selecting the
following links in the order in which they are listed.

1. A-Z Site
2. Controls, Conveyors, Robotics & Welding
3. Quality System Management
4. Standards & Specifications
5. Robotics
6. GRS-4V- Robot Vision Guidance Specification.

Document expiration date:

This document will expire December, 2011. It may be revised, reaffirmed or withdrawn prior to
this date. Contact the organization listed above for the latest revision.

ii
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Document revisions:

Date Rev. By Revision History


10/31/2008 1 Tom McGraw / Released.
Jon Chen

iii
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

TABLE OF CONTENTS

Table of Contents
1. General .................................................................................................................................... 1
1.1 Scope .....................................................................................................................................1
1.2 Purpose..................................................................................................................................1
1.3 Intended Audience .................................................................................................................1
1.4 Robot Guidance Description ..................................................................................................1
1.5 Integrated Vision System and Non-integrated Vision System ...............................................1
1.5.1 Integrated Vision System ............................................................................................. 1
1.5.2 Non-integrated Vision System ..................................................................................... 2
2. Communication Interface ...................................................................................................... 3
2.1 Network Architecture .............................................................................................................3
2.2 Communication Overview ......................................................................................................4
2.3 Vision System to PLC Communication ..................................................................................4
2.4 Vision System to Robot Communication ...............................................................................4
2.4.1 EtherNet/ IP Bitmap ..................................................................................................... 5
2.4.2 PCDK (or equivalent) Developed Ethernet Interface................................................... 5
2.5 PLC to Robot Communication ...............................................................................................5
2.6 User Frames and User Tools.................................................................................................6
2.7 Vision I/O for Lighting ............................................................................................................7
2.8 Vision Flags ...........................................................................................................................7
2.9 Vision Register and Position Registers .................................................................................8
2.10 Vision System User Alarms ..............................................................................................9
3. EtherNet/IP General Requirements .................................................................................... 10
4. Interface Signals ................................................................................................................... 11
4.1 Integrated Vision Interface Signals ......................................................................................11
4.2 Non-Integrated Vision Interface Signals ..............................................................................11
4.2.1 Signal Definitions ....................................................................................................... 11
4.2.2 Vision Controller Outputs ........................................................................................... 11
4.2.3 Vision Controller Inputs.............................................................................................. 11
4.3 Additional Robot to PLC Signals .........................................................................................12
4.3.1 Robot Inputs / PLC Outputs ....................................................................................... 12
4.3.2 Robot Outputs / PLC Inputs ....................................................................................... 12
5. Fault Handling and Recovery .............................................................................................. 13
5.1 Integrated Vision Error Recovery ........................................................................................13
5.2 Non-Integrated Vision Error Recovery.................................................................................13
5.2.1 Communication Error ................................................................................................. 13
5.2.2 Vision Measurement Alarms ...................................................................................... 13
5.2.3 Vision System Fault ................................................................................................... 13
5.2.4 PLC Fault Recovery - Vision HMI Screen Buttons .................................................... 14
6. Vision System Selection ...................................................................................................... 15
6.1 Vision Selection Guide Flowchart ........................................................................................15
6.2 Installed Vision Base ...........................................................................................................17
7. Appendix A: Perceptron Guidance ..................................................................................... 19
7.1 General ................................................................................................................................19
7.1.1 Scope ......................................................................................................................... 19
7.1.2 Purpose ..................................................................................................................... 19
7.1.3 Intended Audience ..................................................................................................... 19
7.1.4 Robot Guidance Description ...................................................................................... 19
iv
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.2 Interface Signals ..................................................................................................................20


7.2.1 Signal Definitions ....................................................................................................... 20
7.2.2 Timing Diagrams........................................................................................................ 23
7.3 Mapping of Signals ..............................................................................................................27
7.3.1 Ethernet/IP I/O Requirements (adapter) .................................................................... 27
7.3.2 Vision Controller Outputs / PLC Inputs ...................................................................... 28
7.3.3 Vision Controller Inputs / PLC Outputs ...................................................................... 30
7.3.4 Robot Outputs / PLC Inputs ....................................................................................... 32
7.3.5 Robot Inputs / PLC Outputs ....................................................................................... 32
7.4 Vision Cycle Description ......................................................................................................33
7.4.1 Normal Cycle ............................................................................................................. 33
7.4.2 Compound Cycle ....................................................................................................... 33
7.5 Software Requirements .......................................................................................................35
7.5.1 Vision PC Software .................................................................................................... 35
7.5.2 Robot Software .......................................................................................................... 36
7.5.3 PLC Software............................................................................................................. 38
7.6 Fault Handling and Recovery ..............................................................................................38
7.6.1 Robot Fault Recovery ................................................................................................ 38
7.6.2 PLC Fault Recovery................................................................................................... 39
8. Appendix B: Perceptron FMS Interface ............................................................................. 41
8.1 General ................................................................................................................................41
8.1.1 Scope ......................................................................................................................... 41
8.1.2 Purpose ..................................................................................................................... 41
8.1.3 Intended Audience ..................................................................................................... 41
8.1.4 FMS Description ........................................................................................................ 41
8.2 Interface Signals ..................................................................................................................42
8.2.1 Signal Definitions ....................................................................................................... 42
8.2.2 Timing Diagrams........................................................................................................ 45
8.3 Mapping of Signals ..............................................................................................................51
8.3.1 Ethernet/IP I/O Requirements (Adapter) ................................................................... 51
8.3.2 Vision Controller Outputs / PLC Inputs ...................................................................... 52
8.3.3 Vision Controller Inputs / PLC Outputs ...................................................................... 54
8.3.4 Robot Outputs / PLC Inputs ....................................................................................... 56
8.3.5 Robot Inputs / PLC Outputs ....................................................................................... 56
8.4 Vision Cycle Definition .........................................................................................................57
8.4.1 Part Path .................................................................................................................... 57
8.4.2 Artifact Path ............................................................................................................... 57
8.4.3 Detailed Sequence .................................................................................................... 57
8.5 Software Requirements .......................................................................................................58
8.5.1 Vision PC Software .................................................................................................... 58
8.5.2 Robot Software .......................................................................................................... 58
8.5.3 PLC Software............................................................................................................. 60
8.6 Fault Handling and Recovery ..............................................................................................62
8.6.1 Robot Fault Recovery ................................................................................................ 62
8.6.2 PLC Fault Recovery................................................................................................... 62
9. Appendix C: Stationary Perceptron Interface ................................................................... 64
9.1 General ................................................................................................................................64
9.1.1 Scope ......................................................................................................................... 64
9.1.2 Purpose ..................................................................................................................... 64
9.1.3 Intended Audience ..................................................................................................... 64
9.1.4 Stationary Measurement System .............................................................................. 64
9.2 Interface Signals ..................................................................................................................65
9.2.1 Signal Definitions ....................................................................................................... 65
v
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.2.2 Timing Diagrams........................................................................................................ 67


9.3 Mapping of Signals ..............................................................................................................71
9.3.1 EtherNet/IP I/O Requirements (Adapter) ................................................................... 71
9.3.2 Vision Controller Outputs / PLC Inputs ...................................................................... 72
9.3.3 Vision Controller Inputs / PLC Outputs ...................................................................... 73
9.4 PLC Software Requirements ...............................................................................................73
9.4.1 Modes ........................................................................................................................ 73
9.4.2 Repeatability Testing ................................................................................................. 74
9.4.3 Phasing ...................................................................................................................... 74
9.5 Fault Handling and Recovery ..............................................................................................75
9.5.1 Auto Retry .................................................................................................................. 75
9.5.2 Vision Measurement Alarms ...................................................................................... 75
9.5.3 Vision System Fault ................................................................................................... 75
9.5.4 PLC Fault Recovery - Vision HMI Screen Buttons .................................................... 75

vi
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

1. General

1.1 Scope

This specification contains I/O and software requirements associated with General
Motors’ standard robot, PLC, and vision controller interface for robot guidance
applications.

1.2 Purpose

This specification documents the interface requirements between robots, PLC’s, and
other purchased equipment used by General Motors. It is intended to complement the
technical specifications that are maintained separately for the robots and peripheral
equipment in General Motors processes.

Application specific interface detail shall be added to this document in the appendices.
Process information and setup material can be found in the application specific user
guides.

In addition this document serves to provide awareness of the General Motors installed
vision base and aid in decision making regarding selecting appropriate vision guidance
systems.

1.3 Intended Audience

This document is intended for robot suppliers, vision suppliers, General Motors’ Common
Controls Software developers, and General Motors’ robot application software developers.

1.4 Robot Guidance Description

Robot Guidance is consists of a vision system with one or more cameras providing an
offset to the robot path. The cameras take a picture of a feature(s) and subsequently
offset the robot path based on a known relationship between the feature and the camera.
Offsets can be 2D, 2 1/2D (2D plus Z), or 3D and up to 6 degrees of freedom.

1.5 Integrated Vision System and Non-integrated Vision System

Vision guidance systems can be classified into either integrated or non-integrated


systems. Either system shall be capable of calculating 2D or 3D offsets in up to 6
degrees of freedom.

1.5.1 Integrated Vision System

An integrated vision system shall refer to a robot controller with an (optional) built-in
vision capability to perform robot guidance applications. The vision capability shall be
provided through the robot main processor module or with a separate module that plugs
into the same controller chassis. Capability of 2D and 3D offset calculation must be
available.

In an integrated vision system, the robot teach pendant shall be capable of displaying
vision application runtime images and for troubleshooting and recovery from errors.

1
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

The integrated vision system shall require no special communication interface and shall
provide offsets to the robot in seamless fashion directly to robot position registers.

1.5.2 Non-integrated Vision System

The non-integrated vision system shall refer to systems that require a separate vision
controller. The non-integrated vision systems typically use a PC computer with a frame
grabber board, I/O board, and have a graphical user interface to assist the user in setting
up the system.

Non-integrated vision systems require a special communication interface to relay offsets


and control signals from the PC to the robot. A communication overview is provided in
section 2, and application specific detail can be found in the Appendices of this document
as well as in separate user guides for those applications.

2
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2. Communication Interface

2.1 Network Architecture

The non-integrated robot vision guidance system when used shall adhere to the GM
CCRW network architecture. EtherNet/IP shall be utilized as the primary network
protocol connection and interface. Integrated vision requires no connection since it is by
definition integral to the robot.

3
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2.2 Communication Overview

Communication is defined between three devices: the vision controller, robot, and PLC. Not each
communication path is mandatory and this will vary by application. For example, integrated vision
systems have no communication from the vision system to the PLC (vision is integral to the robot).
Nonintegrated systems may have a PLC interface. The following diagram illustrates the
communication between the devices. Note that the diagram is logical in nature and does not
show network topology, i.e. the network switch is not shown.

2.3 Vision System to PLC Communication

When a vision system to PLC interface is required this interface shall be through an Ethernet/IP
bitmap. The size of the map (in bytes) and the specific signal requirements will vary by
application, and specific interfaces are documented by application in the Appendices. Minimum
signal requirements as well as general EtherNet/IP adapter requirements are detailed in section
3.

Other interface methods such as DeviceNet, serial RS232, and explicit messaging shall require
CCRW approval.

2.4 Vision System to Robot Communication

4
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Two methods are allowed for communication between the vision controller and the robot: an
Ethernet IP bitmap or a PCDK (or equivalent) developed Ethernet interface.

Other interface methods such as DeviceNet, serial RS232, and explicit messaging shall require
CCRW approval.

2.4.1 EtherNet/ IP Bitmap

An EtherNet/IP bitmap may be used to send offset data to the robot. When implementing this
interface the offset data must be converted from floating point representation to digital
representation. This shall be done with either two’s complement format or using the IEEE 754
format for representation of floating point numbers.

Robot code must be written to receive the offset data and convert it back into floating point
values.

2.4.2 PCDK (or equivalent) Developed Ethernet Interface

A PCDK (or equivalent) developed Ethernet interface is also allowed for sending offset data to the
robot. This method allows read/write access directly to robot position registers.

2.5 PLC to Robot Communication

Communication from PLC to robot is via an EtherNet/IP bitmap and is defined in GRS4 Section A.
No special changes to this interface are needed to facilitate the Vision system, although inputs
DI[61] – DI[64] and outputs DO [61] – DO [64] are spare if needed.

Some robot configurations, such as the press robot interface and the Global 2 robot have an
expanded I/O map with more available spare I/O for this use.

5
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2.6 User Frames and User Tools

User frames and user tools needed for vision applications shall be selected from available frame
and tool numbers as listed below.

User Frames
Frame Number Name Descriptions
1 Null Frame Default base of robot
2 Rack #1 Rack docking station #1
3 Rack #2 Rack docking station #2
4 Rack #3 Rack docking station #3
5 Rack #4 Rack docking station #4
6 Rack #5 Rack docking station #5
7 Rack #6 Rack docking station #6
8 Cal Plate 3DL calibration plate
9 Spare Spare

User Tools
Tool Number Name Descriptions
1 Null Tool Default faceplate of robot
2 EOAT #1 Standard GM tool #1
3 EOAT #2 Standard GM tool #2
4 EOAT #3 Standard GM tool #3
5 EOAT #4 Standard GM tool #4
6 Spare Spare
7 3DL #1 3DL Sensor #1
8 3DL #2 3DL Sensor #2
9 Spare Spare
10 Pointer EOAT pointer

6
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2.7 Vision I/O for Lighting

If lighting is needed the following robot I/O is reserved for this function in the Global robot map.

Digital Inputs and Outputs


Inputs Outputs
Device Output Description Device Output Description
DI609 Reserved for Vision DO609 Remote Light Bank #1
L B DI610 Reserved for Vision L B DO610 Remote Light Bank #2
R i l R i l
e g o
DI611 Reserved for Vision e g o
DO611 Remote Light Bank #3
m h c DI612 Reserved for Vision m h c DO612 Remote Light Bank #4
o t k o t k
t i
DI613 Reserved for Vision DO613 Reserved for Vision
t i
e n 4 DI614 Reserved for Vision e n 4 DO614 Reserved for Vision
g 1 DI615 Reserved for Vision g 1 DO615 Reserved for Vision
DI616 Reserved for Vision DO616 Reserved for Vision
DI617 Reserved for Vision DO265 EOAT Light Bank #1 (TEMP)
L B DI618 Reserved for Vision L B DO266 EOAT Light Bank #2 (TEMP)
i l i l
E g o
DI619 Reserved for Vision E g o
DO267 EOAT Light Bank #3 (TEMP)
O h c DI620 Reserved for Vision O h c DO268 EOAT Light Bank #4 (TEMP)
A t k A t k
DI621 Reserved for Vision DO269 Reserved for Vision (TEMP)
T i T i
n 4 DI622 Reserved for Vision n 4 DO270 Reserved for Vision (TEMP)
g 2 DI623 Reserved for Vision g 2 DO271 Reserved for Vision (TEMP)
DI624 Reserved for Vision DO272 Reserved for Vision (TEMP)

2.8 Vision Flags

The following flags are reserved if needed for vision processes.

Flags
Flag # Name Description
5 Spare
6 Vision Complete Indicates Vision process is complete with good offset.
7 Racking Complete Indicated the racking process is complete and time for new rack.
8 Background Execution Indicates that there is a program running in the background.
9 Spare Reserved for Vision
10 Spare Reserved for Vision

7
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2.9 Vision Register and Position Registers

Position registers 10-19 have been reserved for vision applications. The following map is a vision
guided racking example of the use of PR[10] – [19].

Registers 29-49 have been reserved for vision applications. The following is a racking example
utilizing this range.

Position Registers
PR[Number] Name Description
10 3DL Offset Offset provided by 3D vision process.
11 2D Offset Offset provided by 2D vision process.
12 Null Offset Used to set offset to zero.
13 3DL-1 Fix Pos 3DL Sensor #1 Fixture Position
14 3DL-2 Fix Pos 3DL Sensor #2 Fixture Position
15 Spare Reserved for IR Vision
16 Spare Reserved for IR Vision
17 Spare Reserved for IR Vision
18 Spare Reserved for IR Vision
19 Spare Reserved for IR Vision

Registers
Register # Name Description
29 Abort Background Aborts Part Find program if rerun is required
30 CHK Status This indicates to the program to check the rack status
31 Part Count 1 The part count in rack #1
32 Part Count 2 The part count in rack #2
33 Part Count 3 The part count in rack #3
34 Part Count 4 The part count in rack #4
35 Part Count 5 The part count in rack #5
36 Part Count 6 The part count in rack #6

37 Retry CNT This is a counter to indicate how many time the process was retried
38 X Limit Sets the limit for the X value of the offset.
39 Y Limit Sets the limit for the Y value of the offset.
40 Z Limit Sets the limit for the Z value of the offset
41 WPR Limit Sets the limit for the W,P and R values of the offset.
42 Test Value The value of the offset currently being tested.
43 Offset Pass Indicates if the offset is within limits.

44 Element Out Indicates witch of the six elements of the offset is out of the limits.
45 OP Menu Used for operator inputs for corrective action.
46 Bad Offset Indicates witch element of the offset is bad.
47 3DL Process Indicates witch 3D process is running
48 Bad Offset Limit Indicates the value of the out of spec. offset
49 Tier Count Indicates witch ties is being active

8
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2.10 Vision System User Alarms

The following user alarms (51-69) have been reserved for vision if needed.

User Alarms
User Alarms Name Description Remedy
If the part count doesn't fall within the range of the part
51 Part Count Fault total of the rack.
If the Vision system is unable to determine the correct
52 Find Count Fault part count in the rack.
If the Vision system cannot successfully obtain a offset
53 2D Fault within three attempts of the process.
If the Vision system cannot successfully obtain a offset
54 3D Fault within three attempts of the process.
The part present swithes are not being made at the
Part Present pickup position. Either the offset is not correct or one of
55 Fault the part present switches has malfunctioned.
56 X Out Fault X value of offset out of talerance.
57 Y Out Fault Y value of offset out of talerance.
58 Z Out Fault Zvalue of offset out of talerance.
59 W Out Fault W value of offset out of talerance.
60 P Out Fault P value of offset out of talerance.
61 R Out Fault R value of offset out of talerance.
62 Spare Reserved for Vision
63 Spare Reserved for Vision
64 Spare Reserved for Vision
65 Spare Reserved for Vision
66 Spare Reserved for Vision
67 Spare Reserved for Vision
68 Spare Reserved for Vision
69 Spare Reserved for Vision

9
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

3. EtherNet/IP General Requirements

The robot, PLC, and vision controller shall adhere to the following general EtherNet/IP I/O
requirements. All interface signals shall be produced and consumed via EtherNet/IP implicit
message (I/O).

1. The controller shall pass the EtherNet/IP Conformance Test and an EtherNet/IP
“Statement of Compliance” shall be made available upon request.

2. The device shall follow the recommendations put forth in the ODVA document
Recommended IP Addressing Methods for EtherNet/IP Devices.

3. The digital inputs and outputs shall be allocatable byte-wise to a connection.

4. The vision controller shall be able to maintain at least 8 bi-directional real time
connections with both produce and consume capability.

5. The real time connections shall receive priority over the non real time traffic sent such
that performance degradation due to congestion, if any, will occur on the non-real
time connections before the real time connections are effected.

6. Data integrity shall be maintained for up to 508-byte frame size message (Maximum
allowed in by the ODVA EtherNet/IP definition).

7. The RPI (requested packet interval) shall be configurable at the scanner. The
minimum RPI shall be 20ms and it shall be adjustable in 5ms increments or less.
The default setting shall be 60ms. All adapter devices shall be able to support RPI
set by the scanner.

8. Supplier shall provide documentation such as EDS file that describe the I/O
connection capacity and format to allow easy configuration of connections at the
scanner.

9. The device shall confirm to the ODVA recommended I/O performance degradation
measures under various background traffic loads.

10. Diagnostics screen(s) shall be provided on the vision controller to display connection
information such as name, IP address, and communication status for each real time
connection.

11. Controllers shall support address conflict detection standard and provide sufficient
diagnostic when condition occurs.

12. Controllers shall be capable of supporting the CCRW Ethernet device naming
standard.

13. The offset and user frame data shall be in IEEE-754 floating point format or two’s
complement format. Other format used to present these data shall require GM
approval.

10
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

4. Interface Signals

4.1 Integrated Vision Interface Signals

Integrated vision systems communicate internally directly to robot position registers and as such
do not require additional discrete interface signals to the PLC or robot.

4.2 Non-Integrated Vision Interface Signals

Non-integrated vision systems must have an interface from the vision controller to the PLC or
robot. The bitmap required will vary by application and if documented can be found in the
Appendices or in the user manual for the application.

This section states minimum requirements for signals to and from the vision controller and gives
some typical application examples.

4.2.1 Signal Definitions

The type and number of signals will vary considerably by application. This section describes the
minimum signal definitions and typical usage. More detailed information on specific applications
will be available in the user manual for that application and in the Appendices if available (i.e.
vision guided racking user manual, and Appendix A Perceptron guidance interface).

Vision controller outputs shall be able to be monitored by either the robot, PLC, or both.

The vision controller shall provide positive acknowledgement for all interface signals through
traditional handshaking techniques.

4.2.2 Vision Controller Outputs

These are typical signals output from the Vision Controller, monitored by either the robot or the
PLC depending on which is the master in the control scheme.

1. NoFaults: When low, this bit indicates a system fault in the vision system.

2. CycleComp: When this signal is high the vision cycle is complete.

3. Style: Vision system echoes the style number.

4. Offset Data: Offset data measured or calculated by the vision controller.

4.2.3 Vision Controller Inputs

These are typical input signals to the Vision Controller, from either the robot or the PLC
depending on which is the master in the control scheme.

1. CycleStart: A signal telling the vision controller to start a cycle.

2. FaultReset: A signal telling the vision controller to reset all faults.

3. Style: Tells vision system what program to run

11
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

4.3 Additional Robot to PLC Signals

4.3.1 Robot Inputs / PLC Outputs

Inputs DI[61] – DI[64] are available for application specific additional signals from the PLC to the
robot. Some configurations such as the Global 2 robot have additional inputs available.

Specific application definitions for these signals can be found in either the user manual for the
application or in the Appendices.

Examples of the use of these additional signals are the Perceptron systems Cancel Cycle
command sent from the robot and the racking application’s Reject Rack signal.

4.3.2 Robot Outputs / PLC Inputs

Outputs DO[61] – DO[64] are available for application specific additional signals from the robot to
the PLC. Some configurations such as the Global 2 robot have additional outputs available.

Specific application definitions for these signals can be found in either the user manual for the
application or in the Appendices.

Examples of the use of these additional signals are the Perceptron applications Communication
Ok signal, which notifies the PLC if the robot loses communication with the Perceptron controller.

12
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

5. Fault Handling and Recovery

Fault handling and error recovery methods are required for both integrated and non-integrated
vision systems.

Failure modes that must be handled include a failed vision process, loss of communication, and
offset out of tolerance.

5.1 Integrated Vision Error Recovery

Robot code must be written to provide error recovery options upon application failure modes.
KAREL macros (IR_OPTN1, IR_OPTN2, IR_OPTN3) have been created for Fanuc iRVision to
provide menu choice options and split the teach pendant screen to display the runtime image.
These macros can be used for most applications and can be customized accordingly.

Failures include offset out of tolerance and vision process failed. Recovery choices include Retry
and Abort and Move Home.

Other choices may be used on an application specific basis. For more application recovery
information such as TP logic see the process user manual.

5.2 Non-Integrated Vision Error Recovery

Non-integrated vision systems shall have error recovery options and fault reporting through the
PLC and HMI.

Specific error handling by application can be found in the Appendices or user manual for the
application, i.e. see Appendix A for Perceptron Guidance error handling operation. Some general
non-integrated vision faults are that must be provided in this section.

5.2.1 Communication Error

The vision system shall allow monitoring of its communication status such that in the event of a
loss of communication the PLC or robot can report the alarm.

5.2.2 Vision Measurement Alarms

In the case of a non-integrated vision system the vision controller shall provide signals for the
PLC to monitor for the purpose of annunciating faults for all known modes of failure. Some
examples of these signals follow:

1. Offsets OK – Indicates a data error in the calculation of the user frame or offset.
2. Out of Spec OK – Indicates that a measurement is out of specifications.
3. Reject OK – Indicates that a measurement is outside of the reject limits.

Recovery options will be available on the HMI vision screen.

5.2.3 Vision System Fault

The vision system shall set a NoFaults bit to low if it has a system fault that would prevent a
vision cycle from completing properly. If the controller is not in cycle, the PLC shall set the
FaultReset bit to high and the vision controller shall reset the sensors and get ready for a new

13
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

cycle. If the controller is in cycle, the vision controller maintains the error state until the user goes
to the vision screen on the HMI and makes a selection to recover.

5.2.4 PLC Fault Recovery - Vision HMI Screen Buttons

Stand alone non-integrated vision systems shall have an HMI interface screen. Functionality
available on this screen shall include recovery options and any application specific features.
Examples include:

1. Accept Part: Used when there is a vision measurement error during a quality check to
release the vehicle and continue.

2. Recheck Part: User presses this button to rerun the existing measurement.

3. Auto Recheck Enable: The PLC forces the vision controller to recheck the current
measurement a configurable amount of times before a fault is generated.

4. Bypass Nominal: Tells the robot to bypass the vision controller and run with nominal
offsets.

5. Bypass Average: Tells the robot to bypass the vision controller and run with average
offsets.

6. Enable Reject Bypass: User must press this button to enable the system to ignore reject
errors.

14
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

6. Vision System Selection

The following decision guide and reference matrix can be used when selecting a vision
system for a particular vision guidance application. This guide and reference information
is provided to support commonality of vision systems and reduce cost and application
development time and resources.

6.1 Vision Selection Guide Flowchart

The following guide is intended to assist in selecting a vision system for a particular
application. The guide allows for legacy applications where it may be effective to
continue with a given solution as well as applications requiring Statistical Process Control
and/or the Body Coordinate System. If neither apply, an integrated solution is preferred
over a custom or stand alone system, although if integrated vision does not meet the
process requirements then a custom solution is permitted.

15
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 1: Vision Guidance System Selection Guide

16
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

6.2 Installed Vision Base

The following matrix may be used as a reference of the installed base of vision applications in
order to determine where legacy situations may exist. This list is not all-inclusive but represents
a known set of applications where successful implementations may fall into the legacy
classification for selecting the guidance system.

Body
Process/Application Vision System Type Interface
Racking Fanuc iRVision 2D Fixed overhead cameras Integrated
Unracking Fanuc iRVision 2D/3D fixed overhead & EE 3DL Integrated
Flexible Measurement Fixed and robot mounted PCDK / EIP to
System Perceptron cameras PLC
Fixed and robot mounted PCDK / EIP to
Roof Load Perceptron cameras PLC
PCDK / EIP to
Motor Rail Load Perceptron Fixed Cameras PLC
Roof Ditch Laser Weld Fanuc iRVision Robot EE mounted 3DL sensor Integrated
PCDK / EIP to
Form and Pierce Perceptron PLC
Laser Braze
Plasma Braze Fanuc iRVision
Header Bender Fanuc V500 3DL on cFlex Fanuc proprietary

GA
Process/Application Vision System Type Interface
2D Robot Mounted and Fixed
and 3D fixed. (3 Camera sets
Hybrid 2mode Battery Load ISRA total)
Roof Ditch Molding Roll Fanuc iRVision
VIN Etch Fanuc iRVision Robot EE mounted 3DL sensor
INOS, ISRA, 3D Robot Mounted (INOS) 3D
Glass Load Perceptron Fixed (ISRA and Perceptron)
Body/Chassis Marriage ISRA 3D Fixed DeviceNet
Emblem Error Proofing Cognex 2D Fixed DeviceNet
Robotic Stemmer Cognex Fixed and Robot Mounted DeviceNet
Balancer Cognex Fixed DeviceNet

Press
Process/Application Vision System Type
Press 1 Blank Load Fanuc iRVision Fixed 2D overhead cameras Integrated
Racking - Pick offset Fanuc V500 Fixed 2D overhead cameras Fanuc proprietary
Racking - Rack inspection Fanuc V500 Fixed 2D overhead cameras Fanuc proprietary
Racking - Tool identification Fanuc V500 Fixed 2D overhead cameras Fanuc proprietary

17
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Paint
Process/Application Vision System Type
Seal Seam ISRA DeviceNet

18
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7. Appendix A: Perceptron Guidance Interface

7.1 General

7.1.1 Scope

This appendix contains all I/O and software requirements associated with General
Motors’ standard robot, plc, and vision controller interface for robot guidance applications.

7.1.2 Purpose

This specification documents the standard interface between robots, PLC’s, and other
purchased equipment used by General Motors. It is intended to complement the
technical specifications that are maintained separately for the robots and peripheral
equipment in General Motors processes.

7.1.3 Intended Audience

This document is intended for robot suppliers, vision suppliers, General Motors’ Common
Controls Software developers, and General Motors’ robot application software
developers.

7.1.4 Robot Guidance Description

Robot Guidance is typically a vision system with one or more cameras providing an offset
path to the robot. The cameras take a picture of a feature(s) and subsequently offset the
robot path based on a known relationship between the feature and the camera. The
vision systems usually have a PC computer with a frame grabber board and have a
graphical user interface to assist the user.

19
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.2 Interface Signals

7.2.1 Signal Definitions

7.2.1.1 PLC Inputs / Vision Controller Outputs

1. AutoMode: Vision system echoes this bit back to the PLC indicating that it is in
automatic mode.

2. TryoutMode: Vision system echoes this bit back to the PLC indicating that it is in
tryout mode.

3. ManualMode: Vision system echoes this bit back to the PLC indication that it is in
manual mode.

4. NoFaults: When low, this bit indicates a system fault in the vision system.

5. SysReady: When high, this signal indicates that the vision controller is ready and
does not have any faults that would prevent a normal cycle.

6. SysBusy: system is occupied and is not ready to accept commands.

7. SysInCycle: When this signal is high the vision controller is in cycle.

8. CycleComp: When this signal is high the vision cycle is complete.

9. SensorsOK: When this signal is low there is sensor error.

10. TrendOK: When this signal is low there is a trend limit exceeded.

11. OutSpecOK: When this signal is low there is a out of spec limit exceeded.

12. RejectOK: When this signal is low there is a reject limit exceeded.

13. FrameOK: When these signals are low there is a problem with the calculated frame
values.

14. CmpndCycle: When high the vision controller knows that multiple cycles will be run
before the robot asks for an offset. Used in applications such as roof load where
there is two or more vision cycles before the robot asks for the offset.

15. Style: Vision system echoes the style number back to the PLC.

16. Color: Vision system echoes the color bits back to the PLC.

17. Frame: Vision system echoes the frame number back to the PLC.

18. ProcID(1-20): Vision system echoes the ProcessID numbers back to the PLC.

19. PartID1&2: Vision system echoes the PartID numbers back to the PLC.

20
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.2.1.2 PLC Outputs / Vision Controller Inputs

1. AutoMode: A bit that tells the vision system that the system is in automatic mode.

2. TryoutMode: Tells the vision system that the system is in "Simulate Mode" (No
Part).

3. ManualMode: A signal that puts the vision system into manual mode.

4. StartCycle: A signal telling the vision controller to start a cycle.

5. FaultReset: A signal telling the vision controller to reset all faults. If the vision
controller is in cycle, setting the FaultReset signal shall cause the cycle to cancel in
the same manner as the CnclCycle signal. If the vision controller is not in cycle,
setting the FaultReset signal shall cause the vision controller to reset the sensor and
get ready for a new cycle.

6. CnclCycle: A signal telling the vision controller to cancel the cycle and reset all I/O
to be ready to run a new cycle.

7. CmpndCycle: A signal that tells the vision controller that multiple cycles will be run
before the robot asks for an offset. Used in applications such as roof load where
there is two or more vision cycles before the robot asks for the offset.

8. EndCycle: A signal telling the vision controller that the current cycle is over. This is
only used in an application such as roof load, which runs a compound cycle or two or
more programs before the offset is given. Vision controller shall use this signal to
clear any compound transform information when it receives the next start cycle from
the PLC.

9. LightsOn: A bit telling the vision controller to turn on the lights. This is used in the
case of incandescent lighting that needs to warm up prior to starting a vision cycle.

10. Style: Tells vision system what program to run

11. Color: A group of signals that tell the vision system the vehicle color. Note: This is
not used in all systems.

12. ProcID(1-20): Process identifiers - Used to send a process identifier such as carrier
number, lane number, or parallel process number.

13. PartID1&2: Part identifiers - Used to send the JSN # or equivalent to the vision
controller.

21
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.2.1.3 Robot Inputs / PLC Outputs

1. CnclCycle: A signal that tells the robot that the vision cycle has been cancelled.

7.2.1.4 Robot Outputs / PLC Inputs

1. PCRbtComOK: When low, this signal indicates that there was a loss of
communication between the vision controller and the robot.

2. CnclCycle: When high, this signal indicates to the PLC that the robot is requesting
to cancel the current vision cycle.

22
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.2.2 Timing Diagrams

Figure 1: Normal Robot Guidance Cycle

23
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 2: Robot Guidance Compound Cycle

24
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 3: Normal Robot Guidance Cycle Faulted (Before In Cycle) - Expected Fault and Fault Reset Behavior

Note: This functionality shall work similarly for both normal and compound cycles. The vision
controller shall drop the “No Faults” bit to the PLC. The user will then make a recovery selection
from the vision HMI screen.
25
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 4: Normal Robot Guidance Cycle – Expected Behavior for a Cancel Cycle

Note: This functionality shall work similarly for both normal and compound cycles. Upon
receiving a cancel cycle, the vision control resets all signals and gets ready to run a new cycle.

26
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.3 Mapping of Signals

The following sections detail the mapping assignments for the robot, PLC, and vision
controller. The signals shall be produced and consumed via Ethernet/IP.

7.3.1 Ethernet/IP I/O Requirements (adapter)

1. The digital inputs and outputs shall be allocatable byte-wise to a connection.

2. The vision controller shall be able to maintain at least 8 bi-directional real time
connections with both produce and consume capability.

3. The real time producer connections shall receive priority over the non real time traffic
sent such that performance degradation due to congestion, if any, will occur on the
non-real time connections before the real time connections are effected.

4. Data integrity shall be maintained for up to 508-byte frame size message (Maximum
allowed in by the ODVA Ethernet/IP definition).

5. The RPI (requested packet interval) shall be configurable at the scanner. The
minimum RPI shall be 20ms and it shall be adjustable in 5ms increments or less.
The default setting shall be 60ms.

6. Diagnostics screen(s) shall be provided on the vision controller to display connection


information such as name, IP address, and communication status for each real time
connection.

27
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.3.2 Vision Controller Outputs / PLC Inputs

Table 1: Vision Controller Outputs/PLC Inputs


Output Data
Type Signal Name
Bits Definition
0 BOOL AutoMode Vision system echo. Should mirror PLC outputs.
1 BOOL TryoutMode Vision system echo. Should mirror PLC outputs.
2 BOOL CmpndCycle Vision system echo. Should mirror PLC output.
3 BOOL TchCalMode Vision controller is in Teach/Calibrate Mode
4 BOOL StatTest Vision system echo. Should mirror PLC outputs.
5 BOOL DynaTest Vision system echo. Should mirror PLC outputs.
6 BOOL ManualMode Vision system echo. Should mirror PLC outputs.
7 BOOL NoFaults When low, this bit indicates a vision system fault
8 BOOL SysReady The vision controller is not faulted and is ready for a cycle
9 BOOL SysBusy The vision system is busy
10 BOOL SysInCycle The vision cycle is complete
11 BOOL PhaseInCycle The vision controller is in a phase cycle
12 BOOL PhaseComp The phase is complete
13 BOOL CycleComp The vision cycle is complete
14 BOOL SensorsOK When low there is a sensor faulted
15 BOOL TrendOK When low there is a trend limit exceeded
16 BOOL OutSpecOK When low there is a out of spec limit exceeded
17 BOOL RejectOK When low there is a reject limit exceeded
18 BOOL FrameOK When low there is a problem with the any of the frames
19 BOOL TempCompOK When low there is a problem with the temperature compensation cycle
20 BOOL FrameComp The frame is complete
21 BOOL FrameLimitsOK When low there is a frame limit exceeded
22 BOOL TempInCycle The vision system is in a temperature compensation cycle
23 BOOL TempCycleComp The temperature compensation cycle is complete
24-31 SINT TchCalPgm Vision teach or calibrate program to run
32-39 SINT Style Vision system echo. Should mirror PLC style output
40-47 SINT Phase Vision system echo. Should mirror PLC phase outputs
48-55 SINT Color Vision system echo. Should mirror PLC color
56-63 SINT Frame Vision system echo. Should mirror PLC frame
INT
64-79 ProcID1 Vision system echo. Should mirror PLC process ID 1
80-95 INT ProcID2 Vision system echo. Should mirror PLC process ID 2
96-111 INT ProcID3 Vision system echo. Should mirror PLC process ID 3
112-127 INT ProcID4 Vision system echo. Should mirror PLC process ID 4
128-143 INT ProcID5 Vision system echo. Should mirror PLC process ID 5
144-159 INT ProcID6 Vision system echo. Should mirror PLC process ID 6
160-175 INT ProcID7 Vision system echo. Should mirror PLC process ID 7
176-191 INT ProcID8 Vision system echo. Should mirror PLC process ID 8
192-207 INT ProcID9 Vision system echo. Should mirror PLC process ID 9
208-223 INT ProcID10 Vision system echo. Should mirror PLC process ID 10
224-239 INT ProcID11 Vision system echo. Should mirror PLC process ID 11
28
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

240-255 INT ProcID12 Vision system echo. Should mirror PLC process ID 12
256-271 INT ProcID13 Vision system echo. Should mirror PLC process ID 13
272-287 INT ProcID14 Vision system echo. Should mirror PLC process ID 14
288-303 INT ProcID15 Vision system echo. Should mirror PLC process ID 15
304-319 INT ProcID16 Vision system echo. Should mirror PLC process ID 16
320-335 INT ProcID17 Vision system echo. Should mirror PLC process ID 17
336-351 INT ProcID18 Vision system echo. Should mirror PLC process ID 18
352-367 INT ProcID19 Vision system echo. Should mirror PLC process ID 19
368-383 INT ProcID20 Vision system echo. Should mirror PLC process ID 20
384-415 DINT PartID1 Vision system echo. Should mirror PLC part ID 1
416-447 DINT PartID2 Vision system echo. Should mirror PLC part ID 2
448 BOOL UserBit User Definable
449 BOOL UserBit User Definable
450 BOOL UserBit User Definable
451 BOOL UserBit User Definable
452 BOOL UserBit User Definable
453 BOOL UserBit User Definable
454 BOOL UserBit User Definable
455 BOOL UserBit User Definable
456-463 SINT UserSINT User Definable
464-479 INT UserINT User Definable
480-511 DINT UserDINT User Definable

Note: Shaded fields indicate signals not used for this application

29
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.3.3 Vision Controller Inputs / PLC Outputs

Table 2: Vision Controller Inputs / PLC Outputs


Output Data
Type Signal Name
Bits Definition
0 BOOL AutoMode Tells the vision system that the system is in automatic mode.
1 BOOL TryoutMode Tells the vision system that the system is in "Tryout Mode" (no part).
2 BOOL CmpndCycle Multiple cycles will be run before the robot asks for an offset.
3 BOOL TchCalMode PLC echo. Should mirror Vision TchCalMode
4 BOOL StatTest Tells the vision system that the system is performing a static test.
5 BOOL DynaTest Tells the vision system that the system is performing a dynamic test.
6 BOOL ManualMode Tells the vision system that the system is in Manual
7 BOOL StartCycle Tells the vision controller to start a cycle
8 BOOL StartPhase Tells the vision controller to start a phase
9 BOOL FaultReset Reset faults
10 BOOL CnclCycle Cancels the cycle and resets all I/O to be ready to run a new cycle
11 BOOL EndCycle This tells the vision controller that the robots are done measuring
12 BOOL LightsON Turn lights on
13 BOOL GetFrame This tells the vision controller to run a particular frame
14 BOOL ReservedBit ReservedBit
15 BOOL ReservedBit ReservedBit
16 BOOL ReservedBit ReservedBit
17 BOOL ReservedBit ReservedBit
18 BOOL ReservedBit ReservedBit
19 BOOL ReservedBit ReservedBit
20 BOOL ReservedBit ReservedBit
21 BOOL ReservedBit ReservedBit
22 BOOL ReservedBit ReservedBit
23 BOOL ReservedBit ReservedBit
24-31 SINT TchCalPgm Echo's the teach/cal program back to the vision system in tchcalmode
32-39 SINT Style Tells vision system what program to run
40-47 SINT Phase Tells vision system what phase to run
48-55 SINT Color For identifying the color of the vehicle
56-63 SINT Frame For identifying the current frame to be executed
Process identifier - Used to send a process identifier such as carrier
64-79 INT ProcID1
number, lane number, or parallel process number.
80-95 INT ProcID2 Optional process identifier 2
96-111 INT ProcID3 Optional process identifier 3
112-127 INT ProcID4 Optional process identifier 4
128-143 INT ProcID5 Optional process identifier 5
144-159 INT ProcID6 Optional process identifier 6
160-175 INT ProcID7 Optional process identifier 7
176-191 INT ProcID8 Optional process identifier 8
192-207 INT ProcID9 Optional process identifier 9
208-223 INT ProcID10 Optional process identifier 10
30
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

224-239 INT ProcID11 Optional process identifier 11


240-255 INT ProcID12 Optional process identifier 12
256-271 INT ProcID13 Optional process identifier 13
272-287 INT ProcID14 Optional process identifier 14
288-303 INT ProcID15 Optional process identifier 15
304-319 INT ProcID16 Optional process identifier 16
320-335 INT ProcID17 Optional process identifier 17
336-351 INT ProcID18 Optional process identifier 18
352-367 INT ProcID19 Optional process identifier 19
368-383 INT ProcID20 Optional process identifier 20
384-415 DINT PartID1 Part identifier - Used to send the JSN # or equivalent to the vision system
416-447 DINT PartID2 Optional part identifier 2
448 BOOL UserBit User Definable
449 BOOL UserBit User Definable
450 BOOL UserBit User Definable
451 BOOL UserBit User Definable
452 BOOL UserBit User Definable
453 BOOL UserBit User Definable
454 BOOL UserBit User Definable
455 BOOL UserBit User Definable
456-463 SINT UserSINT User Definable
464-479 INT UserINT User Definable
480-511 DINT UserDINT User Definable

Note: Shaded fields indicate signals not used for this application

31
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.3.4 Robot Outputs / PLC Inputs

Signals 61& 62 are added to the PLC – Robot cell interface.

Table 3: Robot Outputs/PLC inputs


Output Data
Signal Name Definition
Bits Type
61 Bit PCRbtComOK Robot / Vision PC communication OK
62 Bit CnclCycle Cancel cycle request from robot to PLC
63 Bit UserDefine_63 Available-User Definable
64 Bit UserDefine_64 Available-User Definable

7.3.5 Robot Inputs / PLC Outputs

Signal 62 is added to the PLC – Robot cell interface.

Table 4: Robot Inputs/PLC Outputs


Input Data
Signal Name Definition
Bits Type
61 Bit UserDefine_61 Available-User Definable
62 Bit CnclCycle Tells the robot to cancel cycle
63 Bit BypassNom Bypass vision and run with nominal offset values
64 Bit BypassAvg Bypass vision and run with average offset values

32
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.4 Vision Cycle Description


This section is intended to compliment the timing diagrams in section 2.2 by describing
the interaction of the PLC, vision system, and robot at each step in the vision cycle.

7.4.1 Normal Cycle


A normal robot guidance cycle for this example is a material handling robot with fixed-
mounted cameras. It is assumed that the PLC can initiate the robot to pickup parts
independent of the vision process. The robot is assumed to be waiting with a part in the
end effector prior to a vehicle enters the station. The following list shows the steps
required for a normal robot guidance cycle:

1. PLC sets Auto Mode


2. The vision controller echoes back Auto Mode
3. Vehicle comes into station
4. Vehicle is clamped up
5. PLC examines the status of SysReady, SysBusy, and NoFaults bits from the vision
controller
6. PLC sets Style, all PartID(s), all ProcessID(s), color, and CmpndCycle (should be
low).
7. Vision controller echoes back Style, all PartID(s), all ProcessID(s), color, and
CmpndCycle
8. PLC turns on the LightsOn bit if needed.
9. PLC sets the StartCycle bit
10. PLC examines SysInCycle bit to make sure the vision controller is in cycle.
11. Vision controller sets any of the following alarm bits low if there is a problem:
TrendOK, OutSpecOK, RejectOK, OffsetsOK.
12. The vision controller sets CycleComp to high when the cycle is complete and all
alarms have been set.
13. If alarms and offsets are OK, the PLC allows the robot to continue and ask for offsets
from the vision controller.
14. Robot continues to the drop segment and runs the GetOffst macro. This macro asks
the vision controller to put the offset into a specific user frame.
15. Vision controller responds by loading the offset into the user frame requested by the
robot.
16. The robot moves to the drop location and drops of the part using the user frame
loaded by the vision system.
17. The robot continues and sends end of drop segment to the PLC
18. PLC turns off the StartCycle bit to the vision controller
19. Vision controller responds by dropping the SysInCycle and CycleComp bits.
20. Robot returns home
21. Vehicle unclamps and leaves the station.

Note: It is common to have a hybrid system that also measures the part after it is loaded
in order to check quality. This is the case with our roof load systems. In this case there
would additional steps. Please see compound cycle in section 4.2 below.

7.4.2 Compound Cycle


A compound robot guidance cycle for this example is a material handling robot with fixed-
mounted cameras. For this example the robot is performing a roof load application,
which requires the roof opening and the roof to be measured separately. The vision
controller then takes both measurements and performs some calculations to provide one
offset to the robot. Therefore, the robot only asks for one offset not two. It is assumed
33
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

that the PLC can initiate the robot to pickup parts independent of the vision process. The
robot is assumed to be waiting with a part in the end effector prior to a vehicle enters the
station. The following list shows the steps required for a compound robot guidance cycle:

1. PLC sets the appropriate mode


2. The vision controller echoes back the mode
3. Vehicle comes into station
4. Vehicle is clamped up
5. PLC examines the status of SysReady, SysBusy, and NoFaults bits from the vision
controller
6. PLC sets Style, all PartID(s), all ProcessID(s), color, and CmpndCycle (should be
high).
7. Vision controller echoes back Style, all PartID(s), all ProcessID(s), color, and
CmpndCycle
8. PLC turns on the LightsOn bit if needed.
9. PLC sets the StartCycle bit
10. PLC examines SysInCycle bit to make sure the vision controller is in cycle.
11. The vision controller sets any of the following alarm bits low if there is a problem:
TrendOK, OutSpecOK, RejectOK, OffsetsOK.
12. The vision controller sets CycleComp to high when the cycle is complete and all
alarms have been set.
13. If alarms and offsets are OK, the PLC allows the robot to continue and move the roof
in position for measurement.
14. PLC turns off the StartCycle bit to the vision controller
15. Vision controller responds by dropping the SysInCycle and CycleComp bits.
16. The robot continues to the roof measurement location and sends end of segment to
the PLC.
17. Repeat steps 1-12 but using a different style to the vision controller (set style number
for roof measure instead of body opening measure).
18. If alarms and offsets are OK, the PLC allows the robot to continue and ask for offsets
from the vision controller.
19. Vision controller responds by loading the offset into the user frame requested by the
robot.
20. The robot moves to the drop location using the user frame loaded by the vision
system and sets end of segment to the PLC.
21. PLC turns off the StartCycle bit to the vision controller
22. Vision controller responds by dropping the SysInCycle and CycleComp bits.
23. PLC sets EndCycle to high after seeing SysInCycle and CycleComp transition low.
(This triggers the vision controller to clear its compound transform data)
24. PLC sends the two welding robots to weld roof to body
25. When the welding is complete, the PLC sends a continue to the MH robot
26. The MH robot releases the roof and returns home
27. PLC turns off the StartCycle bit to the vision controller
28. Vehicle unclamps and leaves the station.

Optional Quality check


Most plants elect to use additional cameras to check the quality of the roof placement
prior to shipping the vehicle out of the station. The following list outlines the additional
steps required to perform a quality check:

29. PLC sets the appropriate mode


30. The vision controller echoes back the mode

34
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

31. PLC examines the status of SysReady, SysBusy, and NoFaults bits from the vision
controller
32. PLC sets Style, all PartID(s), all ProcessID(s), color, and CmpndCycle (should be
low).
33. Vision controller echoes back Style, all PartID(s), all ProcessID(s), color, and
CmpndCycle
34. PLC turns on the LightsOn bit if needed.
35. PLC sets the StartCycle bit
36. PLC examines SysInCycle bit to make sure the vision controller is in cycle.
37. Vision controller sets any of the following alarm bits low if there is a problem:
TrendOK, OutSpecOK, RejectOK, OffsetsOK.
38. The vision controller sets CycleComp to high when the cycle is complete and all
alarms have been set.
39. PLC checks for alarm bits to be OK.
40. PLC turns off the StartCycle bit to the vision controller
41. Vision controller responds by dropping the SysInCycle and CycleComp bits.
42. If all alarms are OK the vehicle unclamps and leaves the station.

7.5 Software Requirements

7.5.1 Vision PC Software

7.5.1.1 PC Interface

The robot and vision data communication shall be accomplished using the robot’s PC
interface via ethernet. Most robot manufacturers have a PC interface that allows reading
and writing of variables, data registers, position registers, user frames, etc…..

As an example, Fanuc has a pc developer’s kit that allows a pc developer to write an


application on the pc that handles data transfer to and from the robot. The Fanuc robot
has built in commands that handle data transfer. The following is an example of a PC
interface command: Send Data (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), where 1-3 are used by the
system and 4-10 are user-programmable application specific parameters. The following
is a list of each parameter:

1. Request Code Used by system): This item determines which event is triggered on
the PC. It can be a value between 0 and 255.

2. Wait Switch (Used by system): This item is a wait switch. Valid values are either 0
or 1. If 0, don’t wait for an answer form the PC. If 1, wait for an answer from the PC.
The default shall be 0.

3. Status Register (Used by system): This specifies which data register to put any error
codes. If this value is 0, no register is used.

4. Communication Timeout: The time that the vision controller will wait for a reply from
the robot in milliseconds.

5. Offset Type: There shall be two different options for sending offsets to the vision
controller. If a 1 is entered in this field, the PC shall send an offset as a position
register (PR) to the PR number entered in field 8. If a 2 is entered in this field, the

35
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

vision PC shall calculate an updated user frame and send it to the user frame number
in the robot that is specified in field 8.

6. Offset Program Number: This number tells the vision controller which offset or frame
to send to the robot.

7. Reference Frame: This number tells the vision controller which frame is the
reference or “golden” frame. Note: The PC would ignore this number if the offset
type (field 5) was set to 1 (Position Register Output).

8. Vision Output: This number tells the vision controller which position register or frame
number to update. For example, if field 5 was a 1 and field 8 was a 5, the vision
system would send the offset to position register 5.

9. Vision Reply Register: This is the register that the vision controller will put the reply
number. The robot program will loop while waiting for a reply while the number is
equal to 9999. When it is anything other than 9999 it means the PC has replied and
the program can continue.

The PC interface command that sends data to the PC will vary by robot manufacturer;
therefore, the order of the above parameters shall remain fixed. The above Send Data
example shows the first three fields used by the system; therefore, the six vision
parameters listed above would start at field four.

7.5.1.2 Average Offset

Disaster recovery is very important to General Motors. In the event that the PC crashes
or stops communicating with the robot and PLC there needs to be a method to continue
running production. One method to accomplish this is to maintain an average offset.
Therefore, the PC shall calculate the average offset for a user-configurable number of
vehicles. Every cycle, the PC shall send the average offset values to the robot. The
vision controller shall have a user-configurable number of cycles for the average offset.

7.5.2 Robot Software

7.5.2.1 Data Mapping

See appendix 1 for robot model specific mapping of registers, user frames, position
registers, etc…..

7.5.2.2 GetOffst Macro

The GetOffst macro shall be called from a teach pendant program at the point where the
robot position or user frame update is needed from the vision controller. The GetOffst
command should look like the following: GetOffst(1, 2, 3), where 1, 2, and three are
parameters entered by the user when setting up the robot program. The following is a
description of each parameter:

1. Vision Program Number: This field is an integer, which tells the vision controller
which offset the robot is asking for.

36
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2. Reference Frame: This number tells the vision controller which frame is the
reference or “golden” frame. This will be ignored by the vision controller if the user
has configured the system to use offsets and not an updated user frame.

3. Vision Output: This number tells the vision controller which position register or frame
number to update.

The GetOffst command uses the parameters above and sends all the fields listed in 5.1.1
to the PC.

7.5.2.3 Configurable Items

The following items at minimum shall be user configurable in the robot software:

1. Average offset storage location.

2. Request Code: PC interface command number for the GetOffst macro. This
number indicates which event is triggered at the vision controller. The vision
controller will require a specific command number to get an offset.

3. Communication timeout: Specifies how long communication can stop before a


fault is posted.

4. Offset Type: A value of one tells the vision system to send the result to a
position register and a value of two specifies a user frame. Item 8 (Vision
Output) in section 5.1.1 specifies the storage location.

5. Vision Reply: This is the register that the vision controller will put the reply
number. The robot program will loop while waiting for a reply from the pc while
the number is equal to 9999. When it is anything other than 9999 it means the
PC has replied and the program can continue.

7.5.2.4 Average Offset

Every cycle, the vision system shall send the running average offset to the robot. When
the PLC sets the BypasAvg signal to high, the robot shall ignore communication with the
vision controller and use the last running average offset. The storage location of the
average offset values is user-configurable and is specified in section 5.2.3. Note: this
can only be used if the process is stable enough when using average offset values. For
example, if the process trends and does not have large variation in offset values then an
average would be a good option.

7.5.2.5 Nominal Offset

When the PLC sets the BypasNom signal to high, the robot shall ignore communication
with the vision controller and use nominal offset values. The robot shall either apply a
zero offset if the application is using position register offsets or use the reference frame if
using a frame offset. Note: This can only be used if the process is stable enough to run
with nominal values.

37
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.5.3 PLC Software

7.5.3.1 Modes

The following modes shall be supported:

1. Automatic Mode: The normal mode for production is automatic mode. The PLC shall
set the automatic mode bit to the vision controller to high for a normal cycle.

2. Simulate (No Part Mode): The vision controller shall run with no part when the PLC
has set the SimMode bit to high. The SimMode bit shall be set to high when the user
selects Simulate Mode from the vision screen on the HMI. All I/O handshaking shall
take place as normal, the sensors shall not fire, and the system shall not fault out
with any measurement alarms. If the PLC senses a part in the station, a fault shall
be generated and a cycle shall not be started.

3. Bypass Vision Nominal: The HMI vision screen shall have a button to allow the
vision system to be bypassed. Pressing this selection will force the robot to run with
nominal offsets.

4. Bypass Vision Average: The HMI vision screen shall have a button to allow the
vision system to be bypassed. Pressing this button will force the robot to run with
average offsets. The running average is sent to the robot from the vision system
during every cycle.

7.6 Fault Handling and Recovery

7.6.1 Robot Fault Recovery

The following section describes robot fault recovery when asking for offsets and when
communication problems occur with the vision controller.

7.6.1.1 GetOffst Error

When there is an error while the robot is asking for an offset, the following fault recovery
options shall be supported at the robot teach pendant:

1. Retry – The robot shall retry the GetOffst command

2. Abort – This selection shall turn on ‘Cancel Cycle’ to PLC and cancel any user
program execution, robot motion, or process execution. ‘Cancel Cycle’ to the
PLC shall turn off when the robot is brought back to the home position.

7.6.1.2 Communication Error

The robot shall be capable of detecting a loss of communication with the vision controller.
In the event of a loss of communication with the vision controller, the robot shall set the
‘PCRbtComOK’ signal to the PLC to low and shall automatically retry communications.
The robot shall reset ‘PCRbtComOK’ back to high upon the restoration of
communications with the vision controller. The user can select recovery options on the
HMI vision screen. See section 6.2.3.
38
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

7.6.2 PLC Fault Recovery

7.6.2.1 Vision Measurement Alarms

The PLC will consider the following signals as alarms when set to low from the vision
controller:

6. FrameOK – Indicates a data error in the calculation of the user frame or offset.

7. TrendOK – Indicates that the data is trending.

8. OutSpecOK – Indicates that a measurement is out of specifications.

9. RejectOK – Indicates that a measurement is outside of the reject limits.

Recovery options outlined in 6.2.3 will be available on the HMI vision screen.

7.6.2.2 Vision System Fault

The vision system shall set the NoFaults bit to low if it has a system fault that would
prevent a vision cycle from completing properly. If the controller is not in cycle, the PLC
shall set the FaultReset bit to high and the vision controller shall reset the sensors and
get ready for a new cycle. If the controller is in cycle, the vision controller maintains the
error state until the user goes to the vision screen on the HMI and makes a selection to
recover. See section 6.2.3 below.

7.6.2.3 PLC Fault Recovery - Vision HMI Screen Buttons

The PLC HMI screen will provide the following recovery buttons:

1. Accept Part: Used when there is a vision measurement error during a quality check
to release the vehicle and continue.

2. Recheck Part: User presses this button to rerun the existing measurement.

3. Auto Recheck Enable: The PLC forces the vision controller to recheck the current
measurement a configurable amount of times before a fault is generated.

4. Cancel Cycle: Cancel the current cycle and get ready to run a new one.

5. Bypass Nominal: Tells the robot to bypass the vision controller and run with nominal
offsets.

6. Bypass Average: Tells the robot to bypass the vision controller and run with average
offsets.

7. Enable Reject Bypass: User must press this button to enable the system to ignore
reject errors.

39
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Drop Reject: This selection functionality will depend on the cell configuration. Some cells have a
reject fixture to drop the part off. If the cell has a reject fixture, this selection will force the robot to
drop to the reject fixture. If no reject is present then this button will be grayed out.

40
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8. Appendix B: Perceptron FMS Interface

8.1 General

8.1.1 Scope

This specification contains all I/O and software requirements associated with General
Motors’ standard robot, plc, and Flexible Measurement System vision controller interface.

8.1.2 Purpose

This specification documents the standard interface between robots, PLCs, and other
purchased equipment used by General Motors. It is intended to complement the
technical specifications that are maintained separately for the robots and peripheral
equipment in General Motors processes.

8.1.3 Intended Audience

This document is intended for robot suppliers, vision suppliers, General Motors’ Common
Controls Software developers, and General Motors’ robot application software
developers.

8.1.4 FMS Description

Flexible Measurement Systems (FMS) is a robotically carried in-line gauging system for
dimensional measurement of the vehicle body. Typically this had been accomplished
using fixed mounted vision cameras to take measurements. There was one camera per
measurement in the fixed systems. The FMS system is designed to save money and
gain flexibility by mounting the camera on the robot arm. The robot can move the camera
to almost any point on the vehicle. The robots in the FMS systems are temperature
compensated to provide the most accurate measurements possible.

41
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.2 Interface Signals

8.2.1 Signal Definitions

8.2.1.1 PLC Inputs / Vision Controller Outputs

20. AutoMode: Vision system echoes this bit back to the PLC indicating that it is in
automatic mode.

21. TryoutMode: Vision system echoes this bit back to the PLC indicating that it is in
tryout mode.

22. TchCalMode: When high, this signal indicates that the vision system is in
teach/calibrate mode.

23. StatTest: Vision system echoes this bit back to the PLC indicating that it is
performing a static test.

24. DynaTest: Vision system echoes this bit back to the PLC indicating that it is
performing a dynamic test.

25. ManualMode: Vision system echoes this bit back to the PLC indication that it is in
manual mode.

26. NoFaults: When low, this bit indicates a system fault in the vision system.

27. SysReady: When high, this signal indicates that the vision controller is ready and
does not have any faults that would prevent a normal cycle.

28. SysBusy: Vision system is occupied and is not ready to accept commands.

29. SysInCycle: When this signal is high the vision controller is in cycle.

30. CycleComp: When this signal is high the vision cycle is complete.

31. SensorsOK: When this signal is low there is a sensor error.

32. TrendOK: When this signal is low there is a trend limit exceeded.

33. OutSpecOK: When this signal is low there is a out of spec limit exceeded.

34. RejectOK: When this signal is low there is a reject limit exceeded.

35. TempCompOK: When this signal is low there is a problem with the temperature
compensation calculation and the compensation is not applied. This alarm is only
valid during style 28 measurement cycle.

36. TempInCycle: A signal from the vision controller telling the PLC that a temperature
compensation program is in cycle.

37. TempCycleComp: A signal from the vision controller telling the PLC that a
temperature compensation cycle has been completed successfully.

42
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

38. TchCalPgm: A signal from the vision controller telling the PLC what robot program
to run. Used only when in teach or calibrate modes.

39. Style: Vision system echoes the style number back to the PLC.

40. ProcID(1-20): Vision system echoes the ProcessID numbers back to the PLC.

41. PartID1&2: Vision system echoes the PartID numbers back to the PLC.

8.2.1.2 PLC Outputs / Vision Controller Inputs

14. AutoMode: A bit that tells the vision system that the system is in automatic mode.

15. TryoutMode: Tells the vision system that the system is in "Tryout Mode" (No Part).

16. TchCalMode: The PLC echoes this bit back to the vision controller as a handshake.
It should mirror the vision input.

17. StatTest: Tells the vision system that the system is performing a static test. The
vision system shall tag the report data to reflect that it is running a static test.

18. DynaTest: Tells the vision system that the system is performing a dynamic test.
The vision system shall tag the report data to reflect that it is running a dynamic test.

19. ManualMode: A signal that puts the vision system into manual mode.

20. StartCycle: A signal telling the vision controller to start a cycle.

21. FaultReset: A signal telling the vision controller to reset all faults. If the vision
controller is in cycle, setting the FaultReset signal shall cause the cycle to cancel in
the same manner as the CnclCycle signal. If the vision controller is not in cycle,
setting the FaultReset signal shall cause the vision controller to reset the sensor and
get ready for a new cycle.

22. CnclCycle: A signal telling the vision controller to cancel the cycle and reset all I/O
to be ready to run a new cycle.

23. EndCycle: A signal telling the vision controller that the robots have finished
measuring and the cycle is over.

24. Style: Tells vision system what program to run

25. TchCalPgm: The PLC echoes the Teach/Cal Program number back to the vision
controller as a handshake. It should mirror the vision input.

26. ProcID(1-20): Process identifiers - Used to send a process identifier such as carrier
number, lane number, or parallel process number.

27. PartID1&2: Part identifiers - Used to send the JSN # or equivalent to the vision
controller.

43
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.2.1.3 Robot Inputs / PLC Outputs

2. TchCalMode: A bit that tells the robot that the vision controller is in Teach/Calibrate
mode.

3. CnclCycle: A signal that tells the robot that the vision cycle has been cancelled.

8.2.1.4 Robot Outputs / PLC Inputs

3. PCRbtComOK: When low, this signal indicates that there was a loss of
communication between the vision controller and the robot.

4. CnclCycle: When high, this signal indicates to the PLC that the robot is requesting
to cancel the current vision cycle.

44
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.2.2 Timing Diagrams

Figure 1: Normal FMS Cycle

45
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 2: FMS Teach/Calibrate Cycle

46
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 3: FMS Artifact Timing (Temperature Compensation)

47
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 4: Faulted FMS Timing (Before In Cycle)

48
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Note: Normal and Teach/Calibrate error recovery shall perform similarly. The vision controller
shall drop the “No Faults” bit to the PLC when there is a fault. If the vision system is not in cycle
and the PLC sends the “FaultReset” signal, the vision controller resets all signals and gets ready
to run a new cycle. When the system is already in cycle, the vision controller shall hold the fault
state until the user makes a recovery selection from the HMI screen. See error recovery options
in section 6.2.4.

49
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 5: FMS Canceled Cycle

50
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.3 Mapping of Signals

The following sections detail the mapping assignments for the robot, PLC, and vision
controller. The signals shall be produced and consumed via Ethernet/IP.

8.3.1 Ethernet/IP I/O Requirements (Adapter)

7. The digital inputs and outputs shall be allocatable byte-wise to a connection.

8. The vision controller shall be able to maintain at least 8 bi-directional real time
connections with both produce and consume capability.

9. The real time producer connections shall receive priority over the non real time traffic
sent such that performance degradation due to congestion, if any, will occur on the
non-real time connections before the real time connections are effected.

10. Data integrity shall be maintained for up to 508-byte frame size message (Maximum
allowed in by the ODVA EtherNet/IP definition).

11. The RPI (requested packet interval) shall be configurable at the scanner. The
minimum RPI shall be 20ms and it shall be adjustable in 5ms increments or less.
The default setting shall be 60ms.

12. Diagnostics screen(s) shall be provided on the vision controller to display connection
information such as name, IP address, and communication status for each real time
connection.

51
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.3.2 Vision Controller Outputs / PLC Inputs

Table 1: Vision Controller Outputs/PLC Inputs


Output Data
Signal Name Definition
Bits Type
0 BOOL AutoMode Vision system echo. Should mirror PLC outputs.
1 BOOL TryoutMode Vision system echo. Should mirror PLC outputs.
2 BOOL CmpndCycle Vision system echo. Should mirror PLC output.
3 BOOL TchCalMode Vision controller is in Teach/Calibrate Mode
4 BOOL StatTest Vision system echo. Should mirror PLC outputs.
5 BOOL DynaTest Vision system echo. Should mirror PLC outputs.
6 BOOL ManualMode Vision system echo. Should mirror PLC outputs.
7 BOOL NoFaults When low, this bit indicates a vision system fault
8 BOOL SysReady The vision controller is not faulted and is ready for a cycle
9 BOOL SysBusy The vision system is busy
10 BOOL SysInCycle The vision cycle is complete
11 BOOL PhaseInCycle The vision controller is in a phase cycle
12 BOOL PhaseComp The phase is complete
13 BOOL CycleComp The vision cycle is complete
14 BOOL SensorsOK When low there is a sensor faulted
15 BOOL TrendOK When low there is a trend limit exceeded
16 BOOL OutSpecOK When low there is a out of spec limit exceeded
17 BOOL RejectOK When low there is a reject limit exceeded
18 BOOL FrameOK When low there is a problem with the any of the frames
19 BOOL TempCompOK When low there is a problem with the temperature compensation cycle
20 BOOL FrameComp The frame is complete
21 BOOL FrameLimitsOK When low there is a frame limit exceeded
22 BOOL TempInCycle The vision system is in a temperature compensation cycle
23 BOOL TempCycleComp The temperature compensation cycle is complete
24-31 SINT TchCalPgm Vision teach or calibrate program to run
32-39 SINT Style Vision system echo. Should mirror PLC style output
40-47 SINT Phase Vision system echo. Should mirror PLC phase outputs
48-55 SINT Color Vision system echo. Should mirror PLC color
56-63 SINT Frame Vision system echo. Should mirror PLC frame
64-79 INT ProcID1 Vision system echo. Should mirror PLC process ID 1
80-95 INT ProcID2 Vision system echo. Should mirror PLC process ID 2
96-111 INT ProcID3 Vision system echo. Should mirror PLC process ID 3
112-127 INT ProcID4 Vision system echo. Should mirror PLC process ID 4
128-143 INT ProcID5 Vision system echo. Should mirror PLC process ID 5
144-159 INT ProcID6 Vision system echo. Should mirror PLC process ID 6
160-175 INT ProcID7 Vision system echo. Should mirror PLC process ID 7
176-191 INT ProcID8 Vision system echo. Should mirror PLC process ID 8
192-207 INT ProcID9 Vision system echo. Should mirror PLC process ID 9
208-223 INT ProcID10 Vision system echo. Should mirror PLC process ID 10
224-239 INT ProcID11 Vision system echo. Should mirror PLC process ID 11

52
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

240-255 INT ProcID12 Vision system echo. Should mirror PLC process ID 12
256-271 INT ProcID13 Vision system echo. Should mirror PLC process ID 13
272-287 INT ProcID14 Vision system echo. Should mirror PLC process ID 14
288-303 INT ProcID15 Vision system echo. Should mirror PLC process ID 15
304-319 INT ProcID16 Vision system echo. Should mirror PLC process ID 16
320-335 INT ProcID17 Vision system echo. Should mirror PLC process ID 17
336-351 INT ProcID18 Vision system echo. Should mirror PLC process ID 18
352-367 INT ProcID19 Vision system echo. Should mirror PLC process ID 19
368-383 INT ProcID20 Vision system echo. Should mirror PLC process ID 20
384-415 DINT PartID1 Vision system echo. Should mirror PLC part ID 1
416-447 DINT PartID2 Vision system echo. Should mirror PLC part ID 2
448 BOOL UserBit User Definable
449 BOOL UserBit User Definable
450 BOOL UserBit User Definable
451 BOOL UserBit User Definable
452 BOOL UserBit User Definable
453 BOOL UserBit User Definable
454 BOOL UserBit User Definable
455 BOOL UserBit User Definable
456-463 SINT UserSINT User Definable
464-479 INT UserINT User Definable
480-511 DINT UserDINT User Definable

Note: Shaded fields indicate signals not used for this application

53
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.3.3 Vision Controller Inputs / PLC Outputs

Table 2: Vision Controller Inputs / PLC Outputs


Output Data
Type Signal Name
Bits Definition
0 BOOL AutoMode Tells the vision system that the system is in automatic mode.
1 BOOL TryoutMode Tells the vision system that the system is in "Tryout Mode" (no part).
2 BOOL CmpndCycle Multiple cycles will be run before the robot asks for an offset.
3 BOOL TchCalMode PLC echo. Should mirror Vision TchCalMode
4 BOOL StatTest Tells the vision system that the system is performing a static test.
5 BOOL DynaTest Tells the vision system that the system is performing a dynamic test.
6 BOOL ManualMode Tells the vision system that the system is in Manual
7 BOOL StartCycle Tells the vision controller to start a cycle
8 BOOL StartPhase Tells the vision controller to start a phase
9 BOOL FaultReset Reset faults
10 BOOL CnclCycle Cancels the cycle and resets all I/O to be ready to run a new cycle
11 BOOL EndCycle This tells the vision controller that the robots are done measuring
12 BOOL LightsON Turn lights on
13 BOOL GetFrame This tells the vision controller to run a particular frame
14 BOOL ReservedBit ReservedBit
15 BOOL ReservedBit ReservedBit
16 BOOL ReservedBit ReservedBit
17 BOOL ReservedBit ReservedBit
18 BOOL ReservedBit ReservedBit
19 BOOL ReservedBit ReservedBit
20 BOOL ReservedBit ReservedBit
21 BOOL ReservedBit ReservedBit
22 BOOL ReservedBit ReservedBit
23 BOOL ReservedBit ReservedBit
24-31 SINT TchCalPgm Echo's the teach/cal program back to the vision system in tchcalmode
32-39 SINT Style Tells vision system what program to run
40-47 SINT Phase Tells vision system what phase to run
48-55 SINT Color For identifying the color of the vehicle
56-63 SINT Frame For identifying the current frame to be executed
Process identifier - Used to send a process identifier such as carrier
64-79 INT ProcID1
number, lane number, or parallel process number.
80-95 INT ProcID2 Optional process identifier 2
96-111 INT ProcID3 Optional process identifier 3
112-127 INT ProcID4 Optional process identifier 4
128-143 INT ProcID5 Optional process identifier 5
144-159 INT ProcID6 Optional process identifier 6
160-175 INT ProcID7 Optional process identifier 7
176-191 INT ProcID8 Optional process identifier 8
192-207 INT ProcID9 Optional process identifier 9
208-223 INT ProcID10 Optional process identifier 10
54
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

224-239 INT ProcID11 Optional process identifier 11


240-255 INT ProcID12 Optional process identifier 12
256-271 INT ProcID13 Optional process identifier 13
272-287 INT ProcID14 Optional process identifier 14
288-303 INT ProcID15 Optional process identifier 15
304-319 INT ProcID16 Optional process identifier 16
320-335 INT ProcID17 Optional process identifier 17
336-351 INT ProcID18 Optional process identifier 18
352-367 INT ProcID19 Optional process identifier 19
368-383 INT ProcID20 Optional process identifier 20
384-415 DINT PartID1 Part identifier - Used to send the JSN # or equivalent to the vision system
416-447 DINT PartID2 Optional part identifier 2
448 BOOL UserBit User Definable
449 BOOL UserBit User Definable
450 BOOL UserBit User Definable
451 BOOL UserBit User Definable
452 BOOL UserBit User Definable
453 BOOL UserBit User Definable
454 BOOL UserBit User Definable
455 BOOL UserBit User Definable
456-463 SINT UserSINT User Definable
464-479 INT UserINT User Definable
480-511 DINT UserDINT User Definable

Note: Shaded fields indicate signals not used for this application

55
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.3.4 Robot Outputs / PLC Inputs

Signals 61& 62 are added to the PLC – Robot cell interface.

Table 3: Robot Outputs/PLC inputs


Output Data
Signal Name Definition
Bits Type
61 Bit PCRbtComOK Robot / Vision PC Communication OK
62 Bit CnclCycle Cancel Cycle Request From Robot
63 Bit UserDefine_63 Available-User Definable
64 Bit UserDefine_64 Available-User Definable

8.3.5 Robot Inputs / PLC Outputs

Signals 61 & 62 are added to the PLC – Robot cell interface.

Table 4: Robot Inputs/PLC Outputs


Input Data
Signal Name Definition
Bits Type
61 Bit TchCalMode Tells the robot that the vision controller in Teach/Calibrate Mode
62 Bit CnclCycle Tells the robot to Cancel Cycle
63 Bit UserDefine_63 Available-User Definable
64 Bit UserDefine_64 Available-User Definable

56
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.4 Vision Cycle Definition

The FMS system runs two different parts of a cycle. The first part of a cycle is the part
path and the second part of the cycle is for the artifact measurement, which is part of the
temperature compensation functionality.

8.4.1 Part Path

The part path is considered to be the part measurement portion of the cycle. There can
be three different forms of part paths: master programs, short programs, or split
programs. A master program will contain all checkpoints for a particular body type. A
short program will contain all the checkpoints that the plant wishes to run during a single
cycle. Part splitting allows the robot to run different subsets of measure points. See
robot software section for more details.

8.4.2 Artifact Path

The artifact path is part of the temperature compensation cycle. Temperature


compensation is needed on the FMS robot because of shrinkage and growth of the robot
link lengths due to ambient temperature changes and self-heating. In order for the robot
to become temperature compensated, it must measure many artifact monuments located
throughout its envelope. There are two types of artifact paths, full and split. See robot
software section for more details.

8.4.3 Detailed Sequence

22. PLC sets the appropriate mode


23. The vision controller echoes back the mode
24. Vehicle comes into station
25. Vehicle is clamped up
26. PLC examines the status of SysReady, SysBusy, and NoFaults bits from the vision
controller
27. PLC sets Style, all PartID(s), and all ProcessID(s).
28. Vision controller echoes back Style, all PartID(s), and all ProcessID(s).
29. PLC sets the StartCycle bit
30. PLC examines SysInCycle bit to make sure the vision controller is in cycle.
31. PLC initiates the robot(s).
32. Robots move to each checkpoint.
33. Robots complete part path and move to the artifact path.
34. PLC sets the EndCycle bit to the vision controller.
35. Vision controller sets any of the following alarm bits low if there is a problem:
TrendOK, OutSpecOK, RejectOK.
36. The vision controller sets CycleComp to high when the cycle is complete and all
alarms have been set.
37. Once CycleComp from vision is high, the PLC evaluates the alarms and drops the
StartCycle bit.
38. Vision controller responds by dropping the SysInCycle and CycleComp bits.
39. Vehicle unclamps and leaves the station.
40. Robots returns home when finished with the artifact path.

57
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.5 Software Requirements

8.5.1 Vision PC Software

8.5.1.1 PC Interface

The robot and vision data communication shall be accomplished using the robot’s PC
interface via ethernet. Most robot manufacturers have a PC interface that allows reading
and writing of variables, data registers, position registers, and user frames.

As an example, Fanuc has a pc developer’s kit (PCDK) that allows a pc developer to


write an application on the pc that handles data transfer to and from the robot. The
Fanuc robot has built in commands that handle data transfer. The following is an
example of a PC interface command: Send Data (1, 2, 3, 4, 5, 6), where 1-3 are used by
the system and 4-6 are user-programmable application specific parameters. The
following is a list of each parameter:

10. Request Code Used by system): This item determines which event is triggered on
the PC. It can be a value between 0 and 255.

11. Wait Switch (Used by system): This item is a wait switch. Valid values are either 0
or 1. If 0, don’t wait for an answer form the PC. If 1, wait for an answer from the PC.
The default shall be 0.

12. Status Register (Used by system): This specifies which data register to put any error
codes. If this value is 0, no register is used.

13. Checkpoint Number: The checkpoint number that is entered by the user in the
Measure command shall be passed to the vision controller.

14. Communication Timeout: The time that the robot controller will wait for a reply from
the vision controller.

15. Vision Reply Register: This is the register that the vision controller will put the reply
number. The robot program will loop while waiting for a reply while the number is
equal to 9999. When it is anything other than 9999 it means the PC has replied and
the program can continue.

The PC interface command that sends data to the PC will vary by robot manufacturer;
therefore, the order of the above parameters shall remain fixed. The above Send Data
example shows the first three fields used by the system; therefore, the three vision
parameters listed above would start at field four.

8.5.2 Robot Software

8.5.2.1 Style Programs

When part or temperature compensation splitting is enabled in the PLC, the robot shall
be initiated into a style program with option bit A, B, or C. The following table explains
the functionality for each option bit.

58
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Table 5: Robot Styles


Style Option Fuctionality
The robot shall run a master program with all checkpoints. This option could
1-25 A be used to get data on checkpoints that are not normally used during
production but are useful during body tune-in.
1-25 B The robot shall run a short program that can be completed in a single cycle.
Robot shall run with part splitting. The robot shall keep track of which split was
1-25 C run previously and run the programs in order. For example, if there were 2
subset programs, the robot would run split 1, 2, 1, 2, etc…
28 A The robot shall perform the artifact calibration program.
28 B The robot shall perform the full temperature compensation program.
The robot shall perform temperature compensation using splitting. When
option bit C is received, the robot shall call the appropriate temperature
compensation split based on an internal counter. The robot shall start by
28 C running program 1 and end with the number dictated by "number of
measurements per split". For example, if there are 30 artifact measurements
and you want to do 2 measurments per split, there would be 15 programs with
2 measurements each.

8.5.2.2 Measure Macro

The robot shall move to a position and then call a Measure macro that looks like the
following: CALL MEASURE (1), where the number 1 is a user-entered integer that
represents a checkpoint number. The Measure macro uses the checkpoint parameter
above and sends all the fields listed in 5.1.1 to the PC.

8.5.2.3 Part Splitting

When there are more points than you have cycle time for in a single cycle, you can split
the measurements into two different programs and measure half during one cycle and
half on the next cycle. This would allow the plant to measure more points than they
would otherwise.

8.5.2.4 Artifact Splitting

A full temperature compensation program will most likely exceed the normal cycle time of
the station. In order to compensate and remain within cycle time, it may be necessary to
only perform two or three measurements while the vehicle is transferring, which is called
splitting. For example, if 30 artifact measurements are needed and there is cycle time to
do two measurements between jobs, the robot would become compensated after 15 jobs.

8.5.2.5 Configurable Items

The following items at minimum shall be configurable by the user:

1. Settle time: The robot tends to shake slightly when it moves from checkpoint to
checkpoint. In order to eliminate the shaking and prevent any error in
measurements, it is necessary to have the robot wait a small amount of time before
59
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

triggering a measurement. Therefore, the software shall include a user-configurable


delay time that allows the robot to wait before each measurement.

2. Communication Timeout: The robot shall have a user configurable communication


timeout. This is the time that the robot controller will wait for a reply from the vision
controller when sending a checkpoint number through the PC interface.

3. Vision Reply: This is the register that the vision controller will put the reply number.
The robot program will loop while waiting for a reply from the pc while the number is
equal to 9999. When it is anything other than 9999 it means the PC has replied and
the program can continue.

4. Part Splits: The robot shall have a user configurable number of checkpoint splits (10
maximum). If option C is turned on from the PLC the robot shall run this number of
part splits. Default value shall be two.

5. Artifact Splits: This number defines the number of artifact measurements per split.
This is only used if style 28, option c is being sent from the PLC. The default shall be
two.

6. Artifact Points: This number is the total number of artifact measurements. This is
only used if style 28, option c is being sent from the PLC. The default shall be 30.

7. Auto Retry: The robot shall have the capability to automatically retry a faulted
measurement a configurable number of times before issuing a fault. The default
shall be 0; the maximum configurable number of retries shall be 3.

8.5.3 PLC Software

The PLC shall initiate the robot into style program 1-25 for a part path and 28 for a
temperature compensation path. The PLC shall also provide option bit A, B, or C
depending on the required functionality. See table 5.

The PLC software shall provide the following user configurable options for temperature
compensation:

1. Temp Comp Enable/Disable: Ability for the user to enable and disable temperature
compensation. If temperature compensation is disabled, items 2-5 below are not
used.

2. Splitting Enable/Disable: Provide the ability for the user to enable or disable
temperature compensation splitting. If this option is enabled, the robot is forced to
run style 28 and option C during job transfer as shown in table 5.

3. Temp Comp Timer: Provide the ability for the user to input the amount of time
between temperature compensations. If the splitting is enabled, this timer can be
used to force the splits to happen based on time and not continuous. Conversely, if
splitting is disabled the system could be configured to perform a full temperature
compensation every hour during production.

4. Idle Comp Enable/Disable: Provide the ability for the user to enable and disable
compensation based on the system being idle. For example, if the system sits idle
60
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

for 30 minutes, the system would run full temperature compensation when the line
started back up.

5. Idle Timer: Provide the ability for the user to input a desired amount of time for the
system to be idle before performing full temperature compensation (see table 5).
This is not used unless Idle Comp is enabled (item 4).

6. Part Splitting Enable/Disable: Ability for the user to enable and disable part splitting.

7. Master/Short Program Toggle: Ability for the user to select between master and
short part path programs (see option A & B in table 5).

8.5.3.1 Modes

The following are all valid modes for the FMS system:

1. Automatic Mode: The normal mode for production is automatic mode. The PLC shall
set the automatic mode bit to the vision controller to high for a normal cycle. In
automatic mode, the PLC shall set the “Process On Request” to the robot(s) to high.
The robot(s) shall then set the “Process Enabled” signal to the PLC to high.

2. Teach / Calibrate Mode: The vision controller can be put into Teach/Calibrate mode
at the vision controller by the user. When in Teach / Calibrate mode, the vision
controller shall send a program number to the PLC. This number represents a
program that the user wishes to run. The PLC shall examine this number and initiate
the robot(s) into the appropriate style program. When the vision controller is in Teach
/ Calibrate mode, the PLC shall set the TchCalMode bit to the robot to high. When
the robot sees the TchCalMode bit high, it shall change the wait switch for the PC
interface to 1 as described in section 5.1.1 item 2.

3. Tryout Mode: The vision controller shall run with no part when the PLC has set the
TryoutMode bit to high. The TryoutMode bit shall be set to high when the user
selects Tryout Mode in the PLC. When Tryout Mode is selected, the “Process On
Request” from PLC to the robot(s) shall be set to low and the robot “Process
Enabled” signal to the PLC shall be set to low. All I/O handshaking shall take place
as normal and the system shall not fault out with any measurement alarms. If the
PLC senses a part in the station, a fault shall be generated and a cycle shall not be
started.

8.5.3.2 Repeatability Testing

The following two items describe both static and dynamic repeatability test functionality:

1. Static Test: A static test is performed to test the static repeatability of the
measurement system. During a static test, the body remains in the same position for
30 or more cycles, but the robot moves through the measure path normally. The
PLC shall set the StatTest bit to high when a static test is selected. The vision
controller shall run the cycle normally except the data from each cycle shall be
tagged as a static test per the CDIS interface requirements. The PLC software shall
provide the user with a method to select or deselect static test mode. The PLC
software shall also provide the user with a method to set the number of cycles for a
static test.
61
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

2. Dynamic Test: A dynamic test is performed to test the dynamic repeatability of the
measurement system. During a dynamic test, the body is lowered into station,
clamped up, measured, unclamped, and raised for 10 or more cycles. The PLC shall
set the DynaTest bit to high when a dynamic test is selected. The vision controller
shall run the cycle normally except the data from each cycle shall be tagged as a
dynamic test per the CDIS interface requirements. The PLC software shall provide
the user with a method to select or deselect dynamic test mode. The PLC software
shall also provide the user with a method to set the number of cycles for a dynamic
test.

8.6 Fault Handling and Recovery

8.6.1 Robot Fault Recovery

The following sections describe the required robot fault handling capability.

8.6.1.1 Auto Retry

The robot shall have the capability to automatically retry a faulted measurement a
configurable number of times before issuing a fault. The default shall be 0; the maximum
configurable number of retries shall be 3.

8.6.1.2 Measurement Error

On any measurement error during the cycle, the following fault recovery options shall be
supported at the robot teach pendant:

3. Retry – The robot shall retry the current measurement.

4. Skip All: – This selection shall set ‘Task OK’ to low and continue through the rest
of the path without firing the sensor and without waiting for a vision controller
reply.

5. Abort – This selection shall turn on ‘Cancel Cycle’ to PLC, set ‘Task OK’ to low,
and cancel any user program execution, robot motion, or process execution.
‘Cancel Cycle’ to the PLC shall turn off at the robot home position.

8.6.1.3 Communication Error

The robot shall be capable of detecting a loss of communication with the vision controller.
In the event of a loss of communication with the vision controller, the robot shall set the
‘PCRbtComOK’ signal to the PLC to low and shall provide the option to retry
communications to the vision controller from the teach pendant. The robot shall also
provide the options in section 6.1.2 if it has a communication error while in the measure
path. The robot shall reset ‘PCRbtComOK’ back to high upon the restoration of
communications with the vision controller.

8.6.2 PLC Fault Recovery

62
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8.6.2.1 Vision Measurement Alarms

The PLC will consider the following signals as alarms when set to low from the vision
controller:

10. TrendOK – Indicates that the data is trending.

11. OutSpecOK – Indicates that a measurement is out of specifications.

12. RejectOK – Indicates that a measurement is outside of the reject limits.

13. SensorsOK – Indicates that there is a problem with the sensor(s)

14. TempCompOK – Indicates that there is a problem with the temperature


compensation calculation and the compensation was not applied.

Recovery options outlined in xxx will be available on the HMI vision screen.

8.6.2.2 Vision System Fault

The vision system shall set the NoFaults bit to low if it has a system fault that would
prevent a vision cycle from completing properly. If the controller is not in cycle, the PLC
shall set the FaultReset bit to high and the vision controller shall reset the sensors and
get ready for a new cycle. If the controller is in cycle, the vision controller maintains the
error state until the user goes to the vision screen on the HMI and makes a selection to
recover. See section 6.2.4 below.

8.6.2.3 PLC Cancel Cycle

In the event of a ‘Cancel Cycle’ signal from the PLC or a Fault Reset when in cycle; the
robot shall set ‘TaskOK’ to low and continue through the rest of the path without firing the
sensor and without waiting for a vision controller reply.

8.6.2.4 PLC Fault Recovery - Vision HMI Screen Buttons

The PLC HMI screen will provide the following recovery buttons:

8. Accept Part: Used when there is a vision measurement error and release the vehicle
and continue.

9. Recheck Part: User presses this button to rerun the measurement cycle.

10. Auto Recheck Enable: The PLC forces the vision controller to recheck the current
measurement a configurable amount of times before a fault is generated. Default
shall be set to 1.

11. Cancel Cycle: Cancel the current cycle and get ready to run a new one.

12. Enable Reject Bypass: User must press this button to enable the system to ignore
alarms. This functionality should only work for 10 - 20 jobs and then return to
disabled. This is to prevent a permanent bypass of the alarms.

63
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9. Appendix C: Stationary Perceptron Interface

9.1 General

9.1.1 Scope

This specification contains all I/O and software requirements associated with General
Motors’ standard PLC and measurement vision controller interface.

9.1.2 Purpose

This specification documents the standard interface between PLCs, and other purchased
equipment used by General Motors. It is intended to complement the technical
specifications that are maintained separately for the robots and peripheral equipment in
General Motors processes.

9.1.3 Intended Audience

This document is intended for vision suppliers and General Motors’ Common Controls
Software developers.

9.1.4 Stationary Measurement System

The stationary measurement system is an in-line gauging system for dimensional


measurement of the vehicle body. There is typically one camera per measurement per
vehicle type.

64
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.2 Interface Signals

9.2.1 Signal Definitions

This section is intended to define the usage of each of the input and output signals.

9.2.1.1 PLC Inputs / Vision Controller Outputs

42. AutoMode: Vision system echoes this bit back to the PLC indicating that it is in
automatic mode.

43. TryoutMode: Vision system echoes this bit back to the PLC indicating that it is in
Tryout mode.

44. StatTest: Vision system echoes this bit back to the PLC indicating that it is
performing a static test.

45. DynaTest: Vision system echoes this bit back to the PLC indicating that it is
performing a dynamic test.

46. ManualMode: Vision system echoes this bit back to the PLC indication that it is in
manual mode.

47. NoFaults: When low, this bit indicates a system fault in the vision system.

48. SysReady: When high, this signal indicates that the vision controller is ready and
does not have any faults that would prevent a normal cycle.

49. SysBusy: Vision system is occupied and is not ready to accept commands.

50. SysInCycle: When this signal is high the vision controller is in cycle.

51. PhaseInCycle: When this signal is high the vision controller is in a phase cycle.

52. CycleComp: When this signal is high the vision cycle is complete.

53. PhaseComp: When this signal is high the current phase is complete.

54. SensorsOK: When this signal is low there is a sensor error.

55. TrendOK: When this signal is low there is a trend limit exceeded.

56. OutSpecOK: When this signal is low there is a out of spec limit exceeded.

57. RejectOK: When this signal is low there is a reject limit exceeded.

58. Style: Vision system echoes the style number back to the PLC.

59. PartID1&2: Vision system echoes the PartID numbers back to the PLC.

60. ProcID(1-5): Vision system echoes the ProcessID numbers back to the PLC.

65
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.2.1.2 PLC Outputs / Vision Controller Inputs

28. AutoMode: A bit that tells the vision system that the system is in automatic mode.

29. TryoutMode: Tells the vision system that the system is in "Tryout Mode" (No Part).

30. StatTest: Tells the vision system that the system is performing a static test. The
vision system shall tag the report data to reflect that it is running a static test.

31. DynaTest: Tells the vision system that the system is performing a dynamic test.
The vision system shall tag the report data to reflect that it is running a dynamic test.

32. ManualMode: A signal to put the vision system into manual mode.

33. StartCycle: A signal telling the vision controller to start a cycle.

34. FaultReset: A signal telling the vision controller to reset all faults. If the vision
controller is in cycle, setting the FaultReset signal shall cause the cycle to cancel in
the same manner as the CnclCycle signal. If the vision controller is not in cycle,
setting the FaultReset signal shall cause the vision controller to reset the sensors and
get ready for a new cycle.

35. CnclCycle: A signal telling the vision controller to cancel the cycle and reset all I/O
to be ready to run a new cycle.

36. EndCycle: A signal telling the vision controller that the cycle is complete. This
signal is only used on a phased system since the vision controller does not know
when all phases are complete.

37. Style: Tells vision system what program to run

38. Phase: Tells the vision system which phase to run

39. PartID1&2: Part identifiers - Used to send the JSN # or equivalent to the vision
controller.

40. ProcID(1-5): Process identifiers - Used to send a process identifier such as carrier
number, lane number, or parallel process number.

66
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.2.2 Timing Diagrams

Figure 1: Fixed Measurement Timing - Normal Cycle


Sequence Origin Signal Name Fixed Measurement Timing - Normal Cycle

NA PLC FaultReset

NA PLC CnclCycle

1 Vision SysReady

1 Vision NoFaults

1 PLC AutoMode

1 Vision AutoMode

1 PLC TryoutMode

1 Vision TryoutMode

1 PLC StatTest

1 Vision StatTest

1 PLC DynaTest

1 Vision DynaTest

2 PLC Style

2 PLC PartID1&2

2 PLC ProcID1-5

3 Vision Style

3 Vision PartID1&2

3 Vision ProcID1-5

4 PLC StartCycle

5 Vision SysInCycle

8 Vision CycleComp

9 Vision SensorsOK

9 Vision TrendOK

9 Vision OutSpecOK

9 Vision RejectOK

67
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 2: Fixed Measurement Timing – Two Phase Cycle


Sequence Origin Signal Name Fixed Measurement Timing - Two Phase Cycle

NA PLC FaultReset

NA PLC CnclCycle

1 Vision SysReady

1 Vision NoFaults

1 PLC AutoMode

1 Vision AutoMode

1 PLC TryoutMode

1 Vision TryoutMode

1 PLC StatTest

1 Vision StatTest

1 PLC DynaTest

1 Vision DynaTest

2 PLC Style

2 PLC Phase

2 PLC PartID1&2

2 PLC ProcID1-5

3 Vision Style

3 Vision Phase For Phase 1 For Phase 2

3 Vision PartID1&2

3 Vision ProcID1-5

4 PLC StartCycle

5 Vision SysInCycle

6 PLC StartPhase Phase 1 Phase 2

7 Vision PhaseInCycle

8 Vision PhaseComp

9 PLC EndCycle

8 Vision CycleComp

9 Vision SensorsOK

9 Vision TrendOK

9 Vision OutSpecOK

9 Vision RejectOK

68
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 3: Fixed Measurement Timing - Faulted In-Cycle


Sequence Origin Signal Name Fixed Measurement Timing - Faulted Cycle

NA PLC FaultReset

NA PLC CnclCycle

1 Vision SysReady

1 Vision NoFaults

1 PLC AutoMode

1 Vision AutoMode

1 PLC TryoutMode

1 Vision TryoutMode

1 PLC StatTest

1 Vision StatTest

1 PLC DynaTest

1 Vision DynaTest

2 PLC Style

2 PLC PartID1&2

2 PLC ProcID1-5

3 Vision Style

3 Vision PartID1&2

3 Vision ProcID1-5

4 PLC StartCycle

5 Vision SysInCycle

8 Vision CycleComp

9 Vision SensorsOK

9 Vision TrendOK

9 Vision OutSpecOK

9 Vision RejectOK

Note: The vision controller shall drop the “No Faults” bit to the PLC during a fault condition. The
user will then make a recovery selection from the vision HMI screen.

69
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

Figure 4: Fixed Measurement Timing- Cancelled Cycle


Sequence Origin Signal Name Fixed Measurement Timing - Cancelled Cycle

NA PLC FaultReset

NA PLC CnclCycle

1 Vision SysReady

1 Vision NoFaults

1 PLC AutoMode

1 Vision AutoMode

1 PLC TryoutMode

1 Vision TryoutMode

1 PLC StatTest

1 Vision StatTest

1 PLC DynaTest

1 Vision DynaTest

2 PLC Style

2 PLC PartID1&2

2 PLC ProcID1-5

3 Vision Style

3 Vision PartID1&2

3 Vision ProcID1-5

4 PLC StartCycle

5 Vision SysInCycle

8 Vision CycleComp

9 Vision SensorsOK

9 Vision TrendOK

9 Vision OutSpecOK

9 Vision RejectOK

70
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.3 Mapping of Signals

The following sections detail the mapping assignments for the PLC and vision controller.
The signals shall be produced and consumed via Ethernet/IP.

9.3.1 EtherNet/IP I/O Requirements (Adapter)

13. The digital inputs and outputs shall be allocatable byte-wise to a connection.

14. The vision controller shall be able to maintain at least 8 bi-directional real time
connections with both produce and consume capability.

15. The real time producer connections shall receive priority over the non real time traffic
sent such that performance degradation due to congestion, if any, will occur on the
non-real time connections before the real time connections are effected.

16. Data integrity shall be maintained for up to 508-byte frame size message (Maximum
allowed in by the ODVA EtherNet/IP definition).

17. The RPI (requested packet interval) shall be configurable at the scanner. The
minimum RPI shall be 20ms and it shall be adjustable in 5ms increments or less.
The default setting shall be 60ms.

18. Diagnostics screen(s) shall be provided on the vision controller to display connection
information such as name, IP address, and communication status for each real time
connection.

71
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.3.2 Vision Controller Outputs / PLC Inputs

Table 1: Vision Controller Outputs/PLC Inputs


Input Data
Signal Name Definition
Bits Type
0 Bit AutoMode Vision system echo. Should mirror PLC outputs.
1 Bit TryoutMode Vision system echo. Should mirror PLC outputs.
2 Bit CmpndCycle Vision system echo. Should mirror PLC output.
3 Bit TchCalMode Vision controller is in Teach/Calibrate Mode
4 Bit StatTest Vision system echo. Should mirror PLC outputs.
5 Bit DynaTest Vision system echo. Should mirror PLC outputs.
6 Bit NoFaults When low, this bit indicates a vision system fault
7 Bit SysReady The vision controller is not faulted and is ready for a cycle
8 Bit SysInCycle The vision controller is in cycle
9 Bit PhaseInCycle The vision controller is in a phase cycle
10 Bit CycleComp The vision cycle is complete
11 Bit PhaseComp The phase is complete
SensorsOK When low there is a sensor error. To get specific detail, the user must
Bit
12 go to the vision controller.
13 Bit OffsetsOK When low there is a problem with the any of the offsets
14 Bit TrendOK When low there is a trend limit exceeded
15 Bit OutSpecOK When low there is a out of spec limit exceeded
16 Bit RejectOK When low there is a reject limit exceeded
17 Bit TempCompOK When low there is a problem with the temperature compensation cycle
18-23 Bit Spare18 - Spare24 User Definable
TchCalPgm Vision controller tells the PLC what robot program to run. Used only
Sint
24-31 when in teach or calibrate modes.
32-39 Sint Style Vision system echo. Should mirror PLC outputs.
40-47 Sint Phase Vision system echo. Should mirror PLC outputs.
48-79 Dint PartID1 Vision system echo. Should mirror PLC outputs.
80-111 Dint PartID2 Vision system echo. Should mirror PLC outputs.
112-127 Int ProcID1 Vision system echo. Should mirror PLC outputs.
128-143 Int ProcID2 Vision system echo. Should mirror PLC outputs.
144-159 Int ProcID3 Vision system echo. Should mirror PLC outputs.
160-175 Int ProcID4 Vision system echo. Should mirror PLC outputs.
176-191 Int ProcID5 Vision system echo. Should mirror PLC outputs.
192-199 Sint Color Vision system echo. Should mirror PLC outputs.
200-231 Dint Spare200 -Spare231 User Definable

Note: Shaded fields indicate signals not used for this application

72
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.3.3 Vision Controller Inputs / PLC Outputs

Table 2: Vision Controller Inputs / PLC Outputs


Output Data
Type Signal Name Definition
Bits
0 Bit AutoMode Tells the vision system that the system is in automatic mode.
1 Bit TryoutMode Tells the vision system that the system is in "Tryout Mode" (no part).
When high the vision controller knows that multiple cycles will be run
before the robot asks for an offset. Used in applications such as roof
2 Bit Compound Cycle
load where there is two or more vision cycles before the robot asks
for the offset.
3 Bit TchCalMode PLC echo. Should mirror Vision input.
4 Bit StatTest Tells the vision system that the system is performing a static test.
5 Bit DynaTest Tells the vision system that the system is performing a dynamic test.
6 Bit StartCycle Tells the vision controller to start a cycle
7 Bit StartPhase Tells the vision controller to start a phase
8 Bit FaultReset Reset faults
9 Bit CnclCycle Cancels the cycle and resets all I/O to be ready to run a new cycle
Tells the vision system when the measurement cycle is complete.
10 Bit EndCycle
Used on phased systems.
11 Bit LightsOn Turn lights on
12-15 Bit Spare12 - Spare15 User Definable
16-23 Sint TchCalPgm PLC echo. Should mirror Vision input.
24-31 Sint Style Tells vision system what program to run
40-47 Sint Phase Tells vision system what phase to run
Dint Part identifier - Used to send the JSN # or equivalent to the vision
48-79 PartID1 controller.
80-111 Dint PartID2 Optional part identifier 2
Int Process identifier - Used to send a process identifier such as carrier
112-127 ProcID1 number, lane number, or parallel process number.
128-143 Int ProcID2 Optional process identifier 2
144-159 Int ProcID3 Optional process identifier 3
160-175 Int ProcID4 Optional process identifier 4
176-191 Int ProcID5 Optional process identifier 5
192-199 Sint Color For identifying the color of the vehicle
200-231 Dint Spare168 - Spare199 User Definable

Note: Shaded fields indicate signals not used for this application

9.4 PLC Software Requirements

9.4.1 Modes

The following sections describe valid modes for the FMS system.

73
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

9.4.1.1 Automatic Mode

The normal mode for production is automatic mode. The PLC shall set the automatic
mode bit to the vision controller to high for a normal cycle.

9.4.1.2 Tryout Mode

The vision controller shall run with no part when the PLC has set the TryoutMode bit to
high. The TryoutMode bit shall be set to high when the user selects Tryout Mode in the
PLC.

All I/O handshaking shall take place as normal, the sensors shall not fire the laser, and
the system shall not fault out with any measurement alarms. If the PLC senses a part in
the station, a fault shall be generated and a cycle shall not be started.

9.4.2 Repeatability Testing

The following sections describe both static and dynamic repeatability test functionality.

9.4.2.1 Static Test

A static test is performed to test the static repeatability of the measurement system.
During a static test, the body remains in the same position for 30 or more cycles, but the
vision system measures normally. The PLC shall set the StatTest bit to high when a
static test is selected. The vision controller shall run the cycle normally except the data
from each cycle shall be tagged as a static test per the CDIS interface requirements. The
PLC software shall provide the user with a method to select or deselect static test mode.
The PLC software shall also provide the user with a method to set the number of cycles
for a static test.

9.4.2.2 Dynamic Test

A dynamic test is performed to test the dynamic repeatability of the measurement


system. During a dynamic test, the body is lowered into station, clamped up, measured,
unclamped, and raised for 10 or more cycles. The PLC shall set the DynaTest bit to high
when a dynamic test is selected. The vision controller shall run the cycle normally except
the data from each cycle shall be tagged as a dynamic test per the CDIS interface
requirements. The PLC software shall provide the user with a method to select or
deselect dynamic test mode. The PLC software shall also provide the user with a
method to set the number of cycles for a dynamic test.

9.4.3 Phasing

Phasing is used to break the measuring cycle into smaller parts. For example, Phasing
could be used if a cycle required a set of measurements to be taken and then a clamp
needs to open in order to get another set of measurements. Phase 1 would be the first
set of measurements and phase 2 would be the second set of measurements. If a cycle
does not need to be broken into smaller parts then you do not need to use phasing. See
figure 5 for exact functionality.

The following items shall be provided in the PLC software:

74
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

8. Phasing Enabled – Provide a configuration to enable/disable phasing

9. Number of phases – Provide a configuration for how many phases to run if phasing is
enabled.

9.5 Fault Handling and Recovery

The following sections describe the required fault handling capability.

9.5.1 Auto Retry

The PLC shall have the capability to automatically retry a faulted measurement a
configurable number of times before issuing a fault. The default shall be 0; the maximum
configurable number of retries shall be 3.

9.5.2 Vision Measurement Alarms

The PLC will consider the following signals as alarms when set to low from the vision
controller:

15. TrendOK – Indicates that the data is trending.

16. OutSpecOK – Indicates that a measurement is out of specifications.

17. RejectOK – Indicates that a measurement is outside of the reject limits.

18. SensorsOK – Indicates that there is a problem with the sensor(s)

9.5.3 Vision System Fault

The vision system shall set the NoFaults bit to low if it has a measurement or system fault
that would prevent a normal cycle. If the controller is not in cycle, the PLC shall set the
FaultReset bit to high and the vision controller shall reset the sensors and get ready for a
new cycle. If the controller is in cycle, the PLC shall set the FaultReset bit and the vision
controller will cancel the cycle in the same manner as if the CnclCycle bit was set. See
Figure 3.

9.5.4 PLC Fault Recovery - Vision HMI Screen Buttons

The PLC HMI screen will provide the following recovery buttons:

13. Accept Part: Used when there is a vision measurement error and release the vehicle
and continue.

14. Recheck Part: User presses this button to rerun the measurement cycle.

15. Auto Recheck Enable: The PLC forces the vision controller to recheck the current
measurement a configurable amount of times before a fault is generated. Default
shall be set to 1.

75
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--
Standard Robot Interface (GRS-4)
Section V: Robot Guidance With Vision
General Motors Corporation GM Controls, Conveyors, Robotics & Welding

16. Cancel Cycle: Cancel the current cycle and get ready to run a new one.

17. Enable Reject Bypass: User must press this button to enable the system to ignore
alarms.

76
October 2008
Copyright 2008. General Motors Corporation. All rights reserved.
--Uncontrolled When Printed--

You might also like