Ethercat HAL driver

More
6 years 10 months ago #153565 by chimeno
Replied by chimeno on topic Ethercat HAL driver
Hello manojpatil
  I can't help you much with the PANASONIC servos, I never use them, but I will try to give you some guidance.
Linux-ethercat does not integrate the driver for PANASONIC, you have two options:
- create your own controller
- use the generic driver included in linuxcnc-ethercat, attached an example
Code:
<masters> <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000"> <slave idx="0" type="generic" vid="00000002" pid="14566012" configPdos="true"> <dcConf assignActivate="730" sync0Cycle="*1" sync0Shift="0" sync1Cycle="0" sync1Shift="0"/> <syncManager idx="2" dir="out"> <pdo idx="0018"> <pdoEntry idx="0086" subIdx="00" bitLen="16" halType="complex"> <complexEntry bitLen="6"/> <complexEntry bitLen="1" halPin="srv0-ctrl.realtime-0" halType="bit"/> <complexEntry bitLen="1" halPin="srv0-ctrl.realtime-1" halType="bit"/> <complexEntry bitLen="2" halPin="srv0-ctrl.opmode-low" halType="u32"/> <complexEntry bitLen="1" halPin="srv0-ctrl.sync" halType="u32"/> <complexEntry bitLen="1" halPin="srv0-ctrl.opmode-high" halType="bit"/> <complexEntry bitLen="1"/> <complexEntry bitLen="1" halPin="srv0-ctrl.restart" halType="bit"/> <complexEntry bitLen="1" halPin="srv0-ctrl.enable" halType="bit"/> <complexEntry bitLen="1" halPin="srv0-ctrl.drv-on" halType="bit"/> </pdoEntry> <pdoEntry idx="0018" subIdx="00" bitLen="32" halPin="srv0-vel-cmd" halType="s32"/> </pdo> </syncManager> </slave> </master> </masters>

the PDO can visualize them with this command
Code:
ethercat pdos -p"number device"

the VID (vendor ID) and the PID (Product code) can be found using the command
Code:
ethercat slave -p"number device" -v
I hope I have helped you, regards Chimeno

Please Log in to join the conversation.

More
6 years 9 months ago #154099 by CORBETT
Replied by CORBETT on topic Ethercat HAL driver
Chimeno,

Thanks for adding the brake chopper... super awesome. I was looking at these for the future.

I have a request as you are verse in re-working the code. Can you add the EL7041-0000. I cannot get it to work, I have tried changing my XML with:

EL7041-1000
EL7041-0000
EL7041-
EL7041

but none of those work. I can see the terminal in C-command when doing a "# ethercat slaves" , but when you try to start LinuxCNC it gives the error screen with this in the debug:

lcec_conf: ERROR: Invalid slave type EL7041-0000
lcec_conf: ERROR: Parse error at line 6: parsing aborted

I know my HAL and INI should be fine in LNC as I have other Beckhoff setup's that work, just can't get this setup to work with the EL7041-0000. So I figured you might be able to get this terminal working also as you have fixed the code for several of the other terminals in the past.

Thanks,
Robert

Please Log in to join the conversation.

More
6 years 9 months ago #154118 by Nico2017
Replied by Nico2017 on topic Ethercat HAL driver
Hello manojpatil

for your information, my system was not going into OP as there was an error on the xml config file of my ethercat.

Nicolas

Please Log in to join the conversation.

More
6 years 9 months ago #154125 by Nico2017
Replied by Nico2017 on topic Ethercat HAL driver
Hi all,
I was wondering if there was a slave number limitation on the EtherCAT configuration for linuxcnc. I am trying to run a new device, the config xml file works fine when I plug the device alone, but my system crashes when I put it after 15 other slave on my EtherCAT bus.

Is such a limitation exists, is it overall, or is it per master? My computer has two Ethernet port, so maybe I could use the other one as another master. I am just wondering how I would parametrize it in the /etc/default/ethercat file.

Thank you,

Nicolas

Please Log in to join the conversation.

More
6 years 9 months ago #154149 by phoenix_83
Replied by phoenix_83 on topic Ethercat HAL driver
Hello everyone,

my name is Heiko and i am new here. I have an old Deckel FP2 and some servo motors inclusive servo controllers from Beckhoff.
Now I would like to upgrade the Deckel with servo motors and control it via LinuxCNC.

To test and try LinuxCNC I have here an EK1100, EL1104, EL2024 and an IndraDrive Cs (HCS01.1E-W0006-A-02-B-ET-EC-PB-NN-NN-FW) with an MSK030C-0900 servo motor. With these components i want to set up an test scenario.

So I try to install the ethercat hal driver. Therefore i followed exactly the instructions from Hawkeye from page 68. Everything is going well until i came to step 5.
The steps cloning the ec-debianize and dpkg-checkbuilddeps are running well.

but when i run the command dpkg-buildpackage i geht following error message:

root@linuxcnc:/git/ec-debianize/etherlabmaster# dpkg-buildpackage
dpkg-buildpackage: Information: Quellpaket etherlabmaster
dpkg-buildpackage: Information: Quellversion 1.5.2+20190904hg33b922p8ea394-1
dpkg-buildpackage: Information: Quelldistribution lucid
dpkg-buildpackage: Information: Quelle geändert durch Sascha Ittner <sascha.ittner@modusoft.de>
dpkg-buildpackage: Information: Host-Architektur amd64
dpkg-source --before-build etherlabmaster
debian/rules clean
dh clean --with autoreconf,dkms
dh_testdir
dh_auto_clean
dh_autoreconf_clean
debian/rules override_dh_clean
make[1]: Verzeichnis „/git/ec-debianize/etherlabmaster“ wird betreten
rm -f ChangeLog
dh_clean
make[1]: Verzeichnis „/git/ec-debianize/etherlabmaster“ wird verlassen
dpkg-source -b etherlabmaster
dpkg-source: Fehler: unmöglich, mit Quellformat »3.0 (quilt)« zu bauen: unter ./etherlabmaster_1.5.2+20190904hg33b922p8ea394.orig.tar.{bz2,gz,lzma,xz} wurde kein Tarball der Originalautoren gefunden
dpkg-buildpackage: Fehler: Fehler-Exitstatus von dpkg-source -b etherlabmaster war 255

