Virtual instrument software architecture (VISA) is a widely used application programming interface (API) in the test and measurement (T&M) industry for communicating with instruments from a computer. VISA is an industry standard implemented by several T&M companies, such as, Anritsu, Bustec, Keysight Technologies, Kikusui, National Instruments, Rohde & Schwarz, and Tektronix.
The VISA standard [1] includes specifications for communication with resources (usually, but not always, instruments) over T&M-specific I/O interfaces such as GPIB and VXI. There are also some specifications for T&M-specific protocols over PC-standard I/O, such as HiSLIP [2] or VXI-11 [3] (over TCP/IP) and USBTMC [4] (over USB).
The VISA library has standardized the presentation of its operations over several software reuse mechanisms, including through a C API exposed from Windows DLL, visa32.dll, over the Microsoft COM technology, and through a .NET API. Although there are several VISA vendors and implementations, applications written against VISA are (nominally) vendor-interchangeable thanks to the standardization of VISA's presentation and operations/capabilities. Implementations from specific vendors [ specify ] are also available for less common programming languages [ specify ] and software reuse technologies.
VISA was originally standardized through the VXIplug&play Alliance, a now-defunct T&M standards body. The current standard, "VISA Specification 5.0", is maintained by the IVI Foundation.
The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running.
In computing, the Windows Sockets API (WSA), later shortened to Winsock, is an application programming interface (API) that defines how Windows network application software should access network services, especially TCP/IP. It defines a standard interface between a Windows TCP/IP client application and the underlying TCP/IP protocol stack. The nomenclature is based on the Berkeley sockets API used in BSD for communications between programs.
Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.
LAN eXtensions for Instrumentation (LXI) is a standard which defines the communication protocols for instrumentation and data acquisition systems using Ethernet.
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.
Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class C of hardware devices to be accessed through identical interfaces even though C may contain different subclasses of devices that each provide a different hardware interface.
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. SOA is a good choice for system integration. By consequence, it is also applied in the field of software design where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products and technologies.
VME eXtensions for instrumentation bus refers to standards for automated test based upon VMEbus. VXI defines additional bus lines for timing and triggering as well as mechanical requirements and standard protocols for configuration, message-based communication, multi-chassis extension, and other features. In 2004, the 2eVME extension was added to the VXI bus specification, giving it a maximum data rate of 160 MB/s.
Automatic test equipment or automated test equipment (ATE) is any apparatus that performs tests on a device, known as the device under test (DUT), equipment under test (EUT) or unit under test (UUT), using automation to quickly perform measurements and evaluate the test results. An ATE can be a simple computer-controlled digital multimeter, or a complicated system containing dozens of complex test instruments capable of automatically testing and diagnosing faults in sophisticated electronic packaged parts or on wafer testing, including system on chips and integrated circuits.
The Intelligent Platform Management Interface (IPMI) is a set of computer interface specifications for an autonomous computer subsystem that provides management and monitoring capabilities independently of the host system's CPU, firmware and operating system. IPMI defines a set of interfaces used by system administrators for out-of-band management of computer systems and monitoring of their operation. For example, IPMI provides a way to manage a computer that may be powered off or otherwise unresponsive by using a network connection to the hardware rather than to an operating system or login shell. Another use case may be installing a custom operating system remotely. Without IPMI, installing a custom operating system may require an administrator to be physically present near the computer, insert a DVD or a USB flash drive containing the OS installer and complete the installation process using a monitor and a keyboard. Using IPMI, an administrator can mount an ISO image, simulate an installer DVD, and perform the installation remotely.
Instrument control consists of connecting a desktop instrument to a computer and taking measurements.
BioAPI is a key part of the International Standards that support systems that perform biometric enrollment and verification. It defines interfaces between modules that enable software from multiple vendors to be integrated together to provide a biometrics application within a system, or between one or more systems using a defined Biometric Interworking Protocol (BIP) – see below.
UniPro is a high-speed interface technology for interconnecting integrated circuits in mobile and mobile-influenced electronics. The various versions of the UniPro protocol are created within the MIPI Alliance, an organization that defines specifications targeting mobile and mobile-influenced applications.
CT Connect is a software product that allows computer applications to monitor and control telephone calls. This monitoring and control is called computer-telephone integration, or CTI. CT Connect implements CTI by providing server software that supports the CTI link protocols used by a range of telephone systems, and client software that provides an application programming interface (API) for telephony functions.
M-Modules are a mezzanine standard mainly used in industrial computers. Being mezzanines, they are always plugged on a carrier printed circuit board (PCB) that supports this format. The modules communicate with their carrier over a dedicated bus, and can have all kinds of special functions.
An instrument driver, in the context of test and measurement (T&M) application development, is a set of software routines that simplifies remote instrument control. Instrument drivers are specified by the IVI Foundation and define an I/O abstraction layer using the virtual instrument software architecture (VISA). The VISA hardware abstraction layer provides an interface-independent communication channel to T&M instruments. Furthermore, the instrument drivers encapsulate the Standard Commands for Programmable Instruments (SCPI) commands, which are an ASCII-based set of commands for reading and writing instrument settings and measurement data. This standard allows an abstract way of using various programming languages to program remote-control applications instead of using SCPI commands. An instrument driver usually has a well-defined API.
The Open Group Future Airborne Capability Environment was formed in 2010 to define an open avionics environment for all military airborne platform types. Today, it is a real-time software-focused professional group made up of industry suppliers, customers, academia, and users. The FACE approach is a government-industry software standard and business strategy for acquisition of affordable software systems that promotes innovation and rapid integration of portable capabilities across programs. The FACE Consortium provides a vendor-neutral forum for industry and government to work together to develop and consolidate the open standards, best practices, guidance documents, and business strategy necessary to result in:
HiSLIP is a TCP/IP-based protocol for remote instrument control of LAN-based test and measurement instruments. It was specified by the IVI Foundation and is intended to replace the older VXI-11 protocol. Like VXI-11, HiSLIP is normally used via a library that implements the VISA API. Version 1.4 of the LAN eXtensions for Instrumentation (LXI) standard recommends HiSLIP as “LXI HiSLIP Extended Function for LXI based instrumentation”.
WebUSB is a JavaScript application programming interface (API) specification for securely providing access to USB devices from web applications.
Cyphal is a lightweight protocol designed for reliable intra-vehicle communications using various communications transports, originally destined for CAN bus, but targeting various network types in subsequent revisions. OpenCyphal is an open-source project that aims to provide MIT-licensed implementations of the Cyphal protocol. The project was known as UAVCAN prior to rebranding in March 2022.