Sunteți pe pagina 1din 41

UNIVERSITATEA POLITEHNIC Ă DIN BUCUREŞTI

FACULTATEA DE AUTOMATIC Ă ŞI C ALCULATOARE


I NGINERIA S ISTEMELOR

Sistem de parcare automată a autovehiculelor cu


ajutorul automatului programabil (PLC)

Îndrumător:
Autor:
Conf.Dr.Ing.
Andrei P ELIN
Nick Andrei I V ĂNESCU

Bucuresti, 2016
Cuprins

1 Introducere 2

2 Descrierea problemelor abordate 4

3 Automatul programabil 5
3.1 Definiţie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Structura unui PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Modalitatea de funcţionare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Limbaje de programare ale unui PLC . . . . . . . . . . . . . . . . . . . . . . . 7
3.5 Condiţii şi reguli ale limbajului SFC . . . . . . . . . . . . . . . . . . . . . . . 9
3.6 Mediul de dezvoltare Codesys V3 . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Programul Labview 12
4.1 Utilizarea programului Labview . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Conexiunea OPC 13

6 Modul de funcţionare al parcării 15

7 Implementarea software 19
7.1 Implementarea programului in Codesys . . . . . . . . . . . . . . . . . . . . . 19
7.2 Implementarea programului ı̂n Labview . . . . . . . . . . . . . . . . . . . . . 34

8 Implementarea hardware 36

9 Concluzii şi imbunătăţiri 37

10 Bibliografie 40

1
1 Introducere
În lucrarea de faţă, vom prezenta modalitatea şi paşii necesari, pentru a planifica şi
implementa o parcare automată a autovehiculelor. A-si parca maşina a devenit o adevărată
provocare pentru omul zilelor noastre, ı̂n special ı̂n oraşele ce au devenit supraaglomerate din
punctul de vedere al mijloacelor rutiere. Avantajul soluţiei alese vine din faptul că ea poate
fi implementată atât pentru o dezvoltare supraterană, cât şi ı̂n cazul unor construcţii subterane
sau parţial subterane. De asemenea, această parcare poate fi adaptată atât la construcţii special
proiectate pentru această utilizare, cât şi ı̂n construcţii deja existente, fiind posibilă adaptarea
acestei soluţii la spaţii ce au fost iniţial destinate altor activităţi.
Am ales această temă, deoarece mi se pare de o importanţă deosebită, ı̂n special ı̂n
oraşele mari din România, unde există foarte puţine locuri de parcare, comparativ cu ı̂ntregul
parc auto existent ı̂n aceste oraşe.
Acest tip de parcare poate găzdui 20 de maşini, pe o suprafaţă pe care, ı̂n mod normal,
ar fi parcate 6 maşini, ceea ce ı̂nseamnă că acest sistem reduce aria ocupată de acelaşi număr
de maşini cu aproximativ 300%. Este evident faptul că acest sistem este cu atât mai eficient din
punctul de vedere al spaţiului cu cât parcarea conţine un număr mai mare de etaje.
Un studiu realizat ı̂n 2013 arată că, anual, ı̂n lume sunt furate aproximativ 500 000 de
autovehicule. Din punctul de vedere al securităţii, acest sistem asigură atât protecţia maşinilor,
cât şi siguranţa bunurilor din interiorul autovehiculelor.
Implementarea unei astfel de soluţii tehnice are implicaţii directe ı̂n protecţia factorilor
de mediu, din mai multe puncte de vedere:

• Prin utilizarea eficientă a energiei (o parte din echipamente pot funcţiona pe baza unui
sistem de panouri solare, precum şi folosind corpuri de iluminat cu un consum redus de
energie);

• Utilizarea de echipamente performante cu consumuri reduse de energie;

• Utilizarea unor echipamente ce conţin componente reciclabile (EEE = Echipamente elec-


trice si electronice);

• Reducerea poluării fonice şi cea datorată emisiilor de gaze, ştiindu-se că, ı̂n special ı̂n
spatiile de parcare clasice, după pornirea autovehiculului, motoarele au un nivel de emisie
foarte crescut, implicând o manevrare lentă şi laborioasă a maşinilor, din cauza spaţiilor
foarte restrânse;

Pe lânga avantajele tehnice şi de mediu ale acestui sistem de parcare automată, el oferă
si avantaje ce ţin de domeniul esteticului. Pe pereţii exteriori ai clădirii vor fi plantate flori şi
plante de toate felurile, pentru a da culoare zonei unde este amplasată.
Din punct de vedere social şi instituţional, rezolvarea nevoilor privitoare la parcare se
reflectă ı̂n creşterea gradului de civilizaţie, a confortului şi a calităţii vieţii (creşterea gradului de
securitate individuală şi colectivă ı̂n cadrul comunităţilor locale, creşterea siguranţei circulaţiei
rutiere, realizarea unei structuri edilitare moderne, funcţionarea şi exploatarea ı̂n condiţii de
siguranţă, rentabilitatea şi eficienţa economică şi financiară), făcând posibilă crearea unei per-
sonalităţi urbane ce va aduce, cu siguranţă, mari beneficii ı̂n sfera serviciilor.
Costurile, factorii de mediu descrişi mai sus, limitele de spaţiu forţează oraşul să
găsească soluţii care să reducă costurile sistemelor de parcare, ı̂mbunătăţind totodată eficienţa
şi siguranţa. Pentru municipalităţi, devine obligatorie, ca şi ı̂n cazul altor activităţi din sfera ser-
viciilor (iluminatul public, transportul urban etc.), abordarea strategică pentru implementarea
unor soluţii de monitorizare, automatizare, eficientizare, care să ducă la reducerea consumului
de energie, la micşorarea costurilor de ı̂ntreţinere şi la reducerea emisiilor de CO2 , aşa cum

2
este cerut de protocolul de la Kyoto şi de anumite iniţiative europene. Protocolul de la Kyoto
reprezintă un acord ı̂ntre 40 de state participante, prin care se impune o scădere a emisiilor de
CO2 , de la an la an.
Acest gen de sistem de parcare poate constitui o alternativă viabilă şi importantă, ı̂n
special ı̂n spaţiile urbane, ı̂n care se urmăreşte conservarea ambientului şi arhitecturii, atunci
când se recurge la dezvoltările subterane.
Sistemul de parcare este definit ca un ansamblu de elemente: automat pentru comenzi
cerere/primire tichet, rampă de acces intrare/iesire auto, lift dotat cu platformă mobilă, pen-
tru transferul autovehiculelor, platforme fixe, ce reprezintă spaţiile ı̂n care vor fi parcate au-
tovehiculele. Automatul de tichete eliberează, la solicitarea clientului, un tichet ce conţine
informaţii privitoare la data şi ora de eliberare, precum şi numărul spaţiului de parcare, acestea
fiind imprimate atât ı̂n clar, cât şi sub formă de cod de bare si cod QR. Acesul la rampă se face
prin intermediul unei bariere automate ce detectează prezenţa autovehiculului, prin intermediul
unui senzor de prezenţă. Din zona rampei de acces, după urcarea maşinii pe rampa mobilă a
liftului, şi după ce clientul a ı̂nchis maşina şi a solicitat eliberarea tichetului, rampa mobilă de-
plasează maşina, cu ajutorul liftului, ı̂n sectorul selectat de către program, unde va fi depozitată
pe rampa fixă. Platforma mobilă este alcatuită din două căi de rulare ce asigură poziţionarea ı̂n
plan orizontal a autovehiculului, ı̂n vederea efectuării operaţiunilor de plasare, ea fiind dotată
cu limitatori, care să elimine riscul manevrelor eronate ale şoferilor. Un alt element ce ţine
de poziţionarea corectă a maşinii pe platforma liftului este crearea unui mic şanţ din barele
platformei la roţile din faţă. Liftul, ce realizează transferul pe verticală, utilizează sisteme de
ghidaje (senzori), ce permit deplasarea ı̂ntre etajele clădirii. Platforma mobilă este fixată de lif-
tul destinat pentru ridicarea pe nivelul ales al autovehiculului, iar deplasarea ı̂n plan transversal
al rampei se realizează prin intermediul unui sistem acţionat de două motoare electrice.
Din punct de vedere practic, atunci când clientul ajunge cu maşina la intrarea ı̂n zona
de acces a parcării automate, PLC-ul, ı̂n cazul ı̂n care există disponibil un loc de parcare,
ridică automat bariera şi permite accesul autovehiculului ı̂n zona rampei. Conducătorul auto
poziţionează autovehiculul pe rampă, iar apoi la coborâre, după ı̂nchiderea autovehiculului,
confirmă tipărirea tichetului de parcare, eliberat la cerere. După momentul eliberării tichetului,
bariera se ı̂nchide, accesul ı̂n zona autovehiculului este restricţionat, şi ı̂ncepe procesul efectiv
de deplasare a autovehiculului spre zona ı̂n care va fi depozitat pe platforma fixă. La cererea de
livrare a maşinii, pe baza tichetului, automatul programabil va identifica, prin citirea codului de
bare imprimat pe tichet sau a codului QR, platforma fixă pe care a fost depozitată maşina şi va
executa operaţiile de preluare, transfer şi livrare a autovehiculului ı̂n zona rampei de acces, după
efectuarea operaţiunilor de plată pentru serviciile de parcare ce au fost oferite. Odată ajuns ı̂n
zona rampei de acces, după oprirea rampei mobile, se permite accesul clientului la autovehicul
şi ieşirea din parcare, prin deschiderea barierei automate.
În etapa de cercetare, timp de aproximativ 3 luni, am căutat şi am studiat tipuri de
parcări existente deja pe piaţa din ı̂ntreaga lume, cum ar fi [9], iar acest lucru ne-a ajutat să
adăugăm elemente inovatoare, ce ar face din aplicarea efectivă a acestui proiect, realizarea
unui tip de parcare revoluţionar pentru ı̂ntreaga lume. Cercetarea a mai presupus realizarea a
trei modele diferite de parcare, iar pentru modelul final am compilat cele mai bune soluţii ale
celor trei anterioare. Elementul central al modelului final, pentru economisirea spaţiului, l-a
reprezentat modul de funcţionare a liftului.
Aceasta lucrare cuprinde paşii necesari pentru analiză, planificare, implementare şi
testare a parcării.
În prima parte, vom prezenta, ı̂n linii mari, noţiunile introductive ale tehnologiilor
şi echipamentelor folosite: PLC, Codesys, Labview, Conexiune OPC. Automatul programabil
(PLC) reprezintă nucleul acestei lucrări. El a fost utilizat pentru ı̂ncărcarea programului aferent
din Codesys şi pentru conectarea senzorilor şi a motoarelor, automatizând şi punând ı̂n practică

3
procesul de parcare propriu-zis. Mediul de programare Codesys a fost utilizat pentru crearea
si testarea programului ce va fi ı̂ncărcat ı̂n memoria automatului programabil. Prin intermediul
acestui program am realizat modul de comportare a parcării, atât ı̂n cazul unei funcţionări flu-
ente şi corecte, cât şi ı̂n cazul unei funcţionări deficitare. În Labview a fost creată partea vizuală
a funcţionării elementelor hardware ale parcării. Acest program ajută administratorul de sistem
să monitorizeze funcţionarea corectă a parcării. Conexiunea prin server OPC a făcut posibilă
preluarea variabilelor globale ce erau ı̂nregistrate in programul software ı̂ncărcat pe PLC şi
utilizarea lor ı̂n proiectul din Labview.
A doua parte cuprinde implementarea efectivă a programelor necesare dezvoltării
parcării automate (program Codesys şi Labview ), dar şi implementarea hardware (alegerea
echipamentelor).
A treia parte se referă la vizualizarea rezultatelor, la prezentarea unor modalităţi de
imbunătăţire ce pot fi aduse unui astfel de tip de parcare şi la enunţarea concluziilor.
Pentru a susţine exemplificativ acest proiect, am realizat o machetă, ce simulează
ı̂ntocmai, pas cu pas, funcţionarea practică a parcării. Aceasta a fost concepută din lemn de
balsa (lemn cu o densitate mică), folosit de cei mai mulţi dintre arhitecţi pentru confecţionarea
machetelor. În proiectarea machetei, am folosit două motoare, unul de tip pas cu pas, iar celălalt
este un motor cu reductor. Motorul pas cu pas este cel folosit pentru ridicarea/coborârea liftu-
lui, iar cel de-al doilea motor este folosit pentru deplasarea platformei liftului la stânga sau
la dreapta. Pentru simularea senzorilor, am folosit contacte magnetice, plasate sub platforma
liftului, sub fiecare suport de parcare şi ı̂n dreptul fiecărui etaj.
Întreaga lucrare de licenţă a fost redactată ı̂n sistemul de creare documente LaTex
dezvoltat de Leslie Lamport ı̂n anul 1984. Lucrarea a fost scrisă cu ajutorul limbajului Tex,
creat de Donald E. Knuth (vezi [11]).

