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。如果您需要,两者都提供更多设置。
我正在使实验室仪器自动化。 我有一个要求,比如函数将通过 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。如果您需要,两者都提供更多设置。