dnp3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3...

5
30 СТА 2/2017 обзор /промышленные сети www.cta.ru ВВеденИе В программируемых контроллерах CPM712 и CPM713 серии FASTWEL I/O реализована поддержка сетевого протокола DNP3 с функциями подчи- нённого узла (Outstation) уровня совме- стимости не ниже Level 2 и рядом до- полнений Level 3 (рис. 1). Данная функ- циональность позволяет системным интеграторам, работающим в таких от- раслях, как электроэнергетика, добыча и транспортировка нефти и газа, а так- же водоочистка и водоподготовка, без- болезненно комплексировать суще- ствующее DNP3-совместимое оборудо- вание с узлами и подсетями, реализо- ванными на базе контроллеров FASTWEL I/O. Прямая выгода от по- добного симбиоза несомненна, по- скольку в любой распределённой АСУ ТП уровня предприятия есть участки как с нормальными условиями эксплуа- тации, так и с экстремальными. Реали- зация проекта на оборудовании одного типа будет либо затратной, либо нена- дёжной. Учитывая высокие эксплуатацион- ные характеристики FASTWEL I/O (ин- дустриальный температурный диапа- зон, высокая стойкость к механическим нагрузкам), системные интеграторы могут оптимизировать проекты по ряду параметров, оставаясь в рамках единого протокола обмена данными. Протокол DNP3 базируется на су- ществующих стандартах передачи дан- ных и обеспечивает надёжность и гиб- кость сетевого взаимодействия благода- ря следующим функциональным воз- можностям: 1. Адресация более 65 000 сетевых узлов. 2. Поддержка передачи сообщений по инициативе любого сетевого узла и широковещательных сообщений. 3. Поддержка подтверждений успешно- сти обмена между узлами сети, как на канальном, так и на прикладном уровнях. 4. Возможность передачи данных в раз- ных форматах, а также с признаками качества и метками времени. 5. Возможность классификации и прио- ритизации данных на уровне сетево- го взаимодействия и отнесения дан- ных к разным группам для повыше- ния эффективности использования канала связи с ограниченной про- пускной способностью. 6. Возможность инициативной переда- чи данных при изменении их значе- ний и/или состояния. 7. Поддержка различных видов команд телеуправления на уровне протокола, а также возможность одновременного запуска и выполнения нескольких команд в режиме select-before-operate (выбор перед выполнением). 8. Поддержка синхронизации времени. 9. Расширенные функции диагностики. 10. Возможность функционирования поверх имеющихся сетевых протоко- лов или использования имеющихся физических уровней протоколов. Основные преимущества протокола DNP3 приведены в табл. 1. ИсторИя DNP3 В начале 1990-х годов, когда набор протоколов для систем телемеханики IEC 60870-5 был ещё в стадии разра- ботки и не был стандартизирован, су- ществовала необходимость создать стандарт, обеспечивающий возмож- ность взаимодействия между оборудо- DNP3 по-русски Алексей Медведев В статье кратко описываются структура, функциональные особенности и преимущества протокола DNP3. Рассмотрена реализация протокола применительно к распределённой системе ввода-вывода FASTWEL I/O. Рис. 1. Распределённая система ввода-вывода FASTWEL I/O

Upload: others

Post on 10-Nov-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DNP3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3 В начал` 1990-х го_ов, ког_а набор протоколов _ля сист`м

30

СТА 2/2017

обзор/промышленные сети

www.cta.ru

ВВеденИе

В программируемых контроллерахCPM712 и CPM713 серии FASTWELI/O реализована поддержка сетевогопротокола DNP3 с функциями подчи-нённого узла (Outstation) уровня совме-стимости не ниже Level 2 и рядом до-полнений Level 3 (рис. 1). Данная функ-циональность позволяет системныминтеграторам, работающим в таких от-раслях, как электроэнергетика, добычаи транспортировка нефти и газа, а так-же водоочистка и водоподготовка, без-болезненно комплексировать суще-ствующее DNP3-совместимое оборудо-вание с узлами и подсетями, реализо-ванными на базе контроллеровFASTWEL I/O. Прямая выгода от по-добного симбиоза несомненна, по-скольку в любой распределённой АСУТП уровня предприятия есть участкикак с нормальными условиями эксплуа-