2 Descrierea problemelor abordate


Prin implementarea acestui sistem, dorim să obţinem creşterea numărului de parcări,
eficientizarea spaţiului, economisirea timpului, protecţia autovehiculelor, dar si o ı̂mbunătăţire
estetică a unor astfel de spaţii, folosind arhitectura peisagistică ı̂n jurul clădirii. Aceasta poate
transforma imaginea unui astfel de spaţiu ı̂ntr-una plăcută, naturală sau chiar exotică.
Lipsa parcărilor reprezintă o problemă reală ı̂n zilele noastre. Aşa cum ştim cu toţii,
aproape ı̂n toate marile oraşe din România, ı̂n special ı̂n Bucureşti, nu există locuri de parcare
suficiente, raportat la numărul de maşini din parcul auto existent. Din acest punct de vedere,
este necesară o eficientizare a spaţiului deja destinat parcărilor, dar şi crearea de noi parcări.
De aceea, această lucrare prezintă un sistem de parcare automat, ce oferă minimizarea ariei
ocupate de acelaşi număr de maşini. Spre exemplu, ţinând cont că o maşină, pentru a fi parcată,
are nevoie de un spaţiu de 6 x 2.5 m, 20 de maşini parcate ocupă ı̂n total 300 m pătraţi. Acest
sistem de parcare face ca 20 de maşini parcate etajat să ocupe, la sol, 12.94 x 8m, adică 103.52
m pătraţi. Se poate observa o utilizare a spaţiului de 3 ori mai mică pentru acelaşi număr
de autovehicule. Această proporţie de 12.94 x 8 a fost aleasă si după numărul de aur, adică
am urmărit ca proporţia lungime/lăţime sa fie aproximativ 1.6180339. Numărul de aur este
secretul armoniei proporţiilor ı̂n mediul natural. El reprezintă un principiu fundamental, atât ı̂n
morfologia regnului animal şi vegetal (cochiliile melcilor, forma peştilor, structura ferigii şi a
florii-soarelui etc.), cât şi ı̂n proportţiile specifice trupului uman.
Revenind la utilitatea acestui tip de parcare, putem afirma cu siguranţă că acest sistem
ajută la economisirea timpului pentru parcare, deoarece şoferul maşinii trebuie doar să parcheze
maşina ı̂n lift fiind ghidat de un display sau o lampă, iar apoi să ceară, de la automatul de tichete,
un tichet de parcare ce are printat numărul parcării, ora şi data de eliberare a tichetului şi un cod

4
de bare sau cod QR.
Protecţia autovehiculelor şi a bunurilor din interiorul lor este asigurată ı̂n acest fel,
accesul către maşini nefiind posibil, decât pe baza tichetului emis. În cazul ı̂n care proprietarul
pierde tichetul, i se va returna autoturismul pe baza filmărilor realizate de camerele video.
Ceea ce aduce nou acest tip de parcare, faţă de cele existente pe piaţa din România,
este faptul că acest sistem detectează instant, ı̂n momentul prezenţei autovehiculului ı̂n faţa
barierei, platforma fixă liberă cea mai apropiată de sol. Programul software a fost conceput
astfel ı̂ncât să fie ocupate mai ı̂ntâi locurile de jos, atât pentru eficientizarea temporală cât şi
pentru minimizarea consumului de energie electrică.
Tot pentru reducerea timpului necesar şi a consumului de curent electric, am reglat
motorul liftului astfel ı̂ncât să ruleze la frecvenţe mari când liftul este gol şi să funcţioneze la
frecvenţe mici când pe platforma liftului există o maşină. Din acest punct de vedere, am luat ı̂n
considerare şi siguranţa deplasării maşinilor ı̂n interiorul parcării.
Din punct de vedere arhitectural, un avantaj fundamental al acestei parcări este acela
că poate fi amplasată parţial sau total ı̂n subteran (de exemplu, jumătate din etaje să fie sub
nivelul solului, iar cealaltă jumătate deasupra solului). Datorită spaţiului foarte mic pe care
ı̂l ocupă, ea poate fi amplasată ı̂n parcările supermarket-urilor, ale mall-urilor şi ale tuturor
instituţiilor mari, unde există o cerere considerabilă de locuri de parcare. Gândiţi-vă ce ar
ı̂nsemna să avem, de exemplu, astfel de parcări la supermarket-uri. Am reduce foarte mult din
spaţiul destinat parcărilor, iar şoferii ar beneficia de protecţia maşinilor şi de reducerea timpului
necesar pentru a găsi un loc liber de parcare.
Un avantaj puternic pentru acest tip de parcare este faptul că utilizează energie proprie,
deoarece, pe acoperişul clădirii, există panouri solare. Este bine cunoscut faptul că acestea nu
poluează mediul ı̂n timpul funcţionării, fiind eficiente, economice şi ecologice.
Un alt avantaj ı̂l constituie faptul că, pentru parcările din zonele complexelor indus-
triale, atunci când nu este necesară o arhitectura specială, costurile unei astfel de parcări pot
fi reduse foarte mult, atunci când nu este necesară o anvelopă a unei clădiri sau se pot utiliza
panouri tip ”sandwich”, specifice halelor industriale, ceea ce poate conduce la reduceri semn-
ficative ale costurilor unui astfel de sistem. Aplicarea unor astfel de sisteme se poate face chiar
ı̂n serie sau cascadă, cu mare uşurinţă, ı̂n zonele industriale, acolo unde uneori au fost prevăzute
parcări şi unde se doreşte, totuşi, extinderea anumitor zone de clădiri sau secţii de producţie. Un
alt avantaj puternic, al acestei parcări automate este acela că poate fi adaptat la diferitele gabarite
ale clădirilor şi, datorită greutăţii relativ reduse a sistemului de parcare, acesta se pretează spre
a fi amplasat chiar pe acoperişul anumitor clădiri care prezintă o structură de rezistenţă suficient
de solidă.

3 Automatul programabil
3.1 Definiţie
Automatul programabil (fig.3.1.1, fig.3.1.2), numit şi controler logic programabil
(PLC), face parte din familia de calculatoare, ce utilizează funcţii de control, fiind utilizat pentru
manipularea sistemelor automate.
Un automat programabil oferă diferite funcţii, cum ar fi: contorizare numerică, con-
torizare a timpului, comunicare şi manipulare a datelor.

5
Figura 3.1.2: Prezentare PLC din
Figura 3.1.1: Prezentare PLC din faţă spate

3.2 Structura unui PLC


Aşa cum se prezintă ı̂n [1] şi [8], un automat programabil este alcătuit dintr-o unitate
centrală, sloturi de intrare şi de ieşire, o memorie şi mai multe porturi seriale sau paralele, pentru
comunicarea cu alte dispozitive. (fig. 3.2.1)

Figura 3.2.1: Structură PLC

În unitatea centrală de procesare (CPU), se află microprocesorul care citeşte semnalele
de intrare şi efectuează acţiuni de control, conform programului stocat ı̂n memorie şi transformă
deciziile ı̂n semnale de acţiune spre ieşiri.
Unitatea de alimentare cu energie este necesară pentru a converti reţeaua de alimentare
ı̂n curent alternativ, la o tensiune mai mică.
Unitatea de memorie stochează programul, care va fi utilizat pentru acţiunile de con-
trol ce urmează să fie utilizate de către microprocesor.
Secţiunile de intrare şi de ieşire sunt folosite pentru ca procesorul să primească informaţii
de la dispozitivele externe din sloturile de intrare şi comunică informaţii către dispozitivele ex-
terne din sloturile de ieşire.
Intrările ar putea fi butoane, senzori, traductoare de presiune, debit, temperatură,
celule fotoelectrice, iar ieşirile ar putea fi o bobină, un motor, un ventil electromagnetic etc.
Portul serial este utilizat pentru a primi şi a transmite date atât de la un PLC la altul,
dar şi ı̂ntre un PLC şi un PC.

6
3.3 Modalitatea de funcţionare
Funcţionarea unui PLC (figura 3.2.1) se face printr-o scanare ciclică ce cuprinde
următorii paşi: citire, execuţie, scriere. Etapa de citire presupune ı̂ncărcarea regiştrilor de in-
trare cu informaţii binare ı̂n funcţie de starea intrărilor (active/inactive). În etapa de execuţie
a programului, PLC-ul citeşte programul stocat ı̂n memorie şi realizează o rulare secvenţială a
instrucţiunilor. Ultima etapă este etapa ı̂n care sunt actualizaţi regiştrii de ieşire, iar dispozitivele
de ieşire sunt activate sau dezactivate.
Ca prim pas, microprocesorul citeşte sloturile de intrare şi verifică starea lor. Apoi,
execută programul stocat ı̂n memorie şi, pe baza acestuia, modifică sloturile de ieşire, prin
intermediul interfeţei de ieşire. Aceste etape se realizează ciclic, pe toată durata utilizării PLC-
ului.

Figura 3.3.1: Funcţionare PLC

3.4 Limbaje de programare ale unui PLC


Un cunoscut mediu de programare al unui automat programabil este ISaGRAF, ce este
destinat aplicaţiilor de programare pentru un PLC. Cu ajutorul acestui mediu de programare,
aplicaţiile pot fi programate si testate, ı̂n vederea funcţionalităţii dorite.
Tipuri de programe ce pot fi implementate:

1. Flow Chart (FC)

2. Structured Text (ST)

3. Ladder Diagram (LD)

4. Instruction List (IL)

5. Function Block Diagram (FBD)

6. Sequential Function Chart (SFC)

7
În lucrarea de faţă, am utilizat un program de tip SFC, program ce se bazează pe
operaţii secvenţiale. Programul este alcătuit din etape (paşi) şi tranziţii.
Fiecare pas conţine un număr de tranziţii, ce conduc către alţi paşi. O tranziţie este
reprezentată printr-o valoare de tip boolean şi, de cele mai multe ori, este atribuită unui semnal
de intrare. O etapă poate fi descrisă cu ajutorul celorlalte limbaje şi are ca scop activarea sau
dezactivarea unui semnal de ieşire. Atât tranziţiile, cât şi paşii, pot fi aşezate ı̂n serie sau ı̂n
paralel.
Componentele grafice ale unui program folosind limbajul SFC sunt:
• Etape

– Etapa iniţială are ca simbol un pătrat cu un contur dublu.(figura 3.4.1)

Figura 3.4.1: Simbol etapa iniţială

– Fiecare etapă este reprezentă printr-un pătrat ce conţine ı̂n interior numărul etapei
respective.(figura 3.4.2)

Figura 3.4.2: Simbol etapă

– În dreptul fiecărui pas există legat printr-o linie un dreptunghi ı̂n care sunt descrise
acţiunile ce vor fi executate.(figura 3.4.3)

Figura 3.4.3: Simbol descriere etapă

• Tranziţii

– Simbolul tranziţiei este o linie orizontală care leagă ı̂ntre ele două etape. Fiecare
tranziţie conţine un număr ce reprezintă un element de identificare a tranziţiei.(figura
3.4.4)

Figura 3.4.4: Simbol tranziţie

8
• Legături orientate
– Liniile ce nu conţin un număr pentru identificare sunt utilizate pentru a da o orientare
ı̂ntre etape şi tranziţii. Implicit, orientarea se face de sus ı̂n jos.(figura 3.4.5)

Figura 3.4.5: Simbol legături orientate

• Salt către o altă etapă


– Simbolul de salt către o altă etapă este utilizat pentru a face trecerea mai uşoară
dintre doi paşi aflaţi la distanţă mare.(figura 3.4.6)

Figura 3.4.6: Simbol salt la un alt pas

3.5 Condiţii şi reguli ale limbajului SFC


• Programul trebuie să conţină o stare iniţială
• O tranziţie poate fi activată dacă s-au validat toate tranziţiile şi paşii de dinaintea ei.
• Odată cu depăsirea tranziţiei se activează paşii ce sunt pozitionaţi imediat sub ea şi se
dezactivează paşii de dinaintea ei.

9
• Dacă se activeză şi se dezactivează un pas ı̂n acelaşi timp, atunci pasul va ramâne activ.

