Hi,
I use the CELL.SRC program to run different programs depending on PLC input.
On the PLC side I do the following:
- Move a PGNO to the KUKA controller
- Verify that the reflected PGNO is what I want
- Send the PNGO_VALID to the KUKA controller and the program starts.
- ... WAIT for a specific input TRUE (that I switch high at the end of this specific Kuka program) that tells the PLC this specific program is now done... and not something else.
- Send a CONFIRMATION to the KUKA controller that I got the message about the program being done.
- ... WAIT for the specific input to be FALSE again... (KUKA program turns it FALSE when it it got the message)
I do this because I have 8 different KUKA programs that are executed at different times by 8 different functions...
BUT there is a problem... sometimes two of these functions are at the same point in life... they both want the robot to do something at the same time.
So first one tells the PGNO should be "7"
The second one tells the PNGO should be "8"
The reflected PGNO is equal to "8" ... this program gets executed but... the second function will forever wait until the program number equals "7" ... but it never will... Its past this point already.
The remedy to this problem has been to to not start a sequence if any of the other 7 sequences are busy... but it feels wrong... there must be a correct way to do it.
So...
Is there a standard way for the PLC and Robot to talk to each other about what program is done... what should be started next. Perhaps even a buffer of different jobs and their order.