Introduction to LAN Interfaces

This topic provides an introduction to using SICL with Local Area Network (LAN) interfaces. A LAN is a way to extend the control of instrumentation beyond the limits of typical instrument interfaces. To communicate with instruments over the LAN, you must first configure a LAN interface or a remote GPIB, USB, or serial interface, using the Keysight Connection Expert.

The subtopics are:

Direct LAN Connection versus Remote IO Server/Client Connection

Some instruments support direct connection to the LAN. These instruments include an RJ-45 or other standard LAN connector and software support for operating as an independent device on the network. Some of these instruments are Web-enabled, meaning that they host a Web page which you can access over the LAN.

With the Keysight IO Libraries Suite, you can connect to instruments across the LAN even if they do not have direct LAN capability, if they are connected to gateways (such as the Keysight E5810A) or to another PC running the Remote IO Server software.

Refer to the IO Libraries Suite and the Connectivity Guide for information on connecting and configuring different types of LAN instrument connections.

Remote IO Server/Client Architecture

The Remote IO Server and Client software provided with Keysight IO Libraries Suite allows instrumentation to be controlled over a LAN. Using standard LAN connections, instruments can be controlled from computers that do not have special interfaces for instrument control.

Client/server model

The IO Libraries Suite software uses the client/server model of computing. Client/server computing refers to a model in which an application (the client) does not perform all necessary tasks of the application itself. Instead, the client makes requests of another computing device (the remote I/O server) for certain services.

As shown in the following figure, a remote I/O client (a Windows PC) makes VISA requests over the network to a remote I/O server (such as a Windows PC, an E5810 LAN/GPIB Gateway, or a Series 700 HP-UX workstation).

Gateway operation

The remote I/O server is connected to the instrumentation or devices to be controlled. Once the remote I/O server has completed the requested operation on the instrument or device, the remote I/O server sends a reply to the client. This reply contains the requested data and status information that indicates whether or not the operation was successful. The remote I/O server acts as a gateway between the LAN software that the client system supports and the instrument-specific interface that the device supports.

 

Considerations when Using SICL with a LAN

Specifying Protocol and Socket Number in iopen Calls

As described in the IO Libraries Suite Online Help, you can choose either of two protocols – VXI-11 or SICL-LAN – to associate with a LAN interface. (If you are using a remote GPIB, remote USB, or remote serial interface, you will use Connection Expert to specify a LAN interface associated with the remote interface. The protocol is defined in the associated LAN interface.) In SICL, you can override this configuration setting by specifying the protocol in the iopen string. Some examples are:

iopen("lan[machineName]:gpib0,1") will use the configured default protocol. If AUTO is configured, SICL-LAN protocol will be attempted. If that is not supported, VXI-11 protocol will be used.

iopen("lan;auto[machineName]:gpib0,1") will automatically select the protocol (SICL-LAN if available and VXI-11 otherwise).

iopen("lan;sicl-lan[machineName]:gpib0,1") will use SICL-LAN protocol.

iopen("lan;vxi-11[machineName]:gpib0,1") will use VXI-11 protocol.

The IO Libraries Suite also supports TCP/IP socket reads and writes. To open a socket session, use iopen("lan,socketNbr[machineName]"). For example, iopen("lan,7777[machineName]") will open a socket connection for socket number 7777 on 'machineName.'

LAN Clients and Threads

You can use multi-threaded designs (with SICL calls made from multiple threads) in Win32 SICL applications over LAN. However, only one thread is permitted to access the LAN driver at a time. This sequential handling of individual threads by the LAN driver prevents multiple threads from colliding or overwriting one another. Requests are handled sequentially even if they are intended for different LAN servers.

Use multiple processes to process concurrent threads simultaneously with SICL over LAN. See Programming With SICL for more information on using threads in SICL applications. Also see Using Locks and Threads Over a LAN for information on using locks in multi-threaded applications.

SICL LAN Performance

As with other client/server applications on a LAN, when you deploy an application that uses SICL over LAN, you must consider the performance and configuration of the network to which the client and server will be attached. If the network to be used is neither a dedicated LAN nor otherwise isolated via a bridge or other network device, current use of the LAN must be considered.

Depending on the amount of data to be transferred over the LAN via the SICL application, that application and/or other network users may experience performance problems due to insufficient bandwidth. This is not unique to SICL over LAN, but is a general design consideration for any client/server application.

If you have questions concerning the ability of your network to handle SICL traffic, consult with your network administrator or network equipment providers. If you are connecting to a VXI-11 device, you can configure a VXI-11 interface (rather than AUTO) in Connection Expert and connect through it to achieve slightly better iopen performance.

SICL LAN Functions

This table summarizes the SICL functions for the LAN interface.

SICL LAN Functions

Function Name

Action

ilantimeout

Sets LAN timeout value.

ilangettimeout

Returns LAN timeout value.

igetgatewaytype

Indicates whether the session is via a LAN gateway.