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

SVN Externals

Blogs, LabVIEW Blog, Snippets
If you are looking to reuse a project which already exists in another project and if you need that new project gets updates of the already existing project then-and-there, there is a very good feature in SVN called as externals to help on this kind of requirements. Advantages You can avoid multiple copies of the same source in SVN/source control repositories. Get updates from the root project as and when there is an update.  So no need to manually copy the project again when there is an update. SVN-logs are maintained for the root project from the new project and hence better historical control. In case you don't need updates from root project, use specific revision to freeze to selective version. How does that works? This can be best explained…
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

SPI communication from LabVIEW using FT4222

Blogs, LabVIEW Blog
I've been recently asked to help out with some SPI communication support with FTDI FT4222 device.  For those who don't have idea about this comm., it's one of the famous inter-controller communication method.  The SPI comm. speed with FT4222 can go up to 53.8Mbps.  Really, it's that much speed however you should have board designed for that much speed. Here is a short story on how I did it. I developed low-level LabVIEW drivers which essentially uses the LibFT422 DLL from FTDI.  The 4 important SPI comm., functions to be achieved are SPI Master Read SPI Master Write SPI Slave Read SPI Slave Write After writing the low-level drivers in LabVIEW, I wanted to do the real testing. But to do the real testing, I don't have access to the…
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

Recover Files Using Window’s “Previous Version” Property

Blogs, LabVIEW Blog, Snippets
Have you ever encountered that due to some bug in your software the imporant file has been deleted or overwritten?  May be that file could be important data logged in the production or could be your old source code.  Do you know that windows has some capabilities to recover those missed files? Recently I encountered such issue.  My own holy software which passed through all unit test cases, somehow misbehaved in the production site.  It adds more awkward moment if customer sees that issue and says "OMG..! My data are lost..!  Where is my data?". A quick google search on recovering windows files gave me a relief that Microsoft Windows in itself has some recovery given that if the restore points are configured in that Windows.  Since it's production PC,…
Read More

Subtle Problems in Multilevel USB Hubs

Blogs, LabVIEW Blog
A project recently got me through tough times.  We have connected almost all instruments using USB and ended up using multilevel USB hubs.  The hardware connection is something like below.  We thought that everything will be fine because All of these USB ports are detected by Windows without any issues The payload of these instruments' data are very low and We're able to test all these instruments in modular level. However we faced some subtle issues which is not lucid at the beginning. (more…)
Read More

How to use FTDI FT4222H in LabVIEW

Blogs, LabVIEW Blog
There is a very good device named FT4222H from FTDI Chip which can be used for multi-interfaces like GPIO, I2C, SPI, Interrupt.  The nicest thing is you could access all those communication protocols directly using LabVIEW.  Generally speaking, if you work with a controlling application where your end-device uses such protocols, you could use this device to communicate with the end-device and make the life easier and design would be low cost too (device costs only $2.30). [caption id="attachment_617" align="alignright" width="200"] Fig. FTDI FT4222H Device Image[/caption] GPIO Interrupt I2C Master I2C Slave SPI Master SPI Slave Initially I assumed that this device would be straight forward to use for my application which required three of those features viz.. a master I2C, a GPIO and an Interrupt.  However, it turned out…
Read More