Python实现对仪器仪表控制(二)

        在完成了环境配置后,就可以利用pyvisa对仪器仪表进行控制。在进行代码编写前,我们需要对pyvisa库有一定的了解。我们可以进入PyVISA官网进行仔细研读,本次,我只列出了一些常见的函数,并对其进行分析。

rm = visa.ResourceManager()
print(rm.list_resources())
#('ASRL5::INSTR', 'ASRL18::INSTR', 'ASRL19::INSTR')
target = rm.open_resource(设备名称)

        向设备写入命令 

target.write()

         查询设备状态

target.query()
#print(target.query('*IDN?'))

         读值

values = target.query_ascii_values('CURV?')#读ASCLL码值
values = np.array(target.query_ascii_values('CURV?'))#转换成数组
values = target.query_ascii_values('CURV?', container=numpy.array)#利用container
values = target.query_ascii_values('CURV?', converter='x')#十六进制接收


values = target.query_binary_values('CURV?', datatype='d', is_big_endian=True)
#读取二进制值,十进制,大端格式

         写值

values = list(range(100))
target.write_binary_values('WLISt:WAVeform:DATA somename,', values)#写二进制值
target.write_binary_values('WLISt:WAVeform:DATA somename,', values, datatype='d', is_big_endian=False)


target.write_ascii_values('WLISt:WAVeform:DATA somename,', values)#写ASCLL值
inst.write_ascii_values('WLISt:WAVeform:DATA somename,', values, converter='x')
inst.write_ascii_values('WLISt:WAVeform:DATA somename,', values, converter='x', separator='$')#设置分隔符,默认为“,”

        在上述方法无法进行值的读取时,可以采用一下代码,进行数据读取

inst.write('CURV?')
data = target.read_raw()

        更者

inst.write('CURV?')
data = target.read_bytes(1)

        然后通过逻辑解析,得到读取结果

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值