LabVIEW 2012; LabVIEW Integration 1.0.0.86; Windows 7 AGM
I have tested native DDS publishers and suscribers integrated with LabVIEW Cluster Reader/Writers and they work great!
For nested clusters, however, I am running into an issue when subscribing to a non-LabVIEW publisher.
Using RTI Analyzer while both the Native Publsiher and LabVIEW subscriber are running, I can verify that "Type" is added to LabVIEW types differentiate between the type and the member in the LabVIEW structures, as in this mini example
** Native DDS IDL:
struct UH60M_Pilot
long aircraft_tail number
long sil_scenario_id
Pilot pilot
double xapct
** LabView IDL
struct UH60M_Pilot
long aircraft_tail number
long sil_scenario_id
PilotType Pilot <*** different from the native IDL
double xapct
When I do a lookback test by creating a Cluster Reader and Writer using my nested typedef, it works great and I get valid data; however, when I try to subscribe to the native publisher, I get no valid data although I can verify my publisher is working because I can see the correct data using my own native DDS loopback and the Data Recorder.
Question:
I am assuming that that the problem is the type mismatch at the second level structure typedef, Pilot vs. PilotType?
Or, are the data types being serially compared without regard to the container/struct types they are contained in? If so, I will look elsewhere for my problem!
Thanks for your advice/guidance.
JohnK!
DDS Knowledge = 0/10
LabView Knowledge = 2/10
John,
The types are being compared to make sure that the definition matches. As you pointed out the problem is most likely in different type definition. I would definitely try to change the types so they match and see if it works. Also since you have Analyzer running I suggest to perform a Match Analysis in the Analyzer to make sure that there are is no QoS mismatch between your LabView subscriber and the subscribing non-LabView publisher.
Andre
IS there an IDL toolkit that works with LabVIEW 2015
John,
Great to see you around here again :)
As Andre mentioned, it is probably the type definition. If you cannot change the IDL definition, you can add the following QoS property in both Publisher and Subscriber participants to avoid this strict type comparison:
Only use this property if you know your types are actually consistent. In your case it seems so.
Thanks,
Sara
Bruce,
I know... a VI drawing the cluster from the IDL would be really nice. We currently do not have that functionality. However, as part of the LabVIEW toolkit roadmap, we plan to evaluate our options to create clusters from the IDL description. This feature, however, is not planned for this year. Please contact your account manager if you need more details about this.
Thanks,
Sara