That is correct, once any axis of the robot moves out of the home position tolerance the output goes to "0". If the PLC is looking for this then yes, you will get an error. You can also use a WaitDO or WaitUntil for the output to be on in the start of your robot routines.
Posts by 5GensOfFun
-
-
Iowan is correct, a World Zone will do this for you. Instead of looking at the TCP position it is safer to look for the position of each individual axis. The TCP could be in the correct place but the other axis could be in an area where, for example, a turntable could collide when indexing.
Your code should look something like this (VARS and jointtargets can be named as you like. Note that "delta pos" here represents the allowable deviation from the home position):
LOCAL VAR wzstationary wz_home;
LOCAL VAR shapedata joint_space;
LOCAL CONST jointtarget delta_pos := [[0.1,0.1,0.1,0.1,0.1,0.1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL PERS jointtarget jpos_Home_rob1 := [[45,-30,30,0,55,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROC set_home()
! do_Home_R1 output control
! set up at Power On
WZHomeJointDef\Inside, joint_space, jpos_Home_rob1, delta_pos;
WZDOSet\Stat, wz_home\Inside, joint_space, doR1home, 1;
ENDPROC
This should be in a System module and the routine needs to be in the Power On shelf of the Event Routine, linked to whichever Task it's applied to (T_ROB1 etc.). It's easier to make using RobotStudio but can also be done using the Flex Pendant. -
Hi, I have a small problem, maybe someone can help.
I have DX200 controller and want to capture the current date/time from the system. I know with ABB I can use CTime and CDate command, is there something like this we can use with Yaskawa?
Thanks in advance!
-
I'm an idiot!!!
used "round" and all is good!
thanks anyway!
-
Hello folks,
I have a small problem and wonder if anyone has a solution...
If the robot speed has been reduced from 100% on the flexpendant for whatever reason, I want to send the PLC the current speed in a group output. The code I made works just fine until I tested at 60% speed, at which point it returned a value of 60.000004!
I've tried converting to a string, back to a value etc., but am now a bit stuck as to which way to overcome this problem.
The code is:
PROC speed_check()
!
flexpendspeed:=CSpeedOverride();
!
IF flexpendspeed<100 THEN
!
SetGO go_SpeedValue,flexpendspeed;
TPErase;
TPShow TP_LATEST;
UIMsgBox " Robot system speed is not 100%"\MsgLine2:=""\MsgLine3:=" Robot rendszer sebességét nem 100%"\Buttons:=btnNone\Icon:=iconInfo\MaxTime:=2\BreakFlag:=spderr;
ELSEIF flexpendspeed=100 THEN
SetGO go_SpeedValue,100;
ENDIF
!
ENDPROCThanks in advance!
-
Hi peeps,
I have a small problem and I hope one of you can help...
I created a SmartComponent in RobotStudio, it has a line sensor which activates a gripper. I have the I/O set up for the component and it works just fne, but how do I incorporate this into a station? I've saved the SC into the library and it keeps it's attributes when loaded into a station, but the I/O remains seperate!
Thanks in advance!
RS Ver 5.15 btw...
-
We had a similar problem with the external brake fuse blown on a DX100, turns out the maintenance guy had foolishly tried to short the shock sensor in the cabinet and attached the two wires from the robot to each other, rather than the two they connect to in the cabinet...
-
Maybe this can also help?
-
Maybe this will help?
-
I'm glad I was able to post something different!
Excellent question, and one I can't answer because:
A - The touchscreen doesn't work! (the Area key's looking pretty grubby..!)
B - I don't know how!I'm guessing without the functionality I'm not going to be able to calibrate the touchscreen, but even so, I'd be grateful for a quick how-to, if someone has the time. We have several NX PP's with the calibration off to a degree, it'd be nice to be able to recalibrate those if nothing else.
-
Hi all,
This is my first request for help from you guys, I'm a newbie here and have already learned a lot ( thank you!) from previous topics (I fall into the category of programmer who can't get on a course due to company politics so have to self-teach) but am stumped with a particular issue..
We have one NX teach pendant (out of >100) which displays upside down (rotated 180 degrees)? The fault travels with the pendant from one controller to another, which made me think the issue was likely to be wiring related rather than a parameter etc., but the Maintenance guys swear it's correctly wired and mounted within the pendant.
I know we can flip the display on an ABB flex pendant for left-handed users, but having trawled the NX setup manual as well as the basic programming book and the XRC/NX parameter book (shhhh!) I'm still left scratching my head. I've been through all the display setup options in Management and Maintenance modes but can't find anything there either...
Anyone have any ideas?
Thanks!