Advanced Search

Search Results (Searched for: )

  • BigDo
  • BigDo
02 Oct 2025 12:42 - 03 Oct 2025 10:11
Replied by BigDo on topic Nativecam running on 2.9.4 almost so close

Nativecam running on 2.9.4 almost so close

Category: NativeCAM

I think something is wrong with these 2 cfg files
turning.cfg
tool-change.cfg
both don't work, the rest seems ok

File "/usr/lib/python3/dist-packages/ncam.py", line 1914, in from_src
exec(self.attr["init"])
File "<string>", line 2, in <module>   <<<<<<<<<<<<<<<<<<<<< Which module??
NameError: name 'parent' is not defined. Did you mean: 'reparent'?

Only in this files, "parent" is used.
I deleted these blocks with "parent" as a test, and it worked. However, I don't know what the potential effects might be; I'm not familiar with this.



 
  • andypugh
  • andypugh's Avatar
02 Oct 2025 12:16 - 02 Oct 2025 12:17
Replied by andypugh on topic Carousel with counts move x amount of pockets

Carousel with counts move x amount of pockets

Category: Advanced Configuration

Sorry, but to test I would need to know the actual encoder/step counts that were being fed into the component at the point of failure.

But, I am sure that the code linked above is very wrong, and is likely to be the problem.

Can you:
1) Make sure that you have the linuxcnc-uspace-dev package installed.
2) Download the attached carousel.comp file
3) From the folder where you saved the file
sudo halcompile --install carousel.comp

And see if the problem is fixed?
  • Hakan
  • Hakan
02 Oct 2025 11:51
Replied by Hakan on topic Important EtherCAT configuration option

Important EtherCAT configuration option

Category: EtherCAT

No change needed to linuxcnc rt functions.
There is already the functionality needed to modify the call to nanosleep.
There is now closed issue at github where I look at that github.com/LinuxCNC/linuxcnc/issues/3564

What is new is that the option is made an explicit option syncToRefClock.
The old way to invoking the functionality, which works already now, is to
set a negative refSyncClockCycles value. The "-" triggers the function to be on.
This continues to work in linuxcnc spirit, and is now made clear with
both documentation of the function and an explicit option.
 
  • andypugh
  • andypugh's Avatar
02 Oct 2025 11:45
Replied by andypugh on topic Weiler DZ26 Millturn Conversion

Weiler DZ26 Millturn Conversion

Category: Turning

iocontrol.0.emc-enable-in probably needs to be true to release the e-stop condition. Is that happening?
  • Hakan
  • Hakan
02 Oct 2025 11:43

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

Category: EtherCAT

From that example/template I linked to before, you need
net emc-enable => iocontrol.0.emc-enable-in
sets emc-enable 1
in the hal file.
That should allow it to start I think.
That example/template is a working example. You have a bit different naming due to two motors per drive, but other than that it should work.
  • andypugh
  • andypugh's Avatar
02 Oct 2025 11:41

Werkzeugaufruf nach Toolnummer, nicht nach Pocketnummer

Category: Deutsch

I think that you need to control the tool changer to use the iocontrol.0.tool-prep-pocket number rather than the tool number.
Then you need to set up the tool table to say which tool is in which pocket.
  • andypugh
  • andypugh's Avatar
02 Oct 2025 11:39
Replied by andypugh on topic Important EtherCAT configuration option

Important EtherCAT configuration option

Category: EtherCAT

Does this require changes in LinuxCNC or was the facility already there?
  • gitano
  • gitano
  • andypugh
  • andypugh's Avatar
02 Oct 2025 11:31
Replied by andypugh on topic 12m metall bar puncher press

12m metall bar puncher press

Category: CNC Machines

Yes, I am confident that LinuxCNC can do this.

You might prefer to control the machine with a Python script linked to a GUI, but using G-code is also possible.

Adaptive G-code could handle the different punch maps, but Python (which would send G-codes using MDI, probably) might work better.

An example of a GUI that calls adaptive G-code is my lathe macros, here is a link to one of the G-code routines:
github.com/andypugh/LatheMacros/blob/Py3_GTK3/turning.ngc
The subroutine is called with #1, #2 ... #6 specifying various parameters of the actions to be taken.

