Fanuc and TPP Basics Sebastian van Delden USC Upstate
[email protected]
Typical Setup
The Robot and its Axes
The Controller
The Operator Panel
When in “AUTO” mode
The Operator Panel (cont)
The Two/Three Mode Switch
Teach Modes (T1, etc)
AUTO
Must be in this mode to develop a program using the teach pendent. Top robot movement speed is limited After a program is developed, turn off the teach pendent and flip to AUTO. The ‘current’ program that was being edited by the teach pendent can now be run by pressed the Cycle Start button
Note that program execution can start at any line in the program.
The Teach Pendent
NOTE: Squeeze Deadman switch only half way – full compression generate an E-Stop… (electricuted people usually squeeze their hands very hard….)
The Teach Pendent (cont)
The Teach Pendent (cont)
DISP and DIAG Keys (not on previous diagram)
Programming
Teach Pendent Programming (TPP)
Example Display and TPP Program
Types of Instructions
Motion instruction:
Additional motion instruction:
Places (loads) position data into a register.
Input/output instruction:
Places (loads) numerical data into a register.
Position register instruction:
Performs an additional (special) operation during a motion.
Register instruction:
Moves the tool to the target position within the operating range.
Sends or receives a signal to or from a peripheral unit.
Branch instruction: Changes the flow of a program.
Types of Instructions (cont)
Wait instruction:
Routine call instruction: Calls and executes a subprogram. Macro instruction:
Holds execution of the program until the specified conditions are satisfied.
Calls a specified program and executes it.
Palletizing instruction: Palletizes workpieces. Program end instruction: Terminates execution of a program. Comment instruction: Adds a comment to a program. Other instructions
Programming
Program Detail Screen
Setup/edit program header information
Program Sub types
Job (JB)
Process (PR)
This represents a subprogram that is called by a job program for execution of a particular job.
Macro (MR)
This represents a main program that can be started using a device such as a teach pendant. Process programs are called in a main program for execution.
This represents a program for executing a macro instruction. The subtype of a program registered on the macro instruction setting screen is automatically set to MR.
State:
Specify this when creating a conditional program with the state monitoring function.
Group Masks
The Robot control unit can divide up to 40 axes (when a multifunction board is inserted) into up to five operation groups and control those groups simultaneously. A single group can control up to nine axes (multimotion function). If the system has only one operation group, the default motion group is group 1 (1, *, *, *, *).
Editing a program
Each line is numbered Each line is created using the built-in menus [End] symbolizes the end of the program
Executing a program
In Teach Mode:
Deadman switch must be pushed in. Clear any faults.
Push SHIFT + FWD
Push the “RESET” button when all faults are cleared. NOTE: Will execute program from the current line in the program.
Push SHIFT + BWD to execute the program instructions in reverse order
In Auto Mode:
Push in the Cycle Start button Teach pendent must be turned off
Motion Commands
Motion Commands (cont)
Types of Motion
Joint (J)
Linear (L)
When Joint is selected, the tool is moved arbitrarily between two specified points.
When Linear is selected, the tool is moved along a straight line between the two specified points.
Circular (C)
When Circular is selected, the tool is moved along an arc connecting three specified points.
Circular Motion
Fine versus Continuous “Attitudes”
Changing Robot Job speed (feedrate)
Calculating final speed of robot during a motion
Teaching Points
When a motion instruction is taught, position data is written to the program at the same time. Two types of positions possible
Joint – joint angles Cartesian – X, Y, Z, Yaw, Pitch, Roll
Cartesian (point) Locations
Information Stored:
Configuration:
Viewing the detailed point information
Joint Locations
Location Variable Types
Two types of location variables
Location Variables
A position number is automatically assigned each time a motion instruction is taught and it is reflected in the program: P[1], P[2], etc…
Deleted a location, does not change numbering
Location Registers
Same idea, but like global variables. 100 provided.
Add descriptive comments to each location
Just press ENTER when cursor is at that point
Other Variables (“Registers”)
“Registers” are used to store data – integers, etc
So, not “typical” variables…
Two hundred are provided. R[1], R[2], … , R[200]
Variables
Branch Instructions
The label instruction (LBL[i]) is used to specify a program execution branch destination.
The JMP LBL[i] instruction transfers program control to a specified label.
If Statement (Conditional Branch)
Step by Step Example of Creating and Running a new program
When looking at the list of programs, click the F2 key which corresponds to the “CREATE” button.
Step by Step Example
Type in the program name.
Use Arrow Keys to choose type of characters
Use F Keys to type characters
Step by Step Example The robot is currently “at” this location
Press F1 Key to insert a new motion command
Press NEXT to go to next screen of commands
Press F5 Key to modify a taught location
Step by Step Example
Press F1 Key to insert a new instruction. We’ll choose the JMP/LBL in order to create a loop in this example.
Step by Step Example
Program is ready to execute. Use arrows to move the cursor the first line that you would like to execute. Hold-in deadman switch (1/2 way) 1.
2 1
2.
Press the RESET key to clear faults. Hold-in SHIFT and press FWD
Step by Step Example
When the program is completely developed and tested, the program can be run in operation mode:
Switch the teach pendant “ off ” Switch the Mode button on the Operator Panel (on the controller) to AUTO Press the CYCLE START button on the operator panel