Application Development
Course Manual
Course Software Version 8.0
March 2006 Edition
Part Number 323843B-01
LabVIEW Real-Time Course Manual
Copyright
© 2004–2006 National Instruments Corporation. 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
Worldwide Offices
Australia 1800 300 800, Austria 43 0 662 45 79 90 0, Belgium 32 0 2 757 00 20, Brazil 55 11 3262 3599, Canada 800 433 3488, China 86 21 6555 7838, Czech Republic 420 224 235 774, Denmark 45 45 76 26 00, Finland 385 0 9 725 725 11,
France 33 0 1 48 14 24 24, Germany 49 0 89 741 31 30, India 91 80 41190000, Israel 972 0 3 6393737, Italy 39 02 413091, Japan 81 3 5472 2970, Korea 82 02 3451 3400, Lebanon 961 0 1 33 28 28, Malaysia 1800 887710, Mexico 01 800 010 0793, Netherlands 31 0 348 433 466, New Zealand 0800 553 322, Norway 47 0 66 90 76 60, Poland 48 22 3390150,
Portugal 351 210 311 210, Russia 7 095 783 68 51, Singapore 1800 226 5886, Slovenia 386 3 425 4200, South Africa 27 0 11 805 8197, Spain 34 91 640 0085, Sweden 46 0 8 587 895 00, Switzerland 41 56 200 51 51, Taiwan 886 02 2377 2222, Thailand 662 278 6777, United Kingdom 44 0 1635 523545
For further support information, refer to the Additional Information and Resources appendix. To comment on National Instruments documentation, refer to the National Instruments Web site at ni.com/info and enter the info code feedback.
Student Guide
A. NI Certification ...vi
B. Course Description ...vii
C. What You Need to Get Started ...vii
D. Installing the Course Software...viii
E. Removing Course Material ...viii
F. Course Goals...viii
G. Course Conventions ...x
Lesson 1
Introduction to Real-Time
Exercise 1-1
Project Specification Document ...1-22
Lesson 2
Configuring Your Hardware
Exercise 2-1
Configure Hardware ...2-22
Exercise 2-1 A Compact FieldPoint Configuration...2-23
Exercise 2-1 B PXI Configuration ...2-31
Exercise 2-2
Targeting Real-Time Hardware...2-38
Lesson 3
Real-Time Architecture: Design
Exercise 3-1
Priority Levels ...3-54
Exercise 3-2
Inter-Thread Communication ...3-56
Exercise 3-3
Project Flowchart...3-78
Lesson 4
Timing Applications and Acquiring Data
Exercise 4-1 A cFP – Software Sleep...4-19
Exercise 4-1 B PXI - Hardware Sleep...4-21
Exercise 4-2 A cFP-Time-Critical...4-24
LabVIEW Real-Time Course Manual iv ni.com
Verifying Your Application
Exercise 6-1
Debug Exercise...6-33
Exercise 6-2
Verify Timing Behavior ...6-35
Exercise 6-3
Verify Memory Usage ...6-36
Exercise 6-4
Execution Trace...6-38
Lesson 7
Deploying Your Application
Exercise 7-1
Deploying an Application...7-31
Exercise 7-2 A cFP - Remote Panels...7-33
Exercise 7-2 B PXI - Remote Panels ...7-38
Lesson 8
Advanced Topics
Exercise 8-1 A cFP - Timed Loops ...8-22
Exercise 8-1 B PXI - Timed Loops...8-27
Appendix A
Course Project Resources
A. Course Project Specification Document ...A-2
B. Course Project Requirements Document ...A-3
C. Course Project Flowcharts ...A-8
Appendix B
Additional Information about LabVIEW Real-Time
A. Implementing Redundancy in Your System ...B-2
B. Using LabWindows/CVI DLLs in LabVIEW Real-Time ...B-4
Appendix C
Instructor’s Notes
A. Course Setup ...C-1
B. Course Shut-Down...C-1
Appendix D
Real-Time Systems
Appendix E
Additional Information and Resources
Course Evaluation
Thank you for purchasing the LabVIEW Real-Time Application
Development course kit. This course manual and the accompanying
software are used in the 3-day, hands-on LabVIEW Real-Time Application
Development course.
You can apply the full purchase price of this course kit toward the
corresponding course registration fee if you register within 90 days of
purchasing the kit. Visit
ni.com/trainingto register for a course and to
access course schedules, syllabi, and training center location information.
LabVIEW Real-Time Course Manual vi ni.com
The LabVIEW Real-Time Application Development course is part of a series
of courses designed to build your proficiency with LabVIEW and help you
prepare for exams to become an NI Certified LabVIEW Developer and
NI Certified LabVIEW Architect. The following illustration shows the
courses that are part of the LabVIEW training series. Refer to
ni.com/training
for more information about NI Certification.
LabVIEW Intermediate I* LabVIEW Intermediate II*
New User Experienced User Advanced User
LabVIEW Advanced Application Development
LabVIEW Advanced Application Development
Certified LabVIEW Associate Developer Exam
Certified LabVIEW Developer Exam Certified LabVIEW Architect Exam Skills tested: • LabVIEW application development expertise Skills learned:
• Modular application development • Structured design and
development practices • Memory management and VI performance improvement
Skills learned:
• Large application design • Code reuse maximization • Object-oriented programming in LabVIEW Skills tested: • LabVIEW application development mastery Skills tested: • LabVIEW environment knowledge Skills learned: • LabVIEW environment navigation
• Basic application creation using LabVIEW
Certifications Courses
Hardware-Based Courses:
• Data Acquisition and Signal Conditioning • Modular Instruments • Instrument Control • Machine Vision • Motion Control • LabVIEW Real-Time
*Core courses are strongly recommended to realize maximum productivity gains when using LabVIEW.
LabVIEW Basics I*
Skills learned:
• LabVIEW environment navigation
• Basic application creation using LabVIEW
LabVIEW Basics II* Begin
The LabVIEW Real-Time Application Development course teaches you to
use LabVIEW Real-Time to develop a deterministic and reliable
application. Most LabVIEW applications run on a general-purpose
operating system (OS) like Windows, Linux, Solaris, or Mac OS. Some
applications require deterministic real-time performance that
general-purpose operating systems cannot guarantee. The LabVIEW
Real-Time Module extends the capabilities of LabVIEW to address the need
for deterministic real-time performance.
This course assumes you have a level of experience with LabVIEW
equivalent to completing the material in the LabVIEW Basics I: Introduction
course. In addition, you should be familiar with the Windows operating
system and computer components such as the mouse, keyboard, connection
ports, and plug-in slots, and have experience writing algorithms in the form
of flowcharts or block diagrams..
The course is divided into lessons, each covering a topic or a set of topics.
Each lesson consists of the following parts:
•
An introduction that describes what you will learn.
•
A discussion of the topics.
•
A set of exercises that reinforces the topics presented in the discussion.
•
A summary that outlines important concepts and skills taught in the
lesson.
C. What You Need to Get Started
Before you use this course manual, make sure you have the following items:
❑ Computer running Windows 2000/XP
❑ LabVIEW Full Development System version 8.0 or later
❑ LabVIEW Real-Time Module version 8.0 or later
LabVIEW Real-Time Course Manual viii ni.com
❑ LabVIEW Real-Time Application Development CD, which contains the
following files:
D. Installing the Course Software
Complete the following steps to install the course software.
1. Insert the course CD in your computer. The LabVIEW Real Time
Setup dialog box appears.
2. Click Next.
3. Click Next to begin the installation.
4. Click Finish to exit the Setup Wizard.
5. The installer places the
Exercisesand
Solutionsfolders at the top
level of the
C:\directory.
Exercise files are located in the
C:\Exercises\LabVIEW Real Time\folder.
E. Removing Course Material
You can remove the course material using the Add or Remove Programs
feature on the Windows Control Panel.
F. Course Goals
This course presents the following topics:
•
Concepts of real-time and determinism
•
Configuring and communicating with real-time hardware
•
Understanding memory usage, multithreading, priorities, and shared
resource in LabVIEW Real-Time
•
Optimizing real-time tasks
•
Developing a deterministic, reliable application
Filename
Description
Exercises
a folder containing all files needs to complete
the exercises
Solutions
a folder containing the solutions to each
•
Information and concepts covered in LabVIEW Basics I: Introduction
course
•
Control, PID, and/or Fuzzy Logic theory
•
Analog-to-digital (A/D) theory
•
Operation of GPIB, RS-232, Motion, CAN, or VISA
•
Every built-in LabVIEW object, function, or library VI; refer to the
LabVIEW Help for more information about LabVIEW features not
described in this course
•
Development of a complete application for any student in the class; refer
to the NI Example Finder, available by selecting Help»Find Examples
for example VIs you can use and incorporate into VIs you create
LabVIEW Real-Time Course Manual x ni.com
The following conventions are used in this course manual:
»
The » symbol leads you through nested menu items and dialog box options
to a final action. The sequence File»Page Setup»Options directs you to pull
down the File menu, select the Page Setup item, and select Options from
the last dialog box.
This icon denotes a tip, which alerts you to advisory information.
This icon denotes a note, which alerts you to important information.
This icon denotes a caution, which advises you of precautions to take to
avoid injury, data loss, or a system crash.
bold
Bold text denotes items that you must select or click in the software, such as
menu items and dialog box options. Bold text also denotes parameter names,
controls and buttons on the front panel, dialog boxes, sections of dialog
boxes, menu names, and palette names.
italic
Italic text denotes variables, emphasis, a cross-reference, or an introduction
to a key concept. Italic text also denotes text that is a placeholder for a word
or value that you must supply.
monospace
Text in this font denotes text or characters that you enter from the keyboard,
sections of code, programming examples, and syntax examples. This font
also is used for the proper names of disk drives, paths, directories, programs,
subprograms, subroutines, device names, functions, operations, variables,
filenames, and extensions.
monospace bold
Bold text in this font denotes the messages and responses that the computer
automatically prints to the screen. This font also emphasizes lines of code
that are different from the other examples.
monospace
Italic text in this font denotes text that is a placeholder for a word or value
Lesson 1
Introduction to Real-Time
Topics
A. What is Real-Time?
B. RT Host
C. RT Target
Introduction to Real-Time
This lesson introduces real-time concepts such as real-time, determinism, and jitter. This lesson also discusses the parts of an RT system including the host and the target.
Use the Getting Started with LabVIEW Real-Time Module to get started with the LabVIEW Real-Time Module quickly. To view a PDF version of the manual, select
Help»Search in the LabVIEW Real-Time Bookshelf, then click the Getting Started with
1-2
What is Real Time?
Real-time response is the ability to reliably and,
without fail, respond to an event, or perform
an operation, within a guaranteed time period
A. What is Real Time?
The LabVIEW Real-Time Module combines LabVIEW graphical programming with the power of a real-time operating system, enabling you to build deterministic real-time applications.
A misconception about real time is that it means quick. More accurately, real time means in-time. In other words, a real-time system ensures that responses occur in time, or on time. With general purpose operating systems, you cannot ensure that your response occurs within any given time period, and calculations might finish much later or earlier than you expect them to.
In order for a system to be a real-time system, all parts of it need to be real-time. For example, even though a program runs in a real-time operating system, it does not mean that the program behaves with real-time characteristics. The program may rely on something that does not behave in real-time, which then causes the program not to behave in real-time.
Terms that frequently describe real-time systems are determinism, loop cycle time, and jitter. Before learning more about real time, you must understand these terms.
Real-Time Terms
• Determinism—A characteristic of a system that describes how
reliably it can respond to events or perform operations within a
given time limit
• Loop Cycle Time—The time taken to execute one cycle of a loop
• Jitter—The variation of loop cycle time from the desired loop cycle
time
• Embedded—Characterizes a computer system that is typically a
component within a larger system. Embedded systems usually
operate in a headless fashion—that is, there is no user interface,
such as a keyboard, monitor, and mouse
Determinism is a characteristic of a system that describes how reliably it can respond to
external events or perform operations within a given time limit. High determinism is a characteristic of real-time systems and guarantees that your calculations and operations occur within a given time. Deterministic systems are predictable. This is an important characteristic for applications such as controls. In a control application, the control program measures inputs, makes calculations based on the inputs, and then outputs values that are a result of those calculations. Real-time systems can guarantee that the calculations finish on time, all of the time.
Many applications that require a real-time operating system are cyclical, such as a control application. The time between the start of each cycle, T, is called the loop cycle time (or sample period). 1/T is the loop rate or sample rate.
Even with real-time operating systems, the loop cycle time can vary between cycles. The amount of time that the loop cycle time varies from the desired time is called jitter.
1-4
Maximum Jitter
Desired Loop Time
Loo
p Iter
atio
n 1
2
3
4
5
Maximum JitterLoop Time (seconds)
Jitter Range
All systems have some jitter, but the jitter is lower for real-time systems than for general purpose operating systems. The jitter associated with real-time systems can range within nanoseconds. General purpose operating systems have high or unbounded maximum jitter that may vary from time to time and is inconsistent. Refer to Lesson 3, Real-Time
Architecture: Design, for programming techniques to reduce jitter.
Operating Systems
• Processor time is shared between programs
• Operating systems can preempt high priority VIs
– Many programs run in the background—screen savers, disk utilities,
virus software, and so on
– It must service interrupts—keyboard, mouse, Ethernet, and so on
• Cannot guarantee determinism—that is, it is a
non-deterministic system
Operating Systems
LabVIEW applications running in Windows are not guaranteed to run in real-time, because Windows is not a real-time operating system. Windows cannot ensure that code always finishes within specific time limits. The time your code takes to execute in Windows depends on many factors, such as other programs running like screen saver or virus software. Windows also has to service interrupts from devices such as a USB port, keyboard, mouse, and other peripherals that can delay execution of code. You can increase the probability of programs running deterministically in Windows by disabling all other programs such as screen savers, disk utilities, and virus software. You can further increase determinism by disabling drivers for devices with interrupts such as the keyboard, mouse, and Ethernet card. Finally, for better determinism, you can write a device driver in Windows to get the most direct access to hardware possible.
1-6
Real-Time Operating Systems
• Ensure that high-priority tasks execute first
• Do not require user input from peripherals
(keyboard, and so on)
LabVIEW Real-Time Module executes VIs on the following:
• Hardware targets running the Venturcom Phar Lap Embedded
Tool Suite (ETS)
• Computers running the Venturcom Real-Time Extension (RTX)
This course focuses on the ETS platform
Real-Time Operating Systems
National Instruments designed the LabVIEW Real-Time Module to execute VIs on two different real-time operating systems. The LabVIEW Real-Time Module can execute VIs on hardware targets running the real-time operating system for the Venturcom Phar Lap Embedded Tool Suite (ETS) and on computers running the Venturcom Real-Time Extension (RTX).
Venturcom Phar Lap ETS provides a real-time operating system that runs on
NI Real-Time Series hardware to meet the requirements of embedded applications that need to behave deterministically or have extended reliability requirements.
Venturcom RTX adds a real-time subsystem (RTSS) to Windows. Venturcom RTX enables you to run Windows and the RTSS at the same time on the same computer. The RTSS has a priority-based real-time execution system independent of the Windows scheduler. RTSS scheduling supersedes Windows scheduling to ensure deterministic real-time performance of applications running in the RTSS. For more information about Phar Lap ETS or RTX, refer to the Venturcom Web site at www.vci.com.
This course focuses on the ETS real-time platform.
Selecting an Operating System
General Purpose OS
• Data acquisition
• Offline analysis
• Data presentation
Real-Time OS
• Closed loop control
• Time-critical decisions
• Extended run time
• Stand alone operation
• Increased reliability
Selecting an Operating System
If you only must acquire real-time data, then you might not need a real-time operating system. National Instruments has many data acquisition (DAQ) devices that can acquire data in real-time even though they are controlled by programs running in Windows. The DAQ device has an onboard hardware clock that makes sure that data is acquired at constant rates. With technologies such as bus mastering, direct memory access (DMA) transfer, and data buffering, the I/O device can collect and transfer data automatically to RAM without involving the CPU.
However, consider an application where every data point needs to be acquired and analyzed by software before we can determine if an event has occurred that requires a response. Similarly, consider an application where every acquired point must be handled by software in order to determine the output of a control loop. In both these cases, the software and the operating system must behave deterministically. You must to
1-8
Real-Time Development Tools
System Analysis Tools
Debugger
Linker
Compiler
I/O Device
Microprocessor
RTOS
LabVIEW Real-Time
Execution Trace Tool
LabVIEW Real-Time
Target
Hard
ware
So
ftware
Real-Time Development Tools
The tools provided for real-time development consist of code development tools including the compiler, the linker, and the debugger. In addition, system analysis tools provide advanced insight into optimizing real-time applications.
The LabVIEW Real-Time Module is the application environment that serves as the complete development and debugging tool. For more advanced diagnostics, the LabVIEW Execution Trace Toolkit offers complete real-time application analysis. All LabVIEW Real-Time Module deployment platforms are based on a common hardware and software architecture. Each hardware target uses computing components such as a microprocessor, RAM, non-volatile memory, and an I/O bus interface. The embedded software consists of a real-time operating system (RTOS), driver software, and a specialized version of the LabVIEW Run-Time Engine.
LabVIEW Real-Time System Using ETS
Execute Develop
Download
Host Computer
RT Target
LabVIEW Real-Time System Using ETS
This slide illustrates the basic hardware architecture of a LabVIEW Real-Time system. First, in order to ensure determinism, you must offload any time-critical task from Windows and delegate it to a real-time engine or target. Therefore, you have two systems—the first system is Windows based. On this machine, called the host, you develop an application. When you are ready, you can download the application to the target processor. The second processor runs a real-time operating system of the Venturcom Phar Lap ETS. The software that runs on the target platforms is referred to as the LabVIEW Real-Time Engine (RT Engine). The RT Engine has the job of executing code, controlling any connected I/O, and communicating back to the host machine.
1-10
Discussion Exercise 1-1
Project Specification Document
Time to complete: 10 min.
Read and discuss the Project Specification document
and determine if real time is necessary for this
application.
OB
JEC
TIVE
Note The puzzle symbol shown above indicates that you must complete this
exercise for the course project. Look for this symbol on all course project exercises. Exercises are located at the end of each lesson.
RT Host
Host Computer
B. Real-Time Host
A real-time system consists of software and hardware components. The software
components include LabVIEW, the RT Engine, and VIs you build using LabVIEW. The hardware components of a real-time system include a host computer and an RT target. The host computer is a computer with LabVIEW and the LabVIEW Real-Time Module installed on which you develop the VIs for the real-time system. After developing the real-time system VIs, you can download and run the VIs on the RT target. The host computer can run VIs that communicate with the VIs running on the RT target.
1-12
Real-Time Targets
Real-Time PXI Embedded Controllers
High speed, high channel density, I/O variety
LabVIEW Real-Time
PCI Plug-In Device
Real-time component for PCs
Desktop PCs
Determinism for PCI systems
RT Compact FieldPoint
Small footprint, harsh environments
RT Compact Vision System
Compact and distributed machine vision
CompactRIO
Reconfigurable Embedded System
C. Real-Time Targets
An RT target refers to Real-Time Series hardware or the real-time subsystem (RTSS) that runs the Real-Time Engine and VIs you create using LabVIEW.
You can deploy the LabVIEW Real-Time Module with a variety of real-time targets— Real-Time Series Plug-in Devices, Desktop PCs, Real-Time PXI embedded controllers, Real-Time Compact FieldPoint controllers, and Compact Vision Controllers.
Real-Time Hardware Configurations
Single BoxHost-Target
Real-Time PXI Embedded Controllers
High speed, high channel density, I/O variety
PCI Plug-In Device
Real-time component for PCs
Desktop PCs
Determinism for PCI systems
RT Compact FieldPoint
Small footprint, harsh environments
RT Compact Vision System
Compact and distributed machine vision
CompactRIO
Reconfigurable Embedded System
There are two basic configurations for RT targets. Single-box configurations are those in which the real-time component is integrated within hardware that also contains a general purpose operating system. Real-Time Series PCI plug-in devices or desktop PCs can serve in this type of configuration.
Host-target configurations are ones in which the real-time application is downloaded to the target from a host system. The real-time application executes in an embedded fashion on the hardware target. Real-Time PXI embedded controllers, Real-Time Compact FieldPoint controllers, and Compact Vision Controllers are examples of host-target configurations.
Desktop PCs can run real-time applications in either configuration, depending on implementation. If you use the desktop PC in a single-box configuration, it must be running the RTX operating system. You can use a desktop PC as a target when running the ETS operating system.
1-14
RT Target—Host-Target Configuration
• Standard desktop computer—Ideal for low cost implementation
• NI Real-Time Series PXI Controller—Ideal for high-speed, high channel count acquisition • NI Real-Time Series FieldPoint Module—
Ideal for distributed real-time I/O applications
• NI 1450 Series Compact Vision System— Acquires, processes, and displays images for IEEE1394 cameras
• CompactRIO—Embedded system with real-time controller, reconfigurable FPGA chassis, and industrial I/O modules.
Host-Target Configuration (ETS Only)
A networked Real-Time Series device is a networked hardware platform with an embedded processor with a real-time operating system (ETS) that runs the RT Engine and LabVIEW VIs. You can use a separate host computer to communicate with and control VIs on a networked Real-Time Series device through an Ethernet connection, but the device is an independent computer.
Some examples of networked Real-Time Series devices include the following: • Standard desktop computer—A standard desktop PC used as a real-time system
running LabVIEW Real-Time for ETS Targets.
• NI Real-Time Series PXI Controllers—A networked device that installs in an NI PXI chassis and communicates with NI PXI modules installed in the chassis. You can write VIs that use all the I/O capabilities of the PXI modules, SCXI modules, and other signal conditioning devices installed in a PXI chassis. The RT Engine also supports features of the Real-Time Series PXI controller.
• NI Real-Time Series FieldPoint Network Modules—A networked device designed for distributed real-time I/O applications.
• NI 1450 Series Compact Vision System—A distributed, real-time imaging system that acquires, processes, and displays images from IEEE 1394 cameras. Refer to the
NI CVS-1450 Series User Manual for information about using the NI 1450 Series
Compact Vision System with LabVIEW.
RT Target—PXI Embedded Controller
Processor PXI Backplane
Memory
DAQ Devices
SCXI Modules Connect to host
PXI Embedded Controller
PXI is based on the CompactPCI standard. A typical system consists of a chassis, a controller, and a choice of I/O modules. The controller performs the same function as a desktop CPU. It includes a processor, permanent storage, memory, and so on. When used as a real-time system, the LabVIEW application is downloaded to the embedded processor on the controller. As the application runs, it accesses data from the I/O modules in the system.
You can disconnect an application deployed on a PXI system from the host computer and run the application headless—no monitor, keyboard, or mouse. With PXI, you can create rugged real-time applications and deploy them as headless stand-alone systems. For example, in the automotive industry, engineers use real-time PXI systems to test the algorithm for an adaptive cruise control system. The control algorithm is downloaded to
1-16
Watchdog Timer
Removable CompactFlash memory (FP-2020 only)
Onboard static memory Dedicated processor
User-defined DIP switches and LEDs Serial port
Backup power supply connection Ethernet port
RT Target—[c]FP Network Module
Compact FieldPoint Network Module
The cFP-20xx has many features that enable it to act as a stand-alone device. Because most stand-alone devices reside in remote or inaccessible locations, these system must be reliable to eliminate the need for constant maintenance. The dedicated processor in the cFP-20xx runs a real-time operating system that executes the LabVIEW Real-Time Module application deterministically. The reliability of the real-time operating system also reduces the chances of system malfunction.
The cFP-20xx includes a Watchdog timer that monitors the overall operation of the FieldPoint system. When the watchdog senses that the system has a malfunction, it can run a separate maintenance routine or even reboot the FieldPoint system. The operation of the watchdog is user-defined by a protocol.
The cFP-20xx also includes user-defined dip switches and bi-color and tri-color LEDs that can provide user interaction in a stand-alone system. For instance, the LEDs can signify certain states of operation, while you can configure DIP switches to specify the startup state of the compact FieldPoint system.
The onboard static memory consists of 32 MB memory for the cFP-2000, and 64 MB memory for the cFP-2010 and cFP-2020. The cFP-2020 also features a slot that accepts removable CompactFlash cartridges, ranging in capacity from 64 to 512 MB.
CompactFlash cartridges contain solid-state, nonvolatile memory for storing your downloaded application or for performing embedded data logging.
supply. The system automatically switches to this second power supply, when it senses a problem with the first power supply.
The serial port allows the cFP-20xx to connect to existing systems. In addition, the CFP-20xx can connect other serial devices such as a serial LED that can display information for the operator.
You can use the Compact FieldPoint I/O modules for industrial environments, where space is limited, or where placing a standard desktop computer is not an option. You can mount the systems on DIN rails to increase space on the factory floor and also place the systems in locations with stringent temperature demands. A FieldPoint 2000 based system can operate efficiently in environments from –25 to 60° Celsius.
1-18
RT Target—Single-Box Configuration
Real-Time Series Plug-In Device
• RTOS runs on embedded processor
• DAQ daughterboard on embedded PCI bus
Single-Box Configuration
An NI PCI-7041 plug-in device is a plug-in device with an embedded processor. The NI PCI-7041 plug-in device contains a processor device and DAQ daughterboard. The processor device contains a microprocessor with a real-time operating system that runs the RT Engine and LabVIEW VIs. You can use the host computer to communicate with and control VIs running on the NI PCI-7041 plug-in device through an Ethernet connection or shared memory.
RT Target—Real-Time Subsystem (RTX only)
Microprocessor RT Task RT Task RT TaskHardware Abstraction Layer (HAL)
RTX Real-Time Kernel Windows Kernel Windows
Task Windows
Task
RT Target
RT Host
RT Target and RT Host reside on the same microprocessor
RT Target on the Real-Time Subsystem (RTX Only)
When you use the LabVIEW Real-Time Module for real-time extension (RTX) targets, the RT Engine runs on the real-time subsystem (RTSS) of the host computer. The RTSS creates the x:\RTXROOTdirectory, where xis the Windows root drive, to store all of the RT target files. Like Real-Time Series hardware targets, the RTSS provides a real-time platform where you can execute LabVIEW VIs deterministically. You can communicate with and control VIs running on the RTSS from LabVIEW in Windows. VIs running on the RTSS can use an NI PCI-7831 plug-in device for data acquisition. Refer to Lesson 4, Timing Applications and Acquiring Data, for information about deterministic data acquisition using LabVIEW.
1-20
Choosing the Right Target Platform
Better Better Good Better Best
Scalability
— No — Low BetterPCI-7041
Better Yes Better High BestPXI
Best No Best High Good[c]FP
Yes Yes3rd-party RT HW
Distributed
Rugged
I/O Count
Loop Speed
— Good — — Low Low Best BestPC (RTX)
PC (ETS)
Target Platform Comparison
The various platforms of NI Real-Time Series hardware encompass a wide spectrum of application needs. To find the best platform for your type of application, match the platform that best fits your system requirements. For example, if you are looking for a highly distributive system with a high channel count and your timing needs are less than 1 kHz, then FieldPoint may be the best choice for you.
• Real-Time Series plug-in boards suit applications requiring a small control component to be added to a Windows-based computer.
• PXI RT ideally suits high-performance, real-time applications requiring tight synchronization across a variety of I/O and precise input and output sampling rates. • Compact FieldPoint RT ideally suits industrial applications requiring a small
footprint, high-reliability, distributed, and industrially rated hardware.
The specifications used to classify the ruggedness of each target is the mean time between failures (MTBF). MTBF values for PXI range from 169,000 hours to 280,000 hours. The MTBF value for FieldPoint is 459,188 hours (52 years).
Summary—Matching Quiz
1. Jitter
2. Deterministic
3. Embedded
4. Loop Cycle
Time
A. System that can reliably respond to events
or can perform operations within a given
time limit
B. Deviation of an I/O measurement
C. Time taken to execute one cycle of a loop
D. Variation of loop cycle time from the
desired loop cycle time
E. Hardware that is installed in a mobile unit
F. Computer system that is typically a
component within a larger system
Summary
Real-Time—Real-time response is the ability to reliably and, without fail, respond to an
event, or perform an operation, within a guaranteed time period.
Determinism—A characteristic of a system that describes how reliably it can respond
to events or perform operations within a given time limit.
Loop Cycle Time—The time taken to execute one cycle of a loop. Jitter—The variation of loop cycle time from the desired loop cycle time.
Embedded—Characterizes a computer system that is typically a component within a
larger system.
Host—A computer with LabVIEW and the LabVIEW Real-Time Module installed in
LabVIEW Real-Time Course Manual 1-22 ni.com
Objective:
Read and discuss the Project Specification document and determine if real time is
necessary for this application.
When beginning a project for a customer, you may receive a project
specification document. This is a general document, and you must meet
further with the customer to clarify the project needs to produce a
requirements document. In a later exercise, you will receive a more detailed
requirements document for the course project.
In this course, customer refers to the person requesting the project. This can
be a client, coworker, manager, and so on.
In this exercise, read the Project Specification document and determine if
and why real time is necessary. Look for needs that set a real-time system
apart from other systems.
Start of Specification Document
Overview
A temperature chamber provides a two-stage temperature ramp for the
incubation of cells. This application controls the temperature chamber. The
temperature in the chamber is achieved through the control of a lamp and a
fan. The fan also simulates disturbance to the temperature chamber.
Temperature ranges are confined from room temperature to 75° C.
User Interface
The user interface allows the user to select a range of temperatures and
times. Each temperature is held for the time specified by the user in the order
entered. A graph shows actual temperature versus time and setpoint versus
time. The user can start the test from the user interface, abort the test, and
apply disturbance to the temperature chamber.
Data Logged
The header for the data file includes the user interface inputs and beginning
time stamp for the control profile. Data logged includes temperature, time
stamp, setpoint, and lamp power, as well as whether disturbance was
applied. All data are logged every time the temperature is read.
Specifications
The temperature should be measured, recorded, and used to calculate output
to the lamp. Also, an output should be applied within a set response rate
(loop cycle). Two different labs are using this system. One needs the
The system should start automatically on power up. External systems should
be able to view and utilize current data through a UDP connection at
user-specified addresses. The system must respond to the Abort command
as soon as possible.
End of Specification Document
Discussion
1. Is real time appropriate for this project?
2. If so, what are some of the project needs that require real time?
When considering the project needs, look for requirements that specify a
need for real-time response.
Real-time response is the ability to respond reliably and without fail to an
event, or to perform an operation, within a given time period.
LabVIEW Real-Time Course Manual 1-24 ni.com
Quiz
1. Which characteristic does not describe a real-time system?
a. Small, bounded jitter
b. Fast
c. Reliable
d. Predictable
2. Which can be an RT target? (multiple answer)
a. RT Series FieldPoint module
b. PC installed with Microsoft Windows
c. RT Series PXI Embedded controller
d. RT Series plug-in device
Job Aid
Use the following checklist to aid in understanding the difference between
real-time and non-real time systems.
❑ Deterministic systems are predictable.
❑ Real-time operating systems are highly deterministic.
❑ Embedded systems usually have no monitor, keyboard, or mouse.
❑ Jitter is the variation of loop cycle time from the desired loop cycle time.
❑ Non-real time systems have very large or unbounded jitter.
Lesson 2
Configuring Your Hardware
Topics
A. Hardware Setup and Installation
B. Configuring the Target
C. Configuring Your Input and Output
D. Connecting to the Target
Introduction
In this lesson, you will learn how to configure your target hardware and the I/O hardware used in the class project. You can apply this knowledge to configuring other types of I/O hardware as well.
In addition, you will learn how to download a VI to the target, connect to it, and disconnect from it. This gives you the knowledge to run pre-existing code on an RT target in development mode.
2-2
Hardware Setup and Installation
Refer to the Quick Start Guide for your target hardware for
hardware setup and installation instructions
Target hardware arrives pre-installed with operating system
Note: Classroom systems have been pre-installed and set up
A. Hardware Setup and Installation
• Each target hardware type has its own hardware setup and installation instructions. Refer to the Quick Start Guide for your target hardware for instructions.
• A summary for the cFP-20xx Network Module Quick Start Guide and RT Series PXI
Embedded Controllers Quick Start Guide is included here.
Installing the cFP-20xx Network Module
To install the cFP-20xx, complete the following steps:
1. Mount the Compact FieldPoint backplane on a 35 mm DIN rail, on a panel, or in a standard 19-inch rack. Before using any of these mounting methods, record the serial number from the back of the backplane.
2. Install the cFP-20xx controller on the backplane. 3. Install I/O modules on the backplane.
4. Install the connector blocks on the backplane. 5. Connect the cFP-20xx to your network. 6. Wire power to the Compact FieldPoint system.
7. Power on the cFP-20xx: Check the DIP switches on the controller, ensuring that the RESET IP switch is not enabled. Plug in each power supply to the Compact FieldPoint system. The cFP-20xx runs a power-on self test (POST) that takes several seconds. You should see the POWER and STATUS LEDs come on. After about five seconds, the STATUS LED begins flashing.
Complete the following steps to install the RT series PXI embedded controllers: 1. Plug in your chassis before installing the RT Series PXI controller. The power
cord grounds the chassis and protects it from electrical damage while you install the module.
Caution To protect both yourself and the chassis from electrical hazards, leave
the chassis off until you finish installing the RT Series PXI controller.
2. Remove or open any doors or covers blocking access to the system controller slot (Slot 1) in the chassis.
3. Touch the metal part of the case to discharge any static electricity that might be on your clothes or body.
4. Make sure the injector/ejector handle is in its downward position. Align the RT Series PXI controller with the card guides on the top and bottom of the system controller slot.
Caution Do not raise the injector/ejector handle as you insert the RT Series PXI
controller. The module will not insert properly unless the handle is in its downward position so that it does not interfere with the injector rail on the chassis.
5. Hold the handle as you slowly slide the module into the chassis until the handle catches on the injector/ejector rail.
6. Raise the injector/ejector handle until the module firmly seats into the backplane receptacle connectors. The front panel of the RT Series PXI controller should be even with the front panel of the chassis.
7. Tighten the four bracket-retaining screws on the top and bottom of the front panel to secure the RT Series PXI controller to the chassis.
8. (Optional) To add Fast Ethernet to your RT Series PXI system, plug in the
PXI-8211 card using the same procedure described in steps 2 through 7. Install any additional PXI cards into the chassis using the same procedure described in
steps 2 through 7.
2-4
Target Configuration—Networked Devices
1. Install LabVIEW Real-Time Module on the host computer
2. Use Measurement and Automation Explorer (MAX) to
configure Compact FieldPoint, FieldPoint, and PXI systems
Note: Host computer must be on the same subnet to configure
RT Series target systems
B. Target Configuration
You must install the LabVIEW Real-Time Module on the host computer before you can begin developing real-time applications. Use the host computer to develop applications and then download them across the network to the RT Series target system.
The host computer must be on the same subnet as the target system for you to configure the RT Series target system.
Target Configuration—Network Settings
Configured [c]FP system Unconfigured PXI system
Configuring RT Series Networked Devices
If you have an RT Series controller with the RT Engine pre-installed (cFP-20xx, PXI-814x RT, PXI-8156B RT, and PXI-817x RT), continue with the configuration instructions below. If you have an RT-compatible controller with Windows pre-installed, you must reboot your controller into RT mode before completing the following instructions.
To configure an RT Series Networked device, complete the following steps: 1. Connect the Compact FieldPoint Network Module and/or the RT Series PXI
controller to the network and power on the module/controller.
2. Double-click the Measurement & Automation Explorer (MAX) icon on the desktop of the host computer.
2-6
After you configure the networked RT system, you can view it in MAX even if it is not on the same subnet. To do this complete the following steps:
1. Right-click Remote Systems and select Create New.
2. Select Remote Device (not on the local subnet) and click Next 3. Enter the IP address of the Remote System and click Finish.
Target Configuration—Install Software
Reinstall or upgrade software from MAX
Installing or Upgrading Software on RT Series Networked Devices
Use the Measurement & Automation Explorer (MAX) to download any driver software or updates to the RT Engine. Launch MAX and select View»Refresh to list any RT Engines on your local network.
Complete the following steps to install or upgrade the software on your remote system: 1. Select your remote system from the configuration tree.
2. Select the Software option.
3. Select Install software. The Select software to download dialog box appears.
4. Enable or disable the check boxes to choose the software you want to install to the remote system.
2-8
Input and Output Hardware Configuration
• Use MAX to configure the remote I/O hardware
• Refer to product-specific documentation for assistance
• You configure the [c]FP and PXI hardware in the next exercise
C. Input and Output Hardware Configuration
You must configure any National Instruments RT-compatible device before you can access it from a LabVIEW Real-Time Module application targeted to the remote system. The next exercise guides you through the configuration of the hardware used in the Compact FieldPoint and PXI systems for this course.
For more information about using any NI products in MAX, refer to the product-specific documentation.
Exercise 2-1
Configure Hardware
Time to complete: 40 min.
Configure the Compact FieldPoint or the PXI target
systems and the I/O hardware using Measurement and
Automation Explorer (MAX).
OB
JEC
TIV
E
Instructor Note: If the equipment is not set up before class, this exercise may take longer than
2-10
Connecting to the Target
For LabVIEW to connect to the RT target you must
configure the target in a project
1. Create a project
2. Create a real-time target
3. Connect to the target
4. Add VIs to the target
D. Connecting to the Target
In order to deploy VIs using LabVIEW Real-Time you must create a project and configure a real-time target in the project.
LabVIEW Projects
Projects manage files and targets
• Use folders and libraries to
organize files
– LabVIEW files (.vi, .vit, .ctl)
– Other files (data files, documentation)
• Targets represent systems you
can run VIs on
– Host computer – Real-time systems – FPGA systems – PDA systems
• Projects also allow you to build
executables or use source control
LabVIEW projects allow you to manage files and targets as you develop a system. Projects are controlled with a Project Explorer window. A project can contain LabVIEW files, such as VIs, custom controls, type definitions, and templates, as well as supporting files, such as
documentation, data files or configuration files. You can organize items in a project into folders and libraries.
Each project can have multiple targets, representing the host computer as well as real-time, FPGA, and PDA systems. When you place a VI in a target in the Project Explorer, the VI becomes targeted to that system and has palettes appropriate to the target.
Projects also allow you to perform tasks such as building executables and interacting with source control programs.
2-12
Folders and Libraries
• Folders allow you to organize files
in the project
– No relation to directories on disk
• Libraries allow you to group a set
of VIs, controls, and variables
– Libraries create a namespace – Items in a Library can be
public/private
– All shared variables must be in a library
Folders Library
You can organize items in a project into folders and libraries.
Folders are a strictly organizational tool. They allow you to group items within a project. Folders do not have any effect upon the hard disk location of files inside them because items in a project are linked to files on disk by a reference. Items in a project must not have the same organization as the files on a disk and deleting a file from the project does not remove it from the disk. Libraries allow you to group and control a set of VIs, controls, and variables. Like a folder, a library does not effect the location of files on a disk. However, files in a library are explicitly linked to that library, adding a file in a library to a project adds the entire library. LabVIEW reports an error if a file cannot locate the library it is a part of, or if a library cannot locate files that are part of it.
Libraries define a namespace, which means that files inside a library cannot have name conflicts with files outside of a library. This allows you to have multiple VIs with the same name in memory at the same time, as long as each VI is included in a separate library.
You can define each item in a library as public or private. VIs outside of the library can use public items, but VIs can use private items only within the same library. Defining public and private items for a library allows you to provide a controlled interface to anyone using the library and prevents users of the library from directly accessing low-level, private items.
Libraries are also required to use shared variables. See Lesson 3, Real-Time Architecture:
Design, and Lesson 5, Communication, for more information about shared variables.
Creating a Project
• Select File»New Project to
create a blank project
• Project Starts with the My
Computer Target
– Place any VIs that run on the
host computer in the My
Computer target
Select File»New Project to create a blank project. A blank project starts with the My Computer target that represents the host computer. Place any VIs that run on the host computer as part of your project in the My Computer target.
2-14
Creating a Real-Time Target
• Right-click the project to add
targets outside of the host
computer (PXI, cFP, and
so on)
• Right-click My Computer to
add internal targets
(PCI Plug-In Devices)
To add an external target, right-click the top level project entry in the project explorer and select
New»Targets and Devices. Examples of external targets include RT PXI, Compact FieldPoint,
and RT Desktop systems.
To add an internal target, such as a PCI plug-in device, right-click the My Computer target and select New»Targets and Devices.
Note You cannot add non-real-time desktop computers to a project as targets.
Creating a Real-Time Target (Continued)
• Choose existing devices on
the local subnet
• Access devices on remote
subnets by IP address
The Add Targets and Devices dialog box allows you to specify the location of your real-time target. LabVIEW automatically detects devices on the local subnet. You can connect to a device on a remote subnet by specifying its type and IP address.
2-16
Connecting to a Target
• Right-click the RT target and
select Connect
• Or run a VI on the target
Right-click on a target and select Connect to establish communication with the target.
LabVIEW verifies that the target responds and checks for running VIs on the target which do not match the current project. If you do not manually connect to the target, LabVIEW connects automatically when you run a VI on the target.
Note You can change the IP Address of the target by right-clicking the target and selecting
Properties.
Adding VIs to a Target
• Any VIs placed under the target
become targeted to that system
– Right-click to create new VIs or add existing ones
– Or drag VIs from windows explorer or other project folders.
• Targeted VIs have palettes that
match the target system
• Targeted VIs are automatically
deployed to the system when run
To run VIs on an RT target, add the VIs to the project tree under the appropriate target. You can add new or existing VIs by right-clicking the target or by selecting the Project menu. You also can drag items from other locations in the project tree or drag files from Windows Explorer. When you add a VI to the project tree under a target, the VI becomes targeted to that target. Real-time targeted VIs display specific real-time controls and function palettes. When you run a real-time targeted VI, LabVIEW automatically downloads and runs on the VI on the target.
2-18
Running VIs on a Target
• When you run a RT VI, the compiled code for the VI is downloaded to the RT Target.
• Data is exchanged between the compiled code on the RT Target and the VI on the RT Host—front-panel communication.
• Ordinary LabVIEW debugging features are available.
Host PC
RT Target
After you connect to a target, you can download a VI onto the RT target. The compiled code for the VI actually downloads to the RT Engine.
The communication between the compiled code and the host PC is transparent to the user. This communication method is called front-panel communication. Refer to Lesson 5,
Communication, to learn more about front-panel communication and other communication
methods.
The Real-Time Development System can use all of the debugging features present in LabVIEW except for the call chain ring. Refer to Lesson 6, Verifying Your Application, for more
information about debugging your application.
Closing a Front Panel Connection
Select the following while the VI is still running:
• Select File»Exit
– Results in this dialog box:
• Right-click the target and select Disconnect
– RT VIs continue to run on the target, but no longer exchange
front-panel communication or debugging information with the host
– Reconnecting to the target automatically opens and re-establishes a
connection with any running VIs
Closing a Front Panel Connection without Closing VIs
You can exit LabVIEW on the host computer without closing the VIs on the RT target. Select
File»Exit to close LabVIEW on the host computer. A dialog box appears asking if you want to
exit LabVIEW without closing RT Engine VIs. If you select Quit and Abort, LabVIEW aborts the VIs running on the target before exiting. If you select Quit and Disconnect, the VIs running on the RT target continue running.
You also disconnect the connection with the RT target from the Project Explorer. When you disconnect, any running VIs continue to run on the target, but debugging and front panel communication are disabled. Reconnecting to the target automatically opens all VIs running on that target and re-establishes the connection for debugging and front panel communication. If you connect to a target, which has VIs running that are not in the active project, LabVIEW prompts you to abort the VIs or add them to the project before opening them.
2-20
Exercise 2-2
Targeting Real-Time Hardware
Time to complete: 20 min.
Create a LabVIEW project and RT target to use for the
project exercises in the course.
OBJ
ECTIV
E
Summary—Quiz
Explain the meaning of the following terms:
• Project
• Target
• Front Panel Communication
Summary
Project—A LabVIEW file that manages files, targets, build scripts, and source control. The
Project Explorer is a window in LabVIEW that allows you to view and manage all aspects of a project.
Target—A piece of hardware that you can download Real-time programs to. Also the item in a
project tree that represents a hardware target.
Front Panel Communication—LabVIEW on the host computer displays the front panel of the
VI while the RT Engine executes the block diagram. A user-interface thread handles the communication between LabVIEW and the RT Engine.
LabVIEW Real-Time Course Manual 2-22 ni.com
Objective:
Configure the Compact FieldPoint or the PXI target systems and the I/O hardware
using MAX.
Throughout the course project, you use either the Compact FieldPoint
system or the PXI system as your target computer. If you are using Compact
FieldPoint, complete part A of any hardware-specific exercises. If you are
using PXI, complete part B of any hardware-specific exercises.
IP Address
1. Determine whether your network uses DHCP (automatically obtained)
or static IP addresses.
a. Right-click My Network Places on the desktop and select
Properties from the shortcut menu.
b. Right-click Local Area Connection and select Properties.
c. Select Internet Protocol (TCP/IP) and click Properties. If the
Obtain an IP address automatically option is selected, your
network uses DHCP. Otherwise, your network uses static IP
addresses.
d. Close the dialog boxes.
Note
If you are attending an instructor-led course, your system is configured for static
IP addresses.
2. Connect your chosen system (Compact FieldPoint or PXI) to the
network. Your system may already be connected for you.
a. If the system uses DHCP, connect the system to the nearest hub
using an Ethernet cable.
b. If the system uses static IP addresses, connect the system to the
computer using a cross-over cable.
Note
If you are attending an instructor-led course, the gray Ethernet cable is a cross-over
cable; regular Ethernet cables are blue.
Compact FieldPoint Configuration
3. Complete Exercise 2-1A.
PXI Configuration
4. Complete Exercise 2-1B.
Complete the following steps to wire the system.
1. Connect a power cable to the power supply attached to the side of the
temperature chamber.
2. Connect the second power supply to the Compact FieldPoint controller
a. Connect the red wire to a V1 input.
b. Connect the black wire to a C input.
3. Connect a power cable to the power supply now attached to the Compact
FieldPoint system.
4. Connect the plugs attached to the Compact FieldPoint modules to the
appropriate input on the temperature chamber.
Configuring Controller
1. Select Start»All Programs»National Instruments»Measurement
and Automation.
2. Expand the Remote Systems tree by clicking [+] to verify that the
remote Compact FieldPoint system is detected. In Figure 2-1, the device
is called
cFPSystem1. Your device may have a different name, or
simply show
0.0.0.0. If no device is listed, refresh the list by selecting
LabVIEW Real-Time Course Manual 2-24 ni.com Figure 2-1. Compact FieldPoint Network Settings Tab
3. Select the device and verify that the Network Settings tab is selected as
shown in Figure 2-1.
4. If the IP address is set to
0.0.0.0, select the Edit the IP settings option
and click Suggested Values.
MAX analyzes your network or Ethernet adapter and inserts the proper
subnet mask, gateway, and DNS server, if available. Then, a dialog box
prompts you for IP Address Suggestion. Choose an IP address that is
not currently used on the network. The IP address listed at the top is the
IP address of the host computer.
Tip
If the network uses DHCP rather than static IP addresses, select the Obtain IP
address from DHCP server option.
5. Record the IP address of the host computer and the target system in a
convenient location. You will need both in later exercises.
6. If you want, you can enter a more descriptive name for the Compact
FieldPoint network module. You also can enter comments to describe
the function of the network module and the bank of I/O modules.
If you have made any changes to the Network Settings tab, click Apply,
to save the changes to the module.
8. A dialog box allows you to specify the name of the Communications
(COMM) Resource for the FieldPoint system, as shown in Figure 2-2.
Click OK to accept the default.
Figure 2-2. Comm Resource Name
At this point, notice that the Data Neighborhood section under My System
has been expanded to show the COMM Resource name and the modules
available on the FieldPoint system.
Configuring the cFP-TC-120
The cFP-TC-120 reads the J-Type thermocouple inside the temperature
chamber.
9. Select the cFP-TC-120 under the Remote Systems section.
Ensure that the Channel Configuration tab is selected, as shown in
Figure 2-3.
10. Select Channel 0 in the Channels list.
11. Change the Range to degrees Celsius.
LabVIEW Real-Time Course Manual 2-26 ni.com Figure 2-3. cFP-TC-120 Settings
12. Click Apply if any changes were made.
Configure the cFP-PWM-520
The cFP-PWM-520 provides pulse-width modulated output power to the
lamp and fan in the temperature chamber.
13. Select the cFP-PWM-520 under the Remote Systems section. Make
sure that the Channel Configuration tab is selected, as shown in
Figure 2-4.
14. Select Channel 0 in the Channels list.
15. Press the <Ctrl> key on the keyboard and select Channel 1 in the
Channels list.
Tip
<Ctrl>-click or <Shift>-click to select more than one channel at a time.
16. Select the checkboxes for Channel 0 and Channel 1.
17. Verify that the Attribute of Period (ms) is set to 10.
Figure 2-4. cFP-PWM-520 Settings
18. If any changes were made to the Attribute values, click Apply to accept
the configuration changes.
Test the Inputs and Outputs
19. Expand the cFP-TC-120@1 under the My System»Data
Neighborhood»FieldPoint Items tree.
20. Select Channel 0 and rename the channel to
Temp, as shown in
LabVIEW Real-Time Course Manual 2-28 ni.com Figure 2-5. cFP-TC-120 Temp Channel Configuration