Você está na página 1de 8

APD C1+2

3.2 Executivul de timp real RTK


- Dezvoltat de o firma germana OnTimeCompany
Caracteristici:
-necesita spatii modeste de memorie(16kb cod, 6 kb date)
-poate opera cu un nr. teoretic nelimitat de task-uri. Task-urilor li se pot asocia
prioritati care reprez. un nr. intreg intre 1 si 64(p1<p2<...<p64).
-aceeasi prioritate poate fi alocata mai multor task-uri
-timp de comutare a starii unui task: 6s.
-in orice moment de timp comutarile se pot realiza
-programatorul are la dispozitie sema., CP si mesaje pt implem. op. multitask.
-programatorul are la dispozitie drivere specializate pt
ecran, tastatura, port serial, port paralel si retea.
Task(in context RTK) reprez. o fct. C/C++ sau o
procedura Pascal fara parmaetri si cu stiva proprie.
Structura RTK: Fct. C la care se adauga fct RTK.
Task-ul(in context RTK) se poate gasi in una din starile:
*Current; *Ready; * Suspend; *Delaying; *Blocked; *Timed
Stari:
1)St. Current: corespunde starii de
executie. Un task e in starea Current daca
in acel moment este rulat/executat. In st. Current se ajunge numai din st. Ready.
2)St. Ready. Aici se gasesc toate task-urile care indeplinesc toate conditiile pt rulare
3)St. Suspended. Aici se gasesc task-uri care au fost oprite explicit printr-o fct.
RTKSuspend ele putand fi reactivate oricand prin fct. RTKResume.
4)St. Delaying. un task in aceasta stare este un task intarziat acesta cedand
controlul CPU in urma fct. RTKDelay. Dupa expirarea timpului are loc tranzitia din
starea Delaying in starea Ready.
5)St. Blocked. un task este in aceasta stare atunci cand este blocat in asteptarea
unui even. extern (semnal de la un sema., un msg. dintr-o CP, msg de trecere etc)
Dpdv al timpului asteptarea este indefinita. Trecerea din st. Blocked in st. Ready se
face numai daca evenimentul s-a produs.
Functie de natura even la care se asteapta exista mai multe substari:
-Blocked Wait: legat de un sema; -Blocked Put : legat de depunerea unui msg in CP
-Blocked Get: preluarea unui msg din CP; Blocked Send: legat de trasferul unui
mesaj intre task-uri; -Blocked Receive:legat de receptionarea unui mesaj.
6)St. Timed este apropiata de st. Blocked diferenta fiindca se specifica si un
interval de timp in care sa aiba loc blocarea(asteptarea unui eveniment este
temporizata). Iesirea din aceasta stare se face fie la producerea even. fie la
expirarea intervalului de timp alocat.
Substari: *Timed Wait; Timed Send; Timed Put; Timed Receive; Timed Get;
Cu exceptia st. Current pt celelalte stari se creaza cozi de task -uri.
Clase de functii: 3.2.3 Functii de initializare
Toate antetele prototipurilor fct. se gasesc in fisierul "rtKernel.h", care trebuie
inclus in prog sursa printr-o directiva de includere: # include "rtKernel.h"
Pt driverele consolei se include fisierul antet rtkbeybrd.h:#include rtkeybrd.h
Program RTK: contine fct. C/C++ cu prefixul RTK. Pt exe. va trebui construit un
proiect C care include codul sursa si biblioteca rtKernel.lib.
Fct. se impart in urmatoarele categorii:
-fct de initializare a nucleului; fct pt administrarea task urilor;
-fct pt. gestionarea timpului ; -fct pt gestionarea semafoarelor
-fct. pt gestionarea CP; - fct pt gestionarea msg.
Fct de init. a nucleului RTKernelInit
In urma exe f. RTKerneInit sunt reaizate urm. op:
-initializarea struct. interne de date
-convertirea fct Main in task ul Main si alocarea prioritatii specificate
-crearea task-ului Idle si alocarea pentru acesta a prioritatii 0
-initializarea ceasului intern cu val 0.
Task Idle ia controlul UCP atunci cand nici un task nu e in st. Current
Fct. pt init. driver de consola RTKeybrdInit: void RTKeybrdInit(void);
Se poate folosi si forma condensata RTKernelInit(3).
Iesirea din RTKernel se face cu fct. C exit(0);
3.2.4 Fct. pt administrarea task-urilor. Se impart in:
-fct. pt crearea, terminarea, activarea si dezactivarea task-urilor;
-fct. care furnizeaza info. privind caracteristicile si evolutia task-urilor
RTKCreateTask-cu ajutor ei se creaza un task nou din task Main sau din alt task.
FG: TaskHandle RTKCreateTask(void+TaskCode(void), unsigned Priority,
unsigned stack,char *Name);
TaskCode-reprez o fct C care contine codul ce urmeaza a fi exe. in noul task
Priority-este prioritatea pe care o alocam noului task(intreg fara semn)
Stack-marimea in octeti a stivei(intreg fara semn);Name- pointer de max 15 car la
numele noului task. Task-ului i se poate asocia si o var. de tip TaskHandle
RTKSuspend-permite dezactivarea unui task, respectiv trecerea in st. Suspend.
FG: void RTKSuspend(TaskHandlehandler); Param Handler refera task ul ce
urmeaza a fi suspendat. Daca task ul e deja suspendat fct. nu se executa.
RTKResume-permite activare task respectiv tranzitia Suspended=>Ready.
FG: void RTKResume(TaskHandle Handler); Daca task e suspendat f. nu are efect
RTKSetPriority-utiliz. la schimbarea prioritatii task ului referit.
FG: void RTKSetPriority(TaskHandle Handler, unsigned New_Priority); Param.
Handler refera task ul a carei prio se modifica; New_Priority:noua prioritate.
RTKGetTaskPrio-returneaza intr-o variabila de tip unsigned prio. task ului referit.
FG: unsigned RTKGetTaskPrio(TaskHandle Handler);
RtkGetTaskStack-returneaza intr-o variabila de tip unsigned spatiul liber (in octeti) din stiva
task-ului referit. FG: unsigned RTKGetTaskStack(TaskHandle Handler)
APD C3+4
RTKGetTaskState -returneaza intr-o var Task State starea task-ului referit prin
Handler, FG: TaskState RTKGetTaskState (TaskHandle Handler);

3.2.5 Fct de gestionare a timpului
Timp=resursa esentiala. cuanta de timp(timer tick) =unitatea de masura a timp in
RTK(55ms). Timer hardware genereaza

intreruperi/h =>13,2 intreruperi/sec


18 intr./sec=1/18=55ms(durata unui tick). Variabile pt. gestionarea timp in RTK:
-Time(pt timpul absolut); -Duration pt intervale de timp. In C ele corespund tipului
de date unsigned long. Functii:
RTKSetTime -seteaza originea timpului la o valoare dorita. FG: void
RTKSetTime(new_time); La initializarea RTKernel, se ve executa fct. RTKSetTime(0).
RTKGetTime-preia valoarea ceasului intern in cuante de timp. FG:
time RTKGetTime(void);
RTKDelay-intarzie task-ul pt care se utilizeaza cu un interval de timp. FG:
void RTKDelay(Duration interval); interval=18*t tick/s x s = tick
RTKDelayUntil-continua exe task ului apelat pana la un moment cantificat intr-un
nr de tick uri. FG: void RTKDelayUntil(Time moment); Time:e exprimat in tick-uri

