Sunteți pe pagina 1din 8

Laborator 2

Controlul unor uşi automate aflate la intrarea într-o incintă

Descrierea aplicaţiei

Elementele sistemului de controlat sunt:

 două uşi, fiecare dintre ele mişcată cu ajutorul unui motor cu două sensuri de rotaţie
(mişcare stânga – dreapta pentru fiecare uşă);
 câte doi senzori de capăt cursa (deschis – închis) pentru fiecare uşă;
 un senzor de prezenţă persoană în dreptul uşii.

Fig.1. Controlul unor uşi automate aflate la intrarea într-o incintă

Iniţial uşile sunt închise. Dacă o persoană apare în dreptul uşilor, ele se vor deschide.
Mişcarea de deschidere este menţinută atât timp cât, pentru fiecare uşă în parte, senzorul respectiv
de deschidere este inactiv.

Dacă ambele uşi sunt deschise şi nu mai există nicio persoană în dreptul uşii timp de 2
secunde, uşile încep simultan să se închidă. Închiderea uşilor se opreşte când ambele ajung la capăt
de cursă sau apare o persoană în dreptul uşilor, în timp ce acestea se închideau. Ele îşi vor opri
închiderea şi vor începe să se redeschidă.

Variabile de intrare/Elemente de măsură: cele 4 limitatoare de cursă, senzorul de prezenţă persoană.


Variabile de ieșire/Elemente de execuție: cele 2 motoare ale uşilor cu cele 2 sensuri de rotație.

1
Soluţia de automatizare

Pentru automatizarea procesului, este indicat ca într-o primă etapă să se realizeze diagrama Grafcet
pe baza căreia va funcționa automatul programabil.

Ca sarcină de laborator, trebuie adaptată această diagrama la mediul de programare IndraLogic,


realizându-se în același timp și interfața cu utilizatorul folosind elementele grafice existente.

Etapa 1: Diagrama Grafcet (Graphe de Contrôle Etape-Transition)/ SFC (Sequential Function Chart)

Dicţionarul de variabile globale:

 Variabile de intrare booleene:


o prezenta: senzorul de prezenţă persoană;
o l1_deschis: limitatorul de uşă 1 deschisă;
o l1_inchis: limitatorul de uşă 1 închisă;
o l2_deschis: limitatorul de uşă 2 deschisă;
o l2_inchis: limitatorul de uşă 2 închisă.
 Variabile de ieşire booleene:
o m1_deschidere: comanda de deschidere uşă 1;
o m1_inchidere: comanda de închidere uşă 1;
o m2_deschidere: comanda de deschidere uşă 2;
o m2_inchidere: comanda de închidere uşă 2.

2
Fig.2. Diagrama Grafcet a aplicației

Observaţii:

 Închiderea şi deschiderea uşilor trebuie realizate neapărat intr-un paralelism deoarece


acţiunile încep în acelaşi moment, se desfăşoară independent, dar procesul poate continua
numai după ce ambele secvenţe s-au încheiat.

3
Etapa 2: Proiectul în IndraLogic

Pasul 1: Declararea variabilelor globale.

Se va face în tabul Resouces sub forma menționată mai jos.

VAR_GLOBAL
(*motoare*)
M1_deschidere: BOOL:=FALSE; (*cu inițializare*)
M1_inchidere: BOOL; (*fără inițializare*)
(*timer*)
t0: TIME;
(*etc.*)
END_VAR

Pentru simulare, este nevoie de 2 variabile interne care să stabilească deschiderea sau închiderea
ușilor. Acestea vor avea valori în intervalul 0-100 și vor fi incrementate sau decrementate după caz
cu o valoare constantă pentru a sugera mișcarea elementului grafic tip ușă. Cele 2 variabile vor fi
declarate tot cu atributul global.

Pasul 2: Crearea proiectului

Una dintre variantele propuse pentru implementarea în IndraLogic a aplicației, ar fi dezvoltarea


proiectului pe două threaduri paralele care să ruleze simultan. Acest lucru va simplifica foarte mult
complexitatea proiectului.

Primul program va reda procesul de automatizare a ușilor, iar celălalt va fi editat pentru partea de
simulare. Ambele vor fi scrise în SFC.

Fig.3. Structura propusă a proiectului în IndraLogic

4
Pasul 3: Editarea programelor

