如何使用 DDS 和 LabVIEW 2017 设计工业物联网系统
两年前,我开始从事一个非常有趣的项目:“RTI DDS Toolkit for LabVIEW”。我真的很高兴,因为我不仅熟悉 LabVIEW,而且喜欢使用它。虽然这是一个很好的机会,但我不得不承认我有点紧张,因为就在加入团队之前,我发现 LabVIEW RTI DDS 工具包的主要开发人员将要转移到不同的部门。最重要的是,RTI 刚刚赢得了 NI 工具网络年度产品奖。所以,一点压力都没有。
现在我将成为 LabVIEW 团队的主要开发人员。在我的同事调任新职位之前,尽可能多地向她学习非常重要。我们花了很多时间审查现有项目并增加我对 LabVIEW 的了解。几个月后,过渡完成了,我开始推出新功能并获得项目的全部所有权。
然后我们收到了一些好消息:RTI DDS 工具包将集成到 LabVIEW 2017,该产品的最新版本。真棒!我们与 NI 密切合作以实现这一目标并增强我们的产品以满足 NI 的要求。我们还壮大了我们的团队来支持这项工作——这真是个好消息!
几个月后,我们完成了 LabVIEW 2017 发布,其中集成了 RTI DDS 工具包!此次整合是在 2017 年 NI 周的主题演讲中公开宣布的。
在宣布之后,我们收到了一些关于 DDS 的常见问题,我想在一个地方回答所有问题:
"等一下,我是 LabVIEW 用户,但你能告诉我更多关于 DDS 是什么吗?"
DDS 是来自对象管理组 (OMG) 的开放标准。它不仅仅是一种消息传递协议,它还是工业物联网 (IIoT) 的可互操作的以数据为中心的通信框架。有关 DDS 的更多信息,您可以访问 OMG DDS 网站:http://portals.omg.org/dds/what-is-dds-3/
"所以这允许我在 LabVIEW 应用程序之间进行通信,对吗?"
是的,它确实。但不仅如此,您还可以在LabVIEW和其他系统之间进行通信,而无需担心操作系统或编程语言。您甚至可以将 LabVIEW 与旧系统连接!更重要的是,使用NI Linux的NI板卡也可以使用该技术(例如cRIO 903x和cRIO 906x系列)。
“RTI DDS 工具包的主要特征是什么?”
RTI DDS 工具包包括一个新的、高度可配置的数据通信范式,这在以前的 LabVIEW 中是不存在的。它允许 N:M 通信具有安全性、低延迟、可靠性和高吞吐量。 RTI DDS 工具包与 LabVIEW 支持的其他通信方法相结合,将使您能够应对所有网络挑战:
默认情况下,它遵循发布-订阅通信模式,其中发布者将数据写入特定主题。数据消费者订阅他们感兴趣的主题,然后从这些主题中读取数据。数据读取器和写入器自动发现彼此,并通过最佳可用通信路径(包括共享内存、UDP 多播或 UDP 单播)点对点交换数据。由于不需要网络服务或消息代理,因此提供了一个高度可扩展且易于部署的解决方案。
“好的,这真的很有用,但是,我如何在 LabVIEW 中使用 RTI DDS 工具包?”
首先,您需要在LabVIEW中安装它。如果你使用的是LabVIEW 2017,你会在程序框图中有一个快捷方式:选择Data Communication,RTI DDS Toolkit,Install,如下图:
在 LabVIEW 2017 之前的版本中,您可以在 LabVIEW 工具网络中找到我们的工具包。您可以通过 VI Package Manager 下载它。在搜索框中查找“rti dds”,然后单击“安装软件包”按钮:
它将从 VI 包管理器启动一个安装窗口。单击“下一步”按钮数次后,将安装 RTI DDS 工具包。
RTI DDS 工具包遵循与其他 LabVIEW API 相同的编程模式:
- 启动
- 行动
- 关闭
因此,LabVIEW 程序员可以直观地使用 RTI DDS 工具包。
“我可以在 RTI DDS 工具包中找到什么?”
2.0.0.104 版本(包含在 LabVIEW 2017 中)还包含多种工具,可帮助您开发应用程序。这些工具提供了一种执行以下操作的简单方法:
- 调试应用程序并查找 VI 中的错误或错误。
- 轻松创建安全配置。
- 为您的特定 ComplexType 生成自定义子 VI。
“我的应用程序中发生了一些意外情况,我该如何调试?”
RTI DDS 工具包管理面板允许您查看 LabVIEW 应用程序的调试消息以及查看系统的全局图(包括创建的实体数量、LabVIEW 节点等)。你也可以在上面配置一些日志参数:
“您还提到了安全性,那么,我该如何保护我的数据?”
RTI DDS Toolkit 可以配置为使用不同的密钥和文档对您的通信进行身份验证、加密和签名。我们提供了一个安全面板,可以简化您所需的安全配置的创建。您创建“安全配置文件”,将在创建实体(数据写入器或读取器)时使用。您还可以管理这些配置文件:在“当前配置文件”选项卡中,显示了所有已创建配置文件的列表。您可以选择任何配置文件并加载其参数或删除它:
“我有一个复杂类型,我可以将 RTI DDS Toolkit 用于这种类型吗?”
RTI DDS 工具包中包含的多态 VI 支持许多简单类型。如果这还不够,ComplexType Generator 允许您创建自定义子 VI,以将 DDS 用于特定的 LabVIEW 类型定义 (*.ctl)。此 ComplexType Generator 将生成以下文件:
- ComplexType 创建简单/高级阅读器
- ComplexType 创建 Symple/Advaned Writer
- 复杂类型读取
- ComplexType 写入
如果启用示例 VI 的生成,还将生成以下子 VI:
- ComplexType 阅读器示例
- ComplexType 编写器示例
所有这些子 VI 都将有一个输入引脚,其类型将是您在生成这些子 VI 之前提供的类型定义(*.ctl 文件)。
如果您的类型发生变化,您只需再次重新生成子 VI(无需生成示例 VI)。替换它们,您的应用程序将具有最新的更改。
您可能知道,这些面板仅在 Windows 系统上受支持。这是因为它们依赖于 RT 终端不支持的 LabVIEW 功能。然而,我们添加了一些额外的子 VI 来复制来自 RT 目标的管理和安全面板的操作。这些子 VI 在工具类别下有自己的子选项板(DDS 调试和 DDS 安全)。对于 Windows 应用程序,您可以使用面板以及创建的子 VI。
您可以通过查看以下重要资源找到有关 RTI DDS 工具包的更多信息:
- RTI DDS 工具包入门指南
- RTI DDS 工具包网页
- RTI 社区门户上的 RTI DDS 工具包论坛
- NI RTI DDS 工具包用户指南
您还可以在此处注册我们与 NI 技术专家共同举办的网络研讨会“如何使用 LabVIEW 2017 的可互操作数据通信支持设计工业物联网系统”。我们将介绍 LabVIEW 2017 中的数据通信支持,介绍 OPC 和 RTI DDS 工具包,比较和对比 OPC UA 和 DDS 标准,并提供有关选择最佳解决方案以构建 IIoT 解决方案的指导。
物联网技术