IEC 60870-5-104: TCP/IP протокол за телемеханика в енергетиката

IEC 60870-5-104 пренася телемеханичните данни по TCP/IP — сигнализация, измервания, команди и часова синхронизация между RTU/подстанции и диспечерски центрове. Статията разглежда архитектурата, структурата на кадрите, типовете информационни обекти, режимите на предаване, резервирането и мерките за сигурност.

Какво е IEC 60870-5-104

IEC 60870-5-104 (накратко IEC 104) е комуникационен протокол за телемеханика, който пренася данни за наблюдение и управление на електроенергийни системи по TCP/IP мрежи. Той е мрежовото продължение на серийния IEC 60870-5-101: същият приложен слой, но вместо по сериен канал, съобщенията се пренасят по Ethernet и интернет протоколи. Стандартът е публикуван от IEC и е широко разпространен в Европа, Азия и Близкия изток за връзка между RTU (Remote Terminal Unit) в подстанции, концентратори на данни и диспечерски центрове (SCADA/EMS).

Мястото на IEC 104 в семейството IEC 60870-5

СтандартТранспортПредназначение
IEC 60870-5-101Сериен (RS-232/485), балансиран или небалансиранТелемеханика по сериен канал; източник на приложния слой, който IEC 104 наследява
IEC 60870-5-102СериенОтчитане на електромери и профили на товара
IEC 60870-5-103СериенЗащитни релета: събития, настройки, осцилограми
IEC 60870-5-104TCP/IP (порт 2404)Същият приложен слой като 101, но по мрежа

IEC 104 не замества напълно 101: серийната версия остава жива в стари подстанции и по радиоканали с ниска скорост. В нови проекти обаче IEC 104 е стандартният избор.

Архитектура

Протоколът работи в модел клиент–сървър с две роли:

  • Controlling station (клиент, master) — диспечерският център или SCADA сървърът. Отваря TCP връзката, изпраща заявки за данни и команди за управление.
  • Controlled station (сървър, slave) — RTU, шлюзът на подстанцията или концентраторът на данни. Слуша на порт TCP 2404, приема връзки и изпраща спонтанни данни и отговори.

Една controlling station може да поддържа връзки към много controlled stations. Обратното също е възможно: един RTU може да обслужва няколко master-а (например основен и резервен диспечерски център).

Транспортен слой

IEC 104 ползва TCP, обикновено на порт 2404. Самият TCP осигурява надеждна доставка и поредност на пакетите. Върху TCP протоколът добавя собствен механизъм за контрол на потока и потвърждаване на съобщенията (чрез номера за изпращане и приемане), за да може приложният слой да проследи кои съобщения са обработени от другата страна.

Структура на APDU

Всяко съобщение се нарича APDU (Application Protocol Data Unit) и се състои от две части:

  • APCI (Application Protocol Control Information) — заглавка от 6 байта: стартов байт (0x68), дължина и четири контролни байта.
  • ASDU (Application Service Data Unit) — полезният товар с телемеханичните данни. Присъства само в I-кадрите.

Видове кадри

ТипПредназначениеСъдържание
I-кадър (Information)Пренася данниAPCI + ASDU; носи номер за изпращане (SSN) и номер за приемане (RSN)
S-кадър (Supervisory)Потвърждава получени I-кадриСамо APCI с RSN; не носи данни
U-кадър (Unnumbered)Управление на връзкатаSTARTDT (активиране на предаването), STOPDT (спиране), TESTFR (тест на връзката)

Номерата SSN и RSN са 15-битови (0–32767). Когато получателят не потвърди навреме (параметри t1, t2, t3, k, w), връзката се счита за повредена и се затваря.

Параметри на контрола на потока

ПараметърФункцияТипична стойност
t1Таймаут за потвърждение на I-кадър15 s
t2Максимално време преди изпращане на S-кадър10 s
t3Интервал за TESTFR при неактивност20 s
kМаксимален брой непотвърдени I-кадри (прозорец)12
wБрой приети I-кадри преди изпращане на S-кадър8

Структура на ASDU

