Learning Motoman

  • hi everyone,


    just started learning about Motoman and from time to time have access to YRC1000 / GP7

    so i will be asking a lot of questions here for all the kind souls that have been down the same road before. i will try to keep all of my questions in this thread.

    To make discussion easier, i will number the questions Q1, Q2, etc.


    Q1. Is there a setting that controls what happens with ServoOnReady? the way i see it, one has to press servoOnReady every time before using enabling switch. looks redundant to me, specially after seeing videos where someone only used the SeroOnReady once then pressed enabling switch several times in the row (ServoOn lights were blinking even after enabling switch is released).


    Q2. How to see robot position in different ways? using menu Robot>Current Position, i can see joint angles in degrees. but that is the only representation i can see. using COORD button does not change the view. How do i see Cartesian position in different frames?


    Q3. How to see/manipulate position registers? using menu Variable / Position (robot) i only see one and cannot make it display anything (everything is null all the time).


    Q4. How to access current robot position in code? I need to read current robot position (joint, Cartesian, whatever), access individual elements and make decision based on that. A hint i got so far is that one would transfer current position value (such as $P000 or whatever) into another variable (something local?), then extract individual element (2nd for the second axis value).

    Not sure if this is for a different controller or if i recall it correct but i suppose its something like:


    Code
    GETS LPX000 $PX000
    GETE D012 LPX000(2)
    JUMP *LABEL1 IF D012<=1234
    ' move axis 2 to whatever position
    *LABEL1
    ' axis 2 is clear... do same with the next one...


    Q5. How to create custom variable monitor (like ConfigMon in KUKA or VAT in Siemens PLC software)? I would like to keep things used frequently together.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Place your Ad here!
  • Q1. Management security or higher. SETUP, OPERATE CONDITION, SV ON READY OFF AT DSW RELEASED.


    Q2. In the current position screen go up to DISPLAY, in the drop down touch on PULSE. Now you should be able to press SELECT and get BASE, ROBOT, and USER.


    Q3. Position variable addresses can be changed by pressing the PAGE key. Only one address is displayed at a time. The Position Variables are considered unformatted. If you press SELECT on the line of asterisks you get a box with PULSE, BASE, ROBOT, TOOL, and USER. To record the position press MODIFY, ENTER. Data can be hand typed in or the job can manipulate the data.


    Q4. $Px000 is the current position in PULSE. $Px001 is XYZ Base Frame. The CNVRT instruction will convert pulse to XYZ or a XYZ to a different XYZ. GETE will get a piece of data from the position variable and put it into a D-variable. SETE will take the value in a D-variable or a constant and place it into a position variable.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

    Edited once, last by 95devils ().

  • Q5. In Management or higher go to SETUP, FUNCTION ENABLE. Make I/O VARIABLE CUSTOMIZE FUNCTION valid. In the Main Menu go to the icon between JOB and VARIABLE. This is the application icon. May say GENERAL or ARC WELDING, etc.


    I don’t know KUKA or Siemens but this may be similar.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Q1 solved

    Q2 it is Display button (not Utility) but the options are only for joint positions (Pulse, Absolute angle, Ground angle). don't see Cartesian

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q5 also works (I/O VARIABLE CUSTOMIZE FUNCTION), but with limitations. it does not seem to support larger variables or structures (such as REAL, position register etc. )

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Nice one guys, some of these I've been lining up to ask.

    Q5 also works (I/O VARIABLE CUSTOMIZE FUNCTION), but with limitations. it does not seem to support larger variables or structures (such as REAL, position register etc. )

    Yes, this is because it is for IO only.

    Q2 it is Display button (not Utility) but the options are only for joint positions (Pulse, Absolute angle, Ground angle). don't see Cartesian

    Physically press ROBOT button, then press CURRENT POSITION button then just press SELECT button, you should see the dropdown window as below:




    Regarding Q1 and answer, I have done this, but each time I power cycle the controller, it becomes invalid.

    Just while I am writing this, I am thinking now that the controller is booting up in editing mode.


    Can this only function in management mode and higher after setting it?

    I am away from the controller till Monday or else I would of tried it tomorrow.

  • About Q1 - i just tried it and it is not solved...


    i powered it off while i went out. when i returned, I powered it on and system booted into EDIT mode as expected. but the ServoOn LEDS were flashing. so I pressed enabling switch and heard the familiar brake click when drives are enabled. and once the enabling switch was released, it was game over. switched to Maintenance mode and sure enough, setting is back to old value (SETUP, OPERATE CONDITION, SV ON READY OFF AT DSW RELEASED, value returned to VALID). is there any way to make this stick?


    elevated security level is needed to make settings change and then this works even for lower security levels - at least until power-down,.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • about Q2 - i can see current Cartesian position. btw. need to start reading not so hastily, i may have skipped some important things.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q3 solved, i can see other position registers in Variable/Positions. as suggested, one need to use PAGE button (thanks for this)


    I wonder if there is a variable monitor where one can see value of any variable or array. (yes, i am used to KRCs and VARCOR)

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q1. This resets back anytime the controller is rebooted..... :gaah:

    Also panic mode


    A couple of things I have found that may be of interest to you:


    a) Limitation in the no. of registers.

    - If you bootup into maintenance mode (power on whilst holding main menu key).

    - Then select SYSTEM/SETUP/OPTION FUNCTION and SELECT on 037 Variable Allocation.

    - You can then increase the register allocation.

    - Just be mindful, the more that's used does impact on memory (I assume), but gives you more to use.


    b) Variable names can be addressed in your JOB if the parameters associated with ALIAS are turned on.

    - Search in the general operators manual for ALIAS.

    - You will find a couple of parameters referenced to this S2C395 and S2C396.

    - You can then locate these parameters via the parameters button to turn them on.

    - May be worth looking into if your interested.

    • Helpful

    remote pendant was handy to make screenshots.

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q6 how is the IO mapping done on the robot side? Right now i have a cell that is duplicate of previous one. Robots talk to AB PLC over EthernetIP and while fieldbus is working, list of signals is not the same as on robots from previous cell. for example mode selection switch status used to be seen by PLC in the last three bits of byte0, now it is in byte4, job number is moved 2 bytes etc. of course we would like to see all cells use same mapping (and PLC program).


    Q7 MSG instruction displays one of predefined strings. but if several message instructions are used, only the last one seem to be displayed. is there a way to show more than one? and how are parameters handled to display value from some variable?


    Q8 there is also a PRINT command but no idea where output of those prints went.


    Q9 is there a pause or delay command? something that just waits specified amount of time before program continues with next instruction? i see optional delay settings for some of motions and of course one cu0old use timers but i would imagine one line instruction with suitable name (WAIT or DELAY or SLEEP or whatever)


    Q10 how is program speed override changed? For example program may be written to run at full speed but when testing it is nice to be able to throttle it down, in auto or external too (where speed selection buttons don't seem to work)

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q7. Only 1 message at a time. The message is overwritten by the next MSG instruction.


    Q8. The TERMINAL under IO in the Main Menu.


    Q9. The TIMER instruction in the Inform List, Control or WAIT TIMER T= under the Inform List, In/Out.


    Q10. Manually put the number in the Speed Overide box or a search of the Yaskawa forum will lead to a many page post of controlling from a hmi or IO.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Q10 when running program in remote, and safety is tripped, how to resume same program once the safety is fixed? need to do this programmatically, without using teach pendant (do not need or want to change job or move robot manually, just resume current job). With KUKA robots process is to have PLC enable robot drives, clear any messages and issue start. Here should be similar...


    Btw. thanks for all support. The official training is booked but it is nearly two months from now.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Q10. The plc, push button, or hmi could send a signal to the servo on specific input address. Then a start signal specific input given to the controller.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Quote

    Q6 how is the IO mapping done on the robot side? Right now i have a cell that is duplicate of previous one. Robots talk to AB PLC over EthernetIP and while fieldbus is working, list of signals is not the same as on robots from previous cell. for example mode selection switch status used to be seen by PLC in the last three bits of byte0, now it is in byte4, job number is moved 2 bytes etc. of course we would like to see all cells use same mapping (and PLC program).

    panic mode

    I suppose the EXTERNAL IO ALLOCATION on the Ethernet card doesn't correspond with Concurrent IO (CIOPRG.LST file).

    Chapter 4.2 Setup Procedure of this manual Ethernet function manual describes setting up Ethernet card procedure in Maintenance Mode. (You may be asked by server to leave contact details, before it allows you to download/read pdf file)

    Concurrent I/O manual is another one which explains how to modify CIO.PRG file to your needs.



    btw. You double use Q10 number.

    Edited 2 times, last by mil3k ().

  • thank you. got the manuals that came with the robot.


    the CIO file collected from robot has .PRM extension. according to KDiff3, this file is binary the same as one from the previous robot

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now

Advertising from our partners