Angry Robot
Member
(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.
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.