From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

Overall programming structure of 3rd party slave - Maxon EPOS4 EtherCAT

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

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

safe operational error.png

 

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)

ethercat6.png

 

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?

pdo.png

 

 

Below are the software version information in MAX.

max software.pngmax software2.png

 

Thanks in advance for your precious time helping my stuck project.

0 Kudos
Message 1 of 5
(2,527 Views)

Some of the problems are solved but there still remain issues.


Solved:

- 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.

ethercat module.png

 


Remaining Issue:

- 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.

0 Kudos
Message 2 of 5
(2,458 Views)

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!

0 Kudos
Message 3 of 5
(2,328 Views)

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

0 Kudos
Message 4 of 5
(1,763 Views)

Please update this thread if somebody had solved this issue: EtherCAT communication between cRIO and Maxon EPOS

0 Kudos
Message 5 of 5
(1,761 Views)