Sunteți pe pagina 1din 26

Sisteme pentru conducerea rețelelor electrice de distribuție –

SCRED

Curs 11

Protocoale de comunicație utilizate în domeniul energetic

Conf.dr.ing. Mihai SĂNDULEAC


2019
Protocoale de comunicatie

Protocoale de comunicație utilizate în domeniul energetic


Modelul OSI – Un mod de sistematizare în problematica comunicației de date

Modelul de Referință OSI (OSI este un acronim pentru interconectarea sistemelor


deschise, engleză Open Systems Interconnection), pe scurt: OSI, este o stivă (un număr de
straturi) de protocoale de comunicație ierarhică care este des folosită pentru a realiza o
rețea de calculatoare. OSI este un standard al Organizației internaționale de
standardizare, emis în 1984 (https://ro.wikipedia.org/wiki/Modelul_OSI).

Modelul OSI sistematizează problema comunicării între două sau mai multe sisteme prin
introducerea a 7 straturi sau niveluri (layers). Fiecare strat (nivel) se caracterizează prin
funcții bine determinate, acesta comunicând doar cu stratul său superior și inferior.

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Protocoale de comunicatie utilizate in domeniul energetic


Unitate
de date Niveluri

Date Aplicație
Modelul OSI
Date Prezentare
Niveluri ale
Cele 7 niveluri ale Modelului de Referință sunt: gazdei (host)
- Aplicație (nivelul 7, superior) (engl. Application), Date Sesiune
- Prezentare (engl. Presentation),
- Sesiune (engl. Session), Segmente Transport
- Transport (engl. Transport),
- Rețea (engl. Network),
Pachete Retea
- Legătură de date (engl. Data link),
Niveluri ale
- Fizic (nivelul 1, inferior). (engl. Physical).
mediului Cadre Legături de date

Biți Fizic
C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED
Protocoale de comunicatie

Controlul mesajelor

Controlul corectitudinii datelor transmise

Biții de paritate : un bit = 0 sau 1 funcție de paritatea fiecarui octet

Sumele de control: de obicei un octet care reprezintă suma trunchiată a tuturor


octeților din mesaj

CRC-ul (Cyclical Redundancy Check): o metodă mai complexă de calculare ce se


bazează pe conținutul mesajului. CRC-ul are de obicei 16 biți (2 octeți)

Semnatura electronică: verificare bazată pe chei asimetrice


C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED
Protocoale de comunicatie Controlul mesajelor

Controlul corectitudinii datelor transmise

CRC-ul (Cyclical Redundancy Check): o metodă mai complexă de calculare ce se


bazează pe conținutul mesajului. CRC-ul are de obicei 16 biți (2 octeți)

Există mai multe tipuri de polinoame utilizate pentru calcularea CRC-ului. Mai jos
sunt date doua din cele mai uzuale polinoame:

CRC-16 (IMB) : + + + 1 ⇛ 0 8005

CRC-CCITT : + + + 1 ⇛ 0 1021

Observatie: este un termen “ascuns”, care nu este luat in considerare in


numarul hexazecimal din dreapta, care este pe 2 octeți
C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED
Protocoale de comunicatie Controlul mesajelor
CRC-ul (Cyclical Redundancy Check): exemplu numeric
Se transmite secvența de octeți 47, 234, 17, 99 și se cere să se calculeze CRC-16 pentru acest mesaj.

Rezolvare:

Secvența de numere poate fi privită ca un număr pe 4 octeți, din care primul octet transmis este considerat LSB
(engl. less significant byte). Considerând conversia din zecimal în hexazecimal, cele 4 numere au valorile 47 =
0x2F; 234 = 0xEA; 17 = 0x11; 99 = 0x63 (unde 0x denotă scrierea în hexazecimal, adică în bază 16), iar numărul
total se poate scrie în hexazecimal ca fiind N = 0x6311EA2F

CRC-ul este restul împărțirii numărului N la valoarea polinomului CRC-16, adică la valoarea 0x8005 de mai sus.
Folosind modul „științific” al utilitarului „Calculator” din Windows și lucrând pe modul „HEX”, prin împărțirea
0x6311EA2F la 0x8005 se obține rezultatul 0xC61C.

Pentru a afla restul împărțirii, cu același utilitar se face calculul: 0x6311EA2F – (0x8005 * 0xC61C) = 0x6311EA2F
- 0x6311DE8C = 0x0BA3, acesta din urmă fiind CRC-ul pe 16 biți ai șirului de caractere 47, 234, 17, 99

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie
Controlul mesajelor

Diferențe între comunicația locală și cea la distanță

În general, comunicația locală se considera o comunicație sigură, în care probabilitatea de apariție a erorilor
este mică sau chiar neglijabilă. Pentru comunicația locală se consideră de cele mai multe ori că transmiterea
de mesaje de lungime mare este acceptabilă și că este suficientă o metodă de control a integrității pentru
întregul mesaj, oricât de lung ar fi (de exemplu 1 – 10 kB, dar poate ajunge și la 1 MB)

Dacă însă comunicația este realizată la distanță, probabilitatea ca o perturbație să afecteze mesajul este cu
atât mai mare cu cât mesajul este mai lung. De exemplu, dacă o eroare ar putea apare odată la fiecare 10
kBytes, transmiterea unui mesaj de 100 kBytes ar conține aproape întotdeauna o eroare. Această eroare
este detectată de mecanismul de verificare bazat pe CRC (sau prin altă metodă), dar cum nu se știe care
octet a fost afectat, mesajul se retransmite integral.

Cum însă în exemplul de mai sus, la mesaje lungi apare practic întotdeauna cel puțin o eroare pe parcurs,
practic mesajul nu se va putea transmite de loc, find invalidat de fiecare dată de verificarea de eroare.

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie Controlul mesajelor
Comunicația la distanță și perturbatiile pe parcurs
Exemplu de analiză a unei comunicații folosind mesaje lungi într-un mediu foarte zgomotos

Mesaj = 100 kB transmiși Mesaj = 100 kB transmiși


CRC CRC

10 kB ……. 10 kB 10 kB 10 kB ……. 10 kB 10 kB

10 erori / 100 kB transmis 10 erori / 100 kB transmis

Observatie: CRC-ul se calculează pentru intregul mesaj (100 kB)

În acest caz, banda de transmisie a datelor are o eficiență aproape de zero, pentru că la lungimea mare a
mesajelor, corelată cu nivelul de zgomot al căii de transmisie, nici un mesaj nu ajunge corect, deci nici un mesaj
nu este utilizabil.

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Controlul mesajelor
Diferențe intre comunicația locală și la distanță (cont.)

Care este lungimea mesajelor, pentru a avea o probabilitate de success de 90% , tinand cont de faptul ca mesajele au
o rata de 10 eroari (perturbatii) la 100 kB transmis (acelasi nivel de zgomot ca inainte) ?

CRC Exemplu: fiecare mesaj = 1 kB transmis


CRC
1 kB 1 kB 1 kB 1 kB
…….

1 eroare / 10 kB transmis

C11
Protocoale de comunicatie
Controlul mesajelor

Diferente intre comunicatia locală și la distanță (cont.2)

Din exemplele de mai sus se poate trage concluzia că lungimea mesajelor trebuie să fie mult mai mică
decât rata de defect. În practică, pentru transmisii la distanță se folosesc mesaje cu lungime de pâna la 128
sau 256 octeti.

Mesajele mai lungi trebuiesc împărțite în astfel de mesaje mai scurte. Dacă dorim să calculăm efficiența
transmiterii unui astfel de mesaj, folosind aceeași rată de defect de mai inainte (una la 10kB transmiși) și o
lungime de mesaj de până în 256 octeți, constatăm că probabilitatea ca un mesaj să fie alterat este de 256
/ 10 k = 28 / 10 x 210 = aprox 1/40.

Astfel, doar un measj din 40 va fi afectat de erori, deci pentru 40 mesaje corecte trebuiesc transmise în
medie 41 mesaje, efficiența transmiterii fiiind deci de 40/41 = 97.5%, acceptabilă in cele mai multe cazuri.

C11
Protocoale de comunicatie

Controlul mesajelor

Diferente intre comunicatia locală și la distanță (cont.3)

Comunicația la distanță prin mesaje lungi, împărțite în mai multe mesaje scurte, are însă și o complicație
importantă: este necesar un mecanism de împărțire a mesajului complet în sub-mesaje scurte și un
mecanism de refacere a mesajului inițial la recepție.

Această problemă nu este triviala, ea fiind rezolvată de obicei prin adăugarea în mesajele scurte a unui
număr de identificare a mesajului scurt și/sau un indicator al numărului asociat mesajului lung, de exemplu
un numar între 0 și 40 dacă measjul de 10 k a fost împărțit în 40 mesaje de 256 octeți.

Protocoalele moderne, inclusiv binecunoscuta suită TCP/IP, folosește intensiv această împărțire a
mesajelor.

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Protocoale ce se vor trece în revistă


MODBUS

Familia de protocoale IEC 60870-5-101, 102, 103

Protocolul DNP

Familia de protocoale 62056 (DLMS)

Familia de protocoale IEC 61850

Protocolul OPC

Protocolul OCPP

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

MODBUS

Modbus este un protocol de comunicație apărut in 1979, destinat inițial comunicației cu echipamente
PLC (Programable Logic Controller).

Este un protocol simplu, motiv pentru care este ușor de implementat în echipamente de proces cu
putere de procesare limitată (de exemplu pe microcontrolere de 8 biți)

Două tipuri principale de protocoale MODBUS:

- MODBUS RTU: pentru comunicații seriale, de obicei peste linii de comunicație de tip RS 485

- MODBUS TCP: pentru comunicații în rețele TCP/IP

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie
MODBUS

Structura generală a telegramei: Structura telegramei pentru citire date:

Byte 1: Adresa de destinație (1 octet) Byte 1: Adresa de destinatie (1 octet)

Byte 2: Codul specific funcției: citire, scriere etc. Byte 2: Codul specific funcției de citire: 04

Bytes 3 .. 3+n Datele propriuzise (n octeti) Bytes 3,4: Adresa de unde se citește

Ultimii 2 bytes: CRC Bytes 5,6: Numărul de locații citite

Bytes 7,8: CRC

Lungimea maximă a mesajului: 256 octeți (bytes)

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie
MODBUS
Structura telegramei pentru citire date:

Byte 1: Adresa de destinatie (1 octet)


Byte 2: Codul specific funcției de citire: 04
Bytes 3,4: Adresa de unde se citeste
Bytes 5,6: Numărul de locatii citite
Bytes 7,8: CRC

Exemplu: se dorește citirea dintr-un echipament cu adresa 7 a unui ansamblu de 24 octeți, ce încep de la adresa
internă a RTU-ului Adr0 = 52A8 (valoarea este in hexazecimal și se mai poate scrie de exemplu sub forma 0x52A8)

Telegrama formată este de tipul:


07 04 A8 52 18 00 xx yy cyclic redundancy check (CRC)

Adresa destinatar Adresa 52A8 Lungime 0018 CRC16


(Byte 1) (Byte 3 si 4) (Byte 5 si 6) (Byte 7 si 8)
Cod citire
(Byte 2)

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Familia de protocoale IEC 60870-5-101, 102, 103

IEC 60870-5-101 Transmission Protocols - companion standards especially for basic telecontrol tasks
Protocol folosit în aplicații SCADA tradiționale, în special în Europa

IEC 60870-5-102 Transmission Protocols - Companion standard for the transmission of integrated totals in
electric power systems (this standard is not widely used)
Protocol folosit pentru contorizarea energiei electrice

IEC 60870-5-103 Transmission Protocols - Companion standard for the informative interface of protection
equipment
Protocol folosit pentru echipamente de protecție

IEC 60870-5-104 Transmission Protocols - Network access for IEC 60870-5-101 using standard transport
profiles
Reprezinta protocolul IEC60870-5-101 îmbunătățit pentru trasmisii TCP/IP, cu diverse adăugiri
Variantă Open source [GPL v3]: https://www.openmuc.org/iec-60870-5-104/download/

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Protocolul IEC 60870-5-101 : Funcții de bază


Achiziție de date, ce se poate realiza în trei moduri: a) ciclic, b) la schimbare sau c) la cerere

