Sunteți pe pagina 1din 26

Limbajul de programare de tip “Listă

de instrucţiuni” (IL)

1
Generalităţi
z Funcţionarea AP se bazează pe executarea de către procesorul unităţii
centrale a unui set de instrucţiuni.
z Instrucţiunea este cea mai mică unitate independentă de program fiind
formată din simbolul sau denumirea operaţiei şi operandul sau operanzii.

z În cazul AP, operaţiile cele mai des utilizate sunt cele ale algebrei booleene:
– ŞI (AND, *),
– SAU (OR, +),
– NU (NOT, N),
– ŞI-NU (NAND, ANDC),
– SAU-NU (NOR, ORC),
– SAU-EXCLUSIV (XOR) la care se adaugă
– operaţiile de temporizare, numărare şi memorare.
Extensii ale operaţiilor de bază

z În ultimul timp, datorită creşterii capacităţii de prelucrare


şi a vitezei de execuţie, la operaţiile de bază au fost
adăugate:
operaţii aritmetice cum sunt adunarea, înmulţirea,
împărţirea,
operaţii logice pe mai mulţi biţi cum sunt deplasări la
stânga şi la dreapta,
operaţii de conversie a informaţiei dintr-un cod într-altul,
funcţii de memorare de tip bistabil,
alte funcţii speciale specifice AP.
Tipuri de operanzi

z Operanzii acestor instrucţiuni sunt:


– intrări (notate cu I, X sau IN),
– ieşiri (notate cu E, Y sau OUT),
– elemente de memorare (notate cu M) - modelează releele intermediare din
schemele electrice cu contacte,
– elemente de temporizare (notate cu T)
– elemente de numărare/contorizare (notate cu C).

z operanzii sunt în corespondenţă directă cu resursele fizice pe care AP le


are la dispoziţie: intrări, ieşiri, variabile intermediare (în strânsă legătură
cu dimensiunea memoriei de lucru a AP), temporizatoare şi numărătoare
implementate prin program sau prin circuite şi module specializate.
z corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a
unui identificator numeric care arată numărul resursei respective
Exemple de identificatori

z Varianta 1:
– primele două cifre ale părţii numerice =modulul pe care se află
resursa corespunzătoare variabilei respective (intrare, ieşire etc).
– a treia cifră = resursa (numărul de ordine) în cadrul modului
precizat de primele două cifre.

z Varianta 2:
– identificatorul modulului şi numărul de ordine sunt separate de
punct.
Exemple de identificatori

z Varianta 3:
– variabilele de intrare, de ieşire şi de memorie nu sunt identificate
prin nici un simbol.
– Faptul că o variabilă este de intrare, de ieşire sau de memorie
este identificat prin prima cifră a numărului de identificare.
Aceasta corespunde modului de alocare a locaţiilor din memoria
de lucru a AP.
– Adresele începând de la 000 sunt alocate intrărilor, adresele de la
200 sunt alocate ieşirilor şi adresele de la 400 sunt alocate
variabilelor de memorie (relee interne).
Exemple de identificatori
Variabila Semnificaţia

Varianta 1 Varianta 2 Varianta 3

IN001 I 0.1 001 prima intrare a AP

OUT013 Q 0.3 203 a treia ieşire a AP

M010 M 0.10 410 a zecea variabilă intermediară

T002 T 0.2 T02 al doilea temporizator al AP

C001 C 0.1 C01 primul numărător al AP


Nume de instrucţiuni

z De la apariţia AP, fiecare producător şi-a dezvoltat


limbajul propriu de tip listă de instrucţiuni, alegerea
numelor instrucţiunilor depinzând mult şi de limba vorbită
de respectivii producători.
z Deşi se aseamănă între ele din punct de vedere
funcţional, aceste limbaje au nume diferite şi folosesc
pentru aceeaşi instrucţiune denumiri şi formate diferite.
Nume de instrucţiuni
Limbajul (Producătorul) Denumirea instrucţiunilor

AP-micro (IPA- AND, OR, ANDC, ORC,LD, LDC,STO, STOC,


Automatica) XOR, CMA, ZA, S, R, J, JC

PSE (AEG) *,+,-,=,E,A,S,R,Z,T,D,L

STEP (Siemens) U, UN, O, ON,=, S,R,ZV, ZR, L,T,M

