Firstly, I'm running LabVIEW 2016, just in case that makes a difference.
I'm trying to create a generic analog input complex structure that allows me to group signals together and then run a query on them. For example my current structure looks like this:
The topic for this structure is "cDAQ_Inputs"
Using the "Content Filtered Topic Information" I am running a Filter expression of:
This works fine and I only see signals with the Group Name of "Analog_Inputs"
In the Query Condition field for the Read Vi, I then do the following Query:
This again works correctly and I then filter out a single signal from the group. However, If I attempt to query the first signal written to the Group Name, which happens to be "Upload Pressure", LabVIEW crashes every time. The Query looks like this:
I can't see why this wouldn't work. If I probe the output from the Read Vi, I can see that "Upload Pressure" is happily being read, bringing back all statuses and data.
It's worth mentioning that the "Upload Pressure" is the first signal that is written to DDS, wondering if that has something to do with it?
First of all thanks for the detailed information. I have a couple questions related to this issue:
Yes, I am using a DDS Key, the "Unique_Tag", and Yes, I am changing the query at run-time, although it will still crash if changed before I run the Vi, but ultimately, I want to change the Query Condition at run-time
I have tried to reproduce the issue but I couldn't do it. Would you mind to upload a simple reproducer? (VIs + instructions to reproduce it). That would be really useful for debugging.
Hi Lbee - I am interested to know if you ever solved your query problems. By the cluster data you are working with it looks very much like a DSC NSV. I had been thinking of something like that but it did not occur to me to funnel all my process variables into a single topic and then use query filtering to get at individual variables or variable types. This could be very powerful indeed, so was wondering in general how the DDS concept has been working out for you.