Should I use PNS in this situation (Fanuc RJ3ib)

Angry Robot

Member
Join Date
Jun 2015
Location
Illinois
Posts
12
(Sorry for this being so lengthy)

I have worked with robots from other manufacturers before, but this is my first rodeo with any FANUC product. Here is the situation: our customer is integrating some older robots they've had in storage into the redesign of an assembly line. I have three arcMates running off of RJ3 controllers that will be going into two cells (one is a double robot cell). The customer is requiring/wants little interaction between the PLC and the robot. They don't want to make massive changes to the existing electrical on the line so we are just getting what I/O they can spare.

I'm not sure if going with a “master job” type program is my best course of action or if I should be looking into PNS. I'm not even sure I can use PNS with what the customer is providing.

We are only getting 9 inputs from the PLC; 8 to act as an 8 bit model number decode; and one input that is going to be our “Start Process” signal. When we got the controller one of their engineers had already assigned DI 1-8 as Group Input 1.

I went on and whipped up a program based on my experience from other robots, but I'm not sure if its really the best use of the FANUC in this situation. Basically I wrote a “master job” that calls a model program based on the value of GI 1 and DI 9 (Start Process) being on. The model program calls a check program that will verify the EOAT is correct for the selected model and then jumps to LBL 2 and into my move statements. It only runs this check program when it is called from master job. Once finished with the program it jumps to LBL 1 where it waits for DI 9 to come on again and start the moves over; if GI 1 is < or > the selected model value when DI 9 comes on then it jumps back to master job, where it calls the correct model job and also calls the check program. Once I post this topic I will spend some time typing out the program so that it is easier to see.

This program is fairly rudimentary but it works... at least on the shop floor when simulating inputs. It doesn't take into account restarting the program after an e-sop or fence stop- I haven't even started on that stuff yet.
 
Here is the crude program I'm using right now:

MASTER JOB

LBL [1]
WAIT DI [9]=ON
IF GI [1]=1, CALL MODEL 1
IF GI [1]=2 ,CALL MODEL 2
IF GI [1]=0 OR GI [1]>2, JMP LBL [2]
JMP LBL [1]
LBL [2]
MESSAGE[MODEL INVALID]
ABORT
/POS
/END


MODEL 1

CALL CHECK TOOL
JMP LBL[1]

LBL [2]
WAIT DI[9]=ON
IF GI[1]<>1, CALL MASTER JOB
LBL[1]
P[1] L CNT 100%
P[2] L CNT 100%
P[3] L CNT 100%
JMP LBL [2]
/POS
/END
 
I would NOT use PNS. Most of my customers (Ford GM FCA) do not use it because it has limited to no ability to check those things that are important, like you did with the end-of-arm tooling.
I would say you are on the right track. For readability I would use the SWITCH statement instead of a bunch of if-then-else statements.
BTW, If you need additional I/O from the PLC, you can trim the Group definition down to the exact number of bits required. For instance, if there is less than 16 models, G1 could be defined as DI1-4.
Check out robot-forum.com for more tips.
 
GOOD LUCK!

It is NOT a good idea to to "make do" with what the customer wants to give you. It is ALWAYS better to tell the customer what you "NEED" and have them give this to you. :)
 
I would NOT use PNS. Most of my customers (Ford GM FCA) do not use it because it has limited to no ability to check those things that are important, like you did with the end-of-arm tooling.
I would say you are on the right track. For readability I would use the SWITCH statement instead of a bunch of if-then-else statements.
BTW, If you need additional I/O from the PLC, you can trim the Group definition down to the exact number of bits required. For instance, if there is less than 16 models, G1 could be defined as DI1-4.
Check out robot-forum.com for more tips.

I've tried registering at robot-forum.com a few times but can't get my activation e-mail to come through.


How would you handle resetting the safety fence and restarting the program after a cell door has been opened? I know there is a production start option, but I'm not sure if that works without using PNS or not.
 
It's been awhile since I worked with Fanuc, but I will be corrected if I am wrong. I believe you need to look at how many parts you may end up running on this cell. Seems to me that the PNS signals were limited on the number Fanuc has built in. As far as resetting the cell, you can upon closing the door and resetting the safety circuit, strobe the robot reset input and after verifying the robots ready, strobe start input. I think you can add the Fanuc controller to the tree in your Logix5000(if that's what you are using).
 
I've tried registering at robot-forum.com a few times but can't get my activation e-mail to come through.


How would you handle resetting the safety fence and restarting the program after a cell door has been opened? I know there is a production start option, but I'm not sure if that works without using PNS or not.

I'm not sure when using pns (I've only used it a couple of times in paint applications) but the start in the standard ui will work.
 
I think I'm headed in the right direction on the interface controls. These cabinets don't have process I/O cards, so I've had to map the UOP inputs to the first input card. So far it seems to be working. But I've only been able to test things piecemeal. I'm going to grab an old HMI box and wire in my buttons and a few switches to simulate the safety circuit and test everything together.

So far I'm actually impressed with how easy this Fanuc has been to get up and running considering I didn't know anything about them before starting. Much easier learning curve than the other robots I've dealt with.
 
Yes, it's not bad especially if you have the dcs option. I'm trying to get some abb robots stared with safe move just to jog around before the safety devices are attached and it can take a whole afternoon.
 
Now I have everything working the way I expect, except for the remote start button.

I have set up a UOP with remote fault reset and remote start. The reset button works just fine, but when I try to start a cycle I get the error: SYST-004 SOP ENABLED.

The manual is not very clear on what I need to do here. It is instructing me to set the switch to remote, or to enable remote function. I have no remote switch, and the UOP is enabled in the menu settings.
 
I believe the option you are looking for is in the configuration file. If I can get out to a robot in the next hour and a half I will see if I can figure out exactly where. I have seen it changed in there but the guy who did it has quick hands and was hard to follow the steps he went through to get there

Edit: the more I think about it the more I think it is not called configuration file...try looking through Menu>Setup options
 
Last edited:
I finally got it. I ended up banging my head against the wall more over the Start versus Prod_Start input. Turns out I was trying to use the wrong one even after I got the remote settings right. ;)

I'm having to use inputs across two input cards (because Prod_Start is mapped to DI17) in order to use just two remote buttons. Seems a little wasteful.
 

Similar Topics

Hi, I am working on automating an industrial fabric shrinkage tester to replace its outdated electronics with a PLC. To get the tank's water level...
Replies
14
Views
536
In a control System, I need to move 3 motors attached to roller in stages with speed of 1 to 2 RPM and the torque of motor should be 8-10 Nm...
Replies
0
Views
826
Hi, I want to build a production line project using a PLC. This is the project page...
Replies
14
Views
2,209
See picture. I want to add a rung (magenta) into the existing code. Can't figure out how to do this. I select a -||- , right? When I drag/drop...
Replies
21
Views
1,787
Sorry for the basic question: On my HMI, I've created a button labelled SAVE to save the current values (distances in mm). It's not linked to any...
Replies
22
Views
2,256
Back
Top Bottom