03-19-2024 12:13 PM
Hello everyone,
I have been working toward moving many of my lab automation drivers over to DQMH and have just run into an issue in allowing modules from different .lvproj's to communicate to eachother (or at least I *think* that's the problem). Take 3 simple functions illustrated below. Each function is in it's own .lvproj. My intention is to have the Data Analysis portion listen for broadcasts from the two data sources (DMM and ADC) so that it can operate on each source's data asynchronously.
Solutions attempted:
I attached 2 of the projects. To understand my current attempt, see:
NOTE: these two projects are solely proofs of concepts that I put together in about an hour so be easy on me 😉
Thank you!
03-19-2024 04:12 PM
03-19-2024 05:11 PM
Hey Gregory,
Thanks for the response - I had a feeling that was going to be a recommendation and unfortunately wish it weren't so. Mixing these projects will make for a mess. In reality, I am going to have 10+ instrument drivers that are being communicated too and from. For sake of maintenance and simplicity, it really feels like these should all be separated. Maybe there is another "bundling" option that I am missing? I have no plan to build executables.
Jared
03-20-2024 11:38 AM
03-20-2024 06:54 PM
Each LabVIEW project is its own independent application context and Refnum objects are only valid in the context they were created. You should treat them as if they were in different executables so you would need interapplication communications such as TCP/IP to communicate between them or use a single project for the whole.
03-21-2024 03:03 AM
We have implemented network communication to make DQMH modules on RT talk to DQMH modules running on a Windows PC. It is open source, so you could give it a try. Please reach out directly to us for support.
You can find more information in our Dokuwiki:
https://dokuwiki.hampel-soft.com/code/dqmh/generic-networking/overview
03-22-2024 09:42 AM
Network published variables should work, or check out RabbitMQ.