主要内容

将DDS应用程序部署

DDS Blockset连接应用程序建模仿真软件万博1manbetx®DDS通过提供开箱即用的支持DDS供应商RTI和eProsima。万博1manbetx使用开箱即用的DDS, DDS应用程序创建和模型在仿真软件,设置环境,使用嵌入式编码器万博1manbetx®构建应用程序模型。构建创建导出XML,生成c++代码,应用程序可执行文件,您可以使用直接连接到DDS网络。

DDS应用程序构建和部署

在DDS网络部署应用程序:

  1. 确保你的模型是正确配置。验证模型端口配置和映射为DDS适当。有关更多信息,请参见交互式配置DDS接口

  2. 设置环境。DDS Blockset生成一个可执行特定于您选择的DDS供应商,RTI或eProsima。来验证或改变你的供应商选择,您可以使用配置参数对话框查看工具链设置为您的应用程序。构建一个可执行的应用程序,设置您的环境在一个受支持的平台支持c++编译器。万博1manbetx如果你的目标供应商eProsima,不需要额外的设置。如果你的目标供应商RTI,你还必须安装RTI Connext。有关更多信息,请参见DDS Blockset系统需求

  3. 构建应用程序模型。在DDS选项卡上,单击构建

  4. 运行可执行文件和应用程序连接到DDS网络。

生成的文件的概述

当你建立你的DDS应用程序模型,下面的文件夹和文件生成在你当前的工作目录:

  • 应用程序可执行文件,可执行文件,您可以部署到应用程序连接到DDS网络。

  • 嵌入式编码器建立文件夹,生成c++代码文件。

  • 万博1manbetx仿真软件项目文件夹(slprj)——模型仿真文件。

  • 万博1manbetx模型数据字典文件——相关的DDS词典(.sldd)文件。

  • DDS应用程序模型,仿真软件为应用程序模型。万博1manbetx

  • 导出的XML / IDL文件- DDS应用程序的XML / IDL规范。

您可以使用这些生成的文件进行分析,DDS应用程序部署和港口。此外,您可以使用packNGo搬迁和重建应用程序的功能。

DDS应用程序的可移植性

搬迁、解压缩和重建DDS应用程序在另一个开发环境中,您可以使用packNGo。packNGo功能使您能够迁移文件,这样您就可以编译为一个特定的目标环境或重建在MATLAB开发环境®没有安装。默认情况下,函数包文件作为一个平坦的文件夹结构在一个ZIP文件中的代码生成文件夹。把压缩文件后,使用标准的压缩实用程序解压压缩文件。

与packNGo配置模型建立:

  1. 打开配置参数对话框。

  2. 选择包装代码和工件

  3. 在将来发布,点击构建

有关更多信息,请参见packNGo(嵌入式编码)

实现细节和生成c++代码

DDS的实现是由对象管理组织(OMG)指定的标准和几家供应商在几个不同的编程语言实现。的DDS Blockset现成提供与DDS的集成供应商RTI和eProsima。具体来说,blockset支持的c++实现DDS标准由万博1manbetxRTI和eProsima提供。如果你有兴趣在这些供应商api,请参考供应商文档。

生成c++代码的基本体系结构的应用程序由消息类,供应商helper类,主要文件。消息类启用应用程序来发送和接收数据。供应商助手类特定于供应商和加载应用程序概要文件,注册的数据类型,创建和初始化DDS实体,和包装发送和接收消息类特定于供应商的API。然后执行应用程序逻辑的主要文件。如果你想检查生成的c++代码,查看嵌入式编码器建立文件夹。

生成c++类名称和命名空间定制

如果你想定制生成c++代码为您的DDS应用程序中,您可以控制DDS应用程序生成的类名称和命名空间模型交互地或以编程方式。

交互式配置生成的代码的这些方面,从开放的模式,DDS选项卡上,单击代码接口中,选择类名和名称空间和自定义名称的配置对话框打开。

以编程方式配置的类名称和类名称空间,使用嵌入式程序员API函数getClassName(嵌入式编码),setClassName(嵌入式编码),getClassNamespace(嵌入式编码),setClassNamespace(嵌入式编码)。有关更多信息,请参见配置类的命名空间(嵌入式编码)

调试和故障诊断

一些常见的构建可以解决以下问题:

不正确的环境设置

  • 描述——如果你选择RTI作为供应商,但不要安装RTI Connext,那么你就无法部署应用程序。

  • 行动——下载并安装RTI Connext

缺失或无效的港口和外港的应用程序模型的映射

  • 港口或外港描述——如果没有被正确配置模型并不构建。

  • 行动——地图应用程序模型的港口和外港DDS主题和端口配置相应的DDS的数据类型。

DDS定义不一致的数据管理

  • 描述——如果你尺寸或外港映射到一个主题,然后删除或更改数据类型为主题模型并不构建。

  • 行动——验证中可用的DDS定义相关的DDS字典。

注意事项和限制

  • RTI Connext微适配器,为系统默认的网络接口的名字可能不同于默认的接口名称用于RTI微适配器,RTIMicroAdapter.hpp。在这种情况下,参与者可能不正确地初始化。检查和更新使用的字符串名称和手动重建可执行。

  • RTI Connext微DataReader DataWriter容量限制,默认的分配DataReaders (remote_reader_allocation)和DataWriters (remote_writer_allocation)为应用程序是48。根据其他DDS运行的应用程序和您的网络条件下,读者和作者的数量超过48。您可以配置RTIMicroQosDefn.inl增加这个极限或者你可以改变领域,更少的读者和作家正在占领。

  • 文件夹名称与特殊字符——构建过程可能会产生一个错误如果与构建相关的文件夹路径包含:

    • Unicode字符不属于系统的语言环境。

    • 日本(多字节)字符,最后一个字节等于5度十六进制字符。制造和编译器工具可能会错误地解释最后一个字节的“\”(反斜杠)字符。

  • DDS目标规范- - - - - -DDS Blockset不支持编译生成的代万博1manbetx码从DDS应用程序模型non-DDS应用程序

  • DDS为应用程序定义——DDS主题和QoS从DDS字典中检索与应用程序相关的模型。确保这本字典在你的MATLAB适当路径构建模型。

  • 代码生成数据类型——生成c++代码不提供对特定数据类型的支持。万博1manbetx不支持多维数组的代码生成。万博1manbetx

  • 安全——安全风险中固有的沟通平台。这些风险包括潜在的恶意用户试图听或恶搞DDS沟通。此外,late-joining读者可以访问之前传输数据。增加这些安全风险防范,下载和使用你的供应商的安全版本。eProsima包含的版本DDS Blockset不安全的版本。

相关的话题

外部网站