SUCOS (Klockner-Moeller A, O, N, =

MELSEC (Mitsubishi) LD, LDI, AND, ANI, OR, ORI, MC, OUT, PLS, S, R,
RST, ANB, ORB, NOP, END

Actsip-E (Hitachi) ORG, AND, OR, NOT, OUT, T/C, FUN


Exemplu. Schema electrică cu contacte

L1

K1
K2

S2 K3

S3

K3 K4
N
Exemplu. Program IL General Electric
Program Observaţii

STR 000 start sau memorare (primele două cifre


AND NOT 001 ale identificatorului indică numărul
OR 002 modulului: 00 - modul de intrare,
AND 003 01 - modul de ieşire)
OUT 200 activare releu intern
STR 200 valoarea obţinută e trimisă la ieşirea 0 a
OUT 010 modulului 01
Exemplu. Program IL Kloeckner-Moeller

Program Observaţii

L I 0.0 încarcă intrarea 0, modulul 0.


AN I 0.1 SI-NU
O I 0.2 SAU
A I 0.3 SI
= M 0.0 marker, releu intern
L M 0.0
= Q 0.0 Ieşire
Exemplu. Program IL Siemens

Program Observaţii

U E 0.0 E:Eingang, intrare


UN E 0.1 UN: Und Nein, ŞI-NU
O E 0.2 O: Oder, SAU
U E 0.3 Und
= M 0.0 M: merker, releu intern
O M 0.0
= A 0.0 A: Ausgang, ieşire
Exemplu. Program IL Telemecanique

Program Observaţii

L I 0.0 Instrucţiunile sunt abrevieri ale


AN I 0.1 denumirilor engleze
O I 0.2
A I 0.3
= B 10 B: Bit, releu intern
L B 10
= O 0.0 O: Ieşire
Exemplu. Program IL Hitachi

Program Observaţii

ORG 000 start (variabilele de intrare încep de


AND NOT 001 la adresa 000, variabilele de
OR 002 ieşire de la adresa 200 iar
AND 003 variabilele de tip marker - releu
OUT 400 intermediar - de la adresa 400).
ORG 400 ieşirea se face pe releu intern
OUT 200 Ieşire
Exemplu. Program IL Mitsubishi

LD X000 Încărcare intrare X000


ANDI X001 SI-NU cu intrarea X001
OR X002 SAU cu intrarea X002
AND X003 SI cu intrarea X003
OUT M000 releu intern
LD M000 Încărcare releu intern
OUT Y000 Ieşire
Limbajul IL în standardul IEC 61131-3

z Lista de instrucţiuni este compusă dintr-o


secvenţă de instrucţiuni
z Fiecare instrucţiune începe pe o linie nouă şi
conţine operatorul (opţional cu modificatori) şi
dacă este necesar, unul sau mai mulţi operanzi
z Instrucţiunea poate fi precedată de o etichetă
urmată de caracterul “:”
Example de câmpuri ale instrucţiunilor

Etichetă Operator Operand Comentariu

START: LD %IX1 (* BUTON START*)


ANDN %MX5 (* NEBLOCAT *)
ST %QX2 (* VENTILATOR PORNIT*)

result := result OP operand


Operatori şi semnificaţia lor

LD Atribuie operandului rezultatul curent


ST Memorează rezultatul curent la locaţia
operandului
S Atribuie operandului de tip Boolean
valoarea 1
R Atribuie operandului de tip Boolean
valoarea 0
Operatori şi semnificaţia lor

AND SI logic
& SI logic
OR SAU logic
XOR SAU-EXCLUSIV logic
Operatori şi semnificaţia lor

ADD Adunare
SUB Scădere
MUL Înmulţire
DIV Împărţire
Operatori şi semnificaţia lor

GT Comparaţie : >
GE Comparaţie : >=
EQ Comparaţie : =
NE Comparaţie : <>
LE Comparaţie : <=
LT Comparaţie : <
Operatori şi semnificaţia lor

JMP Salt la etichetă


CAL Apelul unui bloc funcţional
RET Întoarcere dintr-o funcţie sau
bloc funcţional)
Exemplu de apel a unui bloc funcţional

1. CAL cu lista de intrări: CAL C10(CU:=%IX10, PV:=15)


2. CAL cu încărcarea/stocare intrărilor: LD 15
ST C10.PV
LD %IX10
ST C10.CU
CAL C10
3. Folosirea operatorilor de intrare:
LD 15
PV C10
LD %IX10
CU C10
Tipuri de blocuri funcţionale

Tip de BF Operatori Semnificaţie


SR S1,R Bistabil SR
RS S,R1 Bistabil RS
R_TRIG CLK Sesizare front crescător
F_TRIG CLK Sesizare front descrescător
CTU CU,R,PV Numărător crescător
CTD CD,LD,PV Numărător descrescător
CTUD CU,CD,R,LD,PV Numărător bidirecţional
TP IN,PT Temporizator
TON IN,PT Temporizator la închidere
TOF IN,PT Temporizator la deschidere
Bibliografie

z E. van der Wal Instruction List - an assembler type of


language, www.plcopen.org

z SR EN 61131-3, Automate programabile. Partea 3.


Limbaje de programare

z C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed.


Gh.Asachi, Iaşi

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