bg

Модуль Чтение данных DNP3 для программ-логгеров

Последняя версия: 5.0.1 build 1126. November 28, 2025.

Плагин Чтение данных DNP3 добавляет поддержку DNP3 (Distributed Network Protocol) в Advanced Serial Data Logger, Advanced TCP/IP Data Logger и Data Logger Suite. Он предназначен для инженеров и интеграторов, которым необходимо собирать, декодировать и экспортировать данные с удаленных терминальных устройств, интеллектуальных электронных устройств и другого полевого оборудования в сетях электроэнергии, водоснабжения и промышленной автоматизации. Плагин работает в роли DNP3 мастера и может опрашивать любое совместимое внешнее устройство, соответствующее спецификации DNP3.

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

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

Вы можете настраивать интервалы опроса, таймауты запросов и сопоставления ответов как в небольших тестовых стендах, так и в крупных распределенных SCADA системах. Плагин может отправлять несколько запросов последовательно, автоматически отменять медленные или задерживающиеся запросы и переходить к следующему в очереди. Это делает его пригодным для смешанных сетей, где часть устройств подключена по быстрым TCP каналам, а другие - по медленным радиомодемам или длинным последовательным линиям. Вы можете настраивать отдельные DNP3 запросы, соответствующие профилю каждого устройства и списку поддерживаемых объектов.

Плагин полностью интегрирован в процесс обработки в наших программах-логгерах. После декодирования DNP3 пакета извлеченные значения помещаются во внутреннюю память логгера. Затем вы можете использовать другие плагины для экспорта данных в CSV, базы данных, OPC серверы, вызова пользовательских скриптов.

Настройка запросов данных через DNP3

Чтобы настроить новый DNP3 запрос, создайте элемент запроса в конфигурации плагина. Используйте команду меню "Действия → Добавить новый запрос", чтобы открыть диалог создания запроса. В этом диалоге введите имя запроса, например "Подача 1, аналоговые входа" или "Станция 5. Состояние", и затем кликните OK. Запрос появится в очереди запросов, где вы сможете задать остальные параметры и правила обработки.

Каждый запрос имеет несколько опций, которые определяют, как плагин будет взаимодействовать с ведомым устройством:

  • Адрес устройства - адрес назначения ведомого устройства в DNP3 сети. Допустимый диапазон от 1 до 65530. Этот адрес должен совпадать с настроенным адресом ведомого устройства.
  • Память (тип объекта) - определяет, какую группу объектов DNP3 и вариацию плагин будет читать.
  • Код качества - определяет режим чтения и схему адресации (например, все объекты, диапазон по индексу или диапазон по количеству).
  • Таймаут ожидания - интервал, в течение которого логгер ожидает ответа.
  • Имена элементов ответа - необязательный список имен, которые плагин присваивает значениям, возвращаемым этим запросом. Например, при чтении блока аналоговых входов вы можете назвать их VALUE1, VALUE2, VALUE3 и так далее.

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

  • Аналоговые входы - AI0, AI1, AI2, ... AIn
  • Аналоговые выходы - AO0, AO1, AO2, ... AOn
  • Счетчики - CNT0, CNT1, CNT2, ... CNTn
  • Бинарные входы - DI0, DI1, DI2, ... DIn
  • Бинарные выходы - DO0, DO1, DO2, ... DOn

Интеграция с логгером на примере Advanced Serial Data Logger

При использовании с Advanced Serial Data Logger плагин DNP3 общается с устройствами через последовательные интерфейсы, такие как RS 232, RS 422 и RS 485. Логгер управляет конфигурацией физического порта и доступом к нему, а плагин работает на уровне протоколе DNP3. Типовая конфигурация может включать несколько устройств, подключенных в сеть RS 485, где логгер действует как мастер-станция.

Пример декодированных данных DNP3 может выглядеть так:

DATE_TIME_STAMP = 2025-01-02 08:00:00
DEVICE_ADDRESS = 12
AI0 = 12.34     ; Аналоговый вход 0 - feeder current A
AI1 = 6.89      ; Аналоговый вход 1 - feeder voltage kV
AI2 = 10.25     ; Аналоговый вход 2 - busbar current A
AI3 = 6.92      ; Аналоговый вход 3 - busbar voltage kV
CNT0 = 154320   ; Счетчик 0 - energy kWh
CNT1 = 23140    ; Счетчик 1 - energy kVarh

Далее вы можете настроить плагины экспорта в логгере для сохранения этих значений разными способами. Например, экспортированная строка в формате CSV для того же ответа может быть:

2025-01-02 08:00:00,12,12.34,6.89,10.25,6.92,154320,23140

В сценарии экспорта в базу данных плагин может сопоставить разобранные переменные DATE_TIME_STAMP, AI0, AI1, AI2, AI3, CNT0 и CNT1 с соответствующими столбцами таблицы. Это позволяет выполнять периодические запросы и накапливать данные для отчетов.

Ключевые особенности

  • Работает как DNP3 мастер с поддержкой бинарных входов и выходов, аналоговых входов и выходов, счетчиков и классных событий.
  • Автоматический расчет и проверка CRC для каждого пакета.
  • Настраиваемые интервалы опроса и расписания.
  • Гибкий разбор ответов и сопоставление с именованными переменными, такими как AI0, DI0, или своими тегами.
  • Поддержка данных Class 0, Class 1, Class 2 и Class 3, включая замороженные и измененные значения.

Вывод

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

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

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

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

Выбор модуля DNP3

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

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

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

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

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