09-07-2017 04:03 PM
I listen, but I don't understand ![]()
09-07-2017 07:20 PM
I should probably clarify my purpose for writing these VIs to begin with. We make The World's Finest (tm) electronic test systems for CCDs and IR FPAs (e.g. image sensing devices). All the hardware is of our own design, so there are no off-the-shelf VIs for them. We have developing our own software internally for 30+ years in C/C++, but we have a lot of customers asking if are "compatible with LabVIEW."
Of course we are. Everything is compatible (or can be made compatible). The good news is that the basic control of our instrumentation is via human-readable text commands, passed into and out of 3 separate DLLs, and the output of our instrumentation is a binary data file.
But they want examples. And we are committed by contract with one such customer to provide some rudimentary LabVIEW VIs to demonstrate basic functionality (which functionality is really up to me, since it isn't spelled out in the contract).
So I intend to offer up the following:
So that's a long way of saying that this VI doesn't need to be perfect, but I also don't want it to be embarrassingly amateur. We will also upload these to our website for all users, of widely-varying LV expertise, to use as tools to learn our hardware. That's why the debugging ability (send/pause/step) is so important.
But I also need the VIs to be architecturally simple, even at the expense of elegance, so that newbie LV users (like me :D) can understand and adapt them.
Anyway, that's a long way of saying, thanks!
09-07-2017 09:20 PM
TheWaterbug wrote:
But I also need the VIs to be architecturally simple, even at the expense of elegance, so that newbie LV users (like me :D) can understand and adapt them.
Then my first recommendation is to make wrapper VIs for all of your function calls. These should be complete with documentation (at least context help), meaningful control labels, meaningful icon, and free labels describing what is happening. Then you can make your simple examples using those wrapper VIs. This will look a lot more professional and guide to understanding.
09-07-2017 10:57 PM
Thanks!
09-08-2017 02:09 AM
You can switch the While loop for an autoindexed For loop (with conditional terminal if you want a Cancel button) and get rid of the Index array. Also, the Pause wont work in either as you'll quickly add up the counter to index outside. It'd be easier to just place a one button dialog "Paused" that actually pauses execution until you press OK. That way the counter fits the row index.
/Y
09-08-2017 02:54 AM - edited 09-08-2017 02:57 AM
You could also follow this tutorial to make LabVIEW Plug and Play drivers. You can go here to look at examples to help you out. I think having drivers that follow the LabVIEW Plug and Play standard would be very professional.