Achiziție (citire) de evenimente

Interogare generală: de obicei după o inițializare

Sincronizare de ceas

Transmitere de comenzi: “direct” (într-un singur pas) sau “Select and execute” (în doi pași)

Transmisie de totaluri relultate în urma integrării / numărării : “Freeze and Read”, respectiv “Clear and Read”

Schimbări în protocol și în parametrii de legătură

Achiziția întârzierii de transmisie (pentru correcția de timp)

Observație: Protocolul Nu deține elemente puternice de securitate a datelor

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Protocolul DNP3
Este un protocol utilizat în general in domeniul companiilor de electricitate, în special în America de Nord.

Se utilizează ca protocol de comunicație între un RTU și o stație centrală SCADA (centru de control)

Dezvoltat în America de Nord de GE-Harris, introdus în 1993

Provine dintr-o formă incipienta a familiei 870-5 (descrisa anterior), dar nu există compatibilitate cu aceasta.

Nu deține elemente puternice de securitate a datelor. Sunt adĂugate ulterior elemente de autentificare Și de
criptare.

Deține mecanisme de multiplexare, fragmentare de date, verificare de erori (CRC), control al legăturii (link
control), prioritizare a mesajelor

Este încă unul din protocoalele larg folosite, în special în America.


Înlocuitor potențial : IEC 61850

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie Asemănări și diferențe între DNP3 și IEC 60870

