LabVIEW VI并行执行设置 点击:37 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:860帖 | 36回
  • 年度积分:646
  • 历史总积分:2182
  • 注册:2008年8月14日
发表于:2024-08-30 08:23:35
楼主

要在多个程序中运行同一个VI(Virtual Instrument),通常需要确保VI的重入性(Reentrancy)设置正确。在LabVIEW中,可以使用“重入性”(Reentrancy)选项来允许同一个VI同时在多个地方调用,而不会互相干扰。

设置方法:

在你提供的LabVIEW VI属性窗口中,重入性(Reentrancy)有以下几种选项:

  1. Non-reentrant execution(非重入执行)

    • 如果选择此选项,同一个VI在不同地方调用时,它们会互相排队等待,只有一个调用能够执行,其他调用必须等待这个VI完成后才能开始。这样可以避免冲突,但会导致执行变慢。

  2. Shared clone reentrant execution(共享克隆重入执行)

    • 选择此选项时,LabVIEW为每个调用分配一个共享克隆。如果多个地方同时调用VI,它们将共享相同的内存副本,但不同时执行。适用于共享资源但有些程度重入的情况。

  3. Preallocated clone reentrant execution(预分配克隆重入执行)

    • 如果选择此选项,LabVIEW会为每个调用生成一个独立的副本,这样每个调用都不会互相影响。适用于VI在多个地方同时调用且不应共享状态的情况。

推荐设置:

为了在多个程序中同时运行同一个VI且不互相干扰,“Preallocated clone reentrant execution” 是最佳选择。这种设置确保每个调用都有独立的执行副本,不会因为资源共享而引起问题。

原因:

选择“预分配克隆重入执行”可以让VI在每个调用中保持独立的状态,避免数据混淆或执行冲突,这是在并行调用中保证正确性的关键。





楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师