Advanced Search

Search Results (Searched for: )

  • RotarySMP
  • RotarySMP's Avatar
25 Sep 2025 19:55
Replied by RotarySMP on topic Lathe Macros

Lathe Macros

Category: Other User Interfaces

I worked it out, by playing around with adding an M5 to the end of Chamfer. It rereads it each time, so I didn't need to restart LCNC.
  • rodw
  • rodw's Avatar
25 Sep 2025 19:46

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

Ooops, I got that wrong go for kernel 6.16
  • rodw
  • rodw's Avatar
25 Sep 2025 19:36

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

It's more of a kernel/driver issue than hardware/Linux Distribution issue.
 

I think the world has got more complex and there are standards like energy efficient Ethernet (EEE) that the kernel has to support today in this world of power conservation. they all add up.rtt min/avg/max/mdev = 0.100/0.114/26.854/0.321 ms, pipe 2 As you say it is sometimes slow. This can be affected by the initial ping when its connecting but it can be EEE kicking in. Check the doc for how to disable that. (I am not convinced that it is still disabled by default.

One of the issues here is that there is no RT ethernet drivers. Ethercat gets around this by writing their own drivers but for the most part now depends on the generic ethercat driver which is not real time which they say is mostly good enough (except for some realtek). 

The only other trick which has worked with 2 core PC's in the past is to compile the kernel yourself because Debian seems to make some odd choices in their kernel version. If you go down this path, I would download the 6.1.17 kernel source and the matching 6.1.17 RT patch. I would do this to build a Deb on another PC with more cores or it will take you many hours/ even days. Perhaps PCW can provide some guidance on the necessary steps. Unfortunately, I have lost my scripts....
  • RotarySMP
  • RotarySMP's Avatar
25 Sep 2025 19:35
Replied by RotarySMP on topic Lathe Macros

Lathe Macros

Category: Other User Interfaces

Hi Andy,
Are the macros reread from the drive each time they run, or loaded once at start up? 
The reason I ask, is I need to change the G76 Q value to 4.5° to cut my Schaublin collet draw tube buttress thread, and was wondering if I can just edit it with LinuxCNC active, or whether I should shut down, edit, and then restart?

Have you considered making flank angle a data entry box on the Macro page?
Cheers,
Mark
  • PCW
  • PCW's Avatar
25 Sep 2025 19:30 - 25 Sep 2025 21:53

Stepper Motor Speed does not match MaxVel

Category: Basic Configuration

The velocity units for linear axis are in inches per second, not revolutions per second
If the linear velocity is not correct, its likely the the step scale does not match the hardware
(hardware meaning the ball screw pitch, step drive microstep ratio, any intermediate gear/belt reductions etc.)
 
The velocity units for rotary axis are in degrees per second.

Note that latency will have no real affect on scaling unless its
so bad that you get stalling (which would be obvious)
  • richcolvin
  • richcolvin's Avatar
25 Sep 2025 19:04
Stepper Motor Speed does not match MaxVel was created by richcolvin

Stepper Motor Speed does not match MaxVel

Category: Basic Configuration

I am finding that
  1. the stepper motors for the two spindles work as expected, however
  2. the stepper motors for the axes (B, U, V, X, &, & Z) run at a VERY slow speed. 
The latency test on my Raspberry Pi 5 gave:
  • Servo Thread
    • Max Interval = 1,013,089nS
    • Max Jitter = 13,089nS
  • Base Thread
    • Max Interval = 46,407nS
    • Max Jitter = 24,074nS
I ran the Step Timing Calculator to set the BASE_PERIOD based on using StepperOnline DM542T drivers.
  • Step Length = 2.5µS
  • Step Space = 2.5µS
  • Direction Setup = 5µS
  • Direction Hold = 5µS
The recommended BASE_PERIOD = 26.57µS.

When I run LinuxCNC based on this configuration, the value for the parameter, hm2_yi92.0.stepgen.02.maxvel = 1.

Regardless, the stepper motor does NOT run at 1 rev / sec.


Attached are the HAL, INI, and include files for
  • Spindle0 (Spindle1 is the same)
  • Axis X (axes Y, Z, B, U, & V are the same)
The X Axis is set as Joint 0, Channel 02.


Help would be GREATLY appreciated!

Thank you and kind regards,
Rich
  • PCW
  • PCW's Avatar
25 Sep 2025 18:44

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

What does my script do?

(sudo is a bit funny with some command lines)
  • bentiggin
  • bentiggin
25 Sep 2025 18:42
Replied by bentiggin on topic Hypertherm hsd130 interface

Hypertherm hsd130 interface

Category: Plasma & Laser

I realize my questions probably don't make much sense so attached are some pics of how I think I should wire it, bypassing the old "phc interface."

I don't want to use the "phc interface" because I would have to make some assumptions about how it was wired.
For example, can I assume the 12v on the on the "phc interface" break out is actually 24v since the hypertherm hsd130 doesn't have 12v?
Do the wire colors correlate to the wire colors in the manual?

If I take the time to verify this, why not just bypass the "phc interface" and go directly to the 37 pin connector that I have documentation for.
  • endian
  • endian's Avatar
25 Sep 2025 18:28 - 25 Sep 2025 18:32
Beckhoff AX5YZZ internal probing was created by endian

Beckhoff AX5YZZ internal probing

Category: EtherCAT

Hello folks...

have anybody working configuration with custom data telegrams of SM pdos which include internal SoE probing objects? I think internal probing in generally over the SoE parameters and S-0-0169, S-0-0170 IDNs ...

@chimeno, @db1981 has some working stuff but I can not see any custom modification of the SMs ifself...

Thanks and regards
  • peterpan
  • peterpan
25 Sep 2025 18:23
Replied by peterpan on topic Trouble with Cia402 drive configuration

Trouble with Cia402 drive configuration

Category: EtherCAT

After adding the rest of the pdo entries on pg 9 and 10 the drive still stays in PREOP
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
    <slave idx="0" type="EK1100" />
    <slave idx="1" type="EL1008" />
    <slave idx="2" type="EL2008" />
    <slave idx="3" type="generic" vid="0x00000c96" pid="0x00000001" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="700000" />
      <syncManager idx="2" dir="out">
            <pdo idx="1600">
               <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32" />
               <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32" />
               <pdoEntry idx="6071" subIdx="00" bitLen="16" halPin="target-torque" halType="s32" />
               <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32" />
               <pdoEntry idx="60FE" subIdx="00" bitLen="32" halPin="digital-outputs" halType="u32" />
               <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32" />
            </pdo>
         </syncManager>
         <syncManager idx="3" dir="in">
            <pdo idx="1a00">
  <pdoEntry idx="603F" subIdx="00" bitLen="16" halPin="error-code" halType="u32" />
               <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32" />
               <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32" />
               <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32" />
               <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32" />
               <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32" />
               <pdoEntry idx="60F4" subIdx="00" bitLen="32" halPin="follow-error" halType="s32" />
               <pdoEntry idx="60FD" subIdx="00" bitLen="32" halPin="digital-inputs" halType="u32" />
            </pdo>
         </syncManager>
      </slave>
  </master>
</masters>

The dmesg:
[100592.236726] EtherCAT DEBUG 0-3: 9936 ns difference after 400 ms.
[100592.236728] EtherCAT DEBUG 0-3:    ref_time=812139542737448000
[100592.236729] EtherCAT DEBUG 0-3:    app_time=812139546509016167
[100592.236730] EtherCAT DEBUG 0-3:  start_time=812139546609016167
[100592.236731] EtherCAT DEBUG 0-3:       cycle=1000000
[100592.236732] EtherCAT DEBUG 0-3:  shift_time=700000
[100592.236733] EtherCAT DEBUG 0-3:   remainder=568167
[100592.236734] EtherCAT DEBUG 0-3:        start=812139546610148000
[100592.236735] EtherCAT DEBUG 0-3: Setting DC cyclic operation start time to 812139546610148000.
[100592.238726] EtherCAT DEBUG 0-3: Setting DC AssignActivate to 0x0300.
[100592.241726] EtherCAT ERROR 0-3: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[100592.242726] EtherCAT ERROR 0-3: AL status message 0x001E: "Invalid input configuration".
[100592.244725] EtherCAT 0-3: Acknowledged state PREOP.
[100592.465795] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[100592.489802] EtherCAT WARNING: Datagram 0000000070b69bf8 (master-fsm) was SKIPPED 1 time.
  • kb58
  • kb58
25 Sep 2025 18:22 - 25 Sep 2025 19:27

(Solved) Initialization code for a rintelligent ECT60 fails when run on an ECR60

Category: Driver Boards

First post, so be gentle - also, if this is in the wrong sub-forum, feel free to move it.

Back story: I'm building a wire EDM machine based upon Mike Bax's BX18 arc generator. He supplies modified LinuxCNC code, including initialization code for the stepper drivers. It's nearly done but I've run up against a problem with the drivers.

The problem: Mike wrote code for the ECT60 (closed loop driver) version, configuring it to run open-loop steppers. Silly me thought that since they're open loop steppers, there was no reason to spend the extra money on the ECT model, so I bought the ECR (open loop) model. Unfortunately, they're apparently different enough that the ECR gets stuck in the "Pre-Operation" phase during initialization, and neither Mike nor I can figure out why.

We both looked through the XML .ini code and we can't find anything that would cause it to fail. What's a bit concerning however, is that the online manuals are missing at least two sections regarding registers 0x60FE, and 0x6077. It makes me wonder if perhaps more information is missing that could explain why this isn't working.

Obviously the "easy button" is to replace the ECR units with ECT units. I would gladly do so if I had a use for the ECRs, but I do not. Throwing another $200 at this project is a bitter pill - plus I'm stubborn - and I would like to figure this out instead.

Anyone have any ideas?

Note: This is my first interaction with both LinuxCNC (or any form of Linux) and XML, making it much more challenging.

Thanks!
  • jcbryant
  • jcbryant
25 Sep 2025 17:27

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

For what I want to do, the script boils down to

echo 2 > /proc/irq/29/smp-affinity

I've tried this and it doesn't work. I get "permission denied" (whether or not I use sudo), presumably because folder irq don't exist. And even if I were to create folder irq, and create a folder 29 within it, I can't see how just creating a file is going to change anything. Something has to use the file, and in this case I think that that something is irqbalance, which as I've mentioned doesn't exist and can't be made to exist.
  • PCW
  • PCW's Avatar
25 Sep 2025 17:07

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

You might try this script to pin the Ethernet interrupt to the last CPU

 

File Attachment:

File Name: pinirq_202...25-2.txt
File Size:1 KB


chmod +x pinirq.txt

sudo ./pinirq.txt enp1s0

(might also be enp1)
 
  • jcbryant
  • jcbryant
25 Sep 2025 16:39

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

Yes, isolcpus is set to 1.

I think that the ping test is a smoking gun.  If the results can be explained and a solution found I suspect (hope?) that everything else will fall into place.  The attached is typical:

File Attachment:

File Name: ping2.txt
File Size:1 KB


It's beyond belief that a round trip that typically takes about 0.1 ms can sometimes take 26ms.  And note that the round trip clearly took more than 1ms quite a few times (the total test took more than the 60027ms it would have taken had there just been one bad ping).  What could possibly be causing this to happen?  It's not as if anything else was going on - apart from the test the computer was essentially idling.

I've paid my $2 Australian and have had a crack at IRQ affinity.  But the solution proposed in the forum piece is of absolutely no use to me.  irqbalance was not even active on my machine, and when I tried to install it it would not activate because the condition "CPUs=>1" was not met.  Which does make sense - if you've only got two CPU's and you're not going to allow interrupts on one of them there isn't much scope for balancing. In practice interrupts are distributed between the two CPU's (note: they are evidently NOT excluded from the isolated CPU).  See the attached file.

 

File Attachment:

File Name: interrupts.txt
File Size:1 KB


Presumably my goal  should be to tie interrupt 29 with CPU 1 and all other interrupts with CPU 0.  But how can this be achieved?  I don't even have a /proc/irq folder, and even if I did I suspect that in the absence of irqbalance creating appropriate files wouldn't do me any good.  And presumably I should also be running the ping test on the isolated CPU.  Does the 99 priority force this to happen, or is something else required?

 
  • PCW
  • PCW's Avatar
25 Sep 2025 15:24

Going from Devian 10 to 12 has created problems

Category: General LinuxCNC Questions

It's more of a kernel/driver issue than hardware/Linux Distribution issue.

Are you using isolcpus?

 
Displaying 9556 - 9570 out of 17020 results.
Time to create page: 0.900 seconds
Powered by Kunena Forum