СТА №2/2017

не известных и достаточно длительных интервалов времени. У РОВНИ ПРОТОКОЛА DNP3 Протокол DNP3 состоит из следую- щих уровней упрощённой модели сете- вого взаимодействия Enhanced Perfor- mance Architecture (EPA): 1. Прикладной уровень (Application Layer) определяет набор типов дан- ных и операций, посредством кото- рых осуществляется взаимодействие между приложениями и алгоритмами на разных узлах сети DNP3, а также формат передаваемых и принимае- мых пакетов данных, при помощи ко- торых выполняется взаимодействие с нижестоящим уровнем. Пакеты при- кладного уровня в спецификации DNP3 называются фрагментами. 2. Функция транспорта (Transport Function) является подуровнем при- кладного уровня и предназначена для разбиения данных на фрагменты при передаче и для сборки фрагментов при приёме данных, подлежащих пе- редаче канальному уровню, которые в спецификации 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 5 4 3 2 1 0 Дискретные входы 5 4 3 2 1 0 Аналоговые входы 5 4 3 2 1 0 Входы счётчиков 5 4 3 2 1 0 Выходы управления 5 4 3 2 1 0 Аналоговые выходы Дискретные, аналоговые входы и счётчики Дискретные и аналоговые выходы Прикладной уровень DNP3 Функция транспорта Приложение мастера Линия передачи данных Канальный уровень DNP3 Индексы точек Индексы точек 5 4 3 2 1 0 Дискретные входы 5 4 3 2 1 0 Аналоговые входы 5 4 3 2 1 0 Входы счётчиков 5 4 3 2 1 0 Выходы управления 5 4 3 2 1 0 Аналоговые выходы Прикладной уровень DNP3 Функция транспорта Приложение подчинённого узла Канальный уровень DNP3 Мастер DNP3 (Master) Подчинённый узел DNP3 (Outstation) Запросы Ответы на запросы Инициативные сообщения Подтверждения

RkJQdWJsaXNoZXIy MTQ4NjUy