SCPI Command Translation Module for Instrument Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programming programmable test and measurement instruments using the SCPI protocol is challenging due to the need for users to understand machine-centric command formatting and data type conversions, which can lead to errors and complexity.

Innovation Solution

A computer-readable medium and system that translates machine-centric SCPI commands into a high-level programming language, using a translation module and program library to generate and store methods for executing SCPI commands and queries, allowing users to control instruments through a human-centric interface without direct programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users program instruments directly using SCPI protocol commands, then they can control instruments with precise machine-centric formatting, but the programming complexity and error rate increase significantly

Engineering Contradiction:
Improveprogramming accuracyVSAvoidprogramming complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a device driver as an intermediary layer between the user's high-level programming language code and the instrument's SCPI protocol commands. This driver automatically handles the conversion, formatting, and translation tasks, shielding users from complex machine-centric details while maintaining reliable instrument control. The driver acts as a mediator that resolves the contradiction by absorbing the complexity on its own side while presenting a simplified interface to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If users program instruments using device drivers, then programming time is reduced and errors are caught at compile time, but each driver may be different, incomplete, or buggy

Engineering Contradiction:
Improveprogramming efficiencyVSAvoiddriver reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates a universal device driver framework that can interface with multiple instrument types through a standardized high-level programming language interface. Rather than requiring separate custom drivers for each instrument, the system provides a multi-functional driver that handles various instrument protocols through a common interface, reducing the proliferation of different drivers while maintaining broad instrument compatibility. This universality improves both productivity and reliability by reducing driver-related issues.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If users must understand SCPI protocol details and data type conversions, then they can achieve precise instrument control, but the learning curve and programming difficulty increase

Engineering Contradiction:
Improveinstrument control easeVSAvoidprotocol knowledge requirement
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The device driver implements self-service by automatically performing data type conversions, command formatting, and protocol-specific transformations without requiring user intervention. The driver introspects the instrument's requirements and autonomously generates the appropriate SCPI commands from high-level language constructs, eliminating the need for users to manually understand or manage protocol details. This self-service mechanism dramatically improves ease of operation while maintaining precise control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8572589B2Programming language translator and enabling translation of machine-centric commands for controlling instrument
Publication Date: 2013.10.29 KEYSIGHT TECHNOLOGIES INC
  • US8572589B2 patent drawing
  • US8572589B2 patent drawing
  • US8572589B2 patent drawing

AI summary

A computer readable medium stores a program, executable by a computer, for enabling translation of machine-centric commands in an instrument protocol to a programming language for controlling an instrument configured to use the machine-centric commands. The computer readable medium includes an identifying code segment for identifying instrument protocol commands executable by the instrument, and a generating code segment generates methods corresponding to the instrument protocol commands, each method including programming language source code or compiled machine code for executing the corresponding instrument protocol command. A storing code segment stores the methods in a program library associated with the instrument, the program library enabling selection of at least one method by a programming language program that controls the instrument, in order to execute the instrument protocol command corresponding to the selected method.