Adventures in LabVIEW GDevCon#4 Developer Conference

Blogs, LabVIEW Blog
Hey there, LabVIEW enthusiasts and curious minds! Buckle up because I'm about to take you on a thrilling ride through the highlights of GDevCon4, the LabVIEW event of the year. Whether you're a seasoned LabVIEW wizard or just dipping your toes into the world of code, this event had something for everyone. So, let's dive into what made G Devcon 4 an absolute must-attend. LabVIEW: More Than Meets the Eye First things first, I need to forget any preconceived notions I had about LabVIEW being confined to the realm of test and measurement. At the conference, I discovered that LabVIEW can boldly go where no LabVIEW has gone before - even to the land of ERP systems! Matthias wowed us with a case where LabVIEW was used to develop an…
Read More

Window Losing Focus

Blogs, LabVIEW Blog, Snippets
TLDR: When any window in Windows OS loses focus after closing a dialog, the best method that works for me to get back to normal behavior is by killing the explorer.exe from the task manager. For safety, I keep the command prompt open so that I can reopen Windows Explorer again if it doesn't reopen automatically. Just pass the explorer.exe command in the command prompt. Quite a few times, I found while working in LabVIEW that when I open some dialogs like VI properties or LabVIEW Options and close those dialogs, focus is lost and my Ctrl+Space or Ctrl+W doesn't work in the previous window I was working with. Initially, I thought it was due to some bug in LabVIEW, but later found that Windows Explorer is taking on some…
Read More

Pipeline: Repository Variables in GitHub Bitbucket for Version Info

Blogs, LabVIEW Blog, Snippets
Recently I've been working a lot with pipelines to automate the build aspects of a LabVIEW framework development and it's quite interesting how it all takes in various directions. To be frank, I think there are too many options when you come into this world from a fixed monolithic application world. Anyways a new learning today is the repository variables used as version info. LabVIEW Project & Version Limitation When it comes to LabVIEW (or maybe in other environments too, I'm not sure), you can save the version info of a built config only to the source file, ie., .lvproj in the LabVIEW case. You can't change this version info in the .lvproj file after your build server builds the executable because you usually don't want the build server to…
Read More

Reduce Path Lengths using System Links

Blogs
Sometimes when you're working with many source files, easily the file paths can go deeper in length and causes you trouble in platforms which has path length limitations. For example, LabVIEW has only a path length of 260 characters, then it starts searching for the same file even if exists in the same location beyond the 260 char path. In such cases, it would be helpful if you can reduce the length of the path but can still maintain a single copy of source files but don't like to move around copies of source files to root directories. Solution My favorite solution for this is to use symlinks or symbolic links. The way symlinks work is pretty much like a shortcut but only that it makes some hard links to…
Read More

Integrate LabVIEW with Python to access SaaS Services

Blogs, LabVIEW Blog
The world is bombarding with SaaS services all over and it's time to connect LabVIEW to the SaaS world. Most of the SaaS service provides Python API and integrating Python API to LabVIEW is gradually becoming a norm. Recently I spoke on GLA Summit 2021 about how we can integrate the LabVIEW with SaaS services with a producer-consumer loop in the python layer. Demonstration Video This video explains a top-level view of how this really works for a simple email SaaS from mailersend. https://www.youtube.com/watch?v=YQeJaod8Ti8 Presentation Slides Here are the slides where I explained one of the Python to LabVIEW integration techniques that I adopted for integrating the SaaS services to LabVIEW. GLA Summit 2021: Python Integration & Door to SaaS worldDownload
Read More

LabVIEW or TestStand File Diff using TortoiseSVN or TortoiseGit

Blogs, LabVIEW Blog
When you're extensively working in LabVIEW or TestStand with multiple developers, you could easily end up in the need of merging different VIs or sequences. The LVCompare tool and TestStand File Diff and Merge Utility come in handy. Here is how you set up the Tortoise settings to make the diff handier right from the context menu using TortoiseSVN or TortoiseGit. You can diff the files this way without the need to go through the file selection dialog boxes. https://www.youtube.com/watch?v=UsvqPt8MB0g&feature=youtu.be For .vi file of LabVIEW "C:\Program Files\National Instruments\Shared\LabVIEW Compare\LVCompare.exe" %base %mine For .seq file of Teststand "C:\Program Files\National Instruments\Shared\TestStand\FileDifferLauncher.exe" %base %mine References For LabVIEW diff with merge, there is a good article here from Delacor.
Read More
Not Enough Memory in TestStand + LabVIEW environment

Not Enough Memory in TestStand + LabVIEW environment

Blogs, LabVIEW Blog
If you have your test running in 32bit version of LabVIEW and 32-bit version of TestStand, and especially if your application is dealing with image processing algorithms, then there are numerous chances you end-up with a Not Enough Memory dialog from LabVIEW as below. There are some creative way and some workaround way to fix this memory issue. Not enough memory dialog from LabVIEW. 1. Unload option Find out the step which consumes most memory and change the Unload Option for that step in TestStand properties. I prefer Unload after step executes. This option would unload that step from the memory and thereby releasing any data stored in that module. Ensure if this module deals with any references, which upon closing, other modules might get affected. Choosing Unload after step…
Read More

Simple Event Logger for LabVIEW Developers

Blogs, LabVIEW Blog
An event logger is a logger which can log various events or error happening in an application run.  Usually it would be a simple text file or csv file with info about the run details of the application.  An event logger can help in various ways. It can help in identifying the error happened after an operator simply tells you that "Hey you developer! Something went wrong in your application, debug it quickly, production is paused cuz of this issue!!".  In such case, if you have an event logger, you wouldn't need to rerun the app to identify error again.  Just simply looking at the error log can give a hindsight. It can help if the LabVIEW application is completely parallel, then identifying the root-error becomes difficult with lots of…
Read More

A Unique Momento from Tessolve Team..!

Blogs, LabVIEW Blog, Snippets
It's very honourable to receive such an unique momento and team congratulations from Tessolve for the such an unique project. For Tessolve in itself this was not a regular project. I was called to develop a test system for calibrating a sensor from IDT.  It's an 8-sites parallel test executor developed with actor-framework in LabVIEW to make it highly scalable in future.  The project in itself is special in a way that water flows through the test system.  Then don't fail to imagine that water flowing in test floor too.!  Yes, literally hit happened and everyone had to ensure all safe ways to safeguard the other testers in test floor. I had great pleasure in architecting this software in LabVIEW, developing myself and getting help from a team of developers to support…
Read More

Running LabVIEW code through VPN Netowrks

Blogs, LabVIEW Blog
Have you ever executed a huge set of LabVIEW code which resides in other PC but you have to run them in your PC through VPN network channel?  Recently there's been a request from one of our customer to do so.!  The reason is "CONFIDANTIALITY" .  The source code can't be moved to a vendor PC and can only be accessed via their VPN. (more…)
Read More