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

Опитайте Нашия Инструмент За Премахване На Проблемите





DNP3 или Distributed Network Protocol3 беше пуснат през 1992 г. от японска корпорация за създаване на протокол за комуникация между разпределени системи. DNP3 е мрежово базиран протокол за управление на устройства, който се използва за комуникация между устройство и отдалечено входно/изходно устройство. Този протокол зависи главно от обектно-ориентиран модел, който намалява битовото картографиране на данни, което обикновено се изисква от други по-малко обектно-ориентирани протоколи. Използва се главно между централни главни станции, както и разпределени отдалечени устройства, където централната главна станция просто работи като интерфейс между човешкия мрежов мениджър, както и системата за наблюдение. Разпределеното отдалечено устройство е интерфейсът между главната станция и физическото устройство, което се наблюдава и контролира в отдалечените области. Обменът на данни между тези два може да се извърши от библиотеката с общи обекти. Тази статия обсъжда преглед на DNP3 протокол – работа с приложения.


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

Наборът от комуникационни протоколи, които се използват между различни компоненти в системите за автоматизация на процеси, е известен като протокол DNP3. Този протокол е предназначен главно за комуникационни цели между различни видове оборудване за събиране на данни и контрол. Така че в SCADA системи , този протокол играе съществена роля, когато се използва от RTU, SCADA и IED.



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

DNP3 е трета версия на разпределен мрежов протокол. Има едно проучване за интегритет и три нива на проучване, където проучването за интегритет се използва за събиране на данните при едно проучване.

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

Архитектурата на мрежата DNP3 може да бъде едноадресна, многокапкова и конектор за данни/йерархична архитектура.



Архитектурата за едноадресно предаване: е известна също като архитектура едно към едно, тук главната станция може да комуникира само с една външна станция, докато в многокапкова архитектура главната станция може да комуникира с повече от едно изнесено устройство, което означава, че може да комуникира с множество изнесени устройства. Конекторът за данни/йерархичната архитектура е комбинация от многокапкови и едноадресни архитектури.

Комуникационният протокол DNP3 обикновено се използва за електроснабдяване, водоснабдяване и канализация, нефт и газ, транспорт и други SCADA среди. Позволява ви да преглеждате важни нива в реално време и исторически, които могат да бъдат температура, влажност, ниво на батерията, напрежение, ниво на гориво и т.н. Също така ви позволява да откривате проблеми и да коригирате проблемите бързо, а също така можете да отстраните тесните места и неефективност.

Проектирането на протокола DNP3 може да се извърши въз основа на слоевете на OSI модела като връзка за данни, транспорт, приложение и потребителски слой. Този протокол има гъвкавостта за свързване на един главен през минимум една или повече външни станции над сериен, както и Ethernet физически носител.
Други възможни архитектури включват главно различни главни връзки с една изнесена станция и операции peer-to-peer. Обикновено главният стартира команди за управление, за да поиска данни от или да активира устройства, които се управляват чрез изнесената станция. Тази външна станция просто реагира на капитана, като предава подходяща информация.

  DNP3 протоколни слоеве
DNP3 протоколни слоеве

Базиран на модела OSI, протоколът DNP3 включва четири слоя Data Link, Transport Function, Application & User Layer. Тук слоят за връзка с данни в долната част ще направи физическата връзка по-надеждна чрез адресиране и откриване на грешки. Транспортната функция просто сглобява рамки от Link Layer във фрагменти от Application Layer. Този слой приема цялото съобщение и указва какви данни се предпочитат пред горния потребителски слой. Всяко съобщение може да има няколко типа данни като аналогови, двоични и броячи входове и изходи.

Как работи протоколът 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

В горната диаграма на формата на съобщението, DNP3 ASDU (единица данни за услугата на приложението) е ценна за настройката на интелигентно съдържание, което се контролира както чрез квалификатори, така и чрез полета indexSize. Така че този дизайн ще направи данните на приложението достъпни в рамките на гъвкави конфигурации.

Сега нека обсъдим как се обменят данните, особено в многослойния комуникационен модел.
Слоят на приложението в диаграмата по-горе комбинира ASDU (единица данни за услугата на приложението) и пакетиран обект от блок APCI (контрол на протокола на приложението), за да направи APDU (единица данни на протокола на приложението).

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

