stephanbogner / Fanuc-TeachPendant-Basics

Basics for using the Fanuc TeachPendant to program their robots
20 stars 6 forks source link

Fanuc-TeachPendant Basics

Table of Contents

About

Industrial Robots are difficult to control, they are made for specially trained personal and hardly accessible to anybody else.

For our semester project at the HfG Schwäbisch Gmünd we used a Fanuc 200ic/5h. This tutorial will show teach you the basics of the TeachPendant – a remote control by Fanuc to program their robots.

Limitations

Originally we planned to control the robot externally via tools such as Processing or Arduino. We were however not able to do that. If you have a solution to externally control the robot, feel free to fork this repo and add it to it.

Your help would be hugely appreciated.

Controlling the Robot

Unlocking the robot

In order to control the robot you have to diactivate his safety mechanism – the dead man's switch:

  1. Press and hold SHIFT
  2. Press (half-way through) and hold one vertical yellow button on the rear of the TeachPendant
  3. Keep holding these buttons (otherwise robot will go back into a locked mode)

Set speed

After power up, the robot's speed will be slow by default. Current speed is shown as percentage with a green background in the top right corner. You can control the maximum speed on the TeachPendant:

Note: The robot's speed in manual mode is only a fraction of what it will in automatic mode. Be careful!

Moving the robot

There are multiple ways to control the robot. However, we only used the movement types "JOINT" and "WORLD". They can be cycled through by pressing COORD on the TeachPendant. The current mode will be shown in the top right with a black background. These settings affect the functions of the blue buttons (on the right of the TeachPendant) which control the robots movement:

Joint

The movement type "JOINT" controls every joint individually.

J1 = base joint:

J2 = lower arm joint:

J3 = upper arm joint:

J4 = "hand" joint:

J5 = tool mount joint:

J6 is not assigned in our robot (because it is only euqipped with five axis). Normally it would control the arm's rotation itself.

World

The movement type "WORLD" defines one point, where the robot points to. This point is the tip of the tool mount. This means, that you just set where the tool mount's tip should be located and the robot will move all necessary joints to reach that position.

J1 = x-axis:

J2 = y-axis:

J3 = z-axis:

J4 = "hand" joint:

J5 = tool mount joint:

J6 is not assigned in our robot (because it is only euqipped with five axis). Normally it would control the arm's rotation itself.

Programming

Create a program

1. Create new step-by-step procedure

  1. Press select to open the menu
  2. Press F2 ("CREATE") to create a new program

2. Name program

  1. Using the arrow keys you can either choose presets ("Words") or type your own name ("Upper Case" and "Lower Case"). "Options" also reveals more advanced functions.
  2. Press ENTER on the TeachPendant to close naming menu
  3. Press ENTER again to confirm name

3. Add steps

  1. Press F1 ("POINT")
  2. Select the kind of motion and speed you want from the dropdown.
    • "J" stands for joint movement
    • "L" stands for linear movement
    • "FINE" stands for a precise movement
    • "CNT100" stands for an approximate movement
  3. Press enter to select
  4. The current postion of the robot has now been saved to that point and just appeared as a new line in your code

Note: "CNT100" is normally used as an intermediate point. It is faster than "FINE", because will approach that coordinate just roughly.

Example: If you want to move from Point A to B via Point C (e.g. to avoid collision with something), Point C should be set to "CNT100".

4. Run program

Hold dead man switch, the press the FWD (forwards) button to run the program. Pressing BWD (backwards) will do the opposite.

Pressing the STEP button on the TeachPendant will cycle between two differend modes. It is shown in the top left corner labeled "step".

Editing steps

Using the arrow keys you navigate from top to bottom and also from left to right

Set new coordinate for point: Select the line number of the point you want to change. Pressing F5 ("TOUCHUP") will overwrite the previous coordinates with the current one

Change movement type: Select the letter after the line number (C, J or L) and press F4 ("CHOICE") to switch to a different motion type.

Change movement precision: Select "CNT100"/"FINE" press F4 ("CHOICE") to select a different precision.

Set speed to point: Select the type of speed (either %, sec or msec) and press F4 ("CHOICE") to change it. You can also change the value by typing numbers on the TeachPendant (confirm by pressing ENTER).

Deleting/Copying/etc. steps

Looping a program

As you might have noticed, the robot will only run the program once. You have to loop a program for that reason. This happens by creating a "label" and using a command to jump to that label.

  1. In the programm editing mode, press NEXT on the TeachPendant to reveal the menu points "[INST]" and "[EDCMD]"
  2. Press F1 ("[INST]")
  3. Select "5 JMP/LBL" and press ENTER
  4. Select "2 LBL[ ]" and press ENTER
  5. Enter a number on the TeachPendant and press ENTER
  6. The line you have create will say something like "1: LBL[12]" and means that there is the label with the index 12 where you can "jump" to, but more on that soon
  7. Now enter the "[INST]" menu again, but this time select "2 JMP LBL[ ]" and press ENTER
  8. Give it the same number as the label before.
  9. You should have something like:
1:  LBL[12]
2:J @P[1] 100% FINE
3:J  P[2] 100% FINE
4:  JMP LBL[12]

This means that the robot will read line 1 (won't do anything though), move to the coordinates specified in line 2, afterwards move to the coordinates from line 3 then he reads in line 4 that he has to continue from the label with the number 12 (which is in line 1), so he will jump back to line 1 and therefore do the same procedure again.

You can now loop this action in the automatic mode.

Run program in automatic mode

Switch into automatic mode by:

Switch it on Press "CYCLE START"-button (Green button next to the emergency stop on the base station)

If it doesn't start:

Helpful Videos

Notes