Sunteți pe pagina 1din 39

Universitatea Transilvania din Braşov

Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor


Departamentul de Automatică, Electronică şi Calculatoare

Tematica examenului de licenţă


de la programul de studii
Automatică şi Informatică Aplicată
sesiunea iulie 2012

Automate programabile
Calculatoare de proces şi sisteme de operare în timp real

1. Sisteme de informatică tehnică. Tehnologii utilizate pentru realizarea unei


automatizări.
Pentru realizarea unei automatizari se pot utiliza mai multe solutii:
- utilizarea unei tehnologii cablate, care presupune folosirea releelor electrice, pneumatice sau hidraulice
- utilizarea circuitelor integrate universale sau specializate pentru realizarea unor sisteme dedicate.
- utilizarea automatelor programabile AP
- utilizarea calculatoarelor de proces.
Deomeniul de utilizarea a fiecareia dintre solutii depinde de complexitatea automatizarii si de numarul de
echipamente identice. In figura este prezentat locul fiecarei solutii in realizarea unei automatizari.

Analizand figura rezulta urmatoarele:


- tehnologia cablata este utilizata pentru probleme in care complexitatea automatizarii este mica
- automatele programabile se utilizeaza in cazul in care complexitatea automatizarii este medie si trebuie
adaugat, acolo unde se cere flexibilitate.
- pentru un grad de complexitate ridicat se utilizeaza calculatoarele de proces CP
- utilizarea AP si CP se recomanda daca numarul de echipamente identice care urmeaza sa fie realizate nu
depaseste 50.
- pentru un numar mai mare de 50 de echipamente identice se recomanda dezvoltarea unei cercetarii proprii
care sa permita elaborarea unor module specializate pentru tipul de automatizare si utilizarea lor ca
echipamente inglobate.
Exista o suprapunere partiala a domeniilor de utlizare a solutiilor de automatizare. De exemplu realizarea
unor automate programabile performate permite folosirea lor in domeniul in care se folosesc cu aceleasi
rezultate calculatoarele de proces.

2. Noţiuni de condiţionare a semnalelor provenite din proces. Transformări rezistenţă-


tensiune, tensiune-curent, tensiune-frecvenţă. Amplificatoare instrumentale. Filtrarea
semnalelor. Izolarea galvanică. Noţiuni de bază asupra traductoarelor incrementale, de
proximitate şi convertoarelor analog-numerice şi numeric-analogice.

Noţiuni de condiţionare a semnalelor provenite din proces.


Realizarea conducerii unui proces cu ajutorul uni calculator se poate faceprincolectarea de informaţii de stare
din proces.Apoi pe calculator se întocmeşteun program de conducereşi setransmit spre elementele de
execuţie comenzi.
Informaţiile de la proces sunt furnizate de traductoare. Traductoarele sunt elemente care transformă mărimea
fizică provenită din proces într-un semnal electric, tensiune sau curent, pe care modulele calculatoarelor de
proces le pot prelua şi transforma în valori numerice. Aceste valori pot fi folosite pentru realizarea
programelor de conducere. De exemplu senzorii termoelectrici de temperaturăconvertesc temperatura într-un
semnal analogic pe care un modul de intrări analogice îl poate prelua. Deşi toate traductoarele, indiferent de
mărimea care o măsoară, trebuie să furnizeze mărimea fizicăîn semnal electric, sunt cazuri în care acestea nu
dau direct un semnal de tensiune sau curent şi transformarea trebuie realizatăprin intermediulunui hardware
separat, inclus în traductor sau într-o structură separatăpe care o vom denumi în continuare Sistem de
condiţionare a semnalelor(SCS) provenite din proces.

SCS este realizat ca o structurăseparată, care este situatăintre calculatorul de proces şi proces. Principalele
funcţii ale unui SCS sunt:
􀂄Adaptarea mecanicăla normele industriale de cablare;
􀂄Adaptarea electricăa semnalelor (amplificarea-atenuarea, prelucrări matematice simple, conversii de la
mărimi ne-electrice la tensiune/curent etc.);
􀂄Izolarea galvanicăşi protecţia împotriva supratensiunilor şi supracurenţior;
􀂄Filtrarea semnalelor;
􀂄Funcţii auxiliare de alimentare a traductoarelor şi elementelor de execuţie.

Transformarea rezistenţă-tensiune
Rt depinde liniare de alfa. U sursa de tensiune auxiliara Calculatorul nu poate prelua decat tensiune, deci
trebuie folosita o sursa auxiliara de tensiune si un divizor care sa dea o tensiune de iesire Ue dependenta de
𝜶. Dependenta este neliniara dar nu deranjeaza prea tare pentru ca acum sistemele de calcul au viteaza mare.
Puntea – solutia care se adopta pentru masurarile de efort, greutate etc. Majoritatea firmele nu ofera
rezistente variabile cu efortul ci punti de rezistente. Celem mai multe firme ofera traductoare cu AO legate
ca in figura

.
Ue este direct proportional cu marimea care se doreste a fi masutata.

Transformarea tensiune-curent
De foarte multe ori este necoie sa se aduca marimea de la proces, de la distante relativ mari. Aceasta duce la
influentarea preciziei de masurare. Din acest motiv se foloseste o transformare tensiune- curent, astfel incat
sa se transporte curent si nu tensiune. Daca legatura este complet izolata atunci pierderea de curent intre
punctele de colectare si calculatoarele de proces este minima, curentul Is nu depunde decat de Ui.
Inainte de a comanda un traductor de la o fabrica trebuie cunoscuta distanta dintre traducotr si calculatorul
de proces deoarece fabrica ofera ambele structuri.

Conversia tensiune-frecvenţă

Convertoarele tensiune-frecvenţă se utilizează pentru conversia semnalelor analogice însemnale numerice.


Un avantaj important este că informaţia de frecvenţă se poate transmite la distanţă, ca un semnal imun la
perturbaţii, care poate trece prin izolatoare galvanice (inductive sau optice) fără a fi afectat de erori de
frecvenţă.

Când tensiune de ieşire a integratorului depăşeşte pragul comparatorului acesta declanşează monostabilul,
care va închide contactul k un timp t1. Închiderea contactului k are ca efect introducerea în circuit a unui
generator de curent Ir, care provoacă o creştere a tensiunii de ieşire. La deschiderea întreruptorului k
tensiunea de ieşire B va reprezenta integrala cu semn schimbat a tensiunii de intrare rezultând o scădere
acestea. După un timp TUtensiunea de ieşire va depăşi pragul comparatorului şi fenomenul se repetă. De
obicei capacitatea C este fixă, iar valorile rezistenţei de intrare R şi a condensatorului de la circuitul
basculant monostabil se recomandă să fie alese astfel încât t1 să reprezinte 25% din TU.

Filtrarea semnalelor
O funcţie de circuit este raportul dintre transformata Laplace a unui răspuns şi transformata Laplace a unei

excitaţii.
Filtrarea – analogica – rapida cu AO, R,C. Dezavantaj – deriva componentelor – imbatrinire uzura.
- Numerica – folosita cu convertori, lenta initial, datorita vitezei de lucru a calculatoarelor, se pierdea
legatura cu procesul. Mai nou exista calculatoare foarte rapice, convertoare flash. Are avantajul ca ramane
valabila, daca este fine facuta, pana la distrugerea sistemului ce realizeaza filtrarea.

Proprietăţile funcţiilor de circuit:O funcţie de circuit este raportul a două polinoame în s

