RobotStudio event

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.
    Lee Justice
  • 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 Greve
  • Martin have a look in the Technical Reference Manual Rapid under WZHomeJointDef this would give you a good start on how to do this
  • dry_patrick
    edited February 14
    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;
    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.

    Post edited by dry_patrick on