3.2.6 Fct de gestionare a semafoarelor
Semafor: numarator de even. in care se inscriu sau se extrag evenimente avand
continul mereu pozitiv. Incrementare: se inscrie un eveniment. Decrementare: se
extrage un eveniment. RTK recunoaste tipul de data semafor: Semaphore S;
Tipuri: -binar(binary):{0,1}; -counting(semafor general):{0,1,2...,65535}
Un sema poate folosi un nr nelimitat de task-uri iar un task poate folosi un nr nelim de sema.
Functii: RTKCreateSemaphore: crearea si initializarea unui semafor. FG:
Semaphore RTKCreateSemaphore(SemaType Tip_S, unsigned Val.init, char *Name);
RTKSemaValue-returneaza intr-o var. intreaga fara semn nr. de evenimente
memorate intr-o var de tip semafor. FG: unsigned RTKSemaValue(Semaphore S);
RTKSignal: permite inscrierea unui even in sema(sema este incremenat). FG:
void RTKSignal(Semaphore S);
RTKWait: fct. de extragere a unui even. Are 3 variante: conditionata,
neconditionata, temporizata



*var neconditionata: RTKWait. FG: void RTKWait(Semaphore S);
Daca exista cel putin un even. disponibil in sema. atunci fct. se exe si task isi
continua rularea. Daca nu e disponibil un even task trece in starea Blocked_Wait
pt un timp indefinit (sta blocat pana cand in sema se inscrie un even)
*var conditionata: RTKWaitCond FG: bool RTKWaitCond(Semaphore S);
Fct. intoarce o val de tip bool(T or F). IF in sema exista un even disp. => f. se exe.
(even. e extras), task-ul isi reia rularea, iar in bool se inscrie TRUE.
IF in sema nu e inscris nici un even=> in bool se inscrie FALSE f. nu se exe.(nu se
extrage nimic) si task ul isi continua rularea.
*var temporizata: RTKWaitTimed
FG: bool RTKWaitTimed(Semaphore S, Duration int_Temp);
IF exista un even disp, acesta e extras fct. se exe, in bool se insrie TRUE si task ul
isi continua rularea. IF nu exista even disp, task trece in starea Timed_Wait, unde
ramane un interval de max int_Temp. If in acest interval in sema se inscrie un even.
atunci f. se exe, in bool se inscrie TRUE si task isi reia rularea. IF in acest interv. in
sema nu se inscrie nici un even atunci in bool se inscrie FALSE si task isi reia
rularea fara ca fct. sa se exe.
APD C5+6
3.2.7 Fct pt gestionarea CP (Cutiilor Postale)
CP= instrument oferit de RTK pt implementarea op. multitasking.
CP(in context RTK) = zona de memorie tampon in care poate fi stocat un nr
prefixat de mesaje de lungime definita. Un nr nelim de CP pot utiliza un task si un
nr nelim. de task uri pot utililza o CP.
Task-urile pot depune/extrage msg din CP. Situatii critice: -CP plina; -CP goala
Blocarea task urilor se produce atunci cand se extrage msg dintr-o CP goala sau se
introduce msg intr-o CP plina. CP foloseste tipul de date Mailbox CP. Functii:
RTKCreateMailBox-creaza si initializeaza CP. FG:
Mailbox RTKCreateMailbox(unsigned Lung_mesaj, unsigned Nr_mesaje,
char*Nume);
-Lung_mesaj=lung. in octeti a unui msg; -Nr_mesaje=nr de mesaje ce pot fi stocate
-Nume=pointer la numle CP de max 15 car. Fct. intoarce o val intro var. de tip
Mailbox care va fi referita in leg. cu CP.
RTKMessages=returneaza nr de msg dintr-o CP. FG: unsigned RTKMessages(MailboxCP)
RTKClearMailbox-realizeaza stergerea CP. FG: void RTKClearMailbox(MailboxCP);
Fct. de depunere msg in CP: *neconditionata: RTKPut FG:
void RTKPut(MailboxCP, void*Mesaj);.
IF exista spatiu disponibil, fct. se exe. msg e depus, iar task isi continua rularea.
IF nu exista spatiu disp. task trece in st. Blocked_Put si ramane in aceasta stare
pana cand se creeaza spatiu. Blocarea e pe o durata indefinita.
*conditionata: RTKPutCond. FG: bool RTKPutCond(Mailbox CP, void + Mesaj);
Intoarce o val. intr-o var de tip bool(T or F). IF exista spatiu THEN fct. se exe. msg
este depus in bool se inscrie T. (succes depunere) si task isi continua rularea.
IF nu exista spatiu disponibil, fct nu se exe. in bool se inscrie val. F(indica esecul
operatiunii) dar task nu se blocheaza.
*temporizata: RTKPutTimed. FG:
bool RTKPutTimed(MailboxCP, void+Mesaj, Duration Interval_asteptare);
IF spatiu disponibil THEN bool=TRUE, AND msd e depus.
IF sp. nedisponibil task intra in st. Timed_Put. Daca intr-un interval
tinterv._astept se creeaza sp liber THEN fct. se exe bool=T AND task isi reia
rularea. ELSE IF dupa trecerea unui timp= interv_astept nu se creeaza sp. liber,
bool=F, AND fct nu se exe. BUT task reia rularea.
Fct. de extragere a mesajelor din CP:
*necond.: RTKGet. FG: void RTKGet(Mailbox CP, void *Var);
Mailbox CP - CP din care se face extragerea; *Var-pointer la variabila in care se
depune msg. IF exista cel putin 1 msg in CP THEN este extras fct. se exe. AND
task continua rularea. IF nu exista un msg disp., THEN task se blocheaza pt un
timp indefinit(trece in st.Blocked_Get) UNTIL apare un msg.
*cond.: RTKGetCond. FG: bool RTKGetCond(MailboxCP, void*Var);
Conditie: existenta a cel putin unui mesaj. IF exista 1 msg disp THEN este preluat,
fct. se exe, bool = T(succes functie). IF nu exista msg disp. THEN fct. nu se exe.,
bool=F AND task isi continua rularea.
*temporiz.: RTK GetTimed
FG: bool RTKGetTimed(MailboxCP, void*Var, Duration interv_ast);
IF exista msg. disp. THEN msg e preluat AND bool = T. ELSE if nu exista msg
disp, task se blocheaza(trece in starea Timed_Get). IF intr-un interv t<interv_ast.
nu apare un msg in CP , THEN bool=F si task isi reia exe.
3.2.8Fct. de gestionare a msg de trecere(Passing messages)
Reprez o modalitate de comunicare in cadrul RTK aceasta fiind directa intre task-
uri. Spre deosebire de CP nu exista predefinit un tip. Singurele fct. asociate
mesajelor sunt fct. de trimitere si primire a msg (Send si Receive). Si in getionarea
msg exista situatii critice: -task nepregatit sa primeasca mesaj;
-task nepregatit sa transmita msg
Expediarea mesajelor
*necond: RTKSend FG: void RTKSend(TaskHandle Handler_Rec, void *Data);
IF task destinatar desemnat e in st. Blocked_Receive sau Timed_Receive(adica
pregatit pt receptie) THEN fct. se exe. iar task exped isi continua rularea. IF not,
THEN exped. trece in st. Blocked_Send AND ramane astfel UNTIL task destinatar
e pregatit sa primeasca msg.