3.6 Mediul de dezvoltare Codesys V3


Pentru implementarea programului, am folosit mediul de dezvoltare Codesys V3.
Conform [3], Codesys este un sistem de programare al unui automat programabil independent
de dispozitiv. Cu ajutorul acestui sistem, se pot crea programe de tipul SFC, ST, CFC, IL sau
LD. Un proiect de tip SFC in Codesys conţine atât componente de bază ce ţin de un SFC, dar şi
variabile globale, posibilititatea comunicării prin server OPC cu un client, simularea programu-
lui fără existenţa unui automat programabil si multe alte funcţii utile ce ajută la o implementare
corectă a programului, uşurând munca utilizatorului. Componente grafice ale programului SFC
ce nu au fost enunţate, dar care există ı̂n proiectele Codesys, sunt următoarele:

1. Divergenţa şi convergenţa


Conform lucrării [10], divergenţa este o conexiune multiplă de la care pleacă mai
multe conexiuni multiple. Convergenţa reprezintă mai multe conexiuni multiple de la
care pleacă mai puţine conexiuni multiple.
Cu ajutorul acestor două mecanisme, se pot crea ramuri alternative sau ramuri par-
alele. O ramură alternativă presupune o verificare a tranziţiilor şi paşilor, de la stânga la
dreapta, iar programul va funcţiona pe prima ramură ce conţine o tranziţie validă (figura
3.6.1). O ramură paralelă face o verificare a tranziţiilor şi paşilor, iar toate ramurile ce au
tranziţii valide vor rula simultan (figura 3.6.2)

Figura 3.6.1: Ramură alternativă

10
Figura 3.6.2: Ramură paralelă

2. Acţiuni
Fiecare etapă din cadrul programului poate avea 4 acţiuni: acţiune de intrare,
acţiune de ieşire, acţiune activă, acţiune asociată (figura 3.6.3). Acestea pot fi, la rândul
lor, programe de tipul SFC, ST, IL, LBD sau LD. Codul existent ı̂ntr-o acţiune de intrare
este executat imediat ce etapa este activă. Acţiunea activă va fi executată atâta timp
cât etapa este ı̂n desfăşurare. Acţiunea de ieşire este executată inainte ca etapa să fie
dezactivată. Acţiunea asociată poate fi de mai multe feluri:

(a) N: Va fi activă atâta timp cât pasul este activ


(b) R: Va fi dezactivată
(c) S: Va fi activă până cănd se va executa un reset (R)
(d) L: Va fi activă pentru un timp limitat
(e) D: Va fi activă după un anumit timp doar dacă pasul mai este incă activ
(f) P: Va fi executată doar o dată

Figura 3.6.3: Acţiuni existente ı̂ntr-o


etapă

11
Programul ı̂n Codesys conţine o zonă de configurare a task-urilor dorite. De exemplu,
ı̂n proiectul de faţă, unde programul creat conţine două subprograme, este necesară configurarea
task-urilor, adică, adăugarea explicită a subprogramelor la task-ul existent. De asemenea, pro-
gramul conţine o secţiune unde se pot declara viariabilele globale utilizate ı̂n ı̂ntregul proiect.
Codesys oferă posibilitatea testării aplicaţiei scrise, fără existenţa unui PLC conectat,
ceea ce uşurează cu mult lucrul cu acest program. Am ales să creez programul software ı̂n acest
mediu de programare, deoarece este uşor de ı̂nvăţat şi de folosit, având o mulţime de funcţii
ajutătoare pentru utilizatorul ce ı̂l foloseşte, fiind compatibil cu PLC-ul Bosch IndraControl
L25.

4 Programul Labview
Labview este un program foarte utilizat de către inginerii automatişti, mai ales ı̂n
aplicaţii industriale. Cu ajutorul acestui program se poate crea o legătură ı̂ntre aplicaţii şi date
sau informaţii din lumea reală. Labview te ajută sa creezi o parte vizuală user-friendly, prin
care pot fi urmărite foarte uşor datele ce se modifică sau valorile indicate de către senzori sau
traductoare.

4.1 Utilizarea programului Labview


Un proiect creat ı̂n acest mediu de programare este compus dintr-o parte de front-
end si una de back-end. Partea de front-end mai este denumită si panou frontal, iar partea de
back-end se mai numeşte diagramă bloc.
Panoul frontal (figura 4.1.1) conţine o paletă de controale, de unde pot fi adăugate
mai multe componente necesare dezvoltării aplicaţiei cum ar fi butoane, variabile boolene sau
numerice, indicatoare sau componente ce ţin de control.

Figura 4.1.1: Fereastră panou frontal

În diagrama bloc (figura 4.1.2) a unui proiect, se află o paletă de funcţii, ce pot fi
atribuite elementelor declarate deja ı̂n panoul frontal. Elementele sunt legate ı̂ntre ele prin
fire şi le pot fi atribuite constante sau variabile externe, ce sunt primite printr-un mediu de
comunicaţie, cum ar fi OPC.
Ca o regulă generală ı̂n implementarea programului, toate elementele din diagrama
bloc se află ı̂ntr-o buclă repetitivă ”while”, ceea ce conferă programului o rulare continuă, astfel
reuşindu-se actualizarea datelor ı̂n timp real. Tot aici, se poate adăuga un element de tip ”timer”,
prin care se specifică la ce momente de timp să se realizeze actualizarea informaţiilor.

12
Figura 4.1.2: Fereastră diagrama bloc

5 Conexiunea OPC
OPC (Open Platform Communications) reprezintă un program software ce presupune
o interfaţă standardizată pentru comunicarea cu dispozitive hardware industriale (figura 5.1).
Comunicarea prin OPC este destinată sistemului de operare Windows, ce oferă posibilitatea
unor programe să comunice cu elemente hardware externe. Cu ajutorul OPC, se face accesul
către datele din procesele industriale, iar interfaţa este utilizată pentru a se citi sau scrie date
către un PLC.
Această platformă de comunicare este de tip client/server. Serverul OPC este un pro-
gram executabil, ce porneşte automat, odată ce comunicarea dintre client si PLC a fost efectuată.
Serverul OPC preia variabilele disponibile ı̂n spaţiul de adrese al automatului programabil, pe
care ulterior le furnizează clientului. Pe lânga aceasta, serverul ı̂nştiinţează clientul despre
starea variabilelor şi oferă informaţii despre modificarea lor ı̂n timp real. Serverul OPC din
Codesys permite o cumunicare directă cu toate automatele programabile ce suportă proiecte
scise ı̂n Codesys.

Figura 5.1: Comunicaţia prin OPC

Aşa cum este prezentat ı̂n [2], paşii pentru a conecta automatul programabil prin OPC
server sunt:

1. Se adaugă un fişier de configurare a simbolurilor, pentru a include ı̂n proiect un fisier


”Symbol Configuration” : ı̂n meniul Project – Add Object – Symbol Configuration. La
deschiderea sistemului de configurare a simbolurilor, va apărea fereastra din figura 5.3.
În partea dreaptă, se află toate variabilele disponibile din proiect (”Available variables”).
Aici, utilizatorul selectează variabilele pe care le doreşte, pentru a fi transmise ulterior
prin canalul de comunicaţie. După selectarea variabilelor, utilizatorul face click pe bu-
tonul ce este reprezentat de două săgeţi orientate la dreapta, pentru ca variabilele să apară
ı̂n fereastra ”Selected variables”. În această fereastră, se află variabilele ce pot fi citite sau

13
scrise de către clientul OPC. Următorul pas presupune configurarea simbolurilor (vari-
abilelor) prin acordarea permisiunilor.
O variabilă poate fi accesată ı̂n 3 moduri:
(a) read
(b) write
(c) read-write
Ultimul pas constă ı̂n apăsarea butonului de Login, ce se găseşte ı̂n meniul
Debug. La activarea acestui buton, programul va fi ı̂ncărcat ı̂n PLC şi apoi se pot urma
paşii pentru configurarea clientului OPC.

Figura 5.2: Symbol Configuration

2. Iniţial, numele server-ului OPC este OPCserver.ini . Se poate crea un nou server OPC,
prin rularea executabilului OPCConfig.exe.
Un fişier cu extensia .ini este un fişier standard de iniţializare a fişierelor de configurare
pentru diferite platforme sau aplicaţii software. El este compus dintr-un text ce coņtine
proprietăţi, atribute şi valori.
3. După selectarea server-ului Codesys.OPC.DA, clientul are acces la simbolurile definite la
pasul 1.
Clientul OPC reprezintă un program de vizualizare a datelor, iar ı̂n cazul de faţă este
reprezentat cu ajutorul programului Labview. Pentru conectarea prin OPC a clientului, mai
ı̂ntâi este necesară adăugarea server-ului OPC ı̂n aplicaţia de client. Acest lucru se realizează in
Labview prin:
1. Crearea unui ”Blank Project” (figura 5.3).
2. Click dreapta pe ”My Computer” – ”New” – ”I/O Server”(figura 5.4)
3. Din lista vom alege OPC client, iar apoi apăsăm butonul ”Continue”. Va apărea fereastra
din figura 5.5
4. Din secţiunea ”Registered OPC servers” vom alege opţiunea OPC.IwSCP.1 şi apoi ”OK”.
După executarea acestei operaţii, ı̂n proiect va apărea o nouă librărie. Facem click dreapta
pe OPC1 – Create Bound Variables. De aici, selectăm variabilele dorite şi apoi apăsăm
butonul de ”OK”.

14
Figura 5.3: Proiect nou Labview Figura 5.4: Creare I/O Server

Figura 5.5: Configurare I/O server

6 Modul de funcţionare al parcării


Pentru modalitatea de funcţionare a parcării, am realizat câteva scenarii şi am vizual-
izat si cercetat parcările deja existente pe piaţa din ı̂ntreaga lume. Până la implementarea acestui
model, am creat 3 modalităţi de parcare diferite, iar cea pe care o prezentăm ı̂n această lucrare
s-a dovedit a fi cea mai eficientă, atât din punct de vedere al economisirii spaţiului, cât şi al
timpului.
Parcarea ocupă un spaţiu total de 100 de m2 , având o lăţime de 8 m2 şi o lungime de
2
12.94 m , putând găzdui un număr total de 20 de maşini. Aceste dimensiuni ale parcării au
fost alese şi datorită faptului că am dorit ca aceasta saăibă proporţiile numărului de aur. Am
ales aceasta, deoarece marile opere de artă au fost construite pe aceasta proporţie şi am dorit să

15
construim ceva mai mult decât o simplă parcare, şi anume o operă de artă. Exemple de acest tip
ar fi ”Gioconda” sau ”Mona Lisa” a lui Leonardo Da Vinci, Pantenonul, templu ridicat zeiţei
ı̂nţelepciunii, Atena, sau ”Marea Piramidă din Giza”. Toate aceste opere sunt ı̂n strânsă legătură
cu numărul de aur 1.618033... . Pentru a aduce un plus de viaţă clădirii, am amplasat de jur
imprejurul ei plante ornamentale. Vorbind de o eficientizare a spaţiului consumat, parcarea
ocupă de trei ori mai puţin spaţiu decât ar fi ocupat 20 de maşini parcate la sol.
Parcarea este alcătuită dintr-un lift poziţionat iniţial central, şi, de o parte şi de alta
a lui, la fiecare etaj, vor exista platforme fixate, ce vor avea rol de susţinere a maşinii parcate.
Platforma liftului şi platfomele fixate sunt alcătuite din grilaje şi construite astfel ı̂ncât platforma
liftului să se ı̂ntrepătrundă cu platformele fixate (figura 6.1).

Figura 6.1: Platforma liftului şi cea


fixă

