Posts by cbase09

    So I gave no detail on the cell in hope that the question I was asking had a solution I was looking for without having to write a book....I understand that this is not helpful am opens up the responses/solutions to a broad range...
    So my cell will consist of a 6-axis welding robot that will control 4-5 independent axes all controlled by a PLC. Let's just go with that I have 4 ind axes. The cell will have multiple part types running through it, not randomly throughout the day. The customer programming standard calls that each part type has its own program per part type. A part comes into the cell and that one program will have too move all axes (independent and robot) to complete the job of that cell. This forces me to set all independent axes into their own motion group. As I am creating the programs for this robot, I can not assume that I will be debugging the cell. So, the programs will go through not only a programmer, but multiple customer hands per day when it runs production on their floor. My idea, no different than most, is to make the programs as simple as possible such that you have to try to mess something up and crash the robot or independent axes.
    Yes, I could create a macro or karel program, which then I make the argument set the value of distance traveled to a PR or P or whatever. If that is the case my best bet would be to set each independent axes to it's own motion group to reduce error of setting a value to the wrong axes of that motion group. I am 100% for this option if I have to or even can. The downfall is that the customer is very strict on nothing being added outside of what is already given.
    Another option is a Point using the increment command or a PR. Both of which, if called in my motion program, I have to set all independent axes into 1 motion group because the robot motion are in this program as well and you can only set 2 motion groups active in 1 program. This to me is very risky because now I have to put faith in the customer's that they will look at the commands and comments closely if they would ever have to change values.


    I again would like to thank everyone for their feedback....I should have mentioned that I do have other options that I am aware of and know I could do...I was just hoping that Fanuc had a similar option as ABB command. I just want to make this simple, not only for customer operator's to understand so they can't mess it up, but I am trying to follow their standard so we don't get thrown under the bus if something goes wrong on their floor because an operator changed something and crashed the robot, all because we didn't follow their standard to a T.

    Thanks for the response DaveP, but that would be the same thing as using the inc command of a point, which is what I would like to avoid if I can.


    The ABB command that I am referring to is as follows:
    IndAMove MecUnit Axis [\ToAbsPos] | [\ToAbsNum] Speed [\Ramp]


    MecUnit: is the name of the mechanical unit (Independent Axis)
    Axis: the number of the current axis for the mechanical unit
    [\ToAbsPos]: Absolute Position Axis to move to (deg or mm)
    [\ToAbsNum]: Same as ToAbsPos
    Speed: Self-explanatory (Deg/s or mm/s)
    [\Ramp]: decreases accel/decal for better performance.


    If there is nothing similar to the ABB command above then we are forced to go the route using PRs or incremental points. I just find it hard to believe that Fanuc doesn't have a command or function similar to the above ABB command.

    Good afternoon all,


    ABB robots have an IndAMove (Independent Absolute Movement) command in the main task program that allows the programmer to move an independent axis a specified distance/rotation. I am wondering if Fanuc TP has something similar? I am wanting to call the specific group that the independent axis is configured to and move a specific distance, without creating a point.


    I know there is an incremental (INC) option at the end of a taught point that moves the robot a certain distance/rotation from the previously taught point, but I know that operators/programmers could very easily enter the value into the wrong position and/or group.