Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Python的GPIB通信(PyVisa)_Python_Ieee_Gpib_Pyvisa - Fatal编程技术网

与Python的GPIB通信(PyVisa)

与Python的GPIB通信(PyVisa),python,ieee,gpib,pyvisa,Python,Ieee,Gpib,Pyvisa,我正试图通过Python与一个非常古老的仪器(CCD摄像机)进行通信。1999年出版的仪器制造商的GPIB编程手册仅提供基本命令列表。它还描述了GPIB通信的一些标准过程 我以前成功地编写了一些Python程序(使用PyVisa)来控制和获取通过以太网或USB与计算机连接的仪器的数据。然而,GPIB对我来说是新事物,它在ATN、SRQ、说话者或听众方面似乎与他们有很大的不同 我从PyVisa API文档中找到了GPIBInterface和GPIBInstrument类,但找不到有关talker或

我正试图通过Python与一个非常古老的仪器(CCD摄像机)进行通信。1999年出版的仪器制造商的GPIB编程手册仅提供基本命令列表。它还描述了GPIB通信的一些标准过程

我以前成功地编写了一些Python程序(使用PyVisa)来控制和获取通过以太网或USB与计算机连接的仪器的数据。然而,GPIB对我来说是新事物,它在ATN、SRQ、说话者或听众方面似乎与他们有很大的不同

我从PyVisa API文档中找到了GPIBInterface和GPIBInstrument类,但找不到有关talker或listener设置的任何信息

这是我的问题

a。我下面关于数据采集过程的假设正确吗?

  • 将控制器(PC)设置为对讲机,将仪器设置为监听器
  • 控制器断言ATN
  • 控制器向仪器发出数据采集命令
  • 等待来自仪器的SRQ
  • 将乐器设置为说话者,控制器设置为听者
  • 控制器解除ATN的断言
  • 仪表向控制器发送数据信息
  • 单次采集完成
  • b。来自控制器的控制消息与GPIBInstrument类中的直接“写入”函数有什么区别?

    下面的代码仍然有效,尽管它忽略了设置ATN、说话者或侦听器。为什么

    import pyvisa
    
    RM = pyvisa.ResourceMananger()
    INSTRUMENT = RM.open_resource('instrument address')
    print(INSTRUMENT.query('*IDN?'))
    
    c。他们是否有通过PyVisa进行GPIB编程的示例或教程?

    我找不到合适的

    任何意见都会有帮助。提前谢谢

    a。我下面关于数据采集过程的假设正确吗?

  • 将控制器(PC)设置为对讲机,将仪器设置为监听器
  • 控制器断言ATN
  • 控制器向仪器发出数据采集命令
  • 等待来自仪器的SRQ
  • 将乐器设置为说话者,控制器设置为听者
  • 控制器解除ATN的断言
  • 仪表向控制器发送数据信息
  • 单次采集完成
  • 我已经写了超过20年的基于签证的仪器控制代码,我不知道这个问题的答案,几乎可以肯定的是,你也没有必要知道它

    只有当您自己实际实施VISA API,或在您设计的仪器上调试GPIB接口时,您才需要担心ATN或SRQ信号的操作,或分配说话者和听众

    下面的代码仍然有效,尽管它忽略了设置ATN、说话者或侦听器。为什么

    import pyvisa
    
    RM = pyvisa.ResourceMananger()
    INSTRUMENT = RM.open_resource('instrument address')
    print(INSTRUMENT.query('*IDN?'))
    
    简单地说,因为pyVisa
    write()
    query()
    方法调用的Visa
    viWrite()
    (或
    viQuery()
    )函数,所以请为您解决所有问题

    类似地,pyVisa
    read()
    方法调用的
    viRead()
    函数将处理从从设备读取消息所需的所有低电平信号操作

    有一天,如果你运气不好,你可能会发现你需要执行低级功能,如
    GTL
    (转到本地,告诉一台仪器返回前面板控制)、
    GET
    (组执行触发器,同时触发多台仪器),或响应
    SRQ
    。但即使是这些,VISA库也提供了一个抽象接口,这样您就不必直接操作各个总线

    c。他们有通过PyVisa进行GPIB编程的示例或教程吗

    本文提供了几个示例,例如标题下的示例

    a。我下面关于数据采集过程的假设正确吗?

  • 将控制器(PC)设置为对讲机,将仪器设置为监听器
  • 控制器断言ATN
  • 控制器向仪器发出数据采集命令
  • 等待来自仪器的SRQ
  • 将乐器设置为说话者,控制器设置为听者
  • 控制器解除ATN的断言
  • 仪表向控制器发送数据信息
  • 单次采集完成
  • 我已经写了超过20年的基于签证的仪器控制代码,我不知道这个问题的答案,几乎可以肯定的是,你也没有必要知道它

    只有当您自己实际实施VISA API,或在您设计的仪器上调试GPIB接口时,您才需要担心ATN或SRQ信号的操作,或分配说话者和听众

    下面的代码仍然有效,尽管它忽略了设置ATN、说话者或侦听器。为什么

    import pyvisa
    
    RM = pyvisa.ResourceMananger()
    INSTRUMENT = RM.open_resource('instrument address')
    print(INSTRUMENT.query('*IDN?'))
    
    简单地说,因为pyVisa
    write()
    query()
    方法调用的Visa
    viWrite()
    (或
    viQuery()
    )函数,所以请为您解决所有问题

    类似地,pyVisa
    read()
    方法调用的
    viRead()
    函数将处理从从设备读取消息所需的所有低电平信号操作

    有一天,如果你运气不好,你可能会发现你需要执行低级功能,如
    GTL
    (转到本地,告诉一台仪器返回前面板控制)、
    GET
    (组执行触发器,同时触发多台仪器),或响应
    SRQ
    。但即使是这些,VISA库也提供了一个抽象接口,这样您就不必直接操作各个总线

    c。他们有通过PyVisa进行GPIB编程的示例或教程吗

    本文提供了几个示例,例如标题下的示例


    我在20世纪90年代通过GPIB完成了一个uni项目。我记得它很简单