Archive for the ‘time’ Category

Today’s post is part of a series exploring areas of focus and innovation for NI software.

Time: a precious commodity. It’s even more precious when talking about your own time.


Wikipedia, as usual, provides an enlightening perspective: “Time has long been a major subject of study in religion, philosophy, and science, but defining it in a manner applicable to all fields without circularity has consistently eluded scholars. Nevertheless, diverse fields such as business, industry, sports, the sciences, and the performing arts all incorporate some notion of time into their respective measuring systems.” NI is no different than this generic definition. We heavily incorporate time into our respective measurement and control systems.


A Brief History of Time is a favorite among the NI team in part due to our intimate history with time—both in our own engineering and within our products for other engineers. We were among the first in test and measurement to effectively implement time into products. For decades, LabVIEW has incorporated time in native G programming concepts. We first introduced real-time system integration (RTSI) for measurement timing and synchronization in our PCI DAQ products wherein LabVIEW  and the NI-DAQmx driver rout the RTSI automatically.  Additionally, we are one of the only major test and measurement vendors to offer a PXI timing and synchronization product line (for PXI, RTSI is built into the backplane). Through shared timing and synchronization, you can vastly improve the accuracy of measurements, apply advanced triggering schemes, or synchronize multiple devices to act as one for extremely high-channel-count applications.


Internally, we refer to “time” as a “first-class citizen” of our platform. Engineers benefit from this “first class-ness” every day. You see this elevated status in applications like the world’s first real-time optical coherent tomography (OCT)  imaging system to enable early cancer detection. This application uses LabVIEW and PXI for OCT and combines 320 simultaneous channels at 10 MS/s while LabVIEW performs >700,000 FFT/sec. Time is also a major player in controlling the world’s largest telescope. With 1.87 teraflops of data, 64 compute notes at 512 cores, and 14,000 samples every 2 ms; time matters. The Large Hadron Collider (LHC) at CERN is also taking full advantage of NI’s complex timing capability.  The LHC is a complex of interconnected circular and linear accelerators. All devices that serve the accelerators (magnets, kickers, and more) must be precisely synchronized and controlled by a central control system. CERN adopted LabVIEW FPGA to serve as the timekeeper for more than 100 collimators. Inside the collimators, LabVIEW performs collimator control for approximately 600 stepper motors with millisecond synchronization over the 27 km of the LHC.


However, this blog series as I hope you know by now, is about where we are investing in our products. With new technologies, we know we can significantly improve your ‘first time to measurement’ AND complex mastery of time for highly distributed, synchronized, heterogeneous systems.


Time to First Measurement

Our insatiable need for instant gratification translates directly to our measurement and control systems. When you plug in your DAQ device or myRIO, you want to see data immediately to not only know that everything is working properly, but to gather information and insights as quickly as possible. We are currently exploring a scalable use-model of “interactive panels” to ensure you have instant access to measurements, as well as approachable and interactive analysis in a manner that integrates seamlessly into your G experience when you need to automate.




Figure 1. Interactive panels will provide instant data access, visualization, and options for exploration.

Time-Sensitive Networks

Building on our leadership in measurement and control, we are participating within the IEEE 802 standards group and the AVnu Alliance to help define the Time Sensitive Networks (TSN) standard. TSN will be part of the next revision to standard Ethernet technology and will provide a standard mechanism for network-based clock synchronization, high reliability using bandwidth reservation and path redundancy, and bounded latency enabling network-based, closed-loop control.   This evolution of the Ethernet standard is essential for LabVIEW-based system design tools and will enable creation of distributed, coordinated measurement and control systems that will be heart of the industrial internet of things.




Figure 2 - Distributed control system paradigm shift 1974 to 2016 and beyond.


You—the engineers and scientists of the world—are solving the grand challenges, and you need time. You need time so that your measurements and control algorithms are correct and synched. You need time so that you have an accurate reference for analytics, insights, and correlations. Most importantly, though, you just plain need time. You need YOUR time to tackle those grand challenges in the most efficient and effective manner possible. Oh, and getting some of your time back means you can enjoy a little more of that thing called life; but that’s in another blog. 


Until next time…


Shelley Gretlein Headshot


Today’s Featured Author

Shelley Gretlein is a self-proclaimed software geek and robot aficionado. As NI’s director of software marketing, you can find Shelley championing LabVIEW from keynote stages to user forums to elevator conversations. You can follow her on Twitter at @LadyLabVIEW.

LabVIEW is all about reuse. Have an existing analysis function built in C or .m file? The Library Function Node or the MathScript Node is your friend. Starting on a new project? Make use of the new templates and sample projects.


Programmers are lazy efficient. There is always some new pressure to get things done better, faster, or with less resources (entropy, anyone?) so striving for efficiency is in programmers' DNA.