*cond.: RTKSendCond
FG: bool RTKSendCond(TaskHandle Handler_Rec, void*Data);
IF destinatar este pregatit(starile Blocked_Receive, Timed_Receive), THEN msg se
transmite AND bool=T. IF dest. nu e pregatit, THEN bool=F, msg nu se transmite,
fct. nu se exe. si task exped isi continua rularea.
*temporiz.: RTKSendTimed. FG: bool RTKSendTimed(TaskHandle
Handler_Rec, void*Data, Duration interv_ast);
IF destinatar e pregatit(Blocked_Receive sau Timed Receive), msg se transmite,
AND bool=T. ELSE IF dest. nu e pregatit, THEN fct. se exe, msg se transmite
bool=T AND, si task ul isi reia rularea. ELSE IF interv_ast. a trecut AND dest. este
inca nepregatit THEN bool=F, fct. nu se exe. iar task isi reia rularea.
Receptia mesajelor:
*neconditionata: RTKReceive.
FG:void RTKReceive(void*Data, unsigned Lung_mesaj)
IF un task expeditor este pregatit(starile Blocked_Send sau Timed_Send), THEN
fct. se exe. msg e receptionat AND task continua rularea. IF nu exista task
expeditor pregatitTHEN receptorul trece pe st Blocked_Receive AND ramane asa
un timp nedefinit.
*conditionata: RTKReceiveCond
FG: bool RTKReceiveCond(void*Data, unsigned Lung_mesaj);
IF un expeditor este pregatit(blocked_Send, Timed_Send) THEN bool=T AND fct.
se exe. IF nu exista un exped pregatit THEN bool=F, AND fct. nu se exe. dar task
ul receptor nu se blocheaza.
*temporizata: RTKReceiveTimed
FG: bool RTKReceiveTimed(void*Data, unsigned Lung_mesaj, Duration
Interv_ast); IF un exped e pregatit(Blocked_Send, Timed_Send), THEN bool=T
and fct. se exe. IF nu exista cel putin un expeditor pregatit,THEN task receptor
trece in st. Timed_Receive. IF in tinterv_ast, un exped devine pregatit, THEN
bool= T, si task isi reia rularea. IF dupa expirarea acestui interval, nu exista un
expeditor pregatit, THEN bool=F fct. nu se exe. iar task isi reia rularea.
APD C7+8
Cap1 Metodologii si Mijloace de conducere
1.1 Functiile automatizarii proceselor
Proces: succesiune de transformari asociate evolutiei spatio-temporale a diverselor obiecte.
Oricarui proces ii sunt asociate 3 categ. de obiective: calitate, eficienta, securitate.
Conducere: dirijarea unui proces pt rezlizarea unui/mai multor obiective.
Sist de conducere presupune existenta unui mijloc de conducere(are trasate
obiectivele) si a unui obiect condus(ofera rezultate) acestea fiind interconectate
prin comenzi.

Perturbatiile: factori externi care actioneaza negativ asupra stabilitatii sistemului.
Daca excludem omul sist are conducere automata.
Functie de obiective automatiz. proceselor i se pot asocia 4 fct importante:
*monitorizarea automata; *reglarea automata;
*protectia automata; *optimizarea automata
1.1.1 Monitorizarea automata
Monitorizare automata: recunoasterea completa a starii unui proces.
Fct. de monitoriz. se realiz. cu ajut. sist automat de masurat. Componente:
traductor; linie de transmisie (LT); instrument de vizualizare(IV)

Traductor(T): senzor+adaptor. Senzorul vizualizeaza variatiile mar x si transmite
o marime intermediara la cerintele LT.
Instrum. de vizualiz. (iV): *reale: instr. fizice, cu indicare si inregistrare.
*virtuale: instr. programate, operatorul are la dispozitie o interfata
L=5 mar; M=2 relatii( de calcul pt 2 marimi); F=L-M=3 mar. care se masoara
Pt un proc. caracterizat de L marimi, in care se identifica M relatii, trebuie masurate
F marimi, F=L-M. F-nr minim de marimi ce trebui masurate pt a cunoaste starea sist.
1.1.2Reglarea automata
Proces reglabil: proces ce poate fi adus si mentinut cat mai aproape de o stare de
referinta. Reglarea se realiz. prin intermediul SRA. SRA=D.A.+ proces.
DA=T(trad)+ RA(reglator automat)+ EE(elem.exe.) care indeplinesc functiile de
masurare (trad), comanda(RA) si executie(EE).
O alta struct a SRA este: SRA = PV + PF PV:parte variabila; PF: parte fixa
PV include RA si se numeste asa deoarece prin intermediul param de acordare se
poate modifica functionarea regulatorului.

Functionarea SRA impune existenta unei marimi de exe(agent de reglare - m) care
trebuie sa deserveasca unui singur SRA. Nr. max de SRA asociate unui proces =
nr. mar de exe. disponibile.
1.1.3 Protectia automata
Monitorizare+calitate= cerinta de calitate. Protectia = cerinta de securitate a
personalului de operare, a mediului si a instalatiei in care se desfasoara procesul.
Fct. de protectie ii putem asocia 3 categorii de sist.:
- sist. automate de avertizare (SAA); - sist. automate de blocare (SAB);
-sist. automate de comanda (SAC).
SAA: informeaza in legatura cu starea momentana a mediului supravegheat sau
repoducerea unui eveniment. Nu intervin in derularea procesului.
Categorii de avertizari: 1) Avertizare de pozitie. semnaleaza pe cale optica starea
de functionare/nefunctionare a unui utilaj
2) Avertizare de prevenire semnaleaza pe cale optica si acustica aparitia une situatii
in care se impune o actiune de interventie pt a nu se produce o avarie
3) Avertizare de avarie semnalizaza producerea unei avarii.

SAB: intra in actiune dupa avertizarea de prevenire, in situatia in care nu s-a
intervenit in timp util pt. a preveni situatia periculoasa. SAB scoate din functiune
un utilaj, o secventa de instalatie, sau intregul sistem de instalatii, daca situatia o
impune.

SAC: au 2 fct. imporante: - oprirea controlata
-pornirea conditionata a unui utilaj sau secvente de instalatie
BLC verifica respectarea conditiilor de pornire si in cazul in care sunt indeplinite
toate conditiile are loc o avertizare de pozitie care anunta ca instalatia poate fi
pornita. Dupa blocare sist. e pornit numai prin fct. de comanda
1.1.4 Optmizarea automata
Prin conducere optimala se aplica sis de regl. acea referinta care satisface o
conditie de optim. Pt. a determina acea referinta se rezolva o pb de optimizare.
1.2 Cerinte impuse echipamentelor numerice pt. conducerea proceselor.
Cerinte: - siguranta marita in functionare; -procesarea informatiei in timp real;
-posibilitatea schimbului de informatii cu perifericele de proces;
-posibilitatea operarii de catre operatorii procesului
1.2.1 Siguranta de functionare a echipamentelor numerice pt. conducerea
proceselor.
Calitatea= totalitatea proprietatilor si caracteristicilor unui prod/serv care-i condera
acestuia aptitudinea de a-si satisface anumite cerinte exprimate sau implicite.
Siguranta in funct. are 3 elemente: fiabilitate, mentenabilitate, disponibilitate.
A Fiabilitatea
Dpdv calitativ fiabilitatea reprez aptitudinea unui echipament de a-si indeplini
corect functiile prevazute cel putin un timp egal cu o durata specificata in conditii
de exploatare prevazute.
Dpdv cantitativ fiabilitatea reprez. probabilitatea ca un echipament sa-si
indeplineasca functiile prevazute cel putin un timp egal cu o durata specificata in
conditii prevazute.

