Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Fanuc R30i - Generate Targets as Point Registers

#1
Howdy,

Is there a way to generate targets from RoboDK as "Point Registers" instead of "Points"?

I looked at updating the R30i post processor and the robolink.py, but did not find specific code that related to generating the targets as points vs point registers.

For our application, all targets must be point registers, so that the operators can modify the coordinates in the background, instead of having to reteach the points with the robot.

I believe I may have submitted this as a feature request back in 2020, but have not found my original post yet.
#2
When you generate robot programs for Fanuc robots, RoboDK uses Points by default (P data), if you want to use PR targets you should customize the post processor to use Position Registers (PR data) instead of P. In this case, you won't see the target definitions in the program but they should be manually defined in your controller.
#3
(02-05-2025, 10:43 AM)Albert Wrote: When you generate robot programs for Fanuc robots, RoboDK uses Points by default (P data), if you want to use PR targets you should customize the post processor to use Position Registers (PR data) instead of P. In this case, you won't see the target definitions in the program but they should be manually defined in your controller.

Howdy, in looking at the R30i post processer, there are no lines of code that reference (P data), I only see things for the the User Frame and Tool Frame.

The only line referencing point registers is:
  # Spare Position register for calculations (such as setting UFRAME and UTOOL)
    SPARE_PR = 9

Do I need to add lines of code to this post processor, or do I need to edit one of the scripts found in:
RoboDK -> Python -> robodk
#4
You could customize the post processor you have in C:/RoboDK/Posts/. You can find more information about post processor customization here:
https://robodk.com/doc/en/Post-Processor...SamplePost

If you have a professional license you can contact us through RoboDK by selecting Help-Request support and we can provide you with the source code of the post processor and help you better.
#5
(02-07-2025, 11:49 AM)Albert Wrote: You could customize the post processor you have in C:/RoboDK/Posts/. You can find more information about post processor customization here:
https://robodk.com/doc/en/Post-Processor...SamplePost

If you have a professional license you can contact us through RoboDK by selecting Help-Request support and we can provide you with the source code of the post processor and help you better.

Howdy,

I'm getting the impression that your responses are particularly vague. I remember this was a feature I requested back when I was programming the F16 Plane Wash, but Jeremy and I were not able to generate point registers due to the large amount of points that needed to be program, so we abandoned the effort.

I followed the instructions in the link you sent, but they seem to be outdated, because after clicking "Ok" on the post processor (Program -> add/edit post processor), there are no pop-up windows with the settings that come up, unlike what is shown in the guide. 

I have to use the text editor, and as I stated in the previous posts, there are no specific lines of code that relate to point generation from the targets (Fanuc R30i post). I've scrolled through the post processor over 20 times, and have had 2 other people look at it, and none of us can find the specific lines of code to edit.

I am currently training a student-worker who has the professional license, so we should have full access to all features, or so I thought. I am posting here on his behalf since I have more experience with RoboDK, and already had an account for the forum.
#6
We try to use the forum to point people in the right direction, not to create custom posts based on required specifications. We occasionally make exceptions and do it anyway.

In any case, at this moment I believe we would need more information to create a custom post for your needs. If we make the assumption that you simply need to link to PR registers instead of P, you could make the following edits to the MoveJ and MoveL instructions:
Code:
    def MoveL(self, pose, joints, conf_RLF=None):
        ...
        # target_id = self.add_target_cartesian(pose, joints, conf_RLF) # <- Comment this line
        move_ins = ('PR[%i] ... # <- Use PR instead of P
        self.addline(move_ins, 'L')
        ...
The main issue with PR is that you need to use numbered registers, not named. And you should map the index somehow.
#7
(02-11-2025, 12:47 PM)Albert Wrote: We try to use the forum to point people in the right direction, not to create custom posts based on required specifications. We occasionally make exceptions and do it anyway.

In any case, at this moment I believe we would need more information to create a custom post for your needs. If we make the assumption that you simply need to link to PR registers instead of P, you could make the following edits to the MoveJ and MoveL instructions:
Code:
    def MoveL(self, pose, joints, conf_RLF=None):
        ...
        # target_id = self.add_target_cartesian(pose, joints, conf_RLF) # <- Comment this line
        move_ins = ('PR[%i] ... # <- Use PR instead of P
        self.addline(move_ins, 'L')
        ...
The main issue with PR is that you need to use numbered registers, not named. And you should map the index somehow.
What post processor or python script for RoboDK did you pull that code snippets from?

Nowhere in the Fanuc R30i found in "RoboDK -> Posts" is there a line of code that reads anything similar to what you posted above. That is the error I have been trying to point out that I needed help with.

I know what change I could have made or tested, I just havent been able to find the post where I could edit the "def MoveL" instruction.


Attached Files
.jpg   R30i Post Process Error Screenshot.jpg (Size: 136.92 KB / Downloads: 69)
.py   Fanuc_R30i.py (Size: 6.02 KB / Downloads: 61)
#8
The Fanuc post processor you shared is a compiled post processor. You should use the original source code of the post processor instead. It is better if you contact us by email so we can provide you with the source code of this Fanuc post processor.
  




Users browsing this thread:
1 Guest(s)