主要内容

执行连续轮询

使用visastatus函数

方法执行连续轮询visastatus函数。此函数适用于所有VISA接口。

签证- gpib系列投票

在VISA-GPIB接口的串行轮询中,控制器要求(轮询)每个寻址侦听器发回一个状态字节,指示它是否断言了SRQ行并需要服务。如果仪器正在请求服务,则设置该字节的第7位(RQS位)。

控制器对每个已寻址的监听器执行以下步骤:

  1. 对监听器进行寻地址,并发送SPE (Serial Poll Enable)命令字节。

  2. ATN行设置高,侦听器返回状态字节。

  3. 设置低ATN行,发送SPD (Serial Poll Disable)命令字节结束轮询序列。

状态和事件报告参阅有关GPIB总线线路和RQS位的更多信息。

执行连续轮询

本示例向您展示如何为Keysight™33120A函数生成器和Tektronix执行串行轮询®tds210示波器。在此过程中,该示例向您展示了如何配置中描述的许多状态位标准事件状态登记册

  1. 创建VISA-GPIB对象—创建VISA-GPIB对象fgen与主地址1上的Keysight 33120A函数发生器相关联。

    = visadev(“GPIB0:: 1:: 0: INSTR”);

    创建VISA-GPIB对象范围在主地址2与泰克TDS 210示波器相关。

    Scope = visadev(“GPIB0:: 2:: 0: INSTR”);
  2. 配置属性值—配置两个对象都在1秒后超时。

    fgen。超时= 1;范围。超时= 1;
  3. 读写数据—配置函数生成器在命令出错时请求服务。

    writeline (fgen“* CLS”);writeline (fgen“* ESE 32”);writeline (fgen“32 *行为”);

    配置示波器在命令出错时请求服务。

    writeline(范围,“* CLS”);writeline(范围,“* PSC 0”);writeline(范围,“* ESE 32”);writeline(范围,“DESE 32”);writeline(范围,“32 *行为”);

    确定是否有任何仪器需要维修。

    visastatus (fgen)
    Ans =逻辑0
    visastatus(范围)
    Ans =逻辑0

    查询每个仪表的电压值。

    writeline (fgen“伏特?”);writeline(范围,“伏特?”);

    确定由于前面的查询,是否有任何一种仪器产生了错误。

    visastatus (fgen)
    Ans =逻辑0
    visastatus(范围)
    Ans =逻辑1

    伏特?是函数生成器的有效命令,则成功回读该值。

    Volt1 = readline(fgen)
    volt1 = +1.00000E-01

    伏特?是示波器的无效命令,它正在请求服务。示波器读操作1秒后超时。

    Volt2 = readline(范围)
    警告:在“readline”的超时时间内没有返回指定数量的数据。'visadev'无法读取任何数据。有关可能原因的更多信息,请参见visadev阅读警告。Ans = []
  4. 断开连接并清理——使用清晰的以断开仪器与VISA-GPIB对象的连接fgen范围并从MATLAB中清除它®工作空间,当你完成它的工作。

    清晰的fgen范围

另请参阅

相关的话题