Platforma liftului are lăţimea de 2 m şi este formată din două porţiuni compacte,
prevăzute cu axe fixate ı̂n rulmenţii din barele din fată şi din spate ale liftului şi o porţiune
cu grătare care se va ı̂ntrepătrunde cu cele ale platformelor fixate, poziţionate ı̂n stânga şi ı̂n
dreapta, la fiecare etaj.
Liftul, ı̂n sine, este cât toată parcarea şi este prevăzut cu o bară ı̂n formă de ”C”, atât
ı̂n faţă, cât şi ı̂n spate. În aceste ”bare” vor fi montaţi rulmenţii platformei liftului. Rulmentul
este o componentă mecanică ce reduce frecarea ı̂ntre elementele aflate ı̂n mişcare. Cele două
bare ale liftului sunt acţionate de fiecare parte de câte o cremalieră, ce are o siguranţă care face
ca liftul să rămână pe loc la oprirea motorului ce realizează urcarea sau coborârea liftului.
Platforma liftului pe care se află maşina va fi mişcată, atât ı̂n dreapta, cât şi ı̂n stânga,
de două motoare aflate sub platforma liftului. Platforma liftului nu va fi la nivelul solului. Pentru
a urca pe platformă este prevăzută o rampă de intrare/iesire. Este necesar ca platforma liftului sa
fie la ı̂nălţimea de 40 de cm faţă de sol deoarece sub aceasta se găsesc motoarele de platformă,
motoare care au rolul de a duce platforma liftului la dreapta sau la stânga.
De platforma liftului (şi ı̂n faţă şi ı̂n spate) sunt fixaţi, prin sudare, suporţii motoarelor
de platformă şi cele două axe de capete cu role, pentru şufele de tracţiune ale platformei maşinii.
Tot de platformă sunt fixaţi cei trei senzori de limită dreapta, limită stânga şi de mijloc (figura
6w.2).
Sub platforma liftului va fi poziţionat un senzor ce indică prezenţa liftului la parter. De
asemenea, pe platforma liftului, ı̂n faţa grătarelor metalice, va fi un senzor ce va indica prezenţa
maşinii ı̂n lift.

16
Figura 6.2: Montajul senzorilor si al
motorului la platforma liftului

La fiecare etaj se montează câte patru fotocelule, astfel: lift ı̂n poziţia X_A, lift ı̂n
poziţia X_B, maşină parcată ı̂n poziţia X_D sau maşină parcată ı̂n poziţia X_S. X ia valori de la
1 la 10, ı̂n funcţie de etaj. Pentru fiecare etaj, senzorul ce indică prezenţa liftului in pozitia X_B
este montat mai jos decât senzorul ce indică prezenţa liftului ı̂n poziţia X_A (figura 6.3).

Figura 6.3: Senzori de etaj in poziţia


A şi poziţia B

Senzorii ce indică maşină parcată ı̂n poziţia X_D şi maşină parcată ı̂n poziţia X_S spe-
cifică ce parcări sunt ocupate pentru fiecare etaj. De exemplu, senzorul de maşină ı̂n poziţia
2_D ne spune dacă există o maşină parcată pe platforma fixă din dreapta de la etajul 2. Analog
pentru senzorul de maşina in poziţia 2_S.

Funcţionalitatea parcării se ı̂mparte ı̂n:

1. Funcţionalitatea la parcarea maşinii


Dacă o maşină se află in faţa parcării şi platforma liftului este la parter, automatul
programabil primeşte cele două semnale şi interoghează sistemul de parcare pentru a afla
dacă există un loc liber de parcare. De aici, putem avea două situaţii:

(a) Există o parcare liberă şi atunci bariera se deschide şi maşina poate urca pe platforma
liftului;
(b) Nu există o parcare liberă şi atunci, după două secunde se va aprinde o lampă de
semnalizare şi va apărea un mesaj cu textul ”Parcare ocupată complet”.

În continuare, vom trata doar situaţia de la punctul a), deoarece situatia b) nu are con-
tinuitate. Odată ce maşina a urcat ı̂n lift şi senzorul indică prezenţa acesteia, automatul
programabil alocă clientului cea mai apropiată parcare faţă de parter, ı̂ncepând cu parcarea

17
1_D. Dacă aceasta este ocupată, i se alocă parcarea 1_S. Dacă şi aceasta este ocupată, se
alocă 2_D, şi aşa mai departe, până la alocarea parcării 10_S. Nu există posibilitatea ca
maşina să intre pe platforma liftului, fără să nu existe cel puţin o parcare liberă. Am ales
această metodă de alocare a parcării de jos ı̂n sus pentru a economisi timp şi energie, atât
la parcarea, cât şi la livrarea maşinii. După ce automatul a alocat o parcare pentru maşina
prezentă ı̂n lift, se aşteaptă ca şoferul să iasă din maşină şi să ceară un tichet de parcare
de la automatul de tichete. Pe tichet sunt afişate următoarele informaţii: ora şi data de
eliberare a tichetului, numărul parcării alocate şi un cod de bare sau un cod QR. În mo-
mentul eliberării tichetului, se ı̂ncepe procesul de contorizare a timpului. După eliberarea
tichetului, bariera coboară şi ı̂ncepe procesul efectiv de plasare a maşinii pe platforma fixă
alocată de către automatul programabil. Să presupunem că pe tichet a fost inscripţionat
textul ”parcarea 3, etajul 2”. Automatul programabil ştie că parcarea 3 ı̂nseamnă pentru
el parcarea 2_D.
În vederea parcării ı̂n condiţii de siguranţă, am luat măsuri de a se evita urcarea
liftului la un alt etaj decât cel la care s-a alocat parcarea pe tichet. În exemplul de faţă,
dacă unul din semnalele etajX_B sau etajX_A este activ, cu X luând valori de la 3 la 10,
atunci liftul se blochează şi porneşte un semnal de alarmă.
Parcarea maşinii ı̂n poziţia 2_D se realizează astfel: cu semnalul de maşină
ı̂n lift activ, semnalul de lift la parter activ şi cu semnal de eliberare al tichetului, se
ı̂ncepe comandă contactor de urcare lift. Liftul va urca, până când se activează semnalul
etaj2_A sau, ı̂n cazuri de defecţiune, până când o altă fotocelulă de la etajele superioare
va fi activă. La o funcţionare normală, liftul se va opri ı̂n dreptul senzorului etaj2_A.
După oprirea motorului, se aşteaptă o secundă şi se acţionează contactorul de comandă
platformă lift la dreapta. Activarea motorului va determina deplasarea platformei liftului
şi ,implicit, a maşinii ı̂n dreapta, până când se va activa senzorul de limită platformă lift la
dreapta. Imediat după activarea senzorului, motorul ce acţionează deplasarea platformei
la dreapta se opreşte. După o secundă, se comandă acţionarea contactorului ce realizează
coborârea liftului. Liftul coboară până ajunge ı̂n poziţia etaj2_B.
Dacă, dintr-o defecţiune, etaj2_ B nu devine activ şi liftul mai coboară, sub
fiecare senzor există un blocaj mecanic care blochează liftul ( blocajele sunt ı̂n dreptul
fiecărei părţi compacte a platformei liftului , sub poziţiile ETAJ X_B).
În momentul ı̂n care etaj2_B devine activ, coborârea liftului este oprită. Prin
coborârea liftului din poziţia etaj2_A ı̂n poziţia etaj2_B, s-a efectuat parcarea maşinii
ı̂n parcarea 2_D. După parcarea maşinii, platforma liftului trebuie adusă la mijloc şi apoi
coborâtă la parter. Odată ce senzorul de etaj2_B a devenit activ, peste o secundă, se
activează contactorul ce trage platforma la stânga, până când se activeaza senzorul ce in-
dică prezenţa platformei la mijloc. Cu senzorul de platformă la mijloc activ, se acţionează
contactorul de coborâre a liftului până când liftul ajunge la parter şi senzorul ce indică
prezenţa liftului la parter devine activ. Din acest moment, parcarea a fost efectuată cu
succes şi se aşteaptă o altă cerere de parcare. În acelaşi mod se efectuează fiecare parcare
cu specificaţiile aferente fiecărui etaj şi parcări alocate.

2. Funcţionalitatea la livrarea maşinii.


Clientul vine la automatul de tichete, introduce tichetul, automatul calculează
costul parcării şi după ce plata a fost confirmată, este informat PLC-ul că este cerută
livrarea unei maşini. Simultan cu cererea de livrare, automatul de tichete informează
PLC-ul la ce număr este parcată maşina. De exemplu, să presupunem că a fost cerută
maşina parcată la parcarea 2_D. La cererea unei maşini de către automatul de tichete,
PLC-ul stabileşte cerere maşină din parcare Y (Y=1-20). De exemplu, dacă tonomatul a

18
cerut livrarea maşinii parcate in poziţia 2_D, PLC-ul stabileşte că este ”cerere maşină din
parcarea 3”. Similar cu condiţiile impuse la parcare, aceleaşi condiţii sunt impuse şi la
livrarea maşinii. Liftul este obligat să nu urce la un alt etaj decât cel la care a fost parcată
maşina, altfel se va bloca şi va declanşa un semnal de alarmă. Dacă, dintr-o eroare, liftul
urcă mai sus de etajul doi, acesta este blocat de PLC şi va fi adus la parter sau la parcarea
unde este cerută maşina, ı̂n mod manual de către administrator. Livrarea maşinii se va
face ı̂n felul următor: dacă liftul este liber şi parcarea 2_D ocupată, atunci se face o cerere
de maşină de la parcarea 3 şi se comandă contactorul de urcare lift, până ajunge liftul ı̂n
poziţia : etaj1_B). Cu senzorul etaj1_B activ, peste o secundă, contactorul de acţionare
motor la dreapta se va activa până când ajunge ı̂n poziţia limită platformă la dreapta
şi mută platforma liftului sub maşina parcată. Cu senzorul de limită platformă dreapta
activ, peste o secundă se comandă contactorul de urcare lift până ı̂n poziţia etaj2_A. Prin
urcarea platformei ı̂n poziţia etaj2_A, a fost ridicată şi maşina parcată in parcarea 1_D.
Dacă, dintr-o eroare, senzorul din poziţia etaj2_A nu acţioneazaă, platforma
se blochează mecanic (blocajele sunt ı̂n dreptul fiecărei părţi compacte ale platformei
liftului, deasupra poziţiilor etajX_A). Cu maşina ı̂n lift şi senzorul de etaj2_A activ,
peste o secundă, contactorul de acţionare platformă la stânga este activat şi acţionează
până ce platforma liftului ajunge la mijloc. Senzorul de platformă la mijloc este dublat,
pentru evitarea mişcării platformei mai la dreapta sau mai la stânga. După ce platforma
cu maşina ı̂n lift a ajuns la mijloc, cu senzor de platformă la mijloc activ, peste o secundă
se comandă contactorul ce porneşte coborârea liftului la parter. Liftul coboară, până
ajunge la parter şi, peste o secundă, bariera se deschide şi maşina poate părăsi parcarea.
După eliberarea liftului, PLC-ul informează automatul de tichete că livrarea maşinii s-a
ı̂ncheiat, iar tonomatul dezactivează semnalul de cerere maşină.

7 Implementarea software
Implementarea software a parcării automate a fost realizată cu ajutorul programelor
Codesys V3 şi Labview 2015. În Codesys am implementat programul ce este ı̂ncărcat ı̂n PLC.
Acest program reprezintă nucleul acestui proiect. Programul Labview 2015 al celor de la Na-
tional Instruments a fost folosit pentru a crea partea vizuală a proiectului ı̂n care se pot vedea
stările componentelor hardware importante ale parcării.

7.1 Implementarea programului in Codesys


Programul ı̂n Codesys V3 este scris ı̂n limbaj SFC (Sequential Function Chart), iar
acţiunile paşilor au fost scrise ı̂n limbaj ST (Structured Text).
Programul ı̂n este ı̂mpărţit ı̂n două subprograme:
1. Parcarea maşinii
2. Livrarea maşinii
Cele două subprograme folosesc variabile comune, dar există şi variabile ce sunt strict
folosite doar pentru un anumit subprogram. Toate variabilele utilizate sunt variabile globale de
tip boolean, declarate ı̂n fisierul numit GVL (Global Variables).
În Task Configuration am creat un apel atât către subprogramul ”Parcare”, cât şi pen-
tru ”Livrare”. De asemenea, proiectul include si fişierul de Symbol Configuration ce ajută la
crearea conexiunii prin OPC.

19
Variabile ce sunt folosite ı̂n ambele subprograme:

• masinaInFataBarierii AT%IX1.1:BOOL; - semnal de intrare pentru a detecta prezenţa


maşinii ı̂n faţa parcării

• semnalLiftLaParter AT%IX1.2:BOOL; - semnal de intrare pentru a detecta prezenţa


platformei liftului la parter

• deschidereBariera AT %QX1.2:BOOL; - semnal de ieşire ce realizează deschiderea/ı̂nchiderea


barierei

• masinaInLift AT %IX1.3:BOOL; - semnal de intrare ce spune dacă există o maşina ı̂n


lift

• limitaPlatformaLiftLaDreapta AT %IX2.2:BOOL; - semnal de intrare ce este ac-


tiv când platforma liftului a ajuns ı̂n limita din dreapta

