Почему устройство выдает ошибку (ловля данных с COM порта)?
Всем привет! С одного прибора ловлю данные через (USB). Я пока новичок и многого вообще не понимаю. Поэтому те кто этим вопросом занимались и могут мне помочь то было бы отлично!
Подключаю устройство к ноуту ставлю драйвер. Ставить драйвер виртуального com порта. В диспетчере устройств в свойствах com порта скорость потока стоит 9600 и тд.
Ставлю com port toolkit. Настраиваю в соответствий настройками виртуального com.
Данные идут. ASCII(поле отображает те же значения которые передает устройство).
Но при окончаний передачи данных прибор выдает ошибку "При передаче данных произошла ошибка".
Вопрос: что я делаю не так?
Кто может объяснить? М.б d в конце передачи данных надо отправить какой нить сигнал на прибор?
Станислав Макаров, в том то и дело что эти хитрые японцы предоставили обрезанную инструкцию. Ничего нет про информацию с какой скоростью должна идти передача данных. М.б. попробовать отправить в аппарат 0 или 1, при завершений передачи?
AlexSer, вопрос из области телепатии и гипотезы, что миллион мартышек с печатными машинками могут однажды случайно напечатать поэму Шекспира. Гадать - бесполезно. Нужна документация.
Судя по описанию проблемы, я бы сказал что прибор китайский, а не японский.
> С одного прибора ловлю данные через (USB).
Нужно больше подробностей.
Что за прибор, что он делает?
Выход у прибора RS-232 DB-9 или USB?
Откуда и зачем взялся виртуальный COM порт?
> "При передаче данных произошла ошибка".
Запросить разработчика - пусть выдаст комментарии по ошибке, раз не дал документации.
Гарантию и техподдержку купили с прибором?
> М.б d в конце передачи данных надо отправить какой нить сигнал на прибор?
А может быть прибору нужна скорость порта 115200 и у него буфер передачи данных переполнился.
Объём передаваемых данных какой?
Этот прибор он ошибку куда выводит?
Может быть там код ошибки есть?
> М.б. попробовать отправить в аппарат 0 или 1, при завершений передачи?
А может быть прибор ждёт что ему сигналом DTR или RTS помигают?
Бесполезно так гадать.
У этого прибора вообще есть двухсторонний обмен данными?
Может быть он в принципе не может ничего принимать - только передаёт.
Михаил Туманов, спасибо, что прошлый раз помог. Нашел книжку анализатора, там написано что анализатор передает данные через протокол обмена данным XML. Может ли быть что анализатор выдает из за этого ошибку?
AlexSer,
К сожалению Вы не ответили на мои вопросы, без этого точная диагностика невозможна.
Если Вы получили в компьютере осмысленный XML который можно прочесть,
то скорее всего с протоколом обмена данными между анализатором и компьютером всё хорошо.
Но видимо прибору всё-же требуется какое-то подтверждение получения передачи.
В той документации к прибору которую Вы нашли, это должно быть описано.
Возможно обмен прибора с компьютером двунаправленный, и прибор хочет подтверждающую посылку от компьютера, например с контрольной суммой переданных данных, которую он сравнит с тем что он передал.
Что ждёт прибор должно быть написано в документации к нему.
Возможно к прибору должна прилагаться программа, которая устанавливается на компьютер и которая подтвердит прибору получение данных.
Хотя обычно так не делают - прибор просто шлёт данные в порт, считая что дальше это не его забота.
Но в особенно ответственных приложениях (например в медицине) почему бы и нет.
1. Выход у анализатора RS-232 DB-9 или USB?
2. Откуда и зачем взялся виртуальный COM порт?
Подключаете через переходник RS-232-USB ?
Кто производитель переходника?
Пожалуйста, опишите вашу аппаратную и программную конфигурации как можно подробнее - где какие разъёмы, кабели и прочее.
Вплоть до производителя кабелей, это важно.
XML это уже потом, после того как прошло согласование на предыдущих уровнях.
Это уже программный уровень.
Он не может выдавать ошибку на консоли прибора.
Если XML читаемый, то ошибок при передаче нет.
Насчет передачи... да терминал выводит данные, но например, если я выбираю 10 сделанных результатов и отправляю их, он передает один, и причем счетчик на анализаторе передачу не засчитывает а далее идет ошибка
"ошибка COM - порта, ошибка протокола вывода". И передача останавливается.
Михаил Туманов, В принципе у меня получилось получить данные. Аппарат начал скидывать все результаты. Вы были правы, при отправке анализатор ждал ответного сигнала о подтверждении получения данных на ПК. В настройках анализатора отключил, данный пункт. Все пошло. Огромное спасибо! Пришлите на почту aleshaascet@gmail.com Ваш номер телефона, закину Вам на телефон хоть 300 рублей, обещаю звонить и доставать не буду)
Если Вы считаете Ваш вопрос решённым, просьба пометить мой ответ как решение.
Спасибо.
> В настройках анализатора отключил, данный пункт.
Это не очень хороший выход отключить эту проверку.
XML это теги, если до компьютера не доедет хотя бы один символ, или он будет передан неверно, например вместо <!--
на компьютере будет принято вот так >!--
то поедет всё форматирование XML файла, слетят все остальные тэги и файл на компьютере будет прочитан неверно.
Так что лучше всего найти ту программу, которая должна принимать данные от прибора.
"Руководство пользователя"
Страница 99, 12.1 Неисправности соединения/Неисправности передачи данных
3. Проверьте, активирована ли компьютерная принимающая программа.
***
Service Manual
Page 2/9 Section 9 Version 01
Today we can offer a middleware which can be installed in the Laboratory information system (LIS) computer. This Boule data interface program will convert the XML result file to a text or excel file.
In this case it will be easier for LIS program to import the sample results.
data interface program together with installation instructions
will be available to download through our support web page.
***
Раздел 9 вообще очень полезен.
Если я правильно понял, то сами программы обработки данных они не поставляют, потому что есть готовые.
Но пишут что у них есть программа - промежуточный конвертер, из XML в TXT или MS Excel
Если есть доступ к support web page для этого прибора, то там обычно такие программы бесплатно выкладывают для скачивания.
***
Почитал документацию. Как я и предполагал - медицинский прибор, поэтому и подтверждение передачи данных.
Теперь понятно, откуда виртуальный COM порт.
Изначально такие приборы настроены на использование журнального принтера, который подключается через RS-232.
А эту модель слегка модифицировали и изготовитель просто в прибор встроил переходник USB <-> RS-232
А на компьютер устанавливается драйвер от этого переходника.
Михаил Туманов, Если поможешь разобраться я тебе заплачу. Какой сигнал должен идти от ПК к анализатору?
В терминале 1.9b включил DTR и RTS.Но анализатор при проверка все равно выдает ошибку.
Лучше всего попробовать для начала найти программу для этого прибора и установить её на компьютер.
Если есть доступ к support web page для этого прибора, то там обычно такие программы бесплатно выкладывают для скачивания.
Например, поставщик оборудования должен иметь доступ в партнёрский раздел сайта производителя прибора.
Подозреваю, что без этой программы ничего толком не выйдет, и никакие настройки порта не помогут.
Потому как в руководстве пользователя однозначно указано что требуется принимающая программа.
Цитата из документации: