control fanuc robotic with plc

dle

Member
Join Date
Jan 2012
Location
Tennessee
Posts
11
Hey everyone, name is Dan. I am a beginner doing some school project using PLC and robot. I have the majority of the plc written. The goal is to sort the 3 different boxes that will be coming down the conveyor. I have already set up 3 photoeyes to detect the 3 various boxes. The plc that I have written so far can detect the 3 different boxes. I will add a 4th photo eye to the end of the conveyor to let the plc know when to pick up the box and redirect the command to the robot.

The main question of this thread is, how do I task the robot to pick up the boxes? The robot I am using is the fanuc 200ic. I did some researches and came across PNS and PNStrobe. Can anyone that have worked with robots and plc together please elaborate what that mean and the detailed steps in getting the robot to communicate with the plc and vice versa?
 
Easiest way for a pick and place robot to communicate is through discrete I/O. Outputs from the PLC goes to Inputs on the Robot, and vice versa.

Then you write a robot program that will move to where it should, and wait for the appropriate signal from the PLC. Like it will move to just before the conveyor, and wait for a single saying that there is a "small box". Then it will move to the small box position, grab it, and move away.
 
Not a simple answer to your question as there are several different ways to do this. As this is a school project, I will only get you pointed in a direction.

First and foremost, whatever means you are using to interface the PLC to the robot has to be defined and mapped into the robot's I/O map.

PNS & PNSstrobe are one way to signal the robot. You create programs PRG001, PRG002, PRG003, etc (I'm doing this from memory but I believe this is the correct naming scheme). Using the predefined I/O for PNS, you present the program number to the robot and then strobe the program using the PNSstrobe. This places that program into a task list (FIFO) that are executed in order. The PRGxxx programs you previously created are short tasks of what you wanted the robot to do. PRG001 may be pick from conveyor #1, PRG002 - pick from conveyor #3, PRG005 - drop at conveyor #x, etc.

Another method is to define your own signals that trigger the robot to pick & drop. The robot runs a main program that loops through monitoring the signals and then executes a subroutine assigned to that input - drop at #1, pick at #5, etc.

Hope this helps get you started.
 
Thanks for the help Tharon and jstolaruk. I took the advice and tried to advance a little further. My teacher did gave me an example of the PLC example for help.

In his example, he had a ROBOT_ON,CYCLE_START,CMD_ENBL,ROBOT_BUSY for input. HOLD and ENBL, SELECT&RUN, PNS for output. ROBOT_BUSY and ROBOT_DN for bit. I have the manual for PNS, and even that is still confusing. Do I really need that many input and output from the robot to get my program to work?



71876702.png

21055409.png


Those are the instructions from my ladder. The sensors are all working and the boxes were detected. I still have a problem with the 4th sensor, not sure how the logic will work with it. Once the 4th sensor activate, I want to send a signal to the robot. I am stuck on rung 0003. Can I get anymore help from the plctalk forumers? Thanks.
 
Looks like a good start. I think you'll find the one-shots are too fast for any type of I/O with the robot (advice - minimize one-shots). And the outputs on rungs 5 & 7 are the same - rung 7 will win every-time.

Yes, there is a lot I/O handshaking with robots and they get used. For a real application, just the boiler-plate I/O amounts to 34 points (UOUT & UIN). Then comes the custom stuff for the application.
 
Thanks for the advice jstolaruk. Also, if anyone can answer me, is rung #3,5,7 correct? Should I use C5:0/DN, C5:1/DN, C5:2/DN or should I use something else.

C5:0/DN -> 4th sensor = robot on

Would that even work?
 
As jstolaruk said in post #5 you repeated the same output address on rung 5 and rung 7. That is wrong. Take the inputs you are using in rung 5 and move them to a branch on rung 7. Then, delete rung 5.
 
Last edited:

Similar Topics

Old Allen Bradley guy here: I used to have a SCL or SCP and then a PID tuner block to use. Here in the FANUC ladder world I have not been able to...
Replies
3
Views
1,870
Hi guys I have many Fanuc 420s Robots and RH Controls running through out the shop, But just ran across this new issue with 2 of the same robots I...
Replies
6
Views
2,733
I am hoping that someone with more experience might be able to help me. We are currently in the process of upgrading one of our manufacturing...
Replies
9
Views
3,328
I have a customer who has a cnc router, sometimes with errors an faults- is there any way to connect and troubleshoot this fanuc controller-...
Replies
2
Views
1,523
Hello Everyone, I would like to get some advice from seniors!! Currently, I involve in writing PLC logic and Robot programs (ABB rapid...
Replies
5
Views
3,890
Back
Top Bottom