• limitaPlatformaLiftLaStanga AT %IX2.3:BOOL; - semnal de intrare ce spune când


platforma liftului a ajuns la limita din stânga

• limitaPlatformaLiftLaMijloc AT %IX2.4:BOOL; - semnal de intrare pentru a de-


tecta prezenţa platfomei liftului la mijloc

• actionareMotorPlatformaLaDreapta AT %QX2.1:BOOL; - semnal de ieşire ce porneşte/opreşte


motorul ce deplasează platforma liftului la dreapta

• actionareMotorPlatformaLaStanga AT %QX2.2:BOOL; - semnal de ieşire ce porneşte/opreşte


motorul ce deplasează platforma liftului la stânga

• blocareLift AT %QX2.3:BOOL; - semnal de ieşire ce blochează liftul ı̂n cazul unei


funcţionalităţi nedorite

• alarma AT %QX2.4:BOOL; - semnal de iesire ce presupune activarea alarmei odată cu


blocarea liftului

• motorUrcareLift AT %QX3.1:BOOL; - semnal de iesire ce realizează urcarea liftului

• motorCoborareLift AT %QX3.2:BOOL; - semnal de iesire ce realizează coborârea lif-


tului

• p1_D AT %IX3.1:BOOL; - semnal de intrare ce indică dacă parcarea 1_D este ocupată

• p1_S AT %IX3.2:BOOL; - semnal de intrare ce indică dacă parcarea 1_S este ocupată

• p2_D AT %IX3.3:BOOL; - semnal de intrare ce indică dacă parcarea 2_D este ocupată

• p2_S AT %IX3.4:BOOL; - semnal de intrare ce indică dacă parcarea 2_S este ocupată

• p3_D AT %IX4.1:BOOL; - semnal de intrare ce indică dacă parcarea 3_D este ocupată

• p3_S AT %IX4.2:BOOL; - semnal de intrare ce indică dacă parcarea 3_S este ocupată

• pX_D sau pX_S:BOOL; X ∈[1,10] - semnal de intrare ce indică dacă parcarea pX_D sau
pX_S este ocupată

• etaj1_A AT %IX4.3:BOOL; - semnal de intrare ce indică prezenţa platformei liftului la


etajul 1 senzorul din poziţia A.

20
• etaj1_B AT %IX4.4:BOOL; -semnal de intrare ce indică prezenţa platformei liftului la
etajul 1 senzorul din poziţia B.

• etaj2_A AT %IX5.1:BOOL; -semnal de intrare ce indică prezenţa platformei liftului la


etajul 2 senzorul din poziţia A.

• etaj2_B AT %IX5.2:BOOL;- semnal de intrare ce indică prezenţa platformei liftului la


etajul 2 senzorul din poziţia B.

• etaj3_A AT %IX5.3:BOOL;- semnal de intrare ce indică prezenţa platformei liftului la


etajul 3 senzorul din poziţia A.

• etaj3_B AT %IX5.4:BOOL;- semnal de intrare ce indică prezenţa platformei liftului la


etajul 3 senzorul din poziţia B.

• etajX_A sau etajX_B:BOOL; X ∈[1,10] - semnal de intrare ce indică prezenţa plat-


formei liftului la etajul X senzorul din poziţia A sau B.
1. Parcarea maşinii

 Declararea variabilelor folosite explicit pentru parcare şi explicaţia rolului lor
Unele variabile au fost declarate cu o intrare sau o ieşire specifică pentru PLC, deoarece
am utilizat aceste semnale pentru macheta ce face parte din partea practică a acestui proiect. Prin
crearea acestei machete, ce este alcătuită din 3 etaje, am ı̂ncercat simularea parcării reale. Sem-
nalele utilizate pentru machetă conţin după declararea variabilei şi un text precum ”AT %IX1.1”
pentru un semnal de intrare sau ”AT %QX1.1” pentru un semnal de ieşire. În textul "%IX1.1",
”I” specifică faptul că semnalul este o intrare, iar ”1.1” specifică adresa de intrare din PLC core-
spunzătoare. Analog pentru un semnal de ieşire, singura diferenţă fiind faptul că la declararea
variabilei se ı̂nlocuieşte litera ”I” cu litera ”Q”.

• lampaSemnalizareParcareOcupata AT %QX1.1: BOOL; - semnal de ieşire ce indică


dacă există o parcare liberă sau nu

• accesLaTichet AT %QX1.3:BOOL; - semnal de ieşire ce spune dacăşoferul are acces la


tichet

• parcare AT %QX1.4:BOOL; - semnal de ieşire activat ı̂n momentul ı̂nceperii efective a


parcă rii maşinii

• tichetEliberat AT %IX2.1:BOOL; -semnal de intrare ce ı̂nştiinţeaza automatul pro-


gramabil ca s-a eliberat tichet

• tichetParcare1 AT %QX3.3:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat


un tichet de parcare pentru parcarea 1, adică parcarea p1_D

• tichetParcare2 AT%QX3.4:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat


un tichet de parcare pentru parcarea 2, adică parcarea p1_S

• tichetParcare3 AT %QX4.1:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat


un tichet de parcare pentru parcarea 3, adică parcarea p2_D

• tichetParcare4 AT %QX4.2:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat


un tichet de parcare pentru parcarea 4, adică parcarea p2_S

21
• tichetParcare5 AT %QX4.3:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat
un tichet de parcare pentru parcarea 5, adică parcarea p3_D

• tichetParcare6 AT %QX4.4:BOOL; - semnal de ieşire pentru a afla dacă s-a eliberat


un tichet de parcare pentru parcarea 6, adică parcarea p3_S

• tichetParcareX:BOOL; X ∈[1,20] - semnal de ieşire pentru a afla dacă s-a eliberat un


tichet de parcare pentru parcarea X, adică parcarea pX_D sau pX_S

• parcareUnica1 AT %QX5.1:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 1

• parcareUnica2 AT %QX5.2:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 2

• parcareUnica3 AT %QX5.3:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 3

• parcareUnica4 AT %QX5.4:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 4

• parcareUnica5 AT %QX6.1:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 5

• parcareUnica6 AT %QX6.2:BOOL; - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea 6

• parcareUnicaX:BOOL; X ∈[1,20] - - semnal de ieşire suplimentar pentru un plus de


siguranta care indică faptul că se face parcarea maşinii din lift ı̂n parcarea X

 Structura programului software de parcare a maşinii şi explicaţii suplimentare

Programul implementat este de tip SFC ce conţine etape şi tranziţii. Programul ı̂ncepe
cu etapa iniţială, necesară orică rui tip de program scris ı̂n limbaj SFC. După etapa iniţială,
apare o tranziţie, ce reprezintă un semnal de intrare şi anume ”masinaInFataBarierei”. Acest
semnal ia valoarea TRUE atunci când ı̂n faţa parcării apare o maşină. Următoarea tranziţie
”semnalLiftLaParter” verifică prezenţa liftului la parter(figura 7.1.1).

Figura 7.1.1: Verificarea iniţială

Dacă liftul se află la parter, atunci se verifică, pe rând, de jos ı̂n sus, toţi senzorii
ce se află la platformele fixe care oferă informaţii referitoare la prezenţa unei maşini parcate

22
Figura 7.1.2: Verificare parcare liberă

pe locul respectiv. Aceşti senzori sunt notaţi cu ”pX_D sau pX_S”, unde X reprezintă etajul,
luând valori de la 1 la 10. În figura 7.1.2 este reprezentată verificarea pentru primele 5 parcări,
dar prin analogie reiese cum se face verifiarea şi celorlalte parcări.
Se ı̂ncepe căutarea unei parcări libere pornind cu parcarea ”p1_D” şi se continuă
căutarea pâna la parcarea ”p10_S”. Acest lucru s-a realizat prin implementarea unei ramuri
alternative. De aici există două situaţii:
1. Să nu se găsească o parcare liberă
2. Să se găsească o parcare liberă
Tratând situaţia primului caz, dacă după verificarea ultimului semnal, şi anume, p10_S,
nu s-a găsit nicio parcare liberă, atunci, printr-o acţiune de intrare, peste două secunde clientul
va fi anunţat că parcarea este ocupată prin activarea semnalului ”lampaSemnalizareParcareOcu-
pata”. Acest lucru este evidenţiat ı̂n următoarea secvenţă de cod:

IF Step2.t>T#2S THEN
GVL.lampaSemnalizareParcareOcupata:=TRUE;
END_IF

După aprinderea lampei de semnalizare se sare la etapa iniţială şi se aşteaptă parcarea
sau livrarea altei maşini.
În cea de-a doua situaţie, dacă există o parcare liberă, adică automatul a găsit un
semnal pX_D sau pX_S cu valoarea FALSE, atunci se trece la etapa următoare unde, printr-o
acţiune activă am făcut ca valoarea semnalului ”tichetParcareX” sa fie TRUE, X ∈[1,20]. Ca
un exemplu, să presupunem că p1_D are valoarea FALSE. Atunci, urmărind figura 7.1.2, se va
activa pasul ”Etaj1_1” ce conţine o etapă activă având următorul cod:

IF GVL.p1_D=FALSE THEN
GVL.tichetParcare1:=TRUE;
ELSE
IF GVL.p1_S = FALSE THEN
GVL.tichetParcare2 := TRUE;
END_IF
END_IF

Activarea pasului ”Etaj1_1” face ca semnalul ”tichetParcare1” să ia valoarea TRUE.


Acest semnal este utilizat doar pentru a şti ce parcare este liberă şi ce tichet va elibera automatul
de tichete. Analogic se deduc toate acţiunile pentru toţi paşii EtajX_1, cu X ∈[1,10].
Pasul următor, şi anume, ”Step4” devine activ automat având doar o tranziţie cu val-
oarea TRUE inaintea lui ( vezi figura 7.1.2 ). Aceasta etapă conţine o acţiune de intrare ce
presupune deschiderea barierei parcării. Asta ı̂nseamnă că odată ce automatul programabil a
găsit o parcare liberă, bariera se va deschide prin valoarea TRUE a semnalului ”deschidereBari-
era”. Prin această implementare m-am asigurat că maşina nu poate intra pe platforma liftului

23
fără a exista o parcare liberă.

GVL.deschidereBariera:=TRUE;

La deschiderea barierei, avem doua situaţii:

1. Clientul se răzgândeşte şi nu mai vrea să parcheze

2. Clientul parchează maşina ı̂n lift

În primul caz, se aşteaptă 10 secunde, după care prin activarea acţiunii de intrare a
etapei ”Step5” se ı̂nchide bariera, iar apoi printr-un salt se trece la starea iniţială (figura 7.1.3).

GVL.deschidereBariera:=FALSE;

Figura 7.1.3: Prezentare cele două


sitaţii

În cazul al doilea, odată ce maşina a urcat ı̂n lift, semnalul ”masinaInLift” este TRUE
şi se activează etapa ”Step6”, unde cu o acţiune de intrare fac o verificare pentru toate sem-
nalele ”tichetParcareX”, cu X ∈[1,20]. Această verificare presupune că doar un semnal de tipul
”tichetParcareX” să fie TRUE, iar restul să fie FALSE. În continuarea exemplului anterior, când
am spus că semnalul ”tichetParcare1” este TRUE, se face verificarea că doar semnalul ”tichet-
Parcare1” este activ, iar restul semnalelor sunt FALSE. Am realizat acest lucru pentru a aduce
un plus de siguranţă functionalită tii parcării. După aceasta verificare semnalul ”ParcareUnica1”
este activ şi clientul are acces la tichet (semnalul ”accesLaTichet”).

IF GVL.tichetParcare1 = TRUE AND GVL.tichetParcare2 = FALSE


AND GVL.tichetParcare3 = FALSE AND GVL.tichetParcare4 = FALSE
....
AND GVL.tichetParcare19 = FALSE AND GVL.tichetParcare20 = FALSE THEN
GVL.parcareUnica1 :=TRUE;
GVL.accesLaTichet :=TRUE;
END_IF

24
Prin deducţie se observă imediat cum se face verificarea şi in alte situaţii ı̂n care un
alt semnal ”tichetParcareX” este activ. Tranziţia imediat următoare pasului ”Step6” presupune
ca maşina să fie ı̂n lift şi clientul să fi primit un tichet după apăsarea unui buton de la automatul
de tichete (GVL.masinaInLift AND GVL.tichetEliberat). Acest lucru se poate observa ı̂n figura
7.1.3. La activarea simultană a celor două semnale enunţate anterior, se activează pasul ”Step7”
cu următoarea ac tiune de intrare:

