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)

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

你可能感兴趣的:(numpy,python)