Задача

Настроить в SCADA ЭНТЕК получение данных по протоколу МЭК 60870-4-104 (далее будем писать сокращенно МЭК-104) от источников такой информации сторонних производителей различного типа, таких как:

  • Контроллер телемеханики объекта электрических сетей (ТП, РП, ПС) стороннего производителя (не контроллер ENLOGIC)
  • Распределенный объект диспетчеризации, имеющий встроенные возможности по передаче данных на верхний уровень по протоколу МЭК-104 (реклоузер, КРУН, разъединитель)
  • Сервер телемеханики, выдающий массив информации по протоколу МЭК-104

Такой объект автоматизации мы хотим увидеть в SCADA ЭНТЕК как отдельный узел ENLOGIC, потому что, во-первых – это удобно и логично, и во-вторых – при такой организации приема данных в распоряжении инженера проекта автоматически становятся доступны встроенные в ЭНТЕК функции регистрации событий и их последующего просмотра с автоматической фильтрацией по объектам – узлам ENLOGIC (и на самом деле это очень важный момент, сильно облегчающий построение проектов с большим количеством объектов).

Внимание! Следует понимать различие в задачах подключения сторонних устройств с протоколом МЭК 60870-5-104 к контроллеру с исполнительной системой ENLOGIC (в том числе к виртуальному SofLogic), и в подключении напрямую к SCADA. Эти две задачи в некоторых случаях могут быть решены одинаковым образом, но все таки они имеют сильно разную целевую направленность и некоторые важные различия в особенностях конечного результата. И если вас интересует вопрос подключения к контроллеру с исполнительной системой ENLOGIC, то вам надо перейти на статью Прием данных по протоколам МЭК 60870-5-101/103/104.

Краткая инструкция

  1. Добавить в конфигурации ENLOGIC узел (контроллер) типа "КП МЭК 60870-5-104"
  2. В контроллер добавить псевдо протокол Виртуальная группа (их можно добавлять сколько угодно)
  3. В виртуальную группу добавить наиболее удобные для визуального представления данных от вашего контроллера в SCADA ЭНТЕК модули - там предусмотрены на выбор модули как чисто ТС, ТУ, ТИ, так и совмещенные. При добавлении модулей следует ориентироваться не на то, какие модули ввода-вывода опрашивает ваш контроллер, а попытаться с помощью модулей сформировать понятную структуру данных объекта.
  4. Зайти в настройку карты адресов - клавиша F8 - и с помощью функций редактирования карты в этом окне (перемещение тегов индивидуально или целыми блоками) - разместить нужные параметры на нужных МЭК-адресах.

При желании можно легко самостоятельно разработать форму представления дерева параметров стороннего контроллера, в виде нового модуля для псевдо протокола Виртуальная группа.

При использовании предусмотренных универсальных модулей ТС и пр. необходимо задавать у каждого сигнала Шифр пользователя - тогда далее в интерфейсе Скада сигналы будут видны под нормальными названиями, а не под абстрактными ТС1, ТС2 и пр.

Вводная информация

 Адресация параметров в SCADA

В SCADA ЭНТЕК информационные объекты (параметры, они же теги) имеют следующие параметры для их однозначной адресации и использования в программных модулях ЭНТЕК:

  • Идентификатор станции – в одном проекте может быть до 255 станций (размер поля 1 байт).

  • Идентификатор узла ENLOGIC (системный адрес) – в рамках одной станции может быть до 255 узлов, контроллеров ENLOGIC или любых сторонних с протоколом МЭК-104 (размер поля 1 байт).

  • Идентификатор параметра (тега) – в рамках одного узла ENLOGIC может быть до 65535 параметров (размер поля 2 байта). Идентификатор параметра также одновременно является и МЭК-адресом этого параметра в карте МЭК-переменных узла ENLOGIC.

