powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по программированию Hemolux 19
7 сообщений из 7, страница 1 из 1
Вопрос по программированию Hemolux 19
    #37678296
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Вообщем такая беда:

Есть медицинский прибор Hemolux 19, у него есть com интерфейс через который он может передавать данные на внешний компьютер.

Задача:
На внешнем компьютере принимать эти данные, раскидывать их по форме, записывать в бд и вывод на печать в красивом виде на А4(сейчас при печати выходит тупо лента с анализами(см печать.jpg) на его встроенном термопринтере).

Что сделано:
Подключил аппарат к компу, сваял небольшую прогу на делфи, получил блок данных в хексе(см hex.txt).

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

з.ы. В приложениях вывод в хексе результатов исследования и эти же результаты в печатном виде, а также инструкция к
Hemolux 19(см инструкция.rar).
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37678298
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://files.mail.ru/B0AUGI
вот инструкция к нему
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37681146
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivandrova,

Не похож ваш блок данных на то, что описано в инструкции. У вас настройки протокола обмена точно правильные? А также распайка кабеля и вывод в хекс? В дампе я не вижу ни [ENQ] (0x10), ни MS (0x05), ни MS/SD (0x03). Вообще, взаимодействие должно происходить примерно так:
Анализатор отправляет 0x10

Анализатор ожидает от терминала 0x06

Анализатор получает 0x06, отправляет данные

Анализато отправляет 0x0F

Анализатор ожидает от терминала 0x06

Анализатор завершает сеанс связи

В 175-й картинке у вас все это написано. Даже написано, как анализатор ошибки связи обрабатывает.

И еще вопрос - вы терминалу что-нибудь посылаете в процессе полуения блока данных или нет? Если нет, значит, вы точно читаете что-то не то.
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37681392
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxkarivandrova,

Не похож ваш блок данных на то, что описано в инструкции. У вас настройки протокола обмена точно правильные? А также распайка кабеля и вывод в хекс? В дампе я не вижу ни [ENQ] (0x10), ни MS (0x05), ни MS/SD (0x03). Вообще, взаимодействие должно происходить примерно так:
Анализатор отправляет 0x10

Анализатор ожидает от терминала 0x06

Анализатор получает 0x06, отправляет данные

Анализато отправляет 0x0F

Анализатор ожидает от терминала 0x06

Анализатор завершает сеанс связи

В 175-й картинке у вас все это написано. Даже написано, как анализатор ошибки связи обрабатывает.

И еще вопрос - вы терминалу что-нибудь посылаете в процессе полуения блока данных или нет? Если нет, значит, вы точно читаете что-то не то.

Анализатор я настроил так что он без подтверждения отсылает данные, и настройки в анализаторе соответствуют настройки проги которую использую.

Вот и я тоже не нашел символов начала и конца строки, да и вообще ничего из перечисленного в инструкции. Но при преобразовании в ASCII я нашел как раз нужные мне данные, правда они разбросаны как попало и отсечь нужное затруднительно.
Прикрепил файл после преобразования, там на 24 символе можно увидеть как начинается дата\время(021720121114) что полностью соответствует распечатанному.
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37681398
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Черт, забыл про файл...
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37681709
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivandrova,

Данные там не "как попало". После даты/времени идут всё те же поля, что и в чеке. Размер может быть разный. Первые несколько - 4 цифры, затем - 3 цифры, дальше не смотрел.

Вероятно, производитель/поставщик вам наврал и прибор реализует другой протокол (не тот, который описан в инструкции)

Кстати, по протоколу дата/время у вас в неверном формате (должны начинаться с года).

Так что вам нужно трясти поставщика/производителя, чтобы они сказали где что не так и дали правильную документацию/правильную прошивку к прибору. Ну и параллельно можно поэкспериментировать с разбором сообщений. Вполне вероятно, что начинается оно символом 0x02, Заканчивается 0x1A. Внутри, вероятно, структура с фиксированной шириной полей (соответственно, смещения всех полей фиксированы). Все числа пишутся "текстом". Иногда - умноженные на 100 (т.е. вместо 1.23 идет число (текстом!) "0123"). Потенециальные не fixed-size поля - различные тексты (имена и т.п.).
...
Рейтинг: 0 / 0
Вопрос по программированию Hemolux 19
    #37681731
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Буду разбираться.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по программированию Hemolux 19
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]