Professional Documents
Culture Documents
Tool Changer
1. Introduction
Purpose
Document Description
This document defines the basic methodology and structure for programming Kawasaki robots for Rivian
Tool Change applications. It is designed to give the guideline for standard programming, with
expectations that integrators can customize where required.
2. Implementation
The Tool Changer application is not a standalone application, most often implemented with Material
Handling, Servo Spot Weld, Self Pierce Rivet, etc., application(s). Note that this programming guide
3. Interface Panel
The Tool Changer Interface Panel is shown below, followed by explanations of each icon.
The Tool Change Covers can be operated manually through the software interface screen in Teach
mode. To operate the tool stand covers in manual you must first turn off the open/close signals (OX
518/519), then you must change the binary signal for which cover you want to open/ close (OX 531-534).
Then the interface panel push buttons will work.
Before applying the following settings, a few hardware items need to be confirmed.
• There is a Tool ID Kit in the Kawasaki Controller.
• Allen Bradley Safety I/O Module is wired to the robot controller
• Allen Bradley Safety I/O Module is wired to each tool changer stand for each tool
• Two set’s of Euchner switches for each tool/tool stand. (One transmitter on robot tool and One
transmitter on tool changer stand)
PLC programming is required for this functionality. The Transmitter switches on the tool stand will go back
to the PLC and then relaying back to the robot, which tool the robot is holding.
Table 2 lists each production subroutine, provided by Kawasaki and used directly by the line builder
without modification.
Flow Charts
pg01(); Multi Tool Maintenance
Production Subroutines
mov_home() ;Multi Tool Home
;************************************************
; COMPANY : RIVIAN AUTOMOTIVE
; PROGRAM : mov_home(), MULTIPLE HOME (EXAMPLE)
; REVISED LAST: 10/7/2020
; Produced by : RIVIAN KAWASAKI ROBOTICS DEV
;************************************************
;SET INTERNAL VARIABLE
; WHAT TOOL IS ON EOAT
eoat_present = BITS(1531,4) ;TOOL ON ROBOT
;
; ADVANCED CUBIC-S MULTIPLE HOME
;-------------------------
CASE eoat_present OF
Program Examples
atc_1pick() ;ATC Pick Tool 1
;************************************************
; COMPANY : RIVIAN
; PROGRAM : atc_1pick(), ATC PICK 1(EXAMPLE)
; REVISED LAST: 8/3/2023
; Produced by : RIVIAN KAWASAKI ROBOTICS DEV
;************************************************
;
1;VERIFY TOOL#1 IS EMPTY
;IF NOT = 15, ABORT PROGRAM
;SOMETHING ELSE WENT WRONG
IF BITS(1531,4)<>15 GOTO 999
;
;TOOL CHANGE IN PROGRESS
SIGNAL 517 ;TOOL CHANGE IN PROGRESS
;
;REQUEST TOOL LID
BITS 531,4 = 1
;
SIGNAL -519 ;CLOSE TOOL STAND COVERS
SIGNAL 518 ;OPEN TOOL STAND COVERS
;
;MOVE ABOVE TOOL #1 POS
;
JOINT SPEED9 ACCU3 TIMER0 TOOL9 WORK0 CLAMP1 (OFF,0,1,1) OX= WX=
CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-3.6973,-22.723,-32.013,12.928,21.519,128.13,-902.86,158] ;
;
JOINT SPEED7 ACCU2 TIMER0 TOOL9 WORK0 CLAMP1 (OFF,0,1,1) OX= WX=
CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-40.232,-1.8259,-34.606,66.797,42.865,84.172,-902.86,158] ;
;
;VERIFY NEST OPEN INPUTS
WAIT SIG(-1522) AND SIG(1521) ;TOOL STAND COVERS CLOSED, TOOL STAND COVERS OPEN
;
LINEAR SPEED4 ACCU2 TIMER0 TOOL9 WORK0 CLAMP1 (OFF,0,1,1) OX= WX=
CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-30.65,24.52,-35.327,56.08,36.408,90.978,-1382.3,158] ;ABOVE2
;
;MOVE 2" ABOVE TOOL
LINEAR SPEED4 ACCU1 TIMER0 TOOL9 WORK0 CLAMP1 (OFF,0,1,1) OX= WX=
CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-28.419,33.274,-33.605,55.6,33.909,89.961,-1382.3,157.99]
;ABOVE2
;
;MOVE TO ENGAGE POSITION
LINEAR SPEED1 ACCU0 TIMER0 TOOL9 WORK0 CLAMP1 (OFF,0,1,1) OX= WX=
CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-27.647,36.603,-32.739,55.709,32.886,89.324,-1382.3,157.99]
;ENGAGE
;
SIGNAL 525 ;RBT AT ATC PICK/DROP LOCATION
;
;CHECK IF ATC IS IN POS