Sunteți pe pagina 1din 24

AAP

Curs 2
Limbajul de programare LADDER

■ Este un limbaj de programare care este folosit pentru dezvoltarea de aplicații care
rulează pe automate programabile
■ Este un limbaj folosit pentru crearea de programe utilizand simboluri bloc
– Contacte
– Bobine
– Bistabile
– Timere
– Countere
– Blocuri pentru comunicare
– Si multe altele....
■ Prin combinarea simbolurilor bloc simple se pot implementa aplicații complexe
Limbajul de programare LADDER
Tipuri de variabile
■ Tipuri de variabile
– Variabile de intrare (I)
■ Sunt folosite pentru a obține informații de la senzorii (dispozitive de
intrare/elemente de măsură) conectați la automat
– Variabile de ieșire (Q)
■ Sunt folosite pentru a trimite o comandă unui dispozitiv/element de execuție
(motor, pompă, dispozitiv de semnalizare, etc)
– Variabile de memorie (M)
■ Sunt folosite pentru a stoca rezultate intermediare sau pentru funcționarea
anumitor blocuri
Limbajul de programare LADDER
Tipuri de variabile
■ Un automat dipune de regiștrii de intrare, regiștrii de ieșire și regiștrii de memorie
■ Dimensiunea unui registru de intrare, ieșire sau memorie pentru un CPU din seria 1200
este de 8 biți
■ Accesarea conținutului unui registru la nivel de bit se face sub forma RX.Y unde R este
tipul registrului (I/M/Q), X este numărul registrului, iar Y este numarul bitului care se
acceseaza (0..7)
■ Pentru cele trei tipuri de variabile conținutul lor va fi accesat sub forma
– Variabile de intrare (I)
■ I0.0, I1.2, I2.7, etc
– Variabile de ieșire (O)
■ Q2.3, Q4,0, Q5.2, etc
– Variabile de memorie (M)
■ M10.0, M10.7, M100.1, etc.
Limbajul de programare LADDER

■ Pentru implementarea unei aplicații folosind limbajul de programare LADDER este


necesar să se parcurgă două mari etape

– Să se implementeze diagramele LADDER (diagrame alcătuite din elemente


bloc) care rezolvă problema cerută

– Fiecărui element bloc component trebuie să i se asocieze o variabilă de


intrare, o variabilă de ieșire sau o zonă de memorie
Limbajul de programare LADDER
Conceptul de rețea
■ O rețea LADDER reprezintă practic o instrucțiune și este alcătuită din mai multe
elemente bloc LADDER
■ Un program scris pentru a fi rulat pe un automat, este alcătuit dintr-o serie de rețele
LADDER
■ Rețelele unui program în număr de n, sunt rulate de către automat într-o manieră
secvențială, începând cu prima rețea și terminând cu rețeaua cu numărul n
■ Un program scris pentru un automat rulează într-o buclă în care se vor executa în
mod ciclic toate rețelele componente ale acestuia
Limbajul de programare LADDER
Bloc de tip contact
■ Este folosit pentru testarea valorii unui bit a unei variabile de
intrarea sau a unei variabile de memorie. În general nu se verifică
conținutul unei ieșiri utilizând un astfel de bloc.
■ Din punct de vedere logic, poate fi văzul ca și o modalitate de a
verifica dacă un semnal are valoarea 1 logic sau 0 logic
■ Din punct de vedere fizic poate fi imaginat ca și un buton care atunci
când este apăsat lasă să treacă curentul
■ Poate să fie de două feluri
– Contact normal închis– poate fi considerat un buton care lasă
curentul să treacă doar atunci când este apăsat
– Contact normal deschis - poate fi considerat un buton care lasă
curentul să treacă doar atunci când nu este apăsat
Limbajul de programare LADDER
Bloc de tip bobină
■ Este folosit pentru transmiterea unei comenzi către un proces sau
pentru modificarea conținutului unei zone de memorie, nu este
folosit niciodată pentru modificarea conținutului unei intrări
■ Din punct de vedere logic/fizic modifică conținutul unui bit al unui
registru de memorie sau modifică nevelul semnalului logic al unui bit
dintr-un registru de ieșire
■ Aproape orice rețea trebuie să se încheie prin prezența unei bobine
■ Se recomandă ca într-un program, o singură bobină să fie legată la o
singură ieșire !!!
Limbajul de programare LADDER
Exemplu utilizare contact - bobină
■ Se consideră cazul în care se dorește
aprinderea unui bec conectat la ieșirea
Q0.0 atunci când se apasă un întrerupător
conectat la intrarea I0.0 a automatului
■ Se consideră cazul în care se dorește
menținerea pornită a unei benzi
transportatoare angrenată de motorul
conectat la ieșirea Q0.0 a automatului
atâta timp cât în dreptul senzorului I0.1 nu
se detectează prezența unei piese
Limbajul de programare LADDER
Implementarea funcțiilor logice
■ Funcția ȘI logic
Limbajul de programare LADDER
Implementarea funcțiilor logice
■ Funcția SAU logic
Limbajul de programare LADDER
Implementarea funcțiilor logice
■ Funcția SAU EXCLUSIV (XOR)
Problemă – implementarea unui afișaj
cu șapte segmente
Problemă – implementarea unui afișaj
cu șapte segmente
■ Se dorește implementarea modului de funcționare al
unui afișaj cu șapte segmente
■ Afișajul primește un cod binar codificat pe 4 biți care
trebuie decodificat și trebuie afișat în cod zecimal
■ Cele șapte segmente ale afișajului trebuie
aprinse/stinse în funcție de valoarea codului binar
primit la intrarea afisajului
■ Trebuie determinată starea fiecărui segment al
afișajului în funcție de codul primit la intrarea afisajului
■ Pentru implementarea pe automat se vor folosi
elemente de tip contact și elemente de tip bobină
Problemă – implementarea unui afișaj
cu șapte segmente
■ Etape

