Documente Academic
Documente Profesional
Documente Cultură
Daca sistemul de monitorizare si control este complex se poate lucra cu un sistem central si cu
subunitati centrale zonale subordonate:
AP – Curs 14 Page 1 of 18
Programele de baza ale unei unitati centrale
- BIOS si sistemul de operare: DOS, Windows, Windows NT, LINUX ...;
- Programul tip SCADA. Acesta contine urmatoarele module principale:
Achizitia de date;
Control;
Memorare si arhivare – baza de date;
Interfata cu operatorul – HMI;
a) Ethernet
In acest tip de retea exista mai multe unitati (numite generic si „noduri”) care pot sa comunice
una cu alta, teoretic in orice moment de timp. Principial, inainte ca un nod sa inceapa transmisia
aceasta va verifica, sau altfel spus „va asculta”, daca reteaua este libera. Daca este libera va
treansmite pachetul de date (mesajul). Exista si posibilitatea ca doua noduri sa incerce sa
transmita simultan. Apare astfel fenomenul de „coliziune” de date. In acest caz ambele noduri
vor trece in starea neutra, de ascultare, pentru o durata aleatoare de timp. Dupa trecerea acestui
AP – Curs 14 Page 2 of 18
timp de intarziere vor incerca sa transmita din nou. In general reteaua Ethernet este implementata
cu cablu coaxial la 10 Mbps.
Se utilizeaza circuite speciale de control (MAC - „Media Access Control”) pentru evitarea
‚coliziunilor’ de date (CSMA/CD – „Carrier Sense Multiple Access with Collision Detection”).
Pentru reducerea frecventei acestor coliziuni se recomanda:
• Conexiuni cat mai scurte – unitatile cu trafic intens sa fie cat mai apropiate intre ele;
• Utilizarea circuitelor repetoare;
• Eliminarea transmisiilor inutile;
• Asigurarea impamantarii corespunzatoare a cablurilor;
AP – Curs 14 Page 3 of 18
c) Retea locala tip „Token Bus”
Din punct de logic, strategia este similara cu „Token Ring” dar se elimina din „inel” nodurile
care au doar functie de receptie. In plus legatura fizica este o magistrala comuna. Acest tip de
comunicatie este folosita mai mult in mediul industrial.
AP – Curs 14 Page 4 of 18
Se pot imagina mai multe configuratii redundante. Cea mai simpla varianta este aceea in care
avem o unitate centrala de rezerva inactiva in mod normal (solutia „cold stanby”). In caz de
defect se comuta pe unitatea de rezerva:
O alta varianta („hot stanby”) presupune existenta unui „watchdog timer – WDT”. Acesta
controleaza momentele de timp de trecere de la o unitate la alta. In aceasta varianta unitatea
secundara, de „backup”, este permanent in conexiune cu sistemul.
AP – Curs 14 Page 5 of 18
Este cea mai simpla arhitectura, datele fiind transmise doar intre 2 unitati, una putand fi „master”
iar cealalata „slave”. Comunicatia poate fi „duplex” (se utilizeaza doua frecvente una pentru
transmisie alta pentru receptie) sau „simplex”.
AP – Curs 14 Page 6 of 18
• Unitati repetoare
Retransmiterea mesajului de catre unitatea releu se face simultan cu receptia acestuia dar pe o
alta frecventa. Este metoda cea mai folosita pentru marirea ariei de acoperire. Sistemul este mai
complex decat cel anterior iar pretul mai mare. Exista si in acest caz o usoara intarziere in re-
transmitere.
Strategii de comunicatie
Sunt doua strategii de baza pentru a implementa comunicatia: master/slave („polled”) si
„CSMA/CD”. Ultima metoda este avantajoasa pentru ca se poate optimiza cantitatea de date
transferata de la un punct la altul. Prima metoda este insa singura solutie pentru transmisii prin
cablu pe distante lungi.
AP – Curs 14 Page 7 of 18
Daca exista unitati RTU mai „importante” decat altele atunci acestea trebuie interogate mai des.
Ciclul de polling se va face acum pe baza unor liste de prioritati:
AP – Curs 14 Page 8 of 18
b) Comunicatie tip „CSMA/CD”
(CSMA/CD – „Carrier Sense Multiple Access with Collision Detection”)
Utilizat in situatiile in care comunicatiile intre unitatile RTU devin importante. In cazul
sistemului pur „CSMA/CD” toate unitatile au acelasi rang, nu mai exista master si slave. Fiecarei
unitati din sistem i se asociaza insa o adresa unica. Daca doua RTU vor sa comunice unul cu
altul atunci primul RTU transmite mesajul sau impreuna cu adresa unitatii caruia ii este adresat
mesajul! Toate unitatile receptioneaza mesajul dar analizeaza doar adresa asociata acestuia. Doar
unitatea care isi recunoaste adresa va folosi acest mesaj.
Problema care apare este ca pot sa transmita simultan, pe aceeasi linie de comunicatie, doua
unitati generandu-se o „coliziune” de date. Sistemul de management al coliziunilor devine astfel
unul din cele mai importante elemente din protocolul de comunicatie. Acest tip de comunicatie
este fiabil daca traficul uzual nu depaseste 30% din capacitatea de transmisie, altfel coliziunile de
date tind sa se amplifice in avalansa.
In paractica cele doua tipuri de comunicatie se utilizeaza in mod combinat.
AP – Curs 14 Page 9 of 18
Cerinte impuse unitatii centrale
Programare usoara, intuitiva si flexibila;
Functionare predictibila, determinista;
Interfata grafica sugestiva;
Trimeterea automata de rapoarte si atentionari catre echipa tehnica (inclusiv email, SMS);
Posibilitatea de a vizualiza rapoarte generale de ansamblu sau rapoarte detaliate – sugestii;
Posibilitatea de a dezactiva (filtra) anumite surse de alarma;
Posibilitatea de a permite dezvoltari ulterioare ale aplicatiei – pentru 10/15 ani;
Asigurarea redundantei – mai multe unitati master in diverse locatii;
Posibilitatea de a suporta protocoale de comunicatie multiple pentru diverse echipamente;
Cost minim;
c) RS-485
RS-485 permite configurarea unei retele de comunicatie „cu 2 fire” pentru maxim 32
echipamente, distante de pana la 1200 m si viteze de transmisie de pana la 10 Mbps. Gama de
tensiuni este de -1.5/-6V pentru „1” logic respectiv +1.5/+6V pentru „0”logic. Pentru a asigura
AP – Curs 14 Page 10 of 18
un nivel de referinta comun, mai este necesar inca un fir de legatura. Pentru transmisii „full-
duplex” sunt necesare 5 fire de legatura.
Cea mai mare imbunatatire a RS-485 este aceea ca semnalele pot fi in 3 stari: „0”, „1” si „high-
impedance”. In starea de inalta impedanta, echipamentele, desi conectate la retea, nu sunt practic
vizibile. In acest fel la un moment de timp doar un echipament emitator este „activ”. Pentru
evitarea conflictelor de magistrala fiecare echipament are alocata o adresa unica.
e) Comunicatii paralele
Interfata standard cel mai des utilizata este IEEE-488 introdusa initial de Hewlett-Packard,
numita adesea: „General Purpose Instrument Bus”. In acest caz, pe magistrala de comunicatie
intalnim „Emitatorii”, „Receptorii” si „Controlerii”. Exista 24 linii: 8 de date, 5 de stare, 3 de
control si 8 de masa.
AP – Curs 14 Page 11 of 18
Transferul de date se face in pachete relativ mici (diferit spre exemplu de protocolul FTP)
Sunt acceptate de majoritatea producatorilor de sisteme SCADA
c) Protocolul TCP/IP
Desi modelul OSI cu 7 nivele este general acceptat, in acest caz se prefera un model simplificat,
numit TCP/IP, cu doar 4 nivele („layers”):
Nivelul 1 – Network interface layer
Este nivelul fizic ce asigura legatura intre echipamente. Nivelul retea.
Nivelul 2 – Internet layer
Asigura interfata intre echipament si retea. Aici avem „Internet Protocol IP”
Nivelul 3 – Service layer (sau „host-to-host” communications layer)
Nivelul transmisiei de date. Aici avem „TCP - Transmission Control Protocol” sau „UDP - User
Data Protocol”)
Nivelul 4 – Application layer
AP – Curs 14 Page 12 of 18
2.4. Protocolul Modbus
A fost proiectat de firma Modicon (in prezent Schneider) pentru sistemele de control al
proceselor industriale. Nu este definita nici o interfata, se pot folosi astfel standardele RS-232,
RS-422, RS-485 sau bucle de curent de 20mA. Desi este un sistem relativ lent sunt multi
producatori de echipamente care accepta acest protocol. Este in esenta un protocol industrial cu o
rata de utilizare de aproximativ 40% din totalul comunicatiilor industriale similare.
Se lucreaza in retea „master/slave”, protocolul acceptand un „master” si pana la maxim 247
„slave”. Numai unitatea master poate initia transmisii. Acestea poate fi:
intrebare/raspuns - un singur slave este interogat
mesaj general/nici un raspuns – mesajul e adresat tuturor unitatilor slave
Protocolul contine elemente:
fixe – formatul mesajului („frame”), sintaxa mesajului, tratarea erorilor
configurabile – caracteristicile de transmisie, tipul transmisiei: ASCII sau RTU
Un mesaj Modbus tip „intrebare”, din partea unitatii „master” contine:
adresa receptorului
actiunea ce trebuie sa o realizeze receptorul si datele asociate acestei actiuni
modul de verificare al erorilor de transmisie
Un raspuns din partea unitatii „slave”, in caz ca nu sunt erori la receptarea „intrebarii”, contine:
adresa unitatii slave
actiunea executata
rezultatul actiunii
modul de verificare al erorilor folosit
Datele pot fi trimese in 2 moduri principale:
RTU – format compact si rapid; utilizat in operarea normala
ASCII – format pentru testare; este dublu fata de formatul RTU
Functiile Modbus
Toate functiile protocolului sunt identificate printr-un index numeric. Acestea sunt functii de
comanda si control destinate sistemelor industriale, astfel:
Comenzi pentru citirea si setarea iesirilor digitale (simple sau multiple)
Functii pentru citirea starii intrarilor digitale
Functii pentru citirea si setarea variabilelor de tip registru
Functii de test
AP – Curs 14 Page 13 of 18
Formatul mesajului Modbus
O comunicare tipica consta intr-o intrebare din partea unitatii „master” catre un „slave” si un
raspuns din partea acestuia inapoi catre master. Ambele aceste mesaje sunt formate din mai
multe parti numite „frames”. Fiecare „frame” este compus dintr-o serie de octeti (1 byte=8 biti)
grupati in 4 campuri specifice. Fiecare octet va fi codat in format hexazecimal.
Address Field – 1 octet; contine adresa unitatii slave cu care se va schimba informatia.
Este un numar intre 1 si 247. Fiecare unitate slave va avea asociata o adresa in acest
domeniu;
Function Field – 1 octet; este indexul operatiei pe care unitatea slave trebuie sa o
execute. In cadrul raspunsului informatia este identica doar daca se poate executa aceasta
operatie. Daca operatia nu poate fi executata cel mai semnificativ bit se seteaza pe 1 si
apare ceea ce numim „raspuns exceptat”.
Data Field – are lungime variabila in functie de comanda specificata in „Function Field”.
Aici se plaseaza datele ce trebuie transferate intre echipamente;
Error Check Field – 2 octeti; valoarea numerica de aici este calculata pe baza unui ciclu
redundant de operatii logice („CRC - cyclic redundancy check”) pentru eliminarea
erorilor de transmisie. Se previn situatiile in care se executa comenzi provenite din
mesaje alterate.
Sincronizarea transmisiei
Receptia trebuie sincronizata cu transmisia, si in principal trebuie sa identificam inceputul unui
nou fragment de mesaj („frame”). In cadrul protocolului Modbus „separatorul” este o stare de
asteptare de minim 3 caractere (aproximativ 3 ms). Daca aceasta stare apare atunci receptorul
considera ca „frame-ul” curent s-a incheiat si va urma unul nou.
Tipuri de date
Se pot utiliza 4 tipuri de date: „coils”, „discrete inputs”, „input registers” si „holding registers”.
Primele doua sunt pe 1 octet iar ultimele doua pe 2 octeti. Definirea tipurilor de date se face in
functie de zona de memorie in care se afla. Fiecare functie Modbus se refera doar la un anumit
tip de date. Variabilele „coils” sunt de fapt comenzi digitale:
AP – Curs 14 Page 14 of 18
In acest context o variabila poate fi adresata specificand doar offsetul fata de adresa de inceput a
zonei de memorie din care face parte. Spre exemplu variabila tip „holding register” aflata la
adresa absoluta 40001 va fi folosita in functii cu adresa relativa 0000.
AP – Curs 14 Page 15 of 18
Raspunsul la o astfel de cerere contine mai intai 1 octet cu numarul de octeti pe care ii va avea
campul de date urmat de acesti octeti. Fiecare din octetii de date va contine raspunsul la cererea
data, fiecare putand avea starea codata binar a 8 variabile succesive (1=ON, 0=OFF). In
exemplul grafic variabilele sunt ON.
AP – Curs 14 Page 16 of 18
6. Preset single register (function code 06)
Se poate stabili valoarea pe care o variabila tip „holding register” o va avea. In mesajul
„intrebare” se precizeaza adresa variabilei si valoarea pe care dorim sa o aiba. Daca se poate
executa comanda raspunsul este identic, daca nu este un „raspuns exceptat”. In exemplu grafic
registru de la adresa 40003 este incarcat cu valoarea 0C00H (sau 3072 zecimal).
AP – Curs 14 Page 17 of 18
9. Force multiple coils or digital outputs (function code 15)
Se poate seta starea mai multor variabile de tip „coil” succesiv plasate in memorie.
AP – Curs 14 Page 18 of 18