Lucrarea 8 Transmisia datelor intr-un sistem de control prin retea industriala

1.

Obiectivul lucrarii:

Lucrarea îşi propune să prezinte metodologia de transmitere a datelor pe baza unui protocol de comunicatie destinat aplicaţiilor de control. În mod concret se prezintă o reţea de senzori inteligenţi conectaţi într-o reţea de tip ModBus.

2.

Consideratii teoretice

2.1 Reţele industriale de comunicaţie In aplicatiile de control informatiile sunt transmise in diferite moduri: - prin conexiuni (legaturi) dedicate intre sistemul de control (calculator) si dispozitivele de automatizare (senzori, elemente de executie) plasate in procesul controlat - prin retea industriala de comunicatie ce leaga toate elementele unui sistem de automatizare Retelele industriale sunt medii de comunicatie adaptate pentru cerintele specifice ale aplicatiilor de control. Dintre cele mai importante cerinte satisfacute de aceste retele se pot aminti: - functionare determinista si predictibila - timp de transmisie a datelor relativ scurt si mai ales garantat - fiabilitate sporita si toleranta la defecte - imunitate la zgomote - protocol optimizat pentru mesaje scurte si periodice Comunicatia in retea prezinta o serie de avantaje in comparatie cu transmisia prin legaturi dedicate: costuri de cablare mai mici, o singura interfata pe dispozitiv, exista mecanisme de detectie si de corectie a erorilor de transmisie, datele transmise pot fi mai complexe si transmisia se poate face la distante mai mari.. Dar echipamentele conectate in retea trebuie sa dispuna de o “inteligenta” minima pentru a putea implementa protocolul de comunicatie. De obicei la dispozitivele simple de automatizare (senzori, elemente de actionare) se ataseaza un microcontrolor care prin programul incorporat asigura administrarea dispozitivului si implementeaza functiile specificate de protocol. 2.2 Protocolul ModBus implementat pe RS485 Ca si exemplu de retea industriala in cadrul prezentului laborator se va utiliza protocolul ModBus (http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf). Acest protocol se bazeaza pe schimbul de mesaje intre dispozitivele conectate in retea. Protocolul specifica formatul mesajelor de interogare si de raspuns. Din acest punct de vedere poate fi catalogat ca si un protocol de nivel 2 (“Legatura de date”). Datorita simplitatii sale, protocolul a fost adoptat de mai multe firme producatoare de echipamente de automatizare. Ca suport fizic (“Nivel fizic”) se poate folosi un canal serial de comunicatie, cum ar fi de exemplu RS485. Standardul RS485 permite transmiterea de caractere in regim asincron pe o pereche de fire torsadate. Informatia binara este codificata prin diferenta de potential pozitiva sau negativa dintre cele doua fire de transmisie. Pe acelasi tronson pot fi conectate in paralel pana la 16 unitati de transmisie/receptie. Protocolul impune ca la un moment dat o singura unitate sa transmita restul unitatilor fiind in regim de ascultare (cu circuitul de transmisie in “inalta impedanta”). Intr-o retea de tip ModBus exista o unitate master care initiaza o comunicatie si mai multe unitati slave (max. 247) care primesc date si raspund la interogari. Unitatea master stabileste ordinea de comunicare in retea si frecventa de transmisie a datelor. Formatul general al unui mesaj ModBus este dat in fugura de mai jos:

Adresa dispozit iv Codul functiei Bloc de date CRC Sunt definite mai multe tipuri de functii (mesaje). start Low returnati 03 slave Setarea unui registru (Cod 06): Reg. reg. reg High Adr. 1 High Reg. care se vor utiliza in cadrul aplicatiei practice. dupa cum urmeaza: Cod functie Descriere 01 Citire stare relee (coil status) 02 Citire stare de intrare 03 Citire registre de memorare (holding registers) 04 Citire registre de intrare 05 Fortarea unui releu (single coil) 06 Setarea unui singur registru 07 Citirea starii de exceptie 15 Fortarea mai multor relee (multiple coil) 16 Setarea mai multor registre 17 Raporteaza ID slave In continuare vor fi detaliate functiile de Citire registru de memorare (cod 03) si Setarea unui singur registru (cod 06). Structura acestor mesaje precum si a raspunsurilor este data mai jos: Citire registru de memorare (Cod 03): Adresa dispozit slave Codul functiei (03) Adr. reg Low Nr. 1. Low CRC . High Nr. reg. octeti Adr. Low CRC Raspunsul la functia 03 Codul Adresa dispozit functiei Nr.

