Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
Fig. 3.1. Ciclul de execuie al unui program n cazul sistemelor de calcul clasice (a)
i n cazul automatelor programabile (b)
29
1. Automatul programabil citete intrrile fizice i salveaz starea lor ntr-o zon special
a memoriei RAM, cunoscut sub denumirea de tabelul (regitrii) imagine al
intrrilor.
2. Programul stocat se execut instruciune cu instruciune, utiliznd intrrile din
memorie pentru evaluarea logicii de control implementate. Pe msur ce programul se
execut, n funcie de starea intrrilor i de logica programului, se produc ieiri, care
sunt stocate n zona alocat tabelului (regitrii) imagine al ieirilor din memoria
RAM.
3. Automatul programabil actualizeaz starea ieirilor fizice pe baza strii ieirilor
rezultate la pasul anterior. Dup aceast etap ciclul se reia de la pasul 1.
Procesul constnd din citirea strii intrrilor, execuia programului i actualizarea ieirilor
poart denumirea de scanare. Procesul de scanare se execut ciclic, asigurnd evoluia
secvenial a celor trei etape amintite.
Ciclul de scanare al programului scoate n eviden cteva aspecte privind organizarea
memoriei la automatele programabile. n Fig. 3.2 se prezint o reprezentare n acest sens:
Fiecare intrare i ieire are alocat cte o adres n memoria RAM, n zona
corespunztoare, putnd fi accesat direct. Intrrile sunt mapate n tabelul imagine al
intrrilor, iar ieirile sunt mapate n tabelul imagine al ieirilor. Figura de mai sus scoate n
eviden i o zon a memoriei RAM care este rezervat diferitelor date intermediare
(variabile, contoare, numrtoare etc.) care se pot ntlni n decursul execuiei oricrui
program. De asemenea, Fig. 3.2 mai pune n eviden i zona de memorie n care se stocheaz
programul.
Acest mod de organizare al memoriei a fost anticipat i n capitolul 1, n exemplul
referitor la principiul de funcionare al automatului programabil, n care datele de intrare (I),
ieire (Q) i cele intermediare (M) puteau fi accesate direct prin specificarea zonei n care se
gseau i a adresei lor.
Exemplu: Pornirea unui motor. Fig. 3.3 prezint modul n care se realizeaz execuia unui
program simplu, realizat n limbaj Ladder, i interaciunea sa cu intrrile i ieirile. n acest
exemplu, se consider cazul pornirii unui motor ca urmare a acionrii unui buton (btn_Start)
aflat pe un panou de comand.
n timpul fazei de citire a intrrilor, starea fizic a butonului de pornire aflat pe panoul de
comand este stocat ntr-un bit din memoria RAM, aflat n zona alocat regitrilor imagine ai
intrrilor. Altfel spus acest bit va reflecta (va fi imaginea) strii butonului de pornire. n
30
continuare, se execut logica din program care va realiza comanda motorului prin intermediul
releului de ieire, a crui stare este salvat ntr-un bit din memoria RAM situat n zona alocat
regitrilor imagine ai ierilor. Ulterior, n faza de actualizare a ieirilor, starea acestui bit va fi
transferat ieirii, realiznd astfel comanda efectiv a motorului.
31
n Fig. 3.4 se pun n eviden cele dou scanri care au loc n timpul funcionrii
automatelor programabile: scanarea programului i a perifericelor.
32
Fig. 3.5. Efectul scanrii asupra rspunsului. Situaii posibile de variaie a intrrilor
Cazul favorabil (a), Cazul nefavorabil (b), Semnal de intrare nedetectat (c)
33
face simit n al treilea ciclu de scanare al programului. Aceast situaie marcheaz cazul
nefavorabil n care timpul total de rspuns este comparabil cu durata a dou cicluri program.
Altfel spus, efectul intrrii se face simit la ieire dup o ntrziere aproximativ egal cu
dublul timpului de scanare.
Cele dou situaii marcheaz faptul c timpul total de rspuns al sistemului la modificarea
intrrilor variaz, n funcie de momentul apariiei modificrii, ntre unu i doi timpi de
scanare.
Cazul c) evideniaz situaia n care modificarea intrrii nu este detectat niciodat,
deoarece modificarea semnalului de intrare este mai scurt dect durata unui ciclu de scanare,
semnalul schimbndu-i starea de dou ori. Acest caz indic faptul c este imposibil
detectarea, pe cile obinuite, a modificrilor semnalelor de intrare avnd durata mai scurt
dect timpul de scanare.
Dac nu este posibil ca intrrile s fie active mai mult timp, automatul programabil nu va
putea implementa corect logica de control. Exist totui cteva ci care pot rezolva acest
neajuns:
Extinderea impulsului. Aceast funcie extinde lungimea (durata) unui semnal de
intrare pn la momentul n care automatul programabil va testa intrrile, n ciclul
urmtor. Totui, utilizarea acestei funcionaliti este limitat la semnalele de
intrare care produc cel mult un impuls la dou cicluri de scanare. Aceast condiie
va asigura posibilitatea citirii tuturor impulsurilor aprute. Dac este necesar
citirea unui numr mare de impulsuri ntr-un timp mai scurt dect timpul de
scanare se pot utiliza module de intrare dotate cu numrtoare de mare vitez (en.
HSC - High Speed Counters) care pot contoriza toate impulsurile i pot pune direct
aceast informaie la dispoziia UCP-ului automatului programabil. n Fig. 3.6-a se
prezint funcia de extindere a impulsului, iar n Fig. 3.6-b se scoate n eviden
necesitatea utilizrii unor numrtoare de mare vitez pentru contorizarea
impulsurilor, deoarece nici citirea direct, nici extinderea impulsurilor nu va
permite detectarea tuturor impulsurilor de intrare.
34