-
Добрый день. Есть программа обмена с устройствами ввода-вывода через преобразователь интерфейса RS485 -> RS232 или RS485 -> USB (с созданием виртуального COM порта). Проблема следующая: если у компьютера есть COM порт и используется RS485 -> RS232 - все отлично, обмен без проблем. Если же COM порта нет, а используется виртуальный COM порт и RS485 -> USB, то получаю, скажем, недопустимые данные (например, значение типа 4-байтное число должно быть в диапазоне 0..4, а приходят значения далеко за пределами диапазона, например 449,061767578125 или 2,061989670777E-38).
Сам вижу, что написано довольно сумбурно, но все-таки. Отвечу на любые уточняющие вопросы, только помогите
-
Удалено модератором
-
Удалено модератором
-
Преобразователь интерфейса фирмы Акон (Киев), питание у него от внешнего источника питания.
работа с COM портом через компонент TComPort из библиотеки ComPort Library
А в какую конференцию перенести топик?
-
для теста подключи два преобразователя: Device -> (RS485 -> RS232) -> (RS232 -> USB) -> PC
смотри что будет,
и изучи протокол обмена (что когда и как отправляет "ввод-вывод", в каком формате эти данные)...
-
Удалено модератором
-
Удалено модератором
-
Например, неправильно настроенная скорость СОМ порта, в итоге внешняя железка читает ерунду из него.
-
>>RS485 -> RS232
Они только физически отличаются. Ну и адрес появляется при адресации, хотя это мало кто использует.
>>и RS485 -> USB
Поменять преобразователь? Перед началом обмена сбрасывать буфер? UART как-бы не умеет float/double передавать. Он гад только байтами шурует.
|