􀂄O funcţie de circuit este o funcţie reală în s, adică ia valori reale pentru valori reale ale lui s;

􀂄O funcţie de circuit are proprietatea de reflexie


􀂄Polii unei funcţii de circuit sunt în semiplanul stâng
􀂄Polii unei funcţii de circuit H(-s) sunt în semiplanul drept
􀂄Modulul şi faza unei funcţii de circuit

Un semnal discret (digital) se obţine din memorarea valorilor unui semnal continuu în anumite momente de
timp. Intervalul dintre două eşantioane se numeşte perioadă de eşantionare T. Valorile memorate se numesc
eşantioane, iar procesul de memorare se numeşte discretizare.
Realizarea hardware a unui filtru

Izolare galvanică
- Izolarea galvanica a unui semnal numeric cu leduri si tranzistori. Des folosita la frecvente relativ
mici. Pentru frecventa mare se folosesc structuri cu modulare/demodulare.

- Izolare galvanica prin modulare/demodulare


Amplificatorul instrumental

Convertoare analog numerice


- Se clasifica dupa – viteza si precizie
1 convertor cu conversie intermediara
2 convertor cu dubla integrare
3 convertor cu registru de aproximatii succesive – este cel mai folosit din cauza vitezei
4 convertor flash. – este practic instaneu, viteza de procesare a semnalului electromagnetic e infinita si este
viteza de lucru a convertoarelor flash.

Convertoare numeric-analogice
- Sunt de 2 tipuri – cu R ponderate si cu rezistente de tip R, 2R.
Insumarea unor tensiuni in functie de modul in care este inscris in registrul de date. Dezavantaj – trebuie
construite rezistente ponderate. Daca nu sunt exacte au influenta asupra iesirii.
Un CAN nu are intarziei decat cele datorate propagarii semnalelor electrice, adica foarte mici. Din momentul
incarcarii registrului de date contactele se deschid sau se inchid.

Cu rezistente de tip R, 2R. Avantaj – se realizeaza doar 2 tipuri de rezistente. Actiunea unui sumator sta la

baza obtinerii tensiunii analogice. Toate impedantele echivalente sunt 2R


Despre traductoare incrementale de rotaţie

Determinarea sensului de rotaţie 1 - Cele


2 semnale cand se rotesc in sensul sagetii. 2 - Cele 2 semnale cand se rotesc in celalalt sens.
Daca rotaţia are loc în sensul I, atunci conjuncţia între derivata semnalului B şi semnalul A realizează setarea
bistabilului de sens şi numărătorul va număra în sens direct. Dacă rotaţia are loc în sensul II, atunci
conjuncţia între derivata semnalului A şi semnalul B realizează resetarea bistabilului de sens şi numără-torul
va număra în sens invers.

3. Metode de descriere a unei automatizări secvenţiale. Grafuri de specificare. Reguli


de bază pentru alcătuirea unui graf. Reguli de evoluţie a unui graf. Principalele tipuri
de acţiuni. Reguli formale de descriere a unui graf.

Metode pentru descriere unei automatizări

Caietul de sarcini;
Descrierea simbolică sau grafică:
Utilizarea variabilelor logice pentru exprimarea condiţiilor sub forma unor ecuaţii logice;
Utilizarea de blocuri logice care realizează diferite funcţii logice;
Metodă grafică derivată din reţelele Petri, GRAFCET, numită şi graf de specificare. Graful de
impementare este un limbaj grafic
Grafuri de specificare.

Reguli de bază pentru alcătuirea unui program SFC


1.Se leagă etapele şi tranziţiile, care trebuie să fie strict alternante, cu arce;
2.Dacă mai multe etape trebuie legate de o tranziţie, atunci arcele care vin la aceiaşi tranziţie se regrupează

prin linii orizontale, numite convegenţeAND;


3.Dacă mai multe etape urmează unei tranziţii, atunci se regrupează arcele care duc spre etape cu ajutorul

unei linii orizontale duble numită divergenţă AND;

4.Dacă mai multe tranziţii sunt legate la o singură etapă, în sensul spre etapă, arcele se grupează printr-o
linie orizontală simplă, numită convergenţă OR;

5.Dacă mai multe arce sunt legate la o etapă, în sensul de la etapă, atunci ele se regrupează printr-o linie

orizontală simplă, numită divergenţa OR;

6.Realizarea unui salt condiţionat: Dacă …atunci ….

.
7.Realizarea de bucle

Evoluţia unui graf

Regula nr. 1. Starea iniţială


Starea iniţială este reprezentată de etapele care sunt active la început. Trebuie să existe cel puţin o stare
iniţială.
Regula nr. 2. Validarea unei tranziţii
O tranziţie poate fi validată, imediat ce etapele care o preced sunt active. În caz contrar tranziţia este
invalidată.
Regula nr. 3. Evoluţia etapelor active.
O tranziţie poate fi parcursă dacă este validată şi condiţia asociată tranziţiei este adevarată. Parcurgerea unei
tranziţii are ca efect activarea tuturor etapelor care urmează tranziţiei şi dezactivarea etapelor care preced
tranziţia.
Regula nr. 4. Evoluţia simultană
Dacă mai multe tranziţii au condiţii de parcurgere, ele sunt parcurse simultan. Parcurgerea unei tranziţii are o
durată foarte scurtă, dar diferită de zero. Dacă două tranziţii succesive , separate de o etapă, au condiţia de
parcurgere frontul aceleiaşi variabile, atunci sunt necesare două fronturi pentru a parcurge cele două tranziţii.
Regula nr. 5. Activarea şi dezactivarea simultană
Dacă în cursul evoluţiei unui graf, o etapă are simultan condiţii de activare şi dezactivare atunci ea rămâne
activă

Tipuri de acţiuni

Acţiuni continue
Acţiuni memorate

Acţiune retardată

Acţiune limitată în timp

Acţiuni la intrarea/ieşirea din etapă


Acţiuni în impuls

Reguli formale de descriere a unui graf

4. Principiul de funcţionare al automatelor vectoriale (AP). Deosebirile principale între


AP şi calculatoarele informatice sau de proces. Ciclurile unui automat vectorial.

