Turn the Power Switch on the front of the controller from “ON” to “OFF” – wait 30 seconds – turn it back to “ON”
Do this before or after I apply my program to the controller? Because I already had the program on the controller, I turned it off when I left yesterday, and when I came back in today and started it all back up, of course my program was still on the controller. Still didn’t work?
Thanks,
SM
Cycle power after you add the zones definition procedure and the POWER_ON event routine to call the zones definition procedure. And, cycle power whenever you edit the zones so they update. You really don’t need a path program, since the zone restrictions will be active in manual mode too. I’d make sure the robot is clearly outside the zone, cycle power, jog the robot into the zone. What error are you getting? – still 50183?
In your above code you have a ‘main’ routine - but did you have one when you got the “RAPID symbol ‘main’ in ‘T_ROB1’ was not found” error?
Soup, I will try cycling the power again and seeing if that fixes it. Yes, it is still the 50183 error. Actually yesterday it wasn’t even picking up the WZ at all.
Graemepaulin, yes I did have a “main” routine when I was getting the “RAPID symbol ‘main’ in ‘T_ROB1’ was not found” error. That’s why I didn’t understand what it was saying… Any suggestions?
Thanks,
SM
Soup,
I cycled the power and tried both jogging and running the path through the WZ and it did not recognize that a WZ was there… Is there anything else that I am missing or that you guys recommend I try? I just don’t understand why the code works for y’all, but not for me… It must be something small that I am missing, but isn’t super obvious… I tried calling out the zone_output routine in my main routine, but I got an error saying: Event Message 40672. Description: It is not possible to add the world zone object. Another world zone with the same name is already defined in the system. Program Ref. /MainModule/zone_output/WZLimSup/17. Actions: Check the name of the world zone.
Any ideas on that? Should I possible try doing a temporary WZ and just using power on to setdo the temporary on/off? Would doing it this way still be functional for what I am needing to do?
Thanks for the help,
SM
“Actually yesterday it wasn’t even picking up the WZ at all.” – how can you tell / explain what you mean by this.
It was doing the same thing today. Basically I can jog the robot into the WZ and nothing happens (meaning I can continue jogging the robot in and out of the WZ and the controller doesn’t recognize that there is an active WZ). It will just continue either following the path right through the WZ or I can jog it in and out and around the inside and outside of the WZ. I need the robot to stop as soon as it reaches the WZ, and that’s not what is happening.
Thanks,
SM
So, when do you get the error message?
Well I am not getting the error message now. Now the problem is that it is not recognizing the WZ at all… Any suggestions on what else to try? Should I possible try doing a temporary WZ and just using POWER_ON to setdo the temporary on/off? Would doing it this way still be functional for what I am needing to do?
Thanks,
SM
Please attach a backup of the controller as it stands currently - I will then create a system from this and see if I get the same issues as you.
Graemepaulin,
I created a backup of my controller and I am trying to upload the file but it has several subfiles (BACKINFO, HOME, RAPID, SYSPAR) and each of these has more files. What do I actually need to attach?
Thanks,
SM
I am considering just starting over and trying to do it with temporary WZ’s and just enable them and disable them. This is my code, and it still isn’t really working. Did I need to link anything to POWER_ON still?
MODULE MainModule
CONST robtarget p10:=[[461.29,144.16,221.59],[0.29728,-0.143906,0.942789,0.0454265],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p20:=[[422.52,-233.55,218.06],[0.287825,0.238498,0.924538,-0.0741974],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p30:=[[422.52,-233.55,538.15],[0.287814,0.238489,0.924544,-0.0741978],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p40:=[[433.25,226.30,534.73],[0.289204,-0.227574,0.927106,0.0710358],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Home:=[[373.93,0.03,630.05],[0.707179,-3.9492E-05,0.707034,9.98114E-06],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR wztemporary object2;
PROC temp_zone()
VAR shapedata volume;
CONST pos corner1_1:=[275,353,101];
CONST pos corner2_1:=[369,-353,534];
wzboxdef\Inside,volume,corner1_1,corner2_1;
WZLimSup \Temp, object2, volume;
wzenable object2;
Path_10;
WZDisable object2;
ENDPROC
PROC main()
temp_zone;
ENDPROC
PROC Path_10()
MoveJ Home,v200,z5,tool0;
MoveJ p10,v200,z5,tool0;
MoveJ p20,v200,z5,tool0;
MoveJ p30,v200,z5,tool0;
MoveJ p40,v200,z5,tool0;
MoveJ Home,v200,z5,tool0;
ENDPROC
ENDMODULE
Thanks for any help,
SM
zip the top level backup folder (so you include all sub folder) - it reduces the file size dramatically and attach that.
Graemepaulin,
Attached is a backup of my controller. It may have had a different program on it, so you’ll still have to upload my code in it I think…
Thanks,
SM
120-800043_BACKUP - Copy.zip (45.5 MB)
This is my code attempting to do Temporary WZ’s:
MODULE MainModule
CONST robtarget p10:=[[461.29,144.16,221.59],[0.29728,-0.143906,0.942789,0.0454265],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p20:=[[422.52,-233.55,218.06],[0.287825,0.238498,0.924538,-0.0741974],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p30:=[[422.52,-233.55,538.15],[0.287814,0.238489,0.924544,-0.0741978],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p40:=[[433.25,226.30,534.73],[0.289204,-0.227574,0.927106,0.0710358],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Home:=[[373.93,0.03,630.05],[0.707179,-3.9492E-05,0.707034,9.98114E-06],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR wztemporary object2;
PROC temp_zone()
VAR shapedata volume;
CONST pos corner1_1:=[275,353,101];
CONST pos corner2_1:=[369,-353,534];
wzboxdef\Inside,volume,corner1_1,corner2_1;
WZLimSup \Temp, object2, volume;
!wzenable object2;
Path_10;
!WZDisable object2;
RETURN;
ENDPROC
PROC main()
! Path_10;
temp_zone;
!WZEnable object2;
ENDPROC
PROC Path_10()
MoveJ Home,v200,z5,tool0;
MoveJ p10,v200,z5,tool0;
MoveJ p20,v200,z5,tool0;
MoveJ p30,v200,z5,tool0;
MoveJ p40,v200,z5,tool0;
MoveJ Home,v200,z5,tool0;
RETURN;
ENDPROC
ENDMODULE
However, it is not recognizing the WZ, and I keep getting an error after the first cycle: “Event Message 40664. Description: The ‘object2’ worldzone has already been defined and activated. A worldzone can only be defined once. Program Ref./MainModule/temp_zone/WZLimSup. Actions: Use a worldzone with another name.”
What does this mean, and what do I need to do in order to fix this?
Thanks,
SM
I don’t see a POWER_ON event defined in the SYS.cfg of your backup.
I may not have had it made when I made the backup, I thought I did. I know how to make a POWER_ON event though.
Hi
sorry for the delay…
Attached a is a zipped pack & go ( go to share on the file tab and unpack & work) of the station I created from your backup - and them added the world zone code.
The test program stops the robot at the edge of the world zone.
Regards
Graeme
WorldZone.zip (86.8 KB)
Graeme,
Thanks a ton! You’re my hero! I have a question though. Was mine not working because my targets were declared as CONST instead of PERS or what was the issue that I was having that you did differently?
Thanks again,
SM