There is easy ways to do this?
When using any Robot, whether it be fanuc , motoman , abb
or whatever . The easiest way to gain total control from panelview is to create a master program within say the fanuc robot .. This program will have no move statements what so ever.
or i should say it doesnt have to have any ... it is possible
but not good programming.....
you should check things like is air on , water on , things that concern the operation of the end of arm tooling .
most generally when using this setup .. you also have a plc that will be acting as the master and the robot will be the slave.
at this point you will need to loop your master program once all safety checks have been verified..
loop is achieve by jump labels ????? for those who are not familiar????
then you will need to look at your group inputs.. most genarally
you will use 8 bits to accomplish this..
if the binary equivalent of the data that is sent is greater than <0
then call job
if not continue to loop...
what this will do is enable you to call numerous programs
to handle different routines based on the data conditions of the plc..
becareful though.. when using subroutines from actual pns programs.. when you stack programs . all programs have to finish and return from the program from which it came .. there are ways around this.. but it would just be to dangerous to try and do ... lol
so if you are picking and placing for instance?
create a program that picks .. then one that places . and then one that does what ever your other operations or process has to do to get done ..
the plc should be programmed to call each one of these operations . based on where it is at in logic..
so you will need some handshaking involved
for instance: the plc calls program 5 which is pick?
once master has called pick? you will need to have some i/o that will send signals back to plc and will verify that it is in program 5 .you dont have to verify it . but it is good practice when using descrete i/o .the reason why is? say you called program 5 which is a binary output from plc . and input to the robot.. what do you think would happen if you lost an output..well you would get a bogus number . which might be a valid program . but would be the wrong sub to run causing the robot to crash.. and possibly severly...
so i always verify that i am in the right program before i allow continuation of the process to occur. then you will obviously need info like are there parts or is it clear.
these should always be considered ..
and then the notorious home from any where ?
this can be accomplished through basic programing inside the robot itself..
what i typically do is assign registers within the robot to handle coordinate positions.
meaning :say i am in an area that i will call area 1
if i want to call home from area 1
then inside my path i have the robot program set say register 20 to equal 1
and then for how many different areas i have that need a path home ? i assign them different numbers.say i have 7 different locations in the process . thus i create one home program
with 7 different ways home . based on register data r20=1-7
and then 7 individual if statements all based on r20 inside the home routine..but in order to actually call it you have to either call it when the robot is done with a certain program and back in master . or you will need to send a pause and then an abort signal and then send home program number and then run signal . which is the best way to do it . take control..
thanks for listening .... lol
When using any Robot, whether it be fanuc , motoman , abb
or whatever . The easiest way to gain total control from panelview is to create a master program within say the fanuc robot .. This program will have no move statements what so ever.
or i should say it doesnt have to have any ... it is possible
but not good programming.....
you should check things like is air on , water on , things that concern the operation of the end of arm tooling .
most generally when using this setup .. you also have a plc that will be acting as the master and the robot will be the slave.
at this point you will need to loop your master program once all safety checks have been verified..
loop is achieve by jump labels ????? for those who are not familiar????
then you will need to look at your group inputs.. most genarally
you will use 8 bits to accomplish this..
if the binary equivalent of the data that is sent is greater than <0
then call job
if not continue to loop...
what this will do is enable you to call numerous programs
to handle different routines based on the data conditions of the plc..
becareful though.. when using subroutines from actual pns programs.. when you stack programs . all programs have to finish and return from the program from which it came .. there are ways around this.. but it would just be to dangerous to try and do ... lol
so if you are picking and placing for instance?
create a program that picks .. then one that places . and then one that does what ever your other operations or process has to do to get done ..
the plc should be programmed to call each one of these operations . based on where it is at in logic..
so you will need some handshaking involved
for instance: the plc calls program 5 which is pick?
once master has called pick? you will need to have some i/o that will send signals back to plc and will verify that it is in program 5 .you dont have to verify it . but it is good practice when using descrete i/o .the reason why is? say you called program 5 which is a binary output from plc . and input to the robot.. what do you think would happen if you lost an output..well you would get a bogus number . which might be a valid program . but would be the wrong sub to run causing the robot to crash.. and possibly severly...
so i always verify that i am in the right program before i allow continuation of the process to occur. then you will obviously need info like are there parts or is it clear.
these should always be considered ..
and then the notorious home from any where ?
this can be accomplished through basic programing inside the robot itself..
what i typically do is assign registers within the robot to handle coordinate positions.
meaning :say i am in an area that i will call area 1
if i want to call home from area 1
then inside my path i have the robot program set say register 20 to equal 1
and then for how many different areas i have that need a path home ? i assign them different numbers.say i have 7 different locations in the process . thus i create one home program
with 7 different ways home . based on register data r20=1-7
and then 7 individual if statements all based on r20 inside the home routine..but in order to actually call it you have to either call it when the robot is done with a certain program and back in master . or you will need to send a pause and then an abort signal and then send home program number and then run signal . which is the best way to do it . take control..
thanks for listening .... lol