bg

Анализ и разбор данных от сканера штрих кодов

Задача:

Когда я сканирую штрих коды, то программа записывает их в лог файл в одну строку. Мой вопрос заключается в том, как сделать, чтобы следующий пакет данных записывался с новой строки или добавлять какие-либо символы между пакетами данных, так, чтобы каждое сканирование кода можно было отличить от предыдущего.

Данные сканирования штрих кода, полученные с помощью логгера
Рис.1. Данные сканирования штрих кода, полученные с помощью логгера

Требования:

  • Advanced Serial Data Logger (ASDL) Professional или пробная версия;
  • Модуль ASCII data parser and query для логгера.

Подразумевается что:

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

Решение:

Рисунок выше показывает, что данные имеют простой формат. Каждая запись имеет фиксированную длину и фиксированную позицию каждого элемента в ней. Данные не содержат непечатных символов в начале и конце строки, но содержит постоянные символы, которые добавляются в начале и конце пакета данных для каждого сканирования штрих-кода. Очевидно, что каждый пакет данных (в красном прямоугольнике) начинается с 0006 и заканчивается 00001 (в зеленом прямоугольнике).

Теперь мы готовы к настройке модулей. Сначала, пожалуйста, выберите модуль "ASCII data parser and query" (рис.2, поз.1) из выпадающего списка. Затем, включите анализ и экспорт для принимаемых данных (рис. 2, поз. 2).

Протоколирование данных сканера штрих-кодов. Модуль разбора данных.
Рис.2. Протоколирование данных сканера штрих-кодов. Модуль разбора данных.

Сейчас, пожалуйста, откройте окно настройки модуля "ASCII parser and query" (кликните на кнопке "Настроить" рядом с выпадающим списком рис.2, поз.1). Окно настройки появится на экране (рис.3).

Протоколирование данных сканера штрих-кодов. Окно настройки модуля разбора данных.
Рис.3. Протоколирование данных сканера штрих-кодов. Окно настройки модуля разбора данных.

Процесс настройки должен быть простым, если предварительно был выяснен формат данных в главном окне логгера данных (рис.1). Вы должны ввести те же самые значения, что и в главном окне программы в полях 1 и 2. Поле №1 задает начало блока данных, а поле №2 задает его окончание. Вы должны ввести значения с рис. 1, подчеркнутые зеленым.

Если, по каким-то причинам, пакет данных не содержит признаков начала и окончания пакета данных, то имеется возможность разделять пакеты по интервалу времени между ними. Мы выбрали данный метод (рис.3 поз.3), поскольку признаки начала и окончания могут измениться позднее.

Поскольку сканер штрих-кодов не посылает метку даты и времени вместе с отсканированным кодом, то вы можете добавить эту метку, используя дату и время компьютера. Просто включите опцию "Добавлять метку даты и времени" (рис.3 поз.4).

Другие опции модуля разбора данных не требуются в нашем примере, поскольку мы записываем данные только в лог-файл и не экспортируем их в базу данных или Excel.

Теперь, мы готовы к тому, чтобы настроить запись в лог-файл. Для этого необходимо выбрать закладку "Формирование лог-файлов" и активировать запись в файл для принимаемых данных (рис.4, поз. 1). Затем, включить запись в файл после обработки и разбора, а также добавление метки даты и времени к записываемым данным (рис.4, поз. 2, 3).

Протоколирование данных сканера штрих-кодов. Настройки лог-файла.
Рис.4. Протоколирование данных сканера штрих-кодов. Настройки лог-файла.

Вы также можете изменить другие необязательные настройки лог-файлов по вашему желанию (префикс, расширение, режим создания нового файла).

Следующая закладка является очень важной частью конфигурации (рис.5). Программа использует эти данные во время записи данных и вывода метки даты и времени в файл или на экран. В этом примере, мы включили запись метки даты и времени в файл для данных после обработки (рис.5, поз. 1, 2). Поскольку нам нужно разделять данные на строки в лог-файле, поэтому мы добавили символы перевода строки #0D#0A к обрамляющим символам метки времени. Эти символы эквивалентны символам CR+LF в текстовом файле.

Протоколирование данных сканера штрих-кодов. Настройки метки даты и времени.
Рис.5. Протоколирование данных сканера штрих-кодов. Настройки метки даты и времени.

Кликните по кнопке "OK", чтобы закрыть окно настройки и применить все изменения.

Дополнительно, вы можете определить формат метки даты и времени, которая будет записываться в файл.

Пожалуйста, выберите пункт меню "Опции → Опции программы"и перейдите к закладке "Вид штампа времени" (рис.6).

Протоколирование данных сканера штрих-кодов. Настрйока штампа даты и времени.
Рис.6. Протоколирование данных сканера штрих-кодов. Настройка штампа даты и времени.

Некоторые опции применимы только при выводе на экран, но группа параметров "Режим отображения" позволяет настроить формат метки даты и времени. Полное описание форматирующих символов приведено в файле справки.

Кликните по кнопке "OK" для того, чтобы закрыть окно и применить изменения.

Хорошо, вся настройка завершена, теперь настало время протоколировать данные в лог-файл. Часть результирующего лог-файла показана на рисунке ниже.

Протоколирование данных сканера штрих-кодов. Результат.
Рис.7. Протоколирование данных сканера штрих-кодов. Результат.

Сопутствующие статьи: Анализ и разбор данных от сканера штрих кодов