NI-9403 无法并行执行多个循环

更新 Aug 2, 2023

适用于

硬件

  • NI-9403
  • CompactRIO Controller

驱动

  • NI CompactRIO

问题详述

我正在使用带有 NI-9403 C系列数字模块的 cRIO 系统。当我在 FPGA vi 中为每个 PWM 生成和编码器测量任务创建各自单独的循环时,它会按顺序而不是并行执行这些任务。但是,我的应用程序需要并行执行任务。

这是预期的行为吗?我应该如何解决这个问题?

解决方案

NI-9403 的行为是符合其设计。NI-9403是通过使用串行接口进行通信。每个单独的节点大约需要 7us 来与这模块通信。
 

您可以参考以下其一方法解决此问题:

  • 使用高速并行数字模块(例如:9401 或 9402)。这些模块具有并行接口,允许每条线路独立使用。
  • 重写应用程序以将所有 I/O 放入单个 I/O 节点中。当所有 I/O 都在单个节点中时,则使用一个约 7us 的串行事务来同时传输所有通道的 I/O 数据。