python visa/gpib modu中ibwrtfW和ibwrtfA的等价函数

2024-04-29 11:44:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

在Ni4882.h中,有以下函数在visualstudio2010中传输文件/二进制数据,并且它正在工作。我很精通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的所有函数,但是没有找到等价的函数。在

提前谢谢!!在


Tags: 文件数据函数命令二进制仪器longint
1条回答
网友
1楼 · 发布于 2024-04-29 11:44:28

你可以试试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或{a3}。如果需要,两者都提供了更多的设置。在

相关问题 更多 >