![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 11.04.2011
Сообщений: 13
|
![]()
Добрый день. Есть программа обмена с устройствами ввода-вывода через преобразователь интерфейса RS485 -> RS232 или RS485 -> USB (с созданием виртуального COM порта).
Проблема следующая: если у компьютера есть COM порт и используется RS485 -> RS232 - все отлично, обмен без проблем. Если же COM порта нет, а используется виртуальный COM порт и RS485 -> USB, то получаю, скажем, недопустимые данные (например, значение типа 4-байтное число должно быть в диапазоне 0..4, а приходят значения далеко за пределами диапазона, например 449,061767578125 или 2,061989670777E-38). Сам вижу, что написано довольно сумбурно, но все-таки. Отвечу на любые уточняющие вопросы, только помогите |
![]() |
![]() |
![]() |
#2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
1) Проверяйте настройки протокола: скорость, число бит данных, число стоповых бит.
2) Проверьте конфигурацию RS485 (либо тумблер переключается, либо перемычка ставится, либо резист припаивается). 3) Проверяйте контакты: в местах соединения наличие провода, землю, длину линии(её затухание).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.04.2011
Сообщений: 13
|
![]()
1. Настройки (скорость, количество бит, таймауты) одинаковые в обоих случаях
2,3. Сторона RS485 вообще одна и та же а результаты разные ![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Попробуйте с дополнительными параметрами порта поэкспериментировать
Последний раз редактировалось Aliens_wolfs; 13.02.2018 в 16:09. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Для чего вы с виртуальными портами работаете?
Последний раз редактировалось Aliens_wolfs; 13.02.2018 в 18:23. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.04.2011
Сообщений: 13
|
![]()
так на ноутбука железного COM порта нет, вот и использую виртуальный
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Точнее наверное лучше сказать не виртуальный, а порт usb устройства который создает свой COM порт.
И если вы используете преобразователь USB на COM, то нужно подбирать такой который поддерживает все сигналы и нужное питание порта, а там 5-вольт не выше т.к. USB, а встроенный в компьютере порт поддерживает до 15-вольт и все сигналы, дешевые как правило с ошибками работают в них нет дополнительных сигналов, и я думаю у вас он наверное просто TTL, который используется в основном для программирования устройств, для работы с другими устройствами нужно для него подбирать согласующее сопротивление для правильной работы, думаю ваша проблема именно в этом преобразователе. Для полного понимания работы RS232 ищите чтиво в интернете про понятия USART и UART видов работы порта. Чтобы не заморачиваться, лучше использовать преобразователь сразу USB на RS485 с гальванической развязкой, эта развязка защищает от перенапряжений и помех в линии. Сам на своем горьком опыте знаю, как то пытался использовать для сигнализации USB на RS485 дешевый заказанный с китая, думал зачем дорогой, хотел быть умнее всех, но он работал с ошибками, пришлось покупать у нас специализированный со всеми защитами т.к. линия более 300м, работает отлично ну и стоит как 10 китайских.))) Последний раз редактировалось Aliens_wolfs; 13.02.2018 в 19:30. |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 977
|
![]() Цитата:
если получаем туда-сюда ровно то что послали. то приборы исправные, пробуйте увеличить тайм ауты в устройстве и в программе. а так же возможно время ожидания ответа.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
|
|
![]() |
![]() |
![]() |
#9 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
На мой взгляд, метод тыка - не самый лучший в данном случае. Надо читать данные обоими способами и смотреть, в чём различие. Не числа кидаться расшифровывать, а смотреть байты. А для контроля лучше поставить другой переходник и, опять же, сравнить
|
![]() |
![]() |
![]() |
#10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Надо покупать новый ноутбук. Преобразователь скорее всего не виноват. Он слишком простой.
С подобными проблемами сталкивался неоднократно на нетбуках и ноутбуках. Не обеспечивают они в старости нормальные нагрузочные способности по питанию от USB-порта. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с Com-портом | Teror4uks | Общие вопросы Delphi | 5 | 10.10.2014 12:48 |
Работа с COM-портом | bakanaev | Общие вопросы Delphi | 1 | 23.10.2012 17:24 |
Работа с COM портом | ferrum88 | Общие вопросы Delphi | 17 | 30.09.2011 12:53 |
Работа с COM-портом | Georgios | Общие вопросы Delphi | 12 | 28.09.2010 10:31 |
Работа с com портом | albles | Общие вопросы C/C++ | 2 | 16.11.2009 15:15 |