Advanced Search

Search Results (Searched for: )

  • cmorley
  • cmorley
06 Jul 2025 17:35
Replied by cmorley on topic Error in tool_offsetview.py

Error in tool_offsetview.py

Category: Qtvcp

The error is my fault - in the process of fixing - sorry.
Ok thank you for the .ui file!
  • endian
  • endian's Avatar
06 Jul 2025 17:35

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

ok, thought it was a reply to my post.

A consequence of the LinuxCNC servo loop not being the same length and not being synchronized with the EtherCAT DC cycle is that the drives can make unpleasant noises every few minutes. How noticeable this is depends on how well the drive is able to handle this situation.
If I listen closely I can hear it from my ECT60 drives. This is especially noticeable with stepper motors where even a small change in pulse frequency can be perceived by the ear. In principle this should also happen with servo drives, but I have not studied it.
The 2 cycle delay is hard to do something about.
Synchronzation of the servo loop and Ethercat's loop can be done by having linuxcnc follow the DC cycle. When they use DC.
Well it can't be done, but it can be developed.

I am not specialist in this field ... I have asked AI about it ... and she told me below ...
 is linuxcnc + ethercat master over lcec component single cycle time synchronized ?

Yes, achieving highly synchronized single-cycle operation with LinuxCNC and the EtherCAT master (specifically using the IgH EtherCAT master via the LCEC component) is a primary goal and generally achievable, especially when utilizing Distributed Clocks (DC) synchronization.Here's a breakdown of how it works and what's involved:

  • EtherCAT's Distributed Clocks (DC): EtherCAT is designed for high-performance and precise synchronization. A key feature is Distributed Clocks (DC), where one slave is designated as the reference clock (often the first DC-capable slave in the chain). All other slaves, including the EtherCAT master, synchronize their internal clocks to this reference. This results in very tight synchronization across all devices on the EtherCAT network, often in the nanosecond range.
  • LinuxCNC's Real-Time Environment: LinuxCNC operates on a real-time (RT) kernel (like PREEMPT_RT or RTAI) to ensure deterministic execution of its motion control and I/O tasks. The main control loop runs in a "servo thread" at a fixed, precise rate (e.g., 1 kHz).
  • LCEC Component's Role: The LCEC component in LinuxCNC acts as the interface between the LinuxCNC HAL (Hardware Abstraction Layer) and the IgH EtherCAT master. It allows LinuxCNC to send commands and read data from EtherCAT slaves.
  • Synchronization Strategy:
    • Slave Synchronization: The EtherCAT slaves themselves are tightly synchronized to the reference clock on the bus via the DC mechanism. This means their internal operations (e.g., updating output values, sampling input values) occur at precisely defined moments relative to the bus clock.
    • Master-to-Slave Synchronization: The crucial part is synchronizing the LinuxCNC servo thread (the master) to the EtherCAT bus's distributed clock. This can be achieved by:
      • ecrt_master_application_time()
        and
        ecrt_master_sync_reference_clock()
        : The IgH EtherCAT master library provides functions like
        ecrt_master_application_time()
        to set the master's application time and
        ecrt_master_sync_reference_clock()
        to adjust the reference clock based on the master's time. These are called within the LinuxCNC servo thread.
      • sync0Shift
        and
        refClockSyncCycles
        : These parameters in the EtherCAT configuration (often in an XML file) are critical for fine-tuning the synchronization.
        • sync0Shift
          defines an offset for the slave's Sync0 event (the point in time when process data is applied/sampled) relative to the start of the EtherCAT cycle.
        • refClockSyncCycles
          can be used to tell the master to synchronize its internal clock to the reference slave's clock. A negative value (e.g.,
          -1
          ) often indicates a mode where the master actively adjusts its timing to the reference clock.
  • Achieving Single-Cycle Synchronization: When configured correctly with DC synchronization, the goal is for the LinuxCNC servo thread to operate in a tight, deterministic loop where:
    1. LinuxCNC calculates new output values.
    2. The LCEC component sends these outputs to the EtherCAT master.
    3. The EtherCAT master sends the process data over the bus.
    4. The EtherCAT slaves receive the data and apply it, and sample their inputs, all precisely synchronized by DC.
    5. The slaves send their input data back.
    6. The LCEC component reads the inputs, which are then available to LinuxCNC for the next servo cycle.
    While the process data exchange itself happens very quickly within the EtherCAT frame (the "bullet train" analogy), LinuxCNC's typical "read inputs, process data, write outputs" model means that there can be a one-cycle delay for inputs to be reflected in the control loop. However, the timing of these operations is highly synchronized to the fixed cycle time.
Challenges and Considerations:
  • Jitter: Even with a real-time kernel, some level of jitter (variations in actual execution time) can occur. The goal is to minimize this jitter so that the LinuxCNC servo thread's timing is consistent enough to maintain tight synchronization with the EtherCAT bus.
  • Hardware: A good real-time capable PC and a suitable EtherCAT-compatible network card are essential for optimal performance.
  • Configuration: Correct configuration of the IgH EtherCAT master and the LCEC component, especially the DC synchronization parameters, is crucial.
  • Debugging: Tools like
    ethercat slaves -v
    and HAL scope sessions (to monitor
    pll-out
    and
    pll-err
    pins in
    lcec
    when
    refSyncCycle = -1
    ) can help in debugging synchronization issues.
In summary, LinuxCNC with the LCEC component and EtherCAT's Distributed Clocks is designed to provide highly synchronized single-cycle operation for motion control applications, enabling precise and deterministic machine control.

 
  • cakeslob
  • cakeslob
  • cakeslob
  • cakeslob
06 Jul 2025 17:02
Replied by cakeslob on topic Flying Probe ATG A5 Not Connecting Message