Automatele programabile vectoriale AP sunt microcalculatoare simple, care sunt construite special pentru a
trata prin program problemele de logica secventiala. Ele sunt folosite pentru a inlocuii automatizarile
secventiale realizate cu contacte si relee. Intr-o forma generala AP, poate fi considerat ca un echipament care
permite legaturi logice intre un numar mare de intrari si iesiri, fara circuite de interfata suplimentare. Acest
echipament simuleaza software structuri de porti integrate, substituind configuratia cablata printr-o structura
programabila. Aceste sisteme ofera mai putine facilitatii decat calculatoarele de proces sau informatice, dar
pot fi utilizate de un personal mai putin calificat datorita limbajelor orientate pe aplcatii. Derularea unui
program pe un astfel de sistem este sincrona, ceea ce elimina multiplele complicatii care apar in cazul
programelor realizate cu mai multe fire. AP sunt constuite speciale pentru a functiona in medii industriale,
avand procetiile necesare impotriva mediului poluat din industrie, si avand interfete adaptate pentru
traductoarele si elementele de actionare cele mai utilizate din industrie. AP sunt construite pentru a inlocui
circuitele cu contacte si relee. Ele lucreaza doar cu variabile booleene, avand deci o unitate centrala simpla.
Pentru aplicatiile mai evoluate, exista in present AP de mare performanta care se apropie de complexitatea
calculatoarelor. Aceste AP lucreaza cu cuvinte de 8,16,32 de biti si pot efectua operatii aritmetice in virgula
mobila. Tipurile de AP disponibile pe piata sunt foarte variate, iar caracteristicile lor variaza de la un
constructor la altul .
Arhitectura unui AP este foarte asemanatoare cu a unui microcalculator. Ea contine o unitate centrala de
prelucrare, memorie, module de intrare/ iesire. Desi structura este asemanatoare exista cateva deosebiri intre
structura unui AP si cea a unui microcalculator. O prima deosebire importanta intre AP si calculatoare se
refera la memorie. In timp ce la calculatoarele informatice si de proces nu exista nici o deosebire intre
memoria utilizata de sistem pentru programe si pentru date, la AP memoria utilizata pentru date si cea
utilizata pentru program este organizata la adrese diferite. Aceasta solutie este impusa de faptul ca de cele
mai multe ori programele, o data elaborate si testate, sunt incarcate in automat si nu sunt modificate si deci
pot fi memorate in memorii de tip ROM, fiiind in acest fel si mai bine protejate de eventuale intreruperi
accidentale ale alimentarii cu energie electrica. Memoria pentru date, care este de tip RAM, este organizata
conceptual cu acces la nivel de bit si este impartita in trei zone distincte:
- zona rezervata pentru pastrarea imaginii intrarilor
- zona rezervata petnru pastrarea imagini iesirilor
- zona rezervata variabileoor de program si sistem.
Fiecare bit al zonelor, care memoreaza imaginea intrarilor si iesirilor este asociat de catre automat cu o
intrare sau o iesire binara. Din aceasta cauza programatorul nu trebuie sa se preocupe de realizarea de operaii
de intrare/iesire, aceasta lucrand doar cu tre tipuri diferite de variabile, variabile de intrare, variabile de iesire
si variabile interne. De celem mai multe ori aceste variabile sunt reprezentate prin simboluri, care incep cu
litere prefizate diferit.
Pentru elaborarea corecta a unui program un utilizatori trebuie sa stie ca la sfarsitul fazei de citire, zona de
memorie de date, care contine imaginea variabilelor de itnrare, contine starea intrarilor automatului, iar la
sfarsitul fazei de tratare, utilizatorul trebuie sa fi realizat setarea imaginilor din memorie a iesirilor, pentru ca
acestea sa poate fi transferate in faza de actualizare la iesirile automatului.
O alta deosebire consta in modul de executie a unui program. In timp ce la calculatoarele de proces sau
informatice, un program este activat de catre sistemul de operare si se executa in regim monotasking sau
multitasking, incepand de la prima instructiune pana la terminare, la AP se executa in regim monotasking un
ciclu infinit care are 3 faze – citire intrari – tratare – actualizare iesiri.
Pentru automatele mai complexe, la inceputul unui ciclu s-a introdus o faza de procesare interna, numita IP,
in care se realizeaza operatii specifice, cum ar fi citirea starii butoanelor de pe panou, actualizarea lampilor
de pe panoul operator.
Unele firme realizeaza automate programabile care au posibilitatea de a realiza ciclu intr-un timp dat. Daca
ciclul se termina mai repede dacat timpul setat pentru ciclu, atunci se introduce o faza de asteptare.
Pentru a imbunatatii sincronizarea dintre automat si procesul condus, unele automate lucreaza cu cicluri in
care operatiile de intare sau de iesire sunt imbricate cu faza de tratare propriu zisa. Cu aceasta organizare a
ciclului, programarea AP este foarte mult simplificata, deaorece toate operatiile de intrare/ iesire sunt
implicite. Cunoasterea duratei ciclului pentru un anumit program de automatizare este foarte importanta
pentru a putea aprecia modul de raspuns al unui automat la informatiil din proces.

5. Limbaje de programare pentru AP. Obiectele principale ale limbajellor LAD, FBD şi
STL. Studii de caz.

LD (LadderDiagram),care permite programarea aplicaţiilor într-o manieră asemănătoare cu proiectarea unui


circuit cu contacte şi relee. Limbajul operează numai cu variabile booleene;

Un program în limbajul LAD este alcătuit din reţele, care utilizează simboluri grafice (obiecte).
Fiecare reţea trebuie să înceapă cu o intrare(i) şi să se termine cu o ieşire(i).
Obiectele limbajului (pur)
În LAD se pot folosi adrese ale variabilelor de memorie internă, atât pentru obiectele de ieşire cât şi pentru
obiectele de intrare. Dacă este vorba de obiecte de ieşire aceste se mai numesc şi relee interne.

Un program în limbajul LAD se execută de sus în jos şi de la stânga la dreaptanu ca o execuţie de tip
sincron, care presupune că toate releele operează deodată, ci ca o execuţie asincronă, care presupune că
fiecare releu operează atunci când primeşte semnalul.

oscilator, one shot, bistabil R-S

LimbajulFBD (Function Block Diagram)

Este un limbaj grafic.


Un program FBD este alcătuit dintr-o serie de blocuri de funcţii elementare, conectate între ele prin linii de
legătură. Fiecare bloc are un număr de intrări şi ieşiri. Blocul este reprezentat printr-un dreptunghi. Intrările
sunt în stânga, iar ieşirile sunt în dreapta. Un bloc elementar execută o singură funcţie. Intrările unui bloc pot
fi conectate la variabile de intrare sauinterne. Ieşirile unui bloc pot fi conectare la variabile de ieşire sau
interne. Tipul variabilelor de I/O este precizat de către furnizor în HELP. Fiecare bloc are o intrare de
validare: EN şi o ieşire de test ENO. Când EN este FALSE, operaţiile definite de bloc nu se execută. Când
operaţiile blocului s-au executat ENO devine TRUE. Dacă la execuţia blocului a apărut o eroare ENO devine
FALSE.
Tipuride blocuri

Blocuri standard:

Blocuri de manipulare a datelor (asignare: MOV);


Blocuri pentru operaţii booleene (AND, OR , XOR);
Blocuri aritmetice (Adunare, scădere, înmulţire, împărţire);
Blocuri de comparaţie (efectuează operaţii logice: mai mare, mai mic etc.).

Blocuri speciale:

Bistabile R-S şi S-R;


Blocuri de detecţie a fronturilor;
Contoare şi temporizatoare;
Blocuri de procesare de semnal (Regulatoare PID, Trigger Schmitt, integratoare, derivatoare, generatoare de
numere aleatoare etc.);
Blocuri generatoare de semnal (Semnaldreptunghiular, PWMetc.);
Blocuri matemetice (Calcul de valoare absolută, exp, log etc)
Contor CTU
LimbajulIL(InstructionList)

