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

Equivalent function ibwrtfW and ibwrtfA in python visa/gpib module

我正在使实验室仪器自动化。 我有一个要求,比如函数将通过 VISA GPIB 从主机 PC 向仪器发送 file/binary 数据。

在 Ni4882.h 中有以下函数可以在 Visual studio 2010 中传输 file/binary 数据,并且可以正常工作。 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);

任何人都可以让我知道 pyvisa 或 visa python 包中的等效功能吗? -- 或 -- 任何等效的替代模块。

我浏览了pyvisa和visa的所有功能,但是没有找到对等的功能。

提前致谢!!

你可以试试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)

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