Search Results (Searched for: )

  • endian
03 Dec 2025 20:06
Replied by endian on topic Reduce read-all timing 7i76e + 7i77
Yes, i read thier manual 1k times.. it is pretty solid extraction of what we all need...

Yes I am recompiling everytime to native NIC driver as common e1000e or rtl8190too ... It works pretty solid for 8khz thread 
8190too are basically free stuff on the market right now it cost few bucks

There are native drivers for beckhoff too but I have never tried them yet ... 

I am not expert in this drivers ..but if it will improve my latency i need them all ...
 
  • rodw
03 Dec 2025 20:02
I can't help here. I had a feeling that a linuxcnc filter was a program that accepted an input file and wrote out an output file so you should be able to run the filter stand alone. The file name will be in the ini file. ref:. linuxcnc.org/docs/html/gui/filter-programs.html
  • rodw
03 Dec 2025 19:55
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77
@endian, you may be interested to read the ethercat master docs Chapter 4, networking where it explains its interrupt-less network drivers that bypass all of the CPU affinity requirement...
etherlab.org/en_GB/ethercat

Also, ethercat has a number of specific NIC drivers but I seem to remember these are not included in the deb file in their repo and you need to compile from source to obtain them. It looks like they now support the Trixie 6.12 kernel. Driver Source etherlab.org/en_GB/ethercathttps://gitla...vices?ref_type=heads

drivers are loaded by ethercat.conf in place of ec_generic. It would be interesting to see if the  hm2_eth driver could be modified to use the ethercat drivers
  • NWE
03 Dec 2025 19:36
That helps. I had seen the extra joints feature but didn't know enough about it to realize that is what I need.

Progress at this point:
I used Pncconf to create a common 3 axis mill config with the default mesa cards selected, as my mesa setup does not seem listed. I edited the generated mesa configs to:
1. Match my mesa hardware.
2. Converted the XYZ axis to simulated by zeroing their [JOINT]HOME_ ini parameters and connecting their pos_cmd to pos_fb.
3. Created 6 'extra joints' that I will actually be using.

I still have not figured out how to delete the axis gui without breaking a boatload of stuff. I begin to think I will be fine with allowing axis to load minimized, and have my gladevcp ui load maximized, and maybe also modal so it stays on top. It will be most convenient for the machine operator if my gladevcp never disappears from his touchscreen. I think he knows more about bending steel than I do about computers.
  • LCR
03 Dec 2025 19:10
Are you seeing a difference between the target position (607A) and the actual position (6064) that is persistent? IE you can force the motor out of position a bit, and it returns to the same incorrect position?  This is different from following error, where the motor does not get to the position. With following error, if you force it, it will get to position and stay. OR if you force it past the target it will end with a following error from the opposite direction. 
  • MaHa
03 Dec 2025 19:05
Replied by MaHa on topic python module
One of the last problems to solve. I need to read from the current loaded file, to find some content. If this is possible from the imported testpy file, with a connected pushbutton.

 
  • Sandro
03 Dec 2025 18:53
Replied by Sandro on topic MonoKrom - QtPyVCP GUI for PlasmaC and Mill
Hello Rodw,

I’m also using the Plasmac post from SheetCam. I followed your advice and changed the SheetCam setting to output .ngc instead of .tap. Unfortunately, as long as the Monokrom filter is enabled, it doesn’t work—I get the error:

“unknown word where unary operation could be.”

This happens both on my actual machine and with the Monokrom simulation configuration. With QtPlasmaC, I don’t have any issues. Maybe over the weekend I can share a G-code test file that fails for me.

Is there a way to manually apply the Monokrom filter plasma_gcode_preprocessor to a G-code file outside of Monokrom, just to see what the output looks like?
  • Sandro
03 Dec 2025 18:40
Replied by Sandro on topic Problems with Lichuan Ethercat servo drive
Just the usual issue with the Lichuans with the huge following error in CSP mode. I have a config working in CSV mode which I posted a while back. But it would be nice to get this working in CSP mode. From my understanding you got this in check by modifying the cia402.conf with Velocity Feed Forward 60B1h?

