Advanced Search

Search Results (Searched for: )

  • snowgoer540
  • snowgoer540's Avatar
  • meister
  • meister
20 Jun 2025 10:23
Replied by meister on topic EasyCAT Arduino shield

EasyCAT Arduino shield

Category: EtherCAT

create:
$ siitool -m  -c -o eeprom.bin esi.xml 
= eeprom.bin generated

check:
$ siitool -p eeprom.bin 
Error, SII probably malformed. No 0xffff at the end found
First print preamble and config
Preamble:
PDI Control: ................ 0x0c80
PDI Config: ................. 0xee42
Sync Impulse Length: ........ 2000 ns (raw: 0x00c8)
PDI Config 2: ............... 0x0000
Configured Station Alias: ... 0x0000
Checksum of Preamble: ....... 0x003c (ok)
Identity:
  Vendor ID: ................ 0x00400000
  Product ID: ............... 0x00000715
  Revision ID: .............. 0x00002ef8
  Serial Number: ............ 0x00000000

Default mailbox settings:
  Bootstrap Mailbox:
  Received Mailbox Offset: .. 0x0000
  Received Mailbox Size: .... 0
  Send Mailbox Offset: ...... 0x0000

....................

      Entry 8:
      Entry Index: .............. 0x60fd
      Subindex: ................. 0x00
      String Index: ............. 64 (Digital inputs)
      Data Type: ................ 0x07 (Index in CoE Object Dictionary)
      Bitlength: ................ 32


  • meister
  • meister
20 Jun 2025 10:15
Replied by meister on topic EasyCAT Arduino shield

EasyCAT Arduino shield

Category: EtherCAT

what will you pay me for it ?

;P

Converter:
github.com/synapticon/siitool

eepromtool (write flash):
github.com/OpenEtherCATsociety/SOEM/blob...romtool/eepromtool.c
  • Hakan
  • Hakan
20 Jun 2025 09:56
Replied by Hakan on topic Experimental XML config generator

Experimental XML config generator

Category: EtherCAT

I'm not a big Twincat user. But if this is a useful tool, it would be a shame if it were forgotten after one post..
  • Hakan
  • Hakan
20 Jun 2025 09:52
Replied by Hakan on topic EasyCAT Arduino shield

EasyCAT Arduino shield

Category: EtherCAT

Can you share how to create the eeprom content from an XML file?
  • Hakan
  • Hakan
20 Jun 2025 09:31
Replied by Hakan on topic Leadshine EL7-EC400N ethercat error 818

Leadshine EL7-EC400N ethercat error 818

Category: EtherCAT

It says it is an CIA402 drive, so should be compatible.
Maybe someone has a working config to share.
Here is otherwise a starting point github.com/dbraun1981/hal-cia402/tree/main/example
hal and ethercat-conf.xml should be enough to get one axis going. Expand from there.
  • prokopcio
  • prokopcio's Avatar
20 Jun 2025 09:29

Laser Head Height Sensor – Looking for a Beta Tester

Category: Plasma & Laser

I agree with you. The topic is not easy.

I had to put the project on hold for a while because the sensor had problems with some heads (precitec) that contain electronic components inside nozzle holder. This effectively prevented my sensor from working.

Now I have dealt with it and it seems to work correctly, so I want to put the device into production.

If you have time and want, I will prepare a test device for you.

I want the device to work at the highest level, so any feedback is valuable to me.

The tests were very promising.
  • meister
  • meister
20 Jun 2025 08:51
Replied by meister on topic EasyCAT Arduino shield

EasyCAT Arduino shield

Category: EtherCAT

wow, I've had the EtherCat click board lying around for over a year :)

My problem the whole time was that I didn't have Windows and didn't want to use one.

Now I have found a way to do everything under Linux, i.e. create EEProm from the XML and also flash it via EtherCat, all without TwinCat.

In the meantime I can put my desired config on the LAN9252 and read and write all values via lowlevel spi driver.

