World Zones - Home position monitoring

Hello All

I have some issues with World Zones. I want to monitor Home Position of robot so I made logic according to ABB manual but it is still not working. Can someone experienced in this area take a look on this and maybe find out what I’m doing wrong?

I’ve created PROCEDURE zone_output() as in the picture below:

Then I called it as POWER_ON event:

As I understand it should constantly check Home Posotion. Problem that I have is that when I start some other PROC e.g. move (MoveL) to other position this Home Monitoring is not working anymore. Even if I go manually go back to home position the output is still 0.

Can someone help me with this? Big thanks in advance!

Make world zone stationary, not temporary and then reboot.

Hi,
you have temporary WZ.
You need stationary. You must change:
VAR wzstationary home_1x:=[0] and " WZDOSet\Stat…"

Hi,

I’m pretty new to ABB robot programming, and I want to use this function.

You say that you have used the ABB manual to write the logic for it.
Could you tell me where you find this information, so i can write something similar for my program?

Thanks in advance

-Martin

Martin have a look in the Technical Reference Manual Rapid under WZHomeJointDef this would give you a good start on how to do this

VAR wzstationary WZ_home;
VAR shapedata joint_space;
CONST jointtarget delta_pos := [ [ 2, 2, 2, 2, 2, 2], [ 5, 9E9,9E9, 9E9, 9E9, 9E9] ];
		
PROC check_home()
    TPWrite ("power_on()");
    WZHomeJointDef \Inside, joint_space, rest, delta_pos;
    WZDOSet \Stat, WZ_home \Inside, joint_space, homeOut, 1;
ENDPROC

Hi everyone,
I was able to define the procedure check_home to check the robot position at rest within delta_pos, and then set DO homeOut accordingly.
I would like to know if exist something similar to the function WZLimSup to supervise and just set the DO homeOut to the proper value, without stopping the robot.
Many thanks!!

Edit: Just realized that WZDOSet actually supervises the robot position.