Flying Probe ATG A5 Not Connecting Message

Category: General LinuxCNC Questions

Not that LinuxCNC couldnt run a flying probe machine... but does linuxCNC run on this flying probe machine?

www.mycronic.com/product-areas/bare-boar.../a5-neo/#description
  • rhscdn
  • rhscdn
06 Jul 2025 16:39

Recommended card: AXYZ CNC router upgrade

Category: Driver Boards

I am looking for recommendations to upgrade the control of an AXYZ cnc router, currently configured with AMC004 + flash card and an rs-485 usb interface. I’m a longtime Linux user but 1st time CNC router owner. The cnc machine has AXYZ AXI stepper drivers and a e-trac X2C inverter driving an Elite spindle.

I’ve been reading a lot but before I go ahead and order, can anyone confirm that the 7i96s is a suitable controller card? Are there any Canadian suppliers for these cards?

Any other advice before ai get started would be greatly appreciated!
  • SjCNC
  • SjCNC
06 Jul 2025 16:26

Please help with adding laser control

Category: Plasma & Laser

Long story short, I need help getting laser control working again.

Setup was functional with the main diode laser (which failed one day), then edited to use a cheaper diode laser.  I tried switching everything back over after repairing the main laser, and it's been a downward spiral.

I'm now pot committed to starting from scratch.  Setup is a 7i76e, with a 5 axis BoB on expansion port P1.  OS has been upgraded to 2.9.4, and 7i76e_7i76x1_5abobpD.bit has been flashed to the board.   

The attached config is just a basic pncConf output.  Any guidance for implementing PWM would be greatly appreciated.
 
  • Hakan
  • Hakan
06 Jul 2025 15:42

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

ok, thought it was a reply to my post.

A consequence of the LinuxCNC servo loop not being the same length and not being synchronized with the EtherCAT DC cycle is that the drives can make unpleasant noises every few minutes. How noticeable this is depends on how well the drive is able to handle this situation.
If I listen closely I can hear it from my ECT60 drives. This is especially noticeable with stepper motors where even a small change in pulse frequency can be perceived by the ear. In principle this should also happen with servo drives, but I have not studied it.
The 2 cycle delay is hard to do something about.
Synchronzation of the servo loop and Ethercat's loop can be done by having linuxcnc follow the DC cycle. When they use DC.
Well it can't be done, but it can be developed.
  • endian
  • endian's Avatar
06 Jul 2025 15:26

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

Why bring in Twincat?

what do you mean please?

It was reply at kworm .. because there is a lot of stuff in the TC software which easier life well..
  • Hakan
  • Hakan
06 Jul 2025 15:05
  • endian
  • endian's Avatar
06 Jul 2025 14:47

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

Be careful because it is configurable for twincat Nc task axis setup is axis lag watching possible to disable and there are any running speed possible to get... I think they have 7phase generator to control to axis movement which is probably more powerfull then lcnc trajectory generator ... They have native ec drivers for they native hardware .. but I am not specialist, I have just 15y of experiences which is nothing...

I know just about the single cycle lagging but there is possibility of having the DC timing problem which can cause the f error during high speed .. therefore is great practice to take DC config of slave take directly from the TC3...

I have problems with ferror too but they were caused by servo setup, dc config and slave timing setup... I have ran at 250us well 4axis 
  • Hakan
  • Hakan
06 Jul 2025 14:45

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

It's a conclusion from the work done here

start from maybe two minutes in.
I did a lot of measurements, not reported here.
 
  • PCW
  • PCW's Avatar
06 Jul 2025 13:51

Mesa card issues Maho MH800E Retrofit Project

Category: Computers and Hardware

Set W5 jumper to normal operation = down, power cycle the PC, and the run

sudo mesaflash --device 5i25t --readhmid 

and post the results here
  • kworm
  • kworm
06 Jul 2025 13:46

PID tuning when you have a tuned Servo in CSP mode?

Category: EtherCAT

I'm interested in this as well.  I have spent many hours trying to get > 11-12 m/min smooth motion on a large format router without joint following errors and/or jerky motion.  Using the old control or TwinCAT CNC with the same servo driver config works fine at 30 m/min.

I'm no expert on LCNC internals but if RTAPI_TASK_PLL_SUPPORT is defined in linuxcnc-ethercat lcec_main.c then it appears that syncronization is attempted between the ethercat application cycle and LCNC with a max error of one app period...maybe this is where Hakan is getting the potential extra cycle delay.

Since you have the ethercat master running outside LCNC it seems like it would be difficult for those to be perfectly syncronized but perhaps that does not matter in application. I know TwinCAT is running in hard realtime on one or more dedicated cpu cores outside of operating system and with their tools you can see how much time is being used in each cycle.  It would be nice if there were a tool for LCNC where you could see that info but I'm not sure it's even possible in the current architecture.
  • Cooped-Up
  • Cooped-Up
06 Jul 2025 13:30
Replied by Cooped-Up on topic Mesa card issues Maho MH800E Retrofit Project

Mesa card issues Maho MH800E Retrofit Project

Category: Computers and Hardware

after moving the jumper I was able to get the computer to see the device again and I thought I had it programmed but moving the jumper causes it to be not seen again... Not sure where I am messing this up but I will keep reading forums and manuals
  • tommylight
  • tommylight's Avatar
06 Jul 2025 12:26

Failed Parallel Port on system, Recommended Easiest Upgrade Solution ?

Category: General LinuxCNC Questions

Used old Dell Optiplex 980 in Tower version has a built in parallel port, plenty can be found for very cheap, you can probaly just yank the old hard drive and put it in the new PC and everything should work. Granted the hard drive works.
Displaying 13111 - 13125 out of 16939 results.
Time to create page: 0.587 seconds
Powered by Kunena Forum