Not sure exactly what you are saying.. sounds like you need to zero axis master.
It will be much cleaner to do on the PLC side.
The only way to handle this situation the the robot side would be a condition monitor.
You might have to break up the equation. Do the division on one line and store in a register, then do the subtraction in a second line of code.
You are already having the PLC reset and restart the robot so it should be very easy. Just have the PLC abort the robot and start over (assuming your main program starts by finding it's way home safely) or start the GoHome program directly via macro.
Same solution. Add an auxiliary relay to close the Fanuc safety circuit. Use the AB safety output to power the relay.
Need more information. What kind of actuator? How do you control it? Are you using any kind of controller or is this all relay logic? What kind of components are you using?
It should be there according to the manual.
I'd be happy to have a free beer
Yes you are right that all UFs are defined from world. So there are 2 ways to do this.
Option 1. Use the world frame as your offset frame in the vision process. Then store the found position into a PR. Use that PR to set a different UF. Note, do not use the vision offset, only the actual found position in this case so it will be in world.
Option 2. Use a taught frame as the offset frame in vision process. Then set a new frame that is the result of matrix multiplying the taught frame and found position.
One more note. I assume your 2DL process gives you x,y,z and r, but no W or P. So you either leave W and P as 0 or set it to a fixed value if needed.
All positions in your cad to path must be relative to a UF that has an origin equal to the output of your vision process found position.
I have done this before and it does work just fine if you set everything up correctly.
You could manually go in and add the voffset to each point .... Or you can use the vision found position to modify the user frame that the points are in.
I would have thought Wjnt would solve your issue. What error do you get when using it?
Other potential solutions:
1. Use a joint move
2. Add an approach point that is a joint move
3. Set the axis limits so that it cannot go past 50 or -310, then add both Wjnt and MROT to the Linear motion. It is critical when using MROT that the axis limit is set so it cannot possible damage the cable. Then this will automatically detect the axis limit and always move the shortest direction that does not violate the limit.
I would like to know how to read / isolate a character in a sr on the teach pendant. And then be able to call a program via this character.
To call a program via SR programmatically is simple:
: CALL SR;
You can concatenate using +:
: SR = SR + SR
And I believe there is a substring command in the instruction menu.
Glad you found the issue. Now just have to make sure someone isn't accidentally changing the program.
As for your user frame, I would have taught a single frame for the table itself. If the table ever gets bumped out of position you will have to reteach everything.
Most common issue is that something has physically moved. Check for loose bolts on robot base, end effector, and fixture. Check if the end effector is bent. Do you have everything anchored properly to the floor?
Also, this is why you should teach a user frame and not use UF 0.
People always claim the robot somehow changed position, but in my experience that has never proven to be true and the issue always ended up being mechanical.
UI is still the correct way to start no matter what the selection method.
That being said, you don't need to assign DIs directly in order, you can skip around and only assign the ones needed. For example there is No point in assigning the pns bits when using Other method.
So just go into the DI config screen and set the start point and ranges for only what you need and skip the others.
Depth of field is just ability to focus and have a sharp image within a range. It is a physical setting on the camera lens and can't be changed dynamically, you set it once and never change it. It is controlled by the f stop or aperture size of the lens.
Usually 8 works well for most applications. Going higher gives more depth but darkens the image.
1. You can increase depth of field by increasing the f-stop adjustment.
2. You can use 2D de pallet izing vision process to detect layer.
The tcp target is a little metal cylinder with a cross hair engraved on it.
I never used it.
I cannot open it either. Do you have a backup?