John Pasquarette, Director of Software Marketing at NI , will discuss the use of abstraction in advanced design tools and how to apply these tools in conjunction with NI's LabVIEW graphical system design software to accelerate the development process.
Q: What is a “computational model”?
Mr. Pasquarette replied :
The term "computational model" has long been used in academia to abstractly define a computer system. Simply put, a computational model is a special way to describe the functionality of a software module. We use this term to describe various advanced desktop programs and embedded systems. Computational models include text-based, object-oriented, statechart, and graphical data flow. Each model often has relative advantages and disadvantages in different fields and occasions.
Enabling LabVIEW to program using different computational models is an important part of our vision for graphical system design. NI provides users with a variety of computational models to choose from in LabVIEW for application programming.
LabVIEW
includes graphical data flow programming, dynamic system simulation, text-based programming, textual mathematical programming, and object-oriented programming.
In LabVIEW 8.5, we have added another computational model - LabVIEW statechart programming, which is based on the UML (Unified Modeling Language) specification statechart, which makes it easier for users to design complex systems using states, state transitions, and events. LabVIEW users can also match various computational models to better describe the systems they develop. For example, when a programmer designs a laser control system, he or she uses a state diagram model to define the state, a graphical data flow model to execute
FPGA
logic control, and a simulation model to dynamically simulate the laser.
Q: Why did NI choose the state machine view as the next computational model?
Mr. Pasquarette replied:
For years, designers have used traditional state diagrams to quickly describe the functionality of their systems. State diagrams add the concepts of concurrency and hierarchy to traditional state diagrams, allowing designers to describe systems that involve parallel tasks. In addition, the state machine view adds a formal way to respond to events, allowing these events to clearly describe the system response. This is particularly useful for embedded devices, control systems, and complex user interfaces. In addition, the state machine view provides a simple and natural way to demonstrate system functionality. When LabVIEW's graphical data flow is used to define the behavior of each state, the state machine view can serve as an executable specification.
Q: Who will benefit from these advanced design tools?
Mr. Pasquarette replied:
The main beneficiaries of these high-level design tools are those whom we call "domain experts." They are not engineers and scientists who specialize in embedded system development; rather, they are innovators in biomedical instrumentation, mechatronics, and high-energy physics. They are the ones who want to bring these revolutionary products to market. When they apply high-level design tools such as LabVIEW's ready-made model hardware, they can quickly use their designs to verify the correctness of the algorithms through real inputs. High-level development tools enable these domain experts to embed their designs into hardware without having to become embedded experts.
Q: When users use high-level design tools, do they sacrifice low-level control?
Mr. Pasquarette replied:
There is a common saying that there is no free lunch, and this also applies to software design. High-level design tools provide less optimization features than low-level tools. However, the trade-off is that the increasingly complex designs and shorter time to market make this sacrifice worthwhile. Designers no longer have to wait for embedded experts to develop assembly code.
In the process of applying high-level software tools to design, some key factors are necessary. In order to complete the design, hooks (a simulation technology that uses I/O multiplexing) must be provided for low-level features and functions. In addition, high-level tools must provide for the reuse and integration of legacy code. This is why we always provide some low-level programming structures and functions in LabVIEW and methods to call existing code such as C code and
VHDL
in LabVIEW FPGA Module and Text Numeric Module
. Finally, the code developed with high-level tools must be reusable on hardware platforms that can be widely used. For example, a machine designer can use LabVIEW and any of the LabVIEW models of computation, including state diagrams and simulation models, to build his or her control prototype and monitoring application on a desktop system and then apply the same code to an embedded control system, such as NI's
CompactRIO
.
Q: Many designers think of LabVIEW as a testing tool. So what role does LabVIEW play in the design arena?
Mr. Pasquarette replied:
LabVIEW has been used as a design tool since its inception in the 1980s. The original graphical dataflow has been transformed into a great design methodology for a wide range of systems, from telescope adjustment devices to analytical instruments. A large number of LabVIEW international agreements have been applied to advanced mathematics, analysis and signal processing, including special tools such as the LabVIEW Digital Filter Design Toolkit, which have drastically reduced the development time of these systems.
In the last 10 years, LabVIEW's design capabilities have grown to include programming embedded real-time hardware. We have introduced technologies such as LabVIEW FPGA, so that engineers can design hardware logic using graphical programming. Because graphical dataflow can intuitively describe parallel software behavior, it is an ideal computational model for parallel processing environments such as FPGAs. The latest version of LabVIEW applies this similar experience to the programming of real-time multicore systems. Many of our users have experience with embedded design using LabVIEW. In addition, with the LabVIEW Microprocessor SDK, we have extended the use of LabVIEW to any 32-bit microprocessor. The embedded hardware and diverse computational models provided by LabVIEW make it an effective design tool with significant productivity advantages.
Previous article:Application of LabVIEW and MATLAB Hybrid Programming in Digital Antenna Array Testing
Next article:LabVIEW is an automatically multithreaded language
- Popular Resources
- Popular amplifiers
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- 【GD32L233C-START Review】3. Porting an operating system
- Understanding Envelope Tracking Technology (ET) in 5G
- Rapid IoT Prototyping Kit SLN-RPK-NODE
- Raspberry Pi Windows IoT Development (IV) UART Interface
- Pressure sensor problem
- [Popular Science] What is an attenuator? How to use an attenuator?
- Using FPGA to implement optimized fingerprint recognition preprocessing algorithm.pdf
- There is a new IoT product project that is about to be launched, but the definitions of the parameters of the Bluetooth chip NRF52832 are not yet clear,...
- MSP430 Series Embedded Experiment Tutorial---Basics
- Which of the current mainstream smart home wireless protocols is better?