3) I don't really know the answer. It would probably be automatic at the end of the cycle?

4) The maximum length is much longer than the known universe. (10^308 units) but is practically limited to 15 significant digits, so using mm and 1 micron basic precision it would be approximately 10,000km.
  • ShemJ
  • ShemJ's Avatar
02 Oct 2025 11:25 - 02 Oct 2025 17:41

probe_basic nearly working but: failed to set register P0x000e to 0x0014

Category: QtPyVCP

Hey, thanks for that. That did send me in the right direction.  It was a comms problem over TTL to the VFD, now fixed. I see I need to check the HAL files themselves for error message outputs. I keep thinking it is something internal to linuxcnc. I am a seasoned noob, but a noob nonetheless. 

I appreciate the help!
 
  • meister
  • meister
  • jrc
  • jrc
02 Oct 2025 10:38

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

Category: EtherCAT

I had a bit of time today to try things out.
I did as you suggested and commented out the line which includes the basic_sim.tcl line
This produced a different error - it was unable to add all the servo-thread entries
" HAL :  ERROR: thread 'servo-thread' not found  "
 Looking into basic_sim.tcl I can find no instances of servo-thread.
However, basic_sim.tcl includes another file in line 33 called sim_lib.tcl
sim_lib.tcl has servo-thread appear in a lot of places
So it seems like some version of it is needed if we go the route of recycling one of the sim configs as a starting point

Any ideas on how to solve this one?

As a different possible solution, I created a different XYZ machine using two units of 2CS3E-D507, where the first one handles X and Y and the second handles Z. That way we start out totally away from the possible comlplications from the sim universe and directly go to a machine that only has two real, Ethercat devices,

This seems to load OK, but LinuxCNC starts up with the e-stop engaged and won't let me toggle it off.

The configs I created for this are:
ethercat-conf-xml:
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1">
    <slave idx="0" type="2CS3E-D507">
        <!-- <dcConf assignActivate="700" sync0Cycle="*1" sync0Shift="0" sync1Cycle="*1" sync1Shift="0"/> -->
        <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>  
    </slave>
    <slave idx="1" type="2CS3E-D507">
        <!-- <dcConf assignActivate="700" sync0Cycle="*1" sync0Shift="0" sync1Cycle="*1" sync1Shift="0"/> -->
        <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>  
    </slave>
  </master>
</masters>

machine_xyz.ini:
[EMC]
MACHINE = machine_xyz
VERSION = 1.1
DEBUG=0x00000242

[DISPLAY]
DISPLAY = axis
MAX_LINEAR_VELOCITY = 1

[TASK]
TASK = milltask
CYCLE_TIME = 0.001

[RS274NGC]
# NoneType object has no attribute 'rfind'
PARAMETER_FILE = machine_xyz.var

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100