GVL.accesLaTichet:=FALSE;
GVL.parcare:=TRUE;
GVL.deschidereBariera:=FALSE;

Prin rularea acestei acţiuni, clientul nu mai are acces la tichet, bariera se ı̂nchide, iar
semnalul numit ”parcare” devine TRUE pentru a aduce un plus de siguranţă parcării şi pentru a
ı̂nştiinţa administratorul de sistem că se execută parcarea unei maşini. Ulterior, prin verificarea
semnalelor ”masinaInLift” şi ”parcare” se trece la faza de parcare efectivă a maşinii (figura
7.1.4).

Figura 7.1.4: Paşi anteriori ı̂nceperii


efective a parcării

Prin implementarea unei ramuri alternative, automatul programabil verifică de la stânga


la dreapta fiecare semnal de tipul ”ParcareUnicaX”, cu X ∈[1,20], incepând cu variabila de in-
trare ”parcareUnica1”. În continuare, ca un exemplu, voi prezenta parcarea efectivă a maşinii
de pe platforma liftului ı̂n pozitia p1_D, adică ı̂n parcarea 1. La fel se face parcarea oricărei
maşini pe o platformă fixă ce are un număr impar (ex: parcarea 3, 5, 7, 9 etc.). Parcarea pe o
platformă fixă cu un număr par este puţin diferită, dar voi explica acele diferenţe ı̂n momentul
ı̂n care voi ajunge la ele.
Având semnalul ”parcareUnica1” TRUE, se activează acţiunea de intrare a pasului
”Parcare1_1” (vezi figura 7.1.4), care presupune pornirea motorului de urcare a liftului.

GVL.motorUrcareLift := TRUE;

Liftul va urca până când senzorul ”etaj1_A” va fi activ (figura 7.1.5). De exem-
plu, pentru parcarea 2 liftul ar fi urcat tot până ı̂n poziţia ”etaj1_A” doarece se află la acelşi
nivel. Pentru parcările 3 şi 4 liftul ar fi urcat până la activarea senzorului ”etaj2_A”, pentru
parcările 5 si 6 până la ”etaj3_A” şi aşa mai departe pentru celelalte parcări. După ce liftul a
ajuns ı̂n pozitia "etaj1_A" se face o verificare prin activarea pasului ”VerifLiftP1” prin care

25
se interogheză toţi senzorii de etaj de deasupra ce sunt de tipul ”etajX_A” sau ”etajX_B”, cu
X ∈[2,10]. Reiese de aici că, de exemplu, pentru parcarea maşinii ı̂n poziţia 4, se verifică sen-
zorii ”etajX_A” sau ”etajX_B”, cu X ∈[3,10].

GVL.motorUrcareLift:=FALSE;
IF GVL.etaj2_A=TRUE OR GVL.etaj2_B=TRUE OR GVL.etaj3_A=TRUE
...
OR GVL.etaj10_A=TRUE OR GVL.etaj10_B=TRUE THEN
GVL.blocareLift:=TRUE;
GVL.alarma:=TRUE;
GVL.motorUrcareLift:=FALSE;
END_IF

La momentul activării senzorului ”etaj1_A”, conform codului prezentat mai sus, ur-
carea liftului se opreşte. În situaţia ı̂n care unul din senzorii de deasupra este activ, liftul se va
bloca şi va porni alarma.
Această funcţionalitate a fost implementată pentru a fi sigur că liftul nu va urca mai sus
decât este necear şi prin aceasta am reuşit să creez şi o modalitate de asigurare a corectitiudinii
parcării.

Figura 7.1.5: Începerea efectivă a


parcării maşinii ı̂n parcarea 1

Din acest punct, putem avea două situaţii:


1. Când liftul este blocat
2. Când liftul funcţionează corect
La o funcţionare greşită a liftului, când liftul este blocat, după trei secunde, având
semnalul ”blocareLift” TRUE, ı̂ncepe faza de revenire a liftului la parter (figura 7.1.6).
Etapa numită ”Revenire1” conţine o acţiune de intrare ce realizează pornirea motoru-
lui pentru coborârea liftului la parter.

GVL.motorCoborareLift:=TRUE;
Liftul va coborı̂ până când liftul va ajunge la parter, adică semnalul ”liftLaParter” are
valoarea TRUE. După aceasta, ı̂n acţiunea de la pasul ”Step12” am oprit motorul, şi am coman-
dat deschiderea barierei.

26
Figura 7.1.6: Paşi ı̂n cazul blocării lif-
tului

GVL.motorCoborareLift:=FALSE;
GVL.deschidereBariera:=TRUE;

Clientul ı̂şi va scoate maşina de pe platformă şi prin semnalul ”masinaInLift” având
valoarea FALSE, după 5 secunde, bariera va coborı̂.Această secventă de revenire a liftului la
parter ı̂n cazul blocării acestuia, este valabilă pentru toate parcările.

IF Step13.t>5S THEN
GVL.deschidereBariera:=FALSE;
END_IF

La o funcţionare corectă a liftului (figura7.1.7), cu semnalul ”blocareLift” FALSE şi


semnalul ”etaj1_A” TRUE, după o secundă, prin acţiunea activă a pasului ”Parcare1” va porni
motorul ce deplasează platforma liftului la dreapta.

IF Parcare1.t >T#1S THEN


GVL.actionareMotorPlatformaLaDreapta := TRUE;
END_IF

Aici apare prima diferenţă faţă de parcarea unei maşini ı̂ntr-o poziţie pară, unde plat-
forma liftului se va deplasa la stânga. După cum am prezentat ı̂n capitolul 6 al acestei lucrări,
parcările impare se află ı̂n dreapta, iar cele pare ı̂n stânga. Prin prezenţa senzorului activ
”limitaPlatformaLiftLaDreapta” ni se spune ca platforma a ajuns ı̂n capătul din dreapta al
parcării. Având senzorii ”masinaInLift” şi ”limitaPlatformaLiftLaDreapta” activi, se trece la
etapa următoare unde, se va realiza oprirea motorului ce deplasează platforma liftului la dreapta.
Se subı̂ntelege faptul că, pentru o parcare ı̂n poziţie pară se va executa oprierea motorului ce
acţioneaza deplasarea platformei liftului la stânga.

GVL.actionareMotorPlatformaLaDreapta:=FALSE;

Prin semnalul de intrare ”Etaj1_B” inactiv se trece la urmă torul pas unde, după o
secundă, se acţionează motorul ce realizează coborârea liftului.

27
IF Verificare1_2.t>T#1S THEN
GVL.motorCoborareLift:=TRUE;
END_IF

Figura 7.1.7: Paşii de ı̂nceput pentru


parcarea maşinii ı̂n parcarea 1

Liftul va coborı̂ până când senzorul ce indică prezenţa maşinii ı̂n parcarea 1 este activ
(p1_D=TRUE) şi senzorul ”Etaj1_B” este TRUE (figura 7.1.8). Acest lucru este evidenţiat ı̂n
acţiunea de intrare a pasului ”Verificare1_3”:

GVL.motorUrcareLift:=FALSE;

După oprirea motorului, prin acţiunea activă a pasului ”Verificare1_3” se ı̂ntamplă


următorul lucru: după o secundă, cu semnalul ce notifică prezenta liftului la mijloc inactiv,
porneşte motorul ce ac ctionează platforma liftului la stânga. În cazul unei parcări ı̂ntr-o poziţie
pară, s-ar fi acţionat semnalul care face ca platforma liftului să se deplaseze la dreapta.

IF Verificare1_3.t>T#1S
AND GVL.limitaPlatformaLiftLaMijloc = FALSE THEN
GVL.actionareMotorPlatformaLaStanga:=TRUE;
END_IF

Odată ce senzorul ”limitaPlatformaLiftLaMijloc” are valoarea TRUE, atunci se exe-


cută oprirea motorului ce deplasează platforma la stânga.

GVL.actionareMotorPlatformaLaStanga:=FALSE;

Aşa cum se poate observa ı̂n figura 7.1.8, după o secundă, având semnalul p1_D ac-
tiv, semnal ce indică prezenţa maşinii parcate ı̂n parcarea 1, se acţionează motorul ce face
ca platforma liftului să coboare.Acest lucru este implementat ı̂n acţiunea de intrare a pasului
”Verificare1_4”.

GVL.motorCoborareLift:=TRUE;

28
Când liftul a ajuns la parter, şi senzorul ”liftLaParter” este TRUE, atunci se comandă
oprirea motorului.

GVL.motorCoborareLift:=FALSE;

Figura 7.1.8: Paşii de finalizare pentru


parcarea maşinii ı̂n parcarea 1

Astfel, maşina a fost parcată cu succes şi liftul aşteaptă parcarea sau livrarea unei alte
maşini. În acest mod se realizează parcarea unei maşini ı̂n orice poziţie de la 1 la 20.

2. Livrarea maşinii

 Declararea variabilelor folosite explicit pentru livrare şi explicaţia rolului lor

• cerereMasina AT %IX1.4:BOOL; - semnal de intrare ativat ı̂n momentul ı̂nceperii pro-


gramului de livrare a maşinii

• cerereMasinaParcare1 AT %QX6.3:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 1

• cerereMasinaParcare2 AT %QX6.4:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 2

• cerereMasinaParcare3 AT %QX7.1:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 3

• cerereMasinaParcare4 AT %QX7.2:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 4

• cerereMasinaParcare5 AT %QX7.3:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 5

• cerereMasinaParcare6 AT %QX7.4:BOOL; - semnal de ieşire care ne spune că se face


livrarea maşinii de la parcarea 6

29
• cerereMasinaParcareX:BOOL; - semnal de ieşire care ne spune că se face livrarea
maşinii de la parcarea X, cu X ∈[1,20]

• cerereParcare1 AT %IX6.1: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 1

• cerereParcare2 AT %IX6.2: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 2

• cerereParcare3 AT %IX6.3: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 3

• cerereParcare4 AT %IX6.4: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 4

• cerereParcare5 AT %IX7.1: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 5

• cerereParcare6 AT %IX7.2: BOOL; - semnal de intrare trimis de automatul de tichete


ı̂n momentul ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea 6

• cerereParcareX: BOOL; - semnal de intrare trimis de automatul de tichete ı̂n momentul


ı̂n care clientul introduce tichetul ce realizează o cere de la parcarea X, cu X ∈[1,20]

 Structura programului software de livrare a maşinii şi explicaţii suplimentare

Programul este construit ı̂n acelaşi limbaj, şi anume, SFC. Programul conţine o etapă
iniţială, obligatorie pentru orice program scris ı̂n acest tip de limbaj. După această etapă se
face o verificare a semnalelor ”masinaInLift” şi a semnalului ”cerereMasina”.Asa cum se poate
vedea ı̂n figura 7.1.9, condiţia de trecere la următoarea etapă este să nu avem o maşină ı̂n lift, şi
să avem o cerere de maşină din partea unui client.

Figura 7.1.9: Paşii iniţiali pentru


livrarea unei maşini

Următoarea condiţie impusă este ca liftul să fie la parter, adică semnalul de intrare
”semnalLiftLaParter” să fie TRUE. Dacă şi liftul se află la parter, atunci se activează pasul
”Step1”, unde, printr-o acţiune de intrare verifică de la ce număr de parcare s-a făcut cererea

30
de livrare (”cerereParcareX”, cu X ∈[1,20].) şi activează un semnal de tipul ”cerereMasina-
ParcareX”, cu X ∈[1,20]. De exemplu, să presupunem că se face o cerere de livrare maşina de
la parcarea 1. Clientul vine la automatul de tichete, introduce tichetul, plăteşte, iar apoi este
activat semnalul ”cerereParcare1”. Prin aţiunea de intrare de la etapa ”Step1” se activează sem-
nalul ”cerereMasinaParcare1” astfel:

IF GVL.CerereParcare1=TRUE THEN
GVL.cerereMasinaParcare1:=TRUE;
END_IF

Prin analogie se poate observa cum se vor activa şi alte semnale de tipul ”cerere-
MasinaParcareX”, ı̂n funcţie de semnalul activat de automatul de tichete. În continuare am
implementat un branch alternativ, prin care se alege ı̂n funcţie de tipul de semnal ”cerereMasi-
naParcareX”, ce paşi vor fi parcurşi. Să presupunem ca se va face livrarea maşinii de la parcarea
1, adică semnalul ”cerereMasinaParcare1” este activ. Cererea de livrare a altor maşini se va face
asemănător, dar la fel ca la programul de parcare al maşinilor, autotoruismele ce se vor afla pe
poziţii pare vor avea mici diferenţe de implementare faţă de cele aflate pe poziţii impare. Aceste
diferenţe le voi prezenta la momentul apariţiei lor.

