Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

EtherCAT error - 2147138467 when switching third-party device to Safe Operational State

Hello everyone.
I'm trying to build communications between a cRIO-9040 controller and a third-party device, Faulhaber MC5005.
The EtherCAT slave device were detected successfully after importing the ESI file (as attached).
However, when I tried to switch the Scan Engine to Active, I received the error message below.

 

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.

 

These are some attempts we tried to fix it.
1. Change the initial setup of master and slave properties
The properties include Scan Period, Distributed Clock, Synchronization Signal Interval and so on.
2. Modify the ESI file
The modifications involved SM tag, slots reference.
3. Try communications using TwinCAT
The slave device can communicate with other controller with the original ESI file.
4. Search in SoftMotion Pulg-in
Unfortunately, SoftMotion Pulg-in support lots of motor driver company except Faulhaber.

 

It will be great helpful to get any idea on how to solve this issue.
Thanks. DarrenX.

Download All
0 Kudos
Message 1 of 4
(1,939 Views)

Hi,

 

This is issue is related to several root-causes, following a couple of suggestions to debug:

  • Because the SDI Plug-in includes a modified ESI file, do not import the manufacturer's default ESI file into LabVIEW. This may cause the EtherCAT slave to deploy with an object mapping incompatible with SDI.
  • Ensure that the firmware installed on your third-party drive matches the firmware the SDI ESI file w...- this can generally be found in the title of your drive's ESI file located at C:\Program Files (x86)\National Instruments\Shared\IndComECAT\DD.
  • Make sure you have installed the correct version of the NI-Industrial Communications for EtherCAT. You can downlad the latest version of the driver from here.
  • Check that the third-party device is not included in Known incompatible EtherCAT slave devices.
  • You can collect a Wireshark capture log to see what are packets sended between the Real-Time target and the development computer.
0 Kudos
Message 2 of 4
(1,887 Views)

Hi. ahovhann.

Thank you very much for your replication and suggestions.
Please allow me to confirm the suggestions.


First, the version of NI-Industrial Communications for EtherCAT is 19.0 which should support the Labview 2020 together with cRIO-9040.
Then, I failed to find my slave device (Faulhaber) in the list of third-party motor drives supported by SDI. Does it mean that it is a incompatible EtherCAT slave device for Labview or only for SDI?
Overall, I tried to build low-level communications without SDI by reading and writing commands to PDO and SDO memory. Is it impossible using cRIO real-time operating system?
Assuming that, I tried communications through "EtherCAT library for labview" which builds a vertual EtherCAT master. After importing the original ESI file, the master detected the slave device successfully. However, when trying to communicate with slave PDO, its input and output data were empty. I'm wondering whether there are something wrong with the original ESI file such as the PDO entry.


Any idea will be great helpful.
Thank you again for your kind helps.
DarrenX.

0 Kudos
Message 3 of 4
(1,869 Views)

Hello,

I am also trying to control a Faulhaber motor with a cRIO and EtherCAT.

Have you found a solution to your problem ?

 

 

0 Kudos
Message 4 of 4
(321 Views)