如何通过python 2.7(pyVISA,NIVISA)将ASCII 182字符发送到TCP / IP仪器

时间:2016-01-07 12:11:17

标签: python python-2.7 visa

我有一台仪器(Vötsch气候室VT 4002)通过TCP / IP和pyVISA连接作为SOCKET,我可以使用* IDN查询它。现在我需要向它发送一个命令,其中包括ASCII 182字符和普通字符串:

instr = rm.open_resource(TCPIP::...::SOCKET', read_termination='\r')
instr.write('11001'+u'\xb6')

但我收到错误:

UnicodeEncodeError; 'ascii' codec can't encode character u'\xb6' in position 5: ordinal not in range(128)

我知道ASCII值大于128,但如何将其写入乐器? 写甚至是正确的命令(尽管* IDN?查询有效)? 我是python和pyVISA的新手,所以请回答新手:) 谢谢!

PS:

# -*- coding: utf-8 -*-

无效

PPS:我认为问题是write()方法总是使用ASCII解码。因此,无论我的字符串采用哪种格式,write()方法将始终解码为ASCII(使用> 128无法完成)。但有没有使用write()方法通过TCP / IP发送命令的替代方法?

0 个答案:

没有答案