---
title: "Руководство пользователя Библиотека paIEC850"
product: "Полигон"
document_number: "№ 1-RU-135061-1.2"
version: "1.2"
language: "ru"
source: "https://docs.owen.ru/product/poligon/doc/1204"
pdf: "https://docs.owen.ru/download/pdf/nv8FO.rp_biblioteka+paiec850_1-ru-135061-1.2.pdf"
generated: "2026-10-09"
---

# Руководство пользователя Библиотека paIEC850

## Содержание

- [Используемые термины и сокращения](#topic-90106)
- [Введение](#topic-90107)
- [Общие сведения](#topic-90108)
  - [Основные сведения о стандартах МЭК 61850](#topic-90109)
  - [Информационная модель подстанции](#topic-90110)
  - [Сервисы ACSI](#topic-90111)
- [Библиотека paIEC850](#topic-90112)
  - [Сервер МЭК 61850 (IEC61850srv)](#topic-90113)
    - [Свойства узлов дерева описания устройств IEC61850srv](#topic-90114)
  - [Клиент МЭК 61850 (IEC61850cli)](#topic-90115)
    - [Свойства узлов дерева описания устройств IEC61850cli](#topic-90116)
    - [Вспомогательный модуль выполнения команды (IEC61850CmdCSWI)](#topic-90117)
  - [Квалификатор (IEC61850BitStrToQuality/IEC61850TransQuality)](#topic-90118)
- [Пример настройки обмена по протоколу МЭК 61850 в режиме сервера](#topic-90119)
  - [Настройка логических узлов LN](#topic-90120)
    - [Настройка контролируемого логического узла класса SPC](#topic-90121)
    - [Настройка логического узла класса MV – измеряемая величина](#topic-90122)
    - [Настройка логического узла класса SPS – состояние](#topic-90123)
    - [Настройка пользовательского логического узла](#topic-90124)
  - [Формирование наборов данных DS](#topic-90125)
  - [Обмен данными с клиентом IEDScout](#topic-90126)
  - [Обмен данными с клиентом Multi-Protocol MasterOPC Server](#topic-90127)
- [Пример настройки обмена по протоколу МЭК 61850 в режиме клиента](#topic-90128)
- [Диагностика обмена](#topic-90129)
  - [Диагностика обмена сервера IEC61850srv](#topic-90130)
  - [Диагностика обмена клиента IEC61850cli](#topic-90131)
- [Поддерживаемые сервисы ACSI](#topic-90132)
- [Функциональные ограничения (Functional Constraints)](#topic-90133)

<a id="topic-90106"></a>

## Используемые термины и сокращения

**АРМ** – автоматизированное рабочее место.

**ОС** – операционная система.

**ПЛК** – программируемый логический контроллер.

**ТН** – трансформатор напряжения.

**ТС** – телесигнализация.

**ТТ** – трансформатор тока.

**ТУ** – телеуправление.

**Физическое устройство** – устройство, эквивалентное **IED**.

**ACSI (Abstract Communication Service Interface)** – абстрактный интерфейс услуг связи.

**DA (Data Attribute)** – атрибут данных.

**DO (Data Object)** – объект данных.

**DS** **(****Data** **Set****)** – набор данных (отчет).

**FC** **(****Functional** **Constraint****)** – функциональное ограничение. Указывает те сервисы, с которыми разрешено работать на определенном атрибуте данных **DA**.

**GOOSE** **(****Generic** **Object** **Oriented** **Substation** **Events****)** – объектно-ориентированный протокол для связи между устройствами релейной защиты и автоматики.

**IED** **(Intelligent Electronic Device)** – любое устройство, имеющее один или несколько процессоров и способное получать или направлять данные и управляющие воздействия от внешнего источника либо на внешний источник.

**LD** **(****Logical** **Device****)** – логическое устройство – объект, представляющий набор типичных функций подстанции.

**LN** **(****Logical** **Node****)** – логический узел – наименьшая часть функции, обменивающаяся данными.

**MMS (Manufacturing Message Specification)** – протокол обмена сообщениями стандарта ISO 9506.

**SBO (Select Before Operate)** – выбор перед выполнением.

**SCL (Substation Configuration Language)** – язык описания конфигурации подстанции.

**SV (Sampled Value)** – протокол передачи мгновенных значений тока и напряжения.

<a id="topic-90107"></a>

## Введение

Настоящее руководство описывает настройку обмена данными по протоколу **МЭК 61850** для контроллеров ОВЕН, программируемых в среде **Полигон**. Подразумевается, что читатель обладает базовыми навыками работы с **Полигон**, поэтому общие вопросы (например, создание и загрузка проектов) в данном документе не рассматриваются – они подробно описаны в документах [Руководство по программированию. Библиотека paCore](https://owen.ru/product/polygon/documentation) и [Быстрый старт](https://owen.ru/product/polygon/documentation).

Настройка обмена данными по протоколу **МЭК 61850** в среде **Полигон** осуществляется с помощью функциональных блоков из библиотеки <b>*paIEC*</b><b>*850*</b>. Данная библиотека доступна для работы при наличии соответствующей лицензии runtime (см. описание лицензионных пакетов [на странице среды разработки Полигон](https://owen.ru/product/polygon)).

Примеры в документе актуальны для версии среды **Полигон** – **1917**, версии библиотеки <b>*paIEC850*</b> – **81** и выше.

<a id="topic-90108"></a>

## Общие сведения

<a id="topic-90109"></a>

### Основные сведения о стандартах МЭК 61850

**МЭК 61850** – набор стандартов «Сети и системы связи на подстанциях», которые описывают архитектуру сетей на подстанциях. Эти стандарты обеспечивают совместимость работы АСУ-оборудования различных производителей.

В **МЭК 61850** определены абстрактные сервисы взаимодействия и классы данных так, чтобы эти спецификации не зависели от конкретных стеков протоколов, интерфейсов и ОС. Стандарт также определяет требования к надежности передачи данных.

Первая часть стандарта была опубликована в 2003 году.

**МЭК 61850** состоит из разделов:

- **1 Introduction and overview** – введение и общий обзор;
- **2** **Glossary** – глоссарий терминов;
- **3** **General requirements** – основные требования;
- **4** **System** **and** **project** **management** – управление системой и проектированием;
- **5 Communication requirements for functions and device models** – требования к связи для функций и моделей устройств;
- **6 Configuration language for communication in electrical substations related to IEDs** – язык описания конфигурации связи между микропроцессорными электронными устройствами подстанций;
- **7** **Basic** **communication** **structure** **–** **Principles** **and** **models** – основная структура связи для оборудования подстанции и питающей линии (4 части);
- **8-1** **Specific** **communication** **service** **mapping** **(****SCSM****) –** **Mappings** **to** **MMS** **(****ISO** **9506-1** **and** **ISO** **9506-2)** **and** **to** **ISO****/****IEC** **8802-3** – описание специфического сервиса связи (SCSM) – описание передачи данных по протоколу MMS (ИСО/МЭК 9506 – часть 1 и часть 2) и по протоколу ИСО/МЭК 8802-3;
- **9-2** **Specific** **communication** **service** **mapping** **(****SCSM****) –** **Sampled** **values** **over** **ISO****/****IEC** **8802-3** – описание специфического сервиса связи (SCSM) – выборочные значения по ИСО/МЭК 8802-3;
- **10** **Conformance** **testing** – проверка на совместимость.

В качестве общей шины для обмена по протоколам **МЭК 61850** выбрана сеть [Ethernet](https://ru.wikipedia.org/wiki/Ethernet).

<a id="topic-90110"></a>

### Информационная модель подстанции

Одна из основных задач стандарта **МЭК 61850** – определение единого базового набора терминов и связывающей их информационной модели.

В стандарте есть понятие **логического узла** **LN** (Logical Node) – это наименьшая часть функции, которая может обмениваться данными.

Логические узлы разделены на группы. Всего стандарт предусматривает девятнадцать групп логических узлов.

**Основные группы логических узлов**

| Указатель группы | Имя группы |
| --- | --- |
| L | Системные логические узлы |
| P | Функции защит |
| R | Вспомогательные функции защит |
| C | Диспетчерское управление |
| G | Общие функции |
| I | Интерфейсы и архивирование |
| A | Автоматическое управление |
| M | Учет и измерения |
| S | Диспетчерское управление и мониторинг |
| X | Коммутационные аппараты |
| T | Измерительные трансформаторы и датчики |
| Y | Силовые трансформаторы и связанные функции |
| Z | Резерв |

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

Например, **PDIF** – дифференциальная защита, **XCBR** – выключатель, **MMXU** – измерительное устройство и т.п.

Каждый логический узел содержит один или несколько объектов данных, каждый объект данных имеет стандартизированную структуру.

Например, логический узел **XCBR** содержит такие обязательные объекты данных, как:

- **Loc** – режим управления (локальный/дистанционный);
- **OpCnt** – счетчик операций;
- **Pos** – положение;
- **BlkOpn** – блокировка команд отключения выключателя;
- **BlkCls** – блокировка команд включения выключателя;
- **CBOpCap** – возможность срабатывания выключателя.

Для объектов данных задается функциональное ограничение **FC** (Functional Constraint), которое определяет, какие [сервисы ACSI](#topic-90111) применимы к этому объекту данных. Например, для объекта **Loc** задано функциональное ограничение **ST** – информация о состоянии. Соответственно, данный объект клиент может читать, но не может записывать.

Список основных функциональных ограничений по **ГОСТ Р МЭК 61850-7-2**, используемых в среде **Полигон**, приведен в [Приложении Б.](#topic-90133)

Объект данных **Loc** имеет структуру класса **SPS** (Single Point State), которая в свою очередь содержит такие обязательные атрибуты, как:

- **stVal** – состояние (bool);
- **q** – качество;
- **t** – временная метка.

Таким образом, полное уникальное имя атрибута данных внутри логического устройства **LD** (Logical Device) состоит из следующих полей:

- Имя логического устройства **LD**;

- Логический узел **LN**

  ;

- Функциональное ограничение **FC**;

- Объект данных;

- Атрибут.

![Полное имя атрибута данных](https://docs.owen.ru/book_img/1826/135036.png)

*Полное имя атрибута данных*

Для описания информационной модели **МЭК 61850** используется стандартизированный язык **SCL** (Substation Configuration Language), основанный на языке разметки **XML**.

Основные типы файлов **SCL**:

- **.ssd** – топология подстанции (однолинейная схема);
- **.icd** – функциональные возможности интеллектуального электронного устройства **IED** (Intelligent Electronic Device);
- **.cid** – описание функционала **IED** (для каждого устройства свой файл, поставляемый производителем);
- **.scd** – полное описание подстанции.

<a id="topic-90111"></a>

### Сервисы ACSI

Модели абстрактного интерфейса сервиса связи **ACSI** (Abstract Communication Service Interface) по стандарту **МЭК 61850** определяют набор сервисов, которые позволяют **IED** функционировать в сети аналогично соответствующим функциям энергосистемы.

Стандарт **МЭК 61850** описывает преобразование абстрактных сервисов в сетевые протоколы.

В стандарте предусматривается два вида цифровых шин:

- Шина подстанции – обмен между АРМ, серверами и **IED**;
- Шина процесса – обмен между полевыми устройствами и **IED**.

**МЭК 61850** описывает следующие протоколы сетевого взаимодействия:

- **MMS** – клиент-серверная технология (АРМ – клиент, **IED** – сервер), обеспечивающая обмен некритичными ко времени передачи данными (уровень шины подстанции);
- **GOOSE** – технология, основанная на модели подписчик-издатель, для обмена критичными ко времени передачи (высокоприоритетными) данными между **IED** (уровень шины подстанции);
- **SV** **(****Sampled** **Value****)** – цифровая информация от ТТ и ТН (уровень шины процесса).

Для организации обмена между устройствами используются наборы данных **DS** (DataSet). Каждый **DS** имеет свое имя, в него помещаются ссылки на передаваемые атрибуты. Такие наборы данных используются для формирования отчетов для передачи на АРМ операторов или организации обмена между **IED**.

Для осуществления телеуправления стандарт определяет следующие модели управления:

- Сценарий 1: Прямое управление с нормальной безопасностью (**direct****-****operate**);
- Сценарий 2: SBO управление с нормальной безопасностью (**operate-once** или **operate-many**);
- Сценарий 3: Прямое управление с улучшенным уровнем безопасности (**direct****-****operate**);
- Сценарий 4: SBO управление с улучшенным уровнем безопасности (**operate****-****once** или **operate****-****many**).

Поддерживаемые сервисы **ACSI** по **ГОСТ Р МЭК 61850-7-2** в среде **Полигон** приведены в [Приложении А.](#topic-90132)

<a id="topic-90112"></a>

## Библиотека paIEC850

Библиотека <b>*paIEC*</b><b>*850*</b> содержит функциональные блоки для реализации обмена по протоколу **МЭК 61850**.

В структуру библиотеки входят блоки [IEC61850cli](#topic-90115) и [IEC61850srv](#topic-90113), с помощью которых настраивают обмен по протоколу **МЭК 61850** в режимах **клиент** и **сервер**.

Остальные блоки библиотеки являются вспомогательными.

Для добавления библиотеки <b>*paIEC*</b><b>*850*</b> в проект следует:

1. Перейти в меню <b>*Окна/Проекты*</b>. В появившемся окне отобразится текущий проект и добавленные библиотеки.

   ![Добавление библиотеки pa IEC850 в проект](https://docs.owen.ru/book_img/1826/135035.png)

   <i>Добавление библиотеки paIEC850 **в проект**</i>

2. Нажать кнопку <b>*Открыть*</b> и перейти в папку с файлами библиотеки, которую необходимо добавить. Затем в выпадающем списке выбрать тип файла <b>*Библиотека Полигон 2 (\*.*</b><b>*ll*</b><b>*2)*</b>.

   ![Добавление библиотеки pa IEC850 в проект (2)](https://docs.owen.ru/book_img/1826/135034.png)

   *Добавление библиотеки paIEC850 в проект*

3. В окне появится файл библиотеки с расширением **.****ll****2**. Следует выбрать его и нажать **Открыть**.

   ![Добавление библиотеки pa IEC850 в проект (3)](https://docs.owen.ru/book_img/1826/135033.png)

   *Добавление библиотеки paIEC850 в проект*

Добавленная библиотека отобразится в окне <b>*Проекты*</b>.

<a id="topic-90113"></a>

### Сервер МЭК 61850 (IEC61850srv)

Блок <b>*IEC*</b><b>*61850*</b><b>*srv*</b> реализует протокол стандарта **МЭК 61850** **MMS** и выполняет роль сервера.

Данный блок следует размещать только в **Фоне**, потому что работа блока занимает значительное время.

**Назначение входов и выходов IEC61850srv**

**Входы**

| Элемент | Описание |
| --- | --- |
| enb | Разрешение работы блока |
| tmp | Период вызова вспомогательных функций блока, мс (см. [рисунок](#fig2)) |
| sdr | Сетевой стек для ПЛК ОВЕН **"/"** |
| cfg | Конфигурация (битовая маска):<br>**Бит 4** – активирует принудительное обновление значений атрибутов **mag** из значения **instMag**. Таймаут задается соответствующим свойством в узле **CIED** |
| ctl | Управление диагностикой (битовая маска):<br>**Бит 7** – активировать диагностический модуль (для разработчиков);<br>**Биты 8…15** – битовая маска, определяющая, какие диагностические сообщения будут выводиться в системную консоль (установка **0xFF00** разрешает вывод всех типов сообщений, см. [раздел](#topic-90130)) |

**Выходы**

| Элемент | Описание |
| --- | --- |
| sts | Статус устройства:<br>**0** – нет связи с клиентом;<br>**1** – соединение с клиентом установлено |
| dsts | Не используется |

![Блок IEC61850srv](https://docs.owen.ru/book_img/1826/135072.png)

*Блок IEC61850srv*

Работа протокола делится на три основные подпрограммы (см. [рисунок](#fig2)).

При **enb = 0** происходит деактивация подпрограмм протокола.

Вход **tmp** определяет период вызова вспомогательных функций блока, выполняющихся в фоновом потоке.

На входе **cfg** можно задать **бит 4**. Если в модели данных есть классы **MV** (измеряемая величина), то при **cfg = 4** активируется принудительное обновление значения **mag** (измеряемая величина после мертвой зоны) из значения **instMag** (реальное значение измеряемого параметра). Это полезно, если измеряемая величина долгое время не изменяется из-за мертвой зоны.

Интервал обновления значений **mag** задается свойством в узле **CIED** (см. [раздел](#topic-90114)).

<a id="fig2"></a>

![Работа IEC61850srv](https://docs.owen.ru/book_img/1826/135071.png)

*Работа IEC61850srv: разделение на потоки и последовательность вызова подпрограмм*

Для функционирования протокола следует определить абстрактную модель данных внутри узла блока <b>*IEC*</b><b>*61850*</b><b>*srv*</b> в дереве проекта. Для этого применяются шаблоны из библиотеки <b>*paIEC*</b><b>*850*</b>.

Корневым узлом модели данных является физическое устройство **IED**. Внутри него добавляются логические устройства **LD** и логические узлы **LN**. Логические узлы, в свою очередь, содержат объекты данных с атрибутами.

Каждый узел в дереве проекта имеет по крайней мере один параметр (свойство) – <b>*Имя*</b>.

Для узла **IED** также задаются следующие свойства:

- <b>*IP-адрес*</b> – локальный IP-адрес сервера (если отличается от заданного в свойстве модуля);
- <b>*Порт*</b> – сетевой порт для подключения клиента;
- <b>*МЭК61850: Таймаут принудительного обновления*</b> <b>*mag*</b> <b>*(мс)*</b> – таймаут принудительного обновления значений атрибутов **mag** из значения **instMag** (должен быть активирован **бит 4** на входе **cfg**).

![Свойства узла IED](https://docs.owen.ru/book_img/1826/135070.png)

*Свойства узла IED*

Для объекта данных дополнительно можно задать свойство **МЭК61850: функциональное ограничение**. Оно определяет, какие сервисы клиент может применять к данному объекту данных.

![Свойства узла объекта данных](https://docs.owen.ru/book_img/1826/135069.png)

*Свойства узла объекта данных*

Для атрибута данных задаются свойства:

- <b>*МЭК61850: базовый тип данных*</b> – базовый тип данных атрибута, определяется явно протоколом;
- <b>*МЭК61850: значение по умолчанию*</b> – значение, присваиваемое данному атрибуту в начале работы протокола (при отсутствии проведенной связи к данному атрибуту).

> [!NOTE]
> **Примечание.** В данной реализации протокола используются два вида атрибутов данных: структурированный (**Struct**) и строго типизированный (тип данных определяется протоколом).

![Структурированный атрибут данных](https://docs.owen.ru/book_img/1826/135068.png)

*Структурированный атрибут данных. Свойства*

![Строго типизированный атрибут данных](https://docs.owen.ru/book_img/1826/135067.png)

*Строго типизированный атрибут данных. Свойства*

Для управляемых атрибутов данных дополнительно задается свойство <b>*МЭК61850: модель управления*</b>. Возможные значения см. в справке среды и в [разделе](#topic-90114).

Для узла управления набором данных (отчетом) определяются причины передачи отчета. Активированные в сервере причины будут также активированы по умолчанию у клиента (при необходимости их можно поменять).

Свойство <b>*МЭК61850: название набора данных*</b> определяет, каким набором данных управляет данный узел.

Свойство <b>*МЭК61850: буферированный отчет*</b> включает буферизацию данных отчета. Если клиент потеряет связь с сервером, отчеты будут сохраняться в буфер и передадутся клиенту при возобновлении подключения.

![Свойства узла управления набором данных (отчетом)](https://docs.owen.ru/book_img/1826/135066.png)

*Свойства узла управления набором данных (отчетом)*

Перечень используемых свойств узлов дерева описания устройств <b>*IEC61850srv*</b> приведен в справке среды программирования и в [разделе](#topic-90114).

Пример работы с блоком приведен в [разделе](#topic-90119).

<a id="topic-90114"></a>

#### Свойства узлов дерева описания устройств IEC61850srv

В данном разделе приведены свойства узлов, используемые в дереве описания устройств блока [IEC61850srv](#topic-90113).

**Описание свойств узлов дерева описания устройств IEC61850srv**

**Класс CIED. Корневой узел дерева описания устройства**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
| IP адрес | prop_ip | Локальный сетевой адрес устройства **61850** (необязательное свойство) |
| Порт | prop_inter_port | Сетевой порт, на котором устройство ожидает подключения |
| МЭК61850: Таймаут принудительного обновления mag (мс) | prop_61850_mag_force_update_timeout | Таймаут принудительного обновления значений атрибутов **mag** из значения **instMag** (должен быть активирован **бит 4** на входе **cfg**) |

**Класс CIEC61850DO. Объект данных**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
| МЭК61850: Функциональное ограничение | prop_FC | Функциональное ограничение, определенное протоколом |

**Класс CIEC61850DA. Атрибут данных**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
| МЭК61850: Функциональное ограничение | prop_FC | Функциональное ограничение, определенное протоколом |
| МЭК61850: Базовый тип данных | prop_bType | Базовый тип данных, определенный протоколом |
| МЭК61850: значение по умолчанию | prop_defVal | Значение, которое присваивается атрибуту в начале работы протокола (при отсутствии связи) |
| МЭК61850: Модель управления | prop_ctlModel | Модель управления, определенная протоколом. Только для управляемых атрибутов данных.<br>Возможные значения:<br>• **status_only**;<br>• **direct_with_normal_security**;<br>• **sbo_with_normal_security**<br>;<br>• **direct_with_enhanced_security**;<br>• **sbo_with_enhanced_security**;<br>• **not_controllable** |

**Класс CIEC61850RCB. Блок управления набором данных (отчетом)**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
| МЭК61850: Отправлять по изменению данных | prop_trg_data_changed | Условие отправки отчета |
| МЭК61850: Отправлять при общем опросе | prop_trg_general_inter | Условие отправки отчета |
| МЭК61850: Отправлять при обновлении данных | prop_trg_general_inter | Условие отправки отчета |
| МЭК61850: Отправлять по изменению качества данных | prop_trg_qual_changed | Условие отправки отчета |
| МЭК61850: Отправлять периодически | prop_trg_integrity | Условие отправки отчета |
| МЭК61850: Период отправки отчета (мс) | prop_trg_integrity_period_ms | Период отправки отчета в случае установки свойства **prop_trg_integrity** |
| МЭК61850: Буферированный отчет | prop_isBuffered | Маркер буферированного отчета |
| МЭК61850: идентификатор отчета | prop_ReportID | Идентификатор отчета |
| МЭК61850: название набора данных | prop_dataSetName | Имя набора данных, которым управляет узел |

<a id="topic-90115"></a>

### Клиент МЭК 61850 (IEC61850cli)

Блок <b>*IEC*</b><b>*61850*</b><b>*cli*</b> реализует протокол стандарта **МЭК 61850** **MMS** и выполняет роль клиента.

Так как работа блока занимает значительное время, может быть размещен только в <b>*Фоне*</b>.

**Назначение входов и выходов IEC61850cli**

**Входы**

| Элемент | Описание |
| --- | --- |
| enb | Разрешение работы блока |
| tmp | Период вызова вспомогательных функций блока, мс (см. [рисунок](#topic-90115--fig2)) |
| sdr | Сетевой стек, для ПЛК ОВЕН **"/"** |
| cfg | Не используется |
| ctl | Управление (битовая маска):<br>**Бит 0** – инициировать команду общего опроса устройств **61850**;<br>**Бит 7** – активировать диагностический модуль (для разработчиков);<br>**Биты 8…15** – битовая маска, определяющая, какие диагностические сообщения будут выводиться в системную консоль (установка **0xFF00** разрешает вывод всех типов сообщений, см. [раздел](#topic-90131)) |
| bo | Вход для подключения вспомогательных блоков (циклический) |

**Выходы**

| Элемент | Описание |
| --- | --- |
| sts | Не используется |
| dsts | Выход статуса устройства. Добавляется для каждого устройства **61850** (циклический):<br>**0** – нет связи;<br>**1** – есть связь |

![Блок IEC61850cli](https://docs.owen.ru/book_img/1826/135065.png)

*Блок IEC61850cli*

Работа протокола делится на три основные подпрограммы (см. [рисунок](#topic-90115--fig2)).

При **enb = 0** происходит деактивация подпрограмм протокола.

Вход **tmp** определяет период вызова вспомогательных функций блока, выполняющихся в фоновом потоке.

**Бит** **0** на входе **ctl** активирует общий опрос всех устройств в дереве клиента.

Циклические входы **bo** служат для подключения вспомогательных блоков.

Для каждого устройства в дереве клиента можно создать выход статуса устройства **dsts**.

<a id="topic-90115--fig2"></a>

![Работа IEC61850cli](https://docs.owen.ru/book_img/1826/135064.png)

*Работа IEC**61850**cli<b>: разделение на потоки и последовательность вызова подпрограмм</b>*

Для функционирования протокола абстрактная модель данных сервера импортируется в клиент из файла конфигурации **\*.****cid** (предоставляется производителем устройства).

Корневым узлом модели данных является физическое устройство **IED**. Внутри него добавляются логические устройства **LD** и логические узлы **LN**. Логические узлы, в свою очередь, содержат объекты данных с атрибутами.

Для узла **IED** задаются следующие свойства:

- <b>*IP*</b> <b>*адрес*</b> – IP адрес устройства для подключения клиента;
- <b>*Порт*</b> – сетевой порт устройства для подключения клиента;
- <b>*МЭК61850: Периодичность попыток соединения (мс)*</b> – определяет период попыток подключения к серверу;
- <b>*МЭК61850: Период опроса входов (мс)*</b> – определяет частоту формирования запросов на чтение атрибутов сервера (к таким атрибутам следует провести связь из проекта);
- <b>*МЭК61850: Приоритет процесса*</b> – определяет приоритет потока взаимодействия протокола с runtime (см. [рисунок](#topic-90115--fig2)).

![Свойства узла IED (2)](https://docs.owen.ru/book_img/1826/135063.png)

*Свойства узла IED*

Для узла управления набором данных (отчетом) определяются причины передачи отчета.

Активированные в сервере причины передачи будут также активированы по умолчанию у клиента (при необходимости их можно поменять).

С помощью свойства <b>*МЭК61850: включить отчет*</b> можно управлять активацией отчета.

![Свойства узла управления набором данных (отчетом) (2)](https://docs.owen.ru/book_img/1826/135082.png)

*Свойства узла управления набором данных (отчетом)*

Полный перечень свойств узлов дерева описания устройств <b>*IEC61850*</b><b>*cli*</b> приведен в справке среды и в [разделе](#topic-90116).

Пример работы с блоком приведен в [разделе](#topic-90128).

<a id="topic-90116"></a>

#### Свойства узлов дерева описания устройств IEC61850cli

В данном разделе приведены свойства узлов, используемые в дереве описания устройств блока [IEC61850cli](#topic-90115).

**Описание свойств узлов дерева описания устройств IEC61850cli**

**Класс CIED. Корневой узел дерева описания устройства**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
| IP адрес | prop_ip | Сетевой адрес устройства **61850** |
| Порт | prop_inter_port | Сетевой порт устройства **61850** |
| МЭК61850: Периодичность попыток соединения (мс) | prop_conn_period | Время ожидания следующей попытки подключения к устройству после неудачной |
| МЭК61850: Период опроса входов | prop_readin_period | Период отправки запросов чтения к устройству |
| МЭК61850: Приоритет процесса | prop_thread_priority | Приоритет системного процесса, выполняющего программные функции данного устройства |
| Пользовательское свойство 00 | prop_0 | Локальный IP-адрес |
| Пользовательское свойство 01 | prop_1 | Локальный TCP-порт |

**Класс CIEC61850LN. Логический узел**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_object_indx | Индекс относительно узла-владельца |

**Класс CIEC61850DO. Объект данных**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_object_indx | Индекс относительно узла-владельца |

**Класс CIEC61850DA. Атрибут данных**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_object_indx | Индекс относительно узла-владельца |

**Класс CIEC61850Input. Входы**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_object_indx | Индекс относительно узла-владельца |
|   | prop_bType | Базовый тип данных, определенный протоколом |
| МЭК61850: Функциональное ограничение | prop_FC | Функциональное ограничение, определенное протоколом |

**Класс CIEC61850Output. Выходы**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_object_indx | Индекс относительно узла-владельца |
|   | prop_bType | Базовый тип данных, определенный протоколом |
| МЭК61850: Функциональное ограничение | prop_FC | Функциональное ограничение, определенное протоколом |
| МЭК61850: Модель управления | prop_ctlModel | Модель управления, определенная протоколом. Только для управляемых атрибутов данных.<br>Возможные значения:<br>• **status_only**;<br>• **direct_with_normal_security**;<br>• **sbo_with_normal_security**;<br>• **direct_with_enhanced_security**;<br>• **sbo_with_enhanced_security**;<br>• **not_controllable** |

**Класс CIEC61850RCB. Блок управления набором данных (отчетом)**

| Свойство | Идентификатор свойства | Назначение |
| --- | --- | --- |
|   | prop_DS_Ref | Ссылка на блок класса CIEC61850DS, которым управляет данный блок |
|   | prop_rptID | Строка, содержащая полный алиас данного блока (например, **"testIEDtestDevice0/LLNRP.urcbMX01"**) |
| МЭК61850: Отправлять по изменению данных | prop_trg_data_changed | Условие отправки отчета |
| МЭК61850: Отправлять при общем опросе | prop_trg_general_inter | Условие отправки отчета |
| МЭК61850: Отправлять при обновлении данных | prop_trg_general_inter | Условие отправки отчета |
| МЭК61850: Отправлять по изменению качества данных | prop_trg_qual_changed | Условие отправки отчета |
| МЭК61850: Отправлять периодически | prop_trg_integrity | Условие отправки отчета |
| МЭК61850: Период отправки отчета (мс) | prop_trg_integrity_period_ms | Период отправки отчета в случае установки свойства **prop_trg_integrity** |
| МЭК61850: включить отчет | prop_rcb_enabled | Включить отчет |

<a id="topic-90117"></a>

#### Вспомогательный модуль выполнения команды (IEC61850CmdCSWI)

Блок <b>*IEC61850CmdCSWI*</b> является вспомогательным модулем выполнения команды контроля узла **CSWI**.

**Назначение входов и выходов IEC61850CmdCSWI**

**Входы**

| Элемент | Описание |
| --- | --- |
| in | Вход данных |
| select | Инициировать команду «Выбрать» |
| execute | Инициировать команду «Выполнить» |
| cancel | Инициировать команду «Отменить» |

**Выходы**

| Элемент | Описание |
| --- | --- |
| bo | Выход для подключения ко входу **bo** клиента |
| ref | Назначенный атрибут данных **Pos** из узла **CSWI** устройства **61850** |
| err | Результат выполнения команды в виде текстовой строки |
| ierr | Результат выполнения команды в виде целого числа:<br>**0** – нет ошибки |
| opSts | Статус выполнения команды:<br>**1** – команда выполнена |

![Блок IEC61850Cmd CSWI](https://docs.owen.ru/book_img/1826/135081.png)

*Блок IEC61850CmdCSWI*

Пример использования блока в проекте приведен в [разделе](#topic-90128).

<a id="topic-90118"></a>

### Квалификатор (IEC61850BitStrToQuality/IEC61850TransQuality)

Блок **IEC61850BitStrToQuality** является вспомогательным модулем преобразования списка битовых полей в битовую строку **q**.

Названия входов блока соответствуют значениям полей, которые определены в протоколе.

На выход блока **q** назначается атрибут данных из дерева устройства **61850**.

Пример использования блока в проекте приведен в [разделе](#topic-90120).

![Блок IEC61850Bit Str To Quality](https://docs.owen.ru/book_img/1826/135080.png)

*Блок IEC61850BitStrToQuality*

Блок **IEC61850TransQuality** является вспомогательным модулем преобразования битовой строки **q** в список битовых полей.

На вход блока **q** назначается атрибут данных из дерева устройства **61850**.

Названия выходов блока соответствуют значениям полей, которые определены в протоколе.

Пример использования блока в проекте приведен в [разделе](#topic-90128).

![Блок IEC61850Trans Quality](https://docs.owen.ru/book_img/1826/135079.png)

*Блок IEC61850TransQuality*

<a id="topic-90119"></a>

## Пример настройки обмена по протоколу МЭК 61850 в режиме сервера

Данный пример доступен для скачивания на [сайте](https://owen.ru/product/polygon/documentation). Пароль для доступа к отладчику – **1**.

Для настройки обмена по протоколу **МЭК 61850 MMS** в режиме сервера следует:

1. Добавить на любую страницу места работы **Фон** блок

   [IEC61850srv](#topic-90113).

   ![Блок IEC61850srv (2)](https://docs.owen.ru/book_img/1826/135078.png)

   *Блок IEC**61850**srv*

2. Чтобы протокол функционировал, определить абстрактную модель данных внутри узла блока **IEC61850srv** в дереве проекта. Для этого применяются шаблоны из библиотеки **paIEC850**. Для копирования шаблонов в дерево проекта следует открыть библиотеку **paIEC850** в представлении «дерево».

   ![Шаблоны библиотеки pa IEC850](https://docs.owen.ru/book_img/1826/135077.png)

   *Шаблоны библиотеки paIEC850*

3. Корневым узлом модели данных является физическое устройство **IED**. Внутри него добавляются логические устройства **LD** и логические узлы **LN**. Логические узлы, в свою очередь, содержат объекты данных с атрибутами. Для копирования необходимого узла из раздела **Шаблоны** библиотеки **paIEC850** следует захватить его мышью, перетащить на нужный узел внутри узла блока **IEC61850srv** в дереве проекта и нажать **Копировать**. Затем нужно скопировать шаблон физического устройства **IED** и присвоить ему имя – **IED01**. Внутри **IED01** находится одно логическое устройство **Device0**. Внутри устройства добавлены обязательные узлы **LLN0** и **LPHD1**.

   ![Узел IED01 в дереве проекта](https://docs.owen.ru/book_img/1826/135076.png)

   *Узел IED01 в дереве проекта*

<a id="topic-90120"></a>

### Настройка логических узлов LN

Для настройки логического узла **LN** внутри логического устройства **LD** следует добавить в него шаблон **LogicalNode** из библиотеки <b>*paIEC*</b><b>*850*</b>.

<a id="topic-90121"></a>

#### Настройка контролируемого логического узла класса SPC

Для того, чтобы добавить внутрь логического устройства **LD** контролируемый логический узел, следует:

1. Добавить в узел **Device0** логический узел, копируя шаблон **LogicalNode**, и назначить имя **LN** – **CSWI0**.

2. Скопировать в **CSWI0** контролируемый объект данных класса **SPC**: шаблон **Controllable DataObject (BOOLEAN)** из раздела **Объекты данных**. Присвоить имя добавленному объекту данных – **Pos**.

   > **Примечание.** Для контролируемых объектов данных атрибуты данных создаются автоматически.

   ![Узел CSWI0 в дереве проекта](https://docs.owen.ru/book_img/1826/135075.png)

   *Узел CSWI0 в дереве проекта*

3. Задать для управляемых атрибутов данных свойство **МЭК61850: модель управления**. Возможные значения см. в справке среды программирования и в [разделе](#topic-90114).

   ![Свойства управляемого атрибута данных](https://docs.owen.ru/book_img/1826/135074.png)

   *Свойства управляемого атрибута данных*

4. Подать значение атрибута на вход блока **TransBit** из библиотеки **paCore**, чтобы получить его в программе. Для этого следует захватить вход блока **TransBit** с зажатым **Ctrl**, перетащить на раздел **stVal** и в выпадающем меню выбрать **Добавить**.

   ![Связь управляемого атрибута данных с Trans Bit](https://docs.owen.ru/book_img/1826/135073.png)

   *Связь управляемого атрибута данных с TransBit*

<a id="topic-90122"></a>

#### Настройка логического узла класса MV – измеряемая величина

Внутри логического устройства можно создать логический узел типа «измеряемая величина **MV**».

Для этого следует:

1. Добавить внутрь **Device0** логический узел, копируя шаблон библиотеки **LogicalNode**, и назначить имя **LN** – **MVLN0**.

2. Скопировать в **MVLN0** класс данных **MV**: шаблон **MV (Набор 1)** из раздела **Классы общих данных**. Присвоить имя добавленному объекту данных – **MV**.

   ![Узел MVLN0 в дереве проекта](https://docs.owen.ru/book_img/1826/135102.png)

   <i>Узел MVLN**0 в дереве проекта**</i>

3. Для эмуляции сигнала подать синусоиду на атрибут данных **instMag**.

   Для этого соединить блоки **GenSign** и **TransFlt** из библиотеки **paCore**, как показано на рисунке ниже. Добавить в раздел внутри **instMag** выход блока **TransFlt**.

   ![Связь атрибута inst Mag с Trans Flt](https://docs.owen.ru/book_img/1826/135101.png)

   *Связь атрибута instMag **с** TransFlt*

4. Атрибут **mag** изменяется в соответствии с **instMag** и зоной нечувствительности, которая задается атрибутом **db**.

   Зона нечувствительности **db** задается как тысячные процента от диапазона измеряемой величины.

   Атрибуты **min** и **max** определяют диапазон измеряемой величины.

   Так как амплитуда **GenSign = 100**, следует задать диапазон **min = -100**, **max = 100**.

   ![Задание диапазона измеряемой величины атрибут min](https://docs.owen.ru/book_img/1826/135100.png)

   *Задание диапазона измеряемой величины: атрибут min*

   ![Задание диапазона измеряемой величины атрибут max](https://docs.owen.ru/book_img/1826/135099.png)

   *Задание диапазона измеряемой величины: атрибут max*

5. Задать величину зоны нечувствительности равной **2000** (± 2 %).

   ![Задание зоны нечувствительности атрибут db](https://docs.owen.ru/book_img/1826/135098.png)

   *Задание зоны нечувствительности: атрибут db*

Для передачи измеряемой величины **MV** следует добавить ее в набор данных (отчет) **DataSet**. Пример настройки отчета см. в [разделе](#topic-90125).

<a id="topic-90123"></a>

#### Настройка логического узла класса SPS – состояние

Для того, чтобы создать логический узел типа «телесигнализация **SPS**» внутри логического устройства, следует:

1. Добавить внутрь **Device0** логический узел, копируя шаблон библиотеки **LogicalNode**. Назначить имя **LN** – **SPSLN0**.

2. Скопировать в **SPSLN0** класс данных **SPS**: шаблон **SPS** из раздела **Классы общих данных**.

   ![Узел SPSLN0 в дереве проекта](https://docs.owen.ru/book_img/1826/135097.png)

   *Узел SPSLN0 в дереве проекта*

3. Для задания значения атрибута **stVal** из программы соединить его с выходом блока **TransBit** из библиотеки **paCore**.

   ![Связь атрибута данных класса SPS с Trans Bit](https://docs.owen.ru/book_img/1826/135096.png)

   *Связь атрибута данных класса SPS с TransBit*

4. Для формирования метки качества использовать вспомогательный блок [IEC61850BitStrToQuality](#topic-90118).

   ![Настройка метки качества](https://docs.owen.ru/book_img/1826/135095.png)

   *Настройка метки качества*

5. Для передачи состояния **SPS** добавить его в набор данных (отчет) **DataSet**.

   Пример настройки отчета см. в [разделе](#topic-90125).

<a id="topic-90124"></a>

#### Настройка пользовательского логического узла

Для создания пользовательского логического узла внутри логического устройства следует:

1. Добавить внутрь **Device0** логический узел, копируя шаблон библиотеки **LogicalNode**. Назначить имя **LN** – **MYLN**.

2. Скопировать в **MYLN** объект данных: шаблон **DataObject** из раздела <b>*Объекты данных*</b>. Назначить имя **DO** – **MYDO**.

3. Скопировать в **MYDO** целочисленный атрибут данных: шаблон **DataAttribute (INT32)** из раздела **Атрибуты данных**. Назначить имя **DA** – **MYDA**.

   ![Узел MYLN в дереве проекта](https://docs.owen.ru/book_img/1826/135094.png)

   *Узел MYLN в дереве проекта*

4. Для созданного объекта данных необходимо применять сервисы протокола чтения и записи. Для этого связать атрибут **MYDA** с входом и выходом блока **TransInt32** из библиотеки **paCore**.

   > **Примечание.** В данном случае связь с блоком <b>*TransInt32*</b> используется для демонстрации. Такую связь можно организовывать, например, с блоком сохранения уставок <b>*SaverEx*</b> из библиотеки <b>*paCore*</b> (см. документ [Архивирование и сохранение уставок](https://owen.ru/product/polygon/documentation)).

   ![Связь атрибута данных с Trans Int32](https://docs.owen.ru/book_img/1826/135093.png)

   *Связь атрибута данных с TransInt32*

5. Задать функциональное ограничение для атрибута **MYDA** равным **CF**, чтобы клиент мог и читать, и писать значение.

   ![Задание функционального ограничения для атрибута MYDA](https://docs.owen.ru/book_img/1826/135112.png)

   *Задание функционального ограничения для атрибута MYDA*

<a id="topic-90125"></a>

### Формирование наборов данных DS

Для настройки отправки наборов данных (отчетов) следует:

1. Добавить в узел логического устройства шаблоны **DataSet** и **ucrbDS01** из библиотеки **paIEC850**.

2. Добавить в узел **Device0** шаблон **DataSet**. Назначить имя нового набора данных – **DS0**.

3. Для управления набором данных добавить в узел логического устройства **Device0** блок управления отчетом **ucrbDS01**. В свойстве блока управления <b>*МЭК61850: название набора данных*</b> прописать имя созданного набора данных – **DS0**.

4. Добавить причины передачи отчета: по изменению данных и при общем запросе.

   ![Добавление набора данных и блока управления набором данных](https://docs.owen.ru/book_img/1826/135111.png)

   *Добавление набора данных и блока управления набором данных*

5. Добавить в раздел набора данных данные, которые необходимо передавать в отчете.

   Для этого следует перетащить необходимый объект данных в узел набора данных и в выпадающем меню выбрать **Добавить**.

6. Добавить в отчет **DS0** созданные в [разделе](#topic-90120) объекты данных **MV** и **SPS**.

   ![Добавление объектов данных в отчет](https://docs.owen.ru/book_img/1826/135110.png)

   *Добавление объектов данных в отчет*

<a id="topic-90126"></a>

### Обмен данными с клиентом IEDScout

Здесь в качестве клиента для [настроенного сервера](#topic-90119) используется программа **IEDScout**.

Для обмена данными с клиентом **IEDScout** следует:

1. Запустить программу с настроенным сервером на **ПЛК210**.

2. Запустить программу **IEDScout** и выбрать команду поиска **IED – Discover IED**.

   ![Запуск клиента IEDScout](https://docs.owen.ru/book_img/1826/135109.png)

   *Запуск клиента IEDScout*

3. В открывшемся окне ввести IP-адрес контроллера и нажать <b>*Discover*</b>.

   ![Поиск устройства 61850](https://docs.owen.ru/book_img/1826/135108.png)

   *Поиск устройства 61850*

4. Модель данных сервера отобразится в дереве программы.

   ![Модель данных устройства 61850](https://docs.owen.ru/book_img/1826/135107.png)

   *Модель данных устройства 61850*

5. Открыть настроенный отчет **DS0** в узле дерева программы <b>*Reports*</b>.

   ![Отчет DS0](https://docs.owen.ru/book_img/1826/135106.png)

   *Отчет DS0*

   Запуск отчета осуществляется через кнопку <b>*Enable*</b>.

6. В открывшемся окне можно увидеть, что в клиенте автоматически установились те условия передачи, которые были заданы в блоке управления набором данных сервера – по изменению и при общем запросе.

   Запустить отчет, нажав кнопку <b>*Enable*</b>.

   ![Окно запуска отчета](https://docs.owen.ru/book_img/1826/135105.png)

   *Окно запуска отчета*

Успешный обмен показан на рисунках ниже.

![Успешный обмен данными. Сервер](https://docs.owen.ru/book_img/1826/135104.png)

*Успешный обмен данными. Сервер*

![Успешный обмен данными. Клиент](https://docs.owen.ru/book_img/1826/135103.png)

*Успешный обмен данными. Клиент*

При изменении метки качества данные не передадутся, так как не установлено условие передачи по изменению метки качества.

Для передачи метки качества следует:

1. Отключить отчет, установить в окне <b>*Enable Report*</b> условие передачи по изменению метки качества – <b>*Quality change*</b>, запустить отчет.

   ![Передача метки качества. Сервер](https://docs.owen.ru/book_img/1826/135122.png)

   *Передача метки качества. Сервер*

   ![Передача метки качества. Клиент](https://docs.owen.ru/book_img/1826/135121.png)

   *Передача метки качества. Клиент*

2. Для передачи ТУ открыть узел **CSWI0** в дереве <b>*Data Model*</b>.

   ![Узел CSWI0](https://docs.owen.ru/book_img/1826/135120.png)

   *Узел CSWI0*

3. Для записи значения выделить объект данных **Pos** и нажать кнопку <b>*Control*</b>.

   В открывшемся окне следует ввести новое значение **Pos**. Так как выбрана модель управления с подтверждением перед записью, то следует сначала нажать <b>*Select*</b>, затем <b>*Operate*</b>.

   ![Узел CSWI0 (2)](https://docs.owen.ru/book_img/1826/135119.png)

   *Отправка команды*

4. Значение передастся на сервер.

   ![Передача телеуправления. Клиент](https://docs.owen.ru/book_img/1826/135118.png)

   *Передача телеуправления. Клиент*

   ![Передача телеуправления. Сервер](https://docs.owen.ru/book_img/1826/135117.png)

   *Передача телеуправления. Сервер*

Для логического узла **MYLN** можно использовать только сервисы чтения и записи. Узел **MYLN** находится в дереве **Data Model**.

![Узел MYLN](https://docs.owen.ru/book_img/1826/135116.png)

*Узел MYLN*

Для записи значения следует выделить атрибут данных **MYDA** и нажать кнопку <b>*Write*</b>.

В открывшемся окне ввести новое значение и нажать <b>*Write*</b>.

![Окно записи MYDA](https://docs.owen.ru/book_img/1826/135115.png)

*Окно записи MYDA*

Введенное значение будет записано.

![Запись MYDA](https://docs.owen.ru/book_img/1826/135114.png)

*Запись MYDA*

Для того, чтобы прочитать значение, нужно выделить атрибут данных **MYDA** и нажать кнопку <b>*Read*</b>.

Значение **MYDA** будет прочитано.

![Чтение MYDA](https://docs.owen.ru/book_img/1826/135113.png)

*Чтение MYDA*

![Успешная запись MYDA в сервере](https://docs.owen.ru/book_img/1826/135132.png)

*Успешная запись MYDA в сервере*

Программа **IEDScout** позволяет экспортировать конфигурацию сервера в файл с расширением **.****cid** для последующего импортирования в программе клиента (см. [раздел](#topic-90128)).

Для экспорта следует нажать кнопку <b>*Save SCL*</b>. При сохранении следует указать тип файла **\*.cid**.

![Сохранение конфигурации сервера](https://docs.owen.ru/book_img/1826/135131.png)

*Сохранение конфигурации сервера*

<a id="topic-90127"></a>

### Обмен данными с клиентом Multi-Protocol MasterOPC Server

Здесь в качестве **клиента** для [настроенного сервера](#topic-90119) используется программа [Multi-ProtocolMasterOPC Server](https://owen.ru/product/multi_protocol_masteropc_server).

Для обмена данными с **Multi-ProtocolMasterOPC Server** следует:

1. Запустить программу с настроенным сервером на ПЛК210.

2. Запустить Multi-ProtocolMasterOPC Server, добавить протокол <b>*IEC61850CLIENT*</b>, добавить в протокол устройство <b>*IEC61850CLIENT*</b>.

3. Задать IP-адрес и порт сервера в настройках узла <b>*iec61850client*</b>, включить использование атрибутов **q** и **t**.

   ![Настройка iec61850client](https://docs.owen.ru/book_img/1826/135130.png)

   *Настройка iec61850client*

4. В узле <b>*iec61850client*</b> выбрать команду <b>*Добавить – Теги протокола (импорт)*</b>.

5. В новом окне установить соединение с сервером и выбрать необходимые для импорта узлы.

   ![Импорт тегов сервера](https://docs.owen.ru/book_img/1826/135129.png)

   *Импорт тегов сервера*

6. Нажать <b>*Готово*</b>. Модель данных сервера отобразится в дереве программы.

   ![Модель данных устройства 61850 2](https://docs.owen.ru/book_img/1826/135128.png)

   *Модель данных устройства 61850*

7. Для того, чтобы посылать команду ТУ, задать для атрибута **CSWI$Pos$SBOw$ctlVal** тип доступа **только запись**.

   ![Настройка атрибута ТУ](https://docs.owen.ru/book_img/1826/135127.png)

   *Настройка атрибута ТУ*

8. Для того, чтобы читать и записывать атрибут **MYDA**, задать для него тип доступа **чтение/запись**.

   ![Настройка атрибута MYDA](https://docs.owen.ru/book_img/1826/135126.png)

   *Настройка атрибута MYDA*

9. Запустить OPC-сервер.

10. Корректная передача измеряемой величины **MV** и состояния **SPS** показана на рисунках ниже.

    ![Успешный обмен. Сервер 3](https://docs.owen.ru/book_img/1826/135125.png)

    *Успешный обмен. Сервер*

    ![Успешный обмен (MV). Клиент](https://docs.owen.ru/book_img/1826/135124.png)

    *Успешный обмен (MV). Клиент*

    ![Успешный обмен (SPS). Клиент](https://docs.owen.ru/book_img/1826/135123.png)

    *Успешный обмен (SPS). Клиент*

11. Чтобы передать команду управления, следует записать **true** в атрибут **CSWI$Pos$SBOw$ctlVal**.

    ![Команда ТУ. Клиент](https://docs.owen.ru/book_img/1826/135152.png)

    *Команда ТУ. Клиент*

    ![Команда ТУ. Сервер](https://docs.owen.ru/book_img/1826/135151.png)

    *Команда ТУ. Сервер*

12. Задать новое значение для атрибута **MYDA**.

    ![Чтение-запись MYDA. Клиент](https://docs.owen.ru/book_img/1826/135150.png)

    *Чтение/запись MYDA. Клиент*

    ![Чтение-запись MYDA. Сервер](https://docs.owen.ru/book_img/1826/135149.png)

    *Чтение/запись MYDA. Сервер*

<a id="topic-90128"></a>

## Пример настройки обмена по протоколу МЭК 61850 в режиме клиента

Данный пример доступен для скачивания на [сайте](https://owen.ru/product/polygon/documentation). Пароль для доступа к отладчику – **1**.

Для настройки обмена по протоколу **МЭК 61850 MMS** в режиме **клиента** следует:

1. Добавить на любую страницу места работы <b>*Фон*</b> блок [IEC61850cli](#topic-90115).

   ![Блок IEC61850cli 2](https://docs.owen.ru/book_img/1826/135148.png)

   *Блок IEC61850cli*

2. Для функционирования протокола импортировать абстрактную модель данных сервера в узел блока <b>*IEC61850cli*</b> в дереве проекта.

   Для этого нужно нажать правой кнопкой мыши на экземпляр блока <b>*IEC61850cli*</b> в дереве проекта и в выпадающем меню выбрать команду <b>*Импорт*</b>.

   ![Импорт конфигурации сервера](https://docs.owen.ru/book_img/1826/135147.png)

   *Импорт конфигурации сервера*

3. В появившемся окне выбрать необходимый файл с расширением **\*.cid**.

   ![Файл .cid](https://docs.owen.ru/book_img/1826/135146.png)

   *Файл \*.cid*

4. В качестве сервера здесь используется ПЛК210, настроенный в [разделе](#topic-90119). Необходимо импортировать его конфигурацию (пример сохранения конфигурации сервера описан в [разделе](#topic-90126)).

   Модель данных сервера отобразится в дереве проекта.

   ![Успешный импорт конфигурации сервера](https://docs.owen.ru/book_img/1826/135145.png)

   *Успешный импорт конфигурации сервера*

5. В узле **IED01** задать IP-адрес и порт сервера.

   ![Настройка IED01](https://docs.owen.ru/book_img/1826/135144.png)

   *Настройка IED01*

6. В узле управления отчетом **urcbDS01** установить свойство <b>*МЭК61850: включить отчет*</b>.

   Установленные ранее условия передачи отчета также активировались. Здесь можно добавить другие причины или убрать установленные.

   ![Настройка IED01 (2)](https://docs.owen.ru/book_img/1826/135143.png)

   *Настройка IED01*

7. Для получения данных протокола в проекте следует связать его атрибуты с входами/выходами блоков в проекте.

   Для передачи контролируемых объектов используется вспомогательный блок [IEC61850CmdCSWI](#topic-90117). Для его подключения следует добавить блоку <b>*IEC61850cli*</b> коннектор **bo**.

   ![Подключение блока IEC61850Cmd CSWI](https://docs.owen.ru/book_img/1826/135162.png)

   *Подключение блока IEC61850CmdCSWI*

8. Для того, чтобы указать, к какому объекту данных относится данный блок выполнения команды, следует найти в дереве проекта в узле **CSWI0** атрибут **IED01Device0/CSWI0.Pos**. Зажать **Ctrl** и перетащить на атрибут выход блока **ref**. В появившемся меню выбрать команду **Назначить**.

   ![Подключение ОД к IEC61850Cmd CSWI](https://docs.owen.ru/book_img/1826/135161.png)

   *Подключение DO к IEC61850CmdCSWI*

9. Чтобы получать в программе значение измеряемой величины, нужно создать блок **TransFlt** из библиотеки **paCore**.

   > **Примечание.** Если необходимо получать объекты данных с отчетом, то связывать с блоками в программе следует именно объекты данных в отчете (в примере в узле **DS0**). Если необходимо периодически считывать данные и производить запись по изменению, то блоки программы следует соединять с объектами в дереве модели данных.

10. С помощью команды **Назначить** связать атрибут **IED01Device0/MVLN0.MV.mag.f** с входом блока **TransFlt**. Аналогично связать вход блока **TransBit** из библиотеки **paCore** c атрибутом **IED01Device0/SPSLN0.SPS.stVal**.

    ![Подключение данных отчета к блокам в проекте](https://docs.owen.ru/book_img/1826/135160.png)

    *Подключение данных отчета к блокам в проекте*

11. Для расшифровки метки качества использовать вспомогательный блок [IEC61850TransQuality](#topic-90118).

    ![Подключение метки качества к IEC61850Trans Quality](https://docs.owen.ru/book_img/1826/135159.png)

    *Подключение метки качества к IEC61850TransQuality*

12. Для чтения/записи атрибута данных **MYDA** нужно подключить его к блоку <b>*TransInt32*</b> из библиотеки <b>*paCore*</b>, как показано на рисунке ниже.

    ![Подключение MYDA к Trans Int32](https://docs.owen.ru/book_img/1826/135158.png)

    *Подключение клиента к серверу*

13. Запустить проекты на обоих контроллерах.

    Если подключение к серверу **IED01** прошло успешно, то на выходе **dsts** блока **IEC61850cli** появится **1**.

    ![Подключение MYDA к Trans Int32 (2)](https://docs.owen.ru/book_img/1826/135157.png)

    *Подключение MYDA к TransInt32*

Успешная передача отчета показана на рисунках ниже.

![Успешный обмен. Сервер 4](https://docs.owen.ru/book_img/1826/135156.png)

*Успешный обмен. Сервер*

![Успешный обмен. Клиент 4](https://docs.owen.ru/book_img/1826/135155.png)

*Успешный обмен. Клиент*

Для отправки команды **CSWI** следует подать **1** на вход **in** блока <b>*IEC*</b><b>*61850*</b><b>*CmdCSWI*</b>, затем подать **1** на вход **select**, так как в сервере настроена модель управления с предварительных выбором, и затем подать **1** на вход **execute**.

![Команда ТУ. Клиент (2)](https://docs.owen.ru/book_img/1826/135154.png)

*Команда ТУ. Клиент*

![Команда ТУ. Сервер (2)](https://docs.owen.ru/book_img/1826/135153.png)

*Команда ТУ. Сервер*

Затем можно установить новое значение **MYDA**.

Частота чтения объектов данных задается свойством <b>*МЭК61850: Период опроса входов*</b> узла **IED****01**.

Запись происходит по изменению значения.

![Изменение атрибута MYDA. Клиент](https://docs.owen.ru/book_img/1826/135172.png)

*Изменение атрибута MYDA. Клиент*

![Изменение атрибута MYDA. Сервер](https://docs.owen.ru/book_img/1826/135171.png)

*Изменение атрибута MYDA. Сервер*

<a id="topic-90129"></a>

## Диагностика обмена

<a id="topic-90130"></a>

### Диагностика обмена сервера IEC61850srv

Для получения диагностических сообщений сервера [IEC61850srv](#topic-90113) следует запустить программу через консоль.

Типы выводимых диагностических сообщений задаются **битами 8…15** на входе **ctl**.

**Бит 8** отвечает за сообщения высокого приоритета (например, ошибка подключения к устройству), а **бит 15** за сообщения низкого приоритета (например, содержание буферов приема/передачи).

Для включения вывода всех сообщений следует подать на вход **0****xFF****00**.

![Включение вывода всех диагностических сообщений сервера](https://docs.owen.ru/book_img/1826/135170.png)

*Включение вывода всех диагностических сообщений сервера*

![Вывод диагностических сообщений в консоль IEC61850srv](https://docs.owen.ru/book_img/1826/135169.png)

*Вывод диагностических сообщений в консоль IEC61850srv*

> [!NOTE]
> **Примечание.** Если на входе **ctl** блока **IEC61850srv** задать **0**, то в консоль будут выводиться диагностические сообщения с типом **1**.

<a id="topic-90131"></a>

### Диагностика обмена клиента IEC61850cli

Для того, чтобы получать диагностические сообщения [IEC61850cli](#topic-90115), следует запустить программу через консоль.

Типы выводимых диагностических сообщений задаются **битами 8…15** на входе **ctl**.

**Бит 8** отвечает за сообщения высокого приоритета (например, ошибка подключения к устройству), а **бит 15** за сообщения низкого приоритета (например, содержание буферов приема/передачи).

Таким образом, включается вывод диагностических сообщений самого клиента <b>*IEC61850cli*</b>.

![Включение вывода всех диагностических сообщений клиента](https://docs.owen.ru/book_img/1826/135168.png)

*Включение вывода всех диагностических сообщений клиента*

Чтобы включить диагностику для каждого подключенного сервера **IED**, следует выполнить действия:

1. Добавить и установить в корневом узле **IED** свойство <b>*Переменные*</b>.

   ![Узел IED. Свойство переменные](https://docs.owen.ru/book_img/1826/135167.png)

   *Узел IED. Свойство переменные*

2. В появившийся раздел **выходы** добавить выход блока <b>*TransUInt32*</b> из библиотеки <b>*paCore*</b>. Для этого следует перетащить выход блока с зажатым **Ctrl** на узел **IED** и в выпадающем меню выбрать <b>*Добавить*</b>.

   ![Узел IED. Добавление выхода Trans UInt32](https://docs.owen.ru/book_img/1826/135166.png)

   *Узел IED. Добавление выхода TransUInt32*

3. Добавить выходу <b>*TransUInt32*</b> свойство <b>*Полный алиас*</b> со значением <b>*Control*</b>.

   ![Свойство Полный алиас выхода Trans UInt32](https://docs.owen.ru/book_img/1826/135165.png)

   *Свойство Полный алиас выхода TransUInt32*

   Если задать **1** на входе **TransUInt32**, в консоль будут выводиться сообщения для данного устройства **61850**.

![Вывод диагностических сообщений в консоль IEC61850cli](https://docs.owen.ru/book_img/1826/135164.png)

*Вывод диагностических сообщений в консоль IEC61850cli*

> [!NOTE]
> **Примечание.** Если задать **0** на входе **ctl** блока **IEC61850cli**, то в консоль будут выводиться диагностические сообщения с типом **1**.

<a id="topic-90132"></a>

## Поддерживаемые сервисы ACSI

**Поддерживаемые сервисы ACSI**

**Модель SERVER (сервер)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetServerDirectory | Да |

**Модель ASSOCIATION (ассоциация)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| Associate | Да |
| Abort | Да |
| Release | Да |

**Модель LOGICAL-DEVICE (логическое устройство)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetLogicalDeviceDirectory | Да |

**Модель LOGICAL-NODE (логический узел)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetLogicalNodeDirectory | Да |
| GetAIIDataValues | Да |

**Модель DATA (данные)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetDataValues | Да |
| SetDataValues | Да |
| GetDataDefinition | Да |
| GetDataDirectory | Да |

**Модель DATA-SET (набор данных)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetDataSetValues | Да |
| SetDataSetValues | Да |
| CreateDataSet | Нет |
| DeleteDataSet | Нет |
| GetDataSetDirectory | Да |

**Модель подстановки**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SetDataValues | Да |
| GetDataValues | Да |

**Модель SETTING-GROUP-CONTROL-BLOCK (блок управления группой настроек)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SelectActiveSG | Нет |
| SelectEditSG | Нет |
| SetSGValues | Нет |
| ConfirmEditSGValues | Нет |
| GetSGValues | Нет |
| GetSGCBValues | Нет |

**Модель REPORT-CONTROL-BLOCK (блок управления генерацией отчетов) и модель LOG-CONTROL-BLOCK (блок управления журналом)**

**BUFFERED-REPORT-CONTROL-BLOCK (блок управления буферированным отчетом)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| Report | Да |
| GetBRCBValues | Да |
| SetBRCBValues | Да |

**UNBUFFERED-REPORT-CONTROL-BLOCK (блок управления небуферированнным отчетом)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| Report | Да |
| GetURCBValues | Да |
| SetURCBValues | Да |

**LOG-CONTROL-BLOCK (блок управления журналом)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetLCBValues | Нет |
| SetLCBValues | Нет |
| QueryLogByTime | Нет |
| QueryLogAfter | Нет |
| GetLogStatusValues | Нет |

**Модель общих событий подстанции – GSE**

**GOOSE**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SendGOOSEMessage | Нет |
| GetGoReference | Нет |
| GetGOOSEElementNumber | Нет |
| GetGoCBValues | Нет |
| SetGoCBValues | Нет |

**GSSE**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SendGSSEMessage | Нет |
| GetGsReference | Нет |
| GetGSSEDataOffset | Нет |
| GetGsCBValues | Нет |
| SetGsCBValues | Нет |

**Модель передачи выборочных значений**

**MULTICAST-SAMPLE-VALUE-CONTROL-BLOCK (блок управления многоадресным выборочным значением)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SendMSVMessage | Нет |
| GetMSVCBValues | Нет |
| SetMSVCBValues | Нет |

**UNICAST-SAMPLED-VALUE-CONTROL-BLOCK (6noк управления одноадресным выборочным значением)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| SendUSVMessage | Нет |
| GetUSVCBValues | Нет |
| SetUSVCBValues | Нет |

**Модель управления**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| Select | Да |
| SelectWithValue | Да |
| Cancel | Да |
| Operate | Да |
| CommandTermination | Да |
| TimeActivatedOperate | Нет |

**Время и временная синхронизация**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| TimeSynchronization | Да |

**Модель передачи FILE (файла)**

| Сервис | Поддержка в paIEC850 |
| --- | --- |
| GetFile | Нет |
| SetFile | Нет |
| DeleteFile | Нет |
| GetFileAttributeValues | Нет |

<a id="topic-90133"></a>

## Функциональные ограничения (Functional Constraints)

**Функциональные ограничения (Functional Constraints)**

| Обозначение | Название | Разрешенные сервисы протокола |
| --- | --- | --- |
| ST | Информация о состоянии | Атрибут данных **DA** должен предоставлять информацию о состоянии в значениях, которые могут быть считаны, включены в отчет, но не могут быть записаны |
| MX | Измеряемая величина | Атрибут данных **DA** должен предоставлять информацию об измеряемой величине, значение которой может быть считано, включено в отчет, но не может быть записано |
| CO | Управление | Атрибут данных **DA** должен предоставлять информацию управления, значением которой можно оперировать (модель управления) и которое можно считывать |
| SP | Уставка | Атрибут данных **DA** должен предоставлять информацию уставки, значением которой можно управлять (модель управления) и которое можно считывать |
| SV | Подстановка | Атрибут данных **DA** должен предоставлять информацию подстановки, значение которой можно записывать и считывать |
| CF | Конфигурация | Атрибут данных **DA** должен предоставлять информацию конфигурации, значение которой можно записывать и считывать |
| DC | Описание | Атрибут данных **DA** должен предоставлять информацию описания, значение которой можно записывать и считывать |
| SG | Группа настроек | Логические устройства, реализующие класс **SGCB**, поддерживают сгруппированное множество значений атрибутов **DA** с **FC = SG**, и только одно текущее значение в каждой группе для каждого атрибута должно быть активным |
| SE | Редактируемая группа настроек | Атрибут данных **DA**, который может быть изменен сервисами **SGCB** |
| EX | Расширенное определение | Атрибут данных **DA** должен предоставлять информацию по расширению, обеспечивающую ссылку на пространство имен |
