Fanuc Robot Motion Options

Tharon

Member
Join Date
Jan 2007
Location
Other
Posts
1,430
Hey everyone,

I'm fairly familiar with Motoman robots. And they have a "Move While" command which will do a movement as long as a condition is true, it will skip to the next line otherwise. I want to use this type of command in a Fanuc robot. I think I need to use the Skip,LBL[] Motion Option.

If I add Skip,LBL[] to the motion instruction, it tells me I need to set the condition, but there is no choice after that to set a condition.

Unfortunately the manual I have is incomplete, and while it mentions the motion options, it doesn't tell me how they work or what syntax to use to make them work. Could anyone tell me how to setup the Skip,LBL[] instruction?

Thanks in advance.
 
I am also 'learning' the Fanuc, switching over from the swedish ones.

I believe you need to use the skip instruction. Best I can explain it is to define the skip instruction before your motion call.

Example, skip condition di[1: Photo Eye]=0

Then in your desired motion command you can use the skip argument. I am using an R30iA. So my skip instructions are on the second instruction pallet at the top (probably firmware dependant as well as whatever options you ordered??)

Please post any additional info you learn, very few fanuc robotics users on this site it seems. Don't even get me started on Fanuc manuals. Good grief. How about giving them out in PDF form to start with!!!!!
 
Here's a section of code using the SKIP function that might help:
Code:
  42:  !SLOW SEARCH ;
  43:  SKIP CONDITION RI[8:Grip Slipsheet]=ON   ;
  44:   ;
  45:  !Slip Sheet Stack Search and Grip ;
  46:L PR[37:Slip Srch End] 18mm/sec CNT0 Skip,LBL[25]    ;
  47:   ;
  48:  JMP LBL[20] ;
  49:   ;
  50:  LBL[25:Not Found] ;
  51:  DO[66:Grip  Case2]=OFF ;
  52:  DO[67:Grip  Case3]=OFF ;
  53:  DO[69:Grip Slipsheet]=OFF ;
  54:   ;
  55:L PR[46:CalcZPos 2] 400mm/sec CNT0    ;
  56:  JMP LBL[99] ;
  57:  !-------------------------------- ;
  58:  LBL[20:Slip Sheet Found] ;
This code moves the robot to pick up a cardboard slip sheet while watching a gripper vacuum switch at RI[8]. If the sensor turns on, the skip condition is met and it will JMP to LBL [25].

I don't recall how to find the skip option when entering commands from the teach pendant, but I am bet it will be on one of the second or third menus, and that you'll have to have the cursor in the right spot in order to find it.
 
I don't have a problem with the manuals, other than I don't have a complete programming manual, just a partial one that has been butchered for a training course that was offered. The maintenance and troubleshooting manuals I have are very handy, and give me pretty much everything I need to know.

I'll have to look into the Skip Condition when I get back tomorrow. Seems silly that the condition wouldn't be declared on the same line as the move option.

Edit:

That example does help. I was thinking the skip worked different than what it appears to. I thought it would skip to the label if the skip condition is true. But it seems it skips to the next line if it's true and goes to the label if it finishes the move and is still not true.

I wish I got to work on some interesting robots like that one. All mine do are replace operators for loading/unloading machines. I rarely get to use any interesting code, just "move, place, wait, pickup".
 