Fiabilitatea e apreciata
si prin anumiti
indicatori:
-fct. de frecventa- f(t)
(frecv. deformarilor intr-
un anumit interval de timp).
-intensitatea defectarilor z(t) se cuantifica prin raportul f(t)/R(t)
Redundanta:Metoda de crestere a fiabillitatii. Redundanta statica: componentele
de rezerva functioneaza in paralel cu cele active. Redundanta dinamica: comp. de
rezerva intra in functiune dupa defectarea celor active.
B Mentenabilitatea
Dpdv calitativ reprez. aptitudinea unui echipament de a fi mentinut si repus in
functiune prin mijloace precise.
Dpdv cantitativ, mentenanta reprez probabilitatea ca un echip sa fie repus in
functiune intr-un interv precizat.
Indicator principal: MTR(Mean Time Reparation)-timp mediu de reparare.
C Disponibilitatea
Calitativ reprez. aptitudinea unui echip de a-si indeplini fct. specificate sub aspectul
combinat al fiab. si ment. la un moment dat sau intr-un interval specificat.
Cantitativ reprez prob. ca un echip sa-si indeplineasca fct. specificate sub aspectul
combinat al fiab. si ment. pe intreaga durata de serviciu.
1.2.2 Prelucrarea info in timp real
Un echip e in timp real daca reactia sa la schimbarile din proces este in
conformitate cu inertia procesului. Comportarea in TR la achiz datelor impune
detinerea informatiei in interv de valabilitate al datelor primare

Comportarea in TR la transmiterea comenzii = transmiterea comenzi catre proces in
interv de valabilitate al marimii pe baza careia aceasta comanda a fost determinata.
La achiz datelor precum si la transm. comenzii cuantificam componenta in timp
real prin frecv de achiz. a datelor respectiv frecv de generare a comenzilor.
Aceasta frecv. e data de Th lui Shanon:

- frecv de esantionare;

- frecv de variatie a mar. proces


1.2.3 Posibilitatea conectarii la echip periferice de proces.
Este posibila prin existenta unui sist. de interfata cu procesul(SIP=T+EE) format
din 2 susbsisteme: -SAD - sist. de achiz. a datelor de la traductor
-SDC -sist de distributie a comenzilor catre EE
1)SAD: - SADA(Sis. de Achiz. a Datelor de la trad. Analogice);
- SADN(Sis. de Achiz a Datelor de la trad. Numerice);
2)SDC: -SDCA-sist de distribute a comenzii catre EE analogice;
-SDCN-sist de distrib a comenzii catre EE numerice;
1.2.4 Dialogul cu personalul de operare al procesului
La dispoz operator trebuie sa se gaseasca o consola a operat. de proces , tastatura
cu taste functionale de culori si marimi diferite, mouse fix incastrat in consola
(trackbal), ecran cu puternice facilitati grafice rezolutie mare, senzitiv etc..
APD 9+10
1.3 Structuri principale pt conducerea proceselor
Conducere: aplicare de comenzi catre proces. Structuri de conducere:
-struct total distribuita; -struct. total concentrata; - struct. partial distribuita.
1.3.1 Struct. total distribuita. In acest caz nr de regulatoare = nr de param reglati.

a)reg. specifice acestei struct au implemetate un singur alg de reglare.
b)reg. sunt montate pe panouri de comanda care sunt amplasate in camerele de
comanda aferente fiecarei instalatii.
c)obiectivele sunt cele ale unei bucle de reglare = mentin. unui param la val. de ref.
d)nu se pune prob obtinerii unei inf. de sinteza privind ansamblul procesului
e)nu se pune probl. regl. unor variabile calculate
f)necesita o atentie distribuita considerabila din partea operatorului.
1.3.2 Struct total concentrata (STC) reg=regulator

a)struct e caracteriz sub forma unui reg. unic realiz. sub forma unui calc. de proces
b)CP(calc. proc) concentreaza toate info de la proces si distribuie totalitatea
comenzilor catre acesta.
c)utiliz are la dispozitie o biblioteca de algoritmi
d)reg. ii mai pot fi asociate obiective ce privesc ansamblul procesului
e)CP isi asuma sarcinile de conducere si supraveghere a procesului.
f)se poate obtine info. de sinteza si reglarea de var. calculate
g)fiecare trad si EE are asociata cate o adrese iar conexiunile sunt logice
h)operatorul dispune de o consola de operare a.i => atentia distribuita nu e
necesara ca in cazul STD
Dezavantaje:* nu avem paralelism=> procesarea in timp real e dificila
*fiind conducator si supraveghetor isi asuma riscurile asociate.
1.3.3 Struct partial distribuita (SPD)

1) SPD: struct. ierarhizata pe 2 niveluri (niv 1 e distribuit)
2) procesul e divizat pe criterii functionale si geografice in subprocese fiecare
avand o unitate de conducere(UDC)
3) UDC isi asuma in totalitate sarcinile de conducere si supraveghere aferente
subprocesului deservit.
4) mai multe UDC=procesare paralela=cresc disponibilitatile de procesare in timp real
5) obiectivele sunt specifice fiecarui subproces fiind posibila obtinerea de info de
sinteza si reglare a variabilelor calculate
6)Niv2 = calulatorul superior (CS) si are obiective aferente fiecarui proces si care
primeste marimi de informare

de la niv. inf. si transmite catre acesta masuri de


coordonare

. Mar. de coordonare C pot contine si referintele si param reglati.


7)Cele 2 niv comunica prin intermediul magistralei sist distribuit(MSD)
8) sist este deschis putand fi integrat intr-un sist informatic
9)Pb. redundantei apare doar la niv 1 si presupune obtinerea uneia sau a doua unit
de comanda ca unit de rezerva.
1.4Integrarea calculatoarelor in automatizarea proceselor
1.4.1 Justificarea introducerii resurselor de calcul in dispoz. de automatizare
Fiecare op. de automatiz. presupune op. de calcul complexe avand in vedere
complexitatea obiectivelor si pe de alta parte a condensarii de personal.
Fct. de Monitorizare: in acest puterea de calcul e necesara pt a determina val
marimilor care nu se pot masura.
Fct. de Comanda: In acest caz sunt implementati (alg de reglare dupa abatere si in
special dupa perturbatie) de echip. numerice.
Sist. de protectie: aici blocurile logice de com. sunt implem. in totalitale si
importante sectiuni ale echipamentelor de automatizare sunt destinate fct. de
protectie.
Fct de optimizare: implica solutionarea problemei de optimizare
Caracteristica dominanta a sis. de conducere: echip numerice proceseaza cantitati
mari de info intr-un timp acceptabil dpdv al procesului condus.

1.4.2 Modalitati de conectare a unui calc la proces
Exista 2 aspecte: conectare informationala si conectare fizica
1)Conectare OFFLINE(Conectare logica)

2)conectare ONLINE:- numai pe intrari; -ghid operator; -integrala
a)comunicarea numai pe intrari: -procesul vazut numai prin intermeiul
traductoarelor; calculataotul vazut prin intermediul porturilor

b) conexiunea ghid operator:
exista sectiunea de achiztie, sunt calculate comenzi dar
acestea nu se aplica direct ci sunt afisate operatorului care
le aplica direct

c)conexiunea integrala. in acest caz calc. intervine asupra
procesului. Se achiz semnale de la trad, se exe. alg si se transmit comenzi. Daca
aceste comenzi se aplica direct EE avem de a face cu Direct Digital Control(DDC)
Daca comenzile se aplica in calitate de referinte unor reg. situate in niv. inf. avem
regimul SetPointControl(SPC)
Cap2 Sistemul de interfata proceselor
2.1 Struct generala a unui SIPC.
In cadrul procesului de achiz a datelor , proc. reprezentat prin traductor
indeplineste rolul de producator, iar calc. reprez. prin porturile de intrare
indeplineaste rolul de consumator. transferul este de la prod la cons si reprez
procesul de achizitie a datelor.