pdf. Low CRC Raspunsul la functia 06 Codul Adresa Adr. Figura de mai jos prezinta principalele componente ale acestui sistem: RS232 ModBus/RS485 - calculator personal pe care ruleaza aplicatia de culegere si vizualizare a datelor Piggy System modul (master) de conversie RS232<=>RS485 si stocare temporara a datelor. High Reg.Adresa dispozit slave Codul functiei 06 Adr. High Nr. reg Low Nr. reg High Adr.3 Prezentarea sistemului experimental In cadrul lucrarii se va utiliza sistemul de achizitie a informatiilor de temperatura si umiditate TRS produs de firma SIMEX Measurement and Control. Low Low CRC 2. in prezenta calculatorului modulul joaca doar rol de convertor RS232<=>RS485 – SRS-2/4-z16-B1a modul (slave) pentru masurarea temperaturii – TRS-01a modul (slave) combinat pentru masurarea temperaturii si a umiditatii – TRS-04a modul (slave) pentru masurarea si afisarea temperaturii – TRS-11a modul (slave) pentru semnalizarea sonora si vizuala a unei avarii – TRS-B1a modul (slave) pentru afisare modul pentru alimentare suplimentara Conectarea dispozitivelor intr-o retea ModBus/RS485 se va realiza conform schemei de mai jos: . reg Reg. reg functiei dispozit High 03 slave Adr. reg. modulul asigura achizitia de date si in lipsa calculatorului personal. O descriere mai detaliata a acestui sistem se gaseste in anexa “TRS-prezentare. reg.

