Advanced Search

Search Results (Searched for: )

  • 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?
 
  • jrc
  • jrc
03 Oct 2025 10:19 - 03 Oct 2025 10:21

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.
  • rodw
  • rodw's Avatar
03 Oct 2025 10:09

Looking for a specific, detailed howto guide for XYYZ gantry setup

Category: Advanced Configuration

Everything about gantry machines is covered in the chapter titled homing configuration.

The key is to read it at least 8 times. Then one or two more times for good luck!

Limit switches should be outside of the normal operation envelope and should never be hit unless its an Oh Sh#t moment that causes the machine to go out of bounds :)

Shared home/limit switches require a home_offset to move the axis off the home switch so it does not trigger the limit switch as you come out of homing.
  • rodw
  • rodw's Avatar
03 Oct 2025 09:54
Replied by rodw on topic Any Fiber Laser Successes?

Any Fiber Laser Successes?

Category: Plasma & Laser

Would Monokrom be a better choice since the customizability is similar to Probe Basic?

Monokrom is still a bit of a work in progress but the basics work. For you the advantage is its a qtpyvcp gui like probe basic so perhaps there is a case to use it. Plus you will need to do some customizing so a full featured plasma config is not really useful... Monokrom still uses the plasma real time component so it can do anything qtplasmac can do.
  • 2tinker
  • 2tinker
03 Oct 2025 09:07

hm2/hm2_7i76e.0: error finishing read! iter=1342204

Category: Deutsch

@tommylight : Danke

Auf YouTube habe ich einen passenden Beitrag von talla83 gefunden, der das Ganze recht gut erklärt:


Über "Anwendungen->System->Grub Customizer" habe ich Auf dem Reiter "Allgemeine Einstellungen" den Kernelparameter wie folgt geändert...
"quiet irqaffinity=0 isolcpus=0,1"

Jetzt wird die Fehlermeldung nicht mehr geschmissen!

Die CPU werde ich dennoch tauschen. Um dann hoffentlich noch eine Leistungsreserve zu bekommen.

Danke für die Tipps!!!
  • wusel0464
  • wusel0464
03 Oct 2025 09:00
Change camera resolution Qtdragon? was created by wusel0464

Change camera resolution Qtdragon?

Category: Qtvcp

Hello,

Another question.
Since my problems with the exit of the tool button have unfortunately not yet been resolved, I try to move all over to Debian Trixie.
First realization, I am back to 2.9 second, unfortunately, it has not improved the situation tool button.
But the real concern I have is whether you can change the resolution of the camera somehow. The standard is 640x800, but mine can do until 1600x1200.

Thank you and greetings, Frank.
  • Red_D85
  • Red_D85
03 Oct 2025 08:27
Config-Problem Ethercat was created by Red_D85

Config-Problem Ethercat

Category: Deutsch

Hallo

ich habe ein oder besser mehrer Probleme mit meiner Config. Vielleicht kann mir ja helfen das ein oder andere Problem zu beseitigen.
meine Config :

EK1100
  • EL1008
  • EL4001
  • EL9010
Lichuan TLC36V-E (X)
Lichuan TLC36V-E (Y)
Rtelligent ECR60 (Z)

LinuxCNC startet fehlerfrei auf aber:
  • Problem 1 Z-Achse wird zwar Aktiv aber bewegt sich nicht. Man muss dazu sagen ECR60 hat leider kein Encoder-Feedback
  • Problem 2 Kein DC / Watchdog, wenn dieses Aktiv geschaltet wird fallen die Lichuan in SafOP+ERR
wie bekomme ich Problem 1 in den Griff. Ich verstehe nicht wieso der Motor nicht drehen will.

Freundliche Grüsse 

File Attachment:

File Name: cia402_2025-10-03.ini
File Size:2 KB
 

File Attachment:

File Name: ethercat-conf.xml
File Size:5 KB
 

File Attachment:

File Name: cia4021.hal
File Size:2 KB

 
  • Hakan
  • Hakan
03 Oct 2025 06:03
Replied by Hakan on topic Important EtherCAT configuration option

Important EtherCAT configuration option

Category: EtherCAT

Hopefully now more people will learn to use the feature.
The original code is good and refreshingly free from documentation.
The git log says the feature was added 2018 and some iterations were made.

Anyway it is now documented somewhat and the hal pll parameters and pins are described.

Regarding backwards compatibility. I didn't dare to break that and I guess it is up to Scott
what he will do in the future. The coding guideline says to keep backwards compatibility.
  • Aciera
  • Aciera's Avatar
03 Oct 2025 05:32
Replied by Aciera on topic Langdons please modify your behaviour

Langdons please modify your behaviour

Category: Off Topic and Test Posts

@langdons
I just deleted some of your posts. Maybe one of the linuxcnc chats would be more suitable?
  • cmorley
  • cmorley
03 Oct 2025 05:26
Replied by cmorley on topic Error in tool_offsetview.py

Error in tool_offsetview.py

Category: Qtvcp

Ok I pushed the more then 10 macros work. Let me know what you think.
  • unknown
  • unknown
03 Oct 2025 01:56
Langdons please modify your behaviour was created by unknown

Langdons please modify your behaviour

Category: Off Topic and Test Posts

Have you ever thought of just being quiet and learning rather than flooding the forum with uninformed comments, and posts that don't directly answer the question ? 

You bring the quality of answers of the forum down. I've had to make multiple reports to admin regarding your behavior. 

It is really not acceptable. 

Bringing up posts that are a month old and not actually answering with anything of worth is wasting the time of the member initially answering the question.

If you want to be a worthwhile member try to be quiet and learn. Directly answer the question of the topic.

I would hope the admins see this and take this under consideration.
  • unknown
  • unknown
03 Oct 2025 01:40
Replied by unknown on topic Installing LAN driver for RealTek 8111H

Installing LAN driver for RealTek 8111H

Category: Installing LinuxCNC

sudo apt-get install r8168-dkms

This package covers the RT8111H as well

See this page below.
packages.debian.org/sid/r8168-dkms
  • kb58
  • kb58
03 Oct 2025 01:11

(Solved) Initialization code for a rintelligent ECT60 fails when run on an ECR60

Category: Driver Boards

Thanks, one of the most annoying things on forums are threads about some problem you yourself are having, and either they just end without resolution, or perhaps worse, end with "it's been figured out, thanks." Ugh... HOW?
  • tommylight
  • tommylight's Avatar
03 Oct 2025 00:59
Replied by tommylight on topic Installing LAN driver for RealTek 8111H

Installing LAN driver for RealTek 8111H

Category: Installing LinuxCNC

Download this
www.linuxmint.com/download_lmde.php
write it to USB and boot the PC from it, do not install, just check if the network works with it.
Displaying 3901 - 3915 out of 21882 results.
Time to create page: 0.234 seconds
Powered by Kunena Forum