Can I Configure and Use More Than 10 COM and/or LPT Ports with VISA?

Updated Mar 6, 2018

Reported In



Issue Details

How many serial ports does VISA support? How do I configure and use serial ports with VISA? Can I use COM ports higher than COM9?


The following information is valid for Win32 (Windows 98, Windows 95, Windows NT, Windows 2000) and Solaris operating systems: VISA 1.2 supports up to 32 serial ports and VISA 2.0 supports up to 128 serial ports. ASRL is the VISA resource descriptor for serial ports and parallel ports. For example, COM1 is ASRL1 (or ASRL1::INSTR). By default, resource descriptors ASRL1 through ASRL9 are associated with serial ports and resource descriptors. ASRL10 and higher are associated with parallel ports.

If you want to use a serial port above COM9 (i.e., you want ASRL10 or higher to be associated with a serial port, instead of a parallel port), you must change the alias associated with it. There are two methods to do this.

Method 1: This can be done most easily with the VISA Alias Utility in MAX. You can access this utility in MAX by selecting Tools»NI-VISA»VISA Options and selecting Aliases from the My System list. This utility will allow you to view and modify all the VISA aliases stored on your computer.

Method 2: If that method does not work, you must modify the visaconf.ini file in the \VXIpnp\[OS]\NIvisa installation directory, where [OS] refers to the operating system, by changing the ASRL-RSRC-ALIAS section. 

The following example illustrates a situation where ASRL10::INSTR refers to COM10 and ASRL11::INSTR refers to LPT1.

Name0 = "ASRL10::INSTR" 
Alias0 = "" 
Enabled0 = 1 
Static0 = 1 
SystemName0 = "COM10" 
BaudRate0 = 0 
DataBits0 = 0 
Parity0 = 0 
StopBits0 = 0 
FlowCtrl0 = 0 
Name1 = "ASRL11::INSTR" 
Alias1 = "" 
Enabled1 = 0 
Static1 = 1 
SystemName1 = "LPT1" 
BaudRate1 = 0 
DataBits1 = 0 
Parity1 = 0 
StopBits1 = 0 
FlowCtrl1 = 0


Not Helpful