Posts by Motouser

    Ok, I checked and it is still there. Could Motoman be any more vague with this message? Robot runs ok no errors, but I sure would like to know what it expects me to check and then to acknowledge that message so it goes away. Thanks all.

    I add my two cents to your request:

    I have checked the axis and do the grease refilling and still I've the message. What we have to do now?


    This happen on DX200 and I guess also in YRC1000

    1 - Back up everything (even CMOS file)

    2 - Back up everything (even CMOS file)

    3 - Back ...I think you understand


    4 - If you don't have to transport the robot, leave it in HOME POSITION. This will allow you to recreate the home immediatly (if an encoder lost memory and data)

    • leave the power on or off?

    This question is not clear to me:/......if you are in "shutting down" your robot if OFF

    It's a MACRO.

    You can see its contruction on the macro list.

    It has 3 arguments LT,B0 and B1 that where stored in LB000, LB004 and LB005 that are 3 local variables (visible only in the job used).

    The 2nd arguments seems to be used to create a position (it indicates in which Pxxx I will put the value stored in LP000) and the 3rd to create a B variable (it indicates in which Bxxx will be stores the value of LB003).

    I don't see the rest of the macro nor the job in which is used so I can only conjecturing.


    it's a combination of PP version (the code that you write in your post) and software version of the controller (for example NS3.95A-00) that gives you the possibilities to switch a pendant.

    Now you need a program pendant upgrade that is a special yaskawa procedure:

    contact yaskawa they will give you a program, put it in a CF card and then you have to type some command.

    I tried manually to remove all the extruderon/off commands but that did not make a difference.

    You can use notepad++ (it's free) and then the command CTRL+H to eliminate instantly all the EXTRUDERON/OFF lines. Maybe it will no make difference but for the programming reason is highly recommended.

    For the slowing down:

    as swr98 said the reason is probably singularity or an high number of points

    It is possible I suppose, but I should note that the welder/operator is rather meticulous and very good at what he does, and we also have a jig/fixture that pretty much ensures that it'll always be in the same spot every time, give or take. I wish I had video of the error, it's surreal how far off it goes.

    Just to give my opinion: I think that the problem is the welder instead of the robot's moves. Maybe there is something that delays the start of your welding, maybe the cables of the welder are in a strange position around the 9th welding line or the cables have a little damage that is forced during those moves?

    Try this code before your SFTON:

    Note: use a different Pvar instead of P001

    Note2: I'm assuming you have tool 1 created and calibrated

    'init variable

    GETS PX124 $PX000

    CNVRT PX124 PX124 BF TL#(1)

    SUB P124 P124


    SETE P124 (1) "put here your X shifting values"

    SETE P124 (2) "put here your Y shifting values"

    SETE P124 (3) "put here your Z shifting values"


    SFTON P124 BF

    SFTON Pxxx TF

    where Pxxx is a variable in which you put your correction

    TF: a flag that indicates to do a shift in tool direction

    You need a Tool well calibrated and SFTOF at the end of your move to stop your shift


    SFTON P001 TF





    All the moves inside SFTON ...SFTOF will be shifted

    OK at the end just to give a contribution..I've created this job that allows to change a user frame "safely"(I think:/),I've done a couple of test..... it seems good:


    Now is clear the frame remains in its position regardless the TCP.

    As you write before:

    Only problem with this, if you are using multiple frames, then you must make sure the correct BASE is used/executed prior to teaching a reference location and also to move to it.

    That also means that if I want to physycally modify the points of my user_frame1, first of all I must be in BASE Null(of course I imagine to create it in this condition).

    Because as the video shows if I go to o1,x1 and y1 in BASE user_frame1 they are referenced to BASE user_frame1 and so "shifted".

    Hi kwakisaki,

    of course thanks for you comment and for the time, you're always on top.

    Back to your post, about the first part: it works the same way of other robot FRAME instructions and I found it very comfortable coz I always use a procedure very similar to the one that you've described. What I would like to understand is this situation.

    Remember the FRAME ignores the OAT values of the reference/element locations used.

    So, needless to say, you could teach the elements o1,x1,y1 in ANY orientation you like and also for smarts (I have never tried it), you could use different tool values to teach these elements too, just as long as the TCP is at the required XYZ location.

    1. BASE Null, Tool t1= 0,0,100,0,0,0. Moving the robot I can create the 3 points that I need (org1,x1 and y1) so I can build the user_frame1.

    Then I create the job in BASE user_frame1.

    Then I "recalibrate" my t1=0,0,200,0,0,0 but I physically don't recreate the 3 points for the frame(I don't move the robot to the 3 points).

    Now with this operation I've shifted the frame1: so the points in the job all are moved to 100 mm in z direction?

    Hi guys,

    a silly question about FRAME function.

    I understand how to create a FRAME from the AS manual, what I want to clear up is the best way to do it.

    Imagine that I create the frame: POINT user_frame1 = FRAME(org1,x1,y1,org1) and imagine that org1,x1 and y1 are created with TOOL t1.

    What happens if I change the tool t1? Is the user_frame1 different? All the position will be altered?

    Basically is better having a specified tool for creating a frame (that will be never changed) or a NULL tool?

    Thanks in advance


    1. You monitor in current position shows PULSE, in that way it's difficult to understand if you set your frame correctly or how much (in mm) is the difference, change it in ROBOT or BASE.

    2.When the robot is in HOME all the axis are in their zero position(there is a line and a plate for eaxh axis, the line must be in "line" with the arrow) and in this case your current position in pulse is all zero?

    3. you have a tool created TOOL 9, is it calibrated?

    4. Is the table perfectly aligned with the robot axis?

    You can use the internal ladder (if you have this option).

    Example ( I don't remember the correspondence between IN#(226) and IO group, but imagine IN#(226) = #10126)


    STR #80035 //ext hold

    OR #10126 // your specific signal

    OUT #76637

    When your signal goes on (at any moment) your robot goes to stop.

    Another way is : SYSTEM JOB (another paid option).

    it's like having a ghost job that run continously that monitor your programs

    Maybe you need a CAD/CAM software: in some application for a simple circle you need hundred of points for a good results and the only way to do it is to create a path in a CAD and postprocessing in a CAM.

    I use Eureka but there are tons of programs for robot.