Figura 7.1.10: Paşii de ı̂nceput a


livrării efective a maşinii de la par-
carea 1

Cu semnalul ”cerereMasinaParcare1” activ şi având o maşină parcată ı̂n parcarea cu


numărul 1 (”p1_D” este activ), se trece la pasul următor numit ”Parcare1_1”. Prin activarea
acestui pas pornesţe motorul ce face ca platforma liftului să urce(figura 7.1.10).

GVL.motorUrcareLift := TRUE;

Liftul va urca până când semnalul ”Etaj1_B” va fi activ, adică liftul a ajuns ı̂n dreptul
fotocelulei ce se află jos la etajul 1, aşa cum am prezentat ı̂n capitolul 6 al acestei lucrări. Odată
ce liftul a ajuns aici, motorul de urcare se opreşte şi se face o verificare suplimentară ce include
interogarea senzorilor de deasupra ce sunt de tipul ”EtajX_A” sau ”EtajX_B”. Dacă se va găsi
un semnal superior activ, atunci liftul se va bloca, şi va porni alarma.

motorUrcareLift:=FALSE;

31
IF GVL.etaj1_A=TRUE OR GVL.etaj2_A=TRUE OR GVL.etaj2_B=TRUE
...
OR GVL.etaj10_A=TRUE OR GVL.etaj10_B=TRUE THEN
GVL.blocareLift:=TRUE;
GVL.alarma:=TRUE;
END_IF

Din acest punct, avem doă situaţii:

1. Liftul se blochează şi porneşte alarma

2. Liftul funcţionează corect

În primul caz (figura 7.1.11), când liftul se va bloca, după trei secunde va porni mo-
torul ce deplasează platforma liftului ı̂n jos. Odată ce liftul a ajuns la parter, cu ”semnalLiftLa-
Parter” activ, motorul se va opri şi se va deschide bariera.

GVL.motorCoborareLift:=FALSE;
GVL.deschidereBariera:=TRUE;

După cinci secunde de la dezactivarea semnalului ”masinaInLift”, bariera va coborı̂ şi


programul trece ı̂n starea iniţială.

GVL.deschidereBarierea:=FALSE;

Figura 7.1.11: Paşi ı̂n cazul blocării


liftului

În cel de-al doilea caz (figura 7.1.12), unde funcţionarea liftului este corectă şi plat-
forma s-a oprit ı̂n dreptul senzorului ”Etaj1_B”, prin tranziţia ce verifică faptul că semnalul
”blocareLift” este FALSE şi semnalul ”Etaj1_B” este TRUE, se trece la etapa următoare unde
printr-o acţiune activă a etapei ”Parcare1”, după o secundă, se va acţiona motorul ce deplasează
platforma liftului la dreapta. În cazul unei cereri de livrare de la o maşina parcată pe o poziţie
pară s-ar fi activat motorul ce deplasează a platforma liftului la stânga.

32
IF Parcare1.t >T#1S THEN
GVL.actionareMotorPlatformaLaDreapta := TRUE;
END_IF

Următoarea tranziţie verifică faptul că nu există nici o maşină ı̂n lift şi că senzorul
care indică prezenţa platformei liftului ı̂n limita din dreapta este activ. Dacă aceste două sem-
nale ı̂ndeplinesc condiţiile impuse de tranziţie, se va trece la pasul următor. Pentru cazul ı̂n care
maşina ar fi fost parcată pe o poziţie pară, tranziţia ar fi impus ca semnalul de ”limitaPlatfor-
maLiftLaStanga” să fie activ. Pasul următor presupune dezactivarea motorului ce acţionează
platforma liftului la dreapta.

GVL.actionareMotorPlatformaLaDreapta:=FALSE;

Figura 7.1.12: Paşi pentru livrarea


corectă a maşinii

Printr-o tranziţie care verifică faptul că semnalul ”Etaj1_A” este FALSE, se va activa
pasul ce conţine o acţiune activă ce presupune următoarea aţiune: după o secundă, motorul ce
va urca platforma liftului se va activa.

IF Verificare1_2.t>T#1S THEN
GVL.motorUrcareLift:=TRUE;
END_IF

Platforma liftului va urca până ı̂n momentul ı̂n care semnalul ”Etaj1_A” va fi activ,
semnalul care indică prezenţa maşinii ı̂n parcarea 1 va fi dezactivat (”p1_D” este FALSE) şi
maşina se află ı̂n lift. Imediat după ce aceasta condiţie a fost ı̂ndeplinită se va opri urcarea liftu-
lui.

33
GVL.motorUrcareLift:=FALSE;

Acţiunea activă a pasului curent va face ca, peste o secundă, platforma liftului să se
deplaseze la stânga. Pentru celalalt caz, s-ar fi actţionat platforma liftului la dreapta.

IF Verificare1_3.t>T#1S THEN
GVL.actionareMotorPlatformaLaStanga:=TRUE;
END_IF

Când liftul a ajuns cu platforma la mijloc(”limitaPlatformaLiftLaMijloc” este TRUE),


atunci motorul se va opri.

GVL.actionareMotorPlatformaLaStanga:=FALSE;

Cu platforma liftului la mijloc, după o secundă se comandă coborârea liftului.

GVL.motorCoborareLift:=TRUE;

Odată cu activarea semnalului ”liftLaParter”, motorul se va opri şi se va deschide bari-


era.

GVL.motorCoborareLift:=FALSE;
GVL.deschidereBariera:=TRUE;

După cinci secunde de la dezactivarea semnalului ce indică prezenţa unei maşini ı̂n
lift, bariera va coborı̂ şi programul va trece ı̂n starea iniţială unde se va astepta o cerere de
livrare sau de parcare a unei maşini.

IF Wait.t>T#5S THEN
GVL.deschidereBariera:=FALSE;
END_IF

În acest mod s-a realizat livrarea cu succes a unei maşini din parcarea 1. Prin analogie,
se observă uşor modalitatea de implementare şi pentru alte parcări din acest sistem automat de
parcare a maşinilor.

7.2 Implementarea programului ı̂n Labview


După crearea conexiunii prin OPC, am realizat un proiect ı̂n Labview, unde se pot
vizualiza absolut toate semnalele necesare unei parcări cu trei etaje. Macheta parcării este
construită tot pe trei nivele. Aceste semnale pot avea trei modalităţi de acces (read, write sau
read/write), ı̂n funcţie de setările efectuate ı̂n zona de ”Symbol Configuration” din Codesys.
Programul ı̂n Labview este ı̂mpărţit ı̂n două componente: partea de front-end sau
panoul frontal şi o parte de back-end, numită diagramă bloc.
Panoul frontal (figura 7.2.1) conţine imagini şi butoane de tip boolean, cărora le-am
dat un nume sugestiv, ı̂n funcţie de semnalul pe care ı̂l reprezintă. Pentru a crea o interfaţă cât
mai prietenoasă, am utilizat imagini cu maşini reale şi am construit o schemă aproximativă a
scheletului parcării.
Diagrama bloc (figura 7.2.2) conţine elementele existente ı̂n panoul frontal, dar aici
le-am atribuit semnalul corespunzător din proiectul Codesys V3. Pentru a acorda unui buton de

34
tip boolean o variabila din proiectul Codesys, am procedat astfel: am selectat mai intâi butonul,
apoi, cu click dreapta pe el, din meniu am ales opţiunea ”Create”. Din ”Create”→”Shared Vari-
able Node”→”My Computer”→”ParcareLabview.lvlib”, unde ”ParcareLabview” reprezintă nu-
mele proiectului.

Figura 7.2.1: Panoul frontal ı̂n Lab-


view

Figura 7.2.2: Diagrama bloc ı̂n Lab-


view

35
8 Implementarea hardware
Necesarul de echipamente de automatizare, motoare, aparate electrice şi materiale
necesare construcţiei unei parcări cu zece etaje având 20 locuri de parcare:

1. Echipamente de automatizare

• Un controler logic programabil PLC cu 22 de intrări digitale şi 12 ieşiri digitale.


Se poate alege varianta unui PLC Bosch Rexroth Indracontrol l25 sau un PLC sau
varianta unui PLC Unitronics V350-33-R34, pe al cărui HMI se poate configura şi
urmări parcările ocupate, precum şi parcarea sau livrarea unei maşini ı̂n timp real.
Tot pe acest tip de PLC se poate comanda din HMI livrarea unei anumite maşini
parcate sau comanda liftului, cu sau fără maşina pe platforma lui, ı̂n mod manual.
• Numărul intrărilor digitale necesare pentru parcări şi poziţii ale liftului ı̂n dreptul
fiecărui etaj nu sunt suficiente pentru câte are PLC-ul pe placa de bază şi, prin ur-
mare, sunt necesare extensii digitale conectate la PLC.
• Două extensii digitale cu 16 intrări
• Pentru conectarea PLC ului la un PC sau la internet, atât pentru management, cât şi
pentru supravegherea parcării, este necesar un modul ethernet.
• Sursa de alimentare PLC de 24V.

2. Echipamente de câmp (bariera de acces ı̂n parcare, fotocelule pentru poziţia liftului de la
etajul unu până la etajul zece, senzori de poziţie platformă, poziţie lift, maşină ı̂n lift sau
maşini parcate).
Dacă cel puţin o parcare este liberă, liftul este la parter şi ı̂n raza de acţiune
a fotocelulei barierei există o maşină (cerere de parcare masină), bariera se deschide,
permiţând accesul maşinii pe platforma liftului. Pentru poziţia liftului (la parter), maşina
ı̂n lift, poziţia platformei liftului (limita dreapta, limita stânga si poziţie mijloc) sunt nece-
sari 8 senzori. Menţionez că, pentru poziţia platformei, senzorii sunt dublaţi din motive
de siguranţă a funcţionării corecte. Pentru poziţia liftului de la etajul 1 la etajul 10, am
prevăzut fotocelule. Fiecare etaj are două poziţii ale liftului (A şi B). De exemplu la par-
carea maşinii la etajul 2 dreapta, liftul va fi comandat să urce până la etajul 2 poziţia A,
apoi va fi comandată platforma să se mişte la dreapta, până la limită platformă dreapta,
apoi este comandat liftul să coboare ı̂n poziţia B, prin această mişcare, maşina rămâne
parcată pe plaforma fixă de la etajul 2 dreapta. Pentru fiecare maşină parcată, acţionează
o fotocelulă.

• Barieră cu fotocelulă.
• Fotocelule emitător/receptor 20 de seturi pentru poziţia liftului şi 20 de seturi pentru
parcarea ocupată.
• Senzori de poziţie - 8 buc. senzori no/nc.

3. Echipamente de comandă şi acţionare electrică.

• Pentru alimentarea motorului ce acţionează liftul este necesar un convertizor de


frecvenţă - Convertizor de frecvenţă- Emerson de tipul SK5402 - 90/75 KW - 168/156
A
• Pentru comanda motorului urcare şi coborâre sunt necesare două contactoare acţionate
cu 24 v (inversează două faze, astfel ı̂ncât să schimbe sensul de rotire al motorului) -
contactor 4 poli, tensiune boboină 24 V AC- Tetrapolar Siemens, 250 A,165KW/400V

36
• Pentru alimentarea motoarelor de platformă, sunt necesare două convertizoare de
frecvenţă 15KW, curent nominal 32A, trifazat- Moeller
• Pentru comanda motoarelor ce mişcă platforma liftului, pe orizontală, la stânga sau
la dreapta, sunt necesare câte două contactoare pentru fiecare motor - contactor 4
poli, cu bobină 24 V / AC, 35A, 23KW / 400V. Platforma liftului e formată din două
subansamble faţă-spate, iar fiecare parte a platformei este acţionată de un motor
al cărui sens de rotaţie este modificat, prin acţionarea unui contactor ce inversează
două faze pentru a-i schimba sensul de rotaţie al motorului.
• Pentru urcarea si coborârea liftului, este necesar un motor sincron de tipul - EC
Electric Motors sincron 75kW (100HP) 3ph AC Motor - 400V/690V 4 Pole 280S
Frame B3 Foot Mount.
• Pentru mişcarea platformei liftului la stânga şi la dreapta, sunt necesare două mo-
toare sincrone de tipul motor - 15 kw AC motor sincron.

