|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.11.2013, 21:07 | #1 |
Новичок
Джуниор
Регистрация: 20.11.2013
Сообщений: 2
|
c# + банальное чтение com port
Доброго вечера, товарищи. Подскажите пожалуйста, по такому вот, несложному вопросу.
Имеется устройство, оно общается с ПК через com(rs232), протокол modbus rtu. Запускаю штатное ПО, включаю portmon и читаю. Пытаюсь повторить то же самое на c# - не получается Могу сформировать запрос, и отправить его, но прочитать - не получается. Т.е. есть готовый класс SerialPort, подозреваю, что все делается не очень сложно. Итак, лог портмона () Код:
Код:
myPort.ReadLine - но программа висит, и в логах портмона тишина. Какой нюанс я могу пропустить? P.s. впервые в С# P.s.s - ответ всегда содержит определенное кол-во байт (21) Последний раз редактировалось alexandrusankov; 20.11.2013 в 21:09. |
21.11.2013, 07:25 | #2 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
|
21.11.2013, 08:48 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Сформируйте одинаковые запросы и приложите логи вашей и типовой утилиты в теме, сравним.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
21.11.2013, 10:29 | #4 |
Новичок
Джуниор
Регистрация: 20.11.2013
Сообщений: 2
|
Ок, хорошо. Вот логи портмона, как работает штатная утилита :
Код:
Код:
Код:
У меня же, вместо 21 байт, приходит 1 |
21.11.2013, 11:01 | #5 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...приводите полный код с настройками порта, а то вы там с маской химичите перед открытием. Да и читать желательно в потоке, а у вас сразу после отсылки читается, возможна ситуация, когда все данные не успеют прийти.
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation Последний раз редактировалось raxp; 21.11.2013 в 11:09. |
21.11.2013, 11:19 | #6 | |
Пользователь
Регистрация: 04.01.2011
Сообщений: 66
|
Цитата:
По ссылке - полный лог портмона штатной утилиты - http://zalil.ru/34824276 Я впервые работаю с rs232, могу упускать банальные вещи просто. Не понимаю, почему в штатном логе есть вот это : Код:
Последний раз редактировалось alexusankov; 21.11.2013 в 11:23. |
|
28.11.2013, 08:12 | #7 |
Пользователь
Регистрация: 04.01.2011
Сообщений: 66
|
P.s. с вышестоящим вроде разобрался, экспериментальным путем.
Теперь ситуация такова : есть 2 кнопки, первая передает запрос, вторая считывает данные. программе нужно было около 500-700 мс, чтобы дождаться ответа от железяки. Вопрос - как поступают в этих случаях? Ставить как либо программно паузу? В какую сторону гуглить? |
28.11.2013, 14:50 | #8 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
Я бы прицепил свой обработчик к событию SerialPort.DataReceived и там обрабатывал полученные данные.
|
29.11.2013, 09:08 | #9 |
Пользователь
Регистрация: 04.01.2011
Сообщений: 66
|
|
29.11.2013, 10:36 | #10 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Com port | Эрвин1233 | Visual C++ | 1 | 29.06.2013 23:58 |
Банальное обновление программы. | qwizz | Общие вопросы Delphi | 7 | 08.04.2013 09:44 |
ip:port | Reglament_ | Работа с сетью в Delphi | 3 | 29.12.2011 18:50 |
com port чтение запись delphi | SonicBob | Помощь студентам | 5 | 15.11.2011 10:20 |
Банальное равенство парсинга | bulldog5293 | Общие вопросы Delphi | 2 | 29.03.2011 00:29 |