07-05-2022 08:04 AM
Hello. At work I (not a programmer) have been tasked with choosing the best tool to support our need. We are developing a chemistry sequence, where we need to dispense from multiple syringe pumps, control valves, control motors, and log everything. The intent is that the developers of this chemistry can easily write a "script" that can be executed from within the LabVIEW application. That script (yet to be defined) would have commands like "dispense 50 uL from pump A" and "close valve B". I've been looking at examples and reading what I can find but I'm not sure if LabVIEW is a good choice for something like this, or if there is something that would be better. Any thoughts, or links to resources? Thanks
07-05-2022 08:07 AM
That sounds a lot like what LV is often used for, so it should be a good fit. It has good driver support to control stuff like relays or DO, depending on what you need to control those syringes.
07-05-2022 08:25 AM - edited 07-05-2022 08:44 AM
As with any tool, you won't be more successful using it than your knowledge of how to use it.
Imagine that you have a loose nail (Problem) and someone says that you should use a hammer (suitable tool)
That's exactly analogous to what you have described. LabVIEW is a suitable tool to use for what you have described and, I have personally written several similar sequence executives.
The trouble you will have is that you only watched a few Avanger movies and think about how simple it seams when Thor just throws a hammer at a problem. It won't be effective unless you take advantage of the training. In fact, unless your boss wants to develop an internal programming competency in your work group, it will be a lot cheaper to contract out the solution. (Hire a qualified Carpenter)
So, go back and tell your boss that LabVIEW has a lot of training support See the links at the top of the LabVIEW page or even from the LabVIEW Getting Started Window. That LabVIEW was written specifically to be approachable with engineers and scientists in mind. And you can already see the value of these Forums. But, if you need a quick robust solution, hire a pro to show you how to be a programmer.
I don't think anyone on these forums would say, "Here's my first vi! It's perfect and took no time at all!" <more likely we hope never to see that vi again > just walking into a workshop does not magically give you the ability to use all the tools skillfully.
07-05-2022 08:31 AM
Just for the record, LabVIEW would be as suitable as the next programming language. Probably even more so, as automation is where it shines.
However, making a program that is programmable isn't easy in any language.
07-05-2022 08:42 AM
wiebe@CARYA wrote:
Just for the record, LabVIEW would be as suitable as the next programming language. Probably even more so, as automation is where it shines.
However, making a program that is programmable isn't easy in any language.
I think it would be faster, cheaper and easier if someone else made the labview program according to specs and then these researchers would write the scripts.
Also Labview alone would probably not be enough, as Yamaeda said, you'd need some DAQ card or similar to control all these motors and syringes you want.
07-05-2022 08:51 AM
@AeroSoul wrote:Also Labview alone would probably not be enough, as Yamaeda said, you'd need some DAQ card or similar to control all these motors and syringes you want.
I was personally thinking cRIO with whatever modules are required. You can send the scripts to the cRIO via FTP, WebDAV, or straight Ethernet commands. I don't trust Windows at all when it comes to control. I'd much rather have the FPGA and/or RT doing checks and be able to shut things down if something goes wrong.
07-05-2022 09:45 AM
@AeroSoul wrote:
wiebe@CARYA wrote:
Just for the record, LabVIEW would be as suitable as the next programming language. Probably even more so, as automation is where it shines.
However, making a program that is programmable isn't easy in any language.
I think it would be faster, cheaper and easier if someone else made the labview program according to specs and then these researchers would write the scripts.
Also Labview alone would probably not be enough, as Yamaeda said, you'd need some DAQ card or similar to control all these motors and syringes you want.
Maybe, maybe not. A pump (the only given HW requirement) wouldn't need any DAQ if it has a serial interface.
But if DAQ is needed, it would make LabVIEW even more suitable.
Same for the cRIO...
07-05-2022 11:00 AM
Not adding much other than to echo what others have said- yes, LabVIEW will work great for this task, BUT it will NOT give you what you ask for out of the box. You'll need to write your own program to do this task. If you don't have any programming experience, this is going to be a **long** road.
One option would be that you always use the dev environment to write your scripts, but that's not a great way to go. It won't enforce any controls on anything and will be prone to getting "messed with".
Like the others have said, this will be cheaper if you hire someone to do it... but it's going to be expensive no matter how you spin it. If you need the programming in-house, then by all means invest in training someone, but if you just need a program to work you'll be better off hiring someone.
Just to make sure I'm being specific: if you want a program that installs as an executable that your techs can use to make their own sequencer, this will be a hard problem and it'll take you literal months before you have something even barely workable (with no software experience).
If you need some very simplified rough prototyping capability for one or two people who can learn LabVIEW somewhat on the fly and can edit the source code (NOT a script, but the source code) to program sequences, then it'll be quicker... but just know that this method is akin to wiring stuff up with jumper wires on a breadboard. It'll get the job done but it'll never be something you can share with others who don't understand how to modify the source code to get things done.
Last... all of the above is true about any programming language, including LabVIEW (or Python or C# or Visual Basic or whatever).
If you already know one language, I'd probably stick with that. You have a very complicated program to write.