Se observea un dublu transefer si =>: -subsist de achiz date(SAD)
-subsist distributie comenzi(SDC)
Principala misiune a SIPC este compatibilizarea echip. analogice si cele numerice
SPIC-CAD- SADA; -SADN
-SDC-SDCA; -SDCN.
Noua struct a SIPC:

2.2Subsist de achiz a datelor analogice(SADA)
2.2.1 Structuri principale SADA
Se pp. un sist cu mai multe trad. care au domenii diferite => 2 structuri principale
de SADA: -SADA cu un singur lant de conexiune si multiplexare analogica
-SADA cu mai multe lanturi de conversie si multiplexare numerica

EJ: elem. de jonctiune; EPP: ele. de prelucrare primara; MUX A: multiplexor
analogic; AFAP: amplif. cu factor de amplificare programabil;
DER:dispozitiv de esantionare si retinere;CAN-convertor analog numeric;
AFAP+DER+CAN=lantul de conversie; RT-reg. tampon; PI-port intrare; PE-port
iesire; BC-bloc de comanda;
Semnale: k- canalul de pe care se achizitioneaza; k-amplificarea asociata semnal k;
ESANT -semnal de retinere; RET - semnal de retinere;
STC - semnal start conversie, SFC- semnal sfarsit conversie.
MEM- semnal memorare

: secunde analogice furnizate de traductor;

-...

:secundele prelucrate
primare;

: semnal prelucrat selectat;

: semnal prelucrat selectat amplificat;

:secund esantionat; Nk: nr de unit. CAN(cuante)



A0...An-1 -amplif cu factor de amplif. fix MUX N - multiplexor numeric
Indiferent de struct A sau B unui SADA ii sunt specifice urm fct.:
a)selectarea canalului de la care urmeaza a se face transferul conform unor adrese K
furnizate pe unul din porturile de iesire; b)eventuale prelucrari primare;
c)transformarea semnalelor in vederea compatibilizarii cu dispoz de conv. A-N
d)conv din forma A in forma N; e) transferul info in format numeric la calc prin
intermediul podului de intrare. Secventierea acestor faze este asigurata de blocul de
comanda.
2.2.2Elem. aferente SADA
A. Elem de jonctiune. Ej asigura conectarea nemijlocita a semnalelor de la
traductor la sist de interfata. exista 3 modalitati importante de realizare a elem de
jonctiune: -Ej realizat cu cleme; -Ej realizat cu conectori; Ej realizat prin lipire
Pt aceasta se doreste sa fie o rezist. de contacte cat mai mica si stabila in timp.
Acest lucru este indeplinit de conexiunea prin lipire, cuple, cleme.
B. Elem de prelucrare primara. Categorii: -filtrare; -conversie curent-
tensiune; -atenuare; formare de impulsuri etc.
Filtrarea: op prin care se indeparteaza componenete ale semnal cu frecv nedorite.
DPDV hardware pot fi folosite filtre cu elem
pasive(rezist. cond. etc)
filtrul RC

C.Conv. Curent-Tensiune. CAN accepta semnale in tensiune. Cel mai simplu
mod de conversie este de a inchide circuitul printr-o rezistenta.

Multiplexorul analogic. MUX:dispoz care conecteaza o intrare selectata la o iesire unica
Un MUX A poate fi vazut ca o retea de comutatoare.

Daca MUX are intrare de ENABLE nr biti al cuv de comanda este: n=


Daca MUX nu are intrare de ENALBLE cuv de com. este: n=




APD C11+12
D. Amplificatorul cu factor de amplif programabil

Pt. a modifica amplificarea putem modifica fie R1 fie R2. La inchiderea unui
comutator sa includem in circuit o rezistenta sau la includerea unui comutator sa
scoatem din circuit o rezistenta.
La amlificarea unitara amplif e utilizat ca adaptor de impedanta intre MUX si etajul
urmator (dispoz. de esantionare si retinere)
Dpdv functional un amplif cu factor de amplif programat poate fi util si in calitate de CNA
E. Dispoz de esantionare si retinere
Este necesar in conv A-N pentru mentinerea pt mentinerea constanta a semnalului
de la intrarea CAN. Acest dispozitiv functioneaza in 2 faze: - esantionare
- retinere(memorare). Schema Principala:

k repr. esantionarul;

- condensatorul de memorare;


Tens de memorare nu se aplica direct convertorului ci avem un repetor cu o
impedanta foarte mare. Timpul de memorare depinde de 1.curentul rezidual prin
comutatorul K(deschis), 2.impedanta de intrare in repetor, 3.rez. de pierderi a

.
Timpul de incarcare al cond.

: TMC= (Rs+

) *


RS =rez. sursei de semnal;

- rez. comutatorului k in starea inschis;

- val. condens. de mem.


Etapa de esant. decurge cat timp comut k e inchis. Etapa de mem. comut. k inchis
F Convertoare analog-numerice.
F1)Terminologie si parametrii caracteristici
CAN sist ce converteste o mar cu cariatie continua(analigica) intr-o alta marime de
natura numerica.
Diapazon: domeniul in care ia valori marimea analogica. Rezolutie: nr de biti ai
cuv. convertit. Cuv de la iesirea CAN are asociata o anumita pondere din diapazon.
Bitul din extrema stanga s.n. bit. cu semnificatie maxima(BSMax) si are ponderea
D/2.(este bitul cel mai stabil). In extrema dr. se gaseste bitul de semnificatie
minima(BSMin) a carui pondere e D/


Proc. de conv A-N fac e trecerea de la un dom cu val
infinite la un dom. cu valori finite.
conv A-N se mai numeste si cuantificare.
Proc de cuantificare repartizeaza o val analog. unei clase sau canal.
Nr. clase =

. Daca avem CAN cu rez pe 8 biti => nr. clase:

=256
In acest caz variabilei analogice i se poate asocia un cuprins intre 0 si 255.
Unei val analogice i se poate asocia un nr cuprins intre 0 si


Car. statica a unui CAN
CAN e elem nelinar => car. statica e caracterizata in trepte. marimea unei trepte
reprez latimea unui canal

Crestrea rezolutiei=>micsorarea semnalelor dar si distanta intre canale.
F2)Tipuri de CAN
CAN paralel(bitii se determina simultan): unei val anal. i se asociaza un canal in
urma unei comparatii. La CAN paralele se exe. simultan un nr de comp. =nr de canale-1.
CAN seriale(cu reactie): la un moment dat se efectueaza 1 comparatie.
CAN cu aproximatii succesive: Face parte din clasa conv. cu reactie. Are 3 comp:
- un comparator; - registru cu aproxiamtii succesive; - CNA amplasat pe calea de reactie

COMP-comparator. Tact semnal de sincronizare
Cand incepem conv toti bitii sunt pusi cu 0 in afara de bitul de semnif. max care e 1

APD C13+14
2.3 Subsist. de distribuire a comenzilor analogice (SDCA)
SDCA asigura conv comenzi din N in A si transmitere catre el. de exe. destinatare
Element. central SDCA este CNA. Tipuri de struct:
a)SDCA cu 1 CNA si demultiplexare analogica

PE1 transm val. num. a com. Nk, PE2 adr. EE destinatar(k) => BC comanda
inscrierea comenzii Nk in reg tampon RT => BC comanda declansarea conv. N-A
(activare semnal STC) => dupa receptia semnalului de sfarsit conv. SFC, BC
comanda pozitionarea demux pe canal k => comanda in forma A e inscrisa in mem
A MAn si in consecinta e disponibila pt EEn
b)SDCA cu 1 CNA pt fiecare EE si demux numerica.


