DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

starting cloneable module

Solved!
Go to solution

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!

 

Download All
0 Kudos
Message 1 of 3
(682 Views)
Solution
Accepted by topic author shuttlefan

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.

 

dataflow.png

 

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.

Message 2 of 3
(663 Views)

Yes, it's now obvious!    Thanks

 

modified to below and working

shuttlefan_1-1700250659008.png

 

0 Kudos
Message 3 of 3
(656 Views)