我正在实验室仪器的自动化过程中.我有一个像函数的要求将通过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和签证的所有功能,但我找不到相应的功能.
提前致谢!!
您可以尝试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_values或write_ascii_values。如果您需要,两者都提供更多设置。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           346 次  |  
        
|   最近记录:  |