Instruction List(IL) sau StaTementList(STL) este un limbaj de nivel jos, definit ca parte a normei IEC
61131. El este utilizatpentru realizarea aplicaţiilor mici sau pentru optimizarea codului anumitor părţi ale
unor aplicaţii. IL se bazează pe AWL (AnWeisungsListe) elaborat de firma Siemens, care utilizează modelul
cu un singur acumulator. Limbajul este nivelul de bază al limbajelor de programare pentru AP -toate
celelalte limbaje de programare putând fi convertite la programe IL. Conversia inversă, adică din alte
limbaje de programare pentru AP în IL, nu este întotdeauna posibilă. Un program scris în limbaj de IL este o
secvenţă de mnemonici (nume simbolice) care va fi convertită în cod executabil prin operaţii de asamblare şi
editare de legături.
Operatori de transfer(LD şi ST sau =).Datele pot fi transferate de la memorie la acumulator şi invers;
Exemplu:
LD %I0.0 (*ÎncarcacontinutulintrariiI0.0 în acumulator*)
ST %Q1.0 (*Transfera la iesireaQ1.0 continutulacumulatorului*)
= %Q0.0 (*Transfera la iesireaQ0.0 continutulacumulatorului*)
Operatori de setare/resetare(S (Set) şi R (Reset)). Realizează setarea, respectiv resetarea operanzilor;
Exemplu:
S %M0.0 (*Seteazabitul M0.0*)
R %M0.1 (*Reseteazabitul M0.1*)
Operatori logici(AND, OR, XOR). Realizează funcţii logice între conţinutul operandului şi
acumulator;Exemplu:
AND %M0.0 (*Realizeazaconjunctialogica intre acumulator si M0.0 *)
OR %M0.0 (*Realizeazadisjunctialogica intre acumulator si M0.0 *)
XOR %M0.0 (*RealizeazaSAU EXCLUSIV intre acumulator si M0.0 *)
Operatori de transfer(MOV). Datele se transferă între o sursă şi o destinaţie. Operatorul are o literă
suplimentară pentru a specifica felul datei: B, dacă este un transfer de octet, W, dacă este un transfer de
cuvânt sau DW, dacă este un transfer de dublu cuvânt. Instrucţiunea are doi operanzi: sursa şi destinaţia.
Exemplu:
MOVB %MB0, %MB1 (*Realizeazatransferul din MB0 in MB1*)
MOVW %MW0, %MW1 (*Realizeazatransferul din MW0 in MW1*)
Operatori aritmetici(ADD, SUB, MUL, DIV). Realizează operaţiuni aritmetice între operanzi.Exemplu:
LD a (*Incaracaa in acumulator*)
ADD b (*Aduna cu b*)
ST c (*c=a+b*)
Operatori relaţionali (GT, GE, EQ, NE, LE, LT). Compară operanzii şi setează acumulatorul în funcţie de
rezultatul comparaţiei. Exemplu:
LD a (*Încarcaa în acumulator*)
GT b (*Compara cu b*)
ST bol (*Memoreazarezultatul comparatiei*)
LD b (*Încarcab în acumulator*)
GT a (*Compara cu a*)
ST bo2 (*Memoreazarezultatul comparatiei*)
Operatori de salt(JMP, CALL, RET)
6. Proiectarea programelor pentru AP. Metoda activării şi dezactivării sincrone.
Metoda programării directe a acţiunilor. Studii de caz.
Metoda activării şi dezactivării sincrone
Se vor folosi pentru fecare etapa locatii de memorie interna conform unei harti de memorie pe care
programatorul o va completa inainte de inceperea programarii propriu-zise. De asemenea, se vor folosi
locatii de memorie pentru functiile de parcurgere a tranzactiilor si petnru functiile de activre si dezactivare a
etapelor. Programul incepe cu calculul functiilor de parcurgere a tranzactiilor, fara sa se schimbe starea
activa sau inactiva a etapelor. Se calculeaza apoi functiile de activare si dezactivare a etapelor. In acest punct
programul dispune de toate informatiile pentru calculul noilor valori ale variabilelor atasate etapelor. Relatia
de calcul pentru noile valori ale variabilelor atasate etapelor va asigura o valoare egala cu 1 pentru variabila
respectiva, daca functia sa de activare este 1 sau daca functia de dezactivare este 0 si valoarea sa in ciclul
precedent a fost 1. Noua valoare a variabilei atasate etapei va fi 0, daca functia sa de activare este 0 si
valoarea anterioara a fost 0, sau daca valoarea sa anterioara a fost 1, dar functia de dezactivare este 1.
Apoi in functie de valorile variabilelor atasate etapelor, se stabilesc actiunile. Reprezentarea schematica a
metodei activarii si dezactivarii sincrone este in figura:

Introducerea marcajului iniţial


Elaborarea unui program cu metoda activării – dezactivării sincrone
1.Se întocmeşte graful automatizării, după caietul de sarcini;
2.Se scriu funcţiile:de parcurgere a tranziţiilor, activare şi dezactivare a etapelor şi formulele de calcul a
noilor valori ale variabilelor asociate etapelor;
3.Se întocmeşte o hartă de memorie internă în care introduc variabilele:funcţiile de parcurgere a tranziţiilor,
funcţiile de activare, funcţiile de dezactivare şi variabilele asociate etapelor;
4.Se întocmeşte o tabelă cu legarea variabilelor la intrările şi ieşirile automatului;
5.Se editează tabela de simboluricu toate variabilele
6.Se scrie programul conform schemei logice.

Programarea directă a acţiunilor


Realizarea unui program prin programarea directa a actiunilor presupune utilizarea blocurilor disponibile
pentru implementarea functiilor logice pentru marimile de iesire in functie de intrari. Aceasta este o metoda
rapida pentru realizarea de programe, dar poate genera erori pentru cazurile mai complicate. In cazurile
simple, pornind de la un tabel de adevar al functiei care se doreste a fi implementata pentru o anumita iesire
se va realiza o minimizare a acesteia iar apoi se programeaza realizarea acestor functii. O simplificare
importanta se poate realiza daca se utilizeaza in proiectare bistabile R-S. Pentru a realiza o astfel de
proiectare se alcatuieste un tabel in care se trec actiunile si intrarile care realizeaza activarea, respectiv
dezactivarea acestora. Daca conditiile de activare sau dezactivare sunt complexe, se utilizeaza blocuri logice
sumpliemntare pentru obtinerea conditiilor respective. Trebuie sa se tina seama ca exista cazuri cand
actiunile unui sistem trebuie sa fie blocate. Blocarea inseamna ca o anumita actiune nu poate fi setata decat
atunci cand sunt indeplinite anumite conditii.
Blocarea reciprocă a acţiunilor
- Se poate realiza o blocare reciproca a 2 actiuni atat pe intrarea S cat si pe intrarea R.

Blocarea pe S

Blocarea pe R
7. Reţele de automate. Reţele AS-i şi PROFIBUS.

