Advanced Search

Search Results (Searched for: )

  • papagno-source
  • papagno-source
Yesterday 09:22
Replied by papagno-source on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

the result is :

ethercat upload -p 0 -t uint32 0x1C32 0x06 return 0x00000000 0
ethercat upload -p 0 -t uint32 0x1C33 0x06 return Failed to upload SDO: Input/output error
ethercat upload -p 1 -t uint32 0x1C32 0x06 return 0x00000000 0
ethercat upload -p 1 -t uint32 0x1C33 0x06 return 0x00000000 0
ethercat upload -p 0 -t uint32 0x1C33 0x03 return Failed to upload SDO: Input/output error
ethercat upload -p 1 -t uint32 0x1C33 0x03 return SDO transfer aborted with code 0x06010001: Attempt to read a write-only object
ethercat upload -p 0 -t uint32 0x1C32 0x09 return 0x00030d40 200000
ethercat upload -p 1 -t uint32 0x1C32 0x09 return 0x00000000 0


I've already tested only refClockSyncCycles="-1" without syncToRefClock="true" and the problem persists.

I've also tested refClockSyncCycles="1" and syncToRefClock="true"
and the problem persists.

Do you want me to try deleting refClockSyncCycles="1" and leaving only syncToRefClock="true"?
  • rodw
  • rodw's Avatar
Yesterday 08:47
Replied by rodw on topic Probleme mit G Code...

Probleme mit G Code...

Category: General LinuxCNC Questions

Sometimes you do not have enough room for the tool outside of the machine limits.
Install home switches, set the tool centered above the part and set your G54 offsets and it will likely work fine. 

the radius error is related to your gcode. Sometimes from running absolute instead of incremental  arcs or vice versa,
  • rodw
  • rodw's Avatar
Yesterday 08:37
Replied by rodw on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

grandixximo's linuxcnc-ethercat repo, right?
That pll-err value shows it's not the linuxcnc standard code. That oscillates around zero.
 

Please expand on what you mean here.

This is a standard RIP install of Debian 2.10 except its in a folder under /usr/lib, grandixximos driver built from source, Ethercat from repos. That should make no difference. For me, latency etc is fine on my hardware which makes it weird.
 
  • Hakan
  • Hakan
Yesterday 07:59
Replied by Hakan on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

grandixximo's linuxcnc-ethercat repo, right?
That pll-err value shows it's not the linuxcnc standard code. That oscillates around zero.

I have looked in the code but don't see why it does what it does.
It is supposed to work like this
When the syncToRefClock option is given the "-" is ignored, "true" means to switch on, any other string means to not activate the pll code.
In lack of the syncToRefClock option, the "-" will switch on the pll code.
Your code doesn't react in that way.
  • grandixximo
  • grandixximo's Avatar
Yesterday 07:57 - Yesterday 08:27
Replied by grandixximo on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Hakan is correct, but depends on device, we should check what they report.
could you run these?
ethercat upload -p 0 -t uint32 0x1C32 0x06
ethercat upload -p 0 -t uint32 0x1C33 0x06
ethercat upload -p 1 -t uint32 0x1C32 0x06
ethercat upload -p 1 -t uint32 0x1C33 0x06
ethercat upload -p 0 -t uint32 0x1C33 0x03
ethercat upload -p 1 -t uint32 0x1C33 0x03
Edit: also these please
ethercat upload -p 0 -t uint32 0x1C32 0x09
ethercat upload -p 1 -t uint32 0x1C32 0x09

Run these and write here the output, to confirm if sync0shift 0 is supported

Also

refClockSyncCycles="-1" syncToRefClock="false"
is self contradictory

use only 
refClockSyncCycles="-1"
or only 
syncToRefClock="true"

to enable PLL
  • rodw
  • rodw's Avatar
Yesterday 07:42
Replied by rodw on topic HAL component for tangential knife

HAL component for tangential knife

Category: HAL

Just be patient, I started from scratch today and got the framework working but some of the data is  incorrect.
In the mean time, learn how to build linuxcnc as a RUN IN PLACE version for testing
When I get a bit further, you will be able to clone my git repository and test it for me.
  • papagno-source
  • papagno-source
Yesterday 07:12
Replied by papagno-source on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

System Test Is Debian Trixie 13.3 , kernel 6.12.74 RT, linuxcnc 2.10 ( actual Master), Ethercat 1.6.9.
  • Hakan
  • Hakan
Yesterday 06:45 - Yesterday 07:07
Replied by Hakan on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

the lcec.0.pll-err pin in this case reported a value oscillating from approximately 991902 to 994498 


That's the right behavior even if the actual value is strange.

Which version of linuxcnc-ethercat (lcec) are you using right now during these tests?
  • papagno-source
  • papagno-source