тации, так и с экстремальными. Реали-зация проекта на оборудовании одноготипа будет либо затратной, либо нена-дёжной.

Учитывая высокие эксплуатацион-ные характеристики FASTWEL I/O (ин-дустриальный температурный диапа-зон, высокая стойкость к механическимнагрузкам), системные интеграторымогут оптимизировать проекты по рядупараметров, оставаясь в рамках единогопротокола обмена данными.

Протокол DNP3 базируется на су-ществующих стандартах передачи дан-ных и обеспечивает надёжность и гиб-кость сетевого взаимодействия благода-ря следующим функциональным воз-можностям:1. Адресация более 65 000 сетевых узлов. 2. Поддержка передачи сообщений по

инициативе любого сетевого узла ишироковещательных сообщений.

3. Поддержка подтверждений успешно-сти обмена между узлами сети, какна канальном, так и на прикладномуровнях.

4. Возможность передачи данных в раз-ных форматах, а также с признакамикачества и метками времени.

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

6. Возможность инициативной переда-чи данных при изменении их значе-ний и/или состояния.

7. Поддержка различных видов командтелеуправления на уровне протокола,а также возможность одновременногозапуска и выполнения несколькихкоманд в режиме select-before-operate(выбор перед выполнением).

8. Поддержка синхронизации вре мени. 9. Расширенные функции диагностики. 10. Возможность функционирования

поверх имеющихся сетевых протоко-лов или использования имеющихсяфизических уровней протоколов.Основные преимущества протокола

DNP3 приведены в табл. 1.

ИсторИя DNP3В начале 1990-х годов, когда набор

протоколов для систем телемеханикиIEC 60870-5 был ещё в стадии разра-ботки и не был стандартизирован, су-ществовала необходимость создатьстандарт, обеспечивающий возмож-ность взаимодействия между оборудо-

DNP3 по-русски

Алексей Медведев

В статье кратко описываются структура, функциональные особенности и преимуществапротокола DNP3. Рассмотрена реализация протокола применительно к распределённойсистеме ввода-вывода FASTWEL I/O.

Рис. 1. Распределённая система ввода-вывода FASTWEL I/O

Page 2: DNP3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3 В начал` 1990-х го_ов, ког_а набор протоколов _ля сист`м

ванием различных производителейАСУ в электроэнергетике.

Канадская компания GE Harris(ранее известная как Westronic Inc.) в1993 году использовала частично завер-шённые спецификации протокола IEC60870-5 в качестве основы для разра-ботки открытого протокола, которыйудовлетворял бы требованиям энерге-тиков.

Протокол был предназначен дляобеспечения надёжной связи в небла-гоприятных условиях, которым подвер-гаются электроэнергетические системыавтоматизации. Он должен был обеспе-чить надёжную связь при искажениях вканале, вызываемых электромагнитны-ми помехами, старением компонентов(срок службы может достигать десяти-летий), а также другими помехами припередаче данных.

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

Спецификация протокола DNP3 со-держится в документе IEEE SA 1815-2012 и доступна на сайте [1]. За пользо-вание документацией взимается член-ский взнос, но, с другой стороны, онадоступна по всему миру без ограниче-ний. Это означает, что оборудованиеразличных производителей с высокойвероятностью будет совместимым врамках поддерживаемых стандартныхкоммуникационных профилей.

прИмер протокола DNP3Рассмотрим вкратце структуру прото-

кола DNP3 не вдаваясь в детали полно-го описания [1]. Протокол описываетправила, по которым устройства об-щаются между собой. DNP3 – это про-токол для передачи данных из точкиА в точку В с использованием последо-вательного канала связи или поверх IP.Он применяется в основном компания-ми, работающими в сфере электроэнер-гетики, нефтегазовой промышленно-сти, водоочистки и водоподготовки, ноего функциональность хорошо подхо-дит и для других областей.

Обычно энергетическая компанияимеет общий центр управления, кото-рый осуществляет мониторинг и управ-ление всем оборудованием на каждойподстанции.

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

