Posts by Motouser

    Would be nice to do something about this NOP, but I think this is permanent, is that correct?

    Yes both NOP and END are mandatory.


    It appears that any PL value set is relative to that JOB only (this is what you are saying)

    Not relative to the job, it's worse, it's relative to the single motion instruction:


    MOVL Pxx0 PL=8

    MOVL Pxx1


    In the example above, in the same JOB, the PL=8 is applied only to Pxx0. The second one has no PL specified. If you want a PL=8 then you will have:


    MOVL Pxx0 PL=8

    MOVL Pxx1 PL=8



    the motion instruction appears to be executed as though I have set PL0 instead

    Are you sure?

    PL=0 is the highest level, it will cause a temporarily stop of the robot like the highest ACCURACY in AS.

    You can set the PL "accuracy" from 1 to 8 with some S1C parameter in microns(S1CxG33...S1CxG40) but not for the PL=0.

    Check in the inform manual the MOVJ instruction.

    Hi kwakisaki,

    I imagine that your job is doing is that way:


    MOVL Pxxx PL=8



    As far as I know the PL is relative ONLY to the motion that you write in the job, even if you have a second movl in the main and you don't specify a PL it will result that the second MOVL doesn't have a PL.

    You have to specify a PL for each single motion instruction MOVL/MOVJ ...etc


    the BMOV is the giant version of GSTR:

    instread of write

    GSTR #10160

    GOUT #30180

    GSTR #10170

    GOUT #30190

    you can do it with one shot:

    BMOV #10160, 2,#30180

    Of course is super usefull with a lot of GSTR.


    from nx100 to dx200 the only way to use the SOUT is to read ii with a DIN:

    DIN LB000 SOUT#(xx)

    IF LB000=0

    'do something'


    I prefer to use local variable that you must declare in the job before use it.

    This also for FOR and WHILE.


    I get the impression, this is limited to CIO, but would like to know if using INFORM, this is possible.

    I use it in the job regularly to check if the robot is in an interference area for example and also in the CIO to do some "plc logic".

    A bit of history: in older NX100 version all these "structured language" didn't exist. Imagine the code :sadsmiley:

    - After running the routine to register a new UserFrame on the robot, I would like to understand what the step-by-step procedure is to display the values of this UserFrame in coordinates on the controller.


    to dispaly the values go to:

    ROBOT -> CURRENT POSITION -> select PULSE will appear a menu to choice the frame you want (PULSE again, BASE, ROBOT, FRAME)-> select FRAME and enter the number of the frame you've registered.


    - In addition, I would like to know what I should do to be able to manually enter the UserFrame values in coordinates on the controller.

    I don't understand, if you've already created the frame you know how to enter the values to recreate the frame.

    If you mean how to create a variable in that frame:

    go to the menu with the P var, select a var (for example P005) and init this var in the FRAME that you create. Then in a job use this var in a movement command(movl, movj, etc...)


    I admit that the CS configurator graphics is better that the motion axis range.

    I have never have a tool so small that falls entirely inside the bubble, I didn't think that was so big.

    For the spheres dimensions I must confess my ignorance, maybe someone in the forum could know some parameter that could help.

    And yes the FSU is a very pain in the a.... You must pass to flash memory reset and to restriction of operation.

    Just as example I use endless rotation on external axis and it's incompatible with FSU, even if I want to exclude the ext. axis. Remember that my experience is limited to DX200 controller, as I said before maybe someone in the forum that works with the newer controller(YRC) could help you or know newer functions.

    Hi kwakisaki;

    for "surrounding bubbles" you're meaning this black spheres around the robot:

    If yes, I'm sorry I really don't know. I'm not sure but I guess that they will change according to the robot model.

    For the T-axis you must consider the setup of the tool envelope. It could help you to mask the T-sphere.

    Hi kwakisaki,

    yes I can confirm for a live robot. I suspect also Motosim (considering that it's a virtual environment of a real robot).

    The system job looks like a kawasaki PC task, but it's not the same.

    I don't know what your application is going to do but I prefer solutions made with the ladder, sometimes it's very hard to achive and a "system" job will be better.


    In yaskawa using the ladder will not mask a system job or the CIO. In the past I've been warned that using the KLADDER will mask any other use of the IO, is it true or my memory is going to be..... :sleep:

    1325: communication error (maybe the encoders cable inside the cabinet is not properly connected)

    4713: ext 24v power error (maybe the the 24 v line is not wired correctly)

    4107: your robot has lost the home position. Check if the value of the encoder in the home position menu are ok. if someone has a * you have lost the data of that axis and need to rezeroing.

    4109: another dc 24v problem. Should be a subcode whith this error.

    0000_0001 is a fuse blown. 0000_0011 is a power supply error.

    Personally I will contact Yaskawa for help.

    Where can I find the list of errors I use?

    I created an error 8000 using SETUALM, but is it possible to actually see what section it is in?

    NO section available. You are using an inform instruction inside a job to create it.

    Also be careful don't use it for safety purpose, because if you manage to stop a robot using the SMODE yaskawa doesn't guarantee the stop of the job.


    in the I/O ALARM (user) section i found "low air pressure" in section 9064!

    how can i see where this error is located and change the range?

    Usually the "low air pressure" is allocated from the factory to be easily usable. Yaskawa will give you also a "physical" access to the signal in the I/O connector ( usually CN309-A2) and a logical input signal ( usually 2027). I'm not sure that you can change it using the LADDER, you could only ignore it using another low air pressure made by you.


    simply answer: NO.


    depends on your program.


    If you have a simple program made of simply position created in teach mode, you have to reteach that not only because of the controller but also for the difference of robot model.


    Your program is a relative job with a couple of P-VAR created with a specific user frame and a tool. In this case you have a good "chance" to convert your job easily.


    Your program is MACRO made only of PULSE/DOUT/DIN, no moves inside. Yes you can use, but your have to specify your input/output in the same position of the old controller or you have to rewrite the program.

    Other problems will come up if you use if/for/while because the syntax change a little bit offline:

    IF in an offline DX100 is: IFTHEN

    IF in an offline DX200 or newer is: IFTHENEXP

    So you have to change it with the correct syntax or when you will try to load it in the controller you will get an error.

    Simly answer: NO. You must apply it at least one time

    The "shifting effect" will be cancelled if you edit the job, restart from an alarm and turn off the controller.

    With special parameter( as far I know it involves a FD parameter that must be purchased) it will stay activated even in teach mode if you move around the program(not sure if you go outside the program in other menu, I have to check).


    All the info that I have refers to DX100 or DX200, maybe newer controller or newer software version could have other options.

    Thank you for your options,

    Can you give me example for option 1 that you said?

    About option 2, are you sure there are function parameter for infinite rotation? Because i didn't listen about it.

    Yes it exists, but involves some parameter that need the Yaskawa assistance.

    Basically the MRESET is done automatically.

    But if I remember remain a limit: you can go to a max value of 999999999 after that it's possible that could rise an alarm like 1656(AXIS ENDELESS INFO NOT GENERATED) or the controller will stop briefly to do a real MRESET.