Слоят на връзката е съпоставен с 4-слоевия модел, който е разработен от Министерството на отбраната (Министерството на отбраната) чрез пропуснатия интернет слой на Министерството на отбраната. Ако се използва сериен транспорт, тогава сглобяването на пакета се извършва и се намира на транспортния носител за доставка.

Ако пакетът се предава през LAN или WAN, тогава 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 протоколът обикновено се използва между главния (компютър) и отдалечения (Outstation). Тук главният се използва за осигуряване на интерфейс между човешкия мрежов мениджър, както и системата за наблюдение. Дистанционното осигурява интерфейса между главното и физическото устройство, които се управляват или наблюдават.

И главният, и отдалеченият използват обща библиотека с обекти за обмен на данни. Ето данните. Протоколът DNP3 е протокол с анкета, който включва възможности, които са проектирани внимателно. След като главната станция е свързана към дистанционно, тогава може да се извърши анкета за интегритет, което е много важно за адресиране на DNP3, тъй като за точка от данни те връщат всички буферирани стойности и съдържат и настоящата стойност на точката.

Като цяло, драйверите на DNP3 могат да извършват рутинно различни анкети като анкета за интегритет, клас 1, клас 2 и клас 3. При анкета за интегритет DNP3 просто изисква от външната станция да предаде своите клас 1, клас 2 и клас 3 данни за събития и статични данни от клас 0 в хронологичен ред. An Integrity Poll обикновено се използва за синхронизиране на базите данни на DNP3 master & slave и по този начин има тенденция да се разпределя бавна скорост на анкета. Обикновено анкети от клас 1, клас 2 и клас 3 се използват за възстановяване на събития от отделни класове при променливи скорости въз основа на важността на тези събития. По-критичните събития се присвояват на класовете, които имат по-висок процент на анкети.

Разлика между DNP3 и IEC 61850

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

DNP3

IEC 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 включва следното.

DNP3

Modbus

Протоколът за разпределена мрежа е разработен през 1993 г. от Харис. Протоколът Modbus е разработен през 1979 г. от Modicon
Разпределеният мрежов протокол използва битове. Комуникационният протокол Modbus използва текстови описания за изпращане на данните.
DNP3 се състои от три слоя, те са физически, данни и приложни слоеве. Комуникационният протокол Modbus се състои само от приложен слой
Протоколът DNP3 поддържа множество подчинени устройства, множество главни устройства и комуникация между партньори. протоколът Modbus поддържа само peer-to-peer комуникация.
Конфигурационните параметри, изисквани в протокола DNP3, са лоша скорост, размер на фрагмента и адреси на устройства. Конфигурациите, изисквани в протокола Modbus, са режим на паритет, ASCII режим, RTU режим и скорост на предаване.

Плюсове и минуси на DNP3

The предимства на протокола DNP3 Включвам следното.

  • DNP3 е отворен стандартен протокол, така че всеки дизайнер може да проектира DNP3 оборудване, което е добре съчетано с друго DNP3 оборудване.
  • DNP3 предоставя много възможности благодарение на интелигентен и стабилен протокол.
  • Може да изисква и отговаря чрез няколко типа данни в рамките на едно съобщение
  • Позволява няколко главни и равноправни операции
  • Поддържа стандартен формат за време и синхронизация на времето.
  • Разходите за софтуер ще бъдат намалени.
  • Няма изискване за преводачи на протоколи.
  • По-малко поддръжка и тестване.

Недостатъците на протокола DNP3 включват следното.

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

DNP3 приложения

The DNP3 приложения включват следното.

  • DNP3 позволява на различни устройства в системите за автоматизация на процеси да комуникират.
  • Различни компании за комунални услуги широко използват този протокол за телеметрични системи за газ, електричество и вода.
  • Използва се в SCADA Communications.
  • Комуникационният протокол DNP3 се използва в дистанционни и SCADA системи за наблюдение.
  • Това е приложимо в цялата SCADA среда, която включва комуникации от главен към отдалечен и RTU към IED, както и в мрежови приложения.

И така, това е всичко преглед на протокола DNP3 – работа с приложения. The Спецификация на протокола DNP3 зависи главно от модела на обекта. Така че този модел просто намалява битовото картографиране на данни, което обикновено е необходимо с други по-малко обектно-ориентирани протоколи. За SCADA техници и инженери наличието на някои предварително дефинирани обекти ще направи DNP3 по-удобна рамка за проектиране и внедряване. Ето един въпрос към вас, какъв е протоколът?