I have noticed that if I create a manual TCP and write some programs and teach some point (robtargets) all of that works fine. Then if I update the TCP using Bullseye, all of my previous points good bad (positions out of reach errors). Has anyone else noticed this? Any explanations?
Posts by BluesMatt
What version of RobotWare are you running?
Since we are system integrators, we always start from scratch. The best learning for me takes place by writing simple test programs that explore a particular feature or set of options. There is no way I could learn this stuff from a book (pdf).
What I have learned so far is that a checkbox labeled "Auto Acknowledge Input" needs to be checked when the system is built. (This checkbox is found under "Installation Manager", "Options", "system options" then "engineering tools" in RobotStudio.)
If this is done, a new action appears when defining system inputs called "ACKAUTOMODE". Using this action, a remote push button switch is supposed to mimic pressing the "Acknowledge" button on the pendant.
We are using an IRB800, an unusual combination of an IRB660 and an IRB140. An ABB tech is coming to update our software so we will have him activate this checkbox during his visit.
I need to use a remote push button to mimic pressing the Acknowledge button on the FlexPendant after an error has occurred. I thought I could accomplish this by defining a system input but I do not see an "Acknowledge" action.
Thanks but probably not a good idea since they charge for the training.
My copy is licensed.
It seems like there is the RobotStudio model with a robot, controller, and RAPID programs. Then there is the virtual controller (Is the virtual controller different than the controller in the Robotstudio model?). And finally, there is the real controller (the actual physical controller).
I need to figure out how to write RAPID programs in the RS model and then somehow get them to the real controller.
With no station loaded in RS, I can connect to the real controller and edit RAPID programs on the real controller. All of that works. I can't see how to go the next step and have a model in RS, be able to write programs in the model, and then transfer them to the real controller.
I also can't see how to create a new RAPID routine in the RS model.
Thanks for the reply. I've watched the ABB videos on getting started with RS and a couple of them use models of a table and engine block. I don't seem to have those models. Are they available for download somewhere?
I think I answered some of my own questions this morning concerning creating a dummy tool.
Once I model my robot in RS and write some programs (offline programming), how do I transfer those programs to the real robot (switching to online)?
Is there anyone here that knows Robotstudio pretty well? I have been working with it for the last couple of days and have a ton of questions.
After a robot collision, I try to manually jog the robot away from the point of contact.
If you are buying a new robot, it should come with a DVD that contains lots of pdf files. Several of those pdf's are dedicated to the RAPID programming language.
I suspect you might need to upgrade the software on the controller.
We had a similar issue where our old pendant broke but the new pendant did not work with our controller. In the end, we had to update Robotware.
Have you ever tried this? How fast can the robot be moving and still leave the controller enough time to recognize the joints are in a bad place and stop the robot?
And yes, we have one of those.
I actually tried that and was able to make that work.
The unfortunate part is that ABB does not seem to include a tool where a group of moves can all be selected at the same time and then permanently shifted by some amount. This would be incredibly useful for those of us that basically have to duplicate the same moves only shifted by some amount.
Anyway, it seems the approach I have worked out will work; it just means a lot of typing in RobotStudio.
We do not have SafeMove on this robot. We were told that SafeMove will not work on an IRB800.
Studying the manual a little closer, it says:
"If using WZLimJointDef with outside joint space (argument \Outside) together with WZLimSup then the robot is stopped as soon as one active axes with joint space supervision reaches the joint space."
We need to monitor A1, A2, and A3 and stop the robot if these 3 axis's are at inappropriate angles all at the same time. If 1 or 2 of these axis's are at the "inappropriate" angle, the robot should not stop. Will this work?
Thanks very much.
So it sounds like ABB does not have a function to add an offset to a whole group of points? Seems odd. Seems like a tool like this would be extremely useful and used by many programmers.
Hello. I'm wondering how you are doing. Did you decide to purchase a robot? If so, which one? What size? Did you use an integrator to help build the cell and get everything working for you?If you decided against the robot, what are you doing instead?
I have to program a large part to weld. The part is basically a steel frame in the shape of a rectangle. There are many variations of this part; wider ones and taller ones. All of these parts require the same welds. I would like to program one part completely (about 80 welds), then duplicate this program and apply the Offs function to shift the moves to accommodate the different sized but similar parts. After the moves have been offset using the Offs function, I will need the ability to tweek the new positions by using ModPos. I'd like to be able to do all of the from the FlexPendant if possible.
So far, I have written the following test program:
CONST robtarget p10:=[[744.24,2.09,417.13],[0.36758,0.014493,0.929793,-0.0126497],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p20:=[[744.24,3.07,362.97],[0.367585,0.014492,0.929791,-0.0126525],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p30:=[[744.24,33.40,362.97],[0.367583,0.0144878,0.929792,-0.0126527],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p40:=[[744.24,33.40,395.42],[0.367588,0.0144841,0.92979,-0.0126532],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
MoveJ p10, v20, fine, tool0\WObj:=wobj0;
MoveL p20, v20, fine, tool0\WObj:=wobj0;
MoveL p30, v20, fine, tool0\WObj:=wobj0;
MoveJ p40, v20, fine, tool0\WObj:=wobj0;
MoveJ Offs(p10, 100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveL Offs(p20,100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveL Offs(p30,100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveJ Offs(p40,100,0,0), v20, fine, tool0\WObj:=wobj0;
This program works but I want to check my understanding with a couple of questions.
1) It seemed like I needed to use named points (p10, p20, ...) and not * points.
2) I was unable to find a function on the pendant that would allow me to select a group of moves and add an offset amount (in my program, 100mm in the +X direction) to each move. KUKA has such a function available on the pendant (SmartPad); I believe it is called "transform". Does ABB have a similar function available on the FlexPendant?
3) I'm thinking that in order to wind up with a point I can touch-up (ModPos), I would need to use a statement like: p10 := Offs(p10,100,0,0); Is there a way to enter this kind of a statement efficiently on the FlexPendant or is it smarter to move to RobotStudio to do these edits?
Thanks for any advice.....matt