Протокол DNP3: архитектура, работа, функциональные коды, формат данных и его приложения

Попробуйте наш инструмент устранения неполадок





DNP3 или протокол распределенной сети3 был запущен в 1992 году японской корпорацией для установления протокола связи между распределенными системами. DNP3 — это сетевой протокол управления устройством, который используется для связи между устройством и удаленным устройством ввода/вывода. Этот протокол в основном зависит от объектно-ориентированной модели, которая уменьшает отображение битов данных, которое обычно требуется для других менее объектно-ориентированных протоколов. Он в основном используется между центральными мастер-станциями, а также распределенными удаленными устройствами, где центральная мастер-станция просто работает как интерфейс между человеком, управляющим сетью, и системой мониторинга. Распределенное удаленное устройство представляет собой интерфейс между главной станцией и физическим устройством, наблюдаемым и управляемым в удаленных областях. Обмен данными между ними может осуществляться общей библиотекой объектов. В этой статье обсуждается обзор протокол DNP3 – работа с приложениями.


Что такое протокол DNP3?

Набор протоколов связи, которые используются между различными компонентами в системах автоматизации процессов, известен как протокол DNP3. Этот протокол был в основном разработан для связи между различными видами оборудования для сбора данных и управления. Итак, в SCADA-системы , этот протокол играет важную роль, когда он используется RTU, SCADA и IED.



Архитектура протокола DNP3 и его работа

DNP3 — это распределенный сетевой протокол третьей версии. Он имеет один опрос целостности и три уровня опроса, где опрос целостности используется для получения данных в одном опросе.

  Архитектура протокола DNP3
Архитектура протокола DNP3

Сетевая архитектура DNP3 может быть одноадресной, многоточечной и соединителя данных/иерархической архитектуры.



Одноадресная архитектура: также известна как архитектура «один к одному», в которой главная станция может связываться только с одной удаленной станцией, тогда как в многоточечная архитектура главная станция может обмениваться данными с несколькими удаленными устройствами, что означает, что она может обмениваться данными с несколькими внешними устройствами. Коннектор данных/иерархическая архитектура представляет собой комбинацию многоабонентской и одноадресной архитектур.

Протокол связи DNP3 обычно используется для электроснабжения, водоснабжения и канализации, нефти и газа, транспорта и других сред SCADA. Это позволяет вам просматривать важные уровни в реальном времени и в прошлом, такие как температура, влажность, уровень заряда батареи, напряжение, уровень топлива и т. д. Это также позволяет вам обнаруживать проблемы и быстро устранять проблемы, а также вы можете устранять узкие места. и неэффективности.

Проектирование протокола DNP3 может быть выполнено на основе уровней модели OSI, таких как канал передачи данных, транспортный, прикладной и пользовательский уровни. Этот протокол обладает гибкостью для подключения одного главного устройства как минимум через одну или более удаленных станций поверх последовательной или физической среды Ethernet.
Другие возможные архитектуры в основном включают различные основные соединения с одной удаленной станцией и одноранговые операции. Обычно мастер запускает управляющие команды для запроса данных или активации устройств, которые управляются через удаленную станцию. Эта удаленная станция просто реагирует на ведущее устройство, передавая соответствующую информацию.

  Уровни протокола DNP3
Уровни протокола DNP3

Основанный на модели OSI, протокол DNP3 включает в себя четыре уровня канала передачи данных, транспортную функцию, прикладной уровень и уровень пользователя. Здесь уровень канала передачи данных внизу сделает физический канал более надежным за счет адресации и обнаружения ошибок. Транспортная функция просто собирает кадры канального уровня во фрагменты прикладного уровня. Этот уровень принимает все сообщение и указывает, какие данные предпочтительнее, чем вышеприведенный пользовательский уровень. Каждое сообщение может иметь несколько типов данных, таких как аналоговые, двоичные и встречные входы и выходы.

Как работает протокол DNP3?

Протокол DNP3 просто работает, используя 27 основных функциональных кодов для обеспечения связи между главными станциями и удаленными устройствами. Таким образом, некоторые функциональные коды позволяют ведущему устройству запрашивать и получать информацию о состоянии удаленного устройства, а другие функциональные коды позволяют ведущему устройству принимать решения или исправлять конфигурацию удаленного устройства.

Несколько функциональных кодов в основном используются на главной станции DNP3 для управления оборудованием или удаленным блоком на удаленных объектах. Ведущая станция DNP3 обеспечивает большую часть связи с удаленным устройством DNP3. Но незапрашиваемое сообщение (сообщение o/p) инициируется через удаленное устройство и генерирует сигнал тревоги. Таким образом, это сообщение уведомляет ведущее устройство при возникновении тревоги.