Printre caracteristicile comune ale celor două protocoale se pot enumera: (1) transmisie de date cu
siguranță sporită, (2) interogări pe rând (polled) și raportarea erorilor, (3) mesaje nesolicitate (cu
limitări în IEC 60870-5-101), (4) definiții ale datelor adaptate pentru aplicații SCADA, (5)
sincronizare de timp, (6) evenimente cu stampilă de timp, (7) contoare care pot fi blocate sau
resetate, (8) acțiuni în două etape: selectează și comandă, (8) grupuri de date și clase și (9)
descărcare sau încărcare de fișiere [35].

Ambele standarde suportă comunicația echilibrată și modul punct-la-punct; comunicația echilibrată


este pentru standardul IEC valabilă doar pentru configurații punct-la punct. IEC60870-5-101
folosește mesaje FT1.2 cu sumă de control pe 8 biți și lungime a mesajului de până la 255 octeți, în
timp ce DNP3 folosește mesaje de tip FT3 cu CRC pe 16 biți și lungimi de până la 255 octeți.

Există însă diferențe considerabile între funcțiile de aplicație și în obiectele pe care le pot suporta
datele transferate. Separarea în funcții și obiecte, specifică la DNP3, asigură o flexibilitate mai mare
dar aduce și o complexitate mai mare în implementare [35]

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Familia de protocoale 62056 (DLMS)

