DMC, Inc.
Measure Command devices with a space background

Integrating Multi-Instrument Test Stands into a Unified API Framework 

Summary

DMC developed a reconfigurable automated test system (ATE) with a generic, unified API. Rather than worrying about individual instrument control, client applications (sequencers) can focus on the Device Under Test (DUT) and not the instruments in the test. The unified API solution simplified the interactions of the sequencers during a test while still allowing complete measurement control.

Solution

Unified API

While there are drivers to control each device, most importantly, this application orchestrates smart switching and connection rules. For each API request, the application checks a series of rules to ensure the requested measurement is safe to conduct. Here is a subset of the enforced rules and features: 

  • Free matrix y-lines 
  • Avoid matrix hot switching 
  • Power sourcing instruments are not connected to a DMM in a low impedance mode (current measurement) 
  • Automatic y-line and internal switch control, so the client application only has to request the test points to measure rather than specifying every relay in the circuit 

This allows the sequencers to safely perform measurements on any instrument without worrying about additional connection logic. 

Easy Integration

The application is self-describing, so a client application knows what devices are present and lists the available APIs. The application hosts a Swagger page, so it’s easy to test and visualize the available API. 

Function Generator api interface
Function generator test itnerface

Highly Tested

We leverage the API interface to write PyTests that test each API. The test scripts are automated, making it easy for our team to test the whole application and produce a test report. Since we test through the API interface, testing is exactly the same as the way client applications will use the application. 

Modern and Version Controlled Deployment

To provide a stable and controlled deployment environment, we build the application into a Docker image and run the image within a container on a Linux industrial PC. The entire build process is managed through a Continuous Integration/Continuous Deployment pipeline for end-to-end traceability. 

Key advantages: 

  • No issues with Windows updates
  • Traceable – we know exactly what code went into the build 
  • Testable – we can run the exact same tests on the source and containerized version of the application 

If you’re interested in highly tested, modular test and measurement systems like this one, contact DMC to discuss your project.

Customer Benefits

  • Cohesive control of multiple instruments, allowing client applications to focus on the DUT
  • Highly tested with full API coverage using PyTest
  • Easily integrated into any client application (C#, Python, LabVIEW) with RESTful Interface
  • Traceable, consistent deployment process with CI/CD and Docker guaranteeing ATE performance

Technologies

The application is built on the FastAPI framework, allowing for integration into any number of languages through web requests. The application is entirely written in Python and controls the following devices:

  • Oscilloscope
  • DMM
  • Power Supply
  • Multiple high density switch matrices
  • Function Generator
  • Source Measurement Unit

The software is packaged into a Docker image that runs in a container on a Linux industrial PC (IPC). This simplifies build times and is done completely in CI/CD.