Advanced Search

Search Results (Searched for: )

  • richcolvin
  • richcolvin's Avatar
20 Mar 2025 16:54
C Axis as Second Spindle was created by richcolvin

C Axis as Second Spindle

Category: General LinuxCNC Questions

I am looking for guidance on how to setup the C axis as a second spindle.  This is for a rose engine lathe (otbok.info/index.php?n=Main.RoseEngineLathe) where we need to use:
  1. the Spindle to rotate the piece, and
  2. the C axis to rotate the rosettes used to impart the design
We turn these quite slowly, certainly less than 10 RPM, and at times speeds approaching 3 or 4 minutes per revolution.  Thusly we are using stepper motors for both axes.

The end goal is to drive the spindle and the C axis simultaneously, but specifying a relationship percentage for their rotational speeds.  For example, 
RPM of the C-axis = x% of RPM of the Spindle
Is there some documentation I can read which describes 
  1. How to setup LinuxCNC to treat the C-axis as a secondary spindle, and
  2. The G-code I would use.
Apologies if this is already been asked and answered:  I searched the forum and could not find it.
  • Tntmold
  • Tntmold
20 Mar 2025 15:10 - 20 Mar 2025 15:55
Replied by Tntmold on topic General Questions about using ethercat

General Questions about using ethercat

Category: EtherCAT

Thanks for your help, I used the output from lcec_configgen and replaced all the BLANK halType entries as S32 or U32, but now I get other errors, am I missing information in the xml file?:


phil@SodickA:~/linuxcnc/configs/sim.axis$ linuxcnc lathe.ini
LINUXCNC - 2.9.3
Machine configuration directory is '/home/phil/linuxcnc/configs/sim.axis'
Machine configuration file is 'lathe.ini'
Starting LinuxCNC...
libnml/buffer/shmem.cc 320: Shared memory buffers toolCmd and toolCmd may conflict. (key=1004(0x3EC))
libnml/buffer/shmem.cc 320: Shared memory buffers toolSts and toolSts may conflict. (key=1005(0x3ED))
libnml/buffer/shmem.cc 320: Shared memory buffers emcError and emcError may conflict. (key=1003(0x3EB))
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(LIB): /usr/share/linuxcnc/hallib/basic_sim.tcl
setup_kins: cmd=loadrt trivkins coordinates=xz
Found file(REL): ./ethercat.hal
LCEC: Invalid appTimePeriod of 0 for master 0 (should be 1000000).
LCEC: Invalid appTimePeriod of 0 for master 0 (should be 1000000).

link (updating variable file): No such file or directory
note: MAXV     max: 3.333 units/sec 200.000 units/min
note: LJOG     max: 3.333 units/sec 200.000 units/min
note: LJOG default: 1.000 units/sec 60.000 units/min
note: jog_order='ZX'
note: jog_invert={'X'}
task: main loop took 0.038776 seconds
task: main loop took 0.019003 seconds
Shutting down and cleaning up LinuxCNC...
task: 32479 cycles, min=0.000007, max=0.038776, avg=0.001059, 2 latency excursions (> 10x expected cycle time of 0.001000s)
Note: Using POSIX realtime
 
  • Tntmold
  • Tntmold
20 Mar 2025 14:52
Replied by Tntmold on topic General Questions about using ethercat

General Questions about using ethercat

Category: EtherCAT

I am way to ignorant on linuxcnc to understand what to do next. They are cia402 drives (Lichuan OL3-E57H) as I have two of them I have started with a lathe config as shown on the first video of this thread. How is the ESI file different from what linuxcnc needs? Should I be using output from pdos as my xml file?

