About This Manual Conventions . ix Related Documentation x Chapter 1 Introduction to the LabVIEW Real-Time Module LabVIEW Real-Time Module Platforms .1-1 Real-Time System Components 1-2 Host Computer .1-2 LabVIEW 1-2 RT Engine 1-2 RT Target .1-3 RT Series Plug-In Devices (ETS Only) 1-3 Networked RT Series Devices (ETS Only) 1-3 RT Target on the Real-Time Subsystem (RTX Only) 1-4 Real-Time Module and Express VI Considerations 1-4 Unsupported LabVIEW Features .1-5 Modifying Front Panel Objects of RT Target VIs .1-5 Using OS-Specific Technologies in RT Target VIs 1-6 Chapter 2 Connecting to RT Targets Downloading VIs to an RT Target 2-3 Closing a Front Panel Connection without Closing VIs 2-3 Connecting to VIs Running on an RT Target 2-4 Configuring RT Target Options .2-5 Chapter 3 Building Deterministic Applications Creating Multithreaded Applications in LabVIEW .3-1 Dividing Tasks to Create Deterministic Multithreaded Applications .3-2 Assigning Priorities to VIs 3-3 Assigning VIs to Execution Systems 3-4 Cooperatively Yielding Time-Critical VI Execution 3-5 Passing Data between VIs 3-6 Global Variables 3-6 Functional Global Variables 3-6 Real-Time FIFO VIs . 3-8 Communicating with Applications on an RT Target 3-8 Front Panel Communication . 3-9 Network Communication 3-10 Creating Communication VIs with the RT Communication Wizard 3-11 Exploring Communication Methods . 3-12 Shared Memory . 3-13 Network Communication 3-14 TCP . 3-14 UDP 3-14 DataSocket (ETS Only) 3-15 VI Server . 3-16 SMTP (ETS Only) 3-16 Bus Communication 3-17 Serial (ETS Only) . 3-17 CAN (ETS Only) 3-17 IrDA Wireless Communication (ETS Only) . 3-17 Chapter 4 Timing Applications and Acquiring Data Timing Control Loops . 4-1 Timing Control Loops Using Software . 4-1 Wait (ms) 4-1 Wait Until Next ms Multiple Function . 4-2 Real-Time Timing VIs 4-4 LabVIEW Timed Loop (ETS Only) . 4-4 Timing Control Loops Using Hardware . 4-4 Acquiring Data with VIs Running on an RT Target . 4-5 RT Series Data Acquisition Devices (ETS Only) . 4-5 RT Series FieldPoint Modules (ETS Only) 4-5 NI PCI-7831 Plug-in Device (ETS and RTX) 4-5 Chapter 5 Optimizing Applications Avoiding Shared Resources 5-1 Memory Allocations and Preallocating Arrays . 5-1 Casting Data to Proper Data Types . 5-3 Reducing the Use of Global Variables 5-3 Avoiding Contiguous Memory Conflicts 5-3 Avoiding SubVI Overhead 5-5 Setting VI Properties . 5-5 Mass Compiling VIs 5 Minimizing Memory Usage by the RT Target Web Server 5 Setting BIOS Options (ETS Only) .5 Chapter 6 Debugging Deterministic Applications Verifying Correct Application Behavior .6 Using the LabVIEW Debugging Tools .6 Using the Profile Window .6 Using the Real-Time System Manager (ETS Only) 6 Verifying Correct Timing Behavior 6 Using the Tick Count (ms) Function .6 Using the NI Time Stamp VIs .6 Using an Oscilloscope .6 Using Software Drivers .6 Using the LabVIEW Execution Trace Toolkit (ETS Only) 6 Using and Defining Error Codes .6 Chapter 7 Deploying Applications Building Stand-Alone Applications .7 Configuring Target Settings 7 Saving Stand-Alone Applications .7 Selecting a Target after Launch 7 Quitting LabVIEW after Launch 7 Creating an Application Installer .7 Launching Stand-Alone Applications 7 Launching Embedded Applications Automatically .7 Launching Applications Automatically Using Command Line Arguments .7 Connecting to Stand-Alone Applications on an RT Target .7 Appendix A Technical Support and Professional Services Glossary Index LabViewRealTimeUserManual