СТА №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) Запросы Ответы на запросы Инициативные сообщения Подтверждения
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy