Communicate with PC104 Based Devices over ISA Bus Using LabVIEW

Updated Nov 9, 2018

Reported In


  • LabVIEW
  • LabVIEW Run-Time Engine



Operating System

  • Windows
  • Windows Embedded Standard (WES)

Issue Details

I am using an Embedded System with LabVIEW run time installed to execute LabVIEW applications written in a host system having the LabVIEW development environment. The embedded system has an ISA port to communicate with devices over the PC104 standard. How to write a LabVIEW code to communicate with these devices?


LabVIEW's ability to communicate with these devices is based on the operating system running on the target system :
  • With Windows XP and Prior
  • Communication with PC104 based devices over the ISA bus is supported in LabVIEW using the In Port and Out Port VIs. These VIs provide the user access to low level I/O ports on the machine. The only knowledge required to use these is the address of the port used for the intended communication.
  • With Windows Vista and later
  • The In port and Out port VIs are not compatible with Windows Vista (and later OS versions owing to Microsoft Windows Policy Change) and not compatible with versions of LabVIEW greater than 2012. It is hence not possible to carry out communication with PC104 based devices over the ISA bus using LabVIEW VIs.
  • C codes can be used to obtain access to the low level I/O ports. Compiling this code into a .dll file and calling the dll file in LabVIEW is the recommended way to communicate for systems having Windows Vista and later operating systems.

Additional Information

  • If the device uses PCI/PXI bus to communicate, NI VISA can be used to make drivers for the device and communicate through string commands. Similarly, communication can be done using NI VISA for all supported VISA protocols. (GPIB/USB/Serial)
  • Ensure that security update 5Q5FJ4QW and all related precautions are followed and included in the build when designing an application working with memory and register (In Port, Out Port) access VIs. This might be helpful in troubleshooting communication problems in previously built and deployed applications as well.
  • The In port and Out port VIs return errors when run on a 64 bit operating system or when run without administrator privileges on 32 bit operating system after the above security update. User has to ensure any distributed exe is run on a 32 bit OS with administrator privileges and includes proper error handling in the code to avoid unexpected communication failures.


Not Helpful