LIMBAJE DE PROGRAMARE ALE
AUTOMATELOR PROGRAMABILE
- STL (STatement List) sau IL (Instruction List) – Listă de instrucţiuni,
- ST (Structured Text) – Text structurat
- LD (Ladder Diagram) – Diagramă scară, care permite programarea aplicaţiilor într-o manieră asemănătoare cu proiectarea unui circuit cu contacte şi relee;
- FBD (Function Block Diagram) – Diagramă cu blocuri de funcţii – o extensie a limbajului LD.
- Booleene - BOOL;
- Întregi - INT;
- Cuvinte (16 biţi) - WORD;
- Cuvinte duble (32 biţi) - DWORD;
- Reale (32 biţi) - REAL;
- Şiruri de caractere - STRING;
- Timp şi dată - TIME şi DATE.
Identificarea datelor se face utilizând atât adrese absolute
(adresare directă) cât şi simbolice (adresare indirectă). Adresarea
directă utilizează denumirea zonei de memorie pentru identificarea adresei.
Denumirile zonelor de memorie pot cuprinde două prefixe. Primul prefix poate
fi:
- %I, pentru intrări;
- %Q, pentru ieşiri;
- %M, pentru variabilele interne.
- x, y, pentru variabilele de tip boolean. Valoarea x reprezintă octetul, iar valoarea y reprezintă bitul;
- B, pentru octet (Byte);
- W, pentru cuvânt (Word);
- D, pentru dublu cuvânt (Double word).
- %Ix.y – variabilă de intrare booleană reprezentând
bitul y din octetul x;
1. Limbajul de programare STL Un
program STL este o listă de instrucţiuni de diferite tipuri care calculează, de
obicei, termeni ai unor expresii logice, rezultatul fiind de asemenea o valoare
logică. Este un limbaj de nivel scăzut, utilizat pentru realizarea aplicaţiilor
mici sau pentru optimizarea codului anumitor părţi ale unor aplicaţii.
2. Limbajul de programare LD (LAD)
Limbajul LAD este un limbaj grafic şi realizează o
transpunere grafică a ecuaţiilor booleene, realizând combinaţii între contacte
(variabile de intrare) şi bobine (variabile de ieşire).
Simbolurile grafice
de bază ale limbajului LAD
a)
Contact direct – contact
normal deschis
b)
Contact inversat –
contact normal închis
c)
Contact de sesizare a frontului crescător – front pozitiv
d)
Contact de sesizare a frontului descrescător – front
negativ
e)
Bobină directă
f)
Bobină inversă
g)
Bobină de setare
h) Bobină de resetare
Simbolurile
grafice ale limbajului sunt plasate în diagramă în mod asemănător contactelor și
releelor dintr-o schemă electrică, funcția logică „ȘI” fiind similară conexiunii serie, iar funcția logică „SAU” fiind echivalentă conexiunii paralel.
Executia programului
se face de sus in jos si de la stanga la dreapta.
În cadrul liniilor de program se utilizează diferite
tipuri de „dispozitive” incluse în structura automatului programabil, dupa cum urmeaza:
- X – Intrări fizice (de exemplu, X000-X007) – intrări digitale de tip contact;
- Y – Iesiri fizice (de exemplu, Y000-Y007) – ieșiri digitale de tip contact;
- M – Relee auxiliare (de exemplu, M000-...) –
dispozitive bistabile de tip releu folosite pentru memorarea temporara a unor
stari;
- S – Relee de stare – folosite in
limbajul STL pentru a indica un pas (o stare) din diagrama de stare a
automatului;
- T – timer – dispozitive de măsurare a timpului tip „timer”; sunt
de 3 feluri: cu increment la 100ms, 10ms sau 1ms; timerele sunt pe 16 biți; pot
fi cu reținere (păstrează valoarea până se resetează) sau fără reținere;
ieșirea timerului este un contact care se inchide;
- n momentul în care se
atinge valoarea prefixată a timerului; valoarea prefixată se specifică printr-o
constanta (precedata de litera „K”, valoarea maximă 32767) sau un registru de date (precedat de litera „D”);
- C – contoare – sunt similare cu timerele, doar ca
incrementarea nu este controlată de timp ci de impulsuri de semnal;
- D – registre de date
– sunt registre de 16 biți care se folosesc pentru păstrarea unor parametrii
sau date de proces; se pot adresa la nivel de bit; de exemplu adresarea bitului 3 din registrul 0 se face
astfel: D0.3
- K, H, E – constante numerice in zecimal, hexazecimal sau in forma exponentiala
Simbolurile grafice cele mai des folosite sunt sunt
indicate în tabelul de mai jos:
Aplicații:
Aplicații:
1. Srieți
programarea în limbaj Ladder pentru:
a)Y000
= X000 ȘI X001\ ȘI X002
b)
Y000 = X000 SAU X001\ SAU X002
Rezolvare:
a)
b)
2. Pentru schema următoare, realizați programarea în limbaj Ladder:
Niciun comentariu:
Trimiteți un comentariu