only one step is missing to adapt the RIO interface over EtherCat :)
  • endian
  • endian's Avatar
20 Jun 2025 08:06
Replied by endian on topic Fanuc-Style Toolchange

Fanuc-Style Toolchange

Category: Advanced Configuration

Hello gentelmen,

how is it with the manual tool change... 

I have sometime issue with precision after tool change +-0.01mm with OWT grinded tool post fixtures with manual toolchange .hal stuff.. I noticed that in the default tool table for lathe is not the waer offsets .. I can switch on them by
LATHE_WEAR_OFFSETS = 1

where I can define them for the each tool separately 

And then add the the remapping ?

Then I will need to change T1 G43 to T01XX in the postprocessor I think ..

Thanks,

Regards
  • NT4Boy
  • NT4Boy
20 Jun 2025 07:55 - 20 Jun 2025 07:56
Replied by NT4Boy on topic HURCO KMB-1 Control Update

HURCO KMB-1 Control Update

Category: Milling Machines

I'm still addressing some old school electronics that needed updating in the VFD, so turned my attention back to the override potentiometers.
When the spindle runs and I read the pot via the 3.3volt Analogue pin 7i92.0.7i71.0.2.input_03, there is a notable hunting in the spindle speed. Not much, but it just doesn't sound steady.
This is down I think to the ADC hopping between bits which is also normal.
I looked at the original Hurco control use of the pots and how the analogue values were read, and note that the conversion to digital was done in a 12 bit ADC. so the increment between bits is tiny in comparison.
In the 7i73 manual. it states:
"OPERATION
ANALOG INPUTS
Inputs 0 through 7 can read analog signal values however only inputs 0 through 3 are supported for analog input by available interface modes. Analog inputs have a range of 0 to 3.3V. Normal resolution is 8 bits. All bits are readable as digital inputs. Note: analog inputs are only accessible in some software modes."

Does this mean I could configure an analogue input to use a increased resolution of 12 bits?
If so How would I do that?
Thanks
 
  • mohbakh
  • mohbakh
20 Jun 2025 07:50

Leadshine EL7-EC400N ethercat error 818

Category: EtherCAT

Hello everyone,
I'm new to the forum, I just bought two Leadshine EL7-EC400N ethercat driver servo with Leadshine ELM1 AC servo motor 400W to start my new cnc projects.
I installed linuxcnc-ethercat following @Rodw's Ethercat installation from repositories documentation and i created a .ini config lithe axis with two axis X Z, and a hal file and ethercath-conf.xml, but every time I start linuxcnc I get an error 818,
My question is whether the Leadshine EL7-EC400N is compatible with linuxcnc or not?
and also I'm wondering if there's anyone who can help me or give me a minimum configuration (.ini, .hal, .xml) file to make the motor start and get past error 818?
I used rodw's configuration
github.com/rodw-au/linuxcnc_leadshine_EL8/tree/main
  • Aciera
  • Aciera's Avatar
20 Jun 2025 07:37
Replied by Aciera on topic Reposition Preview grid.

Reposition Preview grid.

Category: Basic Configuration

not sure what you mean by "the position marker's start". A screenshot with an arrow might give us a clearer picture of what you are trying to achieve.
  • meister
  • meister
20 Jun 2025 07:12 - 20 Jun 2025 07:12

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

here i can also show the structure of the frames or the rio.v:

this is the 'top' verilog module, the main module:

github.com/multigcs/riocore/blob/dev/doc...ngbob/Gateware/rio.v