Retele ASi
ASi este o subretea pentru nivelul cel mai jos si este optimizata pentru interfatarea cu senzori sau elemente
de executie binare. O retea AS-i poate fi privita ca o inlocuire a cablului traditional. Principalele avantaje ale
AS-i sunt:
- combina intr-un singur cablu alimentarea si comunicatia de date
- reduce consumul de material si munca
- creste siguranta in functionare.
AS-i este o structura de retea industriala cu un singur master si mai multi slave. In cadrul unei operatii
normale, dispozitivul master transmite ciclic comenzi catre toate dispozitivele slave si va primi raspunsul
acestora. Scopul unei retele AS-i este alimentarea cu energie si schimbul de informatii intre un master si
Statiile slave. Pentru realizarea acestui lucru s-a adoptat un model de comunicatie, care asigura codificarea
informatiei fara componenta de curent continuu. Mesajele sunt codate in cod Manchester. Senzorii si
elemeneltele de actionare, care au un ship AS-interface de tip slave pot fi conectati direct pe linia AS-i.
Celelalte elemente se conecteaza prin intermediul unor unitati AS-i slave. Prin intermediul unor porti un
sistem AS-i poate fi legat in mod transparent, ca dispozitiv slave, la un nivel de transport superior. N afara
de acest schimb ciclic de date dispozitivul master paote cauta pe reta noi dispozitive slave care au fost
eventual adaugate. O alta operatie posibila pe o retea AS-i este aceea a transmiterii unei comenzi catre un
anumit dispozitiv slave. Numarul maxim de dispozitive slave a fsot 31, dar mai nou se pot conecta 63 de
astfel de dispozitive, datorita extinderii cu inc un bit a zonei de adresa. Un dispozitiv AS-i slave va raspunde
la cererile primite de la master. In cadrul unei cereri este precizata adresa dispozitivului careia este adresata.
Fiecare dispozitiv va avea o adresa proprie, memorata in memoria nevolatila. Aceasta adresa este fixata de
producator, de obicei 0. Ea poate fi schimbata prin intermediul unor dispozitive speciale ca urmare a unor
comenzi de la master. Fiecare dispozitiv slave are pana la 4 biti de intrare si pana la 4 biti de iesire.
Specificatia AS-i descire actiunile desfasurate de master.
Initializare - Imagine tabelei de intrări a dispozitivului slave este resetată. Aceasta nu înseamnă că este şi
starea reală a senzorilor asociaţi dispozitivului slave. Imagine tabelei de ieşiri a dispozitivului slave este
resetată. Aceasta nu înseamnă că este şi starea reală a senzorilor asociaţi dispozitivului slave. Orice
parametrii predefiniţi sunt memoraţi în zona de memorie corespunzătoare.
Tabelul LDS este resetat în 0. Tabelul LAS este resetat în 0.
Tabela de configurare este încărcată cu FFhex, arătând ca configuraţia este invalidă. Indicatorul de
configuraţie OK este resetat în 0. Indicatorul care autorizează faza de schimb de date este resetat în 0.
Activare slave - Configuration mode. În acest mod toate dispozitivele slave conectate la AS-i sunt activate.
Nu se ţine seama de diferenţele între dispozitivele slave de tip potenţial şi dispozitivele slave conectate de
fapt. În acest mod nu este posibilă adresarea automată.
Protected mode. În acest mod, adoptat de cele mai multe sisteme dispozitivul master va activa numai
dispozitivele slave care sunt conectate la sistem. Este posibilă adresarea automată.
Management - Constă în schimbul de date între master şi fiecare slave. Dacă apare o eroare atunci se mai
fac trei încercări în următoarele cicluri. Dacă după trei încercări nu se reuşeşte se consideră că dispozitivul
slave este defect sau lipseşte, datele sale sun şterse din tabelele corespunzătoare din dispozitivul master. Aşa
cum vom vedea mai jos o tranzacţie durează cca. 156 μS, deci pentru 31 slave este necesar cca. 4.84 ms.
Schimb de date - Constă în tranzacţii aciclice în care dispozitivul master transmite comenzi particulare către
un dispozitiv slave. Aceste comenzi pot fi: scrierea de parametri, citirea stării, citirea configuraţiei, citirea
adresei etc. Ca şi în faza de schimb de date, dacă apare o eroare atunci se mai fac trei încercări.

Controlul unei reţele AS-i


Accesarea datelor din procesorul de comunicaţie se face în funcţie de structurile hardware cu care este
prevăzută placa de reţea şi care pot fi accesate din programul de pe automat. Aceste lucruri rezultă din
documentaţia, care însoţeşte placa de comunicaţie şi de protocolul care este folosit pentru ca, de la nivel
utilizator să se controleze procesorul de comunicaţie.
Control:Accesarea datelor unei reţele AS-i din programe de automatizare, care rulează pe aceste automate
programabile. Acest lucru se realizează la nivelul utilizator
Un registru de stare, în care se găsesc informaţii referitoare la modul de lucru al procesorului de comunicaţie
(modul protejat sau modul de configurare) şi despre starea sa (dacă este sau nu operaţional). Acest registru
este privit, din punct de vedere al automatului, ca un registru de intrare.
Un registru de comandă, prin intermediul căruia se pot da comenzi procesorului de comunicaţie. Acest
registru este privit, din punct de vedere al automatului, ca un registru de ieşire.
Bancuri de memoriede intrare şi ieşire, selectabile prin intermediul registrului de comandă. Bancurile de
memorie conţin date, ac-tualizate de procesorul de comunicaţie privind datele reţelei AS-i.

Transmiterea datelor analogice pe AS-i


Semnalul analogic, digitizat de convertorul din dispozitivul slave, este împărţit în mai multe părţi şi transmis
în mai multe cicluri. Un semnal analogic de 12 biţi necesită 6 cicluri (la versiunea 2.1 timpul necesar este de
6 ms). Dispozitivul slave care suportă transmisia semnalelor analogice are inclus un convertor A/D.
Registrul de ieşire la convertorului păstrează valoarea unei conversii până când toţi biţii sunt transmişi pe
linie şi abia după aceea iniţiază o nouă conversie A/D. Este pus la punct un mecanism de handshake între
master şi slave. Masterul verifică dacă dispozitivul slave a răspuns, iar dispozitivul slave verifică dacă
masterul cere repetarea ultimei date analogice transmise sau dacă cere o dată nouă.

