Advanced Search

Search Results (Searched for: )

  • Hakan
  • Hakan
03 Oct 2025 14:30 - 03 Oct 2025 14:33

Leadshine 2CS3E-D507 / Cia402 almost working - help please!

Category: EtherCAT

You have something called extrajoints, maybe that is what you are looking for?
linuxcnc.org/docs/html/man/man9/motion.9.html

Hopefully someone that knows how to work with carousels can jump in.
  • phino
  • phino
03 Oct 2025 13:55

Laser Head Height Sensor – Looking for a Beta Tester

Category: Plasma & Laser

How is this sensor project going? I notice the product page still mentions out of stock. proma-elektronika.com/product/c2v-capitance-to-0-10v-converter/
  • PCW
  • PCW's Avatar
03 Oct 2025 13:42
Replied by PCW on topic Mesa 8i20 EEPROM settings

Mesa 8i20 EEPROM settings

Category: Driver Boards

man setsserial
  • tommylight
  • tommylight's Avatar
03 Oct 2025 12:18
Replied by tommylight on topic Mesa 8i20 EEPROM settings

Mesa 8i20 EEPROM settings

Category: Driver Boards

Moved to "driver boards"
  • rodw
  • rodw's Avatar
03 Oct 2025 11:48

How to disable following error while homing ?

Category: EtherCAT

I guess one way would be to loop back the commanded position to the feedback position
when homing, by using the mux2 component.

Normally you would do this in code  in your custom homing component (homecomp) or modify the cia402.comp
  • rodw
  • rodw's Avatar
03 Oct 2025 11:40

After homing the spindle position is not understood by the GUI

Category: General LinuxCNC Questions

the HOME ini setting may help. linuxcnc.org/docs/stable/html/config/ini-homing.html#_home
It took me a long time for me to understand to use G54 Offsets to touch off at the origin to use for the gcode program.


 
  • djones@burketruck.com
  • djones@burketruck.com
03 Oct 2025 11:27
Replied by djones@burketruck.com on topic Any Fiber Laser Successes?

Any Fiber Laser Successes?

Category: Plasma & Laser

Got it. Is there a main repo that is being worked on currently? I see there are a couple of repos out there.
  • stegrg
  • stegrg
03 Oct 2025 11:18
Mesa 8i20 EEPROM settings was created by stegrg

Mesa 8i20 EEPROM settings

Category: Driver Boards

Hello,

I changed the NVBRAKEONV and NVBRAKEOFFV settings a while ago on my 8i20 driver.  I would like to increase the voltage settings but I can't remember how to do it.  Also, searches in the Linuxcnc forum are giving me "401 Unauthorized" faults on a number of links where I would normally find the relevant information.  Any help would be greatly appreciated.

Regards,
  • rodw
  • rodw's Avatar
03 Oct 2025 11:18
Replied by rodw on topic Update LinuxCNC 2.9.5 on debian 13

Update LinuxCNC 2.9.5 on debian 13

Category: Installing LinuxCNC

It looks like we are using a 1024 bit long key (DSA1024) which is considered insecure by Trixie.
Ref: Google AI
Debian prefers a key length of 4096 bits for RSA OpenPGP keys used for signing, although Ed25519 is now the default for new keys generated with current tools, offering even stronger security.
While 2048-bit RSA keys are still considered secure for some applications, Debian's preference for 4096-bit keys is influenced by both security considerations and the desire to reduce future migration efforts for volunteers maintaining keyrings. This aims to combine potential future migrations from 2048 to 4096 bits into a single, proactive move.
When creating a new GPG key pair for signing Debian packages, you can specify the key type and length, with 4096-bit RSA or Ed25519 being the recommended choices.

and:
A dsa1024 key refers to a Digital Signature Algorithm (DSA) key with a length of 1024 bits, 
 
  • Aciera
  • Aciera's Avatar
03 Oct 2025 10:56
Replied by Aciera on topic External E-Stop

External E-Stop

Category: HAL Examples

Have you checked that 'iocontrol.0.emc-enable-in' goes TRUE when you clear the external estop?
  • rodw
  • rodw's Avatar
03 Oct 2025 10:51

What informs the location of the virtual spindle in the GUI

Category: General LinuxCNC Questions

You don't need to worry about the position as its really automatic but if you do want to read the position the pins axis.L.pos-cmd is the commanded position for each axis.
  • TripleM
  • TripleM
03 Oct 2025 10:51

Werkzeugaufruf nach Toolnummer, nicht nach Pocketnummer

Category: Deutsch

Okay, thanks, that was easy. I haven't tested it on the machine yet, but it looks good.

In the tool table (gmoccapy), I can assign multiple tools to a pocket.
Can I check in the table that only one tool is assigned to each pocket?
  • rodw
  • rodw's Avatar