1°C). 01h 02h 03h 04h 05h 20h 21h 0fff0h 0fff1h 0fff2h 0fff3h 0fff4h Scriere permisa NU NU NU DA DA NU NU NU NU NU Interval -40 .filtrare puternica) Registru de calibrare. In caz de eroare raspunsul va fi de forma: Adresa Functia Eroare CRC L. octeti 01 03 02 Data H. Nr. 20h.850 0.0 Rata de filtrare a semnalului (0 – fara filtrare. 80h 1 0-5 0-ffh 006ch 006ch Descriere registru Temperatura curenta (exprimata in 0. pentru citirea si scrierea celorlalte module se va consulta manualul de utilizare al acestora.SRS +V A+ B.GND 1 2 3 4 A+ A+ 100 -150 Ω BB- Pentru punerea in functiune a fiecarui modul in parte si a sistemului in ansamblu se va studia documentatia existenta pe CD-ul de instalare a sistemului In tabelul de mai jos se prezintă un exemplu de organizare a registrelor interne ale modulului de masurare si afisare a temperaturii TRS-11a. registru H.L 00 ff F8 CRC 04 Valoarea temperaturii citite este 25.H . 5.xx +V A+ B. reg.L Numar registre CRC 01 03 00 01 00 01 D5 CA Raspunsul modulului va fi: Adresa Functia Nr..1°C) Starea masurarii curente (coduri de eroare) pozitia punctului zecimal 1=0.GND TRS-xx 4 1 2 3 4 1 2 3 ..A NU SE SCHIMBA Adresa dispozitiv (din fabricatie vine setat cu 0feh) Numar Serie unic Cod de identificare dispozitiv (Device ID) Versiune firmware Numar constructie De exemplu pentru citirea valorii curente a temperaturii se transmite urmatorul mesaj de interogare: Adresa Functia Nr.. 1 – slab filtrare slaba.GND TRS . +V A+ B.5°C (0ffh=255*0. 40h.

Această variantă nu necesită o verificare CRC sau LRC. limitele normale de masura si conditiile de generare a alarmelor 3.9 Pentru controlul direct al reţelei (fară aplicaţia Piggy Soft) se va folosi un utilitar de comunicare seriala (ex: cel folosit la mediul PIC-C) si se vor transmite mesaje ModBus catre fiecare modul in parte si se va analiza raspunsul primit. Protocolul MODBUS a fost publicat în 1979 de firma MODICON pentru comunicaţia cu automatele programabile produse de firmă. Există mai multe versiuni ale protocolului pentru portul serial şi pentru Ethernet sau pentru alte tipuri de reţele. Se stabileste frecventa de achizitie a datelor.lammertbies.4 Se vor initializa pe rand modulele slave prin actionarea butonului din interior. în ceea ce priveşte reprezentarea datelor şi modul de realizare a verificării erorilor de transmisie.nl/comm/info/crc-calculation. cu diferenţe mici. Pentru calcularea “manuala” a codului CRC se poate folosi urmatorul site: http://www. În acest caz există două variante: RTU(terminal la distanta) şi ASCII(codul American pentru schimb de informatii).3 Se va instala aplicatia Piggy Soft Buzzer 3. 3.7 Se vizualizeaza graficul evolutiei marimilor masurate 3. La ora actuală utilizarea acestui protocol şi construirea de sisteme înglobate care să comunice cu acest protocol nu necesită drepturi de autor.01 83 40 40 C0 Eroarea 40h – limita de jos a domeniului de masura este depasita. Atentie.8 Se vor seta contitii de alarma si se va actiona buzzerul in cazul aparitiei unei alarme 3.6 Se vor asocia mai multi senzori in cate un grup logic 3.html. iar controlul erorilor se face utilizând polinoame ciclice (CRC). In acest mod se verifica corectitudinea datelor transmise. Modul de calcul a CRC-ului pentru protocolul ModBus este indicat in specificatia standardului de protocol (a se vedea pe Internet). În modul ASCII fiecare grupă de 8 biţi ai mesajului este transmisă sub formă de două caractere ASCII. La receptie CRC-ul se recalculeaza si se compara cu valoarea transmisa. Există o variantă mai recentă pentru conexiuni TCP/IP (de exemplu. parola pentru configurare este: “Piggy System”. iar controlul erorilor se face utilizând coduri longitudinale (LRC). iar avantajul modului ASCII este că este uşor de citit. pentru fiecare mesaj trebuie sa se calculeze codul CRC. Cele mai multe dispozitive MODBUS comunică pe o reţea serială EIA-485 sau EIA232 ca mediu fizic. 3. Aproape toate implementările realizate de diferite firme reprezintă variante ale standardului oficial. Avantajul modului RTU este densitatea mai mare de informaţie.2 Se vor conecta modulele pe un tronson ModBus conform descrierii din documentatie 3. În modul RTU fiecare grupă de 8 biţi conţine două caractere hexazecimale. Pentru fiecare mesaj transmis trebuie sa se calculeze CRC-ul (cod ciclic redondant). programul Piggy Soft va identifica fiecare dispozitiv in parte 3.1 Se va studia documentatia sistemului TRS 3.10 Se va scrie o aplicatie care interogheaza dispozitivele conectate in sistem si afiseaza valorile citite. in acest mod se stabileste adresa fiecarui dispozitiv.5 Cu ajutorul meniului de configurare se vor configura senzorii si Buzzerul. Protocolul MODBUS utilizează reprezentarea BigEndian pentru adrese şi date. Ethernet). Caracteristici principale: . Mersul lucrarii 3.

Structura de mesagerie Modbus este protocolul aplicaţie care defineşte regulamentului de organizare şi interpretare de date. de asemenea. Modbus TCP inglobeaza cadru standard de date Modbus într-un cadru TCP. cu o reţea standard (TCP / IP). care furnizeaza mediu de transmisie pentru Modbus TCP / IP de mesaje. Modbus-TCP) este pur şi simplu protocolul Modbus RTU cu o interfaţă TCP care ruleaza pe Ethernet.-MODBUS RTU/ASCII -32 per canal(2x canale disponibile) -până la 115. independent mediu de transmisie al datelor. Modbus TCP / IP foloseste TCP / IP şi Ethernet pentru a transporta date din structura mesajelor Modbus între dispozitive compatibile. Fiecare bit este expediat ca o tensiune.acesta combinatie TCP / IP este doar un protocol de transport. Funcţia primara a TCP-ului este de a a se asigura că toate pachetele de date sunt primite in mod corect. Acesti Biţi sunt transmisi foarte repede. Modbus. TCP / IP se refera la Transmission Control Protocol şi Internet Protocol. În esenţă. Datele sunt transmise sub forma unei sir de unu şi zero. numit biţi. Pur şi simplu . Cea mai simplă configurare ar fi cu un singur cablu de conectare seriala intre cele doua porturi ale dispozitivelor. iar 1 ca tensiuni negative.un master si un slave. care serveşte ca baza pentru World Wide Web. în timp ce IP-ul se asigura că mesajele sunt adresate si rutate in mod corect. precum şi o metodă standard de a reprezenta date (Modbus ca protocolul de la cerere). o lume la nivel standard. Reţineţi că. Zerourile sunt trimise ca tensiuni pozitive.mesajul Modbus TCP / IP este pur şi simplu o comunicare Modbus încapsulata într-un invelis Ethernet TCP / IP. În practică. Acesta este.2 Kbps -MODBUS TCP/IP -64 secundar (utilizând comunicaţie cu funcţie automată) -10/100 Mbaud Modbus TCP / IP (de asemenea. şi nu defineste ceea ce înseamnă datele sau modul în care datele urmează să fie interpretate (aceasta este treaba protocolul de aplicare. TCP / IP permite schimbare de blocuri de date binare între calculatoare. Modbus TCP / IP combină o reţea fizică (Ethernet). Modul de reprezentare al datelor şi funcţiile realizate sunt identice pentru toate cele trei protocoale de comunicare. O viteză de transmisie tipica este de 9600 baud (biţi pe secundă) . în acest caz). Modbus este transmis printr-o serie de linii între dispozitive. numai modul de încapsulare este diferit.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.