Reţele PROFIBUS
Standardul PROFIBUS a fost introdus în Germania în anul 1989 şi a fost ulterior acceptat ca standard
internaţional. PROFIBUS este o reţea de mare viteză pentru echipamente distribuite. Are trei versiuni
compatibile:
- PROFIBUS DP(Decentralized Periphery), care este o reţea de mare viteză, de cost redus şi cu un nivel de
comunicaţie simplu (90% din reţele);
- PROFIBUS FMS(Field bus Message Specification), care constă în aplicaţii de nivel înalt de comunicaţie,
utilizate în celule de control complex;
- PROFIBUS PA(Process Automation), dezvoltată pentru automatizarea proceselor, în special în zone
periculoase.DP şi FMS au acelaşi mediu de transmisie (RS-485), în timp ce PA utilizează tehnologia MBA
(Manchester coding and Bus Powered).
Vitezele de transmisie pentru DP şi FMS sunt: 9,6 Kbps, 19,2 Kbps, 93,75 Kbps187 kbps, 500 Kbps, 1,5
Mbps, 3 Mbps, 6 Mbps, 12 Mbps.
Pentru PA viteza este 31,25 Kbps.
O reţea este alcătuită din mai multe segmente, care se realizează utilizând repetoare. Fiecare segment trebuie
să aibă la capete conectată o impedanţă egala cu impedanţa caracteristică a reţelei.
Numărul maxim de staţii este 32, fără repetoare şi 124 cu 3 repetoare
Nivelul legăturii de date. Protocolul de comunicaţie
PROFIBUS utilizează un protocol bazat pe cadre de octeţi. Cadrele sunt de lungime variabilă. Cei mai mulţi
utilizatori folosesc un chip special (SPC3), care are înglobat protocolul PROFIBUS. Comunicarea înseamnă
transmitere şi recepţionarea de mesaje numite telegrame. Numai dispozitivul master poate iniţia o
comunicaţie, în timp ce dispozitivele slave răspund la solicitările masterului propriu.
DP suportă implementarea a două tipuri de reţele: mono-master(master-slave) şi multi-master (metoda
transmiterii jetonului).
Componenta principală a unei reţele mono-mastereste un AP. Dispozitivele slave sunt cuplate prin
intermediul mediului de transmisie. Nodurile active din inelul logic au o ordine dată, care nu depinde de
poziţie. Dreptul de acces la reţea este legat de deţinerea jetonului. Jetonul este pasat, după un timp unui alt
nod activ, în ordinea logică. Nodurile pasive nu pot recepţiona jetonul.Jetonul este o telegramă specială
trimisă de master şi adresată altui master din inelul logic într-un timp care să nu depăşească o perioadă
maximă configurabilă.
Configurareaunei reţele PROFIBUS
Configurarea unei reţele PROFIBUS înseamnă alegerea componentelor reţelei şi legarea lor în reţea
(configurare hardware) precum şi setarea anumitor proprietăţi printre care atribuirea unor parametri
programabili pentru fiecare componentă, care sunt ceruţi de funcţionarea corectă a reţelei. Cel mai comun
parametru configurabil este adresa. Multe reţele mai necesită setarea şi a altor parametri, cum ar fi viteza de
comunicare. Unele reţele au capacitatea de autoconfigurare, ceea ce înseamnă că atribuirea parametrilor se
face automat.Pentru configurarea unei reţele PROFIBUS este necesar, în afara realizării fizice, de un
dispozitiv de configurare, care poate fi un calculator dedicat cu facilităţi de comunicare pe reţea.Alternativa
la utilizarea acestor dispozitive este utilizarea unui PC, căruia i se ataşează o interfaţă specială de
comunicaţie pe PROFIBUS sau MPI. Pe aceste calculatoare rulează programe speciale: COM PROFIBUS,
Step 7 Manager etc.Programele dispun de o bibliotecă specială de descriptoare de dispozitive (GSD).
Aceasta bibliotecă este livrată de constructorul de dispozitiv dar poate fi completată şi de utilizatori atunci
când apar noi dispozitive.
Configurareaunei reţele PROFIBUS
Pentru integrarea dispozitivelor într-o aplicaţie PROFIBUS oferă trei tehnologii:
-GSD (GeneralStation Description). GSD este un fişier de tip text pus la dispoziţie de producător. El descrie
proprietăţile dispozitivului în ceea ce priveşte comunicaţia pe PROFIBUS. El este interpretat de programele
de configurare sau sunt folosite pentru a genera biblioteci de dispozitive care sunt folosite apoi de
programele de configurare. GSD este suficient pentru integrarea într-o reţea PROFIBUS în vederea
schimbului de date.
-EDD (Electronic DeviceDescription). EDD este un fişier de tip text utilizând un limbaj special EDDL şi
este utilizat în paralel cu GSD. El desrie facilităţile de comunicaţie aciclice (orientate pe aplicaţie), inclusiv
opţiunile grafice. Este independent de sistemul de operare.
-DTM (DeviceTypeManager). Acesta este un sistem de operare al dispozitivului PROFIBUS sub forma unor
componente software şi care cuprinde GSD.
O reţea, care este configurată, poate fi folosită pentru schimbul de date. Accesul la datele din proces atât la
scriere cât şi la citire este posibil sub forma accesului la date dintr-o zonă numită ProcessImage(PI pentru
ieşiri şi PQ pentru intrări) care trebuie definită atât la master cât şi la dispozitivele slave, în faza de
configurare. Deci pentru transmiterea datelor pe o reţea programatorul aplicaţie nu trebuie decât să încarce
sau să se citească zona de memorie PI cu date la momentul la care doreşte transmiterea lor pe reţea. IM
151sunt module ale firmei SIEMENS pentru realizarea unei interfaţări cu module de tip ET 200M I/O. Ele
se montează în faţa a 8-12 module I/O produse de firmă. Modulele sunt asamblate pe un profil de tip şină
(rail). Modulele sunt asignate respectivului masterîn procesul de configurare. Această cuplare se numeşte
mod izocron şi este acceptată de modulele ET 200 M. Realizarea unei reţele PROFIBUS este extrem de
simplă. Singura precauţie este că modulele IM 151 trebuie să aibă adrese identice cu cele din configurare.
Adresele fiecărui modul IM se stabilesc hardware prin intermediul unor comutatoare de pe modul. Dacă
acest lucru este realizat corect, modulele de tip ET 200M vor fi adresate în cadrul programului ca şi când ar
fi extensii situate pe aceeaşi şină cu unitatea centrală.

8. Panouri operator. Structura hardware a unei aplicaţii de monitorizare şi control cu


AP şi panou operator.
Prezentare generală

-Permit realizarea unor interfeţe cu operatorul uman


-Se află în comunicaţie permanentă cu automatul, realizând o comunicare bidirecţională periodică
-Au inteligenţa proprie (posedă un CPU)
-Realizează, prin intermediul unor obiecte de pe unul sau mai multe ecrane, două tipuri de acţiuni :
-Afişează informaţii din proces;
-Permit setarea/monitorizare valorilor din memoria automatului (memorie interna, intrări şi ieşiri).
-Se configurează printr-un soft specializat

Configurarea unei HMI presupune definirea următoarelor:


􀂄Ecrane de proces. Ecran de start;
􀂄Taguri pentru transferul datelor de la AP. Taguri interne şi taguri externe; 􀂄Alarme pentru afişarea stărilor
în execuţie. Ferestre speciale;
􀂄Jurnale (Log) pentru salvarea unor date referitoare le proces folosite pentru memorarea valorilor unor
taguri externe sau interne
Obiecte:
􀂄Câmpuri numerice sau alfa-numerice de intrare/ieşire;
􀂄Butoane sau comutatoare pentru acţiuni asupra procesului sau cu funcţii de comutare la alte ecrane;
􀂄Câmpuri simbolice sau grafice de intrare/ieşire;
􀂄Afişări de obiecte grafice în diferite standarde;
􀂄Grafice de diferite tipuri şi afişoare analogice;
􀂄Obiecte dinamice;
􀂄Afişare de alarme.
Structura unui proiect în WinCC flexible
􀂄Un proiect conţine următoarele elemente
􀂄Ecrane (a căror ierarhie poate fi definita ulterior)
􀂄Configuraţiile comunicării cu AP
􀂄Alarme (analogice şi discrete)
􀂄Setări suplimentare (de ex: ecranul de start, aspectul barei de navigare)
􀂄WinCC flexibledispune de un simulator intern, dar care este necorelat cu simulatorul din Step 7 Manager
Obiecte disponibile în WinCC flexible
􀂄Există mai multe categorii de obiecte:
􀂄Obiecte simple (de ex: forme geometrice, câmpuri de intrare/ieşire, butoane, etc.)
􀂄Obiecte înglobate (de ex: alarme)
􀂄Obiecte grafice (de ex: motoare)
􀂄Biblioteci suplimentare
􀂄Fiecare obiect poate fi configurat individual, modificându-se:
􀂄Setările generale
􀂄Aspectul
􀂄Animaţiile
􀂄Evenimentele
Comunicare între automat şi PO
􀂄Comunicarea se realizează prin intermediul tag-urilor,
acestea se definesc la categoria Communication–Tags
􀂄Un tag poate să fie legat fie cu o zonă de memorie a automatului fie cu o variabilă definita în SymbolTable
în cadrul proiectului în Step 7 Manager
􀂄Aceste tag-uri vor fi apoi puse în legătură cu diverse obiecte de pe ecrane (de ex: câmpuri IO, butoane,
etc.)

9. Schemele bloc ale modulelor de I/O digitale, I/O analogice, I/O în impulsuri pentru
automate programabile şi calculatoare de proces. Exprimarea în unităţi SI a mărimilor
achiziţionate din proces.