To help you be even more efficient, here is a list of LabVIEW add-ons and tools that will help save you time.


All of these can be found in the LabVIEW Tools Network online or in LabVIEW itself:


11-5-2013 10-34-51 AM.png

11-5-2013 10-36-29 AM.png


  1. (Free) TSVN Toolkit by Viewpoint Systems Inc. - If you are using TortiseSVN (one of the most popular free Subversion clients) for Source Code Control (SCC), then this tool is for you. It brings all of functions of SCC right into the LabVIEW Project. If you don't use Source Code Control at all, I highly suggest you change your mind before you experience the heartache of completely losing all of your work to a crashed hard drive. Here is more information on how to set up SCC in LabVIEW and other software engineering best practices.
  2. (Free) OpenG Libraries by OpenG - Hundreds of free, reusable VIs from the OpenG community. The community has been adding useful VIs to this collection for years. This is a must-have for LabVIEW developers.
  3. (Cost) EasyXML Toolkit by JKI - Make use of a standard XML schema to easily exchange data with external services. Using XML data in LabVIEW is also made easier by using a cluster. Any developer using XML in any way with LabVIEW would save development time by using this toolkit.
  4. (Free) MGI Library by Moore Good Ideas - Another great collection of useful VIs that all LabVIEW developers spend time creating themselves. Stop building your own and use these.
  5. (Free) VI Box XControls by SAPHIR - Don't you wish that Tab controls in LabVIEW operated a little more like the Chrome web browser's tabs where you can click-to-dismiss, reorder, and pull them off to make them their own window? This does just that. This is an awesome UI tool
  6. (Free) UI Control Suite: System Controls 2.0 - Speaking of UI, this gives you additional controls and indicators to help make your front panels more professional and up-to-date.
  7. (Cost) Deploy by Wirebird Labs - If you ever compile your LabVIEW code into an executable and send it somewhere else to run, you need this tool. This completely automates the process of sending your executable to others in a professional way and also has automatic update alerts.
  8. (Cost) VI Package Manager (VIPM) by JKI - If you are building or using reusable libraries, you need this tool. This makes sure that everyone is using the most up-to-date library without the pain of relying on zipping up the files and emailing it to people. The LabVIEW Tools Network even uses VIPM to send the libraries to your machine.
  9. (Cost) GOOP Development Suite by Symbio - Object-oriented developers in LabVIEW need this tool. It allows you to automatically generate a design description so you can visualize dependencies and state machines (something that is quite difficult normally with object-oriented architectures). This is the only UML tool that integrates directly with LabVIEW.
  10. (Free) Code Capture Tool by LAVA - Another great tool from the greater LabVIEW community. This allows you to quickly capture and annote code to be saved as images. This is useful if you are needing images for help documentation or posting them online.


Now that is just a quick list of some of the many useful tools that are out there for LabVIEW developers.


Have a favorite tool or add-on that wasn't on this list? Add yours to the comments below.

NI just announced open registration for the NI Technical Symposium, a series of events throughout North America that showcase the latest NI technologies and development techniques for engineers and scientists working with measurement and control systems.


Offered from October to December in 24 different cities, each NI Technical Symposium event will deliver hands-on training, new product demonstrations, technology exhibitions from National Instruments Alliance Partners and presentations from NI engineers and industry professionals. The program features a morning keynote and more than a dozen technical sessions designed to help you increase productivity, reduce costs and optimize your system’s performance.


Highlights from this year’s technical program include hardware-in-the-loop and real-time testing methods, RF vector signal analysis techniques, best practices for using NI LabVIEW system design software, and tips for optimizing DC measurements for speed and stability. NI engineers will also introduce you to LabVIEW 2011 and provide hands-on programming with the LabVIEW Real-Time Module. Additional product trainings cover the new one-slot NI CompactDAQ chassis and next-generation NI Single-Board RIO devices.


To register for an NI Technical Symposium near you, visit

NI recently released two new training courses covering LabVIEW Real-Time.  LabVIEW Real-Time 1& 2 will replace the previous LabVIEW Real-Time Application Development course.  Both courses are two-day classroom courses or three half-day online courses.


LabVIEW Real-Time 1 introduces the concepts of real-time development including determining when a real-time operating system is needed and identifying the hardware architecture of a real-time system.  Students will be able to get hands on experience setting up real-time hardware and software using CompactRIO and LabVIEW Real-Time.  In addition, LabVIEW Real-Time 1 covers hardware and software timing, communication techniques, performance verification and deploying a real-time application.


LabVIEW Real-Time 2 starts off having students look at application and design requirements for a real-time system.  Students then learn more advanced data sharing and communication methods before moving on to learn techniques to improve the reliability of a real-time application.  Finally, the course covers benchmarking, validation, and optimization.


See the course details here.