IDL for Cluster Names

5 posts / 0 new
Last post
johnk's picture
Offline
Last seen: 4 years 4 months ago
Joined: 09/10/2013
Posts: 4
IDL for Cluster Names

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

 

 

 

 

Keywords:
Offline
Last seen: 6 months 5 days ago
Joined: 06/13/2013
Posts: 14

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

Offline
Last seen: 3 years 10 months ago
Joined: 08/12/2015
Posts: 10

IS there an IDL toolkit that works with LabVIEW 2015

sara's picture
Offline
Last seen: 1 week 2 days ago
Joined: 01/16/2013
Posts: 119

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:

<participant_qos>
    <property>
        <value>
            <element>
                <name>dds.type_consistency.ignore_member_names</name>
                <value> 1 </value>
                <propagate>true</propagate>
            </element>
         </value>
      </property>
</participant_qos>

Only use this property if you know your types are actually consistent. In your case it seems so.

 Thanks,

Sara

sara's picture
Offline
Last seen: 1 week 2 days ago
Joined: 01/16/2013
Posts: 119

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