Hi guys
Can anyone help me to declare a new Home position in the Program.
Thanks in Advance
Im a Rookie in this field
Hi guys
Can anyone help me to declare a new Home position in the Program.
Thanks in Advance
Im a Rookie in this field
Hello Sharkbester,
As far as I know there is no HOME Position in ABB, you can anyway program it by yourself by using any of the variable type available to store positions:
POS: XYZ.
ORIENT: Quaternion orientation representation.
ROBTARGET: POS + ORIENT
Take a look at the RAPID programming manuals, ABB has done a great job in their documentation. As it should be everything is explained there and there are no dark hidden features.
Good luck with that!
On the teach pendant;
data types(or Program Data) > joint positions > JHomePos > Modify Position
It's probably a good idea to also do this, so the two match;
data types > robtargets > pHomePos > Modify position
Then restart the controller.
You can test the change by jogging your robot away from the new HomePos(either point will work), then executing a move to the homepos and verifying that your homepos bit turns on in the I/O screen.
I will have to test that Sharples I was not aware of that. This is the code I use to produce an output at a home position.
VAR wzstationary home;
PROC Home_Output()
VAR shapedata joint_space;
CONST jointtarget delta_pos := [ [ 2, 2, 2, 2, 2, 2], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ];
WZHomeJointDef\Inside, joint_space, Home1, delta_pos;
WZDOSet\Stat, home\Inside, joint_space, At_Home, 1;
ENDPROC
This is put into the user.sys file. A point will need to be defined as Home1 with MoveAbs command. The output is called At_Home and the access has to be set to system or something like that. The procedure needs to be called in a Power_On event. If the position is modified the robot needs to be restarted. The procedure is very similar for the older S4 robots.
Epiphany,
you are exactly right. I was making the assumption in my instructions that the elements you listed had already been set up.
It is important to note, for SharkBester, that the "At_Home" signal that you describe must be declared in the EIO.cfg file. Something like the below example.
-Name "At_Home" -Type "DO" -Unit "CommandIO" -Phsig 57 -Access "System"
Thank you very much guys for the help