1. Getting Started

The NIST Pluggable modules depend on several installed software packages and third party products. Several important setup steps must be performed. If these are not performed properly, you will get one or more error messeges.

1.1. Matlab

Some of the module plugins depend on MatLab. Matlahb was chosen over NI Mathscropt for several reasons, mainlyhaving to do with portability and version control. NI Mathscript does not support all Matlab functions but at present, non of these functions are known to be used so a user could create alternative plugins using NI Mathscript if so desired.

1.2. NI MathScript

Mathscript is required for some of the module plugins. Future plans include converting these over to Matlab dependency.

1.3. Labview Dependencies

A number of Labview packages are needed to run the PARTF. You can download them and install them with VI Package Manager (VIPM) (which comes bundled with labview after 2014).

1.3.1. All Modules

All of the NIST Pluggagble Modules are dependent on a set of base classes which are freely available on GitHub:

1.3.1.1. BaseClasses Library

Download and install BaseClasses.

All classes in PARTF inheret from the BaseObject class. All Plugin classes inheret from BasePlugin class. All of the Plugin modules have a Base Plugin class for that module which all the plugin classes inheret from.

1.3.1.2. ModuleAdmin Library

Download and install ModuleAdmin.

The administrative library and classes for the Cloneable, Pluggable modules used in the PARTF. Provides a ModuleAdmin class for maintining module properties. CloneRegistration providing properties and methods for adding, removing and accounting for instantiated clones, and VIs for synchronizing module clones and their calling applications.

1.3.1.3. OpenG Variant Configuration File Library

Download and install either from the VI Package Network using VIPM by going to the the OpenG Variant Configuration Library

The OpenG Variant Configuration File Library package contains tools for writing and reading variant data to and from INI files. Installing this package requires a free account with JKI Software During installation, the package will automatically download some other OpenG dependencies.

1.3.1.4. NISTErrorLib

Download and install NISTErrorLib.

The NIST Error Library builds upon the LabVIEW native error handler to add the ability to handle multiple errors, to prioritize errors and to assign an error severity which allws for additional error handling techniques besides a simple immediat stop or continue. this library is at the core of the robust and informative error handling that is essential to anything but the smallest of projects.

1.3.1.5. FunctionGenerator and FGen Modules

At this time, a transition is being made from the older NISTFGen module to FGen. The primary difference is that the FGen module and the Scope module depend on the NI IVI Compliance Package

The FunctionGenerator module depends on the NI Plug and Play Agilent 3352X Series Signal Generator driver

The newer FGen module uses the NI IVI compliant specific class driver: Keysight Technologies / Agilent Technologies ag3352x Signal Generator

1.3.1.6. Sampler Module

The Sampler module is dependent on the NI Plug and Play Agilent 3458 driver

Similar to the FGen module, NIST plans to eventually replace the Sampler module with an IVI compliant “Digitizer” module.

1.3.1.7. Sensor Module

The Sensor module is dependent on the freely available ‘NIST Socket Class API`_

The NIST Socket class API simplifies some of the tasks needed when performing socket communications in LabVIEW.

1.3.1.8. Sync Module

The Sync module depends on NI Sync

And upon the multi device clock disciplining software mdevClkDesc

1.3.1.9. ACPower Module

The ACPower Module depends on the following drivers:

NI Modbus Library Toolkit for LabVIEW
NH Research 81210 VXI Load Instrument Driver
Pacific Power Source UPC1 AC Power Source Instrument Driver
Pacific Power Source UPC3 AC Power Source Instrument Driver

1.3.1.10. Python

Note: If python is installed for all users, then pip must be run from inside an admin level console. The LV_TestAutomation code has been updated to use Python 3.9 or later. An older version used Python 2.7.

Afyter installing Python, the following modules must be installed:

lxml, numpy

If using the NIST Solar Array Simulation Python code, install the package using:

"python -m pip install git+https://github.com/usnistgov/NIST_SG_SolarSim"