phil@SodickA:~/linuxcnc/configs/sim.axis$ ethercat pdos
=== Master 0, Slave 0 ===
SM0: PhysAddr 0x1000, DefaultSize 128, ControlRegister 0x26, Enable 1
RxPDO 0x1a01 "TxPDO 2"
PDO entry 0x603f:00, 16 bit, "ErrorCode"
PDO entry 0x6041:00, 16 bit, "StatusWord"
PDO entry 0x6064:00, 32 bit, "Position actual value"
PDO entry 0x60fd:00, 32 bit, "Digital inputs"
PDO entry 0x6061:00, 8 bit, "Modes of operation display"
RxPDO 0x1601 "RxPDO 2"
PDO entry 0x6040:00, 16 bit, "ControlWord"
PDO entry 0x6060:00, 8 bit, "Modes of operation"
PDO entry 0x607a:00, 32 bit, "Target position"
PDO entry 0x6081:00, 32 bit, "Profile velocity"
PDO entry 0x6099:01, 32 bit, "Search Switch"
PDO entry 0x6099:02, 32 bit, "Search Zero"
SM1: PhysAddr 0x1100, DefaultSize 128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1200, DefaultSize 12, ControlRegister 0x64, Enable 1
RxPDO 0x1600 ""
PDO entry 0x6040:00, 16 bit, ""
PDO entry 0x607a:00, 32 bit, ""
PDO entry 0x60ff:00, 32 bit, ""
PDO entry 0x6060:00, 8 bit, ""
PDO entry 0x0000:00, 8 bit, "Gap"
SM3: PhysAddr 0x1300, DefaultSize 19, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 ""
PDO entry 0x6041:00, 16 bit, ""
PDO entry 0x6064:00, 32 bit, ""
PDO entry 0x606c:00, 32 bit, ""
PDO entry 0x6061:00, 8 bit, ""
PDO entry 0x0000:00, 8 bit, "Gap"
=== Master 0, Slave 1 ===
SM0: PhysAddr 0x1000, DefaultSize 128, ControlRegister 0x26, Enable 1
RxPDO 0x1a01 "TxPDO 2"
PDO entry 0x603f:00, 16 bit, "ErrorCode"
PDO entry 0x6041:00, 16 bit, "StatusWord"
PDO entry 0x6064:00, 32 bit, "Position actual value"
PDO entry 0x60fd:00, 32 bit, "Digital inputs"
PDO entry 0x6061:00, 8 bit, "Modes of operation display"
RxPDO 0x1601 "RxPDO 2"
PDO entry 0x6040:00, 16 bit, "ControlWord"
PDO entry 0x6060:00, 8 bit, "Modes of operation"
PDO entry 0x607a:00, 32 bit, "Target position"
PDO entry 0x6081:00, 32 bit, "Profile velocity"
PDO entry 0x6099:01, 32 bit, "Search Switch"
PDO entry 0x6099:02, 32 bit, "Search Zero"
SM1: PhysAddr 0x1100, DefaultSize 128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1200, DefaultSize 12, ControlRegister 0x64, Enable 1
RxPDO 0x1600 ""
PDO entry 0x6040:00, 16 bit, ""
PDO entry 0x607a:00, 32 bit, ""
PDO entry 0x60ff:00, 32 bit, ""
PDO entry 0x6060:00, 8 bit, ""
PDO entry 0x0000:00, 8 bit, "Gap"
SM3: PhysAddr 0x1300, DefaultSize 19, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 ""
PDO entry 0x6041:00, 16 bit, ""
PDO entry 0x6064:00, 32 bit, ""
PDO entry 0x606c:00, 32 bit, ""
PDO entry 0x6061:00, 8 bit, ""
PDO entry 0x0000:00, 8 bit, "Gap"
phil@SodickA:~/linuxcnc/configs/sim.axis$ ethercat sdos
phil@SodickA:~/linuxcnc/configs/sim.axis$ ethercat -v slaves
=== Master 0, Slave 0 ===
Device: Main
State: PREOP
Flag: +
Identity:
Vendor Id: 0x00000a79
Product code: 0x00002000
Revision number: 0x00000001
Serial number: 0x00000000
DL information:
FMMU bit operation: no
Distributed clocks: yes, 64 bit
DC system time transmission delay: 0 ns
Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]
0 MII up open yes - 1139426180 0 0
1 MII up open yes 1 1139427620 1440 720
2 N/A down closed no - - - -
3 N/A down closed no - - - -
Mailboxes:
Bootstrap RX: 0x0000/0, TX: 0x0000/0
Standard RX: 0x1000/128, TX: 0x1100/128
Supported protocols: CoE
General:
Group: EtherCAT Driver
Image name:
Order number:
Device name: OL3-E57H
CoE details:
Enable SDO: yes
Enable SDO Info: no
Enable PDO Assign: yes
Enable PDO Configuration: yes
Enable Upload at startup: no
Enable SDO complete access: no
Flags:
Enable SafeOp: no
Enable notLRW: no
Current consumption: 0 mA
=== Master 0, Slave 1 ===
Device: Main
State: PREOP
Flag: +
Identity:
Vendor Id: 0x00000a79
Product code: 0x00002000
Revision number: 0x00000001
Serial number: 0x00000000
DL information:
FMMU bit operation: no
Distributed clocks: yes, 64 bit
DC system time transmission delay: 720 ns
Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]
0 MII down closed no 0 - - -
1 MII up open yes - 54668620 2396782160 0
2 N/A down closed no - - - -
3 N/A down closed no - - - -
Mailboxes:
Bootstrap RX: 0x0000/0, TX: 0x0000/0
Standard RX: 0x1000/128, TX: 0x1100/128
Supported protocols: CoE
General:
Group: EtherCAT Driver
Image name:
Order number:
Device name: OL3-E57H
CoE details:
Enable SDO: yes
Enable SDO Info: no
Enable PDO Assign: yes
Enable PDO Configuration: yes
Enable Upload at startup: no
Enable SDO complete access: no
Flags:
Enable SafeOp: no
Enable notLRW: no
Current consumption: 0 mA
phil@SodickA:~/linuxcnc/configs/sim.axis$ lcec_configgen
<masters>
<master idx="0">
<slave idx="0" type="generic" vid="0x00000a79" pid="0x00002000" name="D1">
<!--OL3-E57H-->
<syncManager idx="0" dir="out">
<pdo idx="1a01">
<!--TxPDO 2-->
<pdoEntry idx="603f" subIdx="00" bitLen="16" halPin="errorcode" halType="BLANK"/>
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="BLANK"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="position-actual-value" halType="BLANK"/>
<pdoEntry idx="60fd" subIdx="00" bitLen="32" halPin="digital-inputs" halType="BLANK"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modes-of-operation-display" halType="BLANK"/>
</pdo>
<pdo idx="1601">
<!--RxPDO 2-->
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="BLANK"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="modes-of-operation" halType="BLANK"/>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="BLANK"/>
<pdoEntry idx="6081" subIdx="00" bitLen="32" halPin="profile-velocity" halType="BLANK"/>
<pdoEntry idx="6099" subIdx="01" bitLen="32" halPin="search-switch" halType="BLANK"/>
<pdoEntry idx="6099" subIdx="02" bitLen="32" halPin="search-zero" halType="BLANK"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="pin-6040-00" halType="BLANK"/>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="pin-607a-00" halType="BLANK"/>
<pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="pin-60ff-00" halType="BLANK"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="pin-6060-00" halType="BLANK"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="pin-6041-00" halType="BLANK"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pin-6064-00" halType="BLANK"/>
<pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="pin-606c-00" halType="BLANK"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="pin-6061-00" halType="BLANK"/>
</pdo>
</syncManager>
</slave>
<slave idx="1" type="generic" vid="0x00000a79" pid="0x00002000" name="D2">
<!--OL3-E57H-->
<syncManager idx="0" dir="out">
<pdo idx="1a01">
<!--TxPDO 2-->
<pdoEntry idx="603f" subIdx="00" bitLen="16" halPin="errorcode" halType="BLANK"/>
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="BLANK"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="position-actual-value" halType="BLANK"/>
<pdoEntry idx="60fd" subIdx="00" bitLen="32" halPin="digital-inputs" halType="BLANK"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modes-of-operation-display" halType="BLANK"/>
</pdo>
<pdo idx="1601">
<!--RxPDO 2-->
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="BLANK"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="modes-of-operation" halType="BLANK"/>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="BLANK"/>
<pdoEntry idx="6081" subIdx="00" bitLen="32" halPin="profile-velocity" halType="BLANK"/>
<pdoEntry idx="6099" subIdx="01" bitLen="32" halPin="search-switch" halType="BLANK"/>
<pdoEntry idx="6099" subIdx="02" bitLen="32" halPin="search-zero" halType="BLANK"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="pin-6040-00" halType="BLANK"/>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="pin-607a-00" halType="BLANK"/>
<pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="pin-60ff-00" halType="BLANK"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="pin-6060-00" halType="BLANK"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="pin-6041-00" halType="BLANK"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pin-6064-00" halType="BLANK"/>
<pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="pin-606c-00" halType="BLANK"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="pin-6061-00" halType="BLANK"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
  • Hakan
  • Hakan