Module de intrări digitale

Module de ieşiri digitale


Module de intrări analogice
- Domeniul de masura- tensiunea maxima ce poate fi achizitionata
- Rezolutia- cat este intre 2 tensiuni pe care le poate distinge convertorul
- Amplificarea- pentru precizia masurarii este importanta achizitia cu convertorul cat mai plin
- Rata de esantionare- trebuie sa fie cel putin 2 fata de cea mai mare frecventa a semnalului
achizitionat
-

Module de ieşiri analogice


- Exista 2 tipuri de module de iesiri analogice:
o Cu un convertor numeric analogic la iesiri
o Cu un convertor numeric analogic pe fiecare canal
- Are o unitate de comanda proprie simpla
- 2 registrii
o de comanda- selectarea cailor de la mux catre iesiri
o de date- se incarca data de convertit
Module de intrări în impulsuri
- are o structura de adresare care se face prin legarea la bus-ul de adrese si de comenzi
- continutul numaratorului se poate incarca sau citit pe magistrala de date a calculatorului de
proces.
- cu aceste module se doreste preluarea de semnale de la traductoare incrementale care dau
impulsuri

10. Automate microprogramate. Schema bloc. Micro-secvenţiatoare.


Principiile microprogramării
Adresă

Intrări Memorie
Secvenţiator de
microprograme

Secvenţiere

Ieşiri

Automat microprogramat

Bus de adrese

DI
ROM-INT
RI

INT Microsecventiator

Y
TC

CLK

ROM-CMS
Memorie
de
microprograme
A0 A4-A1
MUX-C

Intrari

OE RPL

MUX-P

Iesiri

Implementarea unui set de instructiuni


1. Se face prin inscrierea in memoria ROM-CMS a unor cuvinte;
2. Daca instructiunea este neconditionata se inscriu aceleasi date la adresa para si la cea impara.
Indiferent de bitul de conditie comanda spre restul structurii este aceeasi;
3. Daca instructiunea este conditionata la adresa impara se scrie comanda in cazul in care conditia este
indeplinita, iar la adresa para, comada in cazul in care conditia nu este indeplinita.
Instructiunile neconditionate ale AP
JP Salt neconditionat. Adresa urmatoare din RPL
FOR Inceput de bucla: Se incarca numaratorul de bucle cu un numar din registrul RPL. Se salveaza in
stiva microPC adresa urmatoare din microPC.
LDNB Se incarca NB din RPL. Adresa urmatoare din microPC
CONT Continue. Adresa urmatoare din microPC
RET Revenire din procedura. Adresa urmaroare din stiva
INT Apel neconditionat de rutina de intrerupere. Adresa urmatoare se ia din ROM-INT. Se salveaza in
stiva microPC
Instructiunile condiţionate ale AP
CJS Apelt conditionatde procedura a carei adresa este in RPLin cazul in care conditia este indeplinita.
CJP Salt conditionat la adresa din RPL.
CJSRP Apel a doua rutine diferite: de la o adresa din NB, in cazul in care conditia nu este indeplinita si de la
o adresa din RPL, in cazul in care conditia este indeplinita.
NEXT Repeta daca numaratorul de bucle este diferit de 0
Structura unui microsecvenţiator

LD FE
NB microSP
EN PUP

TC
STIVA

S0
MUX microPC
CLK
S1

RESET
AND INCREMENTOR

OE

11. Controlul motoarelor de curent continuu cu amplificatoare PWM şi calculatoare de proces.


Pentru comanda unui motor de c.c se foloseste PWM. Se comanda cu o anumita frecventa cele 2 diagonale
alcatuite din tranzistorii T1, T2 si T3, T4. +Ua – tensiunea aplicata motorului cand T1,T2 sunt comandate. –
Ua – tensiunea aplicata motorului cand T3,T4 se deschid. Daca perioadele impulsurilor U1,U2 sunt egale,
tensiunea medie pe motor e 0.
Daca diferenta este mare, T2 medie <>0, suma tensiune este constanta. La frecventa mare motorul integreaza
tensiunea. Daca perioada in care se aplica +Ua si –Ua sunt diferinte tensiunea medie pe motor este diferita
de 0 si prin variatia tensiune aplicate motorul este intre +Ua si –Ua. Din motive de electronica functionla
intre comanda tranzistoarelor trebuie sa existe o distanta de timp foarte mica dt. Pentru aceasta e nevoie de
un generator de impulsuri comandat astfel incat sa varieze viteza.

T
1 1
U m   udt  (U aT  U aT ) T  T  T   T / T U m  U a (2  1)   [0,1]
T0 T

T
I TH TL

dt dt
A

C
u2

dt dt
D

u1 u2 u1 u2
Ua

T1 T3
u1 u2

Modul de Structură u1
I Mcc
ieşiri în hardware u2
impulsuri suplimentară
T4 T2
u2 u1

12. Controlul motoarelor de curent alternativ cu convertoare statice de frecvenţă şi


calculatoare de proces.

13. Controlul proceselor pe reţele industriale de tip MODBUS.

Rp

Rc Rc
A B A B A B A B A B A B

Adaptor de retea Rp Adaptor de retea

Dispozitiv Dispozitiv Dispozitiv


MODBUS MODBUS Slave MODBUS Slave
Master
Adresa 1 Adresa n
Informaţiile sunt reţinute în memoria unui dispozitiv clasic MODBUS server în patru tabele. Două tabele
sunt destinate reţinerii unor valori discrete intrări/ieşiri (coils) şi două tabele sunt destinate reţinerii unor
valori numerice de intrare/ieşire (registers). Fiecare tabel are 9999 valori. Intrările binare şi registrele de
intrare sunt RO (Read Only), iar ieşirile binare şi registrele de ieşire sunt R/W (Read/Write).
Nivelul fizic este reprezentat de un cablu plat cu două fire. Pentru Modbus RTU şi ASCII la care master-ul
este realizat pe PC se folosesc convertoarele RS-485, conectate la portul serial. Pentru conexiunea unui slave
se folosesc derivaţii.

Toate cererile MODBUS şi răspunsurile sunt concepute în aşa fel încât destinatarul poate verifica dacă un
mesaj este terminat. Pentru codurile funcţie unde PDU MODBUS are o lungime fixă, codul funcţiei este
suficient. Pentru funcţii care transportă o cantitate variabilă de date în cerere sau răspuns, câmpul de date
include un contor de octeţi. Când MODBUS este realizată de peste TCP, se adaugă informaţii suplimentare
în antetul MBAP pentru a permite destinatarului să recunoască limitele mesajului, chiar dacă mesajul a fost
divizat în mai multe pachete de transmisie. Existenţa unor norme lungime explicite şi implicite şi utilizarea
unui cod de verificare a erorii CRC-32 (pe Ethernet) are ca rezultat o şansă foarte mică de a nu detecta o
eroare la o cerere sau un mesaj de răspuns.
14. Sisteme în timp real. Procese şi fire. Stări ale proceselor care rulează pe un sistem
în timp real. Semafoare şi evenimente.
Scopul unui sistem de operare: Crearea unei maşini virtuale (pentru un utilizator obişnuit) şi administrarea
resurselor unui sistem de calcul (pentru proiectantul unei aplicaţii)
Crearea maşinii virtuale:
Memoria → o serie de locaţii adresabile
Discul → secvenţe de caractere
Display → Suprafeţe rectangulare (ferestre)
Mouse → o pereche de coordonate şi stări ale butoanelor
Sistem de operare in timp real: conţine mecanisme specifice de sincronizare, excludere mutuală şi
comunicaţie între procese şi fire. Scopul este controlul aplicaţiilor care se află conectate direct la proces,
unde restricţiile de timp sunt foarte importante.
Aplicaţie: program scris de utilizator, compilat şi înmagazinat pe HD
Proces (task): Aplicaţie lansată pe un sistem de calcul
Fir (thread): Entitate a unui proces căreia sistemul de operare îi atribuie procesorul după o strategie
oarecare
O aplicaţie de timp real este aceea în care corectitudinea calculului nu depinde de doar de logica corectă a
efectuării acestuia sau de algoritm ci şi de timpul în care se efectuează.

