Advanced Search

Search Results (Searched for: )

  • 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?
 
  • 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.
Displaying 3721 - 3735 out of 22082 results.
Time to create page: 0.234 seconds
Powered by Kunena Forum