Коды функций

Функциональные коды DNP3 включают следующее.

Функциональный код

Описание

0x00

Подтвердите код функции.

0x01

Читать код функции.
0x02

Напишите код функции.

0x03

Выберите код функции.

0x04

Рабочий код функции.

0x05

Код функции прямого действия

0x0d

Код функции холодного перезапуска

0x0e

Код функции теплого перезапуска

0x12

Код функции остановки приложения

0x1b

Удалить код функции файла

0x81

Код функции ответа

0x82

Код функции незапрошенного ответа

Формат сообщения DNP3

Структура формата сообщения DNP3 показана ниже. Если мы исследуем эту структуру, то увидим, что сообщения обмениваются между мастерами и удаленными устройствами. Протокол последовательной телеметрии (TBOS) ориентирован на байты путем обмена одним байтом для связи.

Протоколы расширенной последовательной телеметрии, такие как TABS, ориентированы на пакеты с пакетами байтов, которыми обмениваются для связи. Эти пакеты обычно включают заголовок, данные и байты контрольной суммы. Протокол DNP3 ориентирован на пакеты и использует структуру пакетов, показанную на следующем рисунке.

  Формат сообщения DNP3
Формат сообщения DNP3

На приведенной выше диаграмме формата сообщения ASDU DNP3 (блок данных службы приложений) полезен для корректировки интеллектуального содержимого, которое контролируется с помощью как квалификаторов, так и полей indexSize. Таким образом, этот дизайн сделает данные приложений доступными в рамках гибких конфигураций.

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

Транспортный уровень разбивает блок данных службы приложений или APDU на разные сегменты с максимальным размером 16 байт и упаковывает их с помощью 8-битного заголовка управления транспортом и 16-битных разделителей сегментов CRC в транспортный фрейм.

Канальный уровень сопоставляется с 4-уровневой моделью, которая разработана Министерством обороны (Министерство обороны США) с опущенным Интернет-уровнем Министерства обороны США. Если используется последовательный транспорт, пакет собирается и размещается на транспортном носителе для доставки.

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

Формат данных DNP3

DNP широко используется для управления передачей сообщений между центральной станцией и блоками управления. Формат данных DNP3 в основном включает в себя два раздела: заголовок и разделы данных. Кроме того, заголовок разделен на шесть подразделов.

  Формат данных DNP3
Формат данных DNP3

Формат фрейма данных и необходимый размер каждого поля показаны на рисунке выше. На этой диаграмме Sync — это первое поле размером 1 байт, которое указывает начало кадра.
Значение этого поля фиксируется равным 0564, поэтому после получения кадра путем проверки положения поля синхронизации можно эффективно выполнить сопоставление.

Длина поля обеспечивает полную длину кадра, так что конкретный буфер может быть назначен в пункте назначения для хранения входящих кадров. Таким образом, второй кадр — это «поле управления», которое описывает управляющее действие, которое необходимо выполнить на стороне получателя.

Поле управления будет содержать шестнадцатеричное значение 41, иначе 42 в зависимости от типа действия. После этого в поле адреса назначения и источника будут указаны предполагаемые адреса получателя и отправляющий узел.
CRC или Cyclic Redundancy Check — это последнее поле, которое поможет в проверке ошибки кадра. Во время передачи к сообщению присоединяется контрольное значение, которое будет перепроверено на принимающей стороне. Как только это значение совпадает, оно указывает на отсутствие ошибки в кадре. Раздел данных составляет от 2 до 4 байтов, однако он не играет никакой роли в управлении передачей сообщений.

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

Пример системы мониторинга DNP3

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

  Пример DNP3
Экзамен DNP3 в

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

Протокол DNP3 обычно используется между главным (компьютером) и удаленным (аутстанцией). Здесь мастер используется для обеспечения интерфейса между администратором сети и системой мониторинга. Пульт дистанционного управления обеспечивает интерфейс между ведущим устройством и физическим устройством, которым управляют или контролируют.

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

Как правило, драйверы DNP3 могут регулярно выполнять различные опросы, такие как опрос целостности, класс 1, класс 2 и класс 3. В опросе целостности DNP3 просто запрашивает удаленную станцию ​​​​передать ее класс 1, класс 2 и класс 3. данные о событиях и статические данные класса 0 в хронологическом порядке. Опрос целостности обычно используется для синхронизации баз данных ведущего и подчиненного устройств DNP3, и поэтому ему обычно назначается медленная скорость опроса. Как правило, опросы класса 1, класса 2 и класса 3 используются для восстановления отдельных событий класса с изменяемой скоростью в зависимости от важности этих событий. Более критические события назначаются тем классам, которые имеют более высокую скорость опроса.

