Ethercat auto configurator.

More
1 year 10 months ago #316009 by Salame
Replied by Salame on topic Ethercat auto configurator.
I'm still at the beginning of my LCNC experience, it means that any servo drive will be auto configured? If you want to make some test I can send you one, where are you located?
The following user(s) said Thank You: Grotius

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

More
1 year 10 months ago #316013 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
Hi Salame,

I live in Holland near Gorinchem and Rotterdam.
It would be great to have a servo drive and motor and test it to be auto configurated.

it means that any servo drive will be auto configured?
At this stage, i can not confirm this.
When i retrieve the info from the ethercat bus, and pdo config is made for the drive.

Then i can test the servo drive to send commands.

It would not mean every drive would have the same pdo config, these would be different,
but we can automaticly sort data out and do suggestions for that data like:

If it comes out that a servo position command is always a 64 bit value. Then we can already map this to
a position command. It's just figuring out a few things.

If it turn's out there isn't any logical explanation in the servo pdo config. Then we can add a 
template for that particular servo drive vendor id.

@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.
 
The following user(s) said Thank You: tommylight, bkt

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

More
1 year 10 months ago #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.

More
1 year 10 months ago #316043 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
Hi Salame,

My contact michelwijnja@gmail.com
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
1 year 10 months ago - 1 year 10 months ago #316154 by fake_name

@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:

Code:
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: 1 year 10 months ago by fake_name. Reason: WTF did the forum wysiwyg editor do

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

More
1 year 10 months ago - 1 year 10 months ago #316155 by fake_name
FWIW, I rolled back to qt5 and it builds.

I can get the binary in the referred directory (
Code:
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. 
Code:
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: 1 year 10 months ago by fake_name.
The following user(s) said Thank You: Grotius

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

Time to create page: 0.374 seconds
Powered by Kunena Forum