IEC 60870-5 (IEC 60870-5)
Стандарт IEC 60870-5 определяет набор протоколов для контроля и управления (SCADA) в электротехнике и автоматизации систем электроснабжения. Он определяет формат обмена сообщениями между двумя системами по постоянной, непосредственно подключенной цепи передачи данных. Стандарт разработан рабочей группой 3 технического комитета 57 МЭК для телеуправления, телезащиты и сопутствующей телекоммуникации в электрических сетях.
Существует идентичный ему российский стандарт ГОСТ Р МЭК 60870-5 «УСТРОЙСТВА И СИСТЕМЫ ТЕЛЕМЕХАНИКИ. Часть 5. Протоколы передачи.».
Изначально вся группа стандартов именовалась IEC 870. Позже к нему добавили префикс 60 и получился IEC 60870. Часть документов ГОСТ также имеет старый индекс ГОСТ Р МЭК 870.
Стандарт состоит из ряда документов, разбитых на две группы. Первая группа документов именуется базовыми стандартами и определяет набор протоколов. Вторая группа называется обобщающими стандартами (англ. companion standard) и проясняет взаимоотношения между базовыми стандартами при построении конкретного протокола для конкретной сферы применения.
Группа базовых документов
[править | править код]Взаимосвязь группы базовых документов с точки зрения сетевой модели OSI показана в таблице.
Процесс пользователя | Прикладные функции по IEC 60870-5-5 |
Прикладной уровень | Прикладные элементы информации по IEC 60870-5-4 |
Блоки данных прикладного уровня по IEC 60870-5-3 | |
Канальный уровень | Процедуры передачи по каналу по IEC 60870-5-2 |
Форматы кадра передачи по IEC 60870-5-1 | |
Физический уровень | RS-232 (ITU-T V.24 и V.28) |
IEC 60870-5-1
[править | править код]IEC 60870-5-1 «Transmission frame formats».
ГОСТ Р МЭК 870-5-1 «Форматы передаваемых кадров».
Стандарт определяет различные форматы кадров для данных. В частности, FT1.2 c фиксированным и переменным числом пользовательских данных.
Начало (0x10) |
Данные фиксированной длины |
Контрольная сумма (КС) |
Конец (0x16) |
Начало (0x68) |
Длина пакета |
Длина пакета (повтор) |
Повтор байта начала (0x68) |
Данные определенной выше длины |
Контрольная сумма (КС) |
Конец (0x16) |
Контрольная сумма = арифметическая сумма по модулю 256 всех пользовательских данных.
IEC 60870-5-2
[править | править код]IEC 60870-5-2 «Link transmission procedures».
ГОСТ Р МЭК 870-5-2 «Процедуры в каналах передачи».
Стандарт детерминирует диаграмму состояний узлов канала связи и переходы между ними по событиям в канале. Под событиями понимается передача или прием различных кадров, ошибки приема/передачи и т.п. Также на этом уровне осуществляется контроль целостности и последовательности кадров и данных, контроль потока, отсчет таймаутов.
В частности, уточняет структуру пользовательских данных:
Начало кадра (см. IEC 60870-5-1) |
Байт управления |
Поле адреса |
ASDU (только для кадров переменной длины) |
Конец кадра (см. IEC 60870-5-1) |
Байт управления
[править | править код]DIR | PRM=1 | FCB | FCV | Функциональный код |
PRM=0 | ACD | DFC |
Где:
DIR - физическое направление (только для балансной передачи): 1 - от A к B, 0 - от B к A;
PRM - 1 - сообщение от первичной станции, 0 - сообщение от вторичной станции;
FCB (Frame Count Bit) - бит счетчика кадров, передаваемых первичной станцией, служит для защиты от потери и дублирования кадров при искажениях в канале связи;
При передаче каждого нового сообщения в режиме S2 SEND/CONFIRM или S3 REQUEST/RESPOND тому же адресату (вторичной станции) значение бита FCB изменяется на обратное (кадры нумеруются по модулю 2). Повторная передача кадра с тем же значением FCB производится в двух случаях: когда ответный кадр от вторичной станции бракуется и когда ответ отсутствует в течение установленного тайм-аута.
FCV - бит, указывающий актуальность функции бита FCB:
1 - изменение бита FCB актуально и должно контролироваться при приеме,
0 - изменение бита FCB (по сравнению с предыдущим кадром) не должно контролироваться при приеме, но значение FCB должно запоминаться для контроля изменения при приеме следующего кадра с FCV=1;
ACD - 1 - наличие на вторичной станции высокоприоритетной информации - класса 1 (режим S3 ЗАПРОС/ОТВЕТ);
DFC - управление потоком данных: 1 - дальнейшие сообщения могут вызвать переполнение каких-либо буферов памяти.
Функц. код | Тип кадра | Функция | FCV | |
U* | B* | |||
0 | Посылка с ожиданием | Сброс удаленного канала | 0 | 0 |
1 | Посылка с ожиданием | Сброс процесса пользователя | 0 | 0 |
2 | Посылка с ожиданием | Тестирование канала | - | 1 |
3 | Посылка с ожиданием | Пользовательские данные | 1 | 1 |
4 | Посылка без ожидания | Пользовательские данные | 0 | 0 |
5 | Резерв | - | - | |
6 | Использование по соглашению | - | - | |
7 | Посылка без ожидания | Сброс FCB в 0 (Только для МЭК 60870-5-103) | 0 | 0 |
8 | Запрос доступа | Запрос о наличии данных на вторичной станции | 0 | - |
9 | Запрос с ожиданием | Запрос статуса канального уровня | 0 | 0 |
10 | Запрос с ожиданием | Запрос данных класса 1 | 1 | - |
11 | Запрос с ожиданием | Запрос данных класса 2 | 1 | - |
12, 13 | Резерв | - | - | |
14, 15 | Использование по соглашению | - | - | |
*U - небалансная передача, B - балансная передача. |
Функц. код | Тип кадра | Функция | FCV | |
U* | B* | |||
0 | Подтверждение | Положительная квитанция | + | + |
1 | Подтверждение | Отрицательная квитанция | + | + |
2-5 | Резерв | - | - | |
6 | Использование по соглашению | - | - | |
7 | Ответ | Конец последовательности блоков | + | + |
8 | Ответ | Пользовательские данные | + | - |
9 | Ответ | Запрошенные данные недоступны | + | - |
10 | Резерв | - | - | |
11 | Ответ | Статус канального уровня | + | + |
12 | Резерв | - | ||
13 | Использование по соглашению | - | ||
14 | Канальный сервис не работает | |||
15 | Канальный сервис отсутствует | |||
*U - небалансная передача, B - балансная передача. |
Поле адреса
[править | править код]Поле адреса определяет адрес контролируемой станции. Может быть разной длины (обычно 1 или 2 байта). В балансном режиме данное поле имеет нулевую длину (направление определяется битом DIR.
IEC 60870-5-3
[править | править код]IEC 60870-5-3 «General structure of application data».
ГОСТ Р МЭК 870-5-3 «Общая структура данных пользователя».
IEC 60870-5-4
[править | править код]IEC 60870-5-4 «Definition and coding of application information elements».
ГОСТ Р МЭК 870-5-4 «Определение и кодирование элементов пользовательской информации».
IEC 60870-5-5
[править | править код]IEC 60870-5-5 «Basic application on functions».
ГОСТ Р МЭК 870-5-5 «Основные прикладные функции».
Группа обобщающих документов
[править | править код]Обобщающий стандарт (англ. companion standard) проясняет взаимоотношения между базовыми стандартами при их совместном использовании в определенной области. Представляет собой выборку из излишне универсальных базовых документов и других стандартов.
IEC 60870-5-101
[править | править код]IEC 60870-5-101 «Companion standard for basic telecontrol tasks».
ГОСТ Р МЭК 60870-5-101 «Обобщающий стандарт по основным функциям телемеханики».
Физический уровень
[править | править код]Используется асинхронный интерфейс (UART) с 1 стопбитом, 1 битом четности и 8 битами данных. Регламентирован стандартный ряд скоростей от 300 до 9600 бод. Стандарт допускает использование других интерфейсов в специализированных применениях.
Обязательно правило передачи R3 IEC 60870-5-1, которое определяет, что между символами одного кадра не допускаются паузы более чем длительность одного бита. Тем не менее стандарт не требует контроля длительности пауз.
Формат кадров
[править | править код]Стандарт допускает исключительно формат кадра FT1.2 согласно IEC 60870-5-1. Допускается три вида кадров: с переменной длиной блока; с фиксированной длиной блока; одиночного байта. Кадр с переменной длиной блока используется для передачи данных (ASDU). Кадр с фиксированной длиной блока используется для передачи команд. Одиночный байт используется для подтверждений обмена.
В таблице ниже приведен формат кадра с переменной длиной блока. Поля между Start Frame и Stop Frame называются блоком данных прикладного уровня (ASDU, англ. application specific data unit). В протоколе IEC 60870-5-104 этот блок имеет аналогичный формат.
Формат кадра с переменной длиной блока | ||||
---|---|---|---|---|
Data unit | Имя (длина, байт, если более 1) | Function | ||
Start Frame | Start Character | |||
Length Field (*2) | Total length of Frame | |||
Start Character (повтор) | ||||
Control Field | Indicates control functions like message direction | |||
Link Address (0, 1 или 2) | Сетевой адрес | |||
ASDU Identifier | Type Identifier | Все данные в одном ASDU имеют одинаковую структуру и тип. Значения 1..127 стандартизованы, остальные могут назначаться разработчиком прибора. | ||
Variable Structure Qualifier | Indicates whether type contains multiple information objects or not | |||
COT (1 or 2) | Причина передачи | |||
ASDU Address (1 or 2) | Denotes separate segments and its address inside a device | |||
Данные-1 | Information Object Address (1, 2 или 3) | Идентификатор данных | ||
Information Elements (n) | Данные | |||
Метка времени (0, 3 или 7) | Данные могут снабжаться стандартной меткой времени длиной 3 или 7 байт в размерности миллисекунд | |||
Данные-2 | ----- | |||
----- | ----- | |||
Данные-m | ----- | |||
Stop Frame | Checksum | Used for Error checks | ||
Stop Char | Indicates end of a frame |
IEC 60870-5-102
[править | править код]IEC 60870-5-102 «Companion standard for the transmission of integrated totals in electric power systems».
ГОСТ Р МЭК 60870-5-102 «Обобщающий стандарт по передаче интегральных параметров в энергосистемах».
IEC 60870-5-103
[править | править код]IEC 60870-5-103 «Companion standard for the informative interface of protection equipment».
ГОСТ Р МЭК 60870-5-103 «Обобщающий стандарт по информационному интерфейсу для аппаратуры релейной защиты».
IEC 60870-5-104
[править | править код]IEC 60870-5-104 «Network access for IEC 60870-5-101 using standard transport profiles».
ГОСТ Р МЭК 60870-5-104 «Доступ к сети для ГОСТ Р МЭК 870-5-101 с использованием стандартных транспортных профилей».
Документ формализует инкапсуляцию блока ASDU из документа 60870-5-101 в стандартные сети TCP/IP. Поддерживается как Ethernet так и модемное соединение с использованием протокола PPP. Криптографическая безопасность данных формализована в стандарте IEC 62351[англ.]. Стандартный порт TCP 2404.
См. также
[править | править код]Примечания
[править | править код]Ссылки
[править | править код]- Основные положения базовых стандартов ГОСТ Р МЭК на устройства и системы телемеханики. Вулис А., Сумительнов В. Часть 1 и часть 2.
- OpenSCADA. Подсистема «Сбор данных (DAQ)» – KA ProtocolFT3 (АПСТМ)
- Описание протокола МЭК 60870-5-101 для чайников
- Github - IEC 60870-5-101 Server Client Simulator, Windows Linux Implementation
- IEC 60870-5-104 Server Client Simulator, Windows Linux Implementation - Github
- Некоторые особенности реализации стандарта IEC-60870-5-104
В статье не хватает ссылок на источники (см. рекомендации по поиску). |