02-19-2021 06:36 AM
I have a question regarding whether certain functions are feasible with labview.
For a school project, we need to create a station that charges 6 batteries at the same time and the data needs to be monitored. However, one battery charges faster than the other, so when 1 battery is fully charged, it must be replaced with an empty battery, but the rest must continue to charge and monitor.
The question therefore is, whether it is possible to write a program with labview that runs continuously but monitors all stations separately on one screen and then store the data independently?
Kind regards,
Luuk
Solved! Go to Solution.
02-19-2021 07:05 AM
Hi Luuk,
@Luukyluke wrote:
The question therefore is, whether it is possible to write a program with labview that runs continuously but monitors all stations separately on one screen and then store the data independently?
Yes.
02-19-2021 08:22 AM - edited 02-19-2021 08:54 AM
Thank you!
Do I need to purchase extra packages or is the labview basic package enough?
Kind regards,
Luuk
02-19-2021 09:26 AM
@Luukyluke wrote:
Thank you!
Do I need to purchase extra packages or is the labview basic package enough?
Kind regards,
Luuk
Yes as others have said you can do this with LabVIEW and no (purchased) add-ons should be needed.
BTW: I have been doing similar things for years testing batteries with LabVIEW.
I have been doing this for years
02-19-2021 01:23 PM
You might want to look at this NI Application Note on the Master/Slave Design Pattern. In your situation, you could have identical routines handling one Test Station, with a Master Routine communicating with them, gathering their test data, scheduling new tests as they finish the previous one, etc. If you need more Stations, you just spin up more copies of your Station routine (if you use Clones, or reentrant routines, you only need to write a single Station routine, then "launch" as many Clones as you need).
Here is the reference: Application Design Patterns: Master/Slave ;
Bob Schor
02-19-2021 06:58 PM
Fun fact about LabVIEW compared to most other programming (i.e. the text-based ones):
In traditional text-based languages, everything is sequential by default and learning to make things run in parallel is a big part of how you become an advanced programmer.
In LabVIEW everything is parallel by default, and learning to make things run sequentially is one of the first steps. Learning the best design patterns to run things in parallel is a big part of being an advanced programmer.