У меня нет проблем с открытием сеанса ...... я вручную ударил по IP -адресу и сокету, и сеанс успешно открывается. Эта программа, с которой я говорю, написана, чтобы конкретно ответить на определенные строки, отправленные через TCPIP, например, «Сделай это» и «Делай эту вещь». В C#я бы позвонил так: < /p>
Код: Выделить всё
Session.RawIO.Write("Do this thing\r\n");
< /code>
Это работает, потому что программа отвечает точно так же желаемое - она устанавливает режим или выключает. С каждой командой, которую я отправляю на нее, она помещает строку «OK» в выходной буфер. Вот где возникает проблема - я не могу ее прочитать. Ravio.read ()
, ravio.readstring () и т. Д. Все не в состоянии. Я знаю с точки зрения программиста о том, что строка «OK» есть, потому что это хорошо известная программа, с которой я разговариваю, и «ОК» отправляется только в том случае, если вызов успешным (что, учитывая, что ответ такой же, как и желаемое, я знаю фактически). На тестовой панели визы этот факт усиливается, когда я пытаюсь прочитать. Ответ «ОК \ r \ n» появляется, но сеанс все еще время. Если я отправлю *idn? Запрос, ожидаемый ответ, за которым следует тайм -аут. Первоматический символ - \ n. Каждая функция чтения, которую я пробовал, либо через C#, либо тестовую панель Visa не удалась. Некоторые коллеги в Labview могут прочитать этот ответ без проблем ...... что я здесь делаю не так? Тестовая панель Visa для здравомыслия. (Программа, над которой я работаю, находится в C#). Когда вызов функции завершается, я должен быть в состоянии вытащить «OK» из выходного буфера, но любая виза Рид вызывает время Out (даже если я вижу OK на тестовой панели).
Подробнее здесь:
https://stackoverflow.com/questions/784 ... over-tcpip