Разница между DNP3 и IEC 61850

Разница между DNP3 и IEC 61850 заключается в следующем.

ДНП3

МЭК 61850

Протокол DNP3 является открытой отраслевой спецификацией. IEC 61850 является стандартом IEC.
Группа пользователей DNP представляет собой стандартную организацию протокола DNP3. Международная электротехническая комиссия является организацией стандарта IEC 61850.
Протокол DNP3 представляет собой четырехуровневую архитектуру, а также поддерживает семиуровневую TCP/IP или UDP/IP. Связь в протоколе IEC 61850 основана на Модель OSI .
DNP3, GOOSE, HMI, IEC, RTU и SCADA являются общими терминами протокола связи IEC 61850. Интеллектуальное устройство (IED), логическое устройство и логический узел, объект данных и атрибут данных — это уровни, которые определяют иерархическую информационную модель стандарта IEC 61850.
Преимущества третьей версии распределенного сетевого протокола заключаются в том, что не требуются трансляторы протоколов, обслуживание, тестирование и обучение занимают меньше времени, простое расширение системы и длительный срок службы продукта. Преимущества протокола IEC 61850 заключаются в низкой стоимости расширения, стоимости интеграции, стоимости миграции оборудования и низких затратах на установку.

Разница между DNP3 и Modbus

Различия между DNP3 и Modbus заключаются в следующем.

ДНП3

Modbus

Протокол распределенной сети был разработан в 1993 году Харрисом. Протокол Modbus был разработан в 1979 году компанией Modicon.
Протокол распределенной сети использует биты. Протокол связи Modbus использует текстовые описания для отправки данных.
DNP3 состоит из трех уровней: физического, канала передачи данных и прикладного уровня. Протокол связи Modbus состоит только из прикладного уровня.
Протокол DNP3 поддерживает несколько ведомых устройств, несколько ведущих устройств и одноранговую связь. протокол Modbus поддерживает только одноранговую связь.
Параметры конфигурации, требуемые в протоколе DNP3, включают плохую скорость, размер фрагмента и адреса устройств. В протоколе Modbus требуются следующие конфигурации: режим четности, режим ASCII, режим RTU и скорость передачи.

Плюсы и минусы DNP3

преимущества протокола DNP3 л включают следующее.

  • DNP3 — это открытый стандартный протокол, поэтому любой разработчик может спроектировать оборудование DNP3, которое хорошо сочетается с другим оборудованием DNP3.
  • DNP3 предоставляет множество возможностей благодаря интеллектуальному и надежному протоколу.
  • Он может запрашивать и отвечать с помощью нескольких типов данных в одном сообщении.
  • Это позволяет выполнять несколько основных и одноранговых операций.
  • Он поддерживает стандартный формат времени и синхронизацию времени.
  • Затраты на программное обеспечение будут снижены.
  • Нет требований к трансляторам протоколов.
  • Меньше обслуживания и тестирования.

К недостаткам протокола DNP3 можно отнести следующее.

DNP3 использует последовательный RTU и обновляет его через Ethernet RTU (ERTU). Если пропускная способность канала связи с этой станцией также не увеличена, то пользователь будет иметь более медленную связь из-за служебных данных, реализованных при переносе DNP3 через TCP/IP.

Приложения DNP3

Приложения DNP3 включая следующее.

  • DNP3 позволяет обмениваться данными между различными устройствами в системах автоматизации процессов.
  • Различные коммунальные предприятия широко используют этот протокол для систем телеметрии газа, электричества и воды.
  • Он используется в коммуникациях SCADA.
  • Протокол связи DNP3 используется в системах удаленного мониторинга и SCADA.
  • Это применимо ко всей среде SCADA, которая включает в себя связь от ведущего к удаленному и RTU к IED, а также к сетевым приложениям.

Таким образом, это все о обзор протокола DNP3 – работа с приложениями. Спецификация протокола DNP3 в основном зависит от модели объекта. Таким образом, эта модель просто уменьшает отображение битов данных, которое обычно необходимо для других менее объектно-ориентированных протоколов. Для техников и инженеров SCADA наличие некоторых предварительно определенных объектов сделает DNP3 более удобной структурой проектирования и развертывания. Вот вопрос к вам, что такое протокол?