Fanuc and TPP Basics Sebastian van Delden USC Upstate svandelden@uscupstate.edu 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