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

Sridhar Rajendran
Oct 30, 2023
5
mins read

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.

Share :

Join the conversation

Other blogs

Unlock Your Productivity Potential with DevExpress: The Unparalleled Developer Tool

DevExpress is a suite of fully integrated and feature-rich developer tools designed to make sure your desktop, web, and mobile applications have the best user experience and deliver outstanding solutions in the shortest possible time.

Challenges and the Future of Gen AI

Artificial intelligence is fast approaching a tipping point— ushering in the era of the emergence of General Artificial Intelligence, variously known as Gen AI. Its stronger potential for transforming most areas of human society, from health to transport, education, and entertainment, is indeed huge.

Unlocking Future Business Brilliance: Empowering Enterprises with AI and SageMaker in 2024

In this in-depth investigation, we dive into the world of using the latest technologies to make better sales predictions. We'll take you through how we combine advanced forecasting techniques with a PostgreSQL database. To make our predictions even more precise and efficient, we use Amazon SageMaker. This helps us deploy machine learning models, automate tasks, and make our forecasting efforts smoother.

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