Error 5007 occurred at Initializing Reader Failed: Unable to assert (find or create) a Participant

4 posts / 0 new
Last post
Offline
Last seen: 3 months 3 weeks ago
Joined: 02/06/2020
Posts: 5
Error 5007 occurred at Initializing Reader Failed: Unable to assert (find or create) a Participant

Hi,

I get the Error 5007 occurred at Initializing Reader Failed: Unable to assert (find or create) a Participant while running RTI Connext DDS Monitoring Reader.vi

I know I need to enable monitoring, But I'm confused in doing that as mentionded in the file BuiltinProfiles.documentationONLY.xml

How exatly I should do that becuase I see example metioned below similar in the attach file, Kinldy let me know what changes and where to make or any other setting needs to be done, to make sure the correct use of rti monitor and where it leads me to the correct information of data types. 

38.1.1 Method 1—Change the Participant QoS to Automatically Load the
Dynamic Monitoring Library

If you change the QoS in an XML file as shown below, you can enable/disable monitoring without recompiling.
If you change the QoS in your source code, you may need to recompile every time you enable/disable
monitoring.


If you need to change the participant QoS by hand, refer to the definition of BuiltinQosLib::
Generic.Monitoring.Common in <NDDSHOME>/resource/
xml/BuiltinProfiles.documentationONLY.xml for the values you should set.
Example XML to enable monitoring:


<participant_qos>
<property>
<value>
<element>
<name>rti.monitor.library</name>
<value>rtimonitoring</value>
</element>
<element>
<name>rti.monitor.create_function</name>
<value>RTIDefaultMonitor_create</value>
</element>
</value>
</property>
</participant_qos>

 

AttachmentSize
File builtinprofiles.documentationonly.xml67.23 KB
Offline
Last seen: 23 hours 40 min ago
Joined: 04/23/2014
Posts: 50

Hi snvk,

 

Assuming you have correctly configured monitoring in your QoS (otherwise that error shouldn't appear), the main reason would be that the monitoring library is not in the PATH environment variable in Windows or LD_LIBRARY_PATH in Linux. The GSG explains this in the section "4.9.2.1 Output Provided by RTI Monitor" as well as in the "Table E.1 Error Codes" error code 5007. This information should also appear in the error box that LabVIEW shows with the error code 5007.

Also if you open the Administration panel (Tools / RTI DDS Toolkit / RTI DDS Administration Panel) you can see these errors indicating that the Monitoring library instance cannot be created:

[CREATE Participant] DDS_DomainParticipantMonitoring_initializeI:!create monitoring library instance
[CREATE Participant] DDS_DomainParticipant_createI:!create builtin monitoring support
[CREATE Participant] DDS_DomainParticipantFactory_create_participant_disabledI:!create participant
LVDDS_DdsManager_assert_participant: Unable to create participant.
LVDDS_ReaderNode_create_with_params: Error when asserting Domain Participant.

 

In case you don't know where the monitoring library is located, this is the default path where it is located and therefore what you should add to your PATH environment variable: <LabVIEW installation path>\<LabVIEW version>\vi.lib\_RTI DDS Toolkit_internal_deps

Also, there is a bunch of LabVIEW builtin QoS profiles that you can find here: <LabVIEW installation path>\<LabVIEW version>\vi.lib\RTI DDS Toolkit\RTI_LABVIEW_CONFIG.documentationONLY.xml where you can find a specific QoS profile for LabVIEW which enables monitoring: "LabVIEWLibrary::MonitoringProfile".

Finally, there is a specific subforum for LabVIEW specific questions: https://community.rti.com/forums/rti-dds-toolkit-labview-users

Let me know whether this helps!

Angel.

Offline
Last seen: 3 months 3 weeks ago
Joined: 02/06/2020
Posts: 5

Hi Angel,

Thanks for the information! 

But In addition I'm confused how to enable the "LabVIEWLibrary::MonitoringProfile" in the file <LabVIEW installation path>\<LabVIEW version>\vi.lib\RTI DDS Toolkit\RTI_LABVIEW_CONFIG.documentationONLY.xml.,  this file is attached to this message, could you kinldy edit this file to make it enable  "LabVIEWLibrary::MonitoringProfile". and send back file .

thank you very much!

Offline
Last seen: 23 hours 40 min ago
Joined: 04/23/2014
Posts: 50

Hi snvk,

These built-in profiles that you uploaded are built-in. So they are pre-loaded in Connext DDS and they cannot be modified. There is also another set of LabVIEW built-in QoS profiles that only apply to LabVIEW but they are not included in the file you uploaded they are in the following file: "C:/Program Files (x86)/National Instruments/LabVIEW 20xx/vi.lib/_RTI DDS Toolkit_internal_deps/RTI_LABVIEW_CONFIG.documentationONLY.xml".

As these profiles are built-in, these two files are included only for documentation and knowledge about what they do, this means that even if we modify them, the new QoS won't be loaded. In the "Chapter 5 Loading Quality of Service Profiles" of the RTI DDS Toolkit for LabVIEW Getting Started Guide, you can see how to load new QoS profiles in LabVIEW.

It is not recommended to modify these files and reuse them because there will be conflicts with the QoS Profiles names. In case you want to use the "LabVIEWLibrary::MonitoringProfile" and add modifications, you should create a new profile which inherits from this one, and there you can add your modifications:

<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://community.rti.com/schema/6.0.0/rti_dds_qos_profiles.xsd"
version="6.0.0">
  <qos_library name="test_Library">
    <qos_profile name="test_Profile" base_name="LabVIEWLibrary::MonitoringProfile" is_default_qos="true">
      <datawriter_qos>
        ...
      </datawriter_qos>

      <datareader_qos>
        ...
      </datareader_qos>
      <participant_qos>
        ...
      </participant_qos>
    </qos_profile>
  </qos_library>
</dds>

I hope this helps,

Angel.