使用 Connext 专业工具加快上市时间
距离演示还有两周时间。>
我们有这个机会构建了一个有效的微电网控制系统,它需要:
- 在 Intel 和 ARM 处理器上运行
- 面向 Linux 和 Windows 平台
- 包括用 C、C++、Java、SCALA、Lua 和 LabVIEW 编写的应用程序
- 与使用 ModBus 和 DNP3 协议的旧设备交谈
- 在满足上述所有要求的同时进行实时控制
在这篇博文中,我将讨论我们面临的现实问题以及 RTI Connext
® 中包含的工具如何
DDS Professional 帮助我们在短短几天内解决了我们的集成问题。突出显示了大多数项目中遇到的常见问题,并使用特定的 RTI 工具来解决每个问题。在此过程中,您会找到支持视频和文章的链接,供想要深入了解的人使用。我希望您会发现这是学习如何应用 RTI 工具使您的 DDS 开发更快更容易的有用起点。
大演示
这是智能电网互操作性面板的开放现场消息总线 (OpenFMB) 的第一个工作演示,这是一种实时控制电网边缘设备的新方法,通过应用 DDS 等物联网技术。
以下是显示硬件架构、操作系统和语言的系统框图:
<人物>
当我们将个体参与者带入网络时,我们遇到了许多问题。挑战和我们用来解决每个挑战的工具的描述如下。扫描标题列表,看看您是否必须在 DDS 系统中调试这些问题中的任何一个,然后查看链接以了解一些新技巧。这样做时,请考虑如何在没有提到的工具的情况下尝试诊断问题。
问题:网络配置问题
工具:RTI DDS Ping 橡树岭国家实验室的团队正在开发将成为主显示器的 LabVIEW GUI。他们的笔记本电脑无法看到来自网络上任何客户端的数据。我们检查了基础知识以确保他们的机器在同一子网中 - 始终首先检查基础知识!虽然标准 ping 实用程序可以确认机器之间的基本可达性,但它不会检查 DDS 发现所需的端口是否打开。 rtiddsping 实用程序正是这样做的,它在几秒钟内告诉我们,安装在他们政府发行的笔记本电脑上的防火墙正在阻止 DDS 发现流量。有关如何检查基础知识的详细信息,请参阅此社区帖子 .
问题:我的应用是否在发送数据?
工具:间谍、管理控制台 首次使用 DDS 的供应商的一个常见问题是他们的应用程序是否正常运行:它是否以适当的时间间隔发送数据,数据是否有意义?为了快速检查,我们使用了 RTI DDS Spy 实用程序。 Spy 提供了一个简单的订阅者,可以有选择地过滤特定类型和主题,并且可以打印它收到的各个样本,让您可以快速查看您的应用程序正在编写的数据。每个供应商在最初启动他们的应用程序后都使用 DDS Spy 作为健全性检查。
有时同一主题的更新可能来自系统中的多个发布者。不确定哪一个写了最新的更新? Spy 的命令行开关(“-showSampleIdentity”)允许您查看更新的来源。
Spy 是一个控制台应用程序,可以部署在嵌入式目标上进行基本测试。体积小、启动快、简单是它的主要优点。使用详情在这里。
问题:数据类型不匹配
工具:管理控制台、监视器 一位供应商报告说,在早期的测试中,他们看到了来自其他应用程序之一的数据,而现在却没有。 Admin Console 很快向我们展示了数据类型不匹配是罪魁祸首——即两个具有相同名称但数据类型不同的主题。这些类型的不匹配可能难以诊断,尤其是对于具有许多成员的大型类型。管理控制台利用 DDS 以数据为中心的特性来检查系统中每个应用程序所理解的数据类型。然后,它显示了一个简化视图和一个“等效 IDL”视图,以便于比较并排窗格中的类型。在您没有来自每个应用程序的源 IDL 的情况下,这尤其有价值。
在这种情况下,一个供应商没有与最新 IDL 的 GitHub 存储库同步,因此他们使用的是旧版本的文件。他们从 GitHub 中提取了最新的文件,rtiddsgen 为它们创建了新的特定于类型的代码,在快速重新编译后,他们的应用程序能够读写更新的主题。