11-16-2023 04:07 PM
Need some help to understand how to properly start a cloneable module.
I have a DisplayUI with ADSS Client & Policy module supporting it.
Display and ADSS are singletons while Policy being cloneable.
The goal is for Display to call ADSS which will then kick off new Policy module each time ADSS Client calls it.
It runs when I don't put the cloneable reg events block in. As soon as I put it in the EHL to kick off a clone, then I get the error
ADSS client.lvlib:Module Not Synced--error.vi:820001<ERR>
ADSS client Module was unable to synchronize events.
<b>Complete call chain:</b>
ADSS client.lvlib:Module Not Synced--error.vi:820001
ADSS client.lvlib:Wait on Event Sync.vi:3480002
ADSS client.lvlib:Synchronize Module Events.vi
DisplayUI.lvlib:Main.vi
DisplayUI.lvlib:Main.vi.ACBRProxyCaller.96500014
In my DisplayUI, I've started both ADSS & Policy module already.
I've looked at various examples (from Tom and Fabiola) and still not able to get it to work.
Any help is appreciated.
Thanks!
Solved! Go to Solution.
11-17-2023 11:29 AM
This is a dataflow issue. In your 'withReg.jpg' image you've wired the Clone ID of the Policy Module from the EHL to the MHL.
That means the MHL can't start until the EHL finishes executing. You should never have a wire leaving the EHL and going to the MHL for this reason. Or more generally, with parallel loops in LabVIEW, you can't have them run in parallel if one is waiting on the other to finish.
I suggest passing the Module ID of the newly-launched Policy Module instance as part of the message data for your 'startDefaultLivePolicy' message.
11-17-2023 01:51 PM
Yes, it's now obvious! Thanks
modified to below and working