Demultiplexorul
Este un dispoz. care transfera intrarea la o iesire selectata.

N(nr de iesiri) este o putere a lui 2.
Mem analogice. Sunt specifice SDCA cu 1 CNA si demultiplexare analogica
si au scopul de a pastra valoarea comenzi la intrarea unui EE intre 2 momente ale
elaborarii acesteia. Cele mai folosite sunt mem anal. cu cond

2.4 probleme ala conectarii echip la sist de achiz:
*rejectia erorilor de mod comun. Acestea apar datorita diferentei de potential
dintre pct. de impamantare ale sursei de semnal si ale SADA

* protectia la zgomote. Are rol de a miscsora pe cat posibil a influentei factorilor
perturbatori externi( de nat electrica si magnetica) asupra semnale care se transfera
Metode: -ecranarea: camasa metalica impamantata intr-un singur punct
-torsadarea: : protectie la campuri magnetice.
*impamatarea. Inseamna definirea potentialului de referinta. Dpdv al
impamantarii sunt identificate 4 subsist: subsist analog, subsist numeric, subsist
surse de alim, subsist constructie metalica.
*separarea galvanica. Permite protectia sectiunii numerice(interfata +calc) de
tens. periculoase care ar putea fi generate de catre sursele de semnal.
Solutii: Amplificarea cu izolare




Cap 4. Mecanismele programarii concurente in timp real
SO=colectie de prog cu 2 fct. gestionarea resurselor masinii si punerea la dispozitia
utiliz a unei interfete adecvate. Gestionarea res: gest. UC; gest. mem; gest spatiu I/O
SOTR trasatura pricipala: asigura o rulare a programelor, rulare conditionata fie
de timp fie de evenimente externe. Astfel principala componenta a unui sist in timp
real este reprezentata de planificator. Planif. executiei programelor se poate face pe 2
nivele: -pe conditii de timp ("Time driven");-pe conditii de evenimente externe ("event driven")
Planificator: reprezinta politica de alocare a UC diverselor aplicatii aceste politici
incadrand notiunea de dispecerizare. Tipuri de politici de dipecerizare:
-dispecerizarea prin rotatie (task-urile formeaza o coada)
-dispecerizarea prin prioritizare( alocarea UC se face functie de prioritati)
-dispecerizarea prin prioritizare si rotatie
Task: in contextul programarii in timp real reprezinta unit elementara de program
independenta dpdv logic.
Un SOTR care e capabil sa asigure o executie paralela sau pseudoparalela a task
urilor sn SO multitasking.
4.2 Obiectivele si principiile ingineriei programarii in timp real(IPTR)
IPTR incadreaza o mutime de concepte, principii, metode si instrumente de
dezvoltare a programelor destinate aplicatiilor de timp real.
IPTR urmareste rezovarea a 3 tipuri importante de probleme:
a)stabilirea etapelor in cadrul acestora a fazelor prin care trece un produs
informatic pe durata existentei sale.
b)elaborarea unor metode si instrumeste pt asistarea elaboratorului in fiecare faza de dezv
c)elab pe baza stiintifica a unor metodologii pentru organizarea si coord.
activitatilor specifice dezvoltarii in stil industrial a prod. informatic.
PT rez acesto prob IPTR isi propune urm ob:
-ob. de adaptabilitate; -ob de eficienta; -ob de fiabilitate; -ob de perceptibilitate
Ob. de eficienta se refera la: a)minimiz. necesarului de resurse pt exe. programului
b)minimizarea efortului pt. dezv. programului;
c)minimizarea timpului pentru dezvoltarea prog.
Ob. de fiabiliatate: dezv. unor facilitati a.i. produsul sa-si poata indeplini sarcinile
intr-un interval de lucru prestabilit si in conditii specificate
Ob de perceptibilitate: capacitatea unui produs de a fi inteles de altii dar si de
autor dupa trecerea unui anumit timp de la proiectare. Perceptibilitatea se poate
realiza prin adaugarea de comantarii in program.
Principiul modularitatii: cu cat grad de modularizare e mai > cu atat produsul este
mai usor de gandit.
Principiul abstractizarii: este util pt obtinerea unei eficiente marite
Princ. uniformizarii: pt lucrul in echipa se stabilesc anumite reguli
Princ. confirmabilitatii: obliga dezvolatatorul sa descrie si sa puna la dispozitia
utilizatorului un set de metode si proceduri pt. verificarea corectitudinii programului.
Fazele din existenta unui produs informatic
1.Analiza cerintelor; 2. Elab. specificatiilor; 3. Proiectarea sist de programe;
4.Codificarea cu utilizarea unui limbaj; 5. Instalarea si testarea prog. 6. Intretnerea progr.
Analiza cerintelor. In aceasta etapa viitorul benefiiar al prod informatic
colaboreaza cu echipa de analisti ai dezvoltatorului in vederea identificarii
particularitatilor problemei care urmeaza a se rezolva prin prod. inf. finalizandu-se
cu tema de proiectare in care sunt formulate cerintele si restrictiile aplicatiei.
Elab. specificatiilor: Acestea urmeaza dupa tema de proiect si presupune
formularea unui set de specificatii care includ resursele functionale si restrictiile de operare.
Proiectarea: etapa in care se stabilesc: * struct. pe modula functionale ale prog.
*relatiile intre module, componente si modalitatile de comunicare
*datele de intrare si rezulatele pentru fiecare modul.
*alg. care vor fi utiliz. pt
implementarea cerintelor din
tema de proiectare.
Codificarea presupune generarea
prog. utilizand un meniu de
programare pt modulele definite
in et. de proiectare si rularea lor
pe un calc gazda.
Instalarea si testarea prog. in
aceasta etapa se transfera prog
pe masina tinta, sau pe masina pe
care urmeaza sa ruleze putandu-
se astfel corecta eventualele erori
care nu au putut fi depistate in
fazele anterioare.
Intretinerea prog. in aceasta
etapa se fac anumite corectii
impuse fie de neconcordantele cu
tema de proiect fie de
recomandari ale beneficiarului.


APD Curs 15+16
Starile si evolutia task-urilor.

St. neinstalat: ii corespunde un task rezident in memorie(interna sau externa) dar
care nu a fost adus la cunostinta executivului (a SO in timp real).
St. inactiv: in aceasta stare se gaseste un task instalat pt care fie nu s-a facut nici un
apel pt exe. fie si-a incheiat exe fie si-a oprit exe datorita unei directive de stop
natural sau fortat.
Subst. executie: reprez corespunde unui task ce contine controlul UC.
Subst. gata de exe.: corespunde task urilor ce ce asteapta sa preia controlul UC
Task urile sunt asezate in ordinea sosirii in cozi FIFO sau dupa prioritati.
Subst. Blocat: un task in aceasta stare se gaseste in una din situatiile:
- asteapta alocarea de resurse in special mem. pe stiva
-asteapta producerea unui even. extern; -asteapta realizarea unei conditii de timp
Evolutia unui task se poate reprez cu ajutorul unui graf orientat(nodurile fiind
reprez de st. si subst. iar arcele de tranzitii).

