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.