4. Elemente constructive ale parcării


Motorul de acţionare lift se va instala deasupra etajului 10 şi, prin sisteme reduc-
toare, va acţiona patru benzi rulante infinite cu autoblocare (câte o bandă rulantă la fiecare
capăt al liftului). Autoblocarea este o piedică din metal construită mecanic, ce ı̂mpiedică
alunecarea benzilor rulante, fără acţionarea motorului. Liftul este alcătuit dintr-o structură
metalică. Pe părţile laterale, stânga şi dreapta, se montează componenetele propriu-zise
ale parcărilor, formate dintr-o platformă solidă prevăzută cu grătare faţă-spate. Aceste
grătare se vor ı̂ntrepătrunde cu grătarele de la platforma liftului. Tot pe părţile laterale
ale scheletului metalic, sub poziţiile xB (unde x reprezintă etajul), se vor monta limi-
tatoare metalice care vor opri coborârea liftului ı̂n situaţia ı̂n care una din fotocelule se
defectează.
Platforma liftului este o structură metalică din două părţi sub formă de grătare.
Fiecare grătar e prins printr-un ax cu roţile pe rulmenti ı̂n structura platformei. Rulmenţii
se mişcă stânga-dreapta pe un canalet metalic sub forma de ”C” şi sunt suficient de solizi
să suporte o jumătate din greutatea maşinii.

• Sistem mecanic reductor de viteză si antrenare benzi infinite


• Benzi metalice infinite cu autoblocare
• Sistem de fixare şi mişcare stânga-dreapta platformă lift

9 Concluzii şi imbunătăţiri


 Îmbunătăţiri ce pot fi aduse

Pe lângă instalarea plantelor de jur ı̂mprejurul parcării şi utlizarea energiei solare ce
contribuie la un mediu nepoluat, s-ar putea aduce şi alte imbunătăţiri care să ajute clienţii. De
exemplu, s-ar putea crea o aplicaţie pe telefon prin care clientul să ı̂şi rezerve din timp un loc
de parcare. Rezervarea presupune alegerea unei parcări, având o interfaţă grafică cu parcările
ocupate şi cele libere, dar obligă clientul să precizeze ora la care va ajunge să parcheze maşina.
Dacă după 5 minute de la ora precizată clientul nu a ajuns şi nici nu a anunţat o ı̂ntârziere, atunci
parcarea va fi disponibilă oricui. Odată rezervat un loc de parcare, el poate fi eliberat, ı̂n cazul ı̂n
care clientul se răzgândeşte. Această aplicaţie poate să ofere şi o secţiune de comentarii, unde
clienţii să discute despre experienţa cu acest sistem de parcare. Tot ı̂n această aplicaţie poate să
existe şi posibilitatea plăţii tichetului de parcare.

37
O altă imbunătăţire ce poate fi adusă este să se implementeze un sistem de ghidare a
şoferului ı̂n momentul parcării maşinii ı̂n lift. Acest mecanism de dirijare este deja implementat
pe anumite sisteme de parcare. Un lucru important ce poate fi adus ı̂n plus este plata parcării
direct cu cardul deoarece ajută clientul să salveze timpul ı̂n care s-ar fi dus să scoată bani de la
un bancomat.
În vederea eliminării manevrelor greşite, pe rampa mobilă, se pot utiliza sisteme de
rulare pe bază de cilindri mobili, asemănător sistemelor utilizate in staţiile ITP pentru testarea
capacităţii de frânare a maşinii, ı̂n care cilindrul central permite ı̂ncastrarea roţii ı̂n sistemul de
cilindri şi nu permite depăşirea zonei de siguranţă, chiar şi dacă motorul este turat iar roţile se
ı̂nvârt ı̂n cazul unor manevre greşite. Pentru gestionarea eficientă a maşinilor, se poate utiliza
un sistem de colectare a datelor, ı̂ntr-o bază de date, a numerelor de ı̂nmatriculare, ce pot fi
identificate pe baza unor soft-uri dedicate, sistem ce poate fi utilizat ı̂n cazul ı̂n care tichetul
de parcare a fost pierdut. Astfel, personalul desemnat al parcării poate verifica, pe baza certi-
ficatului de ı̂nmatriculare şi ale sistemului de supraveghere video, identitatea clientului care a
beneficiat de serviciul de parcare, iar atunci când nu există suspiciuni, poate decide eliberarea
autovehiculului, chiar şi ı̂n condiţiile ı̂n care clientul a pierdut tichetul de parcare.
 Concluzii
În urma finalizării acestui proiect de licenţă, am obţinut un sistem perfect funcţional şi
sigur pentru parcarea autoturismelor. Pentru aceasta au fost necesare crearea unui model de par-
care eficientă, implementarea software a programului pe PLC, implementarea unei părţi vizuale
de unde se pot observa stările senzorilor şi motoarelor, implementarea hardware a componen-
telor ce vor fi utilizate şi o machetă din trei etaje a parcării reale unde se poate vedea amplasarea
senzorilor şi motoarelor.
Pentru găsirea unui model de parcare, a fost necesară cercetarea pieţei, ı̂n vederea
soluţiilor deja existente, iar pentru a ajunge la acest model final, a fost nevoie de câteva săptămâni,
ı̂n care am construit alte trei modele funcţionale de parcări. M-am oprit asupra acestui sistem,
deoarece mi s-a părut cel mai eficient, din punct de vedere al spaţiului şi al timpului de par-
care/livrare a maşinii.
Avantajele sistemului propus:
• Soluţii tehnice foarte simple, ce permit adaptări la o gamă variată de tipuri de spaţii, atât
existente, cât şi special proiectate sau destinate.
• Posibilitatea de a fi implementat ı̂n situaţiile ı̂n care ambientul urban, arhitectura, necesită
să fie protejate şi conservate, putând fi folosite dezvoltări subterane sau ı̂n interiorul unor
clădiri deja existente şi care au fost destinate iniţial altor utilizări.
• Utilizarea unor echipamente simple, ieftine, dar fiabile ı̂n funcţionare.
• Sistemul poate fi adaptabil la nevoile specifice, ı̂n funcţie de condiţiile locale.
• Sistemul de management este relativ simplu, fapt ce aduce costuri de ı̂ntreţinere şi reparaţii
reduse.
• Au fost folosite echipamente, ce sunt utilizate ı̂n mai toate automatizările industriale, ceea
ce face să nu necesite un personal supraspecializat.
• Considerăm că, ı̂n funcţie de sistemele de lift şi rampă mobilă, pot fi obţinute soluţii
tehnice cu costuri foarte reduse.
• Din punct de vedere al mediului, ı̂n primul rând, se obţine eliminarea impactului vizual
negativ, generat de spaţiile de parcare ample, urbanistica şi mediul ambiant fiind conser-
vate.

38
• Din punct de vedere social, acest sistem oferă o creştere a gradului de civilizatie, a confor-
tului şi a calităţii vieţii, precum şi creşterea gradului de securitate individuală şi colectivă.

De asemenea, implementarea programului pe PLC a fost făcută pentru versiunea


Codesys V2.3, Codesys V3. O altă versiune implementată a acestei parcări a fost făcută ı̂n
Visilogic, dar nu ı̂n limbaj SFC, ci ı̂n limbaj LD (Ladder Diagram). Având aceste trei im-
plementări, ı̂n medii diferite, acest sistem poate fi implementat pe o gamă largă de automate
programabile. În această lucrare, am ales să vă prezint doar proiectul implementat ı̂n Codesys
V3, deoarece aceasta este versiunea ce funcţionează pe PLC-ul IndraControl L25 (vezi [6]), pe
care ı̂l deţine facultatea de Automatică şi Calculatoare din Bucureşti.
Contribuţia adusă ı̂n ceea ce priveşte programul ı̂n Labview, de unde se realizează
partea de vizualizare a parcării, este aceea că a fost necesară vizita ı̂n facultate, pentru a conecta
laptopul personal la PLC prin ethernet, cu scopul de a crea conexiunea prin server OPC, pen-
tru a avea acces la variabilele din programul ı̂ncărcat ı̂n automatul programabil. Consider că
implementarea acestui proiect ı̂n Labview aduce un plus substanţial acestui sistem de parcare.
Macheta a fost construită din lemn de balsa, lemn ce este folosit de arhitecţi ı̂n crearea
machetelor. Aşa cum am mai spus, macheta are doar trei etaje, şi conţine 2 motoare şi şaisprezece
contacte magnetice: trei pentru limită platformă lift, două pentru fiecare etaj pentru poziţia A
sau B, unul pentru prezenţa maşinii ı̂n lift şi câte un senzor magnetic sub fiecare din cele şase
platforme fixe, pentru a detecta prezenţa maşinii parcate.
Lucrarea de licenţă a fost redactată complet ı̂n limbaj LaTex, cu ajutorul documentaţiilor
[4], [5].
Acest tip de soluţie propusă se poate dezvolta sub forma unui kit complet, care poate
fi configurat ı̂n câteva soluţii de bază, iar in felul acesta, costurile de producţie şi implementare
ar putea fi reduse foarte mult, ı̂n situaţia ı̂n care acestea ar fi livrate ca soluţii complete, ı̂n
configuraţiile cele mai uzual ı̂ntâlnite. Costurile pot fi reduse prin utilizarea ı̂n construcţia sis-
temului, a unor repere de acelaşi tip (pe principiul jocului de lego, unde, din aceleaşi repere sau
componente, se pot configura o varietate de geometrii). Un alt avantaj ı̂l constituie faptul că,
ı̂n situaţia furnizării sub forma unor kit-uri, viteza de montare va fi crescută, fapt ce va permite
timpi foarte mici de implementare a acestui sistem de parcare.
În concluzie, avem convingerea că acest sistem de parcare reprezintă o soluţie via-
bilă, ce poate fi implementată cu succes şi care se poate dovedi foarte utilă şi eficientă, datorită
simplităţii, adaptabilităţii, rapidităţii ı̂n implementare şi a costurilor reduse de ı̂ntreţinere, a con-
sumurilor reduse de energie şi a eficienţei energetice, ı̂n situaţia utilizării sistemelor de panouri
solare, amplasate pe construcţia parcării. Datorită acestor avantaje, considerăm această soluţie
ca o alternativă eficientă ı̂n rezolvarea problematicii legate de spaţiile de parcare, ce există ı̂ntr-o
pondere tot mai mare ı̂n ţările industrializate, precum şi ı̂n ţara noastră, şi care tinde să devină
o problemă la nivel global. Sperăm ca, ı̂n viitorul apropiat, astfel de soluţii să fie aplicate şi
dezvoltate şi să ajute la crearea unui mediu urban modern, civilizat, care să confere confort şi
calitate vieţii oamenilor.

39
10 Bibliografie
[1] Andrei Nick Ivănescu. 1997. Automate şi microprogramare. Politehnica Press,pag.7-
13, 52-62

[2] Documentaţie Codesys OPC Server V3 Instalation and Usage http://download.


lenze.com/AKB/English/201202395/CODESYS_OPC_Server_V3_User_Guide.pdfl Acce-
sat:2015

[3] Documentaţie Codesys V3 Instalation and Start https://www.codesys.com/


download/download-center.html Accesat2015

[4] Documentaţie Latex Introducere ı̂n limbajul LaTeX http://andrei.clubcisco.


ro/cursuri/1iinfo/laborator/Introducere%20in%20Limbajul%20Latex.pdf Accesat:2016

[5] Documentaţie Latex https://en.wikibooks.org/wiki/LaTeX Accesat:2016

[6] Documentaţie PLC Bosch IndraControl L25 http://www.boschrexroth.com/


dcc/Vornavigation/Vornavi.cfm?&language=en&PageID=p150094 Accesat:2016

[7] Documentaţie Labview conexiune prin OPC http://www.ni.com/tutorial/


7450/en/ Accesat:2016

[8] L.A.Bryan, E.A.Bryan. 1997. Programable Controllers second edition. Industrial


Text Company, pag.4-26

[9] Vizualizare sisteme de parcare https://www.youtube.com/watch?v=aVDmfsV_


PJw ; https://www.youtube.com/watch?v=PgalH5f6-v4 ; https://www.youtube.com/
watch?v=VwS1QwXqgpk Accesat:2016

[10] W.Bolton. 2006 Programable Logic Controllers fourth edition. Elsevier Newnes,
pag. 115-120

[11] Wikipedia LaTex https://ro.wikipedia.org/wiki/LaTeX Accesat:2016

40

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