Yesterday 06:11 - Yesterday 06:21
Replied by papagno-source on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Good morning everyone.
I did the following test:
refClockSyncCycles="1" syncToRefClock="true" with <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="300000"/>

The problem returned, noise on the axes.

I ran this other test:
refClockSyncCycles="1" syncToRefClock="true" with <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="500000"/>

The problem returned, noise on the axes.

the lcec.0.pll-err pin in both cases reported a value of 0 for about 1 second and then changed to 5072592 for about another second, before repeating the cycle.

The only way to make the noise disappear is:
refClockSyncCycles="-1" syncToRefClock="false" with <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>

the lcec.0.pll-err pin in this case reported a value oscillating from approximately 991902 to 994498


I haven't tried :
refClockSyncCycles="-1" syncToRefClock="false" with <dcConf and sync0Shift= values ​​other than zero.

The result of the command:
dpkg -l|grep ethercat on debian Trixie is:

ii ethercat-dkms 1.6.9.gb709e58-1+28.1 all IgH EtherCAT Master
ii ethercat-master 1.6.9.gb709e58-1+28.1 amd64 IgH EtherCAT Master
ii libethercat 1.6.9.gb709e58-1+28.1 amd64 IgH EtherCAT Master
ii libethercat-dev 1.6.9.gb709e58-1+28.1 amd64 IgH EtherCAT Master


same command on Debian 10, returns nothing.

if I run : ethercat version
IgH EtherCAT 1.5.2 unknown

 
  • Hakan
  • Hakan
Yesterday 05:42
Replied by Hakan on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

I think you are using shiftTime in the wrong way.
Your work should focus on the SM2/SYNC0 distance, that it is sufficient.
shiftTime is a slave requirement, not a synchronization requirement.
My slaves work with shiftTime 0.
 
  • spumco
  • spumco
13 Apr 2026 02:43
REMAP: gang lathe tool orientation was created by spumco

REMAP: gang lathe tool orientation

Category: Advanced Configuration

Learning how to actually operate the lathe I built, and I've confused myself over tool orientation.

Gang-tool lathe, with front and back tools.  Defined in INI as a back tool lathe, but that can change if needed.

I use Fusion for CAM, and the standard LCNC post for fusion.  The post handles front/back tool orientation by setting the 'turret' value in the F360 tool library to 103 or 104.  When the post sees a '103' for the turret, it outputs all X-moves with negative values.  Opposite for '104'.

While this results in appropriate tool motion, the LCNC backplot is wrong, kinda.  The toolpaths are appropriately displayed as negative X (below centerline), but the tool tip indicator is approaching across the centerline - looks kinda crashy.

Having researched the forum a while back about gang-tool lathes, I found the 'trick' about using G10 to rotate the WCS 180 degrees around Z for back tools.  So I've got a couple M-codes to do just that - flip back and forth between back and front tool views.

Caught me off guard the first time I flipped the X axis and jogs were backwards.  I somehow thought it was just the display/backplot that rotated...

But that got me thinking about the point of this long-winded post.  Can I use the lathe tool orientation value (parameter #5413) to drive the M-code WCS flip during a tool change?  And leave all tools as 'front turret' in F360 so the post only outputs X positive numbers?

I've got a lathe-fanucy test config on deck (remap T) for testing.  Maybe add a conditional check for the value of #5413?  Something like:
O<toolchange> sub
(debug, Tool requested = #<tool>)
#<wear> = [10000 + FIX[ #<tool>  / 100]]
#<tool> = [#<tool> MOD 100]
M6 T#<tool>
G43 H#<tool>
O100 IF [#<wear> GT 10000]
    G43.2 H#<wear>
O100 ENDIF
#<pocket> = #<tool>

(NEW WCS FLIP HERE - M268=FRONT, M269=BACK)
O101 IF [#5413 LT 1]
   (abort, tool missing orientation value)
O101 ELSEIF [#5413 EQ 1]
   M268
O101 ELSEIF [#5413 EQ 2]
   M268
O101 ELSEIF [#5413 EQ 6]
   M268
O101 ELSE
   M269
O101 ENDIF
(END WCS FLIP HERE)

(debug, tool = #<tool> wear = #<wear>)
O<toolchange> endsub [0]

Anyone see any holes in my theory or suggestions for improvement?
  • bedouno
  • bedouno
13 Apr 2026 01:03
Replied by bedouno on topic HAL component for tangential knife

HAL component for tangential knife

Category: HAL

DEAR Sir, it is great work and i hope to learn alot of you , that was very deep in the CNC FOUNDATION, I am now in need to use my machine and the level of mach3 is very suffecient to me , so what do you recommend to achieve this level now and i hope to join your effort of your project that i hope to learn much of you , thank you sir
  • grandixximo
  • grandixximo's Avatar
13 Apr 2026 00:39 - 13 Apr 2026 02:13
Replied by grandixximo on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Demystifying syncToRefClock and refClockSyncCycles

syncToRefClock="true" means the master syncs to the slaves, adjusting its period every cycle to track the DC reference clock (PLL/bang-bang mode).

syncToRefClock="false" means the slaves sync to the master. refClockSyncCycles then controls how often (every N cycles) the slaves perform a sync adjustment.

refClockSyncCycles="-1" (any negative number) means master syncs to slaves, identical to syncToRefClock="true". The magnitude does not matter.

So all four combinations you tested:


refClockSyncCycles="1" syncToRefClock="true"
refClockSyncCycles="5" syncToRefClock="true"
refClockSyncCycles="1000" syncToRefClock="true"
refClockSyncCycles="-1" syncToRefClock="true"


are completely identical. When syncToRefClock="true", the slaves are not in a mode where they sync to the master, so refClockSyncCycles is simply ignored.

The combination refClockSyncCycles="-1" with syncToRefClock="false" is a contradiction and will be treated as invalid in a future version.

Why you heard noise with syncToRefClock="true" and sync0Shift="0"

This is expected and correct behaviour. With sync0Shift="0", SYNC0 fires exactly at t=0, right as the cyclic frame is arriving. The slave latches output data at the same instant it is being written, creating a race condition every cycle. The grinding noise is the mechanical result.

The fix is not to disable syncToRefClock. Set a proper shift:


<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="300000"/>


300000 to 500000 ns on a 1ms cycle is a reasonable starting point. Try that with syncToRefClock="true" and the noise should go away.

If you think sync0Shift="0" always worked for you

It did not work correctly, it appeared to work. The race condition was present but your hardware was consistently winning it by luck. The code now behaves strictly per ETG.1020. If it seemed to work before, it was not according to the standard. Update your configuration.

To help investigate the OP regression, can you run the following and paste the output?


dpkg -l | grep ethercat

Do this on the system with the 1.5.2 that OP's quickly please
maybe we get more than just 1.5.2 we can get some build reference, and I can look at the code, the 1.5.2 I found is identical in OP time as 1.6.8
  • tommylight
  • tommylight's Avatar
12 Apr 2026 22:16
Replied by tommylight on topic HAL component for tangential knife

HAL component for tangential knife

Category: HAL

@Tommy, add FOR TANGENTAL KNIFE to the title

 

Done, thank you.
  • rodw
  • rodw's Avatar
12 Apr 2026 21:36
Replied by rodw on topic HAL component for tangential knife

HAL component for tangential knife

Category: HAL

@Tommy, add FOR TANGENTAL KNIFE to the title

@bedouno, Linuxcnc's architecture is complex and described in the docs here
linuxcnc.org/docs/devel/html/code/code-notes.html
The problem to set the tangential heading is that the geometry is known by the gcode but once the gcode is tokenised into a buffer, the gcode (and geometry) is thrown away so motion is just left with way points and segments. Furthermore, this gcode tokenisation is buffered so the interpreter can be many segments ahead of the motion parameters at run time.The intent of state tags was to "tag" each of these motion segments with the interpreter state so certain information was known by motion but it is not exposed in a useful way. (It was originally for  GUI's).

The purpose of my code was to extend the state tags mechanism to include the radius and tangential heading and publish the available tags to a set of pins so the data can be used by anyone.

You can do some stuff in a hal component by saving the lastX and lastY positions (axis.L.pos-cmd) and  the current axis.x.pos-cmd and axis.y.pos-cmd.  motion.motion-type tells you if you are on an arc or a linear segment. Now you can do some trig calculations. If its linear you just need to calculate the slope of the line (angle) and you have the heading. If its an arc, you can calculate the radius, arc and then the tangent which is your heading. I tried this and never got reliable results.
Ref: linuxcnc.org/docs/devel/html/man/man9/motion.9.html 

Regardless of what AI thinks, there isn't a method to inject into the motion planner. Perhaps you can develop a kinematic  model of the tangential knife. linuxcnc.org/docs/devel/html/motion/kinematics.html
But I think the correct method which AI won't know anything  about is to work with state tags.

My thought was that there would be a component that took the heading and set the A axis angle with it.

Yesterday, I  made a start on merging the current 2.10 master branch into my 6 year old arc-radius branch but I have not committed it back to GitHub. github.com/rodw-au/linuxcnc/tree/arc-radius
There are 7 files that need manual intervention because of changes to the code base. I'm on my second attempt.....
 
Displaying 46 - 60 out of 17262 results.
Time to create page: 0.231 seconds
Powered by Kunena Forum