02-19-2020 07:54 AM
PS: I dare say that having to put wait or stall VIs is almost always a code smell...
Yeah caught... It's something I always give my staff grief over!
In this instance my logger is only there to inform me of the order modules are starting and stopping, so won't make it into a release version. Unless there is some handy VI that does this for me?
I'll use the method you outline in future - seems really obvious now you point it out..
02-19-2020 08:21 AM - edited 02-19-2020 08:24 AM
*shameless-advertising-ON*
> won't make it into a release version. Unless there is some handy VI that does this for me?
We have VIs that do release stuff for us: rat.hampel-soft.com
> my logger is only there to inform me of the order modules are starting and stopping
We use our own open-source logger for that kind of debug information. Public-facing documentation is very light, but you can see it in action in our Windows Application Template.
*shameless-advertising-OFF*
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )
02-19-2020 04:53 PM
We have hit this problem many a time. You can solve it a few ways:
1) The magic fairy delay which you already tried - but what we found is we were constantly tweaking this (because we had quite a few children modules) and timing didn't always work. So this is the simple but unreliable approach.
2) Have the children modules broadcast up that it is ready, before registering everything. For instance:
PS. Still waiting for the JKI Magic Fairy Delay toolkit to become a reality. That would solve a lot of problems! 🙂
02-20-2020 02:45 AM
Thanks Ozfarmboy,
Magic Numbers... it's the newbie "I don't really understand this process so I'll try this hack" approach.
Cascading INIT messages is a much more pragmatic approach.
Cheers!
02-21-2020 09:21 AM
One more option is to have a launcher launch all the modules that you will eventually use.
This works fine if you don't have that many modules. I leave the modules that are "optional", meaning they won't run every time to be loaded later when they are needed.
Tom McQuillan is working on an excellent DQMH Video series, this particular video shows how he created a launcher VI to launch all the modules in order. Now, notice that he is using Singleton modules, his approach would need to be modified to handle cloneable modules.
Happy wiring!
Fab
02-24-2020 03:05 AM
Thanks Fabiola,
I'll be sure to check this out.
Steve,
05-25-2021 04:31 PM
Hi Fabiola,
I am in a similar situation where I have to launch Clonable Modules but the modules are triggered. Can you please suggest how can I do this?
Secondly, I am using a JKI SM to start the modules, one is a Singleton which starts perfectly but the other is Clonable.
The two Modules A and B and Singleton and CLonable respectively. "Module Main" consists of Main_JKI which starts the modules. Module A launches Module B (Clonable). And Do I need a launcher VI for Main_JKI too?
05-25-2021 06:07 PM
Hi Himanshu25488,
I don't understand exactly what you're asking here.
Maybe it would be better to start a new discussion thread and elaborate a little more.
What do you mean exactly by "triggered"?