Thank you! I tried it and it works like a charm!
/RoboticsMan
Thank you! I tried it and it works like a charm!
/RoboticsMan
Hi all!
I have a program that is used for recording positions with a robot and transmitting them to a PC. In order to record a position, the operator clicks a button in the GUI on the PC. A signal is sent to the robot program, and the robot program shows a message to the operator, and stops. The operator can now jog the robot to the desired position and resume. The position is then recorded and transmitted to the PC.
If the robot program contains any movements before the point where the operator jogs the robot, it doesn't seem to work. The operator can jog the robot, but the robot will always return to the point that it was jogged from, when the robot is started again.
This leads me to assume that the robot will always "remember" the latest target position in the program, and return to this position when resuming the program, if the operator jogged the robot while the program was halted. As long as the robot has not yet been moved by the robot program, there is no stored "target position", and the robot will not have any such point to move back to.
Is this correctly assumed? And if so, is there a way to clear the "target position", so that the robot will not move back to the original position when the program is started again?
Thanks in advance!
/RoboticsMan
Hi!
I know the command AccSet can be used to adjust the acceleration in a robot program. But is there a way to read the current value? I want to store the current value, so that I can set the value back to the original value after having temporarily changed it with AccSet in my part of the program.
Thanks in advance!
/RoboticsMan
After further investigations it seems that I was just confusing my self. So it does actually seem to work fine with FINE Sorry for the inconvenience!
/RoboticsMan
The main thing is the timing of the triggers.
Surely you have a handshake in place between Robot and PC?
I would use the 'STEP' function to assist in determining where the triggering is occurring.
So it works like this:
1) PC sends coordinates to robot
2) Robot moves to coordinates
3) Robot reports back to the PC via socket connection when it is in position.
4) PC triggers camera (that is just one example, sometimes other things happen after the movement)
The point is that the robot should not continue in its program before the robot is at a standstill. I will look into it further, to make sure that I have not confused myself.
/RoboticsMan
I am wondering if your issue is due to when the socket communication is being triggered. What triggers the socket connection to report back? Can you use a digital output that you turn on after the movement is complete to trigger it to report back?
The code for the socket connection is being executed immediately after the movement code. So if the program pointer continues too early, then the message will be sent back to the PC too early.
I have started to wonder if maybe the graphics in the simulation are lagging behind the program execution, adding to the confusion. I will look into it.
/RoboticsMan
How does the robot report that it is done with the movement, what signal? I've never seen a Fanuc "look ahead" on a Fine movement.
I just made it report back via a socket connection. The points it is moving to are calculated on a PC and sent to the robot. When the movements have been carried out, it reports back.
/RoboticsMan
Fine termination should be all that is necessary. Adding a very small delay will also stop the robot, it could be 0.1 seconds.
How is your measurement being performed? Knowing that may help us understand your situation better.
Measurement is done in several different ways. Usually it is done with a camera that is mounted on the tool of the robot. I'm testing it in the simulator in RoboGuide. I'm sending some positions to the robot. The movements are FINE movements. The robot reports back that it is done with the movements, while it is still moving in RoboGuide. This is obviously wrong. I'm pretty sure the same is the case in real world (I don't have access to the robot, so I cannot test it, but I have seen some indications that this might be the case).
/RoboticsMan
Thank you, that is very helpful I see it is an option on a movement. Is it possible to have a similar effect without the movement? So that it just makes sure that any previous movements have stopped...
Thanks in advance!
/RoboticsMan
Hello!
I'm new to Fanuc robots, and I have a problem that I hope you can help me with. My problem is that I have several cases where I want the robot to stop completely before it continues in the program. Otherwise I will get some wrong measurements in my application. I have tried to use a FINE position, but the robot still seems to continue in the program before the robot is at a complete standstill (so measurements are performed too early). I could add a delay after the FINE position, but cycle time is always an issue, so I want to avoid that. It is also hard to determine what the correct wait time is in all cases. How would you make sure that the program pointer does not continue in the program before the robot has stopped completely?
Thanks in advance!
/RoboticsMan
I think the 8 mm bolts are going into 12 or 16 mm anchor bolts that go into the concrete. The bolts are closer to each other than I remembered. They form a rectangle of 35x75 cm. The frame that the robot is standing on is approximately 70x75 cm
I will test it according to your suggestions when I find the time. Thank you!
/RoboticsMan
Hi
We recently had a KUKA KR16 mounted in our lab. The robot is mounted on a frame of I-beams that is mounted to the floor with 4 M8 bolts (one in each corner). The bolts form a square that is about 1x1m. The people who mounted it, says it's fine, but I don't really feel safe having the frame fixed to the floor with only 4 M8 bolts. What do you guys think?
/RoboticsMan
Hello again
I found a solution myself:
PERS wobjdata wobj_internal:=[FALSE,FALSE,"TRACK_1",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
When the workobject is set up like this, it will move with the robot on the track. That was all I needed to change
/RoboticsMan
I just tested it by selecting wobj0 and moving the external axis in RobotStudio. The coordinates of the TCP change if I jog the external axis that the robot is standing on. I want the coordinates to be constant - like it would be if the robot didn't know it was standing on an axis.
whats wrong with wobj0 ? this is always related to base coordsystem
Hmm ok. But if I have a robot on a linear axis, and I move the robot on the axis, will wobj0 move with the robot, or stay in one place? I want a workObject that corresponds to the origin of the robot base, not to the origin of the axis that the robot is moving on.
Hi All!
On the KUKA there is a coordinate system called $robroot. This corresponds to the center of the base of the robot - even when the robot is mounted on a track. So if the robot is moved on the track, the TCP coordinate in the $robroot coordinate system will remain constant (as long as only the external axis is moving).
Is there a way to get something similar to $robroot on an ABB robot?
Thanks in advance!
/RoboticsMan
Hmm, I also don't have the Simulation Watch tab, and I never had it. Maybe it is just a license issue, and the RAPID Call Stack was something I had on another installation....
/RoboticsMan
Hi
Thanks for the answer, but it doesn't restore that tab If I close the output tab and try again, then the output tab is restored. The call stack tab remains hidden. It is very strange....
/RoboticsMan
Hi
It seems like I have closed the tab with the call stack in RobotStudio 7.0.8, and now I don't know how to get it back. Can anyone help me? I have wasted a lot of time on this!
Thanks in advance
RoboticsMan
Hi Jeremy
Another question: Do you have a place where users can add suggestions for new features?
/RoboticsMan