Thank you for using NI-Serial 19.5.
This file contains important information about NI-Serial for Windows and LabVIEW Real-Time, including installation instructions, new features, a partial list of bugs fixed for NI-Serial for Windows and LabVIEW Real-Time, and known issues.
Parts of this document are relevant to only a full installation and do not apply to a runtime-only installation.
Tip For optimal performance, update your operating system to the latest service pack and apply all security patches.
To download previous versions of NI-Serial drivers, refer to ni.com/updates and search for NI-Serial.
NI-Serial 3.5.1 included new firmware for USB and ExpressCard serial interfaces. If you are upgrading from a version older than NI-Serial 3.5.1, disconnect and reconnect your USB and ExpressCard devices to update to the latest firmware after finishing the NI-Serial installation process. In the case of the USB-485/4 hardware, also disconnect and reconnect the power cable.
Serial ports on Windows 7 and later may not enumerate in numerical order. For more information, go to ni.com/kb and search for KnowledgeBase 51RBTPG2.
Microsoft often supports upgrading to newer versions of Windows, without a complete system reinstall. This can cause an improper version of NI-Serial to be installed on the system, which does not properly support the upgraded operating system. NI recommends uninstalling NI-Serial prior to upgrading Windows, then downloading and installing the appropriate version of NI-Serial for your new version of Windows.
If you have already upgraded Windows without first uninstalling NI-Serial, it may be necessary to repair your NI-Serial installation. If the installed version does not support your operating system, you must uninstall it and install a supported version.
If you swap one PCI-based (PCI, PCI Express, PXI, and PXI Express) serial card for another of the same model, the serial number shown in Measurement & Automation Explorer and the Device Manager may not change. This happens because Windows cannot distinguish the old hardware from the new. To fix this problem, uninstall the interface through Device Manager, then scan for new hardware or restart your computer. This forces Windows to reinstall your hardware and the correct serial number will be displayed.
The CreateFile function from the Microsoft Win32 API fails for port names COM10 and greater. To use these ports, and for the function to succeed, append the string "\\\\.\\" before the port name. For example, to open COM10, use the string "\\\\.\\COM10" for the port name. This is because the port's full name is actually \\.\COM10, and all "\" characters must be doubled per the C language syntax.
NI-Serial versions are now aligned with the versions of major NI application software products. This alignment gives you information about the year the driver was released and the most recent software version the driver was designed to work with. Driver versions now start with a two-digit year indicator: NI-Serial 14.0. For example, NI-Serial 14.0 is the version released with LabVIEW 2014. The last version released under the old numbering scheme is NI-Serial 4.1. The first version released under the new numbering scheme is NI-Serial 14.0.
You can automate the installation of most NI products using command-line arguments to suppress some or all of the installer user interface and dialog boxes.
If the NI product you are installing uses Microsoft .NET 4.0, the .NET installer may run before any NI software installs and may require a reboot before the installation of NI software begins. To avoid a .NET reboot, install .NET 4.0 separately before you install NI software.
For more information about automating the installation of NI products, refer to the following KnowledgeBase articles:
NI-Serial 19.5 adds support for LabVIEW NXG 4.0.
NI-Serial 19.5 fixes a known issue when running NI Linux Real-Time OS, where NI-Serial causes the I/O write and read operation malfunction in PXIe-8840, PXIe-8861, and PXIe-8880 system.
NI-Serial 19.5 fixes a known issue when adding NI-Serial Configuration into LabVIEW-built installer and then deployed and installed into Windows 64-bit Operating System.
NI-Serial 19.0 adds support for LabVIEW NXG 3.1.
NI-Serial 19.0 removes support for WinXP OS.
NI-Serial 19.0 adds support for National Instruments PCI Express serial interfaces for controllers, such as the PXIe-8840, PXIe-8861, and PXIe-8880, that run 64-bit NI Linux Real-Time OS.
NI-Serial 18.5 adds support for LabVIEW NXG 3.0.
NI-Serial 18.5 adds support for National Instruments PCI Express serial interfaces. Refer to Supported Interfaces.
NI-Serial 17.5 adds support for LabVIEW NXG 2.0. It also adds support for the Recover Ports utility, Basic Serial Port Settings view and configuration, and Advanced Serial Port Settings view in SystemDesigner. In addition, it adds Self-Test support in MAX and SystemDesigner.
NI-Serial 17.0 removes support for the PCI-232, PCI-232I, PCI-485, PCI-485I, PXI-8420, PXI-8421, PXI-8422, and PXI-8423 interfaces.
NI-Serial 15.0 adds support for the serial port on the CVS-1458 controller.
NI-Serial 15.0 adds serial module (NI 9870 and NI 9871) support for the sbRIO-9607 and sbRIO-9627 controllers.
Starting with version 14.0, NI-Serial is available as a runtime installer. NI-Serial Runtime is a minimal installer which does not include utilities, documentation, or Measurement & Automation Explorer (MAX). When building an installer using National Instruments application development environments (ADEs) such as LabVIEW, have the option of including this subset of NI-Serial in your distribution.
NI-Serial 14.0 removes support for all NI Serial ENET Interfaces (ENET-232/2, ENET-232/4, ENET-485/2 and ENET-485/4).
NI-Serial 14.0 adds serial module (NI 9870 and NI 9871) support for controllers, such as the NI cRIO-9038, which run 64-bit NI Linux Real-time OS.
NI-Serial 14.0 fixes a known issue when running NI Linux Real-time OS, where NI-Serial incorrectly causes NI-VISA to detect RS-232 ports on NI 9870 modules as RS-485 configured for 4-wire mode.
NI-Serial 4.1 adds serial module (NI 9870 and NI 9871) support for the cRIO-9068 controller.
NI-Serial 4.1 fixes an issue where some parity and framing errors received by NI 9870 and NI 9871 modules are not detected by the firmware. This can result in the driver not reporting the errors, leading to data corruption.
NI-Serial 4.0 adds the discovery of USB and ENET hardware, NI 9870 and NI 9871 modules through the NI System Configuration API.
The NI System Configuration expert for NI-Serial has been renamed from "ni-serial" to "serial". This change allows for system configuration and MAX import/export operations to be accessed in a consistent manner. Existing applications using the old name must be updated.
NI-Serial 4.0 improves the way serial hardware is displayed in MAX. PXI and PXIe hardware are now displayed under their respective chassis in the tree, and ENET interfaces are now found under Network Devices. The port items which were previously shown in MAX have been removed, and VISA ASRL resources are now placed directly beneath the serial interface.
NI 9870 and NI 9871 modules will also now appear in MAX when configured for use with NI-Serial. When using a host system with NI-Serial 4.0 installed to view LabVIEW Real-Time controllers running older versions of NI-Serial, the NI-Serial boards will no longer appear in MAX. All ports will still be accessible as VISA ASRL resources.
NI-Serial Communicator has been obsoleted, and is no longer installed. Similar functionality can be found using NI-VISA Interactive Control, which can be opened by selecting a VISA ASRL resource in MAX, and clicking the Open VISA Test Panel button in the toolbar.
When using the NI System Configuration API to query information about NI-Serial PCI or PCIe hardware in a Desktop RT system, it would incorrectly specify that the board was in slot 255 of chassis PXI255. This has been resolved, and now reports that the chassis and slot are unavailable.
When installing on Windows 8, NI-Serial no longer pins shortcuts to the Start screen. Shortcuts which are available from the start menu on earlier versions of Windows may be accessed through the NI Launcher utility, or by searching from the Start screen.
NI-Serial 3.9.1 resolves an issue where a system crash could occur after renaming an ENET-232 or ENET-485 serial port to COM256. This crash could occur either when opening the port, or immediately upon booting Windows.
NI-Serial 3.9 adds support for Windows 8. Known issues exist regarding the accessibility of items which were previously accessible via the Windows Start Menu. This will be addressed in a future release of NI-Serial.
NI-Serial 3.9 supports the discovery of PCI-based (PCI, PCIe, PXI, and PXIe) hardware through the NI System Configuration API.
NI-Serial 3.9 fixes an issue where various errors could be manifested if a serial transfer is in progress when the 32-bit system tick count rolls over, which happens once every 49.7 days. Symptoms included failed serial transfers, FIFO overruns, failure of serial transfers to timeout, and system hangs.
NI-Serial 3.9 resolves an issue where a system could crash after removing PCI-based hardware from a hibernated system. Depending on the system configuration, the crash could occur immediately upon resume, or at a later time.
NI-Serial 3.9 resolves an issue which limited the usable baud rate from the .NET Serial Port interface to 131072 baud. This error occurred because NI-Serial improperly reported the maximum baud rate as BAUD_128K (The maximum constant supported by the API) when the port actually supported higher baud rates. This has been changed to report BAUD_USER, indicating that custom baud rates are supported. Other applications querying the maximum baud rate may have been impacted as well.
A system could hang during reboot if it was transmitting data from a 843x series serial port when the reboot command was sent. This has been fixed.
A system crash or instability could occur when detecting serial ports on any of the mentioned controllers. Some examples when this could occur are expanding Devices & Interfaces in Measurement & Automation Explorer, installing VISA Server on the target, or attempting to use a serial port. This has been fixed.
The serial ports on cFP-2100 and cFP-2110 controllers were not properly detected. This did not impact cFP-2120 controllers. This has been fixed.
NI-Serial 3.8.1 adds support for serial ports on RIO Mezzanine Cards.
The SecondaryInterrupts option used in the niserial.dbs file has been replaced, and will no longer function. Refer to the Performance on LabVIEW Real-Time topic in the NI-Serial Help for more information.
NI-Serial 3.8.1 has resolved issues which occasionally resulted in DRIVER_IRQL_NOT_LESS_OR_EQUAL system crashes when using ENET-232 or ENET-485 ports.
NI-Serial 3.8.1 has resolved an issue which could result in a IRQL_GT_ZERO_AT_SYSTEM_SERVICE system crash when closing an ENET-232 or ENET-485 port.
When using the VI_EVENT_ASRL_RI event with some cRIO, sbRIO, and cFP controllers, the event was incorrectly signaled on both rising and falling edges of the RI line. This behavior has now been fixed, and the event is signaled only on the falling edge.
NI-Serial 3.8 adds support for the RS-485 port of the cRIO-908x controllers running Windows.
NI-Serial 3.8 also adds support for additional cRIO, sbRIO, and Smart Camera controllers.
NI-Spy has been replaced by NI I/O Trace. All functionality previously found in NI-Spy is now found in NI I/O Trace.
Several enhancements have been made to improve performance and decrease CPU overhead when performing small writes on all interfaces, and small reads on NI 843x series hardware.
NI-Serial now reserves port numbers for two built-in serial ports on all PXI, Industrial Controller, Desktop RT, and cRIO-908x controllers. On these systems, PnP hardware will now be assigned port numbers starting with COM3, when they may have previously been assigned COM2.
The niserial.dbs file is replaced each time NI-Serial is uninstalled or reinstalled. This has the effect that any customized settings will be removed. This matches the behavior of NI-Serial 3.6 and earlier.
NI-Serial for LabVIEW Real-Time, Version 3.8, requires LabVIEW Real-Time 8.6 or later. It is not possible to install on FP-20xx or cFP-20xx controllers. These controllers will continue to work with previous versions of NI-Serial.
Mark and space parity were not properly configured on some cRIO, sbRIO, and cFP controllers. This has been fixed.
When using multiple forms of flow control simultaneously on a single port, it was possible for flow control to fail to disengage, preventing data transmission. This has been fixed.
It was possible for a cRIO controller to crash during reboot when using serial ports on a C Series module. This has been fixed.
Several bytes of valid data could be discarded immediately prior to the reception of a serial error, such as a parity or overrun error. This valid data is now properly received prior to handling the error condition.
When the RX FIFO became completely full on some cRIO, sbRIO, and cFP controllers, the port could stop receiving data. This has been fixed.
In some rare circumstances, the process of shutting down serial ports for a reboot could cause the controller to hang. This has been fixed.
The special case where the Timeout Byte Interval and Timeout Multiplier are both -1 was handled incorrectly, resulting in serial calls failing to time out. This was most easily seen when using NI-Serial from .NET applications. This issue has been fixed.
NI-Serial for LabVIEW Real-Time, Version 3.7.1, adds support for the NI cRIO-9075 and cRIO-9076 Controllers.
NI-Serial 3.7 allows users to access the NI 9870 and 9871 modules directly from LabVIEW Real-Time 2010 without using the LabVIEW FPGA interface.
To enable this support, install NI-Serial 3.7 and NI-VISA for LabVIEW Real-Time on a Compact RIO Target that supports RIO Scan Interface (RSI). When detecting the modules, users will have the option to add the module directly to the chassis in the LabVIEW project.
If using NI-RIO 3.5.x and lower, you may see warning pop-ups indicating that the NI 987x modules are not supported on RSI. These warnings can be ignored. For more information go to ni.com/kb and search for 5DTFTOL1.
NI-Serial 3.7 changes the way that ports are numbered when detecting boards. Under some circumstances inserting new boards into a system may cause port numbers to change. For more information go to ni.com/kb and search for 5D2G85G2.
The behavior of settings on uninstall was reverted in NI-Serial 3.8. Please refer to Changes and Fixed Issues in NI-Serial 3.8 for more information.
Serial settings stored in the niserial.dbs file, including port numbers, will persist after uninstalling NI-Serial 3.7 from a Real-Time target. The modifications to the niserial.dbs file will also persist through reinstalls of the NI-Serial driver. To reset these settings to default, delete the niserial.dbs file from the Real-Time target.
NI-Serial 3.6 adds support for Windows Server 2003 R2 (32-bit) and Windows Server 2008 R2. Note that only the R2 versions are supported. Refer to Supported Interfaces for a list of supported hardware.
NI-Serial and NI-Serial for LabVIEW Real-Time Version 3.6 adds support for National Instruments PXI Express serial interfaces. Refer to Supported Interfaces for detailed model information.
For some applications, it may be possible to use a PXIe-8431 interface for communicating at up to 10 MBaud. For more information go to ni.com/kb and search for 58KEI82F.
When upgrading to NI-Serial 3.6 on some configurations, port assignments may change. For best results, please identify all PXI chassis through Measurement & Automation Explorer.
Changing the RS-485 wire mode for PCI, PXI, and PCIe devices in Measurement& Automation Explorer and Device Manager had no effect. This has been fixed.
ID 193240: A hang could occur when using Asynchronous IO in a Timed Loop on LabVIEW Real-Time.
Support for Windows 2000 is discontinued in this release.
NI-Serial for LabVIEW Real-Time, Version 3.5.2, adds support for National Instruments PCI Express serial interfaces. Refer to the chart of Supported Interfaces for detailed model information.
NI-Serial for LabVIEW Real-Time, Version 3.5.2, adds support for the cRIO-9024 and cRIO-9073 controllers.
NI-Serial for LabVIEW Real-Time, Version 3.5.2, adds support for the NI 9792 controller.
NI-Serial for LabVIEW Real-Time, Version 3.5.2, adds support for on-chip flow control. Previous driver versions implemented flow control in the driver, which in some circumstances could allow data loss. All PCI, PXI, and PCI Express interfaces now utilize on-chip RTS/CTS flow control. 8430-series hardware also supports on-chip DTR/DSR and XON/XOFF flow control.
NI-Serial 3.5.2 includes performance changes that impact cRIO-901x, cRIO-907x, sbRIO-96xx, and cFP-22xx controller families. This change greatly reduces the CPU overhead of reading data from the serial port at high speed. An impact of this change is that increased latency may be seen when reading small numbers of bytes from the serial port. For more information about this change and possible solutions if you have issues with the increased latency, visit ni.com/kb and search for Knowledgebase 55597DG2.
NI-Serial 3.5.1 adds support for Windows 7. Refer to Supported Interfaces for a list of supported hardware.
NI-Serial 3.5.1 adds support for National Instruments PCI Express serial interfaces. Refer to Supported Interfaces for detailed model information.
Support for PCMCIA-232 and PCMCIA-485 interfaces is discontinued in this release.
On some systems, every read attempt from an ENET Serial port would result ina timeout. This has been fixed.
Changing the RS-485 wire mode for PCI, PXI, and PCIe devices in Measurement& Automation Explorer and the Device Manager had no effect on the port until the system was rebooted. This has been fixed.
It was not possible to set a PCIe serial port to a non-standard baud rate in Measurement & Automation Explorer and the Device Manager when using NI-Serial 3.5.0. This has been fixed.
Renumbered COM ports could not be used until after a reboot on systems with Microsoft User Account Control (UAC) enabled. This has been fixed. Renumbering ports on an ENET interface still requires a reboot.
NI-Serial 3.5 adds support for National Instrument PCI Express serial interfaces. Refer to Supported Interfaces for detailed model information.
NI-Serial 3.5 adds support for on-chip flow control. Previous driver versions implemented flow control in the driver, which in some circumstances could allow data loss. All PCI, PXI, and PCI Express interfaces now utilize on-chip RTS/CTS and XON/XOFF flow control. 8430-series hardware also supports on-chip DTR/DSR flow control.
Previous versions of NI-Serial could cause a system hang when initiating a Windows Direct Cable Connection. This issue has been resolved for PCI, PXI, and PCI Express interfaces. Issues may still exist when using Windows Direct Cable Connection with other interface types.
NI-Serial for Windows no longer provides support for Microsoft Windows Management Instrumentation.
NI-Serial 3.4 introduces improved functionality and performance for USB-232, USB-485, and NI ExpressCard-842x interfaces. This release also introduces support for all USB and ExpressCard interfaces on 64-bit Windows Vista.
Support for Windows 64-bit XP and Windows 64-bit Server 2003 is discontinued in this release.
NI-Serial for LabVIEW Real-Time, Version 3.3.4, adds support for the NI 3100, NI 3110, and EVS-146x controllers.
NI-Serial for LabVIEW Real-Time, Version 3.3.3, adds support for the NI cRIO-9022 Controller.
NI-Serial for LabVIEW Real-Time, Version 3.3.2, adds support for NI sbRIO controllers.
NI-Serial for LabVIEW Real-Time, Version 3.3.2, adds support for NI 17xx Smart Cameras.
NI-Serial for LabVIEW Real-Time, Version 3.3, adds support for multi-core real-time targets.
NI-Serial for LabVIEW Real-Time, Version 3.3, adds support for the cRIO-9072, and cRIO-9074 controllers.
NI-Serial 3.2 adds support for Windows Vista. Refer to Supported Interfaces for a list of supported hardware.
Support for the obsolete ISA-232 and ISA-485 interfaces is discontinued in this release.
NI-Serial for LabVIEW Real-Time, Version 3.2, adds support for report generation in Measurement & Automation Explorer (MAX). Report generation allows you to take a snapshot of what hardware is installed and configured on your system.
NI-Serial for LabVIEW Real-Time, Version 3.1, adds support for cRIO, FieldPoint, and Compact Vision controllers running LabVIEW Real-Time.
NI-Serial for LabVIEW Real-Time, Version 3.0, adds support for the new PCI/PXI-843x family of hardware.
NI-Serial 1.8 adds support for Microsoft Windows XP x64 and Windows Server 2003 x64 for all PCI, PXI, and PCMCIA interfaces.
NI-Serial 1.8 adds support for custom baud rates up to 3 Mbaud on PCI/PXI-8431/8433 hardware. The two-wire auto control mode for RS-485 transceiver control has a maximum baud rate of 2 Mbaud.
NI-Serial 1.8 includes a new serial communication utility. You can use the Serial Communicator to test serial hardware configuration and communication. The Serial Communicator is available in Measurement & Automation Explorer.
|PCI Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|PCI Express Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|PXI Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|PXI Express Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|NI PXIe-8431/8||RS-485/RS-422||8||No||3000.01, 2|
|NI PXIe-8431/16||RS-485/RS-422||16||No||3000.01, 2|
|USB Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|ExpressCard Interfaces||Standard||# Ports||Isolated||Max Baud (kbaud)|
|Windows Embedded Controllers||# RS-485/422 Ports||Isolated||Max Baud (kbaud)|
|NI-Serial software is required to use any RS-485/422 ports on the following controllers. Any RS-232 ports are supported by Microsoft's serial driver and do not require NI-Serial to be installed.|
|Real-Time Controllers||Standard||# Ports||Isolated||Max Baud (kbaud)|
|NI 172x Smart Cameras||RS-232||13||No||230.4|
|NI 174x Smart Cameras||RS-232||13||No||230.4|
|NI 176x Smart Cameras||RS-232||13||No||230.4|
|NI 177x Smart Cameras||RS-232||13||No||115.2|
|Serial C Series Modules6||Standard||# Ports||Isolated||Max Baud (kbaud)|
2For possible use with higher baud rates, refer to ni.com/kb and search for KnowledgeBase 58KEI82F.
6Serial C Series Modules may be used through NI-Serial and NI-VISA on backplanes configured to use NI-RIO IO Scan. To enable this support, NI-Serial 9870 and 9871 Scan Engine Support must be installed on the controller. For assistance with configuring a controller and backplane to use NI-RIO IO Scan, please refer to the NI-RIO documentation.
The following sections detail considerations for using LabVIEW NXG 3.1 with NI-Serial.
Software support for LabVIEW NXG differs in the following ways:
Refer to the Supported Interfaces section for a list of hardware supported in LabVIEW NXG.
View context help in LabVIEW by pressing <Ctrl-H> and hovering over an object.
Search for items using the search bar in the upper right corner of the LabVIEW window. You can also view context help for the search results.
Additional documentation is available online at ni.com/manuals.
Launch LabVIEW and click the Learning tab.
LabVIEW lessons are located in the Lessons tab, and LabVIEW Examples are located in the Examples tab. Follow the instructions in the lessons and examples.
Microsoft Windows 10 is the latest version of the Windows operating system and features significant changes compared to previous versions. Windows 10 introduces several new capabilities and also combines features from both Windows 7 and Windows 8. For more information about NI support for Windows 10, visit ni.com/windows10.
When you install NI software on Microsoft Windows 8.1, you will notice a few additional tiles in the Apps view, including shortcuts to NI application software products such as NI LabVIEW, Measurement & Automation Explorer (NI MAX), and NI Launcher. For more information about NI support for Windows 8.1, visit ni.com/windows8.
NI-Serial will drop support for Windows 7 (32- and 64-bit), Windows Server 2008 R2, and all 32-bit Windows operating systems starting in 2021. Versions of this product that ship after May 1, 2021, will not install or run on these operating systems. For detailed information about NI operating system support, visit ni.com/r/win32bitsupport.
For detailed information about NI application software product life cycles, visit ni.com/info and enter one of the following Info Codes:
© 1996–2019 National Instruments. All rights reserved.
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.
NI respects the intellectual property of others, and we ask our users to do the same. NI software is protected by copyright and other intellectual property laws. Where NI software may be used to reproduce software or other materials belonging to others, you may use NI software only to reproduce materials that you may reproduce in accordance with the terms of any applicable license or other legal restriction.
End-User License Agreements and Third-Party Legal Notices
You can find end-user license agreements (EULAs) and third-party legal notices in the following locations after installation:
U.S. Government Restricted Rights
If you are an agency, department, or other entity of the United States Government ("Government"), the use, duplication, reproduction, release, modification, disclosure or transfer of the technical data included in this manual is governed by the Restricted Rights provisions under Federal Acquisition Regulation 52.227-14 for civilian agencies and Defense Federal Acquisition Regulation Supplement Section 252.227-7014 and 252.227-7015 for military agencies.
IVI Foundation Copyright Notice
Content from the IVI specifications reproduced with permission from the IVI Foundation.
The IVI Foundation and its member companies make no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The IVI Foundation and its member companies shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.
Refer to the NI Trademarks and Logo Guidelines at ni.com/trademarks for information on NI trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies.
For patents covering the NI products/technology, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your media, or the NI Patent Notice at ni.com/patents.