Programmatic Discovery of Third-Party EtherCAT Slaves Fails

Updated Jun 13, 2022

Reported In

Software

  • LabVIEW Real-Time Module

Driver

  • NI-Industrial Communications for EtherCAT

Issue Details

  • I am trying to programmatically discover my third-party EtherCAT slaves using the Refresh Modules VI. I have added the XML configuration file to LabVIEW, but when I try to discover connected slaves on my CompactRIO or PXI device, it finds only National Instruments slaves, or none at all.  What am I doing wrong?
  • When I run the Refresh Modules VI only the EtherCAT slaves that are already in my project come up. I have other EtherCAT slaves that are not being discovered. 

Solution


Ensure that the XML configuration file for your third-party device has been transferred to your real-time system. The LabVIEW import function, accessible by right-clicking EtherCAT Master -> Utilities -> Import Device Profiles should import the XML file to the correct directory. 

The XML file must be placed in:
  • /ni-rt/system/IndComECAT/DD/ for VxWorks and Phar Lap RT Targets.
  • /var/local/natinst/IndComECAT/DD/ for NI Linux RT Targets.
Once your Real-Time system has this configuration file, it will be able to identify slaves of this type programmatically.

Make sure that the LabVIEW project where you have the Real-Time target does not have any EtherCAT slaves already discovered. If this is the case, the Refresh Modules VI will only refresh the information attached to the EtherCAT slaves that are part of the project.