Ethercat Driver

0 views
Skip to first unread message

Malene Mederios

unread,
Aug 4, 2024, 12:22:34 PM8/4/24
to alelinan
I try to install the ni-ethercat-driver-dkms on a custom NILRT (distribution, github) with a hardware that have intel i211 chipset. When I change the ethernet adaptor mode to "EtherCAT" in NI MAX, the ethernet adapter disappear from Linux and NI MAX. I think it's when it try to load the niecat210k driver (init.d/iecatdriver)
Hello, I am not very familiar with the linux driver, I would like to ask, how does your program set the i210 network card as the EtherCat network port? Could you please write down the specific steps? I want to implement this process, hope you can reply me
I have only used Intel Pro100 and Intel Pro1000GT with Pharlap in RT Desktop PC, but as the chipsets are the same as NI pxi cards, I assume they will be supported in NI Linux. NI PXI8231 uses the ethernet controller Intel 82541PI, and this is also used by the NIC Intel Pro 1000 GT.
AZ Series AC input drivers now comes with EtherCAT communications for a battery-free, absolute mechanical sensor motor and driver solution. For use with all Oriental Motor AZ Series motors and linear & rotary actuators equipped with the AZ Series.
Has anyone written a fully implemented ELMO EtherCAT communication driver? I would like to use ROS to communicate with ELMO gold twitter drivers over EtherCAT and I'm having a difficult time understanding how to use SOEM. Has anyone written some code to control drivers over EtherCAT I can use as a starting point?
1) Download the repository SOEM-master and create a build directory in the path according to you ../../SOEM-master/ 2) Then again crate a test directory in side your build directory ../../SOEM-master/build/test/ 3) Now compile the package alone using cmake .. & make commands in the path ../../SOEM-master/ 4) Then find the executables generated in the path ../../SOEM-master/build/test/ 5) Connect your motor drive using Ethernet cable to your PC 6) Try to run the simple_test executable with sudo permissions as follows sudo ./simpple_test eth0 or eth1 7) Try to understand the response got from the ethercat slave drive like name, id , revision and cross check with the manufacturer data sheet 8) Now decide yourself in which mode you want to run the ethercat slaves for example cyclic synchronous torque mode you can get the example code in the following link . 9) Below are the best web links to extend the application code for your requirement . =t&rct.. .
AZ Series DC input Stored Data drivers now comes with EtherCAT communications for a battery-free, absolute mechanical sensor motor and driver solution. For use with all Oriental Motor AZ Series motors and linear & rotary actuators equipped with the AZ Ser Drivers
EtherCAT provides applications with the capacity of reliable, real-time communication between systems and is therefore a common industrial standard. In order to simplify the development/deployment of new application using EtherCAT modules, this stack allows to combine them with ros2_control. This driver proposes a generic ways to parametrize and assemble Hardware Interfaces based on EtherCAT modules that can be defined using parameter files.
I have EK1101, EL6002, EL2034 modules which is based on network devices. These modules are connected PC Ethernet port via ethernet cable. I have tested these modules with some application program, its working fine on my PC.
How can i implement as Linux driver? and start?Do I modify the existing network driver or start new driver from scratch? what type of i need to write, character or network driver? If its character driver how can i transfer data through Ethernet port?
Using the serial slice (EL6002) you can only send 22 bytes (each direction) per exchange for each port. At full serial bandwidth (115k) updating at 1kHz, you won't be able to miss an update without starving the transmitter and/or dropping data on the receiver. If that's a concern you will probably need to claim exclusive control over the Ethernet port being used to master the EtherCAT loop. This requires some form of root permissions, otherwise someone can always try to send packets over the port, affecting your timings. You haven't given much detail about your application or timing requirements, so maybe that's not critical for you.
I've been using the Etherlab IgH open source stack, which requires root permissions to load its kernel module which implements the underlying stack. Once that's done you can set everything else up to run from user space without root permissions.
Once your application acquires access to the master stack, you setup a data exchange domain (what TwinCat calls a task) and you will have a region of shared memory that can be used to monitor the EtherCAT frame data. Your application is responsible for deciding when to send and receive domain updates.
I'm running CODESYS Control RTE SL 3.5.18.30 on a new Siemens IPC and I'm not able to update the network driver to CmpEt1000MPD. It says it's not compatible. I contacted Siemens about it, they said that their new IPC linup use Intel EC1000R 1.0 Gbe , and some driver a not compatbile with that yet.
We want to use the RT1xxx for an industrial control system. This system will be an Ethercat master and also has a TCP/IP connection over a second Ethernet port. For the TCP/IP, we want to use lwip. For the Ethercat master we need to be able to send and receive raw Ethernet frames. How can we do this? Is it possible to use the ENET driver in combination with freeRTOS? Are there any other/better options? What are in general the limitations of using the drivers provided by NXP in combination with freeRTOS?
The Ethernet driver doesn't interact with FreeRTOS (i.e the operating system) in any way - it just interacts with the TCP/IP stack.
A couple of years ago FreeRTOS (now Amazon AWS) added their own +TCP stack because the were not happy with LWIP, which is included in the AWS package so if you need FreeRTOS their stack may be the one you should go for. I think that both use the FSL ENET drivers as standard.
Don't miss out considering the uTasker project for these parts since it includes integrated TCP/IP and USB stacks with low foot print and very flexible networking (multi-homed, multiple Interface and multiple network support). It has been used in many industrial products on Freescale HC16, Coldfire, Kinetis and i.MX RT parts since 2003 so is mature. The TCP/IP services blend into the file systems (for web server and FTP etc.) since all are part of the same project (rather than being diverse middle-ware that needs to be bolted together each time). The i.MX RT parts (peripherals, interrupts, DMA) are emulated in approx. real-time so complete i.MX RT projects can be developed, tested and debugged on a PC in Visual Studio (where the emulated i.MX RT part is seen on the network as if it were a physical node) which makes all work and learning many times faster and simple than the traditional load and debug on HW methods - especially networking projects are much simpler like this. [Also has complete secure OTA firmware updating concept built in]
See tutorial _iMX.pdf
Networking
General documents:
Mark
[uTasker project developer for Kinetis and i.MX RT - incl. developer and supporter of integrated TCP/IP stack]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: / / /
Thanks for your reply. As stated before, we need two Ethernet interfaces. One for TCP/IP and one for Ethercat. I think we can make the TCP/IP working, either with FreeRTOS or uTasking. To be honest, I don't see a big advantage in using uTasking, because for Ethercat we need to be able to send and receive raw Ethernet frames (no TCP/UPD/IP). Using uTasking will not make that any easier, will it? Can you explain why we should use uTasking?
Generally I think that uTasker makes Ethernet projects much easier and efficient since it allows immediate Ethernet/networking operation (since the Ethernet driver is integrated and can be easily used for networking with its integrated TCP/IP stack or for RAW frames, or for bridging between multiple interfaces (like Ethernet RNDIS over USB or WifI or G4 models and such)).
Allowing EtherCAT master firmware to run on a PC on a simulated i.MX RT part makes for simpler development, testing and debugging too (also when HW is not yet ready, which can give a project a big leap forward).
However I am wondering whether you already have HW that is capable of dual Ethernet since there are no NXP evaluation boards that support more than one (unless you wait for the i.MX RT 1170 EVK which should be released fairly shortly).
The uTasker dual-Ethernet driver/stack has been developed on custom HW and so will need to be proven on more when these become available - which will presumably be the same case for other driver sources since they probably don't support dual Ethernet use since it is not presently "standard".
Regards
P.S. Note that the uTasker project doesn't just give Ethernet and networking but also USB stack, file systems, graphical libraries and many industrial control solutions fully integrated into the same project/package. It also includes FreeRTOS mode. So Ethernet development should be much faster but then most other aspects of the overall product development will tend to be much quicker too so generally there are numerous advantages, all boiling down to quicker and cheaper project developments and shorter time to market.
First of all I am sorry if this is not the right forum for this question but I was not sure where to ask.
I am currently running Dewesoft X 2024.1 on Windows 11 emulated via Parallels on an M1 Pro MacBook Pro. The software installed without any warning and runs smoothly (I can do data analysis and use all functions without any issue). The only big problem I have is that I am not able to connect any DAQ to it. It just does not seen any device connected. Keep in mind that all needed options (so adapter passthrough and network sharing) are enabled in the virtual machine settings.
I know that Dewesoft X does not natively support emulation but it seems weird that everything works fine but I can't connect to the DAQ. Do you have any idea why this might be? What could I try? Thanks in advance
3a8082e126
Reply all
Reply to author
Forward
0 new messages