Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
3 d打印with UR10e
#1
Hello there,

I have the following setup:
机器人:UR10e
Extrude: the one from RoboDK library
Post Proccesor:Universal Robot

I can generate a robot program .urp and script successfully; however, on running script there is an error that says:
Code:
Compile Error: M_RunCode() is not defined.

How can I solve this problem.

然后我试图使用通用机器人3 d打印post processor. In this case, I cannot generate the code and having the following error:
Code:
Failed to generate program "Print3D" using the Post Processor "Universal_Robots_3D_Printing"
Post processor path:C:/Program Files/RoboDK/Posts/Universal_Robots_3D_Printing.py
Traceback (most recent call last):
File "C:/Users/[user]/AppData/Local/Temp/PostPrint3D.py", line 10676, in
make_program()
File "C:/Users/[user]/AppData/Local/Temp/PostPrint3D.py", line 308, in make_program
r.MoveL(p([22.185000,24.305000,0.500000,-0.000000,90.000000,0.000000]),[138.541038,-134.743422,-204.838150,-20.418427,48.541038,-90.000000],[0.0,1.0,0.0])
File "C:\Program Files\RoboDK\Posts\Universal_Robots_3D_Printing.py", line 643, in MoveL
self.new_move(pose) # used for 3D printing
File "C:\Program Files\RoboDK\Posts\Universal_Robots_3D_Printing.py", line 629, in new_move
signal = min(self.PRINT_FLOW_MAX_SIGNAL , self.PRINT_FLOW_2_SIGNAL * add_material/time_s)
ZeroDivisionError: float division by zero
I have followed the 3d printing tutorial, but I don't know how to fix it.
#2
You can remove triggering custom M_Code commands by following these steps:
  1. Double click your 3D printing project
  2. Select Program Events
  3. Leave the following section empty:Call M code
    (you may seeM_RunCodeby default but you should remove it)
#3
Hello,

I have the same problem as described above when I want generated program with thePost Processor "Universal_Robots_3D_Printing".
I haveremove triggering custom M_Code commands but the problem persists.

Is there another solution?

Regards,
Jérôme


Attached Files Thumbnail(s)

#4
Hi Jérôme,

I recommend you to take a look at how post processors work in RoboDK:
//www.sinclairbody.com/doc/en/Post-Processors.html#EditPost

It will allow you to customize the integration of your extruder for 3D printing. The error message is pointing at the error (division by zero). You can add a filter and if you calculate time_s as zero you can skip that line.

Albert
#5
(06-17-2020, 02:09 PM)Albert Wrote:Hi Jérôme,

I recommend you to take a look at how post processors work in RoboDK:
//www.sinclairbody.com/doc/en/Post-Processors.html#EditPost

It will allow you to customize the integration of your extruder for 3D printing. The error message is pointing at the error (division by zero). You can add a filter and if you calculate time_s as zero you can skip that line.

Albert

Thank you sir. It generates the code without problem now!.

Now, I have another issue. When I test on UR simulator or connect directly with RoboDK everything is fine. But, when I want to load the program on the controller, every time, I have a different issue.
- Sometimes the script won't load.
- Sometimes, there is an error exception: lack of memory on java file??
- And also, it's quite impossible to load script that generated from RoboDK when I using extruder for 3d printing. Is there any way to break through this problem.

Thank you in advance!
#6
Dear Sir or Madam,

how is it possible to edit the postprocessor when it is in a compiled file? Or is it possible to download the UR10e 3D printing postprocessor somewhere?

Best regards
J. Kosiahn
#7
If you own a RoboDK professional license, you can go to "Help"->"Request support" and ask for a specific post-processor.

Jeremy
Find useful information about RoboDK and its features by visiting our2022世界杯32强赛程表时间 and by watching tutorials on ourYoutube Channel.


#8
Hello, I have made the changes to the postprocessor as described in the instructions(//www.sinclairbody.com/doc/en/Robot-Machinin...rint3Dpost). The simulation works so far. However, when I try to use it with the robot, I get the following message: "Must be a 'boolean' not 'Int'. "with the reference to the command set_standard_digital_out(5.000, 0.000). I know that the second number must be a boolean but where did I make the mistake that this is still entered as 'int'? Do you have an idea for this?

Best regards
J.Kosiahn
#9
Try changing the line that causes issues for this:


Code:
set_standard_digital_out(5, False)
#10
(05-10-2021, 09:08 PM)Albert Wrote:Try changing the line that causes issues for this:


Code:
set_standard_digital_out(5, False)

Hello,
i changed this and all the other lines by hand and it works.
I wonder about this because there is code in the postprocessor that is supposed to solve this.

defsetDO(self,io_var,io_value):
"""Set a Digital Output"""
iftype(io_value) !=str:# set default variable value if io_value is a number
ifio_value>0:
io_value='True'
else:
io_value='False'

iftype(io_var) !=str:# set default variable name if io_var is a number
newline='set_standard_digital_out(%s,%s)'% (str(io_var),io_value)
else:
newline='%s=%s'% (io_var,io_value)

self.addline(newline)




Users browsing this thread:
1 Guest(s)