【问题标题】:Python code to read/write label of oscilloscope用于读取/写入示波器标签的 Python 代码
【发布时间】:2018-08-16 17:45:29
【问题描述】:

我编写了一个小的 Python 代码来读回我的泰克示波器上特定通道的标签。以下代码运行良好,并给出了预期的结果。

import visa
rm=visa.ResourceManager()
Tek_Scope= rm.open_resource('USB0::0x0699::0x0409::C010314::INSTR')

Tek_Scope.write("CH2:LABEL?")
Readback= Tek_Scope.read()
print(Readback)

但是,当我尝试更改同一频道的标签时,标签名称不会更改。我也没有收到任何错误。似乎我缺少任何与仪器通信和写入的语法?在下面的代码中,我试图将我的 Ch1 标签重命名为 VDD

Tek_Scope.write('CH1:LABEL %s' %'VDD' )

如果有人对此有想法,请告知。

【问题讨论】:

  • 很抱歉给您带来了困惑。我有 Python 3。我刚刚删除了 Phtyon 2 的标签。
  • 您能发布 write 函数或展示您的问题的最小示例吗?
  • write() 是我正在使用的 PYVISA 库的一部分(我猜)。刚才,我修改了原始问题描述中的代码以反映这一点。我现在也添加了 PyVisa 标签。

标签: python-3.x instrumentation visa oscilloscope pyvisa


【解决方案1】:

看来您必须在 VISA 命令中引用字符串参数:

Tek_Scope.write('CH1:LABEL "%s"' % 'VDD')

【讨论】:

  • 是的,现在可以了。虽然我想知道,当我尝试使用以下命令进行涉及写入浮点数(而不是字符串)的其他测试时,我能够做到这一点,而无需在 %f Instrument.write(" SOURCE:VOLTAGE :LEVEL:IMMEDIATE:AMPLITUDE %f " % VDD_input)
  • 嗯,这是一个数字 - 与可能包含空格的字符串不同,参数结束的位置没有歧义。
  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多