Un proces poate sa se gaseasca in cel putin 3 stari fundamentale:


- starea activa – procesul dispune de procesorul sistemului
- starea pregatit – in care procesul asteapta ca SO sa ii atribuie procesorul dupa un anumit algoritm
- starea de blocare – in care se gaseste procesul daca are nevoie de o resursa care este inactiva.
Initial procesul se afla in starea inactiva. La lansare trece in stare pregatit ca SO sa il activeze sau sa il
suspende eventual.
Semafoarele reprezintă unul dintre cele mai generale mecanisme de sincronizare prezente atât în sistemele
multitasking monoprocesor cât şi în cele multiprocesor. Un semafor reprezintă o structura de date partajată,
care permite sau interzice accesul unui proces la o resursă comună. Semafoarele pot fi împărţite în două
categorii în funcţie de valorile care le pot fi asociate: semafoare binare (pot lua două valori 0-ocupat 1-liber)
şi generale(orice valori)
Eveniment: Structură de date alcătuită din două câmpuri. Un pointer către un descriptor de proces şi
variabilă booleană, care devine TRUE, dacă evenimentul este semnalat. Aceste câmpuri pot fi modificate
doar apelând rutine ale sistemului de operare. Aceste rutine creează un eveniment, executa o operaţie de
semnalare evenimentului sau execută o operaţie aşteptare la eveniment.

15. Mecanisme de excludere mutuală realizate cu ajutorul semafoarelor.


Excludere mutuala – operatie de partajare a unei resurse unice din sistemul de calcul impotriva accesului
simultan din mai multe procese sau fire. Semafoarele reprezintă cele mai utilizate mecanisme de
sincronizare folosite în cadrul sistemelor monoprocesor multitasking şi al celor multiprocesor datorită
uşurinţei cu care pot fi implementate şi utilizate pentru serializarea accesului concurent al mai multor
procese la o resursă partajată.

Se creaza un semafor S care are valoarea initiala 1 si protejam sectiunile critice cu apeluri P la inceput si V
la sfarsit referitoare la acelasi semafor. Presupunem ca p1 se executa intr-o bucla infinita. Nu se poate
controla cnad ajunge P1 sau P2 in sectiunea critica. Se presupune ca P1 ajunge in sectiunea critica, el
executa un apel al functiei P referitoare la semaforul S care are valoarea 1 inaitne de apel. P1 nu va bloca
acccesul lui P2 dar va scadea semaforul cu o unitate.
P2 intre timp evelueaza si va ajunge in sectiunea critica, va face apel la functia P referitoare la acelasi
semafor. Apelul acesta va bloca la semaforul S procesul P2. P1 va continua sa utilizeze resursa critica apoi
apeleaza V si creste valoarea semaforului cu 1. Daca e <=0 se scoate primul proces din coada semaforului si
il duce in coada proceselor pregatite. P1 se executa in continuare P2 va apela resursa critica.

16. Mecanisme de sincronizare între procese sau fire realizate cu ajutorul


semafoarelor.
Sincronizare: Operaţia de impunere a unei ordini în executarea instrucţiunilor din din mai multe procese sau
fire.

Conditia este ca ai sa se execute numai dupa ce bj s-a executat. Se poate realiza cu Ps si Vs daca S=0.
Incercarea de a executa instructiunea ai in procesul P1 se face numai dupa apelul functiei Ps. Daca S=0, la
acest apel procesul P1 este blocat la semafor. El va fi deblocat numai dupa ce instructiunea bj sin P2 este
executata cand se apeleaza o rutina Vs asupra semaforului respectiv.

Tipuri de sincronizări

Sincronizare AND
- se doreste ca instructiunea ai sa se execute numai dupa ce bj si ck s-au executat. In acest caz, daca
definesc un semanfor S=0, atunci apelul celor 2 functii P inainte de executia ai, bloceaza procesul P1 si
atrubuie semaforului valoarea -2, ceea ce inseamna ca procesul va iesi din coada numai dupa ce s-a executat
instructiunea bj si ck urmate de Vs.

Sincronizare OR
- dupa oricare dintre instructiunile bj si ck se executa ai, atunci e suficient un singur apel Ps inainte de ai.
17. Mecanisme de comunicaţie între procese şi fire.

Comunicaţia între fire IPC (InterProcessCommunication)


Set de tehnici pentru schimbul de date între fire din unul sau mai multe procese, local sau pe reţea.

Metoda Descriere
Fişier Un bloc de informaţie sau resursă pentru reţinerea informaţiei
Coada de mesaje Un protocol de comunicaţie asincron, care înseamnă că transmiţătorul şi
receptorul nu trebuie să interacţioneze cu coada de mesaje în acelaşi timp.
Mesajele sunt plasate în coadă şi sunt memorate până când receptorul le
preia. Coada de mesaje poate fi în sistem sau în aplicaţie.
Semafoare Metodă clasică pentru restricţia accesului la resurse sau memorie
partajată.
MailBox Un protocol de comunicaţie asincron, bazat pe mecanismul Producător –
Consumator. Se implementează în W cu Semafoare.
Conducte O memorie partajată pe care procesele o utilizează pentru comunicare.
Procesul care creează conducta se numeşte Pipe Server, iar procesul care
se conectează la conductă se numeşte Pipe Client. Conceptual o conductă
are două capete şi sunt de două feluri: simplex(cu o cale) şi duplex (cu
două căi)
Socket O librărie API (Berkeley) pentru dezvoltarea de aplicaţii care realizează
IPC.

Mecanismul Producător -Consumator


Schimbul de date se efectuează în mod indirect prin intermediul unui tampon circular. Mesajele, care sunt de
dimensiuni fixe, sunt depuse de proceselenumite Producător. Tamponul este golit de procesele numite
Consumator, care preiau mesaje din tampon în ordinea în care ele sunt depuse. Memoria are n locaţii şi deci
poate stoca un număr finit de mesaje.
Producătorii şi consumatorii trebuie sincronizaţi astfel încât să nu introducă înregistrări în tamponul plin,
respectiv să nu extragă înregistrări din tamponul gol. Se folosesc în acest scop două semafoare: Fullşi
Empty.
Producător Consumator
// Solicita locatielibera // Solicitalocatieocupata
P(EMPTY); P(FULL);
// Solicita acces la tampon // Solicitaaccesla tampon
P(s);BUFFER[IN]=x;IN=(IN+1)%BUFFSIZE; P(s);x=BUFFER[OUT];OUT=(OUT+1)%BUFFS
// Elibereaza tamponul IZE;
V(s); // Elibereaza tamponul
// Furnizeazalocatielibera V(s);
V(FULL); // Furnizeaza locatie libera
V(EMPTY);

Comunicaţia între procese

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