Posts by smith_scott

    Your robot moves based on positional data. It can not move based on a torque setting.

    Your getting the shock alarm because the robot believes it is "hitting" something (crashing). You can adjust the shock settings for this axis.... you would need to make it higher.

    100 is default and I never recommend you go above. You will have to see what your tripping out at... if it is very high then you will need to find another way otherwise you risk damage to the arm.


    When a robot is wall mounted, the s-axis working range is severely restricted. If you modify this, then you risk damage to the motor / gear box.

    Gravity does NOT have any effect on the s-axis when floor or ceiling mounted. When you wall mount, then gravity has an impact.


    look at your robot jobs in notepad.... change the tool definition.

    ///NPOS 0,0,0,7,0,0
    ///TOOL 0

    your tool files are just a place holder for a TCP dimension. It's not tied to any specific robot. When you are teaching, select your robot and then select the tool.

    As the point gets recorded into your job, it remembers what tool was selected.



    1) Your controller is extremely old however assuming your robot is in good condition it's actually not bad for offline programming. This is mainly because you have an additional link arm running from J2 to J3. It gives the robot good rigidity.

    2) Ethernet is just not a possibility on this robot. The best you will get is serial communications.

    3) FTP was not even a thought when MRC was developed. You will have to invest in the communication software called VDE or FDE to communication between a PC and the robot.

    4) The DLL file typically is not given away as a freebie. If you were planning on doing some software devleopment for mass distribution then I'm certain it would be a different story. That said, the communication protocol is freely available and would be up to you to develop the serial connection and handshaking, sending commands, receiving commands, etc...

    The Motoman DLL does this for you very simply and gives you sample code for VB, C++, etc...

    1) Use the I/F panel function. Assuming you are in North America, it is enabled on all robots leaving the factory. Not sure about other countries.

    2) Under Setup Icon, you will find a sub menu called OPERATE FUNCTIONS. (something like that) here you will see an option that controls the security level at power on. It probably says EDITING you can simply change to operator.


    Your description isn't very informative. If I understand correctly, every time your robots move, communication between robot & PLC drops out.

    -> Is it only when all 4 robots move? 3 robots?, 2 robots? 1 robot???
    -> What kind of ethernet cables are you using??? Store bought computer style ethernet cables are crap and have hardly no shielding from outside interference. A quad robot controller puts out a lot of current to each motor which could cause interference in the ethernet cables.
    -> Check how your cable is routed. Keep it away from servo pack or motor cables.
    -> get a good quality ethernet cable


    Some YEW boards are both analog in and analog out. The YCP02 board is sensor function which also offers analog inputs. The Sensor function gives you the GETSFT command as well as the S1E commands.

    In this case, we are using regular analog inputs so the YCP02 is NOT present and the S1E parameters are not provided.

    M registers as indicated are to be used.


    Hi MitchMan,

    Analog inputs show up into an M-Register. Analog #1 shows up in M600. The full listing is attached.

    In your robot job, use the GETREG (get register) command to read the value of M600.

    This will show up as a number that needs to be scaled. The input is 16 bit so you will have to do some math to get the results into the appropriate unit of measurement.


    Hello Robot Forum,

    I'm curious to know if there is anyone on this forum in the Toronto, Ontario area that has a solid understanding of robot kinematic math. I'd like to learn a few things and have a few questions answered.

    What I can offer is access to a wide variety of Yaskawa industrial robots.

    Please touch base with me via PM if there is any interest.


    What I've done in the past is as follows

    -> teach the pick up location for the bottom ring and store this value into a position variable. It will be important that you store your data into something other then pulse counts. It needs to be in XYZ. P000 for reference.
    -> Search for your next ring like you've already described "MOVL V=100 NWAIT UNTIL IN#(1)=ON"
    -> Once the robot stops, the next line should be something like this

    GETS $PX001, P001

    -> $PX001 = robot current position in XYZ and store this into Position Variable P001
    -> Use the command MSHIFT to calculate the shift amount between the 2 variables
    -> MSHIFT P003, P000, P001
    -> Shift results are stored into P003 with P000 and P001 your 2 input values.
    -> If the shift direction is opposite then flip P000 and P001 around
    -> Do a SHIFT ON P003 command and your original pickup point taught at the bottom of the ring will now be temporarily shifted to the offset height.
    -> When done, do a SHIFTOFF command


    You are asking too much in one post. Your asking us how to program your application without understanding it and all the variables that might be involved.

    Your best to ask specific questions about your current road block. At this point, your question should be who has training manuals on these robots.



Advertising from our partners