Labview Object Oriented Programming
Encapsulation
Labview has evolved to offer classes with textual programming language capabilities of composition and inheritance. Class is like a cluster. It contains data such as boolean, numeric, arrays etc. Unlike clusters, we can't simply unbundle class and access its data. So if an app data is enclosed within class, we can rest assured it is save...
I am pleased to have successfully achieved Certified LabVIEW Architect status which is the highest-level qualification with National Instruments platform and LabVIEW programming language. I passed exam on my first attempt. I chose standard Module/API based architecture that I intend to implement in most of my labview projects. It is very neat architecture and easily scales. The architecture also helped...
Labview Error Handling
Labview vi when programmed neatly with error terminals could be a good repeatable code. Any new applications for vi would successfully pass error out to the error out terminals of the vi which means developers find bugs by only monitoring inputs and outputs of the vi without requiring to look deep into the code. Here is an...
Compact RIO Controllers
Composition of CRIO PAC
Compact RIO is industrial ruggedized Programmable Automation Controller PAC that provides interface to C Series Module for I/O connectivity. Certain models carry Field Programmable Gate Array in the back plate chassis. A full Compact RIO PAC controller could be a combination of and FPGA Chassis with hot-swappable C Series modules and a pluggable real...
Data Acquisition Systems Applications of data acquisition system
Data acquisition systems are required to test products prior being used in service or by public. Many products are required to be subjected to extreme conditions to ensure the product would still be operational and not detrimental to environment. For instance, air craft motor drive must be tested under same atmospheric condition that...
Programming using DAQ functions
DAQ devices
Many National instrument devices such as PXI, SCXI, PCI/PCIe, USB use NI DAQmx drivers and library functions within labview to achieve data acquisition and generation. The most common I/O is Digital Inputs, Digital Outputs, Analogue Inputs, Analogue Outputs and Counter channels. In this article, I would briefly go through some of the good practices that...
Labview Projects
Since the release of labview project explorer, it has become easier now to manage labview projects. Labview project file names ends with .lvproj as apposed to .vi which is the file extension for labview 'subroutines' and .exe for executables on windows OS. Through labview projects, one can easily create new vis, libraries, controls, classes even executables and installers....
Programming FPGA and CRIO
In this article, I wanted to briefly go through few practices that I use to develop a compact rio application. A full Compact RIO controller combines FPGA with real time processor. Labview developer could utilise all target levels to develop machine app that would offer maximum resources utilization and reliability to mention only few of the...
Labview Reentrant and Non-reentrant vis
The native ability of labview programming language to execute parallel code could be restricted if a vi called more than once on the block diagram is not set appropriately - reentrant/non-reentrant execution. By default, all vis are configured as non-reentrant execution. Reentrant vis are like multiplication or addition functions. we want to place as many functions...
Multithreading with Labview
Today we execute labview apps on CPU with hyper-threading capabilities and programmer must make every effort possible to achieve maximum task handling, optimisation and prioritisation. In order to further achieve improved reliability and execution time for the tasks, labview is equipped with 5 levels of 'Execution Subsystems'. Each execution subsystem could be configured to handle programming tasks...