03-26-2020 02:49 PM
Hi all,
I'd like to know how I can send messages between LabVIEW 2019 and LabVIEW NXG in a Producer-Consumer style.
So far I've tried the following.
Named Queues: Both ends get created, but they don't see each other. That makes a lot of sense since they exist in different memory pools. Is there an option I missed somewhere?
Network streams: The second application that gets started throws Error -314350, which I interpret to mean: They see each other, but something went wrong. My program is valid because the exact same program works when communicating between two LabVIEW 2019 VIs.
Also, why are the network streams under "compatibility"? Is there something better now?
SystemLink: I read in this thread that SystemLink Messages are another option, but from what I read it seems to be overkill to use an intelligent systems and data management software platform to send a message between each other. In addition, I had some trouble getting the examples to run.
I'm open to any and all suggestions. Thanks!
Solved! Go to Solution.
03-26-2020 03:00 PM
03-26-2020 03:18 PM - edited 03-26-2020 03:23 PM
Yeah, I thought about that. I guess the main reason is that I've never implemented both sides of TCP communication and wanted to stick with the stuff I know. Can I queue messages with TCP?
Edit: Yes, you can.
03-26-2020 03:23 PM
03-26-2020 03:42 PM
OK, this works well and I now have a solution that works.
The question remains: Why don't the network streams? They're based on TCP with all the bells and whistles, that I'd end up implementing anyway.
Another thing that would be nice for this use-case is sharing typedefs between NXG and LV...
03-26-2020 03:44 PM
Hi Peter,
@PeterFoerster wrote:
Another thing that would be nice for this use-case is sharing typedefs between NXG and LV...
I guess you know the IdeaExchange board for (classic) LabVIEW?
(AFAIK NXG has it's own feature to provide feedback to NI.)
@PeterFoerster wrote:
The question remains: Why don't the network streams? They're based on TCP with all the bells and whistles, that I'd end up implementing anyway.
You should escalate this to your NI support! (Do you have an active SSP?)
03-26-2020 03:48 PM
Yeah, I do. I also have another whopper to help them pass the time in all of this. 😆
04-02-2020 08:33 AM
OK, just in case someone has a similar problem and finds this thread.
In the Simple Network Streams example, the endpoint addresses are specified as: //<IP>/<context>/<name>
For it to work between NXG and 2019 (or between different instances of LabVIEW) they need to be:
//<IP>:<context>/<name>
Additionally, the <context> needs to be different for reader and writer and you might have to specify the full path including IP.