3458A 程控时遇到的问题


前言

3458A是KEYSIGHT的一款八位半台式数字万用表,目前工作中需要对其进行程控,遇到了一些问题,现将其梳理并附上参考代码。

一、使用*IDN?查询时dmm提示:103,"SYNTAX

3458A是一种旧仪器,不懂SCPI命令语言,因此GPIB程控时,需要查询manual的commands, 比如: *IDN?应替换为ID?

二、write is ok, but read will get read timeout

GPIB EOI(END or Identify)信号用于指示数据传输的结束或标识GPIB设备链中的最后一个设备。当一个设备 assert EOI信号时,它通知GPIB总线自己已经完成了数据传输,或者它是最后一个接收数据的设备。

END命令用来开启或关闭GPIB EOI (END or Identify)功能。
仪表重新上电后,被设置为END OFF

如果为高速模式指定了END ALWAYS,则在读取数据时,EOI模式自动变为ON。读取完成后,EOI模式返回到ALWAYS。

因此在第一次使用查询指令前,给dmm发以下指令

END ALWAYS

三、code

基础功能代码如下:

class HP3458A():
    def __init__(self, address, model=''):
        self.addr = address
        self.model = model
        self.rm = visa.ResourceManager()
        self.dmm = self.rm.open_resource(self.addr)
        self.dmm.write_termination = '\n'
        self.dmm.timeout = TIMEOUT
        self.dmm.write('END ALWAYS')
        
	def IDN(self):
        return self.dmm.query('ID?')

    def Line(self):
        '''
        freq of power line
        '''
        return self.dmm.query('LINE?')

四、使用keysight GPIB卡,NI VISA识别不到HP3458A

打开Keysight Connection Expert,Settings -> Keysight 488 GPIB options -> 勾选Enable Keysight GPIB Cards for 488 Programs.
C++ ok, python open_resource报错, 后面有空再排查.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值