IEC 62056 este o familie de standarde pentru schimbul de date in sistemele de contorizare a energiei electrice

Reprezintă varianta IEC a standardelor DLMS/COSEM

Standarde relevante în cadrul familiei (selectie):

IEC 62056-6-1:2017 Object Identification System (OBIS) Furnizează codificarea diverselor mărimi, cum ar fi
puterea activă si reactivă, curentul, tensiunea, registrii de energie activă și reactivă, etc.

IEC 62056-21: Protocol de comunicație locală cu contorul, înglobat în filozofia generala a familiei 62056

Se folosește în special pentru citirea la distanță a datelor de contorizare, într-un sistem AMR

Există eforturi de mapare a datelor de contorizare definite de IEC 62056 în modelul de date CIM, utilizat în analiza
rețelelor electrice si cu potențial pentru domeniul SCADA

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Familia de protocoale specifice standardului IEC 61850


IEC 61850 a fost găndit inițial pentru comunicatia intre IED-uri (Intelligent Electronic Devices) in cadrul
stațiilor electrice, în special pentru realizarea de automatizări în stații electrice.

Primele standarde ale familiei au apărut în anii 2003-2004 iar a doua serie în perioada 2009-2010.

S-au facut dezvoltări ulterioare pentru comunicarea între stații precum și între stații și puncte centrale.

