How to Distribute Test Programs Based on the “From SLSC FIU Physical Channels to DAQ AI Physical” Between ECU Test Systems

Updated Nov 20, 2021



  • ECU Test System Software Suite
  • LabVIEW
  • TestStand

This article is an instruction guide on how to distribute test programs based on the From SLSC FIU Physical Channels to DAQ AI Physical developed in an ECU Test System to another ECU Test System.
  • The guide includes 2 sections: one is for distributing LabVIEW project, the other is for distributing TestStand LabVIEW code module.
  • For test systems which already have the same ECU Test System Software Suite as the development system, no special distribution is needed, you can directly copy the test programs. For test systems without ECU Test System Software Suite, distribution is needed.
  • From SLSC FIU Physical Channels to DAQ AI Physical depends on NationalInstruments.ECUTS.ChannelMapping.dll, which in turn depends on the other 2 DLLs: NationalInstruments.TesterFramework.Maintenance.dll and Newtonsoft.Json.dll. These are referred to as indirect dependency DLLs. When doing deployment, LabVIEW Build Specifications and TestStand Deployment Utility are not aware of these indirect dependencies, so special distribution steps are needed for these 3 dependency DLLs.

Section 1: Distribute as a LabVIEW Build Specification

Creating a Project

  1. Open LabVIEW, create a project by selecting File >> Create Project…
  2. Add the application VI which calls From SLSC FIU Physical Channels to DAQ AI Physical
    KB 1.png
    1. In the block diagram, right-click and select Measurement I/O >> NI ECUTS >> From SLSC FIU Physical Channels to DAQ AI Physical, then do your implementation. This example just creates controls and indicators for From SLSC FIU Physical Channels to DAQ AI Physical
      KB 2.png
    2. In the Dependencies, you can see only NationalInstruments.ECUTS.ChannelMapping.dll is listed, its dependencies NationalInstruments.TesterFramework.Maintenance.dll and Newtonsoft.Json.dll are not loaded.
      KB 3.png
  3. Add indirect dependency DLLs to the project by using the right-click menu in My Computer in the Project Explorer Window and click Add >> Folder (Snapshot)..., and choosing the path where the following DLLs are located, by default it’s C:\Program Files\National Instruments\Shared\NI ECUTS\, select Current Folder after navigating />KB 3.5.png
  4. Then all ECUTS related DLLs would be added to the project.
    KB 4.png

Creating an Executable

  1. Create an EXE Build Specification. For that, right-click Build Specifications on the Project Explorer Window and click New >> Application(EXE).
  2. Under the Source Files Tab, select the application VI as startup VIs, select the DLL files as Always Included.KB 5.png
  3. Configure any other properties necessary for your application, click Build to create the executable.

Building an Application Installer

  1. Create an Installer Build Specification. For that, right click on Build Specifications and choose New >> Installer.
  2. In the Destinations category, you can create new folders on the target system and configure where your application will be installed.KB 6.png
  3. In the Source Files category, move your application to the Destination View.KB 7.png
  4. In the Additional Installers category verify that the NI LabVIEW Run-Time Engine is selected. Deselect Automatically select recommended Installers as well as Only display runtime installers, you can also select additional software to be contained together in the installer.KB 8.png
  5. Configure some other properties, click Build to create the installer.

Install ECUTS Application on Deployment System

Copy the ECUTS application installer to the deployment computer, do the installation, then you can run the application on the deployment system.

Section 2: Distribute as a TestStand LabVIEW Code Module

Creating a Workspace

  1. Create a test sequence:
    1. Let’s take the Channel in Section 1 as the code module in the TestStand sequence. Open NI TestStand, create a sequence and add a LabVIEW Action step by dragging it to the Main section of the MainSequence from the Insertion Palette:
      KB 9.png
    2. In the Action step settings, click the Project Path to open the folder browser, and select SLSC FIU.lvproj, click Open, use the default option Add the directory that contains the file you selected to the list of search directories, then click OK. In VI Path dropdown, select Channel 
      KB 10.png
    3. Note that parameter SLSC FIU physical channels is DEFAULT checked as an empty array. You can configure the input value by creating a Local variable, go to Variables tab, on Locals, right click and select Insert Local >> Array of >> Type >> LabVIEW >> LabVIEWIOControl, file the DeviceName, for example: J12-FIU-1/Channel_0
      KB 11.png
    4. Save the testing sequence, for example, name it “SLSC FIU.seq”.
  2. Create a workspace by selecting File >> New >> Workspace File… For example, name the workspace “Deploy SLSC FIU”.  
  3. Add project to workspace by right-clicking on “Deploy SLSC FIU”, and selecting Insert New Project into Workspace… For example, name the project “SLSC FIU”. 
    KB 12.png
  4. Add sequence file to workspace by right clicking on the “SLSC FIU” project, and selecting Add Files to Project…, choosing the sequence file created by step 1.
  5. Add From SLSC FIU Physical Channels to DAQ AI Physical dependency DLLs to workspace:
    1. Right click on the “SLSC FIU” project, select Insert Folder From Disk…, choose path where the dependency DLLs locate, by default it’s C:\Program Files\National Instruments\Shared\NI ECUTS. Select the directory, then click OK. When the following dialog shows up, click Cancel.
      KB 13.png
    2. Select Use a relative path for the directory you selected, then click OK.
  6. The final workspace file structure looks like as the following:
    KB 15.png

Creating a TestStand Deployment Installer

  1. Check and Configure LabVIEW Adapter Settings: Click on the Configure menu and select Adapters, In the Adapter Configuration dialog, select LabVIEW and click the Configure button, Select the LabVIEW Run-Time Engine radio button from the Select or Type Which LabVIEW Server to Use. Choose the version your LabVIEW code module uses or select Auto detect using VI version. Click OK to accept.
    Kb 16.png
  2. Select Tools >> Deploy TestStand System… in the TestStand Sequence Editor, choose Output Type to either MSI-Based Installer or Package-Based Distribution. Leave the Distribution type as Create new Full Deployment.
  3. On System Source tab, select Deploy Files >> From TestStand Workspace File, check From TestStand Public Directories to deploy the Operator Interface used to execute the test sequence on the deployment system. 
    Kb 17.png
  4. Switch to Distributed Files tab, a dialog will popup to confirm whether to Analyze Source Files, click Yes.
    KB 18.png
  5. Configure the Installer Properties for all the files in the workspace and for Operator Interface:
    1. Make sure the dependency DLLs under NI ECUTS directory are configured to the same installation destinations as the code module project SLSC FIU.lvproj. For example, configure them to Desktop Directory, subdirectory is SLSC FIU Channel Mapping.
      KB 19.png
    2. For Operator Interface, you can select any user interface Under the UserInterfaces directory. For example, select Simple\LabVIEW\
      KB 20.png
  6. Select Additional Installers:
    1. For MSI-Based Installer, on the Installer Options tab, check Install TestStand Runtime and click Drivers and Components…, select your code module LabVIEW Run-Time Engine.
      KB 21.png
    2. For Package-Based Distribution, on the Package Distribution Options tab, check Install TestStand Runtime and click Dependencies…, select your code module LabVIEW Run-Time Engine.
      KB 22.png
  7. 6.    Click Build button to build the distribution.

Installing and Running Sequence on Test System

Copy the built installer to the ECUTS Test System, and execute it to install.
KB 23.png

After installation, find TestExec.exe, click and launch Operator Interface, then you can run the testing sequence.
KB 24.png