ASDU съдържа:

  • Type ID (1 байт) — тип на информационния обект (например единична сигнализация, измерена стойност, команда).
  • Variable Structure Qualifier (VSQ) — брой обекти и дали адресите са последователни.
  • Cause of Transmission (COT) (1 или 2 байта) — причина за предаването (спонтанно, по заявка, активация, потвърждение и др.).
  • Common Address of ASDU (CA) (1 или 2 байта) — адрес на станцията.
  • Информационни обекти — всеки с IOA (Information Object Address, 3 байта) и стойност, евентуално с времеви печат.

Типове информационни обекти

Стандартът дефинира десетки типове. Най-важните в практиката:

Наблюдение (посока: controlled → controlling)

Type IDОписание
M_SP_NA_1 (1)Единична сигнализация без времеви печат
M_SP_TB_1 (30)Единична сигнализация с CP56Time2a
M_DP_NA_1 (3)Двойна сигнализация без печат
M_DP_TB_1 (31)Двойна сигнализация с печат
M_ME_NA_1 (9)Нормализирана измерена стойност (–1…+1)
M_ME_NB_1 (11)Скалирана измерена стойност (цяло число)
M_ME_NC_1 (13)Измерена стойност с плаваща запетая (short float)
M_ME_TF_1 (36)Short float с CP56Time2a
M_IT_NA_1 (15)Интегрален брояч (енергия)
M_IT_TB_1 (37)Интегрален брояч с печат

Управление (посока: controlling → controlled)

Type IDОписание
C_SC_NA_1 (45)Единична команда
C_DC_NA_1 (46)Двойна команда
C_SE_NA_1 (48)Задаване на нормализирана стойност (setpoint)
C_SE_NB_1 (49)Задаване на скалирана стойност
C_SE_NC_1 (50)Задаване на стойност с плаваща запетая

Системни

Type IDОписание
C_IC_NA_1 (100)Обща заявка за данни (General Interrogation)
C_CI_NA_1 (101)Заявка за броячи (Counter Interrogation)
C_CS_NA_1 (103)Часова синхронизация

Причини за предаване (Cause of Transmission)

COTЗначение
1Периодична
2Фонова (background scan)
3Спонтанна
5По заявка (requested)
6Активация
7Потвърждение на активация
8Деактивация
9Потвърждение на деактивация
10Край на активация
20Отговор на обща заявка (station interrogation)
37Отговор на заявка за броячи

Режими на предаване

  • Спонтанно предаване — controlled station изпраща данни при промяна на стойност или при пресичане на мъртва зона (deadband). Това е основният режим и генерира най-малко трафик.
  • General Interrogation (GI) — master-ът поисква пълен снимък на всички сигнализации и измервания. Изпълнява се при стартиране и след прекъсване на връзката.
  • Counter Interrogation (CI) — заявка за текущите стойности на всички броячи.
  • Часова синхронизация — master-ът изпраща C_CS_NA_1 с текущото време. В по-нови системи синхронизацията се прави чрез NTP или PTP, а C_CS се ползва само за проверка.
  • Команди — select-before-operate (SBO) или direct execute. SBO е по-безопасен: master-ът първо избира обекта, RTU потвърждава, и чак тогава master-ът изпраща изпълнение.

Качествени флагове

Всеки информационен обект носи качествени битове:

  • IV (Invalid) — стойността не е валидна.
  • NT (Not Topical) — стойността не е актуална (загубена връзка към сензора).
  • SB (Substituted) — стойността е заменена ръчно от оператор.
  • BL (Blocked) — обектът е блокиран за промяна.
  • OV (Overflow) — стойността е извън обхвата на измерването.

SCADA системата показва тези флагове на оператора, обикновено с цветно кодиране.

Времеви печати

IEC 104 ползва формат CP56Time2a — 7 байта, съдържащи милисекунди, минути, часове, ден, месец и година. Времето е на контролираната станция и се допълва от SCADA с часа на получаване. Точността зависи от синхронизацията на RTU-то: при NTP е типично 1–10 ms, при PTP под 1 ms, а при C_CS — десетки милисекунди.

Резервиране (Redundancy)

IEC 104 поддържа множество TCP връзки между една двойка станции. Стандартът дефинира група от връзки (redundancy group) с роли:

  • Само една връзка в групата е активна (предава ASDU).
  • Останалите са в режим standby (STARTDT не е изпратен; поддържат се с TESTFR).
  • При повреда master-ът активира резервна връзка с STARTDT act и изпълнява GI за актуализиране на данните.