Now i am not able to do the next steps. when i try to execute sudo dpkg -i /git/ec-debianize/etherlabmaster_1.5.2+20180317hg9e65f7-2_amd64.deb the error is:

dpkg: Fehler: Auf das Archiv »/git/ec-debianize/etherlabmaster_1.5.2+20180317hg9e65f7-2_amd64.deb« kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden

Can anyone help me with the error messages? I have tried everything but nothing worked. Please give me a hint of what i am doing wrong.


05. Setup "ec-debianize"
Code:
cd /git git clone https://github.com/sittner/ec-debianize ec-debianize ./get_source.sh cd etherlabmaster dpkg-checkbuilddeps dpkg-buildpackage (the output error "failed to sign .dsc file" is no issue) sudo dpkg -i /git/ec-debianize/etherlabmaster_1.5.2+20180317hg9e65f7-2_amd64.deb sudo dpkg -i /git/ec-debianize/etherlabmaster-dev_1.5.2+20180317hg9e65f7-2_amd64.deb nano /etc/default/ethercat (change mac-address [MASTER0_DEVICE=""] e.g. [MASTER0_DEVICE="11:22:33:44:55:66"]) nano /etc/default/ethercat (change [DEVICE_MODULES=""] to [DEVICE_MODULES="generic"]) sudo update-ethercat-config usermod -a -G ethercat linuxcnc reboot

06. Setup "LinuxCNC-Ethercat"
Code:
cd /git git clone http://github.com/sittner/linuxcnc-ethercat.git linuxcnc-ethercat" nano /git/linuxcnc-ethercat/src/lcec_main.c (add here [#include "rtapi_mutex.h"] below [#include "rtapi_app.h"]) cd /git/linuxcnc-ethercat make -j4 make install sudo make install

07. Further things to consider
- if you experience issues when starting linuxcnc (cpu high load), then try to change "BASE_PERIOD=0" within your ini-file (config of your machine)

08. .. this is know the part where I guess I can end this guide now.
.. further steps (setting up ethercat.xml, machine config, ... can be seen within the forum).
.. hope this helped you - thanks for reading.
.. please leave a comment whether you managed it to get your system running.

[hr]

Best Regards,
Ben[/quote]

Please Log in to join the conversation.

More
6 years 9 months ago #154165 by Nico2017
Replied by Nico2017 on topic Ethercat HAL driver
Hi phoenix_83,
I remember facing similar issue at some point but cannot remember if it was exactly the same. What OS and distribution are you using (lucid on ubuntu apparently), but more importantly I think the RTAI and RTPREEPMT real time kernel version (do uname -a to check it quickly) could make the difference as RTAI is no longer supported for ec-debianize. You apparently also do everything as root so should not have any permission issues but might worth to have a look at it too.

I also remember that using previous version of the ec-debianize could help for some OS so reversing back to an older commit was somehow working.

Nicolas

Please Log in to join the conversation.

More
6 years 9 months ago #154196 by manojpatil
Replied by manojpatil on topic Ethercat HAL driver
Hello Nico2017

Can you guide me regarding the xml file .. as in where are the xml files stored and where should I make changes for my specific driver.

Thanks.

Please Log in to join the conversation.

More
6 years 9 months ago #154197 by manojpatil
Replied by manojpatil on topic Ethercat HAL driver

Attachment not found

Please Log in to join the conversation.

More
6 years 9 months ago #154227 by phoenix_83
Replied by phoenix_83 on topic Ethercat HAL driver
Hi Nicolas,

thank you for your fast answer.

I am using Debian GNU/Linux 9 \n \l (cat /etc/issue) and I also checked the version by using uname -a and the following answer appears:
Linux linuxcnc 4.9.0-8-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64 GNU/Linux

Does the amd64 mean that the kernel is only for amd prozessors? I use an Dell Optiplex 9020 with an Intel i5.

Sorry but this are all informations i can find.

is it possible, that you give me another hint?

thanks

Please Log in to join the conversation.

More
6 years 9 months ago #154237 by chimeno
Replied by chimeno on topic Ethercat HAL driver
Hi Corbett,
Thank you very much for everything, just try to have a good time fun and share it with you, many times it is difficult to program things without having much knowledge, for the chopper module if you use it you will have to load the configuration file for the work stress levels.

For the question you have about this error lcec_conf: ERROR: Analysis error on line 6: aborted analysis, it is simply that you should have a misspelling in the configuration .xml file, can you check if it is like this?
Code:
<slave idx = "1" type = "EL7041-1000" name = "EL7041" />

if you want you can publish your .xml file and we take a look

Ideally, configure EL7041 using TWINCAT3

if you can add the EL7041-0000, no problem

The EL7041-0001 and EL7041-1000 have the same generic PDO pre-defined, it should work without problems.

Greeting
Chimeno

Please Log in to join the conversation.

Time to create page: 0.804 seconds
Powered by Kunena Forum