python visa/gpib模块中的等效函数ibwrtfW和ibwrtfA

San*_*ndy 6 python gpib visa

我正在实验室仪器的自动化过程中.我有一个像函数的要求将通过VISA GPIB从主机PC发送文件/二进制数据到仪器.

在Ni4882.h中,有以下函数在Visual Studio 2010中传输文件/二进制数据,它正在工作.我非常精通发送命令作为GPIB字符串.

但我从未遇到通过GPIB命令发送文件.

这些是我在c ++中尝试过的函数.我使用ni4882.obj文件(有这些功能的定义)并创建了一个应用程序,所以我能够将文件PC传输到仪器.但是我无法在python中找到等效的函数

unsigned long NI488CC ibwrtfA  (int ud, const char * filename);
unsigned long NI488CC ibwrtfW  (int ud, const wchar_t * filename);
Run Code Online (Sandbox Code Playgroud)

谁能告诉我pyvisa或visa python包中的等效功能? - 或 - 任何等效的模块替代它.

我浏览了pyvisa和签证的所有功能,但我找不到相应的功能.

提前致谢!!

Art*_*les 2

您可以尝试write_raw方法。试试这个代码:

import visa
rm = visa.ResourceManager()

rm.list_resources() # ('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::12::INSTR')
ud = rm.open_resource('GPIB0::12::INSTR') #You need to specify your device here.

#Read the file into data
f = open('file.dat', 'rb')
data = list(f.read())

#Write file into device
ud.write_raw(data)
Run Code Online (Sandbox Code Playgroud)

作为替代方案,write_raw您可以尝试write_binary_valueswrite_ascii_values。如果您需要,两者都提供更多设置。