Tranzitii:
Neinstalat=>Inactiv: se face cu directiva Instalare care aduce la cunoastinta
existenta task-ului si permite crearea blocului descriptor al task ului(BDT) care ar
putea contine urm elemente: parametrii task ului; marimea stivei task; eventuali
indicatori catre alte task uri
Inactiv=>Activ:se realiz prin directiva Stergere care elimina task-ul din randul
task cunoscute de executiv si dezactiveaza BDT
Gata de exe=>Exe: se face prin directiva Preluare si presupune preluarea
controlului UCP de respectivul task
Gata de exe=>Blocat: se realiz. cu directiva Asteptare si are loc cand task ului
respectiv nu i se mai pot aloca resurse .
Gata de exe=>Inactiv: se realiz. cu directiva de Stop fortat trimisa dintr-un alt task
Exe=>Gata de exe.: se reazliz printr-o directiva de Eliberare si presupune cedarea
controlului in UCP atunci cand cuanta de timp alocata task-ului a expirat sau un task cu
prioritate superioara a devenit gata de executie.
Exe=>Blocat: se realiz printr- directiva de asteptare. atunci cand continuarea exe task
este conditionata de un even extern sau de trecerea unui interv de timp.
Exe=>Inactiv: se reazliz prin direct. Stop normal atunci cand task-ul si-a incheiat exe.
Blocat=>Gata de exe: se realiz prin direct. de Continuare conditia ce a determinat
blocarea a disparut.
Blocat=>Inactiv se realiz prin directiva de Stop fortat transmisa de regula din task ul aflat in exe.
Dispecerizarea task-urilor: se face prin rotatie, prioritizare, prioritizare+rotatie.
4.4 Conflicte potentiale in sisteme multitasking
4.4.1 Resurse si sectiuni critice
Resurse: fizice(hardware), logice(software)
Res comune ce pot fi utilizate de mai multe task-uri: critice, partajabile, reentrante
Res. critica: res care poate admite la un moment dat desfasurarea unei singure sesiuni
asupra sa(locatie de mem, ; dipoz. de I/E)
Res. partajabila: res ce permite derularea la un moment dat a mai multor sesiuni de
lucru dar in nr. finit.
Res. reentrante: res. care permit derularea oricaror sesiuni de lucru asupra lor la un
moment dat.
Utiliz. non-coflictuala a res critice
Sectiune critica: sectiunea dintr un task in care e utiliz o res. critica.
Excluderea mutuala: OP. multitasking care permite accesul unui singur task in propria
sect. critica referitoare la o resursa.
Recomandarile Tonenbaum legate de excludera mutuala:
-orice sect critica poate fi executata de un task la un moment dat
- la implem excluderii mutuale nu se face referire la frecv. relativa sau viteza de exe a task-
urilor
-orice task poate accesa sectiunea sa critica referitoare la o anumita res. dupa un anumit interv
de timp
-task urile nu se pot bloca in interiorul unei sectiuni critice.




4.4.2 Implem excluderii mutuale cu semafoare
Semaf. reprez. un dublet S=(i,C); i=var de tip intreg; C=coada de asteptare
La initializare i se atribuie o val >0 iar coada este vida. Daca i {0,1}=> sema binar
Daza i Z=> sema general. Tipuri de op ce se pot executa asupra sema:
*P(S)-decrementare; i<=i-1(Passeren a trece); *V(S)-increm.; i<=i+1(Vrigeven- a elibera)
Daca i>o op P e posibila. La un sema binar op P se exe daca i=1, altfel task-ul este
blocat, iar indexul sau este inscris in coada C. Op. V nu poate determ blocarea unui task
Coada C contine handler-ele task urilor care asteapta la semafor
Pt implementarea excluderii mutuale utilizam un sema binar care e initilizat cu 1 in
toate task urile care trebuie sa se excluda. Inainte de intrarea in sect critica asupra
respectivului semafor se efectueaza o op. de tip P, iar dupa iesirea din sectiunea
critica o op de tip V.
4.4.3 Implementarea excluderii mutuale cu var de tip eveniment
o var de tip even. e o var logica. In consecinta ia 2 valori(Adevarat sau Fals) si
asupra ei pot actiona 3 tipuri de directive: inscrie, sterge, Astepata.
E = {Adevarat, Fals}
INSCRIE (E) E<= ADEVARAT; STERGE(E) E<=FALS
ASTEAPTA(E): blocheaza task-ul daca e=FALS; continua exe. daca E=ADEVARAT;
Excludrea mutuala cu variabila de tip eveniment presupune utilizarea unei singure
variabile care se initializeaza in toate task-urile cu valoarea ADEVARAT.
4.4.4 Implem excluderii mutuale cu CP si mesaje
O CP este o struct al carui element central este un tampon circular gestionat potrivit
strategiei FIFO. Task urile pot depune msg in CP msg accesibile oricarui alt task.
Mesajele sunt volume de date transferate pe parcursul evolutiei unui task.
Acestea pot i cu lungime fixa sau sau variabila. Msg se depun in CP cu instr. Put si
se extrag cu inst. Get. Pt transmitere folosim instructiunea Send si pt. receptionare
Receive. Avem 2 situatii critice: -functia de depunere in CP(task ul se blocheaza
daca CP e plina); -functia de extragere din CP(task ul se blocheaza daca CP e goala)
Excluderea mutuala cu CP presupune utilizarea unei singure CP destinate numai
acestui scop si a unui mesaj simbolic. primul task care se initializeaza depune in CP
mesajul simbolic. Inainte de intrarea in sectiunea critica se extrage msg simbolic
din CP(daca msg exista). Dupa iesirea din sect critica se depune msg simb in CP.

In interv inc are un task se afla in propria sect critica CPEX este vida si prin urmare
nici un alt tak nu poate accesa propria sect cr. referitoare la aceeasi resursa.
Conditia ca un task sa-si poata accesa sect. critica este ca MESEX sa se afle in CPEX
APD curs 17+18
4.5 Sincronizarea task-urilor
Sincronizare: Procesul prin care un task este pus in relatie cu alt task cu timpul
sau cu un eveniment extern. 2 task-uri sunt sincronizate daca se pot stabili relatii
predictibile intre anumite momente ale dezvoltarii lor, iar sensul general al notiunii
de sincronizare este acela de coordonare, corelare.
4.5.1 Sincronizarea realizata cu semafoare
Sincronizarea a 2 task uri. Dorim ca T1 si T2 sa se sincronizeze reciproc. Vom
defini pentru fiecare task cate un punct de sincronizare: PS1 pt T1 si PS2 pt T2.
Regula de sincronizare este urm: task-ul Ti sa nu poata trece de pct. sau de
sincronizare PSi pana cand task-ul Tj nu a ajuns in punctul sa de sincronizare PSj:

Sema binare SEMSYNC1si SEMSYNC2 realizeaza sincronizarea in task urile 1 si
2 luand valorile 1 respectiv 0. In pct de sincr. ale task ului i se exe secv.
P(SEMSYNC1), V(SEMSYNC). Un task nu-si poate executa procedura P2 pana
cand celalat task nu si-a executat procedura P1. Daca T2 ajnge in PS2 inainte ca T1
sa-si execute procedura P1, acesta se va bloca deoarece SEMSYNC2<0 T2 se va
debloca dupa ce T1 depaseste punctul de sincronizare si SEMSYNC2 devine 1 prin
aplicarea operatiei V.
Sincronizarea cu un even. extern
Avem 2 task uri: unul supravegheaza producerea unui eveniment extern, iar cel de-
al II-lea asteapta la un sem. SEMSYNC. Asupra acestui se exe o functie V dupa ce
even extern s-a produs.





