主要内容gydF4y2Ba

对签证交流使用回调gydF4y2Ba

你可以提高你的能力和灵活性仪器控制应用程序通过使用事件和回调。事件发生的条件满足后,会导致一个或多个回调。gydF4y2Ba

而MATLABgydF4y2Ba®gydF4y2Ba连接到工具,您可以使用事件来显示一个消息,显示数据,分析数据,等等。你可以控制通过回调gydF4y2BaconfigureCallbackgydF4y2Ba和回调函数。回调函数是MATLAB函数,编写应用程序来满足您的特定需求。gydF4y2Ba

使用事件和回调gydF4y2Ba

下面的例子使用了回调函数gydF4y2BamycallbackgydF4y2Ba阅读从终结者时仪器可以阅读。事件时生成的gydF4y2Ba《终结者》gydF4y2Ba读取属性值。指定事件类型和要执行的回调函数使用gydF4y2BaconfigureCallbackgydF4y2Ba函数。指定回调函数作为处理函数。gydF4y2Ba

函数gydF4y2Bamycallback (src evt) data = readline (src) disp (evt)gydF4y2Ba结束gydF4y2Ba
g = visadev (gydF4y2Ba“GPIB0:: 1:: 0: INSTR”gydF4y2Ba);configureCallback (g,gydF4y2Ba“终结者”gydF4y2Ba@mycallback) writeline (g,gydF4y2Ba“* IDN ?”gydF4y2Ba)gydF4y2Ba

结果显示,从gydF4y2BamycallbackgydF4y2Ba如下所示。gydF4y2Ba

数据= "美国泰克TDS 210 0, CF: 91.1 ct阵线:v1.16 TDS2CM:巨细胞病毒:v1.04”DataAvailableInfo属性:BytesAvailableFcnCount: 1 AbsTime: 1 - 4月- 2021年14:54:16gydF4y2Ba

VISA-GPIB会话结束。gydF4y2Ba

清晰的gydF4y2BaggydF4y2Ba

事件类型和回调属性gydF4y2Ba

下表列出了gydF4y2BavisadevgydF4y2Ba属性和函数与回调。gydF4y2Ba

属性或函数gydF4y2Ba 目的gydF4y2Ba
configureCallbackgydF4y2Ba 设置回调函数和触发条件沟通gydF4y2Ba
BytesAvailableFcngydF4y2Ba 回调函数可用事件引发的字节gydF4y2Ba
BytesAvailableFcnCountgydF4y2Ba 的字节数的数据触发回调gydF4y2Ba
BytesAvailableFcnModegydF4y2Ba 可用字节数调触发模式gydF4y2Ba
ErrorOccurredFcngydF4y2Ba 回调函数错误引发的事件gydF4y2Ba
用户数据gydF4y2Ba 通用属性的用户数据gydF4y2Ba

关于配置这些属性和函数的更多信息,参见gydF4y2Bavisadev属性gydF4y2Ba。gydF4y2Ba

可用空间活动模式gydF4y2Ba

可用空间事件后立即生成指定的输入缓冲区中可用的字节数或读取指定的终结者的角色,作为决定的gydF4y2BaBytesAvailableFcnModegydF4y2Ba财产。gydF4y2Ba

  • 如果gydF4y2BaBytesAvailableFcnModegydF4y2Ba是gydF4y2Ba字节gydF4y2Ba,可用事件执行指定的回调函数gydF4y2BaBytesAvailableFcngydF4y2Ba属性规定每次的字节数gydF4y2BaBytesAvailableFcnCountgydF4y2Ba存储在输入缓冲区。gydF4y2Ba

  • 如果gydF4y2BaBytesAvailableFcnModegydF4y2Ba是gydF4y2Ba《终结者》gydF4y2Ba,可用事件执行指定的回调函数gydF4y2BaBytesAvailableFcngydF4y2Ba属性指定的字符每次gydF4y2Ba《终结者》gydF4y2Ba属性是阅读。gydF4y2Ba

错误的事件gydF4y2Ba

生成一个错误事件后立即出现一个错误。生成一个错误事件连接到你的签证的资源被打断时或者当异步读取错误发生。一个错误事件不是生成的配置错误,例如设置无效的属性值。这个事件执行指定的回调函数gydF4y2BaErrorOccurredFcngydF4y2Ba财产。gydF4y2Ba

使用事件和回调显示事件信息gydF4y2Ba

这个例子延伸gydF4y2Ba读写二进制数据gydF4y2Ba通过使用自定义回调函数gydF4y2BamycallbackgydF4y2Ba显示与事件相关的信息可用时命令行事件发生在一个二进制读操作。gydF4y2Ba

  1. 创建一个回调函数gydF4y2BamycallbackgydF4y2Ba作为m文件并将其保存在目录中工作。gydF4y2Ba

    函数gydF4y2Bamycallback (src evt) disp (evt)gydF4y2Ba结束gydF4y2Ba
  2. 创建VISA-GPIB对象gydF4y2BaggydF4y2Ba国家仪器gydF4y2Ba®gydF4y2BaGPIB控制器的主要地址1和二级地址0。gydF4y2Ba

    g = visadev (gydF4y2Ba“GPIB0:: 1:: 0: INSTR”gydF4y2Ba);gydF4y2Ba
  3. 配置超时时间值占数据传输慢两分钟。gydF4y2Ba

    g。超时= 120;gydF4y2Ba

    配置gydF4y2BaggydF4y2Ba执行回调函数gydF4y2BamycallbackgydF4y2Ba每次5000字节存储在输入缓冲区。gydF4y2Ba

    configureCallback (g,gydF4y2Ba“字节”gydF4y2Ba,5000,@mycallback)gydF4y2Ba
  4. 配置范围将屏幕显示位图。gydF4y2Ba

    writeline (g,gydF4y2Ba“硬拷贝:通用接口总线端口”gydF4y2Ba)writeline (g,gydF4y2Ba“硬拷贝:BMP格式”gydF4y2Ba)writeline (g,gydF4y2Ba“硬拷贝启动”gydF4y2Ba)gydF4y2Ba

    mycallbackgydF4y2Ba每次调用5000字节存储在输入缓冲区。结果显示如下。gydF4y2Ba

    DataAvailableInfo属性:BytesAvailableFcnCount: 5000 AbsTime: 1 - 4月- 2021 15:06:11 DataAvailableInfo属性:BytesAvailableFcnCount: 5000 AbsTime: 1 - 4月- 2021 15:06:16 DataAvailableInfo属性:BytesAvailableFcnCount: 5000 AbsTime: 1 - 4月- 2021 15:06:21gydF4y2Ba
  5. 后所有的数据被发送到输入缓冲区,将数据传递给MATLAB工作区作为unsigned 8位整数。gydF4y2Ba

    =阅读(g, g.NumBytesAvailable,gydF4y2Ba“uint8”gydF4y2Ba);gydF4y2Ba
  6. 使用gydF4y2Ba清晰的gydF4y2Ba断开仪器从VISA-GPIB对象gydF4y2BaggydF4y2Ba从MATLAB和清除工作区当你完成工作。gydF4y2Ba

    清晰的gydF4y2BaggydF4y2Ba

另请参阅gydF4y2Ba

相关的话题gydF4y2Ba