Programul care gestionează închiderea/deschiderea ușilor este foarte asemănător cu diagrama


Grafcet prezentată mai sus cu observația că este nevoie de precizarea tipului de acțiune existentă în
cadrul fiecărei etape (Entry-Action, Action sau Exit-Action).

 Entry Action – se execută o singură dată la intrare într-o etapă;


 Action – se execută pe tot parcursul etapei la fiecare ciclu;
 Exit Action – se execută o singura dată la ieşirea din etapă.

Fiecare din aceste tipuri de acţiuni are propriul ei ecran de editare; prima şi ultima pot fi create prin
selectarea click dreapta Add Entry Action sau Add Exit Action; tipul Action va fi creat prin dublu-click
în interiorul chenarului etapei respective.

Fig.4. Programul main

Programul care va gestiona grafic procesul trebuie editat și el în SFC. El va trebui să creeze legătura
între pornirea/oprirea motoarelor și variabilele interne de incrementare/decrementare. În plus,
aceste variabile interne trebuie să facă legătura și cu limitatorii de cursă existenți.

5
Exemplu:

IF m1_deschidere THEN
pas1:=pas1+3;
END_IF;

l1_deschis:=(pas1>100);
l1_inchis:=(pas1<=0);
(*etc.*)

Se vor activa senzorii deschidere/închidere a ușilor atunci când pasul de incrementare va avea o
valoare extremă (fie 0, fie 100), urmând ca apoi, datorită celuilalt program din cadrul proiectului care
rulează în paralel, motoarele aferente să fie oprite.

Pasul 4: Interfața grafică

Elementele grafice ce pot apărea în cadrul proiectului sunt redate mai jos.

Fig.5. Elementele interfeței grafice

Pentru procesul de deplasare stânga-dreapta a ușilor va fi nevoie de configurarea mișcării


absolute a elementului respectiv cu offsetul pe X redat de pasul de incrementare.

6
Pentru activarea senzorilor de limită de cursă a ușilor va fi nevoie să fie completate câmpurile
Colors și Variables->Change Color.

Fig.6. Selectarea culorilor pentru senzorii de prezență

Același lucru (de colorare a elementului în concordanță cu variabila definită) va fi necesar și elementului senzor
de prezență pentru a reda faptul că este activ sau nu. În plus, acestă acțiune va trebui generată de către
operatorul uman pentru a simula realitatea. De aceea este nevoie să fie bifat în câmpul Input opțiunea Toggle
Variable.

Fig.7. Simularea prezenței unei persoane în cadrul GUI

În mod similar, pentru redarea pornirii motoarelor, se va folosi opțiune Toggle Variable.

7
Pasul 5: Configurarea taskurilor

Înainte de rularea proiectului, trebuie configurate două taskuri care vor apela simultan cele două
programe editate. Acest lucru se va face în tabul Resouces.

Numele taskurilor poate fi identic cu cel a programelor deja existente.

Opțiunea Task Configuration – click dreapta Append Task – click dreapta pe iconița taskului – Append
Program Call. Selectarea programului din fereatra care apare, conform figurii de mai jos.

Fig.8.Asignarea taskurilor

Alte observații:

În cazul în care aveți nevoie să ștergeți un element, acest lucru se va face doar dacă există o selecție
a unui bloc de genul etapă-tranziție sau tranziție- etapă. Elementele nu pot fi șterse în mod singular.

Gestionarea timpului se va face prin definirea unei variabile de tip TIME în cadrul variabilelor
globale. În cadrul etapei unde trebuie facută inițializatea timerului, va fi inserat linia de cod:

t0:=TIME();

Deasemenea, condiționarea din cadrul tranziției în ceea ce privește timpul va fi realizată prin
condiția: TIME() – t0 > t#2s.

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

  • Examen TSM 1-12
    Examen TSM 1-12
    Document15 pagini
    Examen TSM 1-12
    Alexandru Alex
    Încă nu există evaluări
  • AC Su
    AC Su
    Document23 pagini
    AC Su
    Ramona Trifănescu Bocancea
    Încă nu există evaluări
  • L 1
    L 1
    Document21 pagini
    L 1
    Alexandru Alex
    Încă nu există evaluări
  • Muzica
    Muzica
    Document2 pagini
    Muzica
    Alexandru Alex
    Încă nu există evaluări