bg

Модуль Парсер данных XML для программ-логгеров

Последняя версия: 5.0.1 build 1205. December 12, 2025.

Плагин XML Data Parser извлекает фрагменты в формате XML из входящего потока данных, анализирует узлы и атрибуты XML и экспортирует их как отдельные переменные парсера. Затем вы можете использовать эти значения в любом плагине экспорта данных Advanced Serial Data Logger, Advanced TCP/IP Data Logger или Data Logger Suite. Плагин предназначен для технических специалистов, которые собирают данные устройств, контроллеров или приложений в формате XML и нуждаются в надежном способе нормализации и экспорта этих данных в базы данных, CSV или другие системы обработки.

Скачать  | PDF руководство

Плагин анализирует входящий поток данных и ищет определенный корневой узел XML. Как только он находит полный блок с указанным корнем, он парсит все вложенные узлы и атрибуты. Каждое разобранное значение становится элементом парсера. Вы можете управлять, будут ли экспортироваться значения узлов, значения атрибутов или оба.

Типичный сценарий использования - устройство, которое посылает измерения или конфигурационные данные в виде XML-блока. Например, устройство по TCP может возвращать данные состояния, упакованные в узел <Response>. Без этого плагина такой XML рассматривался бы как необработанная строка. С плагином каждый XML-атрибут и узел становится отдельным полем, например "Response.timeout" или "Item.Temperature". Эти поля затем доступны плагинам экспорта, таким как ODBC Database Export, CSV Export или модулям OPC.

Интеграция с Advanced TCP/IP Data Logger

Плагин XML Data Parser интегрируется в конвейер обработки данных логгером. Логгер получает необработанные данные из TCP или UDP порта, затем данные проходят через парсер XML, и в конце разобранные переменные передаются любым используемым модулям экспорта данных.

Простой и реальный сценарий - метеостанция, которая отправляет измерения окружающей среды в формате XML через TCP соединению. Станция может передавать температуру, влажность, скорость ветра и направление ветра внутри узла, например <Weather>. Пример данных XML, полученных в "2025-01-02 08:00:00", может выглядеть так:

<Weather stationId="WS100" fwVersion="1.2.3">
  <Measurement time="2025-01-02 07:59:42">
    <Temperature unit="C">18.4</Temperature>
    <Humidity unit="percent">55.2</Humidity>
    <WindSpeed unit="m_s">4.7</WindSpeed>
    <WindDirection unit="deg">210</WindDirection>
  </Measurement>
</Weather>

Вы настраиваете плагин с именем корневого узла Weather, включаете опции "Экспортировать значения узлов" и "Экспортировать значения атрибутов", а также включаете "Добавлять имя узла к имени атрибута" и "Экспортировать имена в верхнем регистре". В списке "Узлы XML" вы можете определить:

  • Temperature как тип Float
  • Humidity как тип Float
  • WindSpeed как тип Float
  • WindDirection как тип Integer
  • time (атрибут узла Measurement) как тип DateTime

Допустим, логгер устанавливает метку времени сообщения в "DATE_TIME_STAMP", то плагин может предоставить следующие переменные парсера:

DATE_TIME_STAMP              = 2025-01-02 08:00:00

WEATHER.STATIONID            = WS100
WEATHER.FWVERSION            = 1.2.3
MEASUREMENT.TIME             = 2025-01-02 07:59:42
TEMPERATURE                  = 18.4
TEMPERATURE.UNIT             = C
HUMIDITY                     = 55.2
HUMIDITY.UNIT                = percent
WINDSPEED                    = 4.7
WINDSPEED.UNIT               = m_s
WINDDIRECTION                = 210
WINDDIRECTION.UNIT           = deg

Если вы используете плагин экспорта в CSV, одна строка данных на запись может выглядеть так:

2025-01-02 08:00:00;WS100;18.4;C;55.2;percent;4.7;m_s;210;deg

Для экспорта в базу данных команда INSERT с использованием этих элементов парсера может выглядеть так:

INSERT INTO WeatherLog (
    log_time,
    station_id,
    measurement_time,
    temperature_value,
    temperature_unit,
    humidity_value,
    humidity_unit,
    wind_speed_value,
    wind_speed_unit,
    wind_direction_value,
    wind_direction_unit
) VALUES (
    :DATE_TIME_STAMP,
    :WEATHER.STATIONID,
    :MEASUREMENT.TIME,
    :TEMPERATURE,
    :TEMPERATURE.UNIT,
    :HUMIDITY,
    :HUMIDITY.UNIT,
    :WINDSPEED,
    :WINDSPEED.UNIT,
    :WINDDIRECTION,
    :WINDDIRECTION.UNIT
);

С такой конфигурацией каждый пакет XML, полученный от устройства, сохраняется как отдельная запись с четко именованными полями. После этого вы можете создавать отчеты, панель мониторинга или оповещения на основе получаемых значений.

Ключевые возможности

  • Извлечение полных узлов XML из данных RS232 или TCP/IP на основе настраиваемых правил.
  • Экспорт значений узлов и значений атрибутов как переменных парсера с опциональными префиксами имени узла.
  • Поддержка правил фильтрации данных для узлов и атрибутов, включая действия ignore или parse и богатое сопоставление типов данных.
  • Перевод символов для удаления или замены нежелательных символов перед разбором XML.
  • Использование настраиваемых таймаутов для предотвращения блокировки при неполных пакетах данных.
  • Интеграция с Advanced Serial Data Logger, Advanced TCP/IP Data Logger и Data Logger Suite.

Резюме

Плагин XML Data Parser преобразует XML фрагменты из последовательных и сетевых данных в структурированные типизированные поля. Это позволяет техническим специалистам сохранять, анализировать и работать с данными на основе XML в других приложениях с минимальными усилиями по настройке.

Скачать  | PDF руководство

Как включить модуль

На рисунке ниже вы можете увидеть, как включить данных модуль в настройках программы на странице "Модули".

Выбор модуля XML Parser

Рис.1. Выбор модуля.

Как настроить модуль

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

Настройка модуля

Рис.2. Настройка модуля.