Ethercat HAL driver
I have been on here for a while and have not seen these amps here on the forum that I can remember. Not to say they are not, but do not look familiar at all. Plus if they are not shown on the GitHub site, then I would doubt anyone has made the device files yet. Just as an example of how long it has taken to get more devices working, the Omron G5 device was just recently added and I have watched for a very long time before it was added.
I am sure "Chimeno" will chime in to help you and he is excellent with his advise, and may even be able to make the device files you need. There are a few others that are on here such as Grotius that may be able to help also.
Worse case you can always use the Generic driver for manual mapping to HAL pins. You do this in your XML file and that will get you up and running pretty quick to at least get going. Hope this helps a little.
demo@demo:~/linuxcnc-dev$ halcmd loadrt lcec Note: Using POSIX realtime lcec: dlopen: /home/demo/linuxcnc-dev/rtlib/lcec.so: undefined symbol: ecrt_slave_config_sdo <commandline>:0: waitpid failed /home/demo/linuxcnc-dev/bin/rtapi_app lcec <commandline>:0: /home/demo/linuxcnc-dev/bin/rtapi_app exited without becoming ready <commandline>:0: insmod for lcec failed, returned -1
mine is rip-install ....sim axis work ok, ehercat slave output:
demo@demo:~/linuxcnc-dev$ ethercat slave 0 0:0 PREOP + EK1100 EtherCAT-Koppler (2A E-Bus) 1 0:1 PREOP + EL1008 8K. Dig. Eingang 24V, 3ms 2 0:2 PREOP + EL2008 8K. Dig. Ausgang 24V, 0.5A
I see the error when launch command with halcmd .... not understand if someone has solve these without change ec-debianize version .... comeone can help me for these problem?
see mine ldd terminal output:
demo@demo:~/linuxcnc-dev/rtlib$ ldd lcec.so
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa2a1023000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2a0c32000)
is my output correct or is there still some library missing?
are you sure you did:
Nico2017 wrote: Copy some files across to the relevant location:
cp ~/linuxcnc-ethercat/src/lcec_conf ~/linuxcnc/configs/FolderWhereInIFileForConfig
to your linuxcnc sim folder (copy it where your ini files is)
cp ~/linuxcnc-ethercat/src/lcec.so ~/linuxcnc-dev/rtlib/
apparently only required for for linuxcnc_dev users
Make the Ethercat0 permission permanent for your user for linuxcnc
sudo adduser $USER ethercat
sudo adduser root ethercat
. Reboot to make it effective permanently.
during your linuxcnc-ethercat installation? See post : https://forum.linuxcnc.org/27-driver-boards/35591-beckhoff-ethercat-64-with-bit-linuxcnc-how-to-install?start=30 Might be different if you are using a RIP installation.
any how in your debian install what is the output of: ldd /rtlib/lcec.so ??
the file to revert is realtime.mk .... so
- cd linuxcnc-ethercat/src
- gedit realtime.mk (clear all world in file and add these file .... after save and close ... copy the code I pasted below it comes from version 0.9.1 linuxcnc-ethercat)
- after these meke and make install for linuxcnc-ethercat
include ../config.mk include Kbuild include $(MODINC) ifeq ($(BUILDSYS),kbuild) # dirty workaround to get the RTAI directory RTAIINCDIR = $(subst /rtai.h,,$(firstword $(wildcard $(foreach i,$(subst -I,,$(filter -I%,$(RTFLAGS))), $(i)/rtai.h)))) ifneq ($(RTAIINCDIR),) RTAIDIR = $(realpath $(RTAIINCDIR)/..) endif all: $(MAKE) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(RTLIBDIR)/Module.symvers $(RTAIDIR)/modules/ethercat/Module.symvers" -C $(KERNELDIR) SUBDIRS=`pwd` CC=$(CC) V=0 modules else LDFLAGS += -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal -lethercat all: modules endif
very thanks @thang
It looks like ASDA series servo drives from Delta are supported by this driver. Does the support include all models? I’m planning to use ASDA-B3. If they are not yet supported, how hard is it to add support for them?
Can the spindle speed be controlled with Ethercat? I’m guessing at least analog control with 0-10 volt signal is possible.
Are there any caveats in using this approach to build the control system? My goal is to make the control system simpler with Ethercat. If this would lead to overly complicated system then I’m looking somewhere else.