10-25-2021 02:07 AM
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?
10-27-2021 05:36 AM
Hi Saiyxin,
Can you confirm that this QoS is correct? That could happen because the QoS has errors.
Regards
Ismael
10-27-2021 08:31 PM - edited 10-28-2021 12:25 AM
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.
10-28-2021 03:29 AM
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.
10-28-2021 03:59 AM - edited 10-28-2021 04:04 AM
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?
09-16-2022 04:31 AM
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)Run an example named “RTI Connext DDS Cluster Reader.vi" using the profile "MyLibrary::NoTypeCodeProfile".
(3)Pop up a window like this.
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.