码迷,mamicode.com
首页 > 其他好文 > 详细

选择?同步?或?异步?NI-?VISA?函数

时间:2020-04-19 18:20:57      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:序列   header   返回   add   text   函数   之间   基于   帮助   

概览

本文?旨?在?解释?术语“同步”和“异步”,?因为?它们?与?NI-?VISA?函数?密切?相关。?本文?档?可?帮助?确定?为?应用?程序?选择?哪?一种?函数。

简介

术语“同步”和“异步”是?指?NI-?VISA?函数?相?对于?其?调?用?线?程?的?行为?方式。?如果?NI-?VISA?函数?同步?运行,?会?阻止?调?用?线?程?中的?其他?代码?执行。?在?某些?情况?下,?比如?传输?大量?数据?或者?确保?尽快?将?数据?传输?到?设备?或?从?设备?采集?数据,?可能?更?适合?采用?这种?方法。

在?较?底层,?基于?接口?是?同步?还是?异步,?调?用?线?程?保持?锁定?的?持续?时间?也?不尽?不同。?写?入?操作?必须?将?数据?从?应用?程序?开发?环境?(ADE)?传输?到?计算?机?提供?的?基础?物理?资源。?而?读?取?操作?需要?将?数据?从?设备?的?物理?资源?传输?到?ADE。?这?两?种?操作?都?必须?经过?若干?层?内存?的?传输。

写?入?操作?的?执行?序列?如下:

  1. 锁定?调?用?线?程。
  2. 将与?VISA?写?入?函数?关联?的?数据?从?ADE?传输?到?VISA?内存。
  3. 轮?询?操作?开始?确定?所有?与?VISA?写?入?关联?的?数据?何时?已?从?VISA?内存?传输?到?硬件?资源?的?底层?驱动?程序。
  4. 传输?完成。
  5. VISA Write?函数?返回?结果。

读?取?操作?与?写?入?操作?的?序列?相同,?但?顺序?相反。

如果?是?同步?操作,?调?用?线?程?在?上述?步骤?4?和?5?之间?解?锁。?对于?异步?操作,?调?用?线?程?在?上述?步骤?2?和?3?之间?解?锁。?在?为?应用?程序?选择?同步?或?异步?操作?时,?需要?考虑?正在?写?入?或?读?取?的?数据?量?以及?应用?程序?可用?的?线?程?数。

如果?必须?在?尽可能?短?的?时间?内?传输?大量?数据,?则?应?考虑?同步?执行?操作,?因为?这样?的话,?调?用?线?程?将?专门?用于?将?数据?传?入/?传?出?硬件?资源。?而?如果?采用?异步?执行,?调?用?线?程?可以?访问?应用?程序?的?其他?部分,?不过?需要?更?长?的?时间?来?确定?数据?是否?已?传?入/?传?出?硬件?资源。

如果?应用?程序?可用?的?线?程?数量?相比?并行?进程?数量?较?少,?那么?异步?运行?NI-?VISA?操作?可以?让?调?用?线?程?更?快速?用于?应用?程序?的?其他?部分。?如果?同步?执行?此?操作,?调?用?线?程?可以?专门?用于?执行?NI-?VISA?操作,?确保?此?操作?尽快?完成,?但?会?影响?应用?程序?的?整体?性能。

在?LabVIEW?中?选择?同步?或?异步?函数?时,?可?参考?以下?LabVIEW?帮助?链?接。

选择?同步?或?异步?NI-?VISA?函数

标签:序列   header   返回   add   text   函数   之间   基于   帮助   

原文地址:https://www.cnblogs.com/lei-zi/p/12732411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!