ni / niveristand-scan-engine-ethercat-custom-device

Provides NI Scan Engine, EtherCAT and Remote IO support for NI VeriStand
MIT License
16 stars 22 forks source link

`Manage 3rd-Party ECAT Slaves` dialog software requirements are vague #209

Closed Karl-G1 closed 1 year ago

Karl-G1 commented 2 years ago

Describe the bug The Manage 3rd-Party ECAT Slaves dialog requires that LabVIEW 32-bit, LabVIEW RT, and EtherCAT support for LVRT be installed on the host PC to properly function. This is not listed in the software requirements for using the custom device.

This is because the logic called when importing the ESI files does more than just move them on disk and to the target. It also calls into the EtherCAT driver DLL and LabVIEW provider to validate the contents of the file. Without these files on disk, you can get a few different errors when using it that would ideally not be thrown:

To Reproduce The issue manifests itself a few different ways:

  1. EtherCAT is not installed - Broken VI is shown when ESI file is imported image
  2. LabVIEW is not installed - Quasi-silent failure where the Result field shows some truncated text about the failure
  3. LabVIEW RT or ECAT support for LVRT is not installed - Error dialog is thrown image

Expected behavior A single error would be thrown telling users that they do not have the prerequisite software installed to use this functionality. Ideally, this would show up when launching the initial dialog box and before any target queries or file selection happens.

Additional context This issue affects older versions, but these particular errors and dialogs will only be shown in 21.0+

Workaround Manual place the files in the correct directory on the RT Target and restart the target. For Linux RT targets, this is the following path: /var/local/natinst/IndComECAT/DD

This bypasses any validation, but it allows users to get the ESI files to the RT target without installing LabVIEW 32-bit on the host PC.

Karl-G1 commented 1 year ago

This issue was improved with the changes in #210 that added a specific error listing the dependencies for VeriStand 2021 through 2021 R3. Beginning with the upcoming release that includes #236, this issue will be much less impactful. The only requirements of this dialog will be that EtherCAT is installed, and an error message will be displayed if it is not.