Advanced Search

Search Results (Searched for: )

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

MonoKrom - QtPyVCP GUI for PlasmaC and Mill

Category: QtPyVCP

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
  • Sandro
03 Dec 2025 18:40
Replied by Sandro on topic Problems with Lichuan Ethercat servo drive

Problems with Lichuan Ethercat servo drive

Category: EtherCAT

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
  • endian's Avatar
03 Dec 2025 18:31
Replied by endian on topic Reduce read-all timing 7i76e + 7i77

Reduce read-all timing 7i76e + 7i77

Category: Advanced Configuration

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
  • Hakan
03 Dec 2025 18:27
Replied by Hakan on topic Beckhoff EL2522 lcec xml file

Beckhoff EL2522 lcec xml file

Category: EtherCAT

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
  • emresensoy
03 Dec 2025 18:08
Replied by emresensoy on topic Beckhoff EL2522 lcec xml file

Beckhoff EL2522 lcec xml file

Category: EtherCAT

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
  • Hakan
03 Dec 2025 17:51
Replied by Hakan on topic Beckhoff EL2522 lcec xml file

Beckhoff EL2522 lcec xml file

Category: EtherCAT

See if the output of "lcec_configgen" will work. 
  • emresensoy
  • emresensoy
03 Dec 2025 17:44
Beckhoff EL2522 lcec xml file was created by emresensoy

Beckhoff EL2522 lcec xml file

Category: EtherCAT

There is no builtin driver for EL2522,
I need help to convert ethercat xml output to lcec xml
Thanks,
<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
  • PCW's Avatar
03 Dec 2025 17:19
Replied by PCW on topic MesaCT 2.1.8: Scale vs Encoder Scale

MesaCT 2.1.8: Scale vs Encoder Scale

Category: Configuration Tools

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
  • CaliusOptimus
03 Dec 2025 16:59 - 03 Dec 2025 17:00
Replied by CaliusOptimus on topic Lathe project needs a turret

Lathe project needs a turret

Category: Turning

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:



  • langdons
  • langdons's Avatar
03 Dec 2025 16:01
Replied by langdons on topic MesaCT 2.1.8: Scale vs Encoder Scale

MesaCT 2.1.8: Scale vs Encoder Scale

Category: Configuration Tools

The maximum attainable velocity for an axis is √(maxaccleration*axistravel)

3000rpm*4mm/rev = 12000mm/minute, which is more than enough.

Your axis scale is 4mm/rev, I believe.
  • Hakan
  • Hakan
03 Dec 2025 14:57

Long initialization of Ethercat on servo drive SV660N

Category: EtherCAT

Install IgH Ethercat master from gitlab.com/etherlab.org/ethercat (standard site)
Follow installation procedure and when you do the "./configure " command,
make sure to use "./configure <other options>  --disable-eoe"

 
  • ArthurG
  • ArthurG
03 Dec 2025 13:59

Looking for freelancer to finish retrofit of K2 router

Category: User Exchange

Thank you for the quick reply.

We think the motors are DAE HWA D860-30B7 TC-9, but the manufacturer, K2, went out of business right after we bought the router, back in 2014, and we never received any documentation for it.

Other components:
Control: MESA 7i95T
Servo Amplifiers: Pico Systems PWM Servo Amplifiers
Encoders: Same Sky AMT113S-V
VFD: Delta VFD037C23A
Spindle: HSD Model ES 915A 2P H1

I've tried read and understand your guide many times before (as our previous consultant sent me it when he gave up on the tuning) but it's clearly meant for someone with deeper familiarity with the terminology than I have.

For example, when you say "Make sure you have 5V logic power, Vin and Vfield, or at least Vin with the jumper set for Vfield. Anything from 8 to 28V can be used." I have no idea how I'm supposed to do that.

Or shortly after that: "Try to get the scaling right for the encoders if you have info on the /encoder counts/lead screw pitch/reduction ratio/belt pulley teeth etc. Any change of the scale on a tuned axis will mess up the tuning, depending on how much it changed." How do I "get the scaling right", what am I checking or changing to make sure the scaling is right?

These are only two examples - your guide is clearly a wonderful aid for people with a deeper understanding of these systems and processes than I have, but it is well beyond my ability to utilize it without first spending many many hours of technical learning to get to the level where I can understand and follow the guide. This is why I would much rather hire an expert - someone who can either utilize your guide, or knows their way around these systems well enough to finish the retrofit without any guides.
  • HaroldHarvey
  • HaroldHarvey
03 Dec 2025 11:00
Replied by HaroldHarvey on topic SmartSerial on cheap ESP32-8ch-Relais Card

SmartSerial on cheap ESP32-8ch-Relais Card

Category: Driver Boards

Thanks for the update. It looks so cool.
  • hdhedhu
  • hdhedhu
03 Dec 2025 10:42

Long initialization of Ethercat on servo drive SV660N

Category: EtherCAT

Hey It seems that I also have encountered this problem... Can you please tell what exactly needs to change sii eeprom file or the compilation of ethercat master with eoe disable option. If possible direct me to the suitable solution.
  • Masiwood123
  • Masiwood123's Avatar
03 Dec 2025 09:53
Replied by Masiwood123 on topic beta bulleri for retrofit?

beta bulleri for retrofit?

Category: CNC Machines

Can someone help me create ``rack_change.ngc`` based on my configuration and pocket coordinates, I tried without python because I don't know where to put path and toplevel because those files don't exist in my configuration, just simple ngc, the example from github doesn't work. The last one I sent only works on the m6 command from mdi so it starts lowering z, it doesn't wait to check if the tool is in the pocket because for each tool I have an inductive sensor that is active high, when there is no tool it becomes active low...rack is very simple, only the y coordinates in the game are from g53 and the change should happen at z-170mm, the M6 ​​t1 command for example just plays play without any movement, and m6 goes to the first pocket because I defined the y offset y-80 in the tooltable.Thanks
 

File Attachment:

File Name: beta1.hal
File Size:11 KB

File Attachment:

File Name: beta1.ini
File Size:4 KB

File Attachment:

File Name: tool.ngc
File Size:3 KB

File Attachment:

File Name: rack_change.ngc
File Size:2 KB
Displaying 466 - 480 out of 21860 results.
Time to create page: 0.542 seconds
Powered by Kunena Forum