# Posts by Zie ka Ndlovu

• ## Missing Io issue with Devicenet

How did you manage to solve this issue? I also have similar errors, I am using a Fanuc RJ3iC robot for plasma cutting purposes with a Hyperthem Powermax135 power souce

• ## How to offset a called programme in a user frame that is at an angle to the robot world user frame FANUC

Quote

If you don't have karel, there are other methods that are a bit hacky, but will do the job.

Thank you Nation, I, unfortunately, do not have Karel. Please point me to where I can learn of the alternative methods?

• ## How to offset a called programme in a user frame that is at an angle to the robot world user frame FANUC

I am programming a Fanuc welding robot and my table sits at an angle to the cartesian axes of the robot. I have defined the table surface as a user frame and I am welding multiple small circular motions on the table. The circles are offset 130 in the "table x" and 130 in the "table y". I wrote a programme for one circle which I want to call with offsets instead of teaching many individual points.

What I am struggling with is how to offset the called programme. In the material I have gone through on offsets, I realise that one can use the offset function per individual point, but that would be very tedious to do as I have to add offsets to everything, even my lead-in and lead-out points. I have looked at changing the user frame dynamically. How I did this was:

- write the original table UF coordinates into a position register (say PR1).

- write PR1 into PR2 (PR2 is the dynamic PR)

- write PR2 into UF[2]

- call programme. The programme uses UF2

- offset PR2 [2,1 &2,2&2,3] as desired

- write the new PR2 into UF[2]

- call programme

- write PR1 into PR2 to cancel out the offset

- write the reset PR2 into UF[2]

- offset PR2 with new values.

- Write the new PR2 into UF[2]

- call programme

.... the cycle repeats.

The challenge I am facing now is that since the table is at an angle to the robot's cartesian (see attached picture), assuming I need one circle to be 130 mm ahead of the other one only in "table x", I have to go and calculate how much "world x" and "world y" I need to adjust PR2 by.

Is there a way in which I can have a PR that's already in the table user frame that I can use to adjust only the x in the table UF if I want to offset only in the table x?