Inline position definition

  • Hey,


    New to motoman, but I'm trying to compare the same spline path across different brands of similar geometry/payload robots so we can confirm what we've done with one brand will work well with another. As such, we have a list of relative positions that we are moving the robot through. This works well with say, Kuka robots, because you can easily define the positions with respect to a defined user frame and in-line describe the position you'd like to move to, i.e. with KUKA:


    Code
    LIN {X 215, Y 400, Z -110, A 0.0, B 0.0, C 0.0}


    Is there a way to do this with motoman on a YRC1000 controller? I have 100s of points that this needs to run through, so manually teaching is simply out of the question. I'd like to be able to generate a .JBI file given just the list of points, and then be able to load it onto the controller and be able to run it, as I can do with a KUKA.


    Any ideas?

  • Quote


    Either need to use position variables

    How do I define these inline though? It's too tedious to go in to each position register and enter the values needed, and I'm also leery of doing SETE commands, since this is going to be SETE 6 times per position, so if I have 100 positions to go to, my program is now 6x as long. If this is the only option, then I guess I have to use it.... But wondering if there's an alternative way. I see that you can set either a position register Pxxx or P[n]. Are these different? Where can I specify what P[n] is?


    Quote

    have relative job software option turned on

    This is not something I'm familiar with. Could you elaborate?

  • How do I define these inline though? If this is the only option, then I guess I have to use it....

    Inline is not something on a Yaskawa controller.

    I'd like to be able to generate a .JBI file given just the list of points, and then be able to load it onto the controller and be able to run it, as I can do with a KUKA.

    To generate a job and dump it in, with meaningful positions, not pulse counts, the positions would need to be in XYZ. This leaves your choices with using position variables or the relative job software option.


    Relative job will take a job written in pulse counts and convert the positions to XYZ, relative to something, the robot or a user frame. It will also convert a XYZ job back to pulse.

    I see that you can set either a position register Pxxx or P[n]. Are these different? Where can I specify what P[n] is?

    Pxxx is directly addressed. P[n] is indirectly addressed. The [n] could be a constant value or a variable.


    Example.


    P000 would be using the data in P000, whether that is a position to move to, or a shift amount, or an increment move. This position would be stored in the job's header. If opening or generating the job off-line there would need to be data for this address in the header.


    P[0] would still be using the data in P000. The data would not be stored in the job's header. This is convenient for an integrator who dumps standard jobs into all the cells they do controllers. The programmer would have to either set up the data manually or programmatically.


    P[B000] would use the data in the position variable's address that is what ever is in the contents box of B000. If B000 contents box is 0, this would be the same as P000. If If B000 contents box is 1, this would be the same as P001.

    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.

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