EtherCAT Slave Device is Not Recognized in LabVIEW Project

Updated Dec 18, 2023

Reported In

Hardware

  • cRIO-9068
  • cRIO-9064
  • NI-9145

Driver

  • NI-Industrial Communications for EtherCAT

Issue Details

I am doing one of the following:
  • Adding a third party EtherCAT Slave to an NI EtherCAT Master in LabVIEW Project Explorer. I have loaded the .xml EtherCAT Slave Information (ESI) file from the manufacturer. The ESI file is also known as the EtherCAT XML Device Description File.
  • Adding an NI-9145 CompactRIO expansion chassis to my EtherCAT master.
  • Using my Windows computer as an EtherCAT master.
When I attempt to add the slave, I get one of the following two symptoms:
 
  • The EtherCAT Slave does not show up in the list when I try to add it in the LabVIEW Project Explorer.
     
  • The EtherCAT Slave is showing up as an unknown device with address 0. When I place the cursor over the drive, I see the following description:

    Unknown Device (Address 0)
    This EtherCAT slave device is not recognized.
    The possible reason is that the device profile is not properly installed.
    Import the device profile by right-clicking the master item and selecting "Utilities >> Import Device Profile"


How do I resolve this?

Solution

Please see below some possible solutions for this behavior:
  1. If your slave device profile uses a Modular Device Profile (MDP), you must place both the parent XML file and modules file in the same folder, and import the entire folder via this method. If you are unsure whether your device has an MDP, please contact your slave device vendor.
  2. If you are using your Windows machine as an EtherCAT master, it's expected not to see the EtherCAT slave as Windows is not a deterministic environment, thus it doesn't support this communication protocol. To go around this, you can install a real-time OS on your computer by following this link or you can simply use a real-time controller as an EtherCAT master.
  3. If you are using  NI-Industrial Communications for EtherCAT 15.0, 16.0, or 17.0, this is a known issue fixed in NI-Industrial Communications for EtherCAT 16.1. It occurs with the configuration shown in the table below. You should update/revert to NI-Industrial Communications for EtherCAT 16.1 to fix this behavior.
 
DriverOperating SystemLabVIEW Version
NI-Industrial Communications for EtherCAT 17.0All WindowsAll
NI-Industrial Communications for EtherCAT 16.0Windows 10 (64-bit)2016 (32-bit)
NI-Industrial Communications for EtherCAT 15.5Windows 72015 SP1
 
If you are unable to update/rollback to NI-Industrial Communications for EtherCAT 16.1, follow the following steps below to fix the issue: 
  1. Manually move the XML files to the following location depending on your LabVIEW version: 
  • If you have LabVIEW 2013 SP1 and later then move it to this location depending on your LabVIEW version: C:\Program Files (x86)\National Instruments\LabVIEW XXXX\resource\Framework\Providers\indcomecat\DD 
  • For LabVIEW 2013 and earlier, move it to this location: C:\Program Files(x86)\National Instruments\Shared\IndComECAT\DD 
  1. Restart LabVIEW 
The slave should now appear when you try to add a new slave to an existing master in the project. If the EtherCAT device still doesn't show up, try editing the XML file to remove any forward slashes from any name fields. For instance, changing <Name>Fx/Gage0</Name> to <Name>FxGage0</Name>.