03 Oct 2025 10:43
Replied by rodw on topic External E-Stop

External E-Stop

Category: HAL Examples

my recommendation is to get it working in axis and then convert to gmocappy cos it does some funny things. If your config breaks on conversion, raise it with  gmocappy.

This is how I did it with a safety relay and an external latch button attached to the relay that
sends a signal to pin lcec.0.3.in-01 when the relay is enabled
this is inverted and sent to  the drives estop input on all drives.
The estop button is attached to the safety relay

github.com/rodw-au/vmnmillqt/blob/main/VMNmillQT.hal#L146

In this case no estop-latch is used,
  • jrc
  • jrc
03 Oct 2025 10:33
  • jrc
  • jrc
03 Oct 2025 10:31

Leadshine 2CS3E-D507 / Cia402 almost working - help please!

Category: EtherCAT

 Many thanks!That got it to work beautifully and I can now easily jog the motors etc., the machine e-stop and machine start buttons on the screen work etc.

However, this was done with each motor associated with an axis (X, Y, Z), and what I am ultimately aiming for is to get the steppers on the 2CS3E-D507 to drive joints in a carousel instead of axis in a coordinate system, so they need to be "joints without an associated axis letter" and still work.

How does one achieve this?

The existing working config has a dual-axis 2CS3E-D507 driving X and Y, and a second 2CS3E-D507 driving Z, with one spare motor left.

I tried setting that one up as a new "joint without associated axis" [JOINT_3] in the config, and this caused it to stop working again.The updated hal file using the spare stepper as an extra joint is:
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=4

loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt cia402 count=4

addf lcec.read-all            servo-thread
addf cia402.0.read-all        servo-thread
addf cia402.1.read-all        servo-thread
addf cia402.2.read-all        servo-thread
addf cia402.3.read-all        servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf cia402.0.write-all       servo-thread
addf cia402.1.write-all       servo-thread
addf cia402.2.write-all       servo-thread
addf cia402.3.write-all       servo-thread
addf lcec.write-all           servo-thread


#*******************
#  X axis  lcec.0.0 arm (x) cia402.0 joint.0 (y) lcec.0.0 cia402.1 joint.1 z lcec.0.1 cia402.1 joint 2
#*******************
setp cia402.0.enable 1
setp cia402.0.csp-mode 1
setp cia402.0.pos-scale 4000

# ethercat to cia402 driver
net x-statusword      lcec.0.0.srv-1-cia-statusword  => cia402.0.statusword
net x-opmode-display  lcec.0.0.srv-1-opmode-display  => cia402.0.opmode-display
net x-drv-act-pos     lcec.0.0.srv-1-actual-position => cia402.0.drv-actual-position
net x-drv-act-vel     lcec.0.0.srv-1-actual-velocity => cia402.0.drv-actual-velocity

# cia402 driver to ethercat
net x-controlword         cia402.0.controlword         => lcec.0.0.srv-1-cia-controlword
net x-modes-of-operation  cia402.0.opmode              => lcec.0.0.srv-1-opmode
net x-drv-target-pos      cia402.0.drv-target-position => lcec.0.0.srv-1-target-position

#from motion to cia
net x-enable    <= joint.0.amp-enable-out => cia402.0.enable
net x-amp-fault => joint.0.amp-fault-in   <= cia402.0.drv-fault
net x-pos-cmd   <= joint.0.motor-pos-cmd  => cia402.0.pos-cmd
net x-pos-fb    => joint.0.motor-pos-fb   <= cia402.0.pos-fb

## Y axis ##
setp cia402.1.enable 1
setp cia402.1.csp-mode 1
setp cia402.1.pos-scale 4000

# ethercat to cia402 driver
net y-statusword      lcec.0.0.srv-2-cia-statusword  => cia402.1.statusword
net y-opmode-display  lcec.0.0.srv-2-opmode-display  => cia402.1.opmode-display
net y-drv-act-pos     lcec.0.0.srv-2-actual-position => cia402.1.drv-actual-position
net y-drv-act-vel     lcec.0.0.srv-2-actual-velocity => cia402.1.drv-actual-velocity

# cia402 driver to ethercat
net y-controlword         cia402.1.controlword         => lcec.0.0.srv-2-cia-controlword
net y-modes-of-operation  cia402.1.opmode              => lcec.0.0.srv-2-opmode
net y-drv-target-pos      cia402.1.drv-target-position => lcec.0.0.srv-2-target-position

#from motion to cia
net y-enable    <= joint.1.amp-enable-out => cia402.1.enable
net y-amp-fault => joint.1.amp-fault-in   <= cia402.1.drv-fault
net y-pos-cmd   <= joint.1.motor-pos-cmd  => cia402.1.pos-cmd
net y-pos-fb    => joint.1.motor-pos-fb   <= cia402.1.pos-fb

## Z axis ##
setp cia402.2.enable 1
setp cia402.2.csp-mode 1
setp cia402.2.pos-scale 4000

# ethercat to cia402 driver
net z-statusword      lcec.0.1.srv-1-cia-statusword  => cia402.2.statusword
net z-opmode-display  lcec.0.1.srv-1-opmode-display  => cia402.2.opmode-display
net z-drv-act-pos     lcec.0.1.srv-1-actual-position => cia402.2.drv-actual-position
net z-drv-act-vel     lcec.0.1.srv-1-actual-velocity => cia402.2.drv-actual-velocity

# cia402 driver to ethercat
net z-controlword         cia402.2.controlword         => lcec.0.1.srv-1-cia-controlword
net z-modes-of-operation  cia402.2.opmode              => lcec.0.1.srv-1-opmode
net z-drv-target-pos      cia402.2.drv-target-position => lcec.0.1.srv-1-target-position

#from motion to cia
net z-enable    <= joint.2.amp-enable-out => cia402.2.enable
net z-amp-fault => joint.2.amp-fault-in   <= cia402.2.drv-fault
net z-pos-cmd   <= joint.2.motor-pos-cmd  => cia402.2.pos-cmd
net z-pos-fb    => joint.2.motor-pos-fb   <= cia402.2.pos-fb

## extra joint with no associated axis (for later use in carousel)##
setp cia402.3.enable 1
setp cia402.3.csp-mode 1
setp cia402.3.pos-scale 4000

# ethercat to cia402 driver
net extra-statusword      lcec.0.1.srv-2-cia-statusword  => cia402.3.statusword
net extra-opmode-display  lcec.0.1.srv-2-opmode-display  => cia402.3.opmode-display
net extra-drv-act-pos     lcec.0.1.srv-2-actual-position => cia402.3.drv-actual-position
net extra-drv-act-vel     lcec.0.1.srv-2-actual-velocity => cia402.3.drv-actual-velocity

# cia402 driver to ethercat
net extra-controlword         cia402.3.controlword         => lcec.0.1.srv-2-cia-controlword
net extra-modes-of-operation  cia402.3.opmode              => lcec.0.1.srv-2-opmode
net extra-drv-target-pos      cia402.3.drv-target-position => lcec.0.1.srv-2-target-position

#from motion to cia
net extra-enable    <= joint.3.amp-enable-out => cia402.3.enable
net extra-amp-fault => joint.3.amp-fault-in   <= cia402.3.drv-fault
net extra-pos-cmd   <= joint.3.motor-pos-cmd  => cia402.3.pos-cmd
net extra-pos-fb    => joint.3.motor-pos-fb   <= cia402.3.pos-fb

I basically added an extra copy of the z axis cia402 bits and replaced "z" with "extra" and cia402.2 with cia402.3

The ini file with the extra "joint with no axis letter name" is
[EMC]
MACHINE = machine_xyz
VERSION = 1.1
DEBUG=0x00000242

[DISPLAY]
DISPLAY = axis
MAX_LINEAR_VELOCITY = 1

[TASK]
TASK = milltask
CYCLE_TIME = 0.001

[RS274NGC]
PARAMETER_FILE = machine_xy.var

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100

[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000

[HAL]
HALFILE = 2CS3E_D507xyz.hal

# NOTE: Must have consistent values for
# [TRAJ]COORDINATES = LETTERS
# [KINS]JOINTS      = Number_of_JOINTs
# [KINS]KINEMAITICS = trivkins coordinates=LETTERS

[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 2.50
MAX_LINEAR_VELOCITY = 25.00

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYZ

#*** AXIS_X *******************************
[AXIS_X]
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0

#*** AXIS_Y *******************************
[AXIS_Y]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0

#*** AXIS_Z *******************************
[AXIS_Z]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -300.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0

The reason for wanting a pure joint instead of a joint linked to an axis is that that is supposed to be the preferable way to drive the carousel component (as opposed to repurposing unused axis letters, eg. out of XZYABC recycling the B and C to drive the carousel if you only have a 4 axis machine.

However, when I add this extra joint the previously working 3 axis (XYZ) system fails to start. The error might be hinting at a mismatch between the number of joints and axes:

Traceback (most recent call last):
  File "/usr/bin/axis", line 3655, in <module>
    ja_id = aletter_for_jnum(jnum)
            ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/axis", line 3642, in aletter_for_jnum
    return trivkinscoords.upper()[jnum]
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^
IndexError: string index out of range

Any ideas on what could be going on?
 
Displaying 3661 - 3675 out of 22139 results.
Time to create page: 0.485 seconds
Powered by Kunena Forum