Сбой соединения IO.Ports.SerialPort - PullRequest
       36

Сбой соединения IO.Ports.SerialPort

1 голос
/ 09 февраля 2012

Я занимаюсь разработкой программного обеспечения с использованием .net framework (2.0). Я без проблем общаюсь с несколькими устройствами через последовательный порт.

Однако я пытаюсь связаться с новым, но невозможно написать или прочитать какую-либо команду.

Прежде чем попробовать какое-либо соединение с помощью моего программного обеспечения, я проверяю его ранее с HyperTerminal из Hilgraeve . Так что с этим программным обеспечением, если я отправлю * IDN? , выбрасываю последовательный порт, устройство переключается в удаленный режим и отвечает что-то вроде ANRITSU, MS9710A, V1.20383 . Таким образом, используемые параметры кажутся хорошими.

Но, когда я пытаюсь использовать IO.Ports.SerialPort из .net framework, невозможно установить связь. После многих испытаний я могу сказать:

  • Кажется, проблема связана с функцией записи, потому что при использовании MyPort.Write ("* IDN?") кажется, что ничего не записывается в буфер. Я говорю это, потому что устройство не переключается в удаленный режим.

  • Все (видимые) параметры одинаковы для HyperTerminal и моего IO.Ports.SerialPort: 9600 бит / с, 8-N-1, без установления связи. Размер буфера IO.Ports.SerialPort имеет значение по умолчанию.

  • Я проверил несколько других приложений .net с помощью Google, и никто не может связаться с устройством. Я также тестировал программное обеспечение с использованием framework 1.1, прежде чем MS добавила IO.Ports.SerialPort в Framework. ,

Итак, мой вывод - проблема исходит от IO.Ports.SerialPort, но я не знаю, в чем проблема. У меня есть подсказка:

  • IO.Ports.SerialPort не может обмениваться данными, когда скорость ниже 19200 бит / с (9600 макс. В моем случае). Я предполагаю, что, поскольку все другие устройства, с которыми я общаюсь без проблем, имеют скорость не менее 19200 бит / с (правка: я обнаружил другое устройство, работающее на скорости 9600 бит / с, и я прибыл, чтобы связаться с ним с помощью моего программного обеспечения, проблема заключается в другой момент)

  • Существует один параметр, который я не видел, который может решить проблему

  • Может ли помочь следующая версия фреймворка (3.0, 3.5 или 4.0)? Не найдено документации по обновлению класса IO.Ports.SerialPort последней версией.

Так у вас есть идеи по поводу этой проблемы? У кого-нибудь были такие проблемы?

Еще немного информации: программное обеспечение разработано с использованием vb.net с VS 2010 на Win 7. Я также без проблем проверил связь GPIB на проблемном устройстве, но я предпочитаю не использовать протокол GPIB, если это возможно.

Спасибо за вашу помощь.

...