October 30, 2023
|
5
mins

Revolutionizing Instrument Control: VXI-11 RPC on iOS for Maximum Efficiency

Sridhar Rajendran

In distributed networking, when a program on one machine (client) executes a program on another machine (server) over a network, it is referred to as a remote procedure call (RPC). RPC is a communication technique that enables synchronous operation in a client-server environment. This means that when a remote procedure call is made, the calling environment (client) is temporarily suspended, and the procedure parameters are transferred across the network to the environment where the procedure is to be executed (server). The procedure is then executed in that environment.


In the world of distributed networking, one crucial aspect is the ability to remotely control and communicate with various instruments, such as oscilloscopes, spectrum analyzers, and signal generators. VXI-11 (Virtual Instrument eXtensions for Instrumentation) is a protocol that defines a standardized way for remote control and communication with these test and measurement instruments. This article explores the implementation of VXI-11 RPC in iOS devices to overcome the challenges of communicating with telecom testing instruments using Swift.

What is LXI?

LXI (LAN eXtensions for Instrumentation) is a standard designed for controlling and managing test and measurement instruments over a local area network (LAN). It specifies the use of standard network technologies, such as Ethernet, and provides a framework for discovering and configuring instruments on a network. Many LXI instruments communicate over the LAN through one of two protocols: VXI-11 and HiSLIP.

What is VXI-11?

VXI-11 is a protocol that provides a standardized method for remote control and communication with test and measurement instruments. It is based on the principles of RPC and enables a client application to send RPC requests to a networked instrument to control its functions and retrieve data. VXI-11 employs ASCII commands, such as Standard Commands for Programmable Instrumentation (SCPI), to communicate with instruments.

Problem & Solution

One of the challenges we encountered was the need to communicate with telecom testing instruments using SCPI (Standard Commands for Programmable Instrumentation) on iOS devices like iPhones and iPads. iOS devices utilize the TCP/IP model for networking and internet communication. Various applications running on iOS devices use protocols at the application layer, with the iOS operating system handling the lower layers of the TCP/IP model for network communication. Unfortunately, there is no open-source framework available for implementing the VXI-11 protocol in iOS using Swift. Existing libraries are primarily written in C, Java, or Python. To meet our requirements, we developed a Swift wrapper that can call a C library supporting VXI-11.

In conclusion, the implementation of VXI-11 RPC in iOS devices presents a solution to the challenge of communicating with telecom testing instruments, allowing for seamless control and data retrieval on this platform. By bridging the gap between VXI-11 and Swift through a wrapper, we enable iOS devices to interact effectively with a wide range of test and measurement instruments. This innovative approach opens up new possibilities for instrument control and data acquisition within the iOS ecosystem.

Other BLOGS