我试图使用PyVISA和SCPI协议在Python 3.4中通过网络控制设备。我已经能够建立连接,并从设备读取和写入数据。例如,简单的程序
import visa
rm = visa.ResourceManager()
device = rm.open_resource('resource_address')
print(device.query('*IDN?\n'))
有预期的输出。
我想向这个设备发送一些更复杂的命令,特别是我希望保存它记录的数据。根据手册,我应该发送像
这样的东西device.write(':MMEMory:STORe:TRACe TRACE1,E:\filename.csv\n')
这会导致保存某些文件,但设备本身无法识别它,也不会识别计算机。使用我用来设置此设备的NI软件附带的基本I / O实用程序发送命令工作正常(设备制造商的专有软件的I / O功能也是如此)。从这一点来看,我猜想Python编码/格式化命令字符串的方式有问题,但我还没有弄清楚这一点。