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
 
  • 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]
  • TripleM
  • TripleM
02 Oct 2025 08:58

Werkzeugaufruf nach Toolnummer, nicht nach Pocketnummer

Category: Deutsch

Hi,
ich habe eine Drehmaschine mit einem Revolver mit 8 Plätzen und zusätzlich 30verscheiden Werkezuge.

Wenn ich T1 aufrufe, wird immer das Werkezeug auf Platz 1 aufgerufen.
Wenn ich jetzt das Werkzeug 1 auf Platz 3 setze und das in der Werkzeugtabelle entsprechend angebe, dann sollte bei einem Aufruf von T1 auch das Werkzeug 1 auf Platz 3 aktiv werden.
Leider habe ich nix passendes gefunden, aber denke, dass das möglich ist
Kann mir diesbezüglich jemand weiterhelfen?

vielen Dank und viele Grüße


 
  • BigDo
  • BigDo
02 Oct 2025 08:26 - 02 Oct 2025 08:30
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

Giovanni, the default_template.xml file was missing. I used your file from the other thread and now the menu and workspace appear, but I can't add a tool change. The following error message appears when I start linuxcnc in the terminal.I looked at the tool-change.cfg, and it says version=1.15, while the other cfgs say version=1.14.And one more point: in an old default_template.xml from 2019, there are two sections:
1. workpeace
2. tool-change 

 
 
Displaying 9601 - 9615 out of 16593 results.
Time to create page: 0.607 seconds
Powered by Kunena Forum