This is my full configuration. Please note this is for a hobby machine and I cannot take responsibility for any present or not present safety features. Use at your own risk.

Slave 0 is the Cat IO board which can be found on Aliexpress.
Slave 1 is a DVS 1.8 kW servo motor with 23 bit absolute encoder, which I am using as spindle. I have set the encoder to 17 bit incremental at the moment. The same XML configuration as for the Lichuan servos works for this one as well.
Slaves 2-4 are the Lichuan servos for my three axes.

I was having issues using the Lichuans in csp mode, due to quite a substantial following error. For this reason I have set them to csv mode. This way I was able to do some PID tuning and clamping down the error to a few microns. I was also playing arround with the parameters on the servo drives directly to improve on the following error further. Most parameters did not do a lot in my case. However, P08.15 "Load inertia ratio" helped a lot. For the axes X and Y I have currently set it to about 12 and for Z-axis to about 7.


 
  • endian
03 Dec 2025 18:31
Replied by endian on topic Reduce read-all timing 7i76e + 7i77
I think it is higher ladies school ... Customizing the kernel we will lost possibility of regular installation maybe ... Of course we can have own kernel but there will be limitations of any updates... But on other side who will use it from regular users... but I am not expert of kernels at all.. i know just how to create great ethercat topology with low thread time at budget iron..

I am not expert of Lcnc too.. but Lcnc needs two major improvements... Latency of networking(we can use mesa and peer to peer connection) and new 7phase trajectory planner(created by nonRT + RT part)

Both are non trivial and boths are long range run.. 
  • Hakan
03 Dec 2025 18:27
Replied by Hakan on topic Beckhoff EL2522 lcec xml file
Should be this file  github.com/linuxcnc-ethercat/linuxcnc-et...evices/lcec_el3xxx.c
All drivers are compiled into the lcec component  /usr/lib/linuxcnc/modules/lcec.so

 
  • emresensoy
03 Dec 2025 18:08
Replied by emresensoy on topic Beckhoff EL2522 lcec xml file
Hakan, thank you very much for your answer. I'm curious about something else. For example, there's a built-in driver for the EL3062. Where is this file or driver stored on the hard drive? How can I view its contents?
  • Hakan
03 Dec 2025 17:51
Replied by Hakan on topic Beckhoff EL2522 lcec xml file
See if the output of "lcec_configgen" will work. 
  • emresensoy