Last edited:
Here are some examples with descriptions. If you like copy the part of your program and explain to me what you want and I can place it in your program so you can see what it should look like. The easiest way to capture this from the pendant is install USB or MC set device(menu-file-F1(type)- select file-F5(UTIL)- select device type-like USB or MC.note it you never used this storage device before then select format after setting device. Once this is done go to the portion of programming that you want to copy. Press function-print screen. You can then open on computer in note pad. This will only copy what you see on the screen. If you need to save a entire program you would save it as a .LS file. But you'll learn that later.


J P [1] 50%. FINE. ACC100

J=joint
L=linear
C=circular

P=position
PR=position register

Speed = joint=1-100%sec
Linear/circular=inch/min,deg./ second,mm/sec,cm/min
Note:can use a register as reference. R[]

Fine=termination type (basically robot stops at exact position before execution is complete)
Cnt-0-100 continuous (rounds cornering)

Motion type
Acceleration-ACC
COORD
SKIP,lbl[]
Offset
Offset,PR[]
 
I'm basically setting up a automatic reset of a pick/place robot when the machine it's working with is reset. So operators don't ever have to touch the control pendant and screw things up :)

When reset, the robot will skip the portions of the code that involve moving in/out of the machine and jump to the reset routine. But instead of the usual Wait/Jump instructions, I needed to be able to do this from any movement point while inside the machine's job.

I have a grasp on what needs to be done now, and don't think it will be any issue once I find out where the Skip Condition instruction is.
 
Tharon said:
I don't have a problem with the manuals, other than I don't have a complete programming manual, just a partial one that has been butchered for a training course that was offered.

They'll sell you a new one for around $200 (last one I bought). Just request a quote with the manual number.

Tharon said:
The maintenance and troubleshooting manuals I have are very handy, and give me pretty much everything I need to know.

I have no problem with the quality of the manuals, but the availability is too limited in my opinion.

EDIT: Deleted incorrect info...
 
Last edited:
Edit: once you get the hand of this look into LPOS. When I pick my first slip sheet after refill or unexpected stop/cell entry I use skip condition to find stack record this position to a PR() by using PR[]=LPOS. T
hen after each pick offset PR by the slip thickness.

You should be able to locate skip instruction under F1 (INS). If you don't see this check bottom right hand corner of pendant screen for a > sign. Press next. If you still can't see it you might have to press function and select full/quick
menu and retry.
 
Last edited:
Yes, that's what it does. The motion command starts with the input off, and will move slowly to the bottom of the slipsheet stand unless the skip condition goes true. If the condition is not met, the program flow will fall through, turn off the vacuum outputs, then JMP to LBL[99].

If the condition is met before the end of the move, that means it found a slipsheet, so it will skip to LBL[25].


The way it looks like, from the code you posted, LBL[25] = Not Found, LBL[20] = Found.

If the condition is true, it continues to the next line Jump LBL[20].

If the condition never goes true, it finishes the move, jumps to LBL[25] Not Found, goes through the few instructions there, jumps to LBL [99] which I assume is somewhere back up at the beginning to let it increment down another bit to find another sheet?
 
The way it looks like, from the code you posted, LBL[25] = Not Found, LBL[20] = Found.

If the condition is true, it continues to the next line Jump LBL[20].

If the condition never goes true, it finishes the move, jumps to LBL[25] Not Found, goes through the few instructions there, jumps to LBL [99] which I assume is somewhere back up at the beginning to let it increment down another bit to find another sheet?

Doh!

You're right! I got it backwards. I now remember having that same confusion the last time I edited one of those programs...sorry for the confusion...
 
Doh!

You're right! I got it backwards. I now remember having that same confusion the last time I edited one of those programs...sorry for the confusion...

No problem. Tomorrow I'll upgrade the machine with the info I got and everything should work just fine.
 

Similar Topics

Hello Everybody, I am a newer on robot. I have a question and need help. For fanuc robot, How can write motion instruction L PR[1] 400mm/sec fine...
Replies
2
Views
2,909
Has anyone ever tried to integrate a Raspberry Pi to a Fanuc robot? I have this idea that I want to try out but I need to write integers from a...
Replies
4
Views
1,571
Good Evening , We have had a problem with some broken I/O wires on a Fanuc Robot. I'm sure we just need to rerun some cables , but I was...
Replies
1
Views
1,647
Just wondering if anyone has had any experience with using a Fanuc Robot (R30iB) to a Logix 5000 over Ethernet/IP using Safety. I have some...
Replies
4
Views
1,629
I have read every post I can find on how to interface an Automation Direct C-More EA9 series HMI to a FANUC robot with no luck. Some say it is...
Replies
8
Views
3,145
Back
Top Bottom