20 Mar 2025 14:44
Replied by Hakan on topic General Questions about using ethercat

General Questions about using ethercat

Category: EtherCAT

That xml file is an ESI file. It will not work. See my reply above.
Run "lcec_configgen" and put the output into ethercat-conf.xml.
  • PCW
  • PCW's Avatar
20 Mar 2025 14:41
Replied by PCW on topic Missing one channel step/direction

Missing one channel step/direction

Category: General LinuxCNC Questions

Can you post your hal file?
 
  • Tntmold
  • Tntmold
20 Mar 2025 14:38
Replied by Tntmold on topic General Questions about using ethercat

General Questions about using ethercat

Category: EtherCAT

please see attached files
  • Yan_Botak
  • Yan_Botak
20 Mar 2025 14:38
Replied by Yan_Botak on topic New update on STMBL

New update on STMBL

Category: Driver Boards

It is suport step/dir sir?? Because original stmbl are suported right, if posible open the step/dir interface mate, so we can used for mach3 or grbl, thank u somuch.
  • sajurcaju
  • sajurcaju
20 Mar 2025 13:51
Missing one channel step/direction was created by sajurcaju

Missing one channel step/direction

Category: General LinuxCNC Questions

I'm running LinuxCNC/Axis 2.9.0-pre1..... on LMDE 6, using software stepping. I have a 3 axis CNC, with two motors on the X. Initial condition has the motherboard parallel port controlling the motors and a second parallel card doing some other details. One X motor works, the second does not.