устройств, нуждающихся в контроле:выключатели (включены или отключе-ны), датчики тока (значение тока), пре-образователи напряжения (значениепотенциала). Рабочий персонал в слу-чае неисправности должен часто пере-ключать участки электрической сети.Компьютеры, расположенные на под-станции, собирают данные для переда-чи на главную станцию в центр управ-ления. Имеется возможность включитьили отключить питание на выключате-лях или регуляторах напряжения с ком-пьютеров подстанций.

В DNP3 используется термин Out -station (подчинённый узел) для обо-значения удалённых вычислительныхустройств. Термин Master (мастер)используется для вычислительных уст -ройств в центре управления. DNP3описывает правила передачи данных икоманд управления между мастерами иподчинёнными устройствами.

При общении удалённые компьюте-ры собирают следующие данные для пе-редачи мастеру:l бинарные входные данные, которые

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

l аналоговые входные данные, которыепередают значения напряжения, то-ка, мощности, уровень воды в резер-вуаре, температуру;

l данные входа счётчика, который вы-даёт значение энергии в киловатт-ча-сах или объём жидкости;

l файлы, которые содержат конфигу-рационные данные.Станция мастера выдаёт команды

управления, такие как:l включить или отключить выключа-

тель, запустить или остановить двига-тель, открыть или закрыть клапан;

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

передают друг другу, – это синхрониза-ция времени и даты, исторические илистатистические данные, формы сигна-ла и т.п.

данные мастера

И подчИнённого узла

На рис. 2 показано взаимоотношениемастера и подчинённого узла (мастерпредставлен слева, подчинённый узел –справа), он даёт представление о данныхи вовлечённых программных процессах.

о б з о Р / п Р о м ы ш л е н н ы е С е Т и

31

СТА 2/2017 www.cta.ru

Таблица 1Сравнение DNP3 с другими промышленными протоколами

Характеристика протоколаПромышленный протокол

DNP3 Modbus RTU IEC 60870-5-101

3-уровневая модель OSI + – +

Предназначен для систем телемеханики + – +

Наличие ответственной группыпользователей и технического комитета + + –

Контроль версий документации + + +

Документированный протокол испытаний + + –

Независимый протокол программы проверки + + –

Масштабируемость + – +

Синхронизация времени и событияс метками времени + – +

Несколько мастеров в одноранговой сети С ограничениями – –

Механизм инициативных сообщений + – –

Сегментация сообщений + – –

Безопасная передача файлов + – +

Широковещательные сообщения + – +

Пользовательские объекты данных + – –

Page 3: DNP3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3 В начал` 1990-х го_ов, ког_а набор протоколов _ля сист`м

Серия квадратных блоков наверхуподчинённого узла отображает данные,сохранённые в его базе данных, иустройства ввода-вывода. Различныетипы данных схематически организо-ваны в массивы. Массив бинарныхвходных значений представляет со-стояния устройств с булевой логикой.Значения в массиве аналоговых данныхпредставляют входную величину, кото-рую подчинённый узел измерил иливычислил. Массив счётчиков представ-ляет счётные значения, например, та-кие как киловатт-часы, которые уве-личиваются до тех пор, пока не достиг-нут максимума, а затем сбросятся вноль и снова начнут расти. Управляю-щие выходы организованы в массив,представляющий собой логическиеили физические команды на включе-ние/выключение, увеличение/пониже-ние, замыкание/размыкание. В концемассив аналоговых выходов, которыйпредставляет собой физические илилогические аналоговые значения, на-подобие тех, что используются дляуставок (Setpoints).

Мастер DNP3 имеет подобную базуданных (бинарный, аналоговый и счёт-чик). Мастер использует значения всвоей базе данных для определённыхцелей: отображение состояния систе-мы, управление с обратной связью, уве-домление о тревогах и др. Задача масте-ра – сохранять свою базу данных акту-альной. Это достигается путём отправ-ки запросов к подчинённому узлу спросьбой вернуть значения их базы

данных. Это называется Polling (опрос).Подчинённый узел отзывается на за-прос мастера, передавая содержимоеего базы данных (массива данных).Стрелки, нарисованные внизу на рис. 2,показывают направление запросов (понаправлению к подчинённому узлу) инаправление ответов (по направлениюк мастеру). Также подчинённый узелможет передавать ответ без предвари-тельного получения запроса.

DNP3 В контроллерах

FASTWEL I/OДалее будет рассмотрена структу-

