What do you mean by "set a GO within every movement "? DB?
Something like this:
Sorry, forget about the "DB", there is also a possibility to set the GO in a Distance Before, but that's not neccessary here, or you must set the DB to zero.
What do you mean by "set a GO within every movement "? DB?
Something like this:
Sorry, forget about the "DB", there is also a possibility to set the GO in a Distance Before, but that's not neccessary here, or you must set the DB to zero.
All this "possible solutions" need a PR list avaiable so you can run the robot backwards or integrate a messy logic on your program in order to jump again into the same motion line you were...
I have "safe" PR's for each member of the cell already. The problem with this, after trying to make it fail, has been if the cell door is opened and the robot didn't finish getting to a PR how I can tell the robot what to do next for recovery, so it must know what fixture it is close to to maneuver itself out. Kind of like a CNC machine that I would move a cutting tool away from a fixture before any other axis is moved.....if that makes any sense.
map input bits to them (rack 36, slot 1, start at 1 or the number of the first DCS zone you want to look at).
I am not sure how to do this. Is rack 36 specific to a certain register or set of registers?
I have set up a few CPC's in the critical areas where the potential risk is highest. I then set them as Not Stop and Diagonals (OUT). I watch from the TP and it obviously does what I want there. Now I just need to figure out how to map it to a variable that I can use in my logic to call one of my safe move programs.....whichever one it applies to.
I am not sure how to do this. Is rack 36 specific to a certain register or set of registers?
I have set up a few CPC's in the critical areas where the potential risk is highest. I then set them as Not Stop and Diagonals (OUT). I watch from the TP and it obviously does what I want there. Now I just need to figure out how to map it to a variable that I can use in my logic to call one of my safe move programs.....whichever one it applies to.
Hi,
Rack 36 is where the status of the DCS functions are mirrored to.
Slot 0 = NSI
Slot 1 = SPI
Slot 2 = (???)
Slot 3 = (???)
Slot 4 = (???)
Slot 5 = SIR
Slot 6 = Cartesian Position Check
Slot 7 = Cartesian Speed Check
Slot 8 = Joint Position Check
Slot 9 = Joint Speed Check
What this means is that if you for instance want to use the status of CPC[1] in your TP program, you can map a DI to Rack 36, Slot 6, Start 1 (CPC[n] = Start n)
This is a way to mirror out information from the DCS in to the "grey I/O" world.
If you want to go the opposite way, you can map DOs to Rack 36, Slot 0 - NSI (Non-safety input). NSIs can then in turn be used as conditions in your Safe I/O Connect (Safety I/O logic) to set/reset SIR (Safe internal relay) which you can use as disabling input for your DCS functions.
But keep in mind that disabling a CPC (or any other safety functionality) through the use of non-safety inputs is exactly what it's called: Not safe...
Since there are no dual channels involved and also it's not being processed by dual processors.
I am not sure how to do this. Is rack 36 specific to a certain register or set of registers?
Go to Menu > I/O > Digital
IN/OUT (F3) CONFIG (F2)
This is where you assign Racks to I/O signals. For example, in the attached screenshot I have mapped DI 17-24 to CPCs 1-8
Go to Menu > I/O > Digital
IN/OUT (F3) CONFIG (F2)
This is where you assign Racks to I/O signals. For example, in the attached screenshot I have mapped DI 17-24 to CPCs 1-8
Must I select a range that has "UNASG" in the STAT?
Display MoreHi,
Rack 36 is where the status of the DCS functions are mirrored to.Slot 0 = NSI
Slot 1 = SPI
Slot 2 = (???)
Slot 3 = (???)
Slot 4 = (???)
Slot 5 = SIR
Slot 6 = Cartesian Position Check
Slot 7 = Cartesian Speed Check
Slot 8 = Joint Position Check
Slot 9 = Joint Speed Check
Is there I document I can pull this information from?
It's all in the DCS manual.
And when the robot is in the safe zone?
And when the robot is in the safe zone?
It appears that your range is too large. I'm not sure what the exact limits are but you should be good just going 25-31.
EDIT: The limit is 32, which is also the max number of CPCs you can have.
It appears that your range is too large. I'm not sure what the exact limits are but you should be good just going 25-31.
EDIT: The limit is 32, which is also the max number of CPCs you can have.
That did it! I had the image to big. Thank you
It appears that your range is too large. I'm not sure what the exact limits are but you should be good just going 25-31.
EDIT: The limit is 32, which is also the max number of CPCs you can have.
I thought I would use GI instead of DI's however, it wouldn't allow me to map the Rack and slot to the GI. I tried a number of times, of course removing the rack 36 assignment to the DI's first.
You don't have to remove the rack 36 assignment from the DIs. Your GI configuration should look similar to line 6 below, with the number of points being however many CPCs you're using.
You don't have to remove the rack 36 assignment from the DIs. Your GI configuration should look similar to line 6 below, with the number of points being however many CPCs you're using.
It does. Then I cold start controller and open it up and it's all zeroes again. The changes don't take.
You don't have to remove the rack 36 assignment from the DIs. Your GI configuration should look similar to line 6 below, with the number of points being however many CPCs you're using.
Mapping the CPC status to DIs via Rack 36, Slot 6 is possible. But I don't think that it can be directly mapped to GIs. After mapping the CPC status to DIs you could try to map this DI range to one or more GIs by using Rack 89, Slot 1, Start point (your DI range), Num points (your number of DIs used for CPC status).
Rack 89 won't map DI to GI unless the same DI are also on rack 89.
I would just use to DIs. If you need them moved to another IO then you could use BG Logic.
Rack 89 won't map DI to GI unless the same DI are also on rack 89.
I would just use to DIs. If you need them moved to another IO then you could use BG Logic.
You are right, I missed that point.