[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000

[HAL]
# new addition to test Leadshine 2CS3E-D507
HALFILE = 2CS3E_D507xyz.hal

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

[KINS]
JOINTS = 3
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

2CS3E_D507.hal
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=3

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

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 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 lcec.write-all           servo-thread

#*******************
#  X axis  lcec.0.0 (x) cia402.0 joint.0 Y axis lcec.0.0 cia402.1 joint.1 Z axis lcec.0.1 cia402.1 joint 2
#*******************
setp cia402.0.enable 1
#setp cia402.0.opmode 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.opmode 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

# homing
#net y-home-request joint.1.request-custom-homing => cia402.1.home
#net y-homing joint.1.is-custom-homing <= cia402.1.stat-homing
#net y-homed joint.1.custom-homing-finished <= cia402.1.stat-homed

## Z axis ##
setp cia402.2.enable 1
#setp cia402.2.opmode 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

# homing
#net z-home-request joint.2.request-custom-homing => cia402.2.home
#net z-homing joint.2.is-custom-homing <= cia402.2.stat-homing
#net z-homed joint.2.custom-homing-finished <= cia402.2.stat-homed

Any ideas on how to get this one to start? I tried to make it as basic as possible to avoid anything else distracting things.
To reiterate, it loads correctly and LinuxCNC starts without an error screen popping up, but the e-stop on the top left of the axis interface screen is toggled on when it starts and can't be toggled off.
ethercat slaves shows both 2CS3E-D507 slaves in OP state
 
  • fun
  • fun's Avatar
02 Oct 2025 09:29 - 02 Oct 2025 17:31

Alternative sites for LinuxCNC (unofficial)

Category: General LinuxCNC Questions

The work to improve access to the Linuxcnc forum and content must be appreciated in some way.
Slow connection times and occasionally time-outs are surefire ways to cause a website to gradually deteriorate.

If you notice that a LinuxCNC webite is laggy, there are alternate sites you can access that may be faster.

The www.linuxcnc.org page is also accessible via linuxcnc-home.langdonstaab.ca/ (may be slightly out of date sporadically).

LinuxCNC ISOs can also be downloaded from www3.langdonstaab.ca/iso/  geometry dash   (Not updated often, last available version is 2.9.4; fastest if you are near Toronto, Canada)

The linuxcnc forum can also be accessed at linuxcnc.langdonstaab.ca (identical to forum.linuxcnc.org, but proxied and cached by Cloudflare and using fast Cloudflare DNS instead of DigitalOcean DNS).

  • fun
  • fun's Avatar
02 Oct 2025 09:26 - 02 Oct 2025 09:27
Replied by fun on topic Rotating the g54 coordinate system.

Rotating the g54 coordinate system.

Category: General LinuxCNC Questions

Nothing particularly particular. However, the machine (as well as the   appears to act appropriately.
  • gitano
  • gitano
02 Oct 2025 09:04 - 02 Oct 2025 09:06

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

Hello,

after a 6 months break from RIO and LinuxCNC i tried to play around again on the latest riocore git release (wow... the latest additions look VAST!) and can't get past this error:

[code]LINUXCNC - 2.9.6
Machine configuration directory is '/media/gitano/DATA/Software/CAD+CAM/LinuxCNC-RIO/riocore/Output/Tangbob/LinuxCNC'
Machine configuration file is 'rio.ini'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX non-realtime
twopass:invoked with <> options
twopass:found ./rio.hal
twopass:found ./pregui_call_list.hal
twopass:pass0: loadusr -W hal_manualtoolchange
riocomp.c: In function ‘rtapi_app_main’:
riocomp.c:539:37: error: passing argument 2 of ‘hal_export_funct’ from incompatible pointer type [-Wincompatible-pointer-types]
  539 |     retval = hal_export_funct(name, rio_readwrite, data, 1, 0, comp_id);
      |                                     ^~~~~~~~~~~~~
      |                                     |
      |                                     void (*)(void)
In file included from riocomp.c:4:
/usr/include/linuxcnc/hal.h:710:54: note: expected ‘void (*)(void *, long int)’ but argument is of type ‘void (*)(void)’
  710 | extern int hal_export_funct(const char *name, void (*funct) (void *, long),
      |                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
riocomp.c:48:6: note: ‘rio_readwrite’ declared here
   48 | void rio_readwrite();
      |      ^~~~~~~~~~~~~
make: *** [/usr/share/linuxcnc/Makefile.modinc:117: riocomp.o] Error 1
# compiling and loading rio component...failed
rio: rtapi_app_main: Operation not permitted (-1)

twopass: load_the_modules cmd=<orig_loadrt rio>
waitpid failed /usr/bin/rtapi_app rio
/usr/bin/rtapi_app exited without becoming ready
insmod for rio failed, returned -1

Shutting down and cleaning up LinuxCNC...
Note: Using POSIX non-realtime
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/gitano/linuxcnc_debug.txt
and
    /home/gitano/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

which looks like some coding incompabilities between HAL and RIO, as far as i can see. This happens on my testing machine both with LinuxCNC 2.9 as well as master,  both compiled from source, the system is latest Debian 12/13 unstable forky/sid.

Any ideas how to fix this?

Thank You very much!

Cheers,
-lgitano[/code]
Displaying 856 - 870 out of 22710 results.
Time to create page: 0.356 seconds
Powered by Kunena Forum