Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How do you connect an extruder via ethernet?
Dear forum members, dear Albert, dear Jeremy,

On our 3D printing project we try to connect/implement an extruder/duetboard which shell be controlled via RoboDK.
The Duet2-Board controls the stepper motor of the extruder.
RoboDK shell send the E-Value of the G-Code of the 3D printing program to the duetboard via ethernet.

Where and how do we define the ethernet connection in RoboDK?
Probably somewhere here in the Post-processor of the KRC4:

Do we have to change some of the following code of your instructions?

# 3D Printing Extruder Setup Parameters:
PRINT_E_AO = 5 # Analog Output ID to command the extruder flow
PRINT_SPEED_2_SIGNAL = 1.0 # Ratio to convert the speed/flow to an analog output signal
PRINT_FLOW_MAX_SIGNAL = 6000 # Maximum signal to provide to the Extruder
PRINT_ACCEL_MMSS = -1 # Acceleration, -1 assumes constant speed if we use rounding/blending

I also wanted to ask to which output ID this Number 5 refers?
Where and how are these IDs declared?
Where can I find informations about analog/digital connections to RoboDK?

def setDO(self, io_var, io_value):
      """Set a Digital Output"""
      if type(io_var) != str:  # set default variable name if io_var is a number
          io_var = '$OUT[%s]' % str(io_var)        
      if type(io_value) != str: # set default variable value if io_value is a number            
          if io_value > 0:
              io_value = 'TRUE'
              io_value = 'FALSE'
      # at this point, io_var and io_value must be string values
      self.addline('%s=%s' % (io_var, io_value))
The digital outputs added in our examples are just for you to get an idea of how you can implement the integration of your extruder from RoboDK.

I assume you are planning to have the extruder connected to the robot. Correct? 
What type of interface do you have between the robot controller and the extruder?

I believe there are many options depending on your extruder hardware. From the simplest to a more advanced integration I would say you can do the following:
  • A digital output to turn the extruder ON of OFF
  • An analog output that defines the extruder feed
  • Ethernet communication (same as Analog output but digital)
  • External axis setup: the extruder value is a motor controller by the KRC controller via the E1 value. This is already implemented if you set the variable EXTAXIS_EXTRUDER = True of the KUKA KRC2 post processor
From RoboDK's point of view it should be simple to integrate one method or another. You should trigger a program call (such as Extruder), which is already done automatically, and convert that into a program call (or the E1 value). Both methods are implemented in the default KUKA KRC2 post processor.


Users browsing this thread:
1 Guest(s)