Как проверить последовательную / гипертерминальную интеграцию с C #? - PullRequest
2 голосов
/ 19 января 2009

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

Я собираюсь использовать классы .NET для последовательной связи для перехвата данных.

Проблема в том, что у меня нет шкалы. Весы подключены к удаленному компьютеру, на котором я могу использовать RDP. Когда я хочу проверить, я могу попросить клиента нажать кнопку на шкале.

Я не могу просить клиента нажимать кнопку 100 раз в день, мне нужен способ выработать достаточно разумное представление о том, о чем будет сообщать шкала, и проводить тестирование только тогда, когда у меня есть решение.

Я ищу что-то локальное, которое может имитировать масштаб и отправлять в мои классы .NET Serial те же выходные данные, что и масштаб. В идеале, если бы я мог записать данные весов, а затем воспроизвести их на другом компьютере, это было бы идеально.

Как бы я это сделал?

Ответы [ 3 ]

2 голосов
/ 19 января 2009

Если вы выбираете маршрут эмуляции последовательного порта, посмотрите на com0com . Я все время использую его для фальсификации связи с лабораторными приборами, и это прекрасно работает. Очень полезно, когда у вашего ноутбука нет последовательных портов.

2 голосов
/ 19 января 2009

1) Абстрагируй свой код связи. В тестовом режиме подпишите свою логическую функцию из потока файлов данных, а не из последовательного потока.

или

2) Если у вас есть 2 последовательных порта (или два), настройте приложение эмулятора масштаба, которое выводит сигнал через один порт, и подключите его к другому порту, на котором работает ваше программное обеспечение.

1 голос
/ 19 января 2009

У вас есть две проблемы:

  1. Протестируйте классы .NET Serial, чтобы убедиться, что они могут обрабатывать получение данных (любых данных) через последовательный порт
  2. Протестируйте ваше приложение, чтобы убедиться, что оно может обрабатывать данные определенного типа, которые вы получаете по шкале

Вы можете проверить 1., подключив все, что может генерировать данные (например, другой компьютер с Hyperterminal) к локальному последовательному порту вашего компьютера.

2. Вы можете проверить 2. путем (для целей тестирования) замены серийных классов программным обеспечением, которое действует как «фиктивный объект» для комбинации «серийные классы + масштаб» (т. Е. Которая подается в вашу программу с использованием API, который ваш серийные классы будут использовать данные, которые вы ожидаете получить от шкалы).

Вы также можете проверить 1 и 2:

  • Написание программы, которая притворяется шкалой, отправляя тип данных, которые будет отправлять шкала
  • Запуск этой программы для отправки данных из последовательного порта
  • Использование нуль-модема для подключения двух последовательных портов друг к другу (чтобы данные, отправленные с одного порта, принимались другим в ваше программное обеспечение).
...