在Excel中读取Java中生成的RTI DDS数据

我正在查看用于Excel的RTI DDS加载项,并且正在尝试重写随附的Hello_simple HelloPublisher.java示例来发布string,并让Excel将其提取出来。 一切工作,除了显示我喂它的string的值。 (它提取消息发送的时间,所有其他的元数据就好)

我的代码看起来像这样:

public class Publish { public static void main(final String[] args){ // Create the DDS Domain participant on domain ID 123 final DomainParticipant participant = DomainParticipantFactory.get_instance().create_participant( 123, //Domain ID DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT, null, // Listener StatusKind.STATUS_MASK_NONE); if (participant == null) { System.err.println("Unable to create domain participant"); return; } // Create the topic "Message" for the String type final Topic topic = participant.create_topic( "Message", StringTypeSupport.get_type_name(), DomainParticipant.TOPIC_QOS_DEFAULT, null, // listener StatusKind.STATUS_MASK_NONE); if (topic == null) { System.err.println("Unable to create topic."); return; } // Create the data writer using the default publisher final StringDataWriter dataWriter = (StringDataWriter) participant.create_datawriter( topic, Publisher.DATAWRITER_QOS_DEFAULT, null, // listener StatusKind.STATUS_MASK_NONE); if (dataWriter == null) { System.err.println("Unable to create data writer\n"); return; } System.out.println("Ready to write data."); System.out.println("When the subscriber is ready, you can start writing."); System.out.print("Press CTRL+C to terminate or enter an empty line to do a clean shutdown.\n\n"); final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { while (true) { System.out.print("Please type a message> "); final String value = reader.readLine(); if (value == null) {break;} dataWriter.write(value, InstanceHandle_t.HANDLE_NIL); if (value.equals("")) { break; } } } catch (final IOException e) {e.printStackTrace(); } catch (final RETCODE_ERROR e) {e.printStackTrace();} System.out.println("Exiting..."); participant.delete_contained_entities(); DomainParticipantFactory.get_instance().delete_participant(participant); } } 

我在Excel中打电话来显示值

 =RTD("dds2excel.connect",,"TYPE:DDS::String","TYPENAME:DDS::String","TOPIC:Message","FIELD:value") 

(由RTI插件自动生成)我对RTI和DDS还不是非常熟悉,但是我有一种感觉,Excel不想获取这些数据的实际内容,因为它认为它不属于去呢? 因此为什么它只承认它正在监听的域的元数据。

任何指针将不胜感激。

Interesting Posts