4.5.2 Sincr. cu var de tip even.
Avem un sist de 3 task uri T1,T2 asteptand producerea unui even , task ul T3
trebuie sincronizat cu ansamblul celor 2 elem. Pt. sincronizare utilizam variabila de
tip even VTE1 si VTE2 ca se initialzeaza in task-urile T1si T2 cu valoarea FALS.
Se utilizeaza o fct de tip even F=VTE1VTE2 care se init. cu val FALS in T3.

4.5.3 Sincr. cu CP
Pt sinc cu timpul se utilizeaza asteptarea temporizata pe o CP vida. Mesajele care
se transmit sunt mesaje simbolice. Presupunem ca avem un task care trebui sa
execute la intervale prestabilite T2. Pt aceasta se utilizeza task T1 cu rol de
planificator. Pt sync se folosesc 3 CP: C0 destinata asteptarii temporizate;
C1 destinate asteptarii mesajului de sinconizare; C2 destinata msg de confirmare.



APD curs 19+20
4.6 Comunicarea intre task-uri
Exista 2 categorii de task uri: disjunctive, interactive
Task uri disjunctive: Task uri care pe parcursul evolutiei lor nu utilizeaza resurse
in comun si nu fac schimb de date.
Task uri interactive: Task uri care utilizeaza resurse in comun si fac schimb de date.
Metode de comunicare: - prin condute; - prin transferul direct de mesaje intre task uri
Dpdv al continutului msg pot fi: -cu continut variabil (informationale)
-cu continut fix (msg. simbolice).
Dpdv al marimii msg pot fi de marime fixa sau variabila
Comunicare prin "conducte". O conducta se specifica prin nr. de msg care pot fi
stocate si marimea unui mesaj. Comunicarea se face conform strategiei producator-
consumator. daca un task este atat
producator cat si consumator atunci sunt
necesare 2 conducte.

Conducta 1 este deschisa la scriere
pentru task ul i si la citire pt. task ul j.
In cazul conductei 2 aceasta este
deschisa la scriere pentru task ul j si la
citire pt task-ul i.
Conductele pot fi gestionate in conditii
foarte buna cu ajutoul semafoarelor
generale. Msg informationale sunt
mesaje de trecere, iar pentru confirmare
se folosesc cutii postale deci sunt
mesaje simbolice.

Cap 5 Prelucrarea in timp real a informatiei
5.1 Fluxul informational intr-o aplicatie de conducere in timp real
In cadrul unui sistem automat se proceseaza info. fiind transmisa cu ajutorul unui
suport fizic(semnal etc). Semnale: -cu variatie continua (analogice) ce au domenii
unificate(ex:4...20mA); -digitale(iau valori la anumite momente de timp)
Un sist de conducere are 2 entitati: -mijloc de conducere; -proces condus;
Procesul e vazut prin echipamente periferice(traductoare, elem de exe). Calc e
vazut prin porturi de in trare (PI) si de iesire (PE).

Vom identifica 2 frontiere: pe front. F1 pe achiz se schimba semnalul din A in N.
pe front F2 se pastreaza forma dar se schimba continutul (din unitati CAN in unitati
ingineresti). comenzile se genereaza in forma numerica (in unitati ingineresti). La
nivelul Frontierei F2(prin blocul de calcul BC2) semnalul isi schimba continutul
(din unit. ingineresti in unitati CNA). La niv F1, semnalul isi schimba forma
(N=>A) printr-un CNA.
5.2 Conversia mar achizitionate in unitati ingineresti.
Consideram blocul BC1 ca fiind integrat intr-un sistem numeric de masurat la
distanta (SNMD).

Pt. o marime Z [Zmin, Zmax] o variatie curenta Z =Z -Zmin si Zmax =
Zmax-Zmin este var maxima. Pt SNMD se impune o caracteristica statica liniara.

Cea care influenteaza cel mai mult caracteristica lui BC1 este caracteristica
traductorului
5.3 Conversia comenzilor generate din unitati ingineresti

5.4 Filtrarea marimilor achizitionate
Filtru: Bloc functional cu proprietati selective pt. diferite frecvente
Comparativ cu filtrele analogice(I & O alcatuita din semnale analogice) filtrele
analogice ai I & O constituite din secv. de numere
Filtru numeric: Este un algoritm care produce la iesire o secv. y[n] pornind de la o
secv. de intrare x[n] si are ca obiectiv o comportare selectiva fata de anumite val. de
la intrare. filtrele numerice (clasificare):
- recursive(Y[n] se calculeaza pe baza ultimelor N valori din secv. de instr dar se
iau in considerare si un nr. de val din iesirea anterioara)
-nerecursive(val filtrata y[n] depinde numai de valori ale intrarii).
5.4Testarea incadrarii intre limite
Pt: -marimi achizitionate; -comenzi;
Val. unei mar. achiz presupune testarea incadrarii valorii rezultate (unit. ingineresti)
in domeniul declarat pt respectiva marime. Neincadrarea in domeniu a valorii va fi
declarata ca even semnificativ => activarea unei rutine de avertizare si testare a
integritatii SNMD.In afara testarii incadrarii in domeniu mai pot fi prestate si alte
limite asociate diferitelor tipuri de avertizari cum ar fi avertizarea de prevenire sau
avarie. La incarcarea acestor limite se executa task-uri sincronizate cu aceste
evenimente care determina pe langa avertizari, actiuni de blocare, neutralizare,
izolare etc.

In cazul comenzilor inaintea aplicarii unei comenzi SNTD testeaza incadrarea
acesteia in domeniul specificat si eventual incadrarea intre limite tehnologice sigure
care de regula se gasesc in interiorul domeniului specificat.

5.6 Baza de date de proces.
BD: Mutime de date organizate dupa anumite criterii in scopul de a facilita
prelucrarea acestora intr-un anumit tip de aplicatii.
Aplicatiile de conducere in timp real impun prezenta intr-o BD aferenta conducerii
a datelor ce se refera la: a)cunoasterea starii procesului; b) elaborarea marimilor de
comanda; c) adoptarea unor decizii de natura tehnico-eonomica legate de proces.
Baza de date de proces: Este o BD care contine date organizate in scopul
uztilizarii acestora in aplicatii de conducere in timp real.
Un sistem de gestiune al bazei de date (SGBD) pt o BDP trebuie sa raspunda
urmatoarelor cerinte importante: -sa asigure securitatea datelor
-sa asigure integritatea datelor; - sa asigure independenta datelor
Cerinta de securitate: accesul la date sa se face numai persoanelor si/sau
persoanelor autorizate. Securitatea se poate realiza prin criptare/decriptare, parole.
Cerinta de integritate: Presupune protectia datelor la o functionalitate necorespunzatoare a
echipamentelor pe care lucreaza aplicatia sau chiar a programelor aferente aplicatiei. Acestei
cerinte i se raspunde prin crearea de back up.
Cerinta de independenta: Implica adoptarea unor structuri de descriere a datelor
care sa nu implice schimbari ale acestora la inlocuirea sau modificarea aplicatiei de
conducere.
Intro BDP sunt cuprinse urmatoarele categorii de date:
-date din proces in cadrul fisierelor istorice ale comenzilor
-evenimente semnificative din proces in cadrul jurnalului eveniment
-adrese ale perifericelor de proces
-referinte si parametrii de acordare pentru regulatoare PID dupa abatere
-diversi parametrii asociati regulatoarelor avansate
-diverse categorii de limite
-domenii valide si domanii sigure pt. mar. de comanda
-interventii ale personalului de operare in cadrul jurnalului de interventii
-date privind functionalitatea sist. de conducere in timp real
In evolutia BDP se succed urmatoarele etape:
-structurarea BD
-incarcarea datelor in BD
-actualizarea datelor in BD.

Você também pode gostar