Ethercat auto configurator.

More
05 Dec 2024 18:56 #316036 by Salame
Replied by Salame on topic Ethercat auto configurator.
Hi, I couldn't find a way to DM you, for personal info and driver and motor specs etc..
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
05 Dec 2024 20:33 #316043 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
Hi Salame,

My contact This email address is being protected from spambots. You need JavaScript enabled to view it.
The mail is also visible here : codeberg.org/skynet

Thanks a lot for your proposal so far !!
It's in good hands, as it is used for development for our open source community.

Please Log in or Create an account to join the conversation.

More
07 Dec 2024 03:52 - 07 Dec 2024 03:54 #316154 by fake_name
Replied by fake_name on topic Ethercat auto configurator.

@Fakename
The links are broken indeed, the source has moved to :
codeberg.org/skynet/realtime_app/src/bra...dor/ethercat_twincat

It is part of a bigger project that used opencascade.

 


That lets me localize things a bit, but could you possibly be a bit more explicit about dependencies? The version of qt6 packaged on debian 12 (current linuxcnc) seems to be too new, and it will not build:

cnc@servobox:~/realtime_app/src/vendor/ethercat_twincat/build$ cmake ..
-- The CXX compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "1.5.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/cnc/realtime_app/src/vendor/ethercat_twincat/build
cnc@servobox:~/realtime_app/src/vendor/ethercat_twincat/build$ make -j4
[  5%] Automatic MOC and UIC for target ethercat_twincat
[  5%] Built target ethercat_twincat_autogen
[ 20%] Building CXX object CMakeFiles/ethercat_twincat.dir/main.cpp.o
[ 20%] Building CXX object CMakeFiles/ethercat_twincat.dir/ethercat_twincat_autogen/mocs_compilation.cpp.o
[ 20%] Building CXX object CMakeFiles/ethercat_twincat.dir/mainwindow.cpp.o
[ 25%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/ethercat_master/tool/Command.cpp.o
[ 30%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/ethercat_master/tool/CommandXml.cpp.o
[ 35%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/ethercat_master/tool/MasterDevice.cpp.o
[ 40%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/ethercat_master/tool/NumberListParser.cpp.o
[ 45%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/graphics_view.cpp.o
[ 50%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/form_node_port.cpp.o
[ 55%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/form_node_base.cpp.o
[ 60%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/form_node_port_out.cpp.o
[ 65%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/form_node_port_in.cpp.o
[ 70%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/graphics_node.cpp.o
[ 75%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/graphics_curve.cpp.o
[ 80%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/qcustomwidget.cpp.o
[ 85%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/qcustomtimerwidget.cpp.o
[ 90%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/qcustomscopewidget.cpp.o
[ 95%] Building CXX object CMakeFiles/ethercat_twincat.dir/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp.o
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp: In member function ‘Qt::Alignment QCPLayoutInset::insetAlignment(int) const’:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:3121:12: error: invalid conversion from ‘int’ to ‘Qt::AlignmentFlag’ [-fpermissive]
 3121 |     return 0;
      |            ^
      |            |
      |            int
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:1401,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h:8,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:12,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/qobject.h:10,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/QObject:1,
                 from /home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.h:29,
                 from /home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:26:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qflags.h:74:45: note:   initializing argument 1 of ‘constexpr QFlags<T>::QFlags(Enum) [with Enum = Qt::AlignmentFlag]’
   74 |     constexpr inline Q_IMPLICIT QFlags(Enum flags) noexcept : i(Int(flags)) {}
      |                                        ~~~~~^~~~~
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:1407:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp: In destructor ‘virtual QCPItemAnchor::~QCPItemAnchor()’:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:7461:47: error: ‘class QSet<QCPItemPosition*>’ has no member named ‘toList’
 7461 |   foreach (QCPItemPosition *child, mChildrenX.toList())
      |                                               ^~~~~~
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:7466:47: error: ‘class QSet<QCPItemPosition*>’ has no member named ‘toList’
 7466 |   foreach (QCPItemPosition *child, mChildrenY.toList())
      |                                               ^~~~~~
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp: In destructor ‘virtual QCPItemPosition::~QCPItemPosition()’:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:7639:47: error: ‘class QSet<QCPItemPosition*>’ has no member named ‘toList’
 7639 |   foreach (QCPItemPosition *child, mChildrenX.toList())
      |                                               ^~~~~~
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:7644:47: error: ‘class QSet<QCPItemPosition*>’ has no member named ‘toList’
 7644 |   foreach (QCPItemPosition *child, mChildrenY.toList())
      |                                               ^~~~~~
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp: In member function ‘void QCustomPlot::replot(RefreshPriority)’:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:10372:37: error: ‘HighQualityAntialiasing’ is not a member of ‘QPainter’
10372 |     painter.setRenderHint(QPainter::HighQualityAntialiasing); // to make Antialiasing look good if using the OpenGL graphicssystem
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp: In member function ‘virtual void QCustomPlot::wheelEvent(QWheelEvent*)’:
/home/cnc/realtime_app/src/vendor/nodelib/qcustomplot.cpp:10855:53: error: ‘class QWheelEvent’ has no member named ‘pos’
10855 |   if (QCPLayoutElement *el = layoutElementAt(event->pos()))
      |                                                     ^~~

 
Last edit: 07 Dec 2024 03:54 by fake_name. Reason: WTF did the forum wysiwyg editor do

Please Log in or Create an account to join the conversation.

More
07 Dec 2024 03:59 - 07 Dec 2024 04:11 #316155 by fake_name
Replied by fake_name on topic Ethercat auto configurator.
FWIW, I rolled back to qt5 and it builds.

I can get the binary in the referred directory (
ethercat_twincat
) to build and run, but it doesn't seem to correctly identify my hardware, and I don't really understand what to do next. It seems to identify my servo driver (a Lichuan LC10-E) as a EK1100. 
ethercat pdos
seems to show the correct process data objects, so I'm not sure what's going on.

If there's anything I can do to help (you want shell access? I should be able to figure something out) I'd be happy do contribute.

I also have a number of Lichuan ethercat stepper servo drivers, and a ethercat IO thingie (one of these: www.forum.linuxcnc.org/ethercat/52997-et...at-catio-module-help).
Last edit: 07 Dec 2024 04:11 by fake_name.
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
07 Dec 2024 11:42 #316175 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
Hi Fakename,

The executable "ethercat_twincat" start up with a default none name "EK1100".
See the mainwindow : node_ethercat = new graphics_node("EK1100",ports);

A better name should be something like : "Ethercat".

seems to show the correct process data objects, so I'm not sure what's going on.
This is nice. That means the digital xml config is parsed succesfully.


Maybe this is not the best way to start figuring out things for you.
Best for you is maybe a minimal example where ethercat is showing your pdo config in gui, without
the usage of node's etc.

Then set some test values, to try to run the motors?

Please Log in or Create an account to join the conversation.

More
10 Dec 2024 22:32 #316434 by Rkatts
Replied by Rkatts on topic Ethercat auto configurator.

hi,

if you are building ethercat-master from source... there is possibility to disable eoe on master during ./configure script for example
./configure --sysconfdir=/etc/ --disable-8139too --enable-userlib --disable-generic --disable-eoe --enable-e1000e

but I am fighting with them right now to install non generic driver because in responsitories is only generic possible ..
 

Sorry for the basic questions.  Where do you enter that command?  Do you put it in a file during the build process?
And while I'm at it, what method do you use to build from source?  I'm new to this.  I'm just trying to disable EoE.

Please Log in or Create an account to join the conversation.

More
12 Dec 2024 10:38 #316506 by onceloved
Replied by onceloved on topic Ethercat auto configurator.
You can use the tool to export the drive sii file, then modify it to disable eoe and then flash it back

Please Log in or Create an account to join the conversation.

More
15 Dec 2024 13:45 #316706 by endian
Replied by endian on topic Ethercat auto configurator.
Yes it is possible did it in the many ways... but only working way for me was that to switch off the EoE master directly on the master...

I did it during ethercat installation ... install everything like a rodw has in his thread and then turn off ethercat master service ... and finally reinstall just ethercat master with right driver what is directly supported my hardware to supress the latency and then disable feature --eoe ...

I can did a terminal command manual if somebody needs them

regards

Please Log in or Create an account to join the conversation.

Time to create page: 0.071 seconds
Powered by Kunena Forum