Использование pyserial для взаимодействия с источником питания - PullRequest
1 голос
/ 24 октября 2019

Я использую конвертер RS-232 в USB для подключения моего Agilent E3640A к моему ноутбуку. Я пытаюсь вернуть имя производителя, используя команду "* IDN", как указано в их руководстве. Когда я пытаюсь прочитать строку, я получаю пустую строку. У меня также просто возникают проблемы с переводом устройства в удаленный режим. Вот ссылка на их руководство: https://all -guidesbox.com / model / agilent-technologies / e3640a.html

Кажется, что мой блок питания неправильно подключен к моему ПКв соответствии с Keysight Connection Helper. Он выдает этот код ошибки:

! VI_ERROR_TMO: A timeout occurred
Visa ErrorCode: 0xBFFF0015 (-1073807339)
 ! Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Мой код:

ser = serial.Serial()
ser.timeout = 20
ser.baudrate = 9600
ser.port = 'COM8'
print('Connected to ' + ser.name)
ser.open()
ser.reset_input_buffer()
ser.reset_output_buffer()
#ser.write('SYST:INT{RS232}'.encode('utf-8'))
ser.write(b'SYST:REM')
ser.flush()
ser.write('*IDN?'.encode('utf-8'))
ser.flush()
print(ser.readline())

Фактический вывод:

Connected to COM8
b''

Требуемый вывод:

Connected to COM8
‘‘Agilent Technologies,E3640A,0,X.X-Y.Y-Z.Z’’
...