02-17-2021 04:00 AM - edited 02-17-2021 04:16 AM
Hello.
I'm struggling to run the motor driver - Maxon EPOS4 EtherCAT using cRIO 904x.
I had worked with CANopen to run EPOS4 previously and trying to replace it with EtherCAT.
I followed this instruction to add my 3rd party slave device and it was able to communicate with SDO but I'm stuck going to the next step.
First of all, I'm not sure about the overall programming procedure to communicate with this motor driver. My thought caught from the documentations and the experience with CANopen would be like this:
1) Scan engine -> switch to configuration mode
2) Setup the slave device with SDO communication
3) Scan engine -> switch to active mode -> EtherCAT slave automatically enters operational mode
4) [Timed loop] PDO communication
This would be drawn in the block diagram like this [attachment: ethercat structure.png] :
The problems at this stage are follow:
1) The scan engine cannot enter to the active mode as the EtherCAT slave refuse switching to the safe operational mode. When I had used CANopen, the driver had flawlessly switched to the operational state but I'm not sure is there something I missed with EtherCAT. When I'm trying to switch it to the safe operational mode in the "Online device state" panel of the project, it returns the error like this
2) I'm not sure it is normal that I cannot read the EtherCAT:Paremeters in the "Online Slave Device State" panel. It may related with .xml file but I have not enough knowledge on this and not sure whether I have to review .xml file thoroughly or not. (.xml file is attached as .zip file)
3) I drag and dropped the nodes from the project's Ethercat slave device to the block diagram for the PDO communication. Is this the correct method for communicating PDO?
Below are the software version information in MAX.
Thanks in advance for your precious time helping my stuck project.
03-01-2021 01:33 AM
Some of the problems are solved but there still remain issues.
- I had to configure the Modular Device Profile (MDP) for the slave device. After configuring MDP of the slave device, the Labview project was able to automatically detect slave's module.
- The slave device still cannot enter to the safe operational state with the following error:
"Error -2147138467 occurred at an unidentified location
Possible reason(s):
NI-Industrial Communications for EtherCAT: (Hex 0x8005445D) An SDO request sent by the master has been aborted by the slave device due to incorrect initial commands or incorrect PDO selection. Check the configuration of the slave device on the device's property page and ensure that the configuration is correct."
I thoroughly reviewed firmware specification of Maxon EPOS4 regarding EtherCAT and tried to configure all the things but still stuck in this issue.
I have deleted Initcmd in ESI file to get rid of the possible initial command issue but it does not work.
I also tried to understand the ESI .xml file and compared the provided file with other motor driver's data (eg. ELMO driver) to find out the problems in ESI file but it was not able to figure out the problem because I am not a member of ETG and does not have access to the technical documents.
Could anyone please check for the ESI file to figure out if there is something wrong to be used with cRIO?
I attached the ESI .xml file. In the ESI file, I'm trying to use third or fourth module which are Cyclic Synchronous Position Mode and Cyclic Synchronous Velocity Mode.
05-13-2021 02:17 AM
Hello Snopyy,
I am currently trying to drive the EPOS4 Compact 24/1.5 using EtherCAT with a cRIO 9045. I am having issues getting the mode to display when I add targets and devices. You said you had to configure the Modular Device Profile for the slave device. Could you provide some more information on how you did that? I have the .xml file from Maxon's website but I have not seen an MDP file. Is there a separate file I need to find/create or do I need to edit something within the .xml file?
Additionally, were you able to get past the remaining problems you were having?
Thank you in advance!
03-17-2022 10:35 PM - edited 03-17-2022 10:39 PM
Sorry for not updating this thread.
I had contacted and discussed with engineers working in local NI, Maxon distributor.
We concluded that EtherCAT devices from Maxon (including EPOS, MiniMac, and etc.) is not compatible with NI cRIO device.
But did not find the exact reason and don't know whether cRIO has problem or Maxon's product has problem.
My EPOS drivers became obsolete and I was really frustrated.
Please update this thread if somebody had solved this issue: EtherCAT communication between cRIO and Maxon EPOS
03-17-2022 10:37 PM
Please update this thread if somebody had solved this issue: EtherCAT communication between cRIO and Maxon EPOS
05-23-2024 09:01 AM
Hello Snopy,
I've been trying to get an EPOS4 to work via Ethercat from a CRIO-9057 for several days now. Thanks to your posts I've been able to make some progress. Now I can't get the EPOS to go into Operational mode. Mode, Init, Bootstraop and Pre-Operational work. So if epos doesn't go into Operational mode, you can't activate the scan engine on the server and communication doesn't work. Have you managed to do anything more?
Thank you in advance for your feedback
Best regards
10-30-2024 12:59 PM - edited 10-30-2024 01:06 PM
Hi everyone!
We found that the NI master was incorrectly sending 1A00 for the slave's expected values with PDOConfig=1. Setting this to PDOConfig=0 and manually writing the SDOs allowed us to drive this to operational.
The NI master isn't capable of dynamically changing the PDOConfig value, so once you edit the ESI file accordingly you can follow these steps: