Interact with Data Using I/O Servers
- Updated2025-11-07
- 4 minute(s) read
An I/O server is an application that communicates with and manages input/output devices such as Programmable Logic Controllers (PLCs), remote input/output devices, remote Shared Variable Engines (SVE), and Data Acquisition (DAQ) plug-in devices.
I/O servers plug into the SVE to provide a list of items available for subscription and to source that data to the SVE. These I/O servers read selected input items and write to the selected input items on demand. With the LabVIEW Datalogging and Supervisory Control (DSC) Module, you can write LabVIEW I/O servers for any client. Typically, I/O servers expose certain configurable properties that you can configure when you add the I/O server to the LabVIEW project. For example, you might be able to configure the following options:
I/O servers report error conditions reported by the hardware on abnormal conditions. The I/O server starts running when you deploy the LabVIEW project library that defines the server and stops when you stop or undeploy the project library. If you create the I/O server programmatically, the I/O server starts running when the VI that contains it executes the Create and Configure I/O Server Express VI. The I/O server then stops running when the VI that contains it executes the Delete I/O Server VI.
A server item is a channel, input/output point, or variable in a hardware device. Connect DSC Module applications to these server items with network-published shared variables. Device servers monitor the values acquired by the hardware. The SVE updates the shared variables when the server sends new data to the SVE. Servers also update each output when the Human Machine Interface (HMI) application writes that shared variable value, and they handle and report communications and device errors. A good device server covers all device- and hardware-specific details, establishing a device-independent input/output layer for the DSC Module. Many device servers include a configuration utility as well as the run-time application that communicates with the SVE.
OPC Servers
The DSC Module can connect to any OPC-compliant server and to many third-party device servers. You also can connect to custom I/O servers.
The DSC Module also can function as an OPC server and as a data source for the Publish-Subscribe Protocol networking protocol. The SVE functions as an OPC 2.x and OPC 3.0 compatible server. LabVIEW uses the Variable Engine OPC interface to display all numeric, Boolean, and string shared variables that you deploy to the SVE. Use any OPC 2.x or OPC 3.0 client to view and modify OPC data that the OPC server publishes.
When you use a third-party OPC client to connect to the Variable Engine OPC server, the server name might appear as Variable Engine and Variable Engine.1. To ensure forward compatibility, connect to the Variable Engine instance when configuring an OPC connection.
Installers you build using the Application Builder also function as OPC servers if you include the SVE in the installer.
A server is not always the same as a device driver or an instrument driver. An instrument driver is a software component designed to control a programmable instrument, such as a multimeter. A device driver is a low-level software component that a computer needs to work with a plug-in interface. A device driver also can function as a server if the device driver meets certain standards, such as the OPC specification.