Практически в повечето проекти се ползват два IP маршрута (например по две различни оптични трасета) и два TCP сокета, като master-ът превключва автоматично.

Сигурност

Оригиналният стандарт не предвижда криптиране или удостоверяване. Всяко устройство, което отвори TCP към порт 2404, може да подаде команда. Това е приемливо в затворени технологични мрежи, но е рисковано при свързване с WAN.

IEC 62351 добавя мерки за сигурност:

  • IEC 62351-3 — TLS върху TCP за криптиране и удостоверяване с цифрови сертификати.
  • IEC 62351-5 — удостоверяване на ASDU съобщения с HMAC (без криптиране на целия канал).
  • IEC 62351-7 — мониторинг на мрежовата сигурност.

В практиката най-често защитата се осигурява чрез VPN, firewall и VLAN сегментиране, тъй като много от съществуващите RTU-та нямат поддръжка на TLS.

IEC 104 спрямо други протоколи

ПротоколТранспортМоделОсновна област
IEC 60870-5-101СериенMaster–slaveТелемеханика по сериен/радиоканал
IEC 60870-5-104TCP/IPКлиент–сървърТелемеханика по IP мрежи
DNP3Сериен или TCPMaster–slave (unsolicited)Енергетика в Северна Америка
IEC 61850 (MMS)Ethernet/TCPКлиент–сървър, GOOSE, SVВътрешна комуникация в цифрови подстанции
Modbus TCPTCP/IPКлиент–сървърИзмервателни уреди, инвертори; липсва времеви печат

IEC 104 е протоколът за вертикална комуникация (подстанция ↔ диспечерски център), а IEC 61850 — за хоризонтална (вътре в подстанцията). В много проекти те работят заедно: RTU или шлюзът в подстанцията събира данни по IEC 61850 (или по Modbus от по-прости уреди) и ги препредава по IEC 104 към SCADA.

Типично приложение

  1. Релейните защити и измервателните устройства в подстанцията са свързани към RTU или шлюз по IEC 61850, Modbus или по директни входове/изходи.
  2. RTU-то поддържа IEC 104 server. При промяна на стойност или състояние изпраща спонтанен I-кадър.
  3. Диспечерският център (SCADA) поддържа IEC 104 client, приема данните, показва ги на операторите и записва в историческа база.
  4. Операторът подава команда (включване/изключване на прекъсвач) — SCADA я изпраща като C_DC_NA_1 с SBO цикъл.
  5. При загуба на връзката SCADA превключва на резервна TCP сесия и изпълнява GI.

Въвеждане в експлоатация

  • Дефиниране на точковата таблица (signal list): IOA, тип на обекта, описание, скала, мъртва зона.
  • Настройка на мрежови параметри: IP адреси, порт, CA (Common Address).
  • Настройка на таймаутите t1, t2, t3, k, w — при бавни канали (GPRS) стойностите се увеличават.
  • Тест с протоколен анализатор (IEC 104 traffic analyzer или Wireshark с IEC 104 dissector) за проверка на правилната последователност: STARTDT → GI → спонтанни данни → команди.
  • Проверка на качествените флагове и времевите печати.
  • Тест на резервирането: разкачване на основната връзка и наблюдение на автоматичното превключване.

Типични проблеми

  • Разминаване в точковата таблица между RTU и SCADA — IOA адресите не съвпадат.
  • Несинхронизирано време — печатите идват с отклонение от секунди, защото RTU-то няма NTP.
  • Прекъсване на връзката заради неподходящи таймаути при бавен WAN (GPRS, сателит).
  • Липса на GI след превключване на резервна връзка — SCADA показва стари данни.
  • Firewall или NAT блокира порт 2404 или нарушава TCP keep-alive.
  • Некриптиран канал през публична мрежа без VPN — риск от подслушване и инжектиране на команди.

Кога се избира IEC 104

Когато трябва да се пренасят телемеханични данни между подстанции и диспечерски център по IP мрежа. В европейската енергетика IEC 104 е стандарт де факто. За вътрешна комуникация в подстанцията се допълва от IEC 61850, а за прости измервателни уреди — от Modbus. При нови проекти е добра практика да се предвиди IEC 62351 (TLS) или поне VPN за защита на канала.