LabWindows/CVI Real-Time Module

Content Type
Programming Language
Current manual

Using LabWindows/CVI Libraries in RT Applications

Using LabWindows/CVI Libraries in RT Applications

To build a DLL that you can run on a real-time (RT) target, you must select Real-time only in the Run-time support option of the Target Settings dialog box.

If you select Real-time only, the project does not link to the entire set of LabWindows/CVI libraries but instead links to a smaller set of LabWindows/CVI built-in library functions that are supported in RT applications.

LabWindows/CVI Libraries

The following libraries and functions are supported in RT applications:

  • Analysis Library or Advanced Analysis Library
  • ANSI C Library, with the following exceptions:
    Note Note  Only the "C" locale is recognized, and all case-sensitive functions, such as stricmp and tolower, perform conversions only from characters a-z to characters A-Z, and vice-versa, and perform comparisons using only this set of characters. Locale-specific case sensitivity is not honored.
    • Any functions that interact with the keyboard or that require user input are not available.
    • The multibyte to wide-character conversion functions mbtowc and mbstowcs are not available. The wide-character to multibyte conversion functions wctomb and wcstombs are not available.
  • Formatting and I/O Library, with the following exceptions:
    • ArrayToFile
    • FileToArray
  • Internet Library, with the following exceptions:
    Note Note  The Internet Library is available only in the LabWindows/CVI Full Development System.
    • InetLaunchDefaultWebBrowser
    • InetPing
  • Network Streams Library
  • Network Variable Library, with the following exception:
    • CNVVariableEngineIsRunning
  • Real-Time Utility Library, with the following exceptions:
    • GetRTSystemInfo
    • FindAllRTSystemsOnSubnet
    • RTSystemSelectPopup
    • System Configuration class
    • System Replication class
  • TCP Support Library
  • TDM Streaming Library, with the following exceptions:
    • TDMS_AdvancedAsyncRead
    • TDMS_AdvancedAsyncWrite
    • TDMS_ConfigureAsyncReads
    • TDMS_ConfigureAsyncWrites
    • TDMS_GetAsyncReadStatus
    • TDMS_GetAsyncWriteStatus
    • TDMS_ReserveFileSize
  • UDP Support Library
  • The following functions in the User Interface Library:
    • PostDeferredCall
    • PostDeferredCallToThread
    • ProcessSystemEvents
  • The following functions in the Utility Library:
    • All functions in the Multithreading class
    • All functions in the Debugging and Run-time Error Reporting class, with the following exception:
      • CVIDynamicMemoryInfo
    • All functions in the Date/Time class
    • Beep
    • Cls
    • CVIRTEHasBeenDetached
    • GetDir
    • InStandaloneExecutable
    • RoundRealToNearestInteger
    • SetDir
    • TruncateRealNumber
Note  All the functions that are supported in RT applications are multithread safe.

LabWindows/CVI Tools Library (Toolslib) Instrument Drivers

The following Toolslib instrument drivers are supported in RT applications:

  • Asynchronous Timers
  • Reading/Writing .ini–Style Files, with the following exceptions:
    • Ini_ReadFromRegistry
    • Ini_WriteToRegistry
  • Regular Expressions
  • The following functions in the Programmer's Toolbox:
    • All functions in the Miscellaneous class, with the following exceptions:
      • GetFileCLibTime
      • GetGeneralErrorString
      • InternationalFileTime
      • InternationalFileDate
      • NetworkVariablePopup
      • OpenDocumentInDefaultViewer
      • ShowHtmlHelp
      • StartPCSound
      • StopPCSound
    • All functions in the Time Conversions class
    • All functions in the String Handling class
    • All functions in the File class, with the following exceptions:
      • SaveBitmapToFile
      • SaveCtrlDisplayToFile
      • SavePanelDisplayToFile
    • All functions in the Searching and Sorting class
    • All functions in the Lists class
    • All functions in the Hash Tables class
    • All functions in the Memory Block Handles class
    • All functions in the Constants and Conversions class
    • All functions in the Special Double Precision Numbers and Functions class
    • All functions in the Callback Posting class, with the following exception:
      • PostDelayedCall
    • All functions in the Endianess class

Additional Libraries

You also can link a Real-time only project to the following libraries, which may require you to install additional components on the RT target.

  • RS-232 Library—You must install NI-Serial on the RT target using the Remote Systems item in NI Measurement & Automation Explorer (MAX).
  • Hardware Libraries—You must install the appropriate driver for any hardware library that you use in an RT application. The following hardware libraries are supported in RT applications:
    • VISA Library
    • NI-DAQmx Library
    • Traditional NI-DAQ Library (with limitations)
    • NI-DMM
    • NI-Scope
    • NI-FGEN
    • NI-Switch
    • NI-HSDIO
    • NI-CAN
Notes
  • Additional driver support might have been added since this product was released. Contact National Instruments for an up-to-date list of supported drivers.
  • If NI-DAQmx 8.0 or earlier is installed on the local computer and you link the project to the LabWindows/CVI NI-DAQmx Library, you must manually download the NI-DAQmx run-time DLL for RT (\bin\nicaip.dll) to the \ni-rt\system\ folder on the RT target using FTP. You do not need to download this DLL if NI-DAQmx 8.1 or later is installed.

If you use an external compiler and want to use functions that are supported in RT applications, include CVIversion\extlib\msvc\cvi_lvrt.lib in the external compiler project instead of cvirt.lib and cvisupp.lib. Remember that when you use an external compiler, you link to that compiler's ANSI C library.

Was this information helpful?