Skip to content

Workflow and sample Python measurement plug-ins showcasing the Hardware Abstraction Layer (HAL) and Functional Abstraction Layer (FAL) in Measurement Plug-In in Python.

License

Notifications You must be signed in to change notification settings

NI-Measurement-Plug-Ins/abstraction-layer-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abstraction Layer in Measurement Plug-In for Python

Overview

This repository contains the workflow and measurement plug-in examples showcasing how to implement Hardware Abstraction Layer (HAL) and Functional Abstraction Layer (FAL).

Hardware Abstraction Layer

Hardware Abstraction Layer (HAL) enables users to develop applications agnostic of instrument models of a type (like DMM). HAL in measurement plug-ins allows users to work with various instrument models without modifying the implementation. This HAL implementation leverages pins from the pin map.

Functional Abstraction Layer

The Functional Abstraction Layer (FAL) is a higher-level abstraction layer that provides a more functional view of the system. It focuses on abstracting the functionality rather than the hardware, allowing software components to interact with each other through well-defined interfaces.

Software and Package Dependencies

  • Python 3.9 or later
  • Poetry 1.8.2 or later
  • InstrumentStudio Professional 2024 Q3 or later
  • NI-DCPower 2024 Q2 or later
  • NI-DMM 2023 Q1 or later
  • NI-VISA 2024 Q1 or later
  • NI-488.2 and/or NI-Serial
  • Recommended: TestStand 2021 SP1 or later

Hardware Dependencies

Supported instrument models:

  • NI-DCPower (e.g. PXIe-4141)
  • NI-DMM (e.g. PXIe-4081).
  • Keysight 34401A DMM.

Getting Started

Build and Publish NI Packages

Create and Update NI Package Manager Feeds

  • Packages for various measurement plugins are incorporated into an NI Package Manager feed, allowing users to install new packages or receive updates to existing ones by subscribing to the feed.

  • The feeds for Measurement plugins are maintained under the attached repo package-manager-feeds.

  • Please follow the procedure mentioned in attached document for adding new packages or updating new versions of existing packages to the feed README.md.

About

Workflow and sample Python measurement plug-ins showcasing the Hardware Abstraction Layer (HAL) and Functional Abstraction Layer (FAL) in Measurement Plug-In in Python.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 6