如何在 Data Rercord AD 系统中由 IO plugin 向 UI Plugin 发送数据

更新 Nov 6, 2023

环境

软件

  • Data Record AD
  • ADAS Software

我想在 UI Plugin上显示相关 IO plugin的数据或者状态,我该怎么做

由于 IO plugin 和 UI plugin 运行在两个应用程序中。需要通过网络协议进行通信,Data Record AD提供两种 API 进行通信
  1. Data Stream gRPC 服务(推荐)
    1. IO Plugin 端:创建 IO Plugin template 项目后可以找到 依赖关系>>vilib>>ADAS Utilities>>Send Data to gRPC Service.vim. 通过输入 Topic Name 和 Data 调用该 VI 使消息主题数据通过 gRPC 发布;
    2. UI Plugin 端:通过调用 DatastreamGrpc 库函数来注册发布的消息主题,并读取数据。该库函数可通过导航文件资源管理器至 C:\Program Files\National Instruments\LabVIEW 2020\vi.lib\DatastreamGrpc,库函数范例可参考data-record-ad/DataStreamGrpc at main · ni/data-record-ad · GitHub 中 Example - Send Client Message.vi.
  2. Skylink Message
    1. IO Plugin 端:根据下图VI片段修改 Plugin 方法。
Skylink in IO plugin.png
  1. UI Plugin 端:创建 UI Plugin template 项目后,在不更改模板的消息处理实现的情况下,可以在下图 Console Message 条件分支进行所注册的消息数据的处理。
Skyline Message case.png
 

完成 Plugin 生成后,在 Data Record AD UI Configurator 软件配置 Plugin 对需要的消息主题的注册,如下图所示
Configure Subscription.png
一切正常的话,Plugin 之间的通信将会建立