对签证交流使用回调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
如果gydF4y2Ba
BytesAvailableFcnModegydF4y2Ba
是gydF4y2Ba字节gydF4y2Ba
,可用事件执行指定的回调函数gydF4y2BaBytesAvailableFcngydF4y2Ba
属性规定每次的字节数gydF4y2BaBytesAvailableFcnCountgydF4y2Ba
存储在输入缓冲区。gydF4y2Ba如果gydF4y2Ba
BytesAvailableFcnModegydF4y2Ba
是gydF4y2Ba《终结者》gydF4y2Ba
,可用事件执行指定的回调函数gydF4y2BaBytesAvailableFcngydF4y2Ba
属性指定的字符每次gydF4y2Ba《终结者》gydF4y2Ba
属性是阅读。gydF4y2Ba
错误的事件gydF4y2Ba
生成一个错误事件后立即出现一个错误。生成一个错误事件连接到你的签证的资源被打断时或者当异步读取错误发生。一个错误事件不是生成的配置错误,例如设置无效的属性值。这个事件执行指定的回调函数gydF4y2BaErrorOccurredFcngydF4y2Ba
财产。gydF4y2Ba
使用事件和回调显示事件信息gydF4y2Ba
这个例子延伸gydF4y2Ba读写二进制数据gydF4y2Ba通过使用自定义回调函数gydF4y2BamycallbackgydF4y2Ba
显示与事件相关的信息可用时命令行事件发生在一个二进制读操作。gydF4y2Ba
创建一个回调函数gydF4y2Ba
mycallbackgydF4y2Ba
作为m文件并将其保存在目录中工作。gydF4y2Ba函数gydF4y2Bamycallback (src evt) disp (evt)gydF4y2Ba结束gydF4y2Ba
创建VISA-GPIB对象gydF4y2Ba
ggydF4y2Ba
国家仪器gydF4y2Ba®gydF4y2BaGPIB控制器的主要地址1和二级地址0。gydF4y2Bag = visadev (gydF4y2Ba“GPIB0:: 1:: 0: INSTR”gydF4y2Ba);gydF4y2Ba
配置超时时间值占数据传输慢两分钟。gydF4y2Ba
g。超时= 120;gydF4y2Ba
配置gydF4y2Ba
ggydF4y2Ba
执行回调函数gydF4y2BamycallbackgydF4y2Ba
每次5000字节存储在输入缓冲区。gydF4y2BaconfigureCallback (g,gydF4y2Ba“字节”gydF4y2Ba,5000,@mycallback)gydF4y2Ba
配置范围将屏幕显示位图。gydF4y2Ba
writeline (g,gydF4y2Ba“硬拷贝:通用接口总线端口”gydF4y2Ba)writeline (g,gydF4y2Ba“硬拷贝:BMP格式”gydF4y2Ba)writeline (g,gydF4y2Ba“硬拷贝启动”gydF4y2Ba)gydF4y2Ba
mycallbackgydF4y2Ba
每次调用5000字节存储在输入缓冲区。结果显示如下。gydF4y2BaDataAvailableInfo属性: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
后所有的数据被发送到输入缓冲区,将数据传递给MATLAB工作区作为unsigned 8位整数。gydF4y2Ba
=阅读(g, g.NumBytesAvailable,gydF4y2Ba“uint8”gydF4y2Ba);gydF4y2Ba
使用gydF4y2Ba
清晰的gydF4y2Ba
断开仪器从VISA-GPIB对象gydF4y2BaggydF4y2Ba
从MATLAB和清除工作区当你完成工作。gydF4y2Ba清晰的gydF4y2BaggydF4y2Ba