Multiple Participants in same domain problem

9 posts / 0 new
Last post
Offline
Joined: 12/08/2017
Posts: 5
Multiple Participants in same domain problem

Hi All,

I am getting an error when trying to create an advanced reader and writer in the same domain in the same Labview application.  I am getting error 5045.

Investigating this, it appears that I need to use separate participant QoS profiles to achieve this, but the documentation doesn't provide much in terms of examples, so, before I spend a lot of time trying to figure out how to write a QoS xml profile, and use it, I would like to confirm that this is in fact the problem.

The problem is easy to replicate with a simple test as follows:

 

 

The reader is created without an error, but then I get an error when the writer is created.  If I put the writer on a different domain ID, the code runs fine.

 

Bruce

 

Offline
Joined: 04/23/2014
Posts: 40

Hi Bruce,

Are both ComplexType cluster the same type? If they are not, you should modify the TypeName in the Advanced Writer/Reader Configuration and set different typenames to different types. By default, they both will try to use DDS_DefaultTypeName.

Angel.

Offline
Joined: 12/08/2017
Posts: 5

They are the same structure, but not the same type.  So, they are different labview controls, but they are both a cluster containing a boolean.  The type is generated by the DDS ComplexType Generator, and I'm not sure how to specify a different name for the type?

Offline
Joined: 04/23/2014
Posts: 40

You can modify the typename in the Advanced Reader/Writer Configuration Cluster (attached picture).

File Attachments: 
Offline
Joined: 12/08/2017
Posts: 5

Hi Angel,

That seems to have solved my initial problem, but now when I try to run the test vi that was generated, I get the following:

Offline
Joined: 04/23/2014
Posts: 40

Can you attach the report of the Administration Panel (Tools/RTI DDS Toolkit/ RTI DDS Administration Panel) or a simple VI which reproduces this error?

Offline
Joined: 12/08/2017
Posts: 5

Attached is the admisitrator log and 2 vi's

One vi that opens a reader and a writer, which works fine with different type names.

Then if I try to open an example writer vi, that was generated by the complex type generator I get the error.

 

File Attachments: 
Offline
Joined: 04/23/2014
Posts: 40

We are creating the same topic in the "Test Data In Writer Example.vi" and the 'Create Reader part' of the "Replicate problem.vi". Therefore, we need to match their types, including the typename. We cannot have 2 different types (eg different typename) using the same topic.

Related to the first question, both types are different (even if both have a cluster with a Boolean) because the name of the boolean is different. Therefore, we need to set a different typename (by default it is the same). So, as general rule:

  • We cannot have different types with the same typename.
  • We cannot set different types to the same topic.

So, you have several options:

  • Modify the boolean name so both cases match.
  • Add the same typename ('DataIn') in the 'Test Data In Writer Example.vi'. So they will use the same type.

BTW, you have a '/n' in the typeName field of the Advanced Writer Configuration (Replicate Problem.vi).

I hope this helps.

Offline
Joined: 12/08/2017
Posts: 5

Excellent, that is now working.  Thanks.