Ultilizează modele de date în care obiectele primare (intreruptoare, separatoare, transformatoare etc.) si
functionalități de protecție și control sunt modelate în cadrul unor “noduri logice” standardizate și grupate
sub diverse device-uri logice si fizice.

Pentru securitatea datelor se folosesc mecanisme suplimentare, cum ar fi aplicarea IEC 62351.
Scopul seriei de standarde IEC 62351 este de a asigura securitatea informației pentru operatiuni de control
în sisteme electroenergetice.
Partea 6 se ocupă de securitatea datelor legată de IEC 61850.
Utilizarea semnăturilor digitale este una din masurile de securitate cibernetică, dar necesită circuite
specializate de criptare in timp real (de ex. în câteva milisecunde, utilizare de RSA-crypto-chips)

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Familia de protocoale specifice standardului IEC 61850

IEC 61850 este un standard international care definește


protocoale de comunicație pentru IED-uri (Intelligent Electronic
Devices) la nivelul stațiilor electrice.

Standardul descrie următoarele protocoale de comunicație:

MMS (Manufacturing Message Specification - IEC 61850-8-1), care asigură comunicația client/server în
rețele IP, fiind utilizat pentru scopul de monitorizare SCADA.

GOOSE (Generic Object Oriented Substation Event - IEC 61850-8-1) folosește comunicație Ethernet de tip
multicast (one-to-many) prin care IED-uri / BCU-uri pot comunica între ele cu viteză mare. GOOSE se
folosește pentru a transmite măsurări cum ar fi cele de putere între relee de protecție, inclusiv cele care
sunt necesare pentru sintetizarea semnalelor de declanșare (tripping) și a interblocajelor. Standardul este
folosit pentru reîmprospătarea semnalelor de stare și pentru trimiterea de comenzi.

SMV (Sampled Measured Values - IEC 61850-9-2) trimit semnale eșantionate de tensiune și curent. Scopul
principal l-a reprezentat implementarea protecțiilor de bară și a sincrofazorilor.
C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED
Familia de protocoale specifice standardului IEC 61850
GOOSE și SVM : protocoale de mare viteză, de timp real. Nu sunt compatibile cu switch-uri/routere clasice

Principii privind implementarea protectiilor diferentiale de bară (PDB): clasic și cu IEC 61850

Celula N
Celula 1 Celula 2
Bara protejată (Σi = 0)

Ethernet, GOOSE, SVM

i1(t) i2(t) iN(t)


Eșantioane de curent și
Marimi analogice tensiune sincronizate
Σi = 0
PDB clasic PDB bazat pe IEC 61850

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Protocoale de comunicatie

Protocolul OCPP

OCPP (Open Charge Point Protocol) este un protocol destinat stațiilor de încărcare
automobile electrice. Acest tip de consumator poate deveni important în conducerea
rețelelor de distribuție pentru că impactul încărcării bateriilor poate duce la
consumuri mari față de cele actuale.
https://www.openchargealliance.org/protocols/ocpp-20/

OCPP a fost creat cu intentia de a nu avea aplicatii


de tip “vendor locked”, fiind un protocol deschis.

OpenEVSE este o solutie deschisa atat pe partea de


software cat si pe cea de hardware.
https://openevse.dozuki.com/Guide/%22Sta
ndard+Series%22+with+OpenEVSE+v4/8
https://github.com/openevse
https://www.openevse.com/kits.html
C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED
Protocoale de comunicatie

Protocolul OCPP

OpenEVSE

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED


Vă mulțumesc

C11 Sisteme pentru conducerea rețelelor electrice de distribuție - SCRED

S-ar putea să vă placă și