there is a block in which the RX frames are split into individual 'output signals':
    // PC -> FPGA (330 + FILL)
    // assign header_rx = {rx_data[327:320], rx_data[335:328], rx_data[343:336], rx_data[351:344]};
    assign VAROUT128_MODBUS0_TXDATA = {rx_data[199:192], rx_data[207:200], rx_data[215:208], rx_data[223:216], rx_data[231:224], rx_data[239:232], rx_data[247:240], rx_data[255:248], rx_data[263:256], rx_data[271:264], rx_data[279:272], rx_data[287:280], rx_data[295:288], rx_data[303:296], rx_data[311:304], rx_data[319:312]};
    assign VAROUT32_PWMOUT0_DTY = {rx_data[167:160], rx_data[175:168], rx_data[183:176], rx_data[191:184]};
    assign VAROUT32_STEPDIR0_VELOCITY = {rx_data[135:128], rx_data[143:136], rx_data[151:144], rx_data[159:152]};
    assign VAROUT32_STEPDIR1_VELOCITY = {rx_data[103:96], rx_data[111:104], rx_data[119:112], rx_data[127:120]};
    assign VAROUT32_STEPDIR2_VELOCITY = {rx_data[71:64], rx_data[79:72], rx_data[87:80], rx_data[95:88]};
    assign VAROUT32_STEPDIR3_VELOCITY = {rx_data[39:32], rx_data[47:40], rx_data[55:48], rx_data[63:56]};
    assign VAROUT1_WLED0_0_GREEN = {rx_data[31]};
    assign VAROUT1_WLED0_0_BLUE = {rx_data[30]};
    assign VAROUT1_WLED0_0_RED = {rx_data[29]};
    assign VAROUT1_BITOUT0_BIT = {rx_data[28]};
    assign VAROUT1_BITOUT1_BIT = {rx_data[27]};
    assign VAROUT1_PWMOUT0_ENABLE = {rx_data[26]};
    assign VAROUT1_STEPDIR0_ENABLE = {rx_data[25]};
    assign VAROUT1_STEPDIR1_ENABLE = {rx_data[24]};
    assign VAROUT1_STEPDIR2_ENABLE = {rx_data[23]};
    assign VAROUT1_STEPDIR3_ENABLE = {rx_data[22]};
    // assign FILL = rx_data[21:0];

and a block in which the ‘input signals’ are assembled to the TX frame:
    // FPGA -> PC (349 + FILL)
    assign tx_data = {
        header_tx[7:0], header_tx[15:8], header_tx[23:16], header_tx[31:24],
        timestamp[7:0], timestamp[15:8], timestamp[23:16], timestamp[31:24],
        MULTIPLEXED_INPUT_VALUE[7:0], MULTIPLEXED_INPUT_VALUE[15:8],
        MULTIPLEXED_INPUT_ID[7:0],
        VARIN128_MODBUS0_RXDATA[7:0], VARIN128_MODBUS0_RXDATA[15:8], VARIN128_MODBUS0_RXDATA[23:16], VARIN128_MODBUS0_RXDATA[31:24], VARIN128_MODBUS0_RXDATA[39:32], VARIN128_MODBUS0_RXDATA[47:40], VARIN128_MODBUS0_RXDATA[55:48], VARIN128_MODBUS0_RXDATA[63:56], VARIN128_MODBUS0_RXDATA[71:64], VARIN128_MODBUS0_RXDATA[79:72], VARIN128_MODBUS0_RXDATA[87:80], VARIN128_MODBUS0_RXDATA[95:88], VARIN128_MODBUS0_RXDATA[103:96], VARIN128_MODBUS0_RXDATA[111:104], VARIN128_MODBUS0_RXDATA[119:112], VARIN128_MODBUS0_RXDATA[127:120],
        VARIN32_STEPDIR0_POSITION[7:0], VARIN32_STEPDIR0_POSITION[15:8], VARIN32_STEPDIR0_POSITION[23:16], VARIN32_STEPDIR0_POSITION[31:24],
        VARIN32_STEPDIR1_POSITION[7:0], VARIN32_STEPDIR1_POSITION[15:8], VARIN32_STEPDIR1_POSITION[23:16], VARIN32_STEPDIR1_POSITION[31:24],
        VARIN32_STEPDIR2_POSITION[7:0], VARIN32_STEPDIR2_POSITION[15:8], VARIN32_STEPDIR2_POSITION[23:16], VARIN32_STEPDIR2_POSITION[31:24],
        VARIN32_STEPDIR3_POSITION[7:0], VARIN32_STEPDIR3_POSITION[15:8], VARIN32_STEPDIR3_POSITION[23:16], VARIN32_STEPDIR3_POSITION[31:24],
        VARIN1_BITIN0_BIT,
        VARIN1_BITIN1_BIT,
        VARIN1_BITIN2_BIT,
        VARIN1_BITIN3_BIT,
        VARIN1_BITIN4_BIT,
        3'd0
    };
    

in the case of the Tangbob, the two frames ‘rx_data’ and ‘tx_data’ are passed to the w5500 module, which then takes care of the data exchange with the host computer:
    w5500 #(
        .MAC_ADDR({8'hAA, 8'hAF, 8'hFA, 8'hCC, 8'hE3, 8'h1C}),
        .IP_ADDR({8'd192, 8'd168, 8'd10, 8'd194}),
        .NET_MASK({8'd255, 8'd255, 8'd255, 8'd0}),
        .GW_ADDR({8'd192, 8'd168, 8'd10, 8'd1}),
        .PORT(2390),
        .BUFFER_SIZE(BUFFER_SIZE),
        .MSGID(32'h74697277),
        .DIVIDER(0)
    ) w55000 (
        .clk(sysclk),
        .mosi(PINOUT_W55000_MOSI_RAW),
        .miso(PININ_W55000_MISO),
        .sclk(PINOUT_W55000_SCLK_RAW),
        .sel(PINOUT_W55000_SEL_RAW),
        .intr(1'd0),
        .rx_data(rx_data),
        .tx_data(tx_data),
        .sync(INTERFACE_SYNC)
    );

Now let's take a look at the signals from one of the Stepdir module instances:

the input/output signals have the following naming scheme: VAR[DIRECTION][SIZE]_[MODULE_INSTANCE]_[SIGNALNAME]

* VAROUT32_STEPDIR0_VELOCITY : a 32 bit output value for the specified velocity (steprate)
* VAROUT1_STEPDIR0_ENABLE : a 1 bit output value to activate the stepper (enable signal)
* VARIN32_STEPDIR0_POSITION : a 32 bit input value to return the current position (step counter)

    stepdir #(
        .PULSE_LEN(108),
        .DIR_DELAY(18)
    ) stepdir0 (
        .clk(sysclk),
        .step(PINOUT_STEPDIR0_STEP_RAW),
        .dir(PINOUT_STEPDIR0_DIR_RAW),
        .velocity(VAROUT32_STEPDIR0_VELOCITY),
        .enable(VAROUT1_STEPDIR0_ENABLE & ~ERROR),
        .position(VARIN32_STEPDIR0_POSITION)
    );


the pin signals have the following naming scheme: PIN[DIRECTION]_[MODULE_INSTANCE]_[PINNAME]

however, they can also have suffixes, such as. _RAW / _INVERTED / _DEBOUNCED / ...
this is due to the modifiers pipeline that can be configured for each pin.
  • Neiji_msk
  • Neiji_msk
20 Jun 2025 06:24 - 20 Jun 2025 06:46
Errors when searching for axis origins was created by Neiji_msk

Errors when searching for axis origins

Category: General LinuxCNC Questions

Hi guys, I have a question, when I turn on LinuxCNC drivers with absolute encoders, they make a delay to search for the machine zeros, accordingly, if I turn on the CNC before they find the beginning, a bunch of errors appear, is it possible to make some kind of delay when turning on until the driver finds the beginning? thanks
  • meister
  • meister
20 Jun 2025 06:22

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

Here is an output from the generator using the Tangbob configuration as an example:

github.com/multigcs/riocore/tree/dev/doc/example-output/Tangbob

and here is a kind of documentation of the generated gateware:

www.multixmedia.org/Tangbob-Gateware/
Displaying 14176 - 14190 out of 16315 results.
Time to create page: 0.401 seconds
Powered by Kunena Forum