RTI DDS Toolkit for LabVIEW Support

cancel
Showing results for 
Search instead for 
Did you mean: 

Error occurs when load user defined QoS Profiles

Hello,I want to load user defined QoS Profiles as following steps,but it was not succeed and a black command window poped out,I don't know what's wrong.

    1) Copy the RTI_LABVIEW_CONFIG.documentationONLY.xml in C:\Program Files (x86)\National Instruments\LabVIEW 2021\vi.lib\RTI DDS Toolkit,and rename the copy My_QoS_Profiles.xml.

    2)Open the My_QoS_Profiles.xml and change the library name to MyQoSLibrary.

    3)Change the depth of history in ReliableProfile from 100 to 50 and then save it.

    4)Add environment variable NDDS_QOS_PROFILES:C:\Program Files (x86)\National Instruments\LabVIEW 2021\vi.lib\RTI DDS Toolkit\My_QoS_Profiles.xml

    5)Run an DDS Read Example which dataReaderQoSProfile was set to MyQoSLibrary::ReliableProfile.

Then a black command window poped up and an 5048 error occured which is posted below.

 

So is there something uncorrected I did?

0 Kudos
Message 1 of 6
(2,631 Views)

Hi Saiyxin,

 

Can you confirm that this QoS is correct? That could happen because the QoS has errors. 

 

Regards

Ismael

0 Kudos
Message 2 of 6
(2,577 Views)

This is the user defined QoS Config XML,it is inherited from the default. Is there any problem?When I open the DDS example,it always pop up a black command window and I can't write anything in it. When I remove the environment variable NDDS_QOS_PROFILES,it will not occur.

0 Kudos
Message 3 of 6
(2,571 Views)

Hi Sayinxin,

 

This is happening because your profile depends on the LabVIEW default one but it tries to load yours first. The workaround for this is adding the base profile to your library. The default profiles are in <LabVIEW folder>\vi.lib\RTI DDS Toolkit\RTI_LABVIEW_CONFIG.documentationONLY.xml So you can copy the one you want to use as a base profile and paste it into your library. Then remove the "LabVIEWLibrary::" from the "base_name". Something like:

base_name="LabVIEWLibrary::DefaultProfile"

change it to:

"base_name="DefaultProfile""

Where DefautProfile is the profile you copied into your library from the default one.

 

I copied the "DefaultProfile" from RTI_LABVIEW_CONFIG.documentationONLY.xml to your file. Then I changed the other profiles to inherit from the one I copied instead from "LabVIEWLibrary::DefaultProfile". I run an example using the profile "MyLibrary::NoTypeCodeProfile" and worked fine.

 

I attach the file I fixed.

 

0 Kudos
Message 4 of 6
(2,543 Views)

Hi Ismaelrti,

I find that you set the is_default_qos to true in the MyLibrary::NoTypeCodeProfile, while there is another defalut QoS which is named LabVIEWLibrary::DefaultProfile in RTI_LABVIEW_CONFIG.documentationONLY.xml. Will this two QoS be conflicted?I think there would be only one default QoS. And another question is what are the default values of all the QoS config(There are above 20 QoS config,they must have defalut values),where can I find those default config values?

0 Kudos
Message 5 of 6
(2,541 Views)

Hi ismaelrti,

 

I have read your answer in this topic. I try the same process according to your discussion.

(1)Copy the content in your attachment file My_QoS_Profiles_modified.7z  to my C:\DDS_config\USER_QOS_PROFILES.xml.

_2-1663320195958.png

 

_1-1663320140494.png

 

(2)Run an example named “RTI Connext DDS Cluster Reader.vi" using the profile "MyLibrary::NoTypeCodeProfile".

_4-1663320244920.png

 

 

(3)Pop up  a window like this.

_3-1663320222526.png

_5-1663320299975.png

 

The first log:

DDS_QosProvider_lookup_object_from_profileI:ERROR: Profile 'MyLibrary::DefaultProfile' not found

 

So,whether there are some mistake in my system config if this xml file is right.

 

 

 

0 Kudos
Message 6 of 6
(1,928 Views)