FANUC Educational Cell Exercises PDF
FANUC Educational Cell Exercises PDF
FANUC Educational Cell Exercises PDF
Student Exercises
Student Exercises
Table of contents
1) Introductory Exercises
6) Advanced Programming
7) Input / Output
Abstract
PLEASE
NOTE THAT
Abstract
In this exercise, we want to show you the concept and the setup of
TCP.
TCP stands for Tool Centre Point and is especially important for an
easier way to jog the robot in tool coordinate system.
But not only in jogging there can be a difference. Also when
changing the attitude of the final flange (and therefor of the tool)
while moving, the tool will not move in a linear motion and the speed
will be different from the one of the flange.
At the end of this exercise, you should be able to understand the
concept of TCP and the use of this setting, and you should be able
to set a TCP with all the different methods available.
Page 3
Exercise 3: Simple Robot Programming
Abstract
Page 3
Exercise 4: User Frame Teaching
Abstract
In this exercise, you learn the basics of User Frame teaching and
using.
User Frame (UFrame) is a Cartesian coordinate system that you set
up for an easier way to teach and operate your robot.
After you did this exercise, you should be able to put in place a
UFrame of your choice and do programs with that UFrame.
You should also be able to adjust your program to use it on different
UFrames and know how to program to be able to rapidly and without
much work change between several UFrames.
Z
X
UFrame
Page 3
Exercise 5: Offset and Position Register
Abstract
In this exercise, you should learn the concept and use of the offset
function.
You should learn how to program an offset into the Position
Register(PR) of the robot an use this offset later in your program.
You should be able to program without using direct position
teaching, while using the PR for positioning and offset of your tool,
which should make your programing more effective, faster and also
easier.
Actual Position
Position
with Offset
Page 3
Exercise 6: Advanced Programing
Abstract
Page 3
Exercise 7: Input/Output
Abstract
In this exercise, you are going to learn about Input and Output (I/O)
of the robot.
I/O is nothing more than a simple mean to communicate through
signals with other devices.
I/O is very important if the robot does not operate on it’s own, but
with peripheral devices, such as detectors, cameras, other robots
etc.
To simulate other devices, we designed an I/O box.
This exercise can not be made without those boxes so we strongly
advise you to firstly build those boxes and then do this exercise. The
instructions and parts list needed are all included in the appendix of
this exercise.
To simulate those inputs and outputs, we will use switches as inputs
and LEDs as outputs to visualise them.
Page 3
Exercise 8: Different Types of Stop
Abstract
This exercise is kind of an overview over the different stops that are
available on FANUC robots, the reasons why we use the different
stops in different cases and norms that are behind those stops.
You should learn over the period of this exercise the differences of
the stops and when which stop will occur and understand why a
certain stop is used.
Page 3
Exercise 9: DCS Safe Zone
Abstract
In this exercise, you will learn the principles of DCS Safe Zone and
learn how to set up a DCS Safe Zone on your own.
DCS Safe Zone is an virtual box. You can either allow the robot to
move exactly in that virtual box, or tell the robot that it is prohibited
to move inside that box.
So DCS Safe Zones are used to restrict the movement of the robot.
But it does not have to be only a box, it can also be a more complex
shape.
Page 3
Exercise 10: Customized iPendant Screen
Abstract
Page 3
Exercise 11: Macro
Abstract
In this exercise, we want to show you the creation and the set up of
a macro.
A macro is a program you can call on the Teach Pendant with the
“User” keys. A Macro can also be called in other programs.
Page 3
Exercise 12: Menu utility
Abstract
Menu utility are macros you can use in programs. The macros are
special because they are like pop ups in the program where you
have to press a key to continue.
In this exercise, we will see 3 different types, the PROMPTOK,
PROMPTYN and LISTMENU.
Page 3
Exercise 1
Introductory Exercise
Page 2
Exercise 1
Introductory Exercise
Table of contents
Abstract - 3
Equipment - 5
Robot Controller - 6
Teach Pendant - 8
Robot - 10
Jogging - 11
Selecting a program - 13
Starting a program - 14
Recapitulation - 15
Page 4
Exercise 1: Introductory Exercise
Equipment
Page 5
Exercise 1: Introductory Exercise
Robot Controller
The controller controls the robot, houses the hardware and software
and is in a way the “brain” of the robot.
On the following page we will go through the different keys and
switches on the controller.
Page 6
Exercise 1: Introductory Exercise
Robot Controller
Power switch
USB Port
Page 7
Exercise 1: Introductory Exercise
Teach Pendant
Page 8
Exercise 1: Introductory Exercise
Teach Pendant
3 4 5
2
7
1 6
8
9 10
13
11
12
Robot
Page 10
Exercise 1: Introductory Exercise
Jogging
Page 11
Exercise 1: Introductory Exercise
Jogging
While you are in the Joint coordinate system, you can move joint by
joint with the different jog buttons.(the joints are written on the
jogging buttons)
In every other coordinate system you can move in the x-,y-, and z-
axes by pushing the first three jogging buttons, and do rotations
around those axes with the following three buttons.
Now try and jog the robot in the different coordinate systems and in
different directions until you get used to move the robot. Pay
attention to the differences in jogging in the different coordinate
systems.
Page 12
Exercise 1: Introductory Exercise
Selecting a program
To enter or select the program press the “enter” button. You then get
into the program and that program is then selected. The selected
program is displayed in the top part of the Teach Pendant display.
Page 13
Exercise 1: Introductory Exercise
Starting a program
Page 14
Exercise 1: Introductory Exercise
Recapitulation
After this exercise, you should know the basics of the robot and the
robot controls.
You should be able to jog the robot in the different coordinate
systems and also joint by joint.
You should be able to select a program and start it in the automatic
mode.
Page 15
Exercise 2
Simple TCP Teaching
Page 2
Exercise 2
Simple TCP Teaching
Table of contents
Abstract - 3
Background - 5
Equipment - 8
Additional Information - 18
Recapitulation - 19
Appendix - 20
Page 4
Exercise 2: Simple TCP Teaching
Background
Page 5
Exercise 2: Simple TCP Teaching
Background
Page 6
Exercise 2: Simple TCP Teaching
Background
Page 7
Exercise 2: Simple TCP Teaching
Equipment
Page 8
Exercise 2: Simple TCP Teaching
Page 9
Exercise 2: Simple TCP Teaching
With this Method, the robot calculates the Tip Point by using three
different approaches of the tip to an exact same point.
To do this approach the same point with your tip three times from
different angles and directions and record them.
After you have set the TCP with the Three Point Method try and
rotate the TCP using jog movement and observe if you can see any
movement of the tip. If you do please reconsider the Manual and
eventually do the Three Point Method again, until you are happy
with the results.
For further information refer to OM procedure 3-14 “TCP auto set (Three Point
Method)”
Following are example positions that you can use, that will work, but
you can also use your own positions. Just keep in mind that by
taking more extreme positions, the calculations of the TCP will be
more accurate.
Page 10
Exercise 2: Simple TCP Teaching
Page 11
Exercise 2: Simple TCP Teaching
Three Point method is used for tools that are straight and in line with
the J6 Faceplate. If this is not the case, by using the Three Point
method, the tool’s coordinate system is not correct because the
axes aren’t aligned with the tool tip.
With the Six Point method, we are able to twist the coordinate
system in such way that it is aligned with the tool tip, so the tool
moves in a much more intuitive way (as seen above in the right
image).
Page 12
Exercise 2: Simple TCP Teaching
Firstly set the 3 approach points the same way as you did with the
Three Point method. (You eventually set the tip point for the robot)
Then put your tooltip vertically over the fixed pin tip and the bending
of the tool should be in a 90 degrees angle to the X-axis of the
World Coordinate System (WCS), then set Orient Origin Point. (Do
this Operation as carefully and as precise as possible, as this is key
to the precise coordinate system afterwards)
Page 13
Exercise 2: Simple TCP Teaching
To set the coordinate system you need to move in the directions that
you want your coordinate system to be. Because you oriented your
tool bending in 90 degrees to the X-axis of the world coordinate
system, by moving in Y-direction (in WCS) you can set the X-axis
with a point on this line (this line will be your X-axis). Finally move
the tool upwards (Z-axis in WCS) and set the Z-axis. Now your
coordinate system is set according to your tool orientation.
+Z +X
+X
Page 14
Exercise 2: Simple TCP Teaching
Finally, do the Three Point method again with the bend pin in the
gripper. Watch the difference of moving the tool while jogging
between setting the TCP with 3 point and 6 point method.
The bending of the bent TCP pin does not have to be in a 90 degree
angle, but we strongly advise you to put it in line with one of the
axes (X- or Y- in WCS) because this makes the definition of the
axes of the tool much easier.
Page 15
Exercise 2: Simple TCP Teaching
For the Direct List method, you need to put in all the coordinates
and orientations manually. This method can be used if you know the
exact dimensions and orientation of your tool. This is a much easier
way to put in the information faster than with the Three Point or the
Six Point method.
This method only works if we know the exact dimensions of our
gripper and the piece.
As an exercise, go to the TCP set with the Three Point method.
Change the coordinates with the Direct List method and watch the
difference in behaviour while moving the tool in the Tool jogging
mode. (For example, offset the tool Z-coordinates and watch the
rotation around Y-axis with a new centre point in the point just set)
Page 16
Exercise 2: Simple TCP Teaching
Page 17
Exercise 2: Simple TCP Teaching
Additional Information
Always make sure you set the right TCP setting with the SETIND
function before you try and move your TCP because otherwise the
old TCP setting is still active.
Page 18
Exercise 2: Simple TCP Teaching
Recapitulation
Page 19
Exercise 2: Simple TCP Teaching
Appendix
Fixed Pin – to be
fixed on the table
Page 20
Exercise 3
Simple Robot Programming
Page 2
Exercise 3
Simple Robot Programming
Table of contents
Abstract - 3
Background - 5
Equipment - 6
Change of Motion - 13
Comments - 14
Warnings - 16
Recapitulation - 17
Page 4
Exercise 3: Simple Robot Programming
Background
Page 5
Exercise 3: Simple Robot Programming
Equipment
Page 6
Exercise 3: Simple Robot Programming
The first thing we need to do, is to set the Three-Mode Switch to T1.
Second, we need to enable the Teach Pendant
We then start by creating a new program.
To achieve this, push the “select” button. Then press F2 “Create”.
You then get asked a name for the program. Give the program a
name and press Enter. You are now in the program and ready to
input your first commands.
For more information about creating a new program refer to OM procedure 5-2
“Registering a program”.
Page 7
Exercise 3: Simple Robot Programming
Press Point
Page 8
Exercise 3: Simple Robot Programming
Page 9
Exercise 3: Simple Robot Programming
Page 10
Exercise 3: Simple Robot Programming
Then set the program to step. In order to achieve this, press the
“Step” button.
For further information about step mode operation refer to OM section 6.3.3
“Step Test”.
In our case it is not very important as this program only has two
steps, but it becomes much more important for bigger programs.
This setting provides, that the program only executes on step after
another and only if you tell the program to continue.
Page 11
Exercise 3: Simple Robot Programming
Now to execute the program, you need to keep the Deadman switch
pushed, as well as the shift button and press the “FWD” (forward)
button.
The program now executes the line currently selected.
After your program has successfully finished the program, you can
gradually increase speed and if you feel confident that everything
works, you can press the “step” button again and the program will
be executed until the end.
PLEASE
NOTE THAT
Page 12
Exercise 3: Simple Robot Programming
Change of Motion
For more information about speed types and Feed rate refer to OM 4.3.3
“Feed Rate”.
For more information about changing motion and speed settings refer to OM
procedure 5-3 “Changing a standard motion instruction”.
Page 13
Exercise 3: Simple Robot Programming
Comments
Page 14
Exercise 3: Simple Robot Programming
Comments
Put a second comment between the first and the second motion
instruction.
You can also put comments directly into the position. In order to do
this, move the cursor on the position you want to comment end
press enter. Then you can enter your comment and press enter
again.
Your program should now look like this:
You have now learned the basics of programming the robot. You can
now put in more points and different motions and always put in
comments.
Page 15
Exercise 3: Simple Robot Programming
Warnings
Always jog the robot and execute the programs at low override
settings. It may be that you programmed a wrong point, or you are
not completely aware of the movement of the robot, so having the
override at a low setting means that there is enough time to stop the
robot before anything bad happens.
Until you are completely sure that your program works without any
problems or bugs execute the robot only on step mode. This will
prevent you from getting surprised and not being able to interact in
case of an unwanted movement.
Unless you haven’t tested your program on 100% override and
without the step function, do not operate the program in auto mode
because you are not completely sure that your program will work as
desired.
When executing program on auto mode, execute the program
several times on a lower override before raising it to 100%.
Page 16
Exercise 3: Simple Robot Programming
Recapitulation
Page 17
Exercise 4
User Frame Teaching
Page 2
Exercise 4
User Frame Teaching
Table of contents
Abstract - 3
Background - 5
Equipment - 6
Warnings - 17
Recapitulation - 18
Appendix - 19
Page 4
Exercise 4: User Frame Teaching
Background
WCS
Page 5
Exercise 4: User Frame Teaching
Equipment
Page 6
Exercise 4: User Frame Teaching
PLEASE
NOTE THAT
A second point is needed to set the X-axis. So move the Pin to the
nearest hole to the robot on that side of the board. Do the same
procedure as with the first hole.
Lastly, move the part to a third point on the board. The position (X-,
Y-) of this point is not that important, but keep in mind that with a
bigger distance comes a greater precision so don’t place it directly
besides on of the other two points. The important part of this point is
that the pin is at the same height than the other two points, so a
piece of paper should just be able to slide under it.
After you have set the UFrame press the SetInd (F5) button and set
UFrame 6 as active User Frame.
Page 7
Exercise 4: User Frame Teaching
Origin set
Page 8
Exercise 4: User Frame Teaching
X-axis set
Page 9
Exercise 4: User Frame Teaching
PLEASE
NOTE THAT
Page 10
Exercise 4: User Frame Teaching
Make sure that you tell your program to use the right User Frame.
Press F1 (INST), “Offset/Frames”, “UFRAME_NUM” and enter the
UFrame you want to use. (In our case Frame 6)
Page 11
Exercise 4: User Frame Teaching
If this program is set, the User Frame utilized is the User Frame of
the left side of the Solitaire board. (UFrame 6)
We now want to use the same program on the other side
In order to do this, we set a new User Frame on the other side of the
board, but this time using the hole the furthest away from the robot
as X-axis point. Use User Frame 5.
Page 12
Exercise 4: User Frame Teaching
UFrame 6
UFrame 5
Z
Y
Z
X X
Page 13
Exercise 4: User Frame Teaching
Now try and use the same program again. Pay attention to change
the User Frame in the program, because otherwise the program will
do exactly the same as last time. (From UFrame 6 to UFrame 5)
You will notice that the program won't start and on the Teach
Pendant appears a fault.
To make the program work, make the UFrame 6 the frame of the
right side of the board.
Again change your program to UFrame 6 and now your program
should also work on the right side.
Now we see that with this method, we can actually transfer a
program from one side of the board to another by only changing the
User Frame. But it still is unpractical, because now we have lost the
User Frame of the left side, and to transfer the program to the left
side again it would need the same work again, which is annoying.
UFrame 6
UFrame 5
Page 14
Exercise 4: User Frame Teaching
So now we want to try and create a program that can be used for
both sides without the need of changing the User Frame every time.
To do this we first have to program the two User frames again. So
now program the left User Frame as UFrame 4 and the right one as
UFrame 5. Clear the UFrame 6.
UFrame 5
UFrame 4
Page 15
Exercise 4: User Frame Teaching
Page 16
Exercise 4: User Frame Teaching
Warnings
Attention!
By changing the UFrame to the opposite side, it may be possible
that the robot moves, or behaves in a way that you would not
expect. This is due to the change of the Frame and we easily make
faults while trying to understand the difference in movement. This
means that you should use a slow override and always follow the
exact path of the robot and check that there won’t be any problems
with the cable of the gripper. The first time the robot should be in
step mode so that you can easily abort the program if you see any
problems. When the robot does the program successfully without
any trouble, you can gradually increase the override and later go to
automatic.
If you do not pay attention, the robot might collide with the robot cell,
or the cable might be torn apart which could result in potential
damage of the robot and the cell.
Page 17
Exercise 4: User Frame Teaching
Recapitulation
Page 18
Exercise 4: User Frame Teaching
Appendix
Example program to put the pins from one hole to the other.
Attention!
You need to teach the positions by your own, it is not enough to just
copy this program as P[1] to P[6] were taught beforehand.
Remark:
Picking and releasing positions are not the same. This is due to the fact that
the pin might not be entirely in the gripper, so descending with the pin in the
gripper may result in a crash with the table, so it is better to set the releasing
altitude a bit higher than the actual picking altitude
Page 19
Exercise 5
Offset and Position Register
Page 2
Exercise 5
Offset and Position Register
Table of contents
Abstract - 3
Background - 5
Equipment - 5
Example Program - 11
Recapitulation - 14
Appendix - 15
Page 4
Exercise 5: Offset and Position Register
Background
This exercise will be similar to the last one and most importantly, the
effect/execution of the program will be the same (if correctly done).
With Tool Offset, you can as the name suggests it, offset your tool
by a certain value. This can be particularly practical if you use the
same position at different heights for example, as we do to move
over a hole, pick up the pin and release this same pin.
Position Register is used to save a Position or an offset as a
variable in the robot. The Position Register can be set before the
execution of a program or while the program is executed.
When using offset and Position Register, we can make our
programs much simpler and with less position teaching than before.
Reminder: to get further information and details about Position Register refer
OM section 4.5 “Register Instructions”.
Page 5
Exercise 5: Offset and Position Register
Background
Actual Position
Position
with Offset
Equipment
Page 7
Exercise 5: Offset and Position Register
Again, put the pin exactly in the hole, and then go up on the z-axis
to have the pin perfectly aligned with the hole and at the right height.
Page 8
Exercise 5: Offset and Position Register
To record the position into PR press Data, set Position Reg in [Type]
and select the PR you want to record your position.
Then do the same procedure on the second hole you want to set.
After you have set this position, go to position 1 and write down the
Z-height of that position and input this same value manually
(Position) into position 2 so that both positions have the same Z-
value and can use the same offsets.
Page 9
Exercise 5: Offset and Position Register
Now set an offset in the PR. The offset should only be in Z-axis and
is depending on the position you chose as first position (position
above the first hole).
This setting is based on trial and error. First put in a small offset and
then gradually increase the offset until you get the offset you want to
have. Pay close attention as to have the override at a small value so
that you can stop the robot if it is moving to far or in the wrong
direction.
The best way of doing this is by setting up a similar program than in
exercise 4, while using the PR values set as positions and then
using the offset. Then let the robot execute the offset an check
whether the offset is right or not. If it isn’t, go back to the PR and
change your offset value slightly and try again.
We recommend also that you input two offsets: one offset to pick up
the pin, which should be precisely the height at which the gripper
can grip the pin, and a second one a bit higher to release the pin, in
case the pin is not entirely in the gripper.
Page 10
Exercise 5: Offset and Position Register
To put offset into PR you operate in the same way as for the
positions, only that instead of recording you go into “Position” and
put in the value manually. Put every value except Z on 0 an then
start with small values for Z (5 for example).
Page 11
Exercise 5: Offset and Position Register
Example Program
Now as you have set both Position and Offsets in the PR, you can
create a new program, only this time instead of using positions, you
directly use the positions set in PR and then with the tool offset
function, you go down to grab or release the pin.
PLEASE
NOTE THAT
To use a position from PR, simply press the record key. Move with
the cursor to the position and change the “Type” to PR then set the
PR value you want to use.
As you have set the program you will probably notice that it takes
less time to program this way than it took with the other (simpler)
method.
You need however to pay attention, that this method is depending
on which UFrame and which Tool Frame you use. The use of a
wrong frame will result in an unwanted movement of the robot,
which could result in human injury and/or damage of the robot.
Page 12
Exercise 5: Offset and Position Register
Example Program
You then press the “Choice” button and select PR[ ] and set the
wanted value.
Page 13
Exercise 5: Offset and Position Register
Recapitulation
During this exercise you should have learned the basics about
inputting positions and offsets in the position register.
You should be able to record and set certain values in the PR.
You should be able to use those values in your program.
You should be able to do a program entirely based on PR without
the need of recording every single point.
Page 14
Exercise 5: Offset and Position Register
Appendix
Here is the program that we used for this exercise. Please note that
this is according to our values saved in our PR, so those values can
change according to your own settings.
Page 15
Exercise 6
Advanced Programing
Page 2
Exercise 6
Advanced Programing
Table of contents
Abstract - 3
Background - 5
Equipment - 6
First Program - 7
Deleting - 9
For To Function - 10
Position Register - 13
If Function - 14
Secondary Programs - 15
Jump Label - 16
CNT - 17
Wait Function - 19
Recapitulation - 20
Page 4
Exercise 6: Advanced Programing
Background
Until now, you only have seen the really basics of programming. In
exercise 4 and 5 you have already seen some more advanced
techniques but we want to go a bit more into detail what you did
there and even go deeper into what can be done with the robot.
This is important as the most applications afterwards will not be as
simple as a simple move between two or more points.
As an example, the robot may distinguish between different
situations in a program and then decide which sub-program to call.
Page 5
Exercise 6: Advanced Programing
Equipment
Page 6
Exercise 6: Advanced Programing
First Program
Page 7
Exercise 6: Advanced Programing
First Program
Page 8
Exercise 6: Advanced Programing
Deleting
Warning!
Deleting a line can
cause serious damage
to a program so before
you delete al line make
sure that you are
completely aware of
what this will change in
your program.
Page 9
Exercise 6: Advanced Programing
For To Function
Choose a register. Make sure you use a register that has not been
used in another program. (You can use R[32], this register should
not be used by default)
Use the constant type twice and input 1 and 10.
Page 10
Exercise 6: Advanced Programing
For To Function
This means the program will repeat the procedure below and on
every repetition, the register value will increase by one. So it will go
from 1 to 10.
Now you should go to the register overview (press data button then
as “type” choose Register) and rename R[32] in a way that you
remember what it is used for. This name will also be indicated in the
program.
Page 11
Exercise 6: Advanced Programing
For To Function
Start your program. You will see that the program will not start. This
is due to the fact that the robot does not know how far the ForTo
function is going. To resolve this, add and Endfor at the end of the
program. (same procedure as for ForTo, only that you choose
Endfor)
Now start the program again. This time the program should execute
the movement 10 times.
To see what happens in the register, we will add a second display.
Press shift+disp and enter double. You now have two displays. To
change between your different screens push the disp button without
shift. Change to the second one and press Data button and change
the type to Register. Now you can see the operations that your
program does to the register. Start the program again and watch the
register increase.
Page 12
Exercise 6: Advanced Programing
Position Register
Now put the different positions into the PR to use them in secondary
programs.
Page 13
Exercise 6: Advanced Programing
If Function
We want to let our program then do once the movement in the one
direction and once in the opposite direction. Therefore we use an “If”
function. It is used to check whether a declaration is right or not. If it
is, it executes a given operation, if not, it just goes to the next
command line.
In order to achieve our goal, insert a register instruction (F1 Inst
then 1 Register) to calculate R[32] mod 2 (every second time, we
will then get an input of 0). Input this value in R[33] (or another free
register).
Now we need two if commands. One is calling
Advanced_Program_part1, if the register equals 0, the other is
calling Advanced_Program_part2 if the register equals 1.
PLEASE
NOTE THAT
Page 14
Exercise 6: Advanced Programing
Secondary Programs
The first program should execute the movement “the wrong way
around” whilst the second program should do it “the right way
around”.
Page 15
Exercise 6: Advanced Programing
Jump Label
For further information about jump function refer to OM section 4.7.1 “Label
Instruction” and 4.7.3 “Unconditional Branch Instructions”.
Page 16
Exercise 6: Advanced Programing
CNT
Now we want to make our program more efficient meaning that the
program takes less time. In order to do that we can use the CNT
function instead of the Fine function. This does that the robot does
not move exactly to one point but only moves in the environment of
a point and then continues without stopping.
For more information about CNT motion refer to OM section 4.3.4 “Positioning
Path”.
Page 17
Exercise 6: Advanced Programing
CNT
When this program works without any problems, change the speed
to 1000mm/s.
Attention: You MUST put override at 10 % or less and leave it
there. Target of this setting is not to make the robot fast!
In your main program put in an extra line in front of the program and
put in an override set function (inst-miscellaneous-override) and set
it on 10(%). Don’t change the override while the program is
executing.
Now run the program again and you will notice, that the path is
much more round than before and also it is faster than with the fine
setting.
This is due to the fact that the robot executes exactly the path, that it
would do at 100% override (1000mm/s). The faster the speed of the
motion the more CNT affects the motion.
Page 18
Exercise 6: Advanced Programing
Wait Function
For more information about wait function refer to OM section 4.8.1 “Time-
specified Wait Instruction” and 4.8.2 “Conditional Wait Instructions”.
Page 19
Exercise 6: Advanced Programing
Recapitulation
Page 20
Exercise 7
Input/Output
Page 2
Exercise 7
Input/Output
Table of contents
Abstract - 3
Background - 5
Equipment - 6
Interconnect - 13
Group I/O - 15
Recapitulation - 28
Appendix -- 29
Page 4
Exercise 7: Input/Output
Background
For more information about what is I/O refer to OM section 3.1 “I/O”.
Page 5
Exercise 7: Input/Output
Equipment
Page 6
Exercise 7: Input/Output
Digital Inputs/Outputs
Firstly, we will go to the input and output window. Press the menu
button, and then select 5 I/O.
You are now in the I/O menu. Change the type to Digital. To change
between input and output, you can press F3 (IN/OUT). Go to output.
As we only have outputs from 101 on, press the Item button and
insert 101 then enter, so you will be redirected to the DO[101], our
first LED on the Box. Try and change this output. You will see that it
is not possible, as it is related with the robot being in the home
position or not.
You can however change the other outputs and watch the LEDs
going on and out again.
Now we will go to the inputs. Go directly to DI[101]. They should all
be OFF. Now toggle one switch and see if the input switches to ON.
See if all switches work without exception.
There is the possibility to “simulate” the input. Move the cursor to
Sim and then press F4 Simulate. Now you can toggle the Input to
On. If you Unsim it again, it will again be switched OFF (if there is no
Input on that line).
For further information about simulate I/O refer to OM section 6.4.2 “Simulated
I/O” and procedure 6-11 “Simulated input/output”.
Page 7
Exercise 7: Input/Output
Digital Inputs/Outputs
Page 8
Exercise 7: Input/Output
Digital Inputs/Outputs
Page 9
Exercise 7: Input/Output
Digital Inputs/Outputs
Page 10
Exercise 7: Input/Output
Digital Inputs/Outputs
Page 11
Exercise 7: Input/Output
Digital Inputs/Outputs
Main Program
Page 12
Exercise 7: Input/Output
Interconnect
With interconnect you can give the robot an Input which will trigger
an Output regardless of when. (be careful when you use
interconnect).
In this example we will use the DI101 to open the gripper. If DI101 is
on the gripper will open and if DI101 is off the gripper will close.
Page 13
Exercise 7: Input/Output
Interconnect
Now when you switch the DI101 on the gripper will open and if the
DI101 is off the gripper will close.
Page 14
Exercise 7: Input/Output
Group I/O
The Group I/O is used when 2 or more Inputs or Outputs are used
simultaneously. The value of a Group I/O is binary number (1, 2, 4,
8, 16, 32, …).
For this exercise we will use the DO[102] to DO[108].
First of all we want to have a split screen to have it easier to set up.
Press “SHIFT” and the “DISPLAY” key and select ‘2 Double’.
At line 4 on the second screen you see DO 101 to 120. That line
gives us the information we need to set up the Group.
We use GO[1], in ‘Rack’ put in the number ’48’, in ‘Slot’ number ‘1’.
The start point is DO[102] so put in ‘START PT’ the number ‘2’ and
in ‘NUM PTS’ number ‘7’ because we go to DO[108].
Page 15
Exercise 7: Input/Output
Group I/O
For more information on ‘Group I/O’ see OM section 3.1.2 “Group I/O” and procedure 3-2
“Configuring Group I/O”.
Page 16
Exercise 7: Input/Output
Group I/O
The first program will turn the LEDs on like a wave from DO[102] to
DO[108].
In the next program the DO[105] will be the epicentre and then the
other LEDs will turn on.
Page 17
Exercise 7: Input/Output
Group I/O
As you can see this makes it a lot faster to program and the LEDs
will turn on/off simultaneously. If you always program with
DO[…]=ON then it can be that there will be a small lag and will not
look as good.
You can use also the Group Input for the switches. GI works the
same as GO only with inputs instead of outputs.
Page 18
Exercise 7: Input/Output
User Inputs/Outputs
We now start to operate with our UOP Box (User Operator Panel).
This should emulate a panel like the ones used in industry, to input
the very basic commands such as start and program selection.
Program selection is made via the PNS switches. A program that
you want to be called, has to be named PNS followed by a 4 digit
number (e.g. PNS0011). PNS is read as a binary number when no
program is on hold and the start button is pressed.
For more information about UOP I/O refer to OM section 3.3 “Peripheral I/O”
and procedure 3-5 “Assigning Peripheral I/O”.
Note that in our case we only have the simple assignment for UOP (Simple
CRMA16).
Page 19
Exercise 7: Input/Output
User Inputs/Outputs
For further information about setting up UOP refer to system config menu in
OM section 3.15 “System Config Menu” and procedure 3-33 “Setting the
System”.
Page 20
Exercise 7: Input/Output
User Inputs/Outputs
For further information about the PNS selecting function refer to OM section
3.8.2 “Program Number Selection (PNS)”, procedure 3-9 “Setting the PNS
function” and procedure 6-15 “Automatic operation by program number
selection”.
Page 21
Exercise 7: Input/Output
User Inputs/Outputs
While the robot is operating you will notice the LEDs that are on.
First LED, ENBL goes on if operator panel is on. The last LED,
BUSY is on while a program is running. Then there are the two
LEDs in the middle. The second in the row is the FAULT LED and
third is the BATALM. BATALM should not occur while operating the
robot, so we will not go to much into detail, you can for more
information refer to the manual.
The FAULT LED however can occur and we want to simulate one. In
order to do this, start a program. While the program is running open
the door of the cell. The robot stops and the FAULT LED is turned
on. This is due to the circuit breakage of the fence. Close the door
again, press the reset button (on UOP) and resume the program
(with start on UOP).
Page 22
Exercise 7: Input/Output
Lastly we want to show you, that you can also run several programs
in parallel instead of only one program after another. This is
particularly practical if you want to move the robot as well as let it
command exterior equipment as well.
To show this, we will do the moving program (10 times the square
movement) at the same time than the timer program. Again, this is
not very important nor practical in our case, but there are different
situations where this can be very practical. Feel free, after this
exercise of thinking about such a scenario and do the programming
yourself. After you have done all the exercises including this one,
you should be able to do this.
As we may want to use that program again later without those
additions, make a copy of that program which you call
Advanced_Prog_Ex_IO. Continue on working on that program.
Page 23
Exercise 7: Input/Output
Page 24
Exercise 7: Input/Output
Now your program should start and be able to run both programs in
parallel meaning that the robot is moving while you can “play” with
the stopwatch.
As mentioned, you are able to “play” with the stopwatch meaning
that it has no use in our program. As the robot is not built to play
with, we are now going to change the program so that the one
program is interacting with the second one, so that the programs do
run independently, but after all are connected to each other in some
way.
We have already input a wait instruction after the program has
achieved one tour. We now want to change that wait signal so that it
does not wait exactly 2 seconds, but that it waits until a specific
register value used in the second program is achieved. In doing so,
the motion program always waits on the non motion program so that
they are connected.
Page 25
Exercise 7: Input/Output
Page 26
Exercise 7: Input/Output
Run the program and pay attention whether the program stops if the
counter is not at a multiple of 15. You can try and stop the counter or
reset it an start again. The program should wait for the right time
and then continue with the next motion.
After the motion finishes, the program will continue to run, because
the Timer program does not have a stop. To change that, use a
register that will be checked by the timer program and end that
program when the motion program is ended.
Page 27
Exercise 7: Input/Output
Recapitulation
In this exercise, you should have learned the principals of Input and
Output.
You should know the different options there are with inputs and
outputs and be able to create a program that executes two different
programs at a time (only one being a motion program(!)).
You should be able to set up a User Operator Panel and run the
robot through this panel.
You should be able to connect peripheral devices to the robot and
set the Inputs and Outputs to use those devices while robot
operation.
Page 28
Exercise 7: Input/Output
Appendix
Page 29
Exercise 7: Input/Output
Appendix
You start by drilling holes in your case for the LEDs and the
switches.
If you use our recommended case, you can take the plans below for
the drilling.
In the first box, put in 8 switches and 8 Green LEDs (you can take a
colour of your likings)
In the second one, put in also 8 switches, but there you only need 4
LEDs and we would recommend to use 2 red and 2 yellow LEDs.
If you use the recommended box, you can use the following drawing
for the dimensions and the positions for the holes that need to be
drilled in the aluminium board.
Page 30
Exercise 7: Input/Output
Appendix
Page 31
Exercise 7: Input/Output
Appendix
Honda
Connector on the Controller Board Connector I/O Box
CRMA58
Pin 50 24V
Pin 01 Switch 1
Pin 02 Switch 2
Pin 03 Switch 3
Pin 04 Switch 4
Pin 05 Switch 5
Pin 06 Switch 6
Pin 07 Switch 7
Pin 08 Switch 8
Pin 19
Pin 29
Page 32
Exercise 7: Input/Output
Appendix
Honda
Connector on the Controller Board Connector
CRMA58
Pin 49
I/O Box
Pin 31
Pin 33
LED1
Pin 34 LED2
Pin 35 LED3
Pin 36 LED4
Pin 37 LED5
Pin 38 LED6
Pin 39 LED7
Pin 40 LED8
Pin 18 0V
Then connect the LEDs in the first box. This time connect all the 0V
together and connect the 24V separately with the LEDs. Connect
the 24V to the DOSRC1 as shown above.
Page 33
Exercise 7: Input/Output
Appendix
Honda
Connector on the Controller Board Connector UOP Box
CRMA59
Pin 50 24V
Pin 01 Switch 1
Pin 02 Switch 2
Pin 03 Switch 3
Pin 04 Switch 4
Pin 05 Switch 5
Pin 06 Switch 6
Pin 07 Switch 7
Pin 08 Switch 8
Pin 19
Pin 29
The second box is done exactly the same than the first box and we
would also recommend you to use the same cable combination than
in the first box to avoid confusion later on. This will also allow you to
change the connectors without having short circuits.
Page 34
Exercise 7: Input/Output
Appendix
Honda
Connector on the Controller Board Connector
CRMA59
Pin 49
Pin 33 LED1
Pin 34 LED2
Pin 35 LED3
Pin 36 LED4
Pin 18 0V
Again the LEDs in Box 2 connect the same as in box 1 only that this
time, there are only 4 LEDs as opposed to 8 for the first box. Do not
forget to connect 24V to DOSRC2.
Page 35
Exercise 7: Input/Output
User Inputs/Outputs
Page 36
Exercise 7: Input/Output
User Inputs/Outputs
To plug our cases on the robot controller, the first thing you need to
do is to turn of the power of the controller and unplug the cell.
The cell has to stay unplugged until the door of the controller is
closed again!
Open the door of the controller. Pull in the cables on the right side of
the controller. The plugs for the Honda connectors are on the right.
Make sure that you connect the right connector to the right plug
(there is notated which one is CRMA58 and which one CRMA59).
Make sure that CRMA16 and 15 are also connected. To find them
follow the cables from the plugs or simply search for CRMA16 and
15 on the door. They are on the bottom left side on the door.
Page 37
Exercise 8
Different Types of Stop
Page 2
Exercise 8
Different Types of Stop
Table of contents
Abstract - 3
Background - 5
Equipment - 6
Open Fence - 10
Hold - 11
Recapitulation - 12
Page 4
Exercise 8: Different Types of Stop
Background
Stops are one of the most obvious functions a robot or any machine
must have. But understanding the different stops and why we use
different stops is not so obvious.
A robot that has finished its work has to stop.
A robot that is doing a motion that it is not supposed to do has to be
stopped.
There are lot of different scenarios where we need stops and we are
going to give you an overview over those different stops.
Page 5
Exercise 6: Advanced Programing
Equipment
Page 6
Exercise 8: Different Types of Stop
Page 7
Exercise 8: Different Types of Stop
PLEASE
NOTE THAT
Page 8
Exercise 8: Different Types of Stop
Page 9
Exercise 8: Different Types of Stop
Open Fence
Page 10
Exercise 8: Different Types of Stop
Hold
For further information about hold stop, refer to OM procedure 6-2 “Hold and
recovery”.
Page 11
Exercise 8: Different Types of Stop
Recapitulation
Page 12
Exercise 9
DCS Safe Zone
Page 2
Exercise 9
DCS Safe Zone
Table of contents
Abstract - 3
Background - 5
Equipment - 6
Recapitulation - 26
Page 4
Exercise 9: DCS Safe Zone
Background
DCS Safe Zones are mostly used in industry when a robot moves in
an area where other robots also operate or even people may get
into the range of the robot.
In our case, the DCS Safe Zone makes sure, the robot can’t get
through the walls of the cell. As the name says it already, the DCS
Safe Zone tells the robot in which zone it is safe to operate and
stops it if it is about to get through the zone.
A zone can be set up from many different, simple zones combined,
and so create more complex zones.
Page 5
Exercise 9: DCS Safe Zone
Equipment
Page 6
Exercise 9: DCS Safe Zone
To visualize you the effects of the DCS Safe zone, we want you to
try and move the robot out of the safe zone.
Turn the gripper by 90 degrees so that the tip of the gripper points
towards the door.
Page 7
Exercise 9: DCS Safe Zone
Jog the robot in direction of the door and watch how far the robot
will move. At a given moment the robot will stop and it is not
possible anymore to move the robot in any direction except away
from the border of the DCS Safe Zone.
To release the robot from its error state, release the shift button,
then press the shift button again and press reset. Now jog the robot
away from the border of the zone.
Page 8
Exercise 9: DCS Safe Zone
Jog the robot away from the door and turn the tool so that the robot
arm is near the door.
Jog the robot again in direction of the door. The robot will again stop
in front of the door.
Page 9
Exercise 9: DCS Safe Zone
Page 10
Exercise 9: DCS Safe Zone
Now we want to show you that not only the safe zone is on the side
but also on the top.
In order to see this, jog your robot so that your tool is facing
upwards.
Page 11
Exercise 9: DCS Safe Zone
Then, jog the robot upwards until it stops again with the error
message.
As next step, we will change the DCS Safe Zone and see the
difference in the restricting area of the robot.
Page 12
Exercise 9: DCS Safe Zone
First we need to get to the settings of the DCS. Therefore press the
menu key, go to second page system (6) and then to DCS (8).
PLEASE
NOTE THAT
Page 13
Exercise 9: DCS Safe Zone
Page 14
Exercise 9: DCS Safe Zone
We now want to create our own zone. Go to the second position and
enter. Firstly you need to acknowledge that you want to make
changes.
Page 15
Exercise 9: DCS Safe Zone
Now the our new Frame is enabled, but the old one is also still
enabled. Go to the old one “Ed Cell Frame” and disable that Frame.
You should now see that the old Frame is disabled, and the new is
enabled.
The CHGD mark means that you have to apply the changes and
cycle power to make current settings active.
To make the change valid, you have to press the Prev button to get
back in the first DCS menu. Press F2 (Apply).
Page 16
Exercise 9: DCS Safe Zone
You will be asked “Code Number”, then enter 1111 then there will be
a second window where you press F4 (OK). Now you have to cycle
power. After this procedure, your new DCS Safe Zone is active.
Page 17
Exercise 9: DCS Safe Zone
The settings should now look like this. If it doesn’t, go back to page
13 and do the procedure again.
Now release the error and jog the robot a bit down (about 100mm).
We want to change the height of our frame, so go back into the
settings.
Change the height from the point 1 (Z-coordinate) to 340. Apply the
settings and cycle power.
Page 18
Exercise 9: DCS Safe Zone
Now try and move up again. You will notice that the robot stops
much earlier than it did before.
Before
After
Page 19
Exercise 9: DCS Safe Zone
Now reset the Safe Zone to the old value (400). See the following
picture to make sure the DCS Safe Zone is right.
Page 20
Exercise 9: DCS Safe Zone
Page 21
Exercise 9: DCS Safe Zone
Page 22
Exercise 9: DCS Safe Zone
We want to setup our gripper with the long TCP Pin, we used for
TCP teaching (table pin). As this Pin is considerably longer than the
gripper, we need to teach a new model to our controller in order to
avoid the tip of the pin to go outside the safe zone.
First of all we need to enable the current model, then we choose
the Line_seg as shape, insert 30mm as size and then change the Z
position of the 2nd point to 235. (distance in mm from the final flange
to the tip of the Pin)
For more information about the different possibilities to set up a User Model
refer to manual R-30iB_Plus_DCS_Manual section 3.4. “Setup of User
Model” and 4.2 “Setup of User Model”.
You can set this distance according to the length of your TCP pin, if
it is shorter or longer. The length from the flange to the tip of the
gripper is 115mm.
Page 23
Exercise 9: DCS Safe Zone
Now you have to apply again the settings and cycle power. Before
you cycle power, jog the robot down, so that the gripper will not end
up, being already beyond the zone border.
Your new Tool should now be setup. (Make sure to actually put in
the long TCP Pin in the Gripper)
Page 24
Exercise 9: DCS Safe Zone
To check, jog the robot up until it stops. If you have done everything
right, the TCP Pin tip should stop where the gripper tip stopped the
first time.
You can try the same on the side wall.
If you want, you can change between the “Ed Cell Frame” and your
Frame to see the difference between the two settings.
PLEASE
NOTE THAT
You need to make sure that the TCP Pin is out of the
gripper, because otherwise, the tip can crash into the
walls!
In order to do this, make sure that you enable the first zone, then
disable the second zone, apply the settings and cycle power.
After you are done, make sure to make the first zone active again
(enable the first one, disable the second one) so that no dysfunction
might occur, due to bad safe zone settings. Apply the settings and
cycle power. Make sure the settings are accepted until you finish
this exercise.
Page 25
Exercise 9: DCS Safe Zone
Recapitulation
In this exercise, you should have learned what a DCS Safe Zone is
and how it operates and works.
You should be able to set up a safe zone on your own and also set
up a User Model according to your tool that is attached to your
gripper.
You should know how to apply the settings.
Page 26
Exercise 10
Customized iPendant Screen
Page 2
Exercise 10
Customized iPendant Screen
Table of contents
Abstract - 3
Background - 5
Equipment - 6
MS SharePoint Installation - 7
First Steps - 8
Label - 10
Upload the Page to the Robot - 12
Displaying the Page - 15
Buttons and Lamps - 16
Images - 23
Call a Page from a Program - 25
Multi Control - 26
Recapitulation - 29
Page 4
Exercise 10: Customized iPendant Screen
Background
User defined HTML pages are used to give the operator a visual
feedback of what the robot is doing.
It can also be an interface for the operator to give orders to the robot
without the need of additional inputs (refer to I/O Box).
You have already used some HTML pages while operating the robot
without specifically knowing it. The pages displayed during the
AAA_Demo program were actually customized HTML pages called
by the program.
As you may remember, those pages helped to give a the possibility
for the user to input some commands and to get some input about
what is happening with the robot.
PLEASE
NOTE THAT
Page 5
Exercise 10: Customized iPendant Screen
Equipment
Page 6
Exercise 10: Customized iPendant Screen
Page 7
Exercise 10: Customized iPendant Screen
First Steps
In this exercise, we will not cover all the different controls available.
You should however be able after this exercise, to use those
controls not covered in this exercise with the help of those covered
and the manual.
To get a quick overview of all the controls available refer to iCOM
section 3.4 “Control Features Summary”.
The following controls will be covered by this exercise:
• Label
• ToggleLamp
• ToggleButton
• Image (not in manual)
• Multi
Page 8
Exercise 10: Customized iPendant Screen
First Steps
Page 9
Exercise 10: Customized iPendant Screen
Label
You will be able to set position of the label, font settings etc.
To apply those settings to a label (or other control) change the <p>
to <p class=“nameofyourstyle”>.
Page 10
Exercise 10: Customized iPendant Screen
Label
Now save your document as an .stm (simply add .stm behind the
name of your document).
Page 11
Exercise 10: Customized iPendant Screen
Page 12
Exercise 10: Customized iPendant Screen
As you have only the .stm file on the USB MS, you can press F3
(Load) and load all files.
You now have the page on the robot controller.
The only thing that now has to be done is to link the page. In order
to do this, press the menu button again, then go to the second side
and select browser (8).
Page 13
Exercise 10: Customized iPendant Screen
Page 14
Exercise 10: Customized iPendant Screen
If you have done everything as told, your page should now be linked
in the robot controller.
To display your page press F1 (Type) and select the name you
assigned to your page. You will get to your new page.
Make sure that after each change of your page or new upload to
press F3 (CLR Cache) because otherwise it may be that the actual
new page is not (correctly) displayed.
Page 15
Exercise 10: Customized iPendant Screen
ToggleLamp
ToggleButton
Page 16
Exercise 10: Customized iPendant Screen
All labels except the yellow one (you can give it the colour you like)
can already be set as in the previous page.
As for the yellow label, you need to change the data type to 101-
Numeric Register and then input Data Index 34. That should be the
Timer register if you haven’t changed anything. Check the register if
it still is this value and otherwise change the register in the label.
Page 17
Exercise 10: Customized iPendant Screen
The lamps and the buttons work quite similarly to the label we just
set up.
For the lamps, you need to switch the Data Type under ToggleLamp
to 2 - DO and input the DataIndex that corresponds to the lamp.
(102 for the first lamp, 103 for the second…for explanation refer to
exercise 7)
Under Colors, you can change the colours for true and false, as well
as the colour if you want to have a caption.
Page 18
Exercise 10: Customized iPendant Screen
For the buttons, you need to switch the Data Type to 1 - DI under
ToggleButton and the Data Index according to the buttons. (101 for
first to 103 for third)
You should also put in captions for the buttons. (Start Timer, Stop
Timer, Reset Timer)
You should also change the monitor settings. Check the Periodic
Box and change the update rate to 50ms. This will avoid that the
lights seem as if they are not really a clock, which we want them to
be.
Page 19
Exercise 10: Customized iPendant Screen
Page 20
Exercise 10: Customized iPendant Screen
Page 21
Exercise 10: Customized iPendant Screen
Save your page and upload it to the Controller and try the program
again.
Your buttons should now be linked to your toolbar.
Page 22
Exercise 10: Customized iPendant Screen
Images
In the image settings you can browse for pictures and insert them.
PLEASE
NOTE THAT
Page 23
Exercise 10: Customized iPendant Screen
Images
To upload the page, the procedure is nearly the same than before,
only that you need to put the picture also on the UD1 and upload
both the page and the picture. (by uploading *all files, you do not
need to worry about something not being uploaded)
Link the page again, clear the cache and then you should now have
the picture in your page. (If you haven’t changed the name of your
page, you do not need to link the page again, just go to home and
clear the cache, then go back and the new page should be
displayed.
Page 24
Exercise 10: Customized iPendant Screen
Page 25
Exercise 10: Customized iPendant Screen
Multi Control
This is the last function described in this exercise. The Multi Control
can be considered as an image but which can change for different
values for registers, inputs or outputs. A maximum of 10 different
images can be displayed with one Multi Control.
We want to use this Multi Control now to do a progress bar, which
then shows the progress of the Stopwatch.
But first thing we need are the different lengths of bars. We
recommend you to do them on MS Paint starting with a 50x50px
box going up to 500x50px by increments of 50px. Make sure to
create a files readable for the controller.
Then input 3 Multi Controls to the Page and put labels above the
Multi controls for the user to understand what the progress bar
means.
Multi Controls
Page 26
Exercise 10: Customized iPendant Screen
Multi Control
Page 27
Exercise 10: Customized iPendant Screen
Multi Control
Make sure you link also your buttons to the right DIs.
Now you only have to save and upload the page. Remember that
you need to upload also the bars you created on Paint.
For now, this user frame will not work on with the current program.
You can start, stop and reset the timer, but as there are no outputs
on the registers we set for the Multi commands, they won’t change.
Make a copy of the I_O_TIMER to I_O_TIMER_PROG_BAR. Try
and change the program in a way, that it will output the seconds
from 1 to 9 on R[50], every tenth of seconds on 51 (10-50) and
every minute on 52.
Tip: You will need to change the REGISTER_TO_BINARY to a
program that splits up the register into minutes, 10ths of seconds
and seconds and then places them in the right register.
If you don’t know how to do this program, go to the appendix where
we have put a working program with explanations.
Now as you have created your program, call your page in the
beginning of your program (normally it should be no. 7).
Try your program and user frame and change it if you like.
Page 28
Exercise 10: Customized iPendant Screen
Recapitulation
In this exercise you should have seen the basic Controls used to
create customized webpages on the iPendant.
You should be able to create, save, upload and display your own
webpages.
You should know how to call a specific webpage during a program.
Page 29
Exercise 10: Customized iPendant Screen
Appendix
Main Program
Sub Program
Page 30
Exercise 11
Macro
Page 2
Exercise 11
Macro
Table of contents
Abstract - 3
Equipment - 5
Example of a Macro - 6
Programming a Macro - 7
Setting up a macro - 8
Macro type MF - 14
Calling a macro - 15
Exercise 11: Macro
Equipment
Page 5
Exercise 11: Macro
Example of a macro
The Education Cell already comes with a macro. Press the “SHIFT”
and “TOOL 1” key. You do not have to reset the faults or press the
deadman switch. You can see that the gripper will close or open.
We will program the same program and use it for the “TOOL 2” key.
Later you can program your own macro.
Page 6
Exercise 11: Macro
Programming a Macro
Page 7
Exercise 11: Macro
Setting up a Macro
On the first line we have the already set up macro. We will go to the
second line and give the macro an instruction name, in this case we
will call it Toggle_Hand (the instruction name does not need to be
the same name as the program we will use).
Page 8
Exercise 11: Macro
Setting up a Macro
Page 9
Exercise 11: Macro
Setting up a Macro
Now we have to select the type of the macro, go to the ‘—’ and press F4
“Choice”
Select ‘SU’ and for the assign number enter the number 2.
Page 10
Exercise 11: Macro
Setting up a Macro
Now we have finished to set up the macro. Press the “SHIFT” and
“TOOL 2” keys.
Page 11
Exercise 11: Macro
Setting up a Macro
Scroll down to ‘Group Mask’.
Page 12
Exercise 11: Macro
Setting up a Macro
Press F1 “End” to go back to the select screen and now the macro
should work as planned.
Press the “SHIFT” and “TOOL 2” key and see how the gripper
closes and opens.
Only one Macro can be used on each “User” key.
Page 13
Exercise 11: Macro
Macro type MF
Instead of the macro type ‘SU’ you can also use ‘MF’. To use ‘MF’
macros you just need to press the “TOOL 1 “ and select the macro
you want, then press “SHIFT” and F3 “Exec”. Up to 10 macros can
be assigned to each “User” key. You can assign the numbers 1-10
for “TOOL 1” and the numbers 11-20 for “TOOL 2”.
Page 14
Exercise 11: Macro
Calling a Macro
You call a macro in another program exactly like any other program.
The only difference is that you have to press F2 for ‘macro’ in the
program selection menu.
Page 15
Exercise 11: Macro
Calling a Macro
Or if you have set up a macro in the macro screen then you can call
it by pressing F1 ‘Inst’, go to the 3 page, select “MACRO” and chose
the macro you need.
Page 15
Exercise 12
Menu utility
Page 2
Exercise 12
Menu utility
Table of contents
Abstract - 3
Equipment - 5
PROMPTOK - 7
PROMPTYN - 12
LISTMENU - 16
Exercise 12: Menu Utility
Equipment
Page 5
Exercise 12: Menu Utility
Page 6
Exercise 12: Menu Utility
PROMPTOK
Page 7
Exercise 12: Menu Utility
PROMPTOK
Page 8
Exercise 12: Menu Utility
PROMPTOK
In a PROMPTOK you can use 5 lines. Each line will only show the
first 28 characters of the line.
For the second line enter “Fine” and for the third “And you?”.
Page 9
Exercise 12: Menu Utility
PROMPTOK
This screen will pop up and to proceed press the “ENTER” key.
Now you can change the first line to ‘Hello world. How are you?’, so
the line is not cut off.
For further details see OM Optional Function 36.1.1 “Prompt Box Msg”.
Page 10
Exercise 12: Menu Utility
PROMPTOK
Now you can start the program, the PROMPTOK will pop up on the
Teach Pendant and the user has to press “ENTER” to continue.
You can also call the PROMPTOK by going to the third page and
selecting “MACRO” instead of “CALL” and select ‘Prompt Box Msg’.
Page 11
Exercise 12: Menu Utility
PROMPTYN
To create a PROMPTYN press F3 ‘Create’ and enter the number 3 (if not
already taken).
We give it a Menu name and enter 2 lines. The lines work exactly like in
PROMPTOK, they will only show 28 characters.
Page 12
Exercise 12: Menu Utility
PROMPTYN
Press F3 ‘Test’ to see the pop up. Use the arrow keys to navigate to ‘NO’
or ‘YES’ and press “ENTER” on your answer.
For further details see OM Optional Function 36.1.2 “Prompt Box YES/NO Menu”.
Page 13
Exercise 12: Menu Utility
PROMPTYN
Press F4 ‘Choice’, select ‘2 Constant’ and enter the ID number ,of our
PROMPTYN, in this case 3.
Page 14
Exercise 12: Menu Utility
PROMPTYN
Now we program with the ‘IF’ function what will happen when we
answer the PROMPTYN. If the answer is ‘YES’, we will call the
PROMPTOK, we created previously, if ‘NO’ we abort the
program. For the instruction ‘Abort’ press F1 ‘INST’, ‘8 next
page’, ‘7 Program control’ and then select ‘Abort’.
For further details on the ‘Abort instruction’ see OM section 4.14.2 “Abort Instruction”
Now you can test the program. Save this program because we
will use it in the next example.
Page 15
Exercise 12: Menu Utility
LISTMENU
Go to the menu utility screen and press F2 ‘Detail’ on ‘Select from a list’.
To create a LISTMENU press F3 ‘Create’ and give it the number 3 (if not
already taken). We will give the LISTMENU the name ‘list choice’, the Title
will be “What do you want to do?” and the first line will be ‘Abort’ second
‘PROMPTOK’ and third ‘PROMPTYN’. Each line will display 28 characters.
Page 16
Exercise 12: Menu Utility
LISTMENU
Now scroll down to ‘PROMPT’ and enter “Your choice”. This ‘PROMPT’ is
only for what will be displayed where the user enters his choice.
Now test the program with F3 ‘Test’ and enter your number of choice.
Page 17
Exercise 12: Menu Utility
LISTMENU
If you try to enter a number higher than 3 the program will say
‘Out of Range (1 – 3)’. This is to be sure the user does follow the
list and the program can be executed as programmed. You can
use up to 8 different lines to get an answer.
As you can also see the ‘Title’ will not be displayed but later when
we call it in a program it will be displayed.
Page 18
Exercise 12: Menu Utility
LISTMENU
Page 19
Exercise 12: Menu Utility
LISTMENU
Page 20
Exercise 12: Menu Utility
LISTMENU
Now we do that for the third result but we will use the program we
created with the PROMPTYN, so we do not need an argument.
Page 21
Exercise 12: Menu Utility
LISTMENU
Page 22
One common servo and control platform –
Infinite opportunities
THAT‘s FANUC!
WWW.FANUC.EU
Technical information subject to change without prior notice. All rights reserved. © 2020 FANUC Europe Corporation