Необходимо четко понимать при настройке проекта SCADA ЭНТЕК следующее:

  • Когда на мнемосхеме модуля визуализации идет настройка объекта отображения какого нибудь сигнала с контроллера – этот объект запоминает привязку к этому параметру, сохраняя значения всех этих трех полей.
  • Так же сохраняют привязку к параметрам и все остальные модули – настройка алармов, настройка истории, и все прочие, что могут быть.
  • Если после настройки привязки параметров к мнемосхеме (алармам, истории) изменить вдруг (зачем то) идентификатор станции, то все настройки привязок станут некорректными – визуализация перестанет видеть данные по ВСЕМ контроллерам данной станции SCADA ЭНТЕК. (именно по этой причине в программе настройки станций изменить идентификатор станции нельзя – это можно сделать только вручную в INI-файле со списком станций)
  • Если после настройки привязки параметров к мнемосхеме (алармам, истории) изменить системный адрес узла ENLOGIC, то настройки привязок для данного узла ENLOGIC на мнемосхемах станут некорректными - визуализация перестанет видеть данные по этому контроллеру.
  • Если после настройки привязки параметров к мнемосхеме (алармам, истории) начать изменять выходную карту МЭК-параметров контроллера, то частично эти привязки необходимо будет актуализировать – привязаться к новым адресам. В особо тяжелых случаях, когда карта переменных была полностью перекроена – придется перепривязать все параметры.

Какие задачи решает ENLOGIC

В составе SCADA ЭНТЕК подсистема ENLOGIC решает следующие задачи:

  1. Формирование конфигурации нижнего уровня – для коммуникационных контроллеров в части сбора данных от различных источников по цифровым протоколам связи, и разработки технологических алгоритмов обработки информации внутри контроллера. Результатом этой задачи является конфигурация в бинарном виде, подготовленная для загрузки в контроллер, причем только в контроллер с исполнительной системой ENLOGIC.
  2. Формирование конфигурации верхнего уровня – дерева параметров контроллеров (узлов ENLOGIC), с которыми будут работать остальные модули SCADA ЭНТЕК – сервер, визуализация, алармы и пр. Каждый модуль использует это дерево параметров как ему требуется. При этом всем модулям SCADA уже совершенно не требуется знание всей сформированной в ENLOGIC IDE логики работы коммуникационного контроллера нижнего уровня – модулям SCADA требуется знать только адрес параметра, для того чтобы иметь возможность получать данные от сервера SCADA, используя этот адрес.

Как работает сервер SCADA

Сервер SCADA ЭНТЕК любые типы контроллеров – и ENLOGIC, и сторонние – опрашивает по протоколу МЭК-104 (возможны и другие варианты, например сообщения MQTT).

Сервер SCADA ЭНТЕК в качестве входной конфигурации для своей работы (для опроса удаленных объектов) использует конфигурацию верхнего уровня, сформированную в ENLOGIC IDE. Причем он даже не рассматривает эту конфигурацию в виде дерева, а только в виде плоской таблицы. Для него конфигурация удаленного контроллера – это только список возможных адресов МЭК-параметров, которые сервер готов принять от этого контроллера. Сервер ничего не знает о конфигурации контроллера (даже если это контроллер с исполнительной системой ENLOGIC), кроме предполагаемого списка МЭК-адресов параметров.

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

  • Если в список переменных контроллера были добавлены новые параметры, то сервер будет их принимать (такова логика работы МЭК-104), но будет их отбрасывать – ему некуда положить эти данные.
  • Если из конфигурации контроллера были удалены некоторые параметры, то сервер по этим параметрам перестанет получать данные – они у него всегда будут недостоверными.
  • Если МЭК-адреса параметров в контроллере были изменены – начнется путаница (несоответствие карты МЭК-параметров), и сервер по адресам параметров в своем списке начнет получать совершенно не те данные, что ему нужны.
  • Если на объекте заменить контроллер одного типа на контроллер другого типа (даже другого производителя), и при настройке нового контроллера сформировать у него выходную карту МЭК-параметров, аналогичную предыдущему контроллеру – тогда сервер SCADA будет успешно принимать поток данных, теперь уже от нового контроллера.