03 Dec 2025 17:44
Beckhoff EL2522 lcec xml file was created by emresensoy
There is no builtin driver for EL2522,
I need help to convert ethercat xml output to lcec xml
Thanks,
Code:
<EtherCATInfo>     <!-- Slave 6 -->     <Vendor>       <Id>2</Id>     </Vendor>     <Descriptions>       <Devices>         <Device>           <Type ProductCode="#x09da3052" RevisionNo="#x00160000">EL2522</Type>           <Name><![CDATA[EL2522 2K. Pulse Train Ausgang]]></Name>           <Sm Enable="1" StartAddress="#x1000" ControlByte="#x26" DefaultSize="128" />           <Sm Enable="1" StartAddress="#x1080" ControlByte="#x22" DefaultSize="128" />           <Sm Enable="1" StartAddress="#x1100" ControlByte="#x24" DefaultSize="28" />           <Sm Enable="1" StartAddress="#x1280" ControlByte="#x20" DefaultSize="16" />           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1600</Index>             <Name>PTO RxPDO-Map Control Ch.1</Name>             <Entry>               <Index>#x7000</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Frequency select</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Disable ramp</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Go counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>13</BitLen>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>17</SubIndex>               <BitLen>16</BitLen>               <Name>Frequency value</Name>               <DataType>UINT16</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1603</Index>             <Name>PTO RxPDO-Map Target Ch.1</Name>             <Entry>               <Index>#x7000</Index>               <SubIndex>18</SubIndex>               <BitLen>32</BitLen>               <Name>Target counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1605</Index>             <Name>PTO RxPDO-Map Control Ch.2</Name>             <Entry>               <Index>#x7010</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Frequency select</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Disable ramp</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Go counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>13</BitLen>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>17</SubIndex>               <BitLen>16</BitLen>               <Name>Frequency value</Name>               <DataType>UINT16</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1608</Index>             <Name>PTO RxPDO-Map Target Ch.2</Name>             <Entry>               <Index>#x7010</Index>               <SubIndex>18</SubIndex>               <BitLen>32</BitLen>               <Name>Target counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x160b</Index>             <Name>ENC RxPDO-Map Control Ch.1</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>12</BitLen>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>Reserved</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Set counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x160d</Index>             <Name>ENC RxPDO-Map Control Ch.2</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>12</BitLen>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>Reserved</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Set counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a00</Index>             <Name>PTO TxPDO-Map Status Ch.1</Name>             <Entry>               <Index>#x6000</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Sel. Ack/End counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Ramp active</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>4</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>7</SubIndex>               <BitLen>1</BitLen>               <Name>Error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>6</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>1</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a01</Index>             <Name>PTO TxPDO-Map Status Ch.2</Name>             <Entry>               <Index>#x6010</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Sel. Ack/End counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Ramp active</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>4</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>7</SubIndex>               <BitLen>1</BitLen>               <Name>Error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>6</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>1</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a03</Index>             <Name>ENC TxPDO-Map Status Ch.1</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter done</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>4</SubIndex>               <BitLen>1</BitLen>               <Name>Counter underflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>5</SubIndex>               <BitLen>1</BitLen>               <Name>Counter overflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>8</BitLen>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>15</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO State</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a05</Index>             <Name>ENC TxPDO-Map Status Ch.2</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter done</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>4</SubIndex>               <BitLen>1</BitLen>               <Name>Counter underflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>5</SubIndex>               <BitLen>1</BitLen>               <Name>Counter overflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>8</BitLen>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>15</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO State</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </TxPdo>         </Device>       </Devices>     </Descriptions>   </EtherCATInfo>
  • PCW
03 Dec 2025 17:19
Replied by PCW on topic MesaCT 2.1.8: Scale vs Encoder Scale
The encoder scale with a 4mm pitch screw and 10000 counts per turn would be
2500 (counts per mm)

Not sure on MesaCT what the other scale refers to but possibly analog output scaling

LinuxCNCs maximum velocity should typically be about 80% of the drives maximum velocity
to allow control headroom. So with a 3000 RPM maximum drive speed, 160 mm/sec would
be a good maximum velocity (3000 RPM=50 RPS so 200 mm/s woudl be the velocity at 3000 RPM).
A good guess at maximum acceleration is 5X the maximum velocity
so 800 mm/s^2 (this means an axis will get to full speed in 1/5 of a second)

There are a number of tuning tutorials on the forum, assuming the drives are setup for velocity mode,
the most critical tuning parameter is FF1. If you set the analog scale to 200 (because at 10V the linear velocity
would be 200 mm/s) , FF1 will be 1.00
 
  • CaliusOptimus
03 Dec 2025 16:59 - 03 Dec 2025 17:00
Replied by CaliusOptimus on topic Lathe project needs a turret
The turret is up and running!

Not too bad getting it set up. The turret control board from tormach has NPN outputs and the mesa 7i77 needs PNP so I had to add some pullup resistors. One of the relays on the turret board also bit the dust right away (maybe my fault but not sure)... which led to a lot of confusion while programming the hal. I rigged it to use a couple of ice cube relays instead of the tiny, soldered in, DIP relays. Good to go.

Here's a vid of the first part I made with the turret. Just a little delrin spacer:



Displaying 10276 - 10290 out of 11914 results.
Time to create page: 0.334 seconds
Powered by Kunena Forum