在两个并行运行的循环之间传输数据
- 更新时间2025-08-27
- 阅读时长2分钟
通道线的用法类似于由一个循环写入并由另一个循环读取的引用句柄或变量的用法。与引用句柄或变量不同的是,通道使用连线直观表示数据传输。通道线为异步连线,可连接两段并行代码,而不强制规定执行顺序。这样就避免了在两段代码之间创建数据依赖关系。
下图是使用通道线在两个并行运行的循环之间传输数据的示意图。在写入方循环中,写入端点连续向通道写入迭代接线端的值。在读取方循环中,读取端点连续从通道读取数据。读取方循环无需等待写入方循环完成即可开始运行。两个循环并行运行。单击写入方循环中的停止写入方按钮时,写入端点立即停止向通道写入数据,读取端点读取完毕通道中剩余的所有数据后停止读取。
下面列出了上述程序框图的要点:
注: 如显示强制转换点,或由于通道中存在不同数据类型而导致连线断开,可右键单击端点或前面板接线端并从快捷菜单中选择匹配元素类型或匹配通道类型,以解决数据类型问题。
说明和建议
下面列出了调试通道线时应考虑的说明和建议:
- 探测通道线时,调试窗口仅表示用户希望对该通道进行探测。VI开始运行时,会出现单独的通道探针窗口。不同的端点读取或写入数据时,可在通道探针窗口中查看通道的当前状态。
- 如在调试窗口中选中激活新通道的连线探针时暂停通道选项,通道探针窗口打开时,通道探针将尽快暂停。如在整个程序执行过程的早期选中该选项,可在任何端点开始执行前暂停通道自身。暂停通道自身可使用户仔细观察通道中发生的行为。
- 通道探针窗口可提供暂停、条件暂停、单步步过等调试功能。每种通道模板具有自定义的调试选项,可对通道进行精确调试。
- 高速串流通道没有调试功能。即使在调用方VI中启用调试,也无法对高速串流通道进行探测。这样可确保使用高速串流通道快速、高效地传输数据。这不影响使用其他模板通道,因为调试对通道和绝大多数调用方VI的性能影响非常小。