– Construirea tabelului de adevăr al funcției


– Minimizarea funcției printr-o metodă de minimizare (V.K.)
– Construirea unei rețele utilizând contacte și bobine care să implementeze
funcția minimizată
Problemă – implementarea unui afișaj
cu șapte segmente
■ Construirea tabelului de adevăr a funcției logice
– Se realizează prin scrierea sub formă tabelară a stărilor pe care cele șapte
segmente le au în funcție de valoarea binară a codului primit la intrarea
afișajului cu șapte segmente
– Pe prima coloană se va trece valoarea codului în binar de la intrarea afișajului
– Pe celelalte coloane se vor trece stările celor șapte segmente a...g ale afișajului
(0 – segmentul este stins, 1 – segmentul este aprins)
Problemă – implementarea unui afișaj
cu șapte segmente
Problemă – implementarea unui afișaj
cu șapte segmente
■ Minimizarea funcțiilor logice corespunzătoare fiecărui segment al afișajului cu șapte
segmente

– Se utililizează metoda de minimizare Veitch-Karnaugth.


– Pentru fiecare segment va rezulta în final o funcție logică care va determina
starea segmentului (aprins/stins)
– Fiecare funcție logică care determină starea unui segment va fi o funcție
logică de 4 variabile
Problemă – implementarea unui afișaj
cu șapte segmente
■ Metoda de minimizare Veitch-Karnaugth – construcția
tabelurilor
– Pe baza tabelului de adevăr al funcțiilor logice,
se construiește câte un tabel de dimensiune 2 la
puterea n celule (n=4) pentru fiecare din cele
șapte segmente ale afișajului
– Variabile sunt dispuse pe linii si pe coloane în așa
fel încât fiecare celulă să difere de o celulă
vecină printr-o singură modificare a unei singure
variabile de intrare
Problemă – implementarea unui afișaj
cu șapte segmente

■ Metoda de minimizare Veitch-Karnaugth – popularea tabelurilor


– După dispunerea pe linii și coloane a variabilelor tabelul rezultat se completează
utilizând tabelul de adevăr al funcției
Problemă – implementarea unui afișaj
cu șapte segmente

■ Minimizarea se realizează efectuând grupări care să conțină toate valorile de 1 logic


■ Grupările care au 1 logic în componența lor pot să cuprindă și *
■ Grupările NU trebuie să conțină 0 logic
■ Valoarea de adevăr a unei grupări este dată de variabilele care nu schimbă starea în
cadrul acelei grupări
Problemă – implementarea unui afișaj
cu șapte segmente

𝑓𝑎 = 𝐶 + A + BD + 𝐵ത 𝐷

■ Funcția logică care determină aprinderea/stingerea segmentului a


Problemă – implementarea unui afișaj
cu șapte segmente
■ Implementarea funcției care determină aprinderea/stingerea segmentului a
utilizând contacte și bobine

𝑓𝑎 = 𝐶 + A + BD + 𝐵ത 𝐷

De studiat….

■ Aceasta sectiune este bazată pe paginile 29-34, 72-75 ale cursului de AAP.

■ Va rog sa citiți și să aprofundați secțiunea respectivă

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