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:
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"