EN | DE
Home
  Kontakt
  Sitemap
  Search
 
   HOME   /   NEWS   /   PRODUCTS   /   REFERENCES   /   ABOUT US   /   CONTACT & SUPPORT
 Schmid Elektronik AG
 


FAQ ZBrain/LabVIEW
Software
LabVIEW
 

LabVIEW and LabVIEW Embedded

- What's the idea behind graphical embedded system design ?
- What is LabVIEW ?
- What is LabVIEW Embedded ?
- What is the LabVIEW Embedded Module for ADI Blackfin Processors ?
- Can I debug my LabVIEW Diagram and Realtime Code in parallel ?
- Are there runtime licences necessary ?
- What is the same and what is different from LabVIEW and LabVIEW Embedded ?
- What are the advantages over traditional “C/C++”-Programming ?
- What are the drawbacks of graphical programming ?
- We already have a LabVIEW license. Can we upgrade to LabVIEW Embedded ?
- What is included in the default LabVIEW library ?
- Are all LabVIEW VI's running on embedded targets ?
- What math analysis and signal processing functionality is provided ?
- How does LabVIEW distinguish between a PC and an embedded target ?



What's the idea behind graphical embedded system design ?

Graphical programming simplifies application development for standalone embedded systems. High level function blocks abstract low level complexity and a block diagram provides intuitive views of the entire hard- and software. Graphical system design also streamlines the development process since a single language can be used for design, simulation, prototyping and deployment to a custom target. Therefore, the target hardware decision can be postponed until all HW/SW requirements are set.

What is LabVIEW ?

LabVIEW is a programming environment for graphical system design and created by National Instruments. It is intended to help engineers, domain experts and scientists to work with real-world signals and visually analyse the results. LabVIEW possesses full-featured programming capabilities like data structures, looping structures, event-handling and object-oriented programming. The dataflow programming model is intuitive for developers familiar with block diagrams and statecharts. The execution order in LabVIEW is determined by the flow of data between nodes. This simplifies the creation of block diagrams that execute multiple operations in parallel on several cores, which makes it suitable for multitasking and multithreading implementations. LabVIEW compiles all code at edit time, thereby avoiding syntax errors while drawing the code. A unique debugging feature known as execution highlighting allows watching step by step or continous data moves throught the program and seeing what values are passed from one function to another.

What is LabVIEW Embedded ?

The LabVIEW Embedded Module is an Add-on to program custom hardware based on 32 bit microprocessors with LabVIEW. A built-in C-Code generator translates the LabVIEW diagram into executable realtime code to be deployed to the embedded platform using the standard toolchain services. After power cycling, the standalone platform boots within milliseconds.

What is the LabVIEW Embedded Module for ADI Blackfin Processors ?

Building on the LabVIEW Embedded technology, this module delivers a solution to graphically program Analog Devices Blackfin Processor targets. By integrating with the Blackfin's default VisualDSP++ Toolchain, LabVIEW abstracts details such as compiling, linking and debugging with some high-level and user friendly buttons. Complex design tasks like memory mapping become straightforward even for the unexperienced embedded system programmer. The C-Source generated by the LabVIEW Code generator in the background is finally merged with the multitasking kernel VDK to build a real-time firmware which is loaded into the blackfin target for standalone operation.

Can I debug my LabVIEW Diagram and Realtime Code in Parallel ?

Yes, you have the ability to single-step through your graphical code in LabVIEW while simultaneously visualizing the embedded code in VisualDSP++.

Are there runtime licences necessary ?

No, you can produce as many targets with LabVIEW Embedded as you like.

What is the same and what is different from LabVIEW and LabVIEW Embedded ?

LabVIEW is the common technology for graphical programming. A standard palette provides a wealth of default VI's and structures and most of them also run on the embedded target. LabVIEW Embedded adds on specific micro-processor functionality with the following advantages and features:
a) Small custom specific formfactors with IP6x protection opens the door to embedded systems with high space constraints and rugged environments   
b) Interrupt Callbacks and Event Driven Software are added to sequential and parallel dataflow
c) Mobile, handheld devices can now be realized
d) Battery supported operations for Mobile, Handheld or Field Devices thanks to battery and dynamic power management
e) Instant availability (booting in millisecond range)
f) Limited memory ressources (currently 64MB)
g) Limited processor ressources (500 MHz compared to a 4 Ghz PC)
h) The Blackfin is a fixed point processor with floating point emulation
i) “Housekeeping” like error detection and -recovery is vital for robust long-term operation

What are the advantages over traditional C/C++ Programming ?

C-Code is generally 1 dimensional and a typical project consists of several dozend files listing hundreds or thousands of lines of C source code. Graphical programming gives you 2½ dimensions. Function blocks can be created semi automatic out of the diagram, so modular design is supported and encouraged. VI (Virtual Instrument) icons are intuitive and easier to use compared to C functions. They are drag & dropped from a palette into the code and the environment automatically connects to them. This is in contrast to remembering function and parameter names in the C world. Cleaning up syntax errors after the first compilation of new code is unknown to LabVIEW users thanks to the online syntax checker. Multitasking, interthread-communication, interrupt handling and task-synchronization are usually tricky mechanisms, but they are user-friendly in LabVIEW.

What are the drawbacks of graphical programming ?

High abstraction demands for more hard- and software ressources. Graphical code is never that efficient like C programs in terms of speed and memory allocation. Since it relies on multitasking functions, there's always a basic overhead to maintain the VDK kernel services.

We already have a LabVIEW license. Can we upgrade to LabVIEW Embedded ?

Yes, upgrade either from a LabVIEW Full or a LabVIEW Professional License. Detailed pricing on request.

What is included in the default LabVIEW library ?

Basic programming functions like structures (loops, conditions, etc), arrays, clusters, numeric functions, file I/O, boolean operators, strings, comparisons, timing, dialogs, waveforms, synchronisation, graphics and report generations. Signal Processing and Math Analyses.

Are all LabVIEW VI's running on embedded Targets ?

Most default functions, math and signal processing VI's run on an embedded target. Some I/O like writing and reading from text and binary files is handled differently on the embedded platform. Some mechanisms such as ActiveX is well known in PC/Windows applications but doesn't exist in the embedded LabVIEW & Blackfin world. Generally, when a target is selected, only the VI's appearing on the function palette are supported by the platform.

What math analysis and signal processing functionality is provided ?

The default LabVIEW math and signal processing library includes over 600 VI's to implement high level models directly on your embedded platform: Transformations, Filters, Windows, Linear Algebra, Statistics, Geometry, Polynomes, Frequency Domain (FFT), Time Domain (eg. Convolution), Complex Numbers, Conversions, Trigonometry, and Logarithms.
For time critical high performance digital signal processing (DSP) functions, native hand optimized fixed point math VI's are supplied for the Blackfin Processor.

How does LabVIEW distinguish between a PC and an embedded target ?

LabVIEW simultanously supports several different platforms in the same project. The environment automatically switches between all targets and the VI's in the LabVIEW diagram adapt to the new target type.