10
Lesson 4 LabVIEW RT Chad Evans Applications Engineer

Fpga Lesson 4 (Rt)

Embed Size (px)

DESCRIPTION

labview fpga

Citation preview

Page 1: Fpga Lesson 4 (Rt)

Lesson 4LabVIEW RT

Chad EvansApplications Engineer

Page 2: Fpga Lesson 4 (Rt)

Resources for Learning LabVIEW Real-Time• Real-Time User Manual

– Start>Programs>National Instruments>LabVIEW 7.0>LabVIEW RT documents>Search the LabVIEW Real-Time Bookshelf>LabVIEW Real-Time User Manual

• LabVIEW Real-Time Measurement and Control Course ($995)

• NI Developer Zone > Development Library > Measurement and Automation Software > LabVIEW > Real-Time Module

Page 3: Fpga Lesson 4 (Rt)

Using LabVIEW Real-Time and a RIO DeviceWorkflow1. Plan application

a) I/O and timingb) RIO Device communication and timingc) Deterministic software operations on RT (Control, data acquisition, etc.)d) Non-deterministic operations on RT (Network, File I/O, etc.) e) GUI elements, other code to execute in Windows

2. Build and test FPGA VI (emulate, interact)3. Build and test Time Critical RT VI4. Build and test non-deterministic VIs (or use RT Communication

Wizard)5. Build and test Windows VI (or use RT Communication Wizard)

RT PXI ControllerPXI-7831RRT VIs

FPGA VI

Windows Computer

Windows VI Com TC

Page 4: Fpga Lesson 4 (Rt)

LabVIEW Real-Time Time Critical Priority

• Disable USB in BIOS• Use only deterministic operations in the loop

– Deterministic: FPGA communication, Real-Time FIFO– Non-Deterministic: Memory allocation, file I/O, network communication, large global

variables, using resources shared with other VIs• Set VI Priority to Time Critical (File>VI Properties>Execution)• Remove all controls/indicators from deterministic loops• one Time Critical VI, with one loop • Must sleep for lower priority VIs to run • Polling without sleep mode will starve lower priority VIs

RT PXI ControllerPXI-7831RRT VIs

FPGA VI

Windows Computer

Windows VI Com TC

Page 5: Fpga Lesson 4 (Rt)

Multithreaded FPGA Host Interface

• While waiting on RIO interrupts in Time Critical Priority, lower priority VIs can still communicate with the FPGA VI.

RT PXI ControllerPXI-7831R

RT VIsFPGA VI

Windows Computer

Windows VI Com TC

Normal Priority

Page 6: Fpga Lesson 4 (Rt)

RT Communication Wizard

• Uses Time Critical VI to create the Communication VI and Windows VIs

• Uses Real-Time FIFO and choice of network communication method

• New in LabVIEW Real-Time 7.0

RT PXI ControllerPXI-7831RRT VIs

FPGA VI

Windows Computer

Windows VI Com TC

Page 7: Fpga Lesson 4 (Rt)

RT Communication Wizard (cont.)

• Tools>RT Communication Wizard• Put controls or indicators in Time Critical VI for what you want communicated (these will be removed)

Page 8: Fpga Lesson 4 (Rt)

Exercise 4.1

• To use the RT Communication Wizard to create a Time Critical VI for controlling the FPGA VI, a Normal Priority Communication Loop, and a VI to run on Windows.

Page 9: Fpga Lesson 4 (Rt)

Miscellaneous Real-Time Stuff

• FTP Server• Web Server• Remote Front Panels• E-mail• File I/O

Page 10: Fpga Lesson 4 (Rt)

Lesson 4 Summary

• Use LabVIEW Real-Time for deterministic processing

• Use the RT Communication Wizard for help in creating communication VIs