I was trying to connect my g540 disable to the parallel port and one motor quit working, the 4th axis on the g540 (which is my second X motor, see image). Using an oscilloscope, I can see step/direction for the parallel port pins 2,3 (x) 4,5 (y) and 6,7 (z) when I use the arrow keys. Pins 8,9 have nothing when I use the arrow keys for x. I  figured I had blown up the parallel port, but somehow just those two pins.

Bought a PCI parallel card, changed stepconf to use that card instead of the MB parallel port. Same deal, I can move the X motor but the X2 motor doesn't do anything. I measured the new parallel port pins, same result. I can measure step/direction for pins 2-7, but pins 8 and 9 do nothing.

Somehow the signals on the 4th channel, pins 8-9, is not getting through. I think I have Stepconf set up right, it was a working machine before.

Help will be greatly appreciated!
Steve
 
  • Wagon56
  • Wagon56
20 Mar 2025 12:42

Configuring 6 axis robot arm with lcnc

Category: HAL

Hey, i have a question about configuring a 6axis robot arm with lcnc, ive built myself a robot arm and im trying to control it via a puma560 simulation config, ive seen a youtube short of someone doing exactly that but he has no documentation on how he did it, im new to lcnc so i dont really know where to start with configuring physical pins, for context im using a rpi5 and want to use gpio pins for step/dir, ive got some tmc 5160t drivers to work and i get motion from them i just dont know how i would assign physical gpio pins to the already existing config Below ive linked the short where a robot arm is controlled by the puma560 config, if you stop at the right time you can see the tab name: youtube.com/shorts/js6OaVhUN2U?si=68d75rJqwbvCr9V0
  • rodw
  • rodw's Avatar
20 Mar 2025 12:11

2.93 Torch crashes on material on long cuts.

Category: Plasmac

Is the void lock disabled?
Old info, but had this happen often on PlasmaC while it was still being developed, does require setting VAD at under 75% and disabling void lock.
Did not happen probably last two years.
-
Also does absolutely require monitoring the voltage, as it can be caused by the plasma source dropping the voltage due to heat or mains voltage going up (transformer plasma) or issues with current control (inverter plasma).

Thanks Tommy. We had not discounted plasma voltage changes and had some ideas to check if that is it.
  • tommylight
  • tommylight's Avatar
20 Mar 2025 11:53
Replied by tommylight on topic THCAD selection including ohmic sensing

THCAD selection including ohmic sensing

Category: Plasmac

Stahlwerk
www.stahlwerk-schweissgeraete.de/Plasmaschneider-CUT
Good quality and cheaper than china, vertical machine torch is 40E in Germany, with 5 meter cable is 90E, bought both.
Mind the pilot arc, there are some without it so do not get those, it is easy just look for a red knob on the bottom front and usually it is written in spec info.
  • tommylight
  • tommylight's Avatar
20 Mar 2025 11:45
Replied by tommylight on topic 2.93 Torch crashes on material on long cuts.

2.93 Torch crashes on material on long cuts.

Category: Plasmac

Is the void lock disabled?
Old info, but had this happen often on PlasmaC while it was still being developed, does require setting VAD at under 75% and disabling void lock.
Did not happen probably last two years.
-
Also does absolutely require monitoring the voltage, as it can be caused by the plasma source dropping the voltage due to heat or mains voltage going up (transformer plasma) or issues with current control (inverter plasma).
  • tsaG
  • tsaG
20 Mar 2025 09:48

Getting iocontrol.0.tool-prep-pocket to work

Category: Advanced Configuration

Hm, the issue is that I only have a 12 slot tool rack. I machine wood and metal and have my tool library imported into fusion as well. This means I will be switching tools in and out the tool rack as I need, so it would be great to use the assigned pocket numbers.

Nevertheless for someone not needing to change the tools frequently (or is more flexible in tool numbering) that is a good idea!
  • matasbuk
  • matasbuk
20 Mar 2025 09:34 - 20 Mar 2025 09:35
Replied by matasbuk on topic Getting iocontrol.0.tool-prep-pocket to work

Getting iocontrol.0.tool-prep-pocket to work

Category: Advanced Configuration

You can use tool numbers instead, pocket numbers have to be the same as tool numbers for non random toolchangers
  • Marc_P
  • Marc_P
20 Mar 2025 08:56
Replied by Marc_P on topic Weiler 160 CNC Retrofit

Weiler 160 CNC Retrofit

Category: Show Your Stuff

Hello Klopp an ProG.

I'm also in the same situation to retrofit a Weiler 160 CNC. I'm very interested in the LCNC config files and also the classicladder for the turret. Can you help me with these files?

Marc
Displaying 17236 - 17250 out of 18577 results.
Time to create page: 0.377 seconds
Powered by Kunena Forum