ра протокола применительно к рас-пределённой системе ввода-выводаFASTWEL I/O.

Для унифицированного представле-ния функциональных возможностейпротокола DNP3, поддерживаемых темили иным устройством, в специфика-ции протокола DNP3 введено понятие

подмножества реализации (DNP3Subset Implementation), описывающегосовокупность функций и параметровпротокола, реализованных в устрой-стве, а также набор поддерживаемыхтипов объектов данных DNP3 [2].

Каждое подмножество реализацииопределяет так называемый уровень(Level), позволяющий в краткой формеобозначить совместимость устройства стем или иным подмножеством реализа-ции. В спецификации DNP3 определе-но четыре уровня совместимости, отли-чающихся по функциональной полно-те, количеству поддерживаемых типовобъектов данных и команд и обозначае-мых Level 1, Level 2, Level 3 и Level 4, илиL1, L2, L3, L4. Например, обозначениеDNP3-L2 Outstation указывает на под-держку устройством подмножества реа-лизации Level 2, определённого длястанций типа Outstation (подчинённыйузел).

Контроллеры узла сети (CPM712 иCPM713) содержат реализацию про-токола DNP3-L2 Outstation, которыйможет функционировать через любойиз встроенных последовательных пор-тов интерфейса RS-232C/RS-485, атакже через интерфейсные модулиNIM741 и NIM742. КонтроллерыFASTWEL I/O могут использоваться втопологиях «звезда» и «шина», показан-ных на рис. 3.

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

32

СТА 2/2017

о б з о Р / п Р о м ы ш л е н н ы е С е Т и

www.cta.ru

Рис. 2. Данные мастера и подчинённого узла протокола DNP3

Рис. 3. Поддерживаемые сетевые топологии для контроллеров CPM712, CPM713

876543210

Дискретныевходы

43210

Аналоговыевходы

3210

Входысчётчиков

6543210

Выходыуправления

43210

Аналоговыевыходы

Мастер DNP3 (Master) Подчинённый узел DNP3 (Outstation)

Пользовательская программа DNP3

Линия передачи данных

Программное обеспечение DNP3

876543210

Дискретныевходы

43210

Аналоговыевходы

3210

Входысчётчиков

6543210

Выходыуправления

43210

Аналоговыевыходы

Пользовательская программа DNP3

Программное обеспечение DNP3

Запросы

Ответы на запросы

Топология «звезда» Топология «шина»

Подчинённый узел DNP3(DNP3 Outstation)

Подчинённый узел DNP3(DNP3 Outstation)

Мастер DNP3

Подчинённый узел DNP3(DNP3 Outstation)

Мастер DNP3

Подчинённый узел DNP3(DNP3 Outstation)

Подчинённый узел DNP3(DNP3 Outstation)

Page 4: DNP3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3 В начал` 1990-х го_ов, ког_а набор протоколов _ля сист`м

не известных и достаточно длительныхинтервалов времени.

уроВнИ протокола DNP3Протокол DNP3 состоит из следую-

щих уровней упрощённой модели сете-вого взаимодействия Enhanced Perfor -mance Architecture (EPA):1. Прикладной уровень (Application

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

2. Функция транспорта (TransportFunction) является подуровнем при-кладного уровня и предназначена дляразбиения данных на фрагменты припередаче и для сборки фрагментовпри приёме данных, подлежащих пе-редаче канальному уровню, которыев спецификации DNP3 и далее потексту называются сегментами.

3. Канальный уровень (Data Link Layer)является интерфейсом взаимодей-ствия между функцией транспорта и

физическим уровнем либо междуфункцией транспорта и сервисомтранспорта других сетевых протоко-лов. Основными функциями данногоуровня являются адресация узловDNP3 и обнаружение ошибок, длячего к сегментам добавляется заголо-вок канального уровня, а в поток дан-ных вставляются 16-разрядные поляциклической контрольной суммы.Пакеты канального уровня, называе-мые далее кадрами, имеют форматFT3, определённый в спецификацииIEC 60870-5-1:1990 (ГОСТ Р МЭК870-5-1-95). Минимальной единицей передачи

информации на всех уровнях протоколаDNP3 служит октет – последователь-ность из восьми информационных би-товых полей. Для простоты изложенияоктет в настоящем документе будет на-зываться байтом.

Упрощённая модель взаимодействияведущего и подчинённого узлов DNP3показана на рис. 4.

прИнцИп сетеВого

ВзаИмодейстВИя

узлоВ DNP3 Приложение на ведущем узле сети

(мастере), показанном слева на рис. 4,обращается с запросом к прикладному

уровню мастера на получение данныхот подчинённого узла. Запрос содержиткод функции и описание объектов дан-ных, которые требуется получить отподчинённого узла. Прикладной уро-вень передаёт запрос функции транс-порта для разбиения фрагментов запро-са на сегменты, которые затем пере-даются на канальный уровень.

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

Прикладной уровень подчинённогоузла интерпретирует код функции иописание запрашиваемых объектовданных в полученных запросах, послечего при наличии в базе данных подчи-нённого узла запрошенных объектовформирует один или несколько ответов,

34

СТА 2/2017

о б з о Р / п Р о м ы ш л е н н ы е С е Т и

www.cta.ru

Рис. 4. Модель взаимодействия ведущего и подчинённого узлов DNP3

543210

Дискретныевходы

543210

Аналоговыевходы

543210

Входысчётчиков

543210

Выходыуправления

543210

Аналоговыевыходы

Дискретные, аналоговые входы и счётчикиДискретные

и аналоговые выходы

Прикладной уровень DNP3

Функция транспорта

Приложение мастера

Линия передачи данных

Канальный уровень DNP3

Инд

ексы

точ

ек

Инд

ексы

точ

ек543210

Дискретныевходы

543210

Аналоговыевходы

543210

Входысчётчиков

543210

Выходыуправления

543210

Аналоговыевыходы

Прикладной уровень DNP3

Функция транспорта

Приложение подчинённого узла

Канальный уровень DNP3

Мастер DNP3 (Master) Подчинённый узел DNP3 (Outstation)

Запросы

Ответы на запросы

Инициативные сообщения

Подтверждения

Page 5: DNP3 по-русски · 2020. 8. 12. · dnp3 прив`_`ны в табл. 1. И"# !И* dnp3 В начал` 1990-х го_ов, ког_а набор протоколов _ля сист`м

которые передаются мастеру черезфункцию транспорта, канальный и фи-зический уровни.

Помимо получения объектов данныхмастер имеет возможность запуска ко-манд управления на подчинённых уз-лах. Прохождение команд управления вцелом идентично описанному прохож-дению запросов данных.

В некоторых случаях мастер сети неимеет возможности выполнять запросыданных подчинённых узлов по описан-ному сценарию, или такая возможностьсущественно ограничена пропускной

способностью и/или доступностью ис-пользуемых каналов связи. Для решенияданной проблемы в протоколе DNP3предусмотрен механизм инициативныхсообщений (Unsolicited Responses).

Инициативными называются со-общения, передаваемые подчинённымузлом в случайные моменты временибез запроса мастера, когда приложени-ем подчинённого узла обнаружено не-которое значимое или существенноесобытие.

Данный механизм сетевого взаимо-действия может иметь преимущества

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

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

заключенИе

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

Стандартизированный подход поль-зовательской группы, трёхуровневаямодель OSI, плюс общедоступность де-лают DNP3 достойным внимания раз-работчиков систем АСУ ТП. l

лИтература

1. A DNP3 Protocol Primer [Электронный ре-

сурс] // Сайт DNP.org. – Режим доступа :

https://www.dnp.org/AboutUs/DNP3%20Pri

mer%20Rev%20A.pdf.

2. Система ввода-вывода FASTWEL I/O.

Протокол DNP3. Руководство по конфи-

гурированию и программированию [Элек-

тронный ресурс] // Файловый ресурс ком-

пании ПРОСОФТ. – Режим доступа :

ftp://ftp.prosoft.ru/pub/Hardware/FAST-

WEL/FASTWEL_IO/Version2/Doc/FIO_D

NP3_Manual.pdf

Автор – сотрудникфирмы ПРОСОФТТелефон: (495) 234-0636E-mail: [email protected]

СТА 2/2017

о б з о Р / п Р о м ы ш л е н н ы е С е Т и

www.cta.ru