Sunteți pe pagina 1din 98

CURS 1

BIBLIOGRAFIE

1. Parr, E., A., Programmable Controllers - An engineers guide, Newnes (Elsevier) , 2003
2. Hugh., J., Automating Manufacturing Systems with PLCs, 2008,
http://claymore.engineer.gvsu.edu/~jackh/books.html;
3. Popescu, D., Automate programabile - Construcie, funcionare i aplicaii, Ed. Matrix, Bucureti, 2005;
4. Bliesener, R., Ebel, F., Lffler, C., Plagemann, B., Regber, H., Terzi, E., Winter, A., Programmable Logic
Controllers , TP301, FESTO;
5. Conde, R., Statement List Programming, FESTO, 1997;
6. Mtie V., Blan R., Hancu O., Gliga A., Hidronica-Aplicaii, Editura Todesco, 2003.
7. Gerhard Schmidt - GRAFCET, Festo Didactic GmbH & Co. KG, 73770 Denkendorf, Germany, 2007,
Internet: www.festo-didactic.com
8. IEC 60848

INTRODUCERE

Elementul central n cadrul unui sistem mecatronic l constituie sistemul de control electronic care
conduce, regleaz i optimizeaz procesul. Aceste funcii sunt asigurate de o structur fizic dedicat
de tip controler, care poate fi realizat cu circuite logice integrate, microprocesoare, microcontrolere,
automate programabile (PLC) sau se poate identifica chiar cu un calculator personal (PC). n cazul
controlului aplicaiilor industriale, cea mai larg utilizare o au sistemele de control electronic de tip
PLC (Programmable Logic Controller - Controler Logic Programabil/Automat Programabil), care, pe
baza unor programe elaborate de utilizator, comand i regleaz aplicaia, vizualizeaz starea
procesului, semnalizeaz anumite defeciuni, comunic ntre ele sau cu alte structuri de control prin
reele standardizate.

n cadrul abordrii curente se urmrete tratarea problematicii privind programarea aplicaiilor


industriale conduse prin intermediul PLC-urilor.

Scurt istoric. La sfrsitul anilor 60 Compania General Motors (prin Divizia Hydramatic -1968) a
elaborat specificaia de proiectare pentru un calculator industrial care urma s nlocuiasc controlul pe
baz de relee din industria de maini. Noul sistem de control trebuia s ndeplineasc urmtoarele
cerine: s ofere o modalitate simpl de programare a aplicaiilor; s poat fi utilizat n mediile
industriale (variaii de temperatur, tensiuni de alimentare variabile); modificrile de program s nu
presupun modificri structurale; s aib dimensiuni reduse, siguran n funcionare, robustee;
costurile de ntreinere s fie reduse.

Dou companii independente au rspuns cerinelor General Motors: Bedford Associates (astzi
Modicon) i Allen Bradley. Primele asemenea sisteme erau alctuite dintr-o unitate central (central
processor) conectat la exterior (proces) prin 4 module de cmp: intrri i ieiri de curent continuu i
de curent alternativ. Proiectate ca nlocuitoare ale releelor, limbajul de programare conceput a fost
inspirat din diagramele aplicaiilor conduse prin relee, adresat electricienilor i ca atare numit: Ladder
Diagram (diagrame scar). Numele dat acestor sisteme a fost initial Programable Controllers, cu
abrevierea PC. Odat cu apariia minisistemelor de calcul de tip Personal Computer (PC) i datorit
dezvoltrii fulminate a acestora, pentru a evita confuziile ntre cele dou abrevieri s-a procedat la
referirea acestor sisteme de control industrial, prin acronimul PLC (Programmable Logic Controller),
marc nregistrat Allen Bradley pentru aceast gam de produse. La noi se utilizeaz formularea
Automat programabil pentru aceast gama de produse.

1
Iniial, sarcina acestor controlere a fost s identifice starea logic a unor semnale de intrare i, funcie
de valoarea de adevr a unei expresii logice (construite pe baza semnalelor de intrare), s comute
ieirile corespunztoare.

Treptat, capacitatea de procesare s-a dezvoltat prin asimilarea funciilor temporizatoarelor,


numrtoarelor, executarea operaiilor matematice, procesarea semnalelor analogice (msurarea
forelor, deplasrilor). Evoluia tehnologiei a extins prelucrarea semnalelor binare, la semnalele
analogice, devenind posibil implementarea controlului n bucl nchis. Aadar, evoluia n timp
PLC-urilor a fcut posibil procesarea semnalelor analogice, vizualizarea proceselor, comunicarea
prin reele standardizate (CAN, PROFIBUS), accesarea aplicatiilor de la distan etc. Acest nivel de
prelucrare a informaiei nu se mai regsete n denumirea controlerului (Controler Logic Programabil)
ns denumirea se pstreaz n continuare: PLC.

1.1 PLC-uri DEFINIIE, STRUCTUR, FUNCIONARE

Termenul de PLC este definit prin IEC-1131: ,, Un sistem electronic (digital) de operare, proiectat
pentru utilizarea n mediul industrial, ce folosete o memorie programabil pentru stocarea intern a
instruciunilor necesare implementrii unor funcii specifice (logice, secveniale, temporizare,
contorizare, calcul matematic), pentru a controla prin intrrile i ieirile digitale i analogice diferite
tipuri de maini sau procese.

Aadar, un PLC este un computer proiectat pentru funcii de control.

a) b)

Fig. 1.1 PLC-uri : a) structur monobloc; b) structur modular.

Majoritatea PLC-urilor (Fig. 1.1 b) permit montarea adiional a unor module prin care se lrgete
setul (numrul) de semnale procesate sau care mbogesc gama funciunilor: module de intrare/ieire
digitale i/sau analogice, module de poziionare, module de comunicaie etc.

MODULE CPU MODULE


DE UNITATEA CENTRALA DE DE IESIRE
INTRARE PRELUCRARE

Fig. 1.2 Structura unui PLC.

2
Din punct de vedere funcional, n structura unui PLC se disting trei componente cu roluri bine
definite:

modulele de intrare preiau semnalele din sistemul controlat prin intermediul senzorilor i le
convertesc n semnale logice pentru a putea fi prelucrate de CPU;
unitatea central de prelucrare(CPU) proceseaz semnalele primite pe baza instruciunilor unui
program, ia decizii i emite semnale numerice pe modulele de ieire n conformitate cu strategia de
control;
modulele de ieire convertesc semnale de la CPU n semnale de comand n scopul acionrii
diferitelor echipamente prin intermediul actuatorilor.
Programarea aplicaiilor se realizeaz n general pe un sistem de calcul auxiliar (PC) care comunic cu
PLC-ul printr-un port serial. Productorii controlerelor industriale asigur mediile software de
dezvoltare i implementare a aplicaiilor: STEP 7, FST, CX Programmer, RS Logix etc. Aceste medii
permit dezvoltarea aplicaiilor n diverse limbaje de programare, mai mult sau mai puin populare:
Ladder diagram, Statement list, Structured text, Sequential function chart etc. Unele PLC-uri sunt
prevzute suplimentar i cu dispozitive dedicate de programare i diagnosticare (console de
programare).

n funcionarea PLC-urilor se disting ca elemente specifice pentru aceste tipuri de structuri:


procesarea ciclic i imaginea de proces.
Procesarea ciclic presupune parcurgerea programului ,,linie cu linie i, dup prelucrarea ultimei
instruciuni, reluarea prelucrrii de la nceput (Fig.1.3). Rularea ciclic a programului va continua
pn la comanda de oprire.
Imaginea de proces este o zon a memoriei n care este nregistrat configuraia intrrilor la
nceputul ciclului i n care se actualizeaz configuraia ieirilor pe parcursul rulrii unui ciclu.

Aceste mod de funcionare presupune:


- nainte de procesarea primei linii, starea (valoarea) INTRARI
intrrilor va fi nregistrat ntr-o tabel imagine a Tabela de imagine
intrrilor; a intrarilor
- coninutul imaginii de proces a intrrilor nu se va
modifica pe toat durata unui ciclu chiar dac unele
intrri se modific;
- pe parcursul unui ciclu programul va accesa
aceast memorie pentru citirea intrrilor; Program PLC
- pe msur ce ruleaz programul, n tabela imagine
a ieirilor se nregistreaz starea (valoarea)
ieirilor;
- la sfritul ciclului configuraia ieirilor se va IESIRI
modifica n acord cu valorile furnizate de memoria Tabela de imagine
imagine de proces; a iesirilor
- un nou ciclu va presupune o nou nregistrare a
strii intrrilor n memoria imagine i un nou proces
de actualizare a ieirilor cu execuie la sfritul
ciclului. Fig. 1.3 Modul de funcionare al unui PLC

1.2 Structura hardware a unui PLC:

Structura hardware de principiu a unui PLC este prezentat n figura 1.4. n continuare se detaliaz trei
elemente importante ale acestora: unitatea central de procesare, memoria i interfeele de
intrare/ieire.

3
PLC-ul este un echipament electronic de automatizare oferit la cheie" de ctre productor, dar care
poate conduce un proces numai dup efectuarea legturilor cu senzorii i cu elementele de execuie
(actuatori), urmat de nscrierea programului de lucru n memoria automatului. Legtura dintre PLC i
procesul condus se asigur prin intermediul interfeelor de intrare/ieire (module de intrare/ieire).
Fiecare senzor trebuie conectat la o interfa de intrare a automatului i fiecare actuator trebuie
conectat la o interfe de ieire a automatului.

Fig. 1.4. Schema bloc a PLC-ului.

Programul de lucru al PLC-ului se scrie ntr-un limbaj de programare adecvat, cu ajutorul unui
dispozitiv de programare (ex. PC). Programul se stocheaz n memoria automatului i execuia
programului este controlat de procesorul unitii centrale. Faptul c memoria automatului poate fi
tears i apoi ncrcat cu un nou program ori de cte ori se dorete, sau c programul din memorie
poate fi modificat dup dorin, ofer PLC-ului flexibilitate n utilizare.

PLC-ul este conceput totodat pentru funcionarea n mediu industrial: este insensibil la perturbaii
electromagnetice, poate funciona ntr-un domeniu larg de temperatur i de umiditate, este compatibil
direct cu procesul prin utilizarea unor semnale la tensiuni industriale etc.

Unitatea central. Reprezint "creierul" automatului programabil i are rolul de a pune n legtur
interfaa de intrare, memoria de date i interfaa de ieire, pe baza programului descrcat de utilizator
n memoria program. Unitatea central interpreteaz instruciunile din memoria program, pe baza
crora efectueaz evaluri logice, calcule aritmetice, prelucrri numerice ale variabilelor de intrare i
furnizeaz un rezultat memoriei de date sau interfeei de ieire.

Memoria. Memoria PLC-urilor este alctuit din circuite electronice integrate care sunt capabile s
nregistreze informaii sub form binar (0 logic sau 1 logic). Informaia elementar este bit-ul,
denumire care provine de la "binary digit" din limba englez. Memoria joac un rol important n
funcionarea PLC-ului deoarece reprezint locul n care se nscrie programul de lucru al aplicaiei sub
forma unei liste de instruciuni. Procesorul citete din memorie instruciunile programului i le
execut. Memoria PLC-ului este organizat n: memoria de date i memoria program.

Memoria program pstreaz programul realizat i ncrcat de utilizator prin intermediul calculatorului
sau al consolei de programare. Memoria program este nevolatil, de tipul flash sau EEPROM.

Memoria de date sau memoria de lucru, reprezint zona volatil a memoriei automatului programabil.
Aici sunt stocate rezultatele ale operaiilor efectuate de unitatea central sau valori introduse de
operator de la un terminal extern (consol de programare, terminal programabil) i care sunt apoi
prelucrate de ctre unitatea central. Aceast zon de memorie poate fi asimilat memoriei RAM de la
calculatoarele personale (PC-uri). Majoritatea automatelor programabile sunt prevzute cu baterie
pentru a pstra coninutul unor zone din memoria de date i dup pierderea tensiunii de alimentare.

4
Din punctul de vedere a modului de stocare a informaiei nscrise n memorie se deosebesc dou tipuri
principale de memorii: memorii care pot fi terse (volatile); memorii care nu pot fi terse (nevolatile).
Ambele tipuri de memorii se utilizeaz n PLC-uri.

Memorii volatile. Din punctul de vedere al tehnologiei de realizare a circuitelor integrate, ele pot fi:

Memorii RAM (Random Access Memory). Pot fi scrise i citite de un numr nelimitat de ori. La
alimentarea cu tensiune electric a memoriei, n celulele acesteia se nscriu aleatoriu valorile 0 sau 1
logic, de aceea este necesar o iniializare a coninutului memoriei RAM. Coninutul memoriei se
terge automat la ntreruperea tensiunii de alimentare. Pstrarea coninutului memoriei RAM pe
durata ntreruperii tensiunii de la reea este asigurat dac se utilizeaz o baterie tampon care va
alimenta numai circuitele de memorie.

Memorii EEPROM (Electrically Erasable Programmable Read Only Memory). Pot fi terse numai n
condiii speciale atunci cnd pe un anumit pin al circuitelor integrate se aplic un semnal electric de
tergere. Altfel informaia memorat se pstreaz i nu necesit baterie tampon.

Memorii EPROM (Erasable Programmable Read Only Memory). Pstreaz informaia chiar i la
ntreruperea tensiunii de alimentare. Acestea pot fi reprogramate de un numr limitat de ori dup ce n
prealabil au fost expuse timp de cteva minute unei lumini ultraviolete. Ptrunderea luminii
ultraviolete la structura de siliciu a memoriei are loc printr-o fereastr prevzut special pe circuitul
integrat.

Memoriile de tip EEPROM i EPROM sunt utilizate pentru stocarea programului de lucru al
automatului pe toat durata exploatrii.

Memorii nevolatile. Sunt memorii de tip ROM (Read Only Memory) i sunt scrise o singur dat
numai de productorii PLC-urilor. Memoria ROM conine programul pe baza cruia funcioneaz
procesorul i o modificare a coninutului memoriei ar conduce la imposibilitatea funcionrii PLC-ului.
Singura aciune posibil pentru memoria ROM este citirea.

Module (interfee) de intrare/ieire. Comunicarea unui PLC cu aplicaia se realizeaz prin


intermediul canalelor de intrare i ieire (intrri, ieiri). Intrrile i ieirile unui PLC sunt necesare
pentru monitorizarea i controlul procesului i pot s fie de dou tipuri: logice sau continue. Intrrile
vin de la senzori care convertesc mrimile fizice n semnale electrice. Ieirile spre elementele de
acionare permit PLC-urilor s genereze o anumit aciune n proces.

Ansamblul modulelor electronice de intrare amplasate ntre bornele de intrare ale automatului i
magistrala intern constituie interfaa de intrare. Interfaa de intrare este prevzut cu un anumit
numr de canale de intrri logice sau analogice. Fiecrei intrari i se aloc o adres.

Modulele electronice amplasate ntre magistrala intern i bornele de ieire ale automatului constituie
interfaa de ieire. Modulele de ieire sunt adesea construite pe baz de relee, dar deasemenea pot s
includ, tranzistoare pentru ieirile de curent continuu sau triace pentru ieirile de AC. Interfaa de
ieire este prevzut cu un anumit numr de canale de ieiri logice sau analogice. Fiecrei ieiri i se
aloca cte o adres.

n PLC-urile monobloc intrrile i ieirile sunt integrate n aceeai unitate. Pentru PLC-urile modulare
intrrile sunt achiziionate prin module sau carduri. n figura 1.5 se arat cum se face conectarea a
dou intrri la un modul (card) de intrare. Ambele contacte (un buton de apsare i contactul unui
releu termic) sunt conectate de o sursa de curent alternativ. Cnd contactele sunt nchise, se
alimenteaz intrrile. Dac tensiunea de intrare pe o intrare este mai mare de o anumit valoare, se va
activa intrarea respectiv (trece n 1 logic).

5
Fig. 1.5 Modul de intrare. Este utilizat notarea Allen Bradley pentru PLC-uri: I: 013 indic faptul
c modul de intrare e montat n rack-ul 01, slotul 3; 01 i 03 indic adresele intrrilor.

Aici neutrul pentru alimentarea de la reea este nulul sau tensiunea de referin. Toate tensiunile sunt
msurate relativ la el. Dac exist o a doua alimentare, trebuie s legm nulurile mpreun. Adesea
nulul comun i masa pot fi confundate. Nulul este o referin, care se ntrebuineaz pentru 0V iar
masa este folosit pentru prevenirea ocurilor si distrugerea echipamentelor. Masa este conectat la
pmnt prin sistemul electric al unei cldiri (pmntarea). Din pcate muli ingineri i fabricani
amestec aceste legturi. Adesea masa si nulul sunt etichetate greit.

n general circuitele de intrare/ieire izoleaz unitatea central de aparatura extern prin intermediul
optocuploarelor (Fig. 1.6). Alte componente de circuit se folosesc pentru protecie la supracreteri sau
a inversrii polaritii.

Fig. 1.6 Circuite de intrare.

La fel ca si modulele de intrare, modulele de ieire rareori alimenteaz. Sunt construite pe baz de
relee, tranzistoare sau triace. Releele sunt capabile sa comute ntre ieirile AC i DC, dar sunt mai
lente (comutarea se face n jur de 10ms), cost mai mult i se uzeaz mai rapid. Tranzistoarele sunt
limitate pentru ieirile DC, triacele sunt limitate pentru ieirile AC, timpii de reacie fiind sub 1MS.

6
Ieirile de la PLC-uri trebuie s furnizeze tensiunile de acionare necesare. Cteva asemenea circuite
sunt detaliate n figura 1.7. Alte componente sunt folosite pentru protecie mpotriva curentului excesiv
sau a inversrii polaritii.

Fig. 1.7 Circuite de ieire.

n figurile 1.8. i 1.9 sunt detaliate 2 moduri de conectare a elementelor de execuie la un modul de
ieire.

Fig. 1.8 Conectarea unui modul de ieire (24 Vdc). Considerm c alimentm circuitul extern cu 24V DC. Cnd
ieirea 07 este activat curentul va trece prin 07 la COM, astfel nchiznd circuitul i fcnd lampa sa se
aprind. Ieirea 03 a releului este conectat n mod asemntor. Cnd ieirea 03 este activat curentul va strbate
bobina releului i motorul se va alimenta cu 120V AC.

7
Fig. 1.9 Conectarea unui modul de ieire (24 Vdc). Considerm c alimentm modulul (cardul) cu 24V DC.
Cnd ieirea 07 este activat curentul va trece prin 07 la COM, astfel nchiznd circuitul i fcnd lampa sa se
aprind. Cnd ieirea 03 este activat curentul va strbate bobina releului i motorul se va alimenta cu 120V AC.

8
CURS 2

PROGRAMAREA PLC-urilor

Dezvoltarea aplicaiilor (programelor) industriale moderne presupune cunoaterea unui limbaj de


programare specific acestui tip de controlere: Ladder Diagram (LDR), Instruction List (IL)/ Statement
List (STL), Structured Text (ST), Function Block Diagram (FBD), Sequential Function Chart (SFC),
Aceste limbaje standardizate permit operatorului/programatorului implementarea unei strategii de
conducere a procesului sau sistemului. Prin diversitatea limbajelor existente n circulaie, se urmrete
asigurarea unor unelte de programare apropiate de specificul pregtirii tehnice a programatorului:
Ladder diagram limbaj de programare grafic derivat din logica circuitelor de control cu relee;
Function block diagram limbaj de programare grafic derivat din diagramele logice utilizate
pentru proiectarea circuitelor (logice) electronice;
Statement List limbaj de programare declarativ (text) apropiat de limbajele de asamblare;
Structured text limbaj de programare de nivel nalt derivat din Pascal.

Programarea controlerelor industriale comport particulariti legate de mediile utilizate pentru


dezvoltarea i implementarea aplicaiilor. Aadar tratarea unitar a problematicii e mai dificil, ns nu
mult diferit de la productor la productor. n cele ce urmeaz se vor prezenta succint particularitile
ce le implic programarea n aceste limbaje cu detaliere pentru STL i LDR. Exemplele sunt
dezvoltate n mediul FSTIPC (Festo).

1. Programarea n STL

1.1 Operanzi STL


Operanzii sunt identificatori ai resurselor sistemului (intrri, ieiri, temporizatoare, numrtoare,
memorii) care pot fi interogate i manipulate prin instruciunile programului. Operanzii STL sunt
similari cu operanzii LDR. n funcie de dimensiunea lor se deosebesc:
operanzi de un bit (SBO single bit operands)
coninutul informaional este reprezentat pe un singur bit;
pot fi evaluai ca adevrai (1 logic) sau fali (0 logic);
starea lor logic poate fi modificat prin instruciuni specifice;
n timpul interogrii sau modificrii strii lor logice, operanzii sunt ncrcai ntr-un registru
special al procesorului numit acumulator de un bit (SBA single bit accumulator).
operanzi multibit (MBO multibit operands)
coninutul informaional este reprezentat pe mai muli bii, de regul pe un octet (byte = 8 bii)
sau cuvnt (word = 16 bii);
valoarea lor poate fi testat prin comparare cu alte valori constante sau cu ali operanzi multibit;
pot fi incrementai sau decrementai;

1
n timpul interogrii i modificrii, operanzii multibit sunt ncrcai ntr-un registru special al
procesorului numit acumulator multibit (MBA multibit accumulator).

Tabelul 1.1 Operanzi SBO

Operand Identificator Sintaxa1 Utilizare2 Exemplificare


Intrare
I In.m C IF I2.4
(Input)
Ieire IF O2.3
O On.m C, E
(Output) THEN SET O3.4
Bit de memorie IF F5.12
F Fn.m C, E
(Flag) THEN RESET F3.8
Temporizator IF T5
T Tn C, E
(Timer) THEN SET T2
Numrtor IF C9
C Cn C, E
(Counter) THEN SET C5
Program IF P2
P Pn C, E
(Program) THEN SET P4
Tabelul 1.2 Operanzi MBO

Identifi-
Operand Sintaxa Utilizare Exemplificare
cator
Cuvnt de Intrare
IW IWn C IF (IW4=V255)
(Input Word)
IF (OW3=V255)
Cuvnt de Ieire
OW OWn C, E THEN LOAD V80
(Output Word)
TO OW4
IF (FW8=V220)
Cuvnt de Memorie
FW FWn C, E THEN LOAD V80
(Flag Word)
TO FW4
IF (FU32=V255)
Unitate Funcional
FU FUn C, E THEN LOAD FU34
(Function Unit)
TO R15
Cuvntul (valoarea) IF (TW3 < V200)
unui Temporizator TW TWn C, E THEN LOAD V80
(Timer Word) TO TW4
Cuvntul Prestabilit IF (TP3 < V255)
al unui Temporizator TP TPn C, E THEN LOAD V50
(Timer Preselect) TO TP5
Cuvntul (valoarea)
IF (CW3< >V255)
unui Numrtor CW CWn C, E
THEN INC CW5
(Counter Word)
Cuvntul Prestabilit IF (CP3=V255)
al unui Numrtor CP CPn C, E THEN LOAD V80
(Counter Word) TO CP4
IF (R60=V255)
Registru
R Rn C, E THEN LOAD R35
(Register)
TO R32

1.2 Operatori STL

1
n numr natural, identificator al resurselor pentru un tip de operand (ex: I1, I2,);
m numr natural, identificator al bitului informaional vizat (ex: I1.1, I1.2, I1.3,...).
2
C partea condiional a unei structuri elementare de programare;
E partea executiv a unei structuri elementare de programare.

2
Operatorii unui limbaj permit modificarea valorii logice sau numerice a operanzilor. Limbajul STL
utilizeaz urmtorii operatori:
Tabelul 1.3 Operatori STL

Simbol Utilizare Observaii


N Negaie (Not) SBO
V Reprezentare n format zecimal MBO
V$ Reprezentare n format hexazecimal MBO
V% Reprezentare n format binar MBO
+ Adunarea a doi operanzi MBO
- Scderea a doi operanzi MBO
Simbol Utilizare Observaii1
* nmulirea a doi operanzi MBO
/ mprirea a doi operanzi MBO
< Compararea a doi operanzi - mai mic MBO
> Compararea a doi operanzi - mai mare MBO
= Compararea a doi operanzi - egal MBO
<> Compararea a doi operanzi diferit MBO
<= Compararea a doi operanzi - mai mic sau egal MBO
>= Compararea a doi operanzi - mai mare sau egal MBO
() Utilizate n stabilirea prioritii operatorilor SBO, MBO

1.3 Structura programelor STL


Un program Statement List poate fi dezvoltat n trei modaliti:
- Program ,,n pai (Step Program) ;
- Program paralel (Parallel Logic Program);
- Program executiv (Executive Program).

Programele paralele i executive sunt cazuri particulare ale programelor ,,n pai. Un program ,,n
pai este constituit din blocuri logice de programare (pai) delimitate prin instruciunea STEP, care
este urmat (opional) de un identificator (pentru claritatea programului). Fiecare pas (bloc logic)
conine una sau mai multe structuri elementare de programare.

O structur elementar a programului este compus din:


a) O clauz condiional format din cuvntul cheie IF urmat de o expresie logic, a crei valoare de
adevr (adevrat, fals) este evaluat. Expresia logic este constituit din operanzi SBO sau MBO,
constante i operatori STL.
b) O clauz executiv format din cuvntul cheie THEN urmat de un set de instruciuni care se vor
executa numai dac expresia logic a prii condiionale a fost evaluat ca adevrat (1) .
c) O clauz executiv alternativ format din cuvntul cheie OTHRW urmat de un set de instruciuni
care se vor executa numai dac expresia logic a prii condiionale a fost evaluat ca fals (0).
Utilizarea clauzei executive alternative este opional n construcia unei structuri elementare.
Exemplul 1: Structur elementar de program
IF ( I1.0 AND I2.4) dac exist semnal la intrrile I1.0 i I2.4
THEN SET O1.5 atunci activeaz ieirea O1.5
SET O1.6 activeaz ieirea O1.6
OTHRW SET O2.1 altfel activeaz ieirea O2.1

1
n aceast rubric sunt specificai operanzii (SBO, MBO) pentru care sunt aplicabili operatorii

3
Dac unei intrri SBO i se aplic un semnal electric (U 24V) atunci starea logic a acelei intrri este
1, n caz contrar este 0. Evaluarea valorii de adevr a expresiilor logice se realizeaz prin logica
boolean (binar).

Exemplul 2: Program ,,n pai


STEP iniializare Pasul iniializare al programului
IF (I0.1 AND I0.2) dac intrrile I0.1 i I0.2 sunt active (1 logic)
THEN SET O0.1 atunci se activeaz ieirea O0.1
SET O0.3 i ieirea O0.2
IF I0.3 dac intrarea I0.3 este activ
THEN LOAD V100 atunci se ncarc n MBA valoarea zecimal 100
TO TP1 TP1 se ncarc cu valoarea din MBA
OTHRW SET O1.1 altfel se activeaz ieirea O1.1
STEP 1 Pasul 1
IF (I0.3 OR I0.4) dac cel puin una din intrri (I0.3, I0.4) este activ
THEN RESET O1.2 atunci se dezactiveaz ieirea O1.2
STEP 2 Pasul 2
...
IF
...
THEN
...
OTHRW

n exemplul 2 s-au evideniat prin paranteze drepte structurile elementare ale programului.
Un program paralel este compus doar din structuri elementare, el fiind echivalent cu un pas dintr-un
program ,,n pai. Un astfel de program este rulat ciclic pn la dezactivarea lui prin comanda
RESET Pn (n este identificatorul programului). Programul paralel nu conine cuvntul cheie STEP.

Exemplul 3: Program paralel

IF (I0.1 AND I0.2) dac intrrile I0.1 i I0.2 sunt active


THENSET O0.1 atunci se activeaz ieirea O0.1
SET O0.3 i ieirea O0.2
IF I0.3 dac intrarea I0.3 este activ
THEN LOAD V100 atunci se ncarc n MBA valoarea zecimal 100
TO TP1 TP1 ncarc valoarea existent n MBA
OTHRW SET O1.1 altfel se activeaz ieirea O1.1

IF F0.1 dac bitul de memorie (flag) este 1 logic


THEN RESET P1 atunci se dezactiveaz (oprete) programul P1

Programul executiv nu conine cuvintele cheie STEP, IF, THEN i OTHRW.

Exemplul 4: Program executiv

SET F0.0 bitul de memorie F0.0 devine 1 logic


RESET O0.1 este dezactivat ieirea O0.1
LOAD V50 se ncarc n MBA valoarea zecimal 50
TO FW7 cuvntul de memorie FW7 ncarc valoarea existent n MBA

4
1.4 Execuia programelor STL
STEP x - 1
STEP x

Prima (sau precedenta) structur elementar i


a pasului x ( STEP x )

i+1
IF
Evaluare FALS (0)
expresie
logic Exist
DA
clauza executiv
alternativ?
ADEVARAT
THEN (1) OTHRW
Executie Executie
instructiuni instructiuni NU

Este Este
ultima structur NU NU ultima structur
elementar a elementar a
pasului x ? pasului x ?

DA DA

Procesarea pasului Trecere la urmtoarea Intoarcere la prima


urmtor structur elementar structur elementar
(STEP x+1) a pasului x a pasului x
STEP x

(i+2) (i)
STEP x+1

Fig. 1.4 Procedura de execuie a unui program n STL.

n figura 1.4 este reprezentat grafic procedura de execuie a unui program ,,n pai dezvoltat n
limbajul STL:
- programul se execut pas cu pas;
- trecerea la urmtorul pas se va face numai dac, n ultima structur elementar a pasului, se
execut fie instruciunile care urmeaz dup THEN, fie instruciunile care urmeaz dup
OTHRW;
- dac n ultima structur elementar clauza OTHRW nu exist i partea condiional este
fals atunci programul execut (reia) de la nceput instruciunile pasului curent; astfel se
,,ateapt ndeplinirea ultimei condiii pentru a se trece la pasul urmtor.
Este important de subliniat c n ultima structur elementar a pasului curent, se stabilete dac
programul trece la pasul urmtor sau reia execuia instruciunilor pasului curent.

5
1.5 Instruciuni STL

Limbajul STL permite utilizarea unui set bogat de instruciuni n dezvoltarea aplicaiilor (Tabelul 1.4).

Tabelul 1.4 Instruciuni STL

Instruciune Semnificaie
AND Execut funcia I logic ntre doi operanzi
BID Convertete coninutul MBA din cod binar n cod BCD1
CFMn ncepe execuia sau iniializeaz un modul funcional2
CMPn ncepe execuia unui modul program3
CPL Conversie n cod complementar (2) a acumulatorului MBA
DEC Decrementeaz un operand sau acumulatorul MBA
DEB Convertete coninutul MBA din cod BCD n cod binar
EXOR Execut funcia SAU Exclusiv ntre doi operanzi
IF Cuvnt cheie ce marcheaz nceputul prii condiionale
INC Incrementeaz un operand sau acumulatorul MBA
INV Produce complementul fa de 1 al acumulatorului MBA
JMP TO xx Execut un salt la pasul cu identificatorul xx
NOP Instruciune special, ntotdeauna adevrat n partea
condiional ; se utilizeaz i n partea executiv unde execuia
ei nseamn : ,,nu face nimic
OR Execut funcia SAU logic ntre doi operanzi
OTHRW Cuvnt cheie ce marcheaz nceputul prii executive alternative
PSE Programul sau pasul se reia de la prima instruciune
RESET Modific starea logic a unui operand de un bit n 0 logic
ROL Rotete la stnga cu o poziie toi biii coninui de MBA. Bitul
cel mai semnificativ trece n cel mai puin semnificativ
ROR Rotete la dreapta cu o poziie toi biii coninui de MBA. Bitul
cel mai puin semnificativ trece n cel mai semnificativ
SET Modific starea logic a operanzilor de un bit n 1 logic
SHIFT Execut o interschimbare ntre un operand de un singur bit i
acumulatorul de un singur bit (SBA)
SHL Translateaz la stnga cu o poziie toi biii coninui de
acumulatorul multibit. Bitul cel mai semnificativ este pierdut iar
cel mai puin semnificativ este resetat n 0 logic
SHR Translateaz la dreapta cu o poziie toi biii coninui de
acumulatorul multibit. Bitul cel mai puin semnificativ este
pierdut iar cel mai semnificativ este resetat n 0 logic
SWAP Schimb ntre ei octeii superiori i inferiori ai acumulatorului
multibit (MBA)
LOAD xx ncarc operandul xx n acumulatorul SBA sau MBA
TO Se utilizeaz cu instruciunea LOAD pentru a specifica un
operand destinaie
THEN Cuvnt cheie ce indic nceputul prii executive
WITH Instruciune utilizat pentru a furniza parametrii modulelor CFM
sau CMP (dac acestea necesit parametri)

1
zecimal codificat binar
2
funcii predefinite(de bibliotec) care pot fi invocate pentru realizarea anumitor sarcini
3
subrutin creat de utilizator

6
1.6 Temporizatoare i numrtoare

n limbajul STL1 , temporizatoarele (timers) sunt tipuri speciale de date constituite din trei operanzi:
1.Tn Timer Status;
2.TPn Timer Preselect;
3.TWn Timer Word.,
unde n este identificatorul temporizatorului (0-255).
Tn Timer Status este un operand de un bit ( SBO ) care reprezint starea temporizatorului:
temporizator activat - 1 logic , temporizator dezactivat - 0 logic. Starea logic a temporizatorului poate
fi testat n orice moment. Utiliznd instruciunile SET Tn , RESET Tn se activeaz (pornete),
respectiv se dezactiveaz (oprete) temporizatorul n.
TPn Timer Preselect este un operand multibit de un word (16 bii) care reprezint valoarea
timpului de acionare al temporizatorului n.
TWn Timer Word este un operand multibit de un word (16 bii) care reprezint valoarea curent a
temporizatorului n.

Utilizarea unui temporizator este precedat de ncrcarea unei valori n TPn. Activarea
temporizatorului se face cu comanda SET Tn care determin urmtoarele aciuni:
- se activeaz temporizatorul (Tn = 1 logic);
- se ncarc n TWn coninutul lui TPn;
- se ncepe temporizarea operandul TWn este decrementat cu fiecare impuls al ceasului intern.

Temporizarea se ncheie atunci cnd valoarea din TWn atinge valoarea zero. Totodat starea logic a
bitului de stare Tn se schimb n 0 logic.

Exemplul 5: Utilizarea temporizatoarelor


Programul activeaz i dezactiveaz ieirea O1.1 cu frecvena de 1Hz:
timp de 0.5s ieirea O1.1 este activat i timp de 0.5s ieirea O1.1 este dezactivat.

STEP 1
THEN LOAD V50 ncarc valoarea 50 (0,5 secunde)
TO TP1 operandul TP1 este ncrcat cu valoarea 50 (0,5s)
STEP 2
THEN SET T1 este activat (pornit) temporizatorul 1
SET O1.1 este activat ieirea O1.1
STEP 3
IF N T1 se ateapt 0,5s ( perioada de temporizare)
THEN RESET O1.1 este dezactivat ieirea O1.1
SET T1 este reactivat temporizatorul 1
STEP 4
IF N T1 se ateapt 0.5s ( perioada de temporizare)
THEN JMP TO 2 se reia ciclul de la pasul cu identificatorul 2

Numrtoarele (counters) sunt utilizate pentru nregistrarea unui numr de evenimente desfurate n
timp. Numrtoarele implementate de STL pot fi programate prin dou metode: incrementarea i
decrementarea numrtorului.

Sunt structurate, asemenea temporizatoarelor, n trei tipuri de operanzi:


1.Cn Counter Status
2.CPn Counter Preselect;
3.CWn Counter Word,
unde n este identificatorul numrtorului (0-255).

1
cu referire la PLC-urile Festo

7
Cn Counter Status operand de un bit (SBO) care reprezint starea numrtorului: numrtor
activat (1 logic) sau numrtor dezactivat (0 logic). Starea logic a numrtorului poate fi testat n
orice moment. Utiliznd instruciunile SET Cn , RESET Cn se activeaz (pornete), respectiv se
dezactiveaz (oprete) numrtorul.

CPn Counter Preselect operand multibit (MBO) de un word (16 bii) n care este nregistrat
valoarea de referin a numrtorului. Acest operand este iniializat (ncrcat) la nceputul
contorizrii.

CWn Counter Word operand multibit de un word care reprezint valoarea curent a numrtorului.
Utilizarea unui numrtor incremental este precedat de ncrcarea operandului CPn cu valoarea de
referin.

Activarea (pornirea) numrtorului se face prin comanda SET Cn care determin urmtoarele aciuni:
- este activat numrtorul incremental (Cn = 1 logic);
- operandul CWn se ncarc cu valoarea zero.

Incrementarea numrtorului se face utiliznd instruciunea INC asupra operandului CWn sau Cn.
Atunci cnd valoarea curent va fi egal cu valoarea de referin (CWn = CPn), starea logic a
numrtorului se va modifica (Cn = 0 logic).

Exemplul 6: Utilizarea numrtoarelor incrementale


Programul nregistreaz 10 evenimente prin senzorul intrrii I1.1, dup care oprete procesul prin dezactivarea
ieiri O0.1.

STEP 10
THEN LOAD V10 este ncrcat valoarea de referin (10)
TO CP2 n operandul CP2 al numrtorului 2
STEP 20
IF I0.1 dac este apsat butonul de Start (I0.1)
THEN SET C2 atunci este activat (pornit) numrtorul
SET O0.1 este pornit procesul
STEP 21
IF I1.1 dac este sesizat un semnal de la senzor
THEN INC CW2 atunci operandul CW2 este incrementat cu
STEP 22 o unitate
IF N I1.1 AND C2 dac numrtorul este activ (C2=1)
THEN JMP TO 21 atunci se reia ciclul de la pasul 21
OTHRW RESET O0.1 altfel se oprete procesul (dac C2=0)

1.7 Elemente de programare avansat

Programele dezvoltate n STL, permit apelarea unor module software pentru rezolvarea anumitor
sarcini. Mediul de programare asigur un set de funcii de bibliotec - module de funciuni (CFM) -
pentru sarcinile cu caracter general i suplimentar permite utilizatorului construirea unor subrutine
specifice prin modulele program (CMP).

Modulele de funciuni (CFM) sunt programe furnizate de productor pentru prelucrarea datelor de
complexitate mic sau medie, stocate n biblioteci de date. Utilizarea unei funcii CFM presupune
apelarea ei n partea executiv a unei structuri elementare de program prin instruciunea compus:
CFMn
WITH p1
WITH p2 ,

8
unde n este numrul dat de utilizator la importul funciilor n proiectul curent, iar p1, p2 sunt parametrii
de intrare necesari funciei (constant, operand multibit). Prin aceti parametri se furnizeaz funciei
datele ce trebuie prelucrate.

Modulele program (CMP) - sunt subrutine create de utilizator pentru realizarea unor prelucrri
specifice. Ele pot fi concepute n STL sau - n cazul sarcinilor complexe - n C, respectnd regulile de
editare ale limbajului utilizat.

Procedura de apelare a modulelor CMP este aceeai cu a modulelor CFM:


CMPn
WITH p1
WITH p2 ,
unde parametrii p1,p2 pot fi constante sau operanzi multibit.

Dac n structura unui program sunt apelate mai multe module CMP atunci trebuie respectate
urmtoarele indicaii:
- dintr-un modul program nu se poate apela alt program modul;
- programul care a apelat un modul CMP este oprit la instruciunea urmtoare i va atepta
finalizarea execuiei modulului ;
- sunt permise instruciunile de salt, ns trebuie luate msuri pentru evitarea ciclurilor infinite.

9
CURS 3

PROGRAMAREA APLICAIILOR N LIMBAJUL


LADDER DIAGRAM (LDR).

1. Introducere.
Ladder Diagram este un limbaj de programare grafic. n cea mai simpl form a sa, un program LDR este
asemntor cu imaginea unei diagrame de circuit electric de tip american. Aceasta este similar cu
diagrama de circuit electric German (standard DIN) dar se citete de la stnga la dreapta.
Elementele principale din LDR sunt contactele (contacts) i spirele (coils), n diferite forme i care au
diferite semnificaii. Ele sunt legate ntr-o secven logic cu ajutorul uror trasee grafice numite rungs i
branches care sunt similare cu conductoarele de legtur din circuitele electrice.

Subiectele dezvoltate n acest capitol sunt: operanzi, structura programelor LDR, operaii de baz n LDR,
temporizatoare, numrtoare, module de programare.

2. Operanzi.
Operanzii LDR sunt similari cu cei din limbajul STL. Ei sunt identificatori ai sistemului: intrri, ieiri,
timere, numrtoare, etc. n cadrul unui program, utilizarea acestor operanzi este singurul mod de
accesare a resurselor pe care le reprezint. n funcie de dimensiunea lor exist doua tipuri de operanzi:
operanzi de un singur bit;
operanzi de mai muli biti - 8, 16 sau 32 de bii.
Memorarea valorilor operanzilor n cazul cderii tensiunii de alimentare a automatului se numete
retenie. Deoarece majoritatea operanzilor se gsesc n memoria RAM, n cazul unei cderi de tensiune
coninutul memoriei se pierde. Memoria este volatil. Retenia este posibil dac automatul are n
componen o baterie de siguran.
n cazul ieirilor, acestea nu trebuie s memoreze starea dinainte de cderea de tensiune, pentru a nu pune
n pericol instalaia la revenirea tensiunii. Deci ieirile sunt ntotdeauna localizate ntr-o memorie volatil.
Se poate ntmpla s existe o cdere de tensiune i bateria de siguran s fie descrcat. Pentru
prevederea acestui defect se impune ca programele s aib seciuni n care s se iniializeze toi operanzii
importani pentru funcionarea sigur a instalaiei.

3. Structura unui program LDR.


Un program LDR este constituit din ramuri principale (rungs). Fiecare ramur principal are minim un
contact. De asemenea fiecare ramur principal conine cel puin o spir (coil). Adiional, ramuri
paralele (branches) pot fi inserate rezultnd astfel contacte n paralel. Ramurile paralele pot fi conectate
la orice nod al ramurii principale cu condiia ca ele s nu se suprapun. Mai multe spire pot fi configurate
n paralel dar ele trebuie s aib toate o intrare de comand comun. Altfel se folosesc mai multe ramuri
principale.

Din ce este constituit o ramur principal?


Un program LDR conine: ramuri principale, ramuri paralele, seciuni de ramur, contacte normal
deschise i normal nchise, casete de instruciuni i spire. Aceti termeni se explic mai jos cu ajutorul
figurii 1.

O caset de instruciuni poate fi folosit pentru a nlocui un contact sau o spir dar de obicei se folosete
pentru funcii care sunt imposibil de reprezentat grafic n LDR (de exemplu operaia aritmetic de
adunare a dou numere).
Ramura principala Spira

Sectiune care poate contine un contact

Caseta de instructiuni
Contact, normal deschis

Contact, normal nchis

Spire paralele

Ramuri paralele

Fig. 1 Elemente grafice de program LDR.

Ramurile prezentate n figura 1 conin numai operaii i de aceea reprezint doar o legtur logic ntre
elemente binare. Fiecare operaie (adic fiecare contact, spir sau caset de instruciuni) necesit cel puin
un operand. Dac operandul lipsete, atunci programul are erori care vor fi evideniate la compilare.
Operandul se scrie deasupra elementului grafic (contact/spir/caset). Introducerea operandului se
realizeaz prin editarea cmpului respectiv. n cazul casetelor de instruciuini, este un lucru obinuit ca
acestea s necesite mai mult de un singur operand.

Parte condiional i parte executiv.


O ramur principal (rung) poate fi mprit ntr-o parte condiional i o parte executiv, figura 2. n
partea condiional se evalueaz la adevrat sau fals (1 sau 0) o funcie logic definit de utilizator cu
ajutorul contactelor i/sau al casetelor de comparaii logice. Spira reprezint partea executiv, iar aciunile
descrise de coninutul ei se declaneaz atunci cnd partea condiional a fost evaluat ca adevrat, 1
logic.

Partea condiional Partea de execuie

Fig. 2 Partea condiional i partea de execuie a unei ramuri principale.


Funcionarea unei ramuri principale este identic cu cea a unui circuit electric de comand. Sarcina
electric (releul) este reprezentat de partea executiv a ramurii LDR. Partea condiional este analoag
contactelor electrice serie sau paralel.

Logica de procesare a unui program LDR.


Programele LDR sunt executate n ordine, ramur dup ramur i ciclic, dup terminarea tuturor
ramurilor se rencepe execuia de la prima ramur. Programul se execut atta timp ct nu exist o
comand expres de oprire. Ramurile principale (rungs) sunt numerotate n mod automat de ctre mediul
de programare. Din acest motiv exist o secven clar de procesare a mai multor ramuri principale.
nainte de ncrcarea programului LDR n AP, programul este translatat n cod main cu ajutorul unui
program special numit compilator. Instruciunile cuprinse n ramuri sunt translatate consecutiv, conform
numerotrii i a ordinii apariiei n program. Chiar i n cadrul unei singure ramuri principale,
compilatorul va respecta secvena programat de utilizator. De exemplu, o a doua spir n paralel va
aprea n programul cod main ca fiind executat dup prima spir.

n cazul automatelor programabile multi-procesor, cea de-a doua spir va fi comutat dup prima, cu o
ntrziere de cteva microsecunde. Automate programabile cu un singur procesor folosesc, n general,
metoda imaginii de proces1 pentru actualizarea intrrilor i iesirilor. La acestea, actualizarea ieirilor
fizice are loc independent de secvena de program conceput de utilizator, la sfritul fiecrui ciclu al
programului. Cnd se pornete automatul (cu ntreruptorul RUN/STOP sau prin alimentare cu tensiune)
instruciunile se execut de la prima linie de program.

Aceast logic secvenial este exploatat particular, atunci cnd se folosesc operanzii binari speciali (ex.:
FI, numit bit de initializare, initialization flag mediul FST). FI are valoarea 1 logic pentru primul ciclu
al programului. ncepnd cu al doilea ciclu i pn la oprirea automatului, operandul FI va avea valoarea
0 logic. Cu ajutorul operandului FI este posibil aducerea oricrui operand n starea iniial dorit la
nceputul programului.

n figura 3, setarea n 1 logic a ieirii O0.1 se face doar pentru primul ciclu al programului. Setarea n
1 logic a ieirii O0.2 se face ncepnd de la al doilea ciclu al programului i pn la oprirea acestuia
deoarece negaia lui FI are valoarea 0 logic n primul ciclu iar n rest are valoarea 1 logic.

Fig. 3 Utilizarea operandului binar special, FI (initialization flag).

Modul de actualizare al intrrilor/ieirilor.


Acelai program LDR poate fi rulat pe mai multe tipuri de automate programabile. Procesarea intern a
programelor LDR este diferit funcie de modul de actualizare de ctre AP a semnalelor de intrare/ieire.
Astfel, automatele programabile cu un singur procesor, de obicei, folosesc un tampon de memorie numit
imagine de proces (process image). Funcionarea AP-urilor cu memorie de imagine de proces este
urmtoarea:
- nainte de intrarea n ciclul unui program, n aceast memorie se ncarc valoarea semnalelor fizice de
intrare;
- pe parcursul rulrii unui ciclu, valorile intrrilor sau ieirilor folosite n program sunt cele din
memoria imagini de proces (chiar dac pe parcursul ciclului unele intrri se pot schimba). Imaginea
de proces este actualizat cu comenzi de setare sau resetare a ieirilor;

1
Se detaliaz mai trziu n acest capitol.
- la terminarea ciclului, ieirile fizice sunt actualizate corespunztor valorilor din imaginea de proces.
Dup aceasta ciclul se repet.

Observaii:
1) Memoria cu imaginea de proces se actualizat i n cazul n
care, n acelai program se sare la o ramur principal
anterioar celei curente (cu instruciune de salt). Actualizarea
2) Dac proiectul are mai multe programe LDR, imaginea de Imaginii de Proces

proces este actualizat nainte de execuia primei ramuri


principale a fiecrui program.
Ramura principal Ramura principal
nr. 1 nr. 1

n figura 4 se poate observa schematic modul rulare a unui Ramura principal


nr. 2
Ramura principal
nr. 2
program LDR pentru un automat care utilizeaz memorie cu
imagine de proces, a), i pentru un automat fr imagine de Ramura principal Ramura principal
proces, b). nr. 3 nr. 3

Ramura principal Ramura principal


Automatele programabile multiprocesor nu utilizeaz memorie nr. 4 nr. 4

pentru imaginea de proces. Starea intrrilor fizice este citit


imediat cum apar n partea condiional a ramurilor. Semnalele
de ieire sunt de asemenea actualizate imediat ce instruciunile a) b)
din partea executiv sunt executate, ieirile fizice fiind
Fig. 4. Procesare cu imagine de
comutate nainte de terminarea ciclului. proces, a) i fr, b).

Ce nseamn acest lucru n practic se poate observa cu ajutorul programului din figura 5. Acest program
poate fi rulat pe orice tip de automat programabil (cu un singur procesor sau cu mai multe procesoare).
Programul nu are o utilitate practic deoarece ieirea O0.1 este pur i simplu comutat n 1 i n 0 logic de
mai multe ori pentru aceeai condiie ndeplinit, dac intrarea I0.1 este activat.

n acest caz, pentru un automat care utilizeaz imaginea de proces, ieirea O0.1 nu va fi comutat de mai
multe ori (din 1 n 0 logic sau invers). La terminarea unui ciclu al programului, ieirea O0.1 va fi
dezactivat dac I0.1 este 0 logic sau va fi activat dac intrarea I0.1 este 1 logic, deoarece aceasta
este ultimul lucru care se intmpl n comand, nainte de actualizarea imaginii de proces.

Fig. 5. Program LDR exemplu pentru nelegerea lucrului cu memoria de imagine de proces

Pe de alt parte, un automat care acceseaz ntrrile i ieirile n mod direct (automatele multi-procesor)
va comuta ieirea O0.1 din 1 logic n 0 logic i invers de mai multe ori, pe msur ce se execut
fiecare instruciune. Aceste comutri se pot vedea cu un osciloscop.

Avantajele metodei imaginii de proces:


- asigurarea c starea logic a intrrilor nu se modific pe parcursul unui ciclu al programului;
- asigurarea c ieirile i menin starea logic rezultat dup ultimul ciclu; Aceasta permite scrierea, la
sfritul programului, de rutine de verificare i control cu care se pot depista erori de programare.
Observaie: Dac aceste verificri sunt absolut necesare pentru automatele cu acces direct la intrri/ieiri, programarea se face
folosind flag-uri. Aceste flag-uri se copiaz la ieiri numai la sfritul programului, dup ce valorile lor sunt validate de
rutinele de verificare.

- execuia programului este mult mai rapid atunci cnd se folosete metoda imaginii de proces

Avantaje metodei de acces direct la intrri/ieiri:


- este posibil funcionarea n paralel a mai multor module cu procesor, astfel realizndu-se un sistem
multi-procesor;
- se asigur utilizarea strii curente, practic instantanee, a unei intrri;
- n ciclul programului nu se mai consum timp pentru actualizarea imaginii de proces;
- se poate utiliza o comutare rapid a ieirilor pentru comanda unor periferice electronice (de exemplu:
motoare pas cu pas, numrtoare electronice, afiaje electronice, multiplexoare electronice).

Care din cele dou metode este mai bun depinde de specificul aplicaiei, de complexitatea ei i de
mrimea programului final.

Viteza de execuie a unui automat programabil.


Procesarea fiecrui contact i a fiecrei spire implic timp. De aici rezult c timpul de ciclu al unui AP
depinde de lungimea programului. Pentru evitarea ciclurilor excesiv de lungi, AP-urile moderne ofer
comanda de salt. Astfel se permite saltul peste acele pri din program care nu sunt necesare pentru o
anumit stare a intrrilor/ieirilor. Timpul de ciclu al automatelor programabile variaz n limite largi. n
plus, timpul de procesare a diferitelor comenzi poate varia mult (o operaie aritmetic consum mult mai
mult timp dect o comutare a unei ieiri). Este dificil de fcut o estimare general valabil despre timpul de
ciclu al unui AP. Afirmaii din cataloage de prezentare de genul: 6 milisecunde la 1000 de instruciuni
arat destul de bine dar nu au valoare practic deoarece instruciuni diferite necesit timpi de execuie
diferii. n practic se folosesc coduri de program cu care se poate msura timpul de ciclul al unui
program dat. Tot prin software se pot msura timpii de execuie pentru o instruciune specific i timpul
de ntrziere necesar actualizrii intrrilor i ieirilor.

4. Operaii de baz n programe LDR.


Analog setului de instruciuni din limbajul STL, n LDR exist simboluri grafice ce au funcii bine
determinate. Operaiile executate de aceste funcii se detaliaz n acest paragraf. Pentru structurarea
informaiei, operaiile LDR se vor mprii n mai multe categorii.

Operaii logice
Funcia logic I pentru doi operanzi binari, I0.1 i I0.2, este reprezentat n figura 6.

Fig.6.

Operaia logic SAU pentru doi operanzi binari, I0.1 i O0.2, este prezentat n figura 7.

Fig. 7.
Negaia unui operand binar se poate face n partea condiionat, figura 8, sau n cea de execuie, figura 9.
n primul caz Execuia are loc dac intrarea I0.1 este dezactivat. n al doilea caz ieirea O0.1 este
activat cnd Condiie este neindeplinit (0 logic).

Fig. 8.

Fig. 9.

Funcia logic de identitate este una din operaiile de baz n LDR. Folosete o intrare i o ieire, la fel ca
funcia NU logic, dar valoarea de adevr a intrri se transmite la ieire, figura 10.

Fig. 10.

Funcia logic SAU EXCLUSIV este o condiie des utilizat n practic. LDR nu are un simbol grafic
special pentru aceast funcie. Funcia se realizeaz printr-o succesiune serie-paralel de contacte. n figura
11 este prezentat operaia SAU EXCLUSIV ntre doi operanzi: I0.1 i I0.2. Instruciunea din partea de
Execuie se proceseaz dac numai una din cele dou intrri este activat.

Fig. 11.

Se pot realiza operaii SAU EXCLUSIV cu mai mult de dou variabile. n figura 12 se prezint ramura de
program LDR n care se evalueaz trei operanzi binari cu o funcie SAU EXCLUSIV.

Fig. 12.

Operaia NOP
Operaia special NOP este o operaie care nu face nimic. Toate limbajele de programare trebuie s aib o
operaie nul. n LDR, operaia NOP este utilizat ca operator ataat unui contact. n acest caz contactul
va fi totdeauna activat (1 logic) iar instruciunile din partea de execuie se vor executa la fiecare ciclu de
program, fig.13.

Fig. 13.
Dac operatorul NOP este utilizat ntr-o ramur, aceasta nseamn c pentru acea ramur este dezactivat
mecanismul de recunoatere a frontului de semnal (tranziia din 0 n 1). De asemenea, acea ramur este
activ permanent. n figura 14 se d un exemplu de utilizare a funciei NOP la comanda de incrementare a
unui numrtor. Numrtorul va contoriza fiecare ciclu al programului. Dac se asociaz acest numrtor
cu un temporizator i se msoar timpul n care se execut, de exemplu 10000 cicluri, se poate estima
timpul de ciclu al unui program.

Fig. 14.
Operaia de memorare (latching)
Aceast operaie seamn cu metoda tradiional de automeninere la utilizarea releelor de ctre
electricieni. Este o memorie de 1 bit. n automatele programabile, memoria de un bit se realizeaz cu
comenzile SET i RESET. Oricum, realizarea acestei memorii cu ajutorul contactelor se practic des n
programele LDR.
S 1 0 A S 1 1 A
Simbolul logic pentru memoria de 1 bit este cel al unui circuit
bistabil, fig. 15. Un circuit bistabil are dou intrri, S (set) i R R R
1 1
(reset) i o singur ieire, A. Un semnal 1 logic n intrarea S
(set) provoac activarea ieirii A. Dup ce A a fost activat, el va a) b)
rmne n aceast stare indiferent de valoarea logic a intrrii S.
Fig. 15. Schema logic al unui
Trecerea ieirii A n starea 0 logic se face prin activarea intrrii
circuit bistabil (memorie de 1 bit):
R (reset). Dup dezactivarea lui A nu mai conteaz dac R i a) cu resetare dominant;
schimb starea. Dac semnalele R i S sunt ambele 0 logic b) cu setare dominant
ieirea A i va menine starea anterioar. Se difereniaz dou
tipuri de circuite bistabile, corespunztor comportrii dorite a ieirii A n cazul n care semnalele R i S
sunt 1 logic n acelai timp:
- cu resetare dominant, oricare ar fi starea intrrii S (0 sau 1 logic), activarea semnalului R va
provoca obligatoriu trecerea ieirii A n starea 0 logic;
- cu setare dominant, oricare ar fi starea intrrii R (0 sau 1 logic), activarea semnalului S va provoca
obligatoriu trecerea ieirii A n starea 1 logic.
Pentru programarea unui circuit bistabil n LDR este nevoie de utilizarea a trei operanzi binari cu condiia
ca operandul echivalent semnalului A s poat fi modificat (flag de memorie sau ieire). Figura 16.
reprezint un circuit bistabil cu resetare dominant dat de operandul I1.2 i setare dat de operandul
I1.1. Semnalul analog ieirii bistabilului este flagul F3.1.

Fig. 16.

Circuitul bistabil cu setarea dominant este descris de figura 17. Setarea se face de ctre intrarea I1.1
indiferent de valoarea ieirii I1.2. Resetarea se face cu semnalul I1.2 dar numai atunci cnd intrarea I1.1
este 0 logic.

Fig. 17.

Operaii cu spire (coils)


Atunci cnd spirele sunt energizate se face diferen ntre comenzile care nu se pstreaz i comenzile
care se pstreaz:

Comenzi care nu se pstreaz.


Pentru o comand care nu se pstreaz, starea logic a condiiei se transfer direct la spir. n spir se
reflect fiecare schimbare a strii logice a condiiei. n figura 18 se d comanda de activare a ieirii O1.1
atunci cnd intrarea I1.1 este activat. n momentul n care intrarea I1.1 devine 0 logic ieirea O1.1 va
fi dezactivat (0 logic), fig. 19.
Fig. 18.

I1.1 - Condiie
1 logic
0 logic
timp
O1.1 - Execuie

Fig. 19. Activarea i dezactivarea ieirii O1.1 funcie de semnalul de intrare I1.1,
n cazul unei comenzi care nu se pstreaz.

n cazul acestui tip de comand exist i varianta de comand negat, fig. 20, la care semnalul de ieire
O1.1 este activat dac intrarea I1.1 este 0 logic i este dezactivat dac intrarea I1.1 are starea 1 logic,
conform diagramei din figura 21.

Fig.20

I1.1 - Condiie
1 logic
0 logic
timp
O1.1 - Execuie

Fig.21. Activarea i dezactivarea ieirii O1.1 funcie de semnalul de intrare I1.1,


n cazul unei comenzi negate care nu se pstreaz.

Comenzi care se pstreaz.


n acest caz comenzile sunt executate precis dac (i numai dac) ramura are starea 1 logic, adic
condiia ramurii este ndeplinit. Dac condiia trece din starea 1 logic n starea 0 logic, comanda
executat de spir nu se va anula. Exist dou tipuri de comenzi care se pstreaz: SET i RESET. Ele
sunt comenzi opuse n sensul c se anuleaz una pe cealalt dac se aplic aceluiai operand. n figura 22
se poate vizualiza tipul de spir Set. Ieirea O1.1 este activat cnd intrarea I1.1 devine pentru prima oar
1 logic, fig.24.a. Schimbri ulterioare ale intrrii I1.1 nu mai influeneaz ieirea O1.1. Dac ieirea
O1.1 a fost dezactivat din alt parte a programului, la execuia urmtoare a acestei ramuri ieirea O1.1
poate fi activat din nou, dac intrarea I1.1 este 1 logic. Tipul de spir Reset este prezentat n fig. 23.
Acesta are efect invers, aa cum se vede din diagrama 24.b.

Fig. 22.

Fig. 23.
I1.1 - Condiie I1.1 - Condiie
1 logic 1 logic
0 logic 0 logic
timp timp
O1.1 - Execuie O1.1 - Execuie

a) b)

Fig. 24. Activarea ieirii O1.1 funcie de semnalul de intrare I1.1, n cazul unei comenzi
care se pstreaz: a) comand SET; b) comand RESET.

O comand care nu se pstreaz poate fi realizat cu dou comenzi care se pstreaz: SET i RESET,
dup cum se observ n figura 25. Efectul este cel din diagrama 26 i este identic cu cel al unei comenzi
care nu se pstreaz (cea din fig. 18).

Fig. 25

I1.1 - Condiie
1 logic
0 logic
timp
I1.1 negat - Condiie

O1.1 - Execuie

Fig. 26. Activarea i dezactivarea ieirii O1.1 funcie de semnalul de intrare I1.1, n cazul a
dou comenzi opuse care se pstreaz. Semnalul O1.1 este identic cu cel din fig. 6.18.

Operaia de salt
Comanda de salt apare n partea executiv a unei ramuri. Ea ofer posibilitatea de scurtare a timpului de
ciclu al unui program prin saltul peste instruciunile din program inutile la un moment dat, n decursul
aplicaiei. La urmtorul ciclu, instruciunile peste care s-a efectuat saltul pot fi executate, dac starea
sistemului automatizat o impune.

O comand de salt se insereaz n partea executiv a unei ramuri i conine o etichet (label) care
reprezint destinaia saltului, adic punctul din program de unde se execut urmtoarea instruciune.
Eticheta reprezint un ir oarecare de maxim 9 caractere alfanumerice, date de utilizator, i care trebuie s
nceap cu o liter. Nu se face diferen ntre litere mari i litere mici. Pentru a stabili destinaia unui salt,
eticheta trebuie inserat n ramura de interes, la nceputul prii condiionale. Dac exist o comand de
salt la o etichet anume, de exemplu motor3, i eticheta nu apare undeva n program, la nceputul prii
condiionale al unei ramuri, atunci se va semnala o eroare de sintax la compilarea programului.
O comand de salt n LDR arat ca n figura 27. Ea reprezint un salt condiionat, care se execut numai
dac partea condiional a ramurii este adevrat.
Fig. 27

Un salt necondiionat se realizeaz cu ajutorul operandului NOP, ca n figura 28.

Fig. 28.

Observaie: O comand de salt nu nlocuiete o spir (coil). Trebuie s existe cel puin o spir n fiecare
ramur. Dac se dorete doar un salt ca rezultat al unei condiii, trebuie utilizat un flag (care nu este util n
program) ca operand pentru spir.

Inserarea etichetei n partea condiional a unei ramuri se face ca n figura 29. Eticheta este motor3 i a
fost folosit mai sus la comanda de salt.

Fig.29.

Observaie: Utilizarea unei etichete n partea condiional a unei ramuri nu nlocuiete un contact. Trebuie
s existe cel puin un contact n partea condiional a fiecrei ramuri.

Operaia LOAD TO
LOAD TO este o operaie utilizat cu operanzi muti-bit (16 bii). Instruciunea LOAD ncarc n
acumulatorul MBA coninutul unui operand multi-bit. Din MBA se poate copia acel coninut n orice
operand multi-bit (mai puin la intrri) cu ajutorul instruciunii TO.
Caseta grafic LDR prezentat n figura 30 realizeaz automat cele dou instruciuni. Ea copiaz valoarea
constant 12 n memorie, la adresa FW5.

Fig. 30.

Aceeai comand se poate executa i cu o caset aritmetic/logic.

Operaii aritmetice
Casetele pentru operaii aritmetice fac parte din setul de casete pentru operaii binare multi-bit. Ele apar
ntotdeauna n partea executiv a unei ramuri. Casetele aritmetice acoper cele patru operaii de baz:
adunarea, scderea, nmulirea i mprirea. n figura 31 se d cte un exemplu de utilizare a celor patru
operaii de baz. Operanzii se introduc unul sub altul. n ultimul operand, al treilea, se ncarc rezultatul
operaiei aritmetice.
adunare

scdere

nmulire

mprire

Fig. 31. Exemple de casete de operaii aritmetice.

Aceleai operaii se mai pot efectua i cu o caset aritmetic/logic.

Alte operaii binare multi-bit


n afar de operaiile aritmetice mai exist disponibile urmtoarele operaii binare multi-bit:
- rotirea biilor spre dreapta (sau spre stnga): ROR (ROL);
- translatarea tuturor biilor spre dreapta (sau spre stnga): SHR (SHL);
- conversia unui numr din reprezentare binar n reprezentare BCD (Binar Codat Decimal): BID;
- conversia unui numr din reprezentare BCD n reprezentare binar: DEB;
- operaii logice bit cu bit ntre doi operanzi multi-bit: SI, SAU, SAU EXCLUSIV;
- schimbarea ntre ei a valorilor octeilor MSB i LSB ai unui operand multi-bit (16 bii): SWAP;
- complementul n baza doi al unui operand multi-bit: CPL;
- inversul, bit cu bit, al unui operand multi-bit: INV;

Fiecare din aceste operaii necesit doi operanzi multi-bit. Primul operand este sursa (asupra lui se
exercit funcia) iar al doilea este destinaie (n el se nregistraz rezultatul operaiei). C este aa se
observ din figura 32, unde se folosete operaia de rotire spre stnga cu un bit (ROL) a coninutului
operandului IW1. Rezultatul se nregistreaz n operandul FW3.
Sursa i destinaia pot fi reprezentate de acelai operand, cu condiia ca acesta s nu fie un cuvnt de
intrare (la intrri nu se poate scrie).

Fig. 32.

Toate aceste operaii sunt utile n rezolvarea eficient a unor probleme mai complexe de automatizare.

Operaii cu caseta aritmetic/logic (A/L)


Casetele A/L sunt folosite, la fel ca i cele de operaii multi-bit, numai n partea executiv a ramurilor. Ele
permit o programare coerent de operaii complexe care folosesc operanzi multi-bit. Pentru multe din
operaiile care se pot efectua cu casete A/L exist casete LDR speciale dar acestea realizeaz o singur
operaie (de exemplu adunarea a doi operanzi multi-bit).

Operaii de incrementare i decrementare


Se folosesc n partea executiv iar forma grafic de reprezentate LDR este o spir (coil). Operaia de
incrementare modific valoarea unui operand multi-bit cu + 1.
Operaia de decrementare modific valoarea unui operand multi-bit cu 1.
Se folosesc de obicei pentru actualizarea numrtoarelor dar se pot aplica oricrui operand multi-bit cu
excepia intrrilor. Figura 33 prezint operaia de incrementare a operandului FW5.

Fig. 33.

Comanda de incrementare se execut doar cnd


starea logic a prii condiionale trece din 0 Condiie
1 logic
logic n 1 logic, adic numai pe frontul
cresctor al semnalului Condiie. Figura 34 0 logic
arat modificrile operandului FW5 la un semnal timp
Valoare FW5
oarecare al prii condiionale. Se consider c la 2
3
nceput valoarea din FW5 este 0. 1

Fig. 34. Incrementare


Operaii de comparaie multi-bit
Permit comparaii cu rezultat logic (adevrat sau fals) ntre operanzi multi-bit. Sunt operaii de baz
pentru orice tip de automat programabil. Comparatorii multi-bit permit evaluarea relaiei dintre doi
operanzi (valori pe 16 bii), evaluarea numrtoarelor, comparaii ntre un operand i o valoare constant,
etc.
Exist 6 tipuri de comparaie ntre doi operanzi multi-bit :
- egal (=);
- mai mare(>);
- mai mare sau egal (>=);
- mai mic (<);
- mai mic sau egal (<=);
- diferit (<>);

Comparaiile multi-bit sunt reprezentate cu casete (box) i se folosesc n partea condiional a unei ramuri
LDR. n caset trebuiesc specificai doi operanzi. Valoarea lor este comparat conform tipului de caset
(=, >, >=, <, <=, <>) iar valoarea de adevr se transmite mai departe n partea condiional a ramurii.
Figura 35 prezint comparaia de egalitate ntre intrarea OW1 i registrul R2. Dac valorile lor sunt egale
atunci se va procesa comanda descris de Execuie.

Fig. 35

Un exemplu mai complex este dat n figura 36. Dac toate cele trei comparaii sunt adevrate, se
proceseaz comanda Execuie.

Fig. 36.

Observaie: Cu aceste casete se poate nlocui funcia NOP. De exemplu, relaia 1 > 0 este ntotdeauna
adevrat, putndu-se folosi n locul contactului cu operandul NOP.
CURS 4

PROGRAMAREA APLICAIILOR N LIMBAJUL


LADDER DIAGRAM (LDR).

1.Utilizarea temporizatoarelor n limbajul LDR .


Automatele programabile moderne au ncorporate funcii specializate pentru lucrul cu temporizatoare.
Numrul de module de temporizare care se pot folosi n acelai timp difer de la un automat programabil
la altul. Pentru FEC acestea sunt n numr de 256, numerotate de la 0 la 255.
Tehnologie.
Temporizatoarele sunt construite pe baza numrtoarelor, singura diferen fiind c acestea numr
impulsuri de ceas de ordinul milisecundelor. Baza de timp a ceasului intern (durata ntre dou mpulsuri)
este o caracteristic a fiecrui tip de AP. La unele automate ea poate fi aleas de utilizator din mai multe
opiuni, de exemplu: 10 ms, 100 ms sau 1 s. Pentru automatele FESTO, baza de timp este de 10
milisecunde (0,01 secunde).
Cnd se programeaz un temporizator, se ncarc un numr ntr-un operand de 16 bii numit Timer
Preselect (TP). Acest numr se decrementeaz la fiecare impuls de ceas. Cnd numrul ajunge la zero,
timpul programat a expirat. Aceast tehnic de msurare a timpului lucreaz foarte eficient i este larg
utilizat n construcia ceasurilor cu cuar. Un numrtor numr impulsuri electrice de la un cristal de
cuar. Tehnica este cunoscut ca msurare digital a timpului.

Eroare de msur.
Msurarea digital a timpului implic o eroare sistematic de msur. Eroarea poate fi de maxim o unitate
a bazei de timp. Ea apare datorit faptului c ceasul intern funcioneaz independent de programul
utilizatorului. Semnalul ceasului este folosit de temporizator dar pornirea ceasului se face nainte de
rularea primului program. Din aceast cauz pot apare situaii ca cea prezentat n figura 37, n care se
explic apariia unei erori de aproape o baz de timp.
Totii exist i un avantaj al acestei tehnici, i anume, toate temporizatoarele folosesc acelai semnal de
ceas i deci aceeai baz de timp.

Comanda de start
Decrementare
a temporizrii
Baz de timp cu 1 unitate
Utilizarea n program
de 1 secund a semnalului de sfrit
de temporizare.

Semnal de ceas

Timp

Semnal de ieire
al temporizatorului

Timpul msurat efectiv: 2s < t < 3s

Timpul dorit pt. temporizare: 3s

Fig. 37. Pornirea temporizatorului T1, setat pentru 3 baze de timp, i momentul dezactivrii acestuia funcie de
semnalul de ceas. Temporizatorul se decrementeaz la fiecare trecere din 1 logic n 0 logic a semnalului de ceas.
Limite de temporizare.
Cel mai mic timp care poate fi msurat este de 2 pulsuri de ceas. Eroarea maxim la aceast temporizare
poate fi de 50%. O temporizare de 1 puls ar putea provoca o eroare de 100% i de aceea nu este permis
la unele automate programabile.
Cea mai mare temporizare care se poate obine cu un singur temporizator depinde de mrimea n octei a
operandului n care se ncarc numrul de impulsuri ce trebuie numrate. Pentru un operand de 16 bii (2
octei), numrul maxim reprezentat n baza doi este 65535. La o baz de timp de 0.01s aceasta nseamn
655 de secunde, adic aproximativ 10 minute.

La automatele programabile FESTO, un temporizator poate


msura intervale de timp ntre 0,02 secunde i 655 secunde.

Temporizri mai mari se pot realiza utiliznd tehnica n cascad. Pentru aceasta se folosesc mpreun un
numrtor i un temporizator. n acest caz temporizarea maxim este de 65535 x 655 secunde adic
aproximativ 496 zile.

Componentele unui temporizator.


Un temporizator este o structur de date care lucreaz ca un tot unitar. Aceast structur trebuie s conin
minim trei operanzi. Referindu-ne la timerul n, acetia sunt:
1) Tn Timer Status este un operand de un bit (SBO) care reprezint starea timer-ului. Acest
operand poate fi interogat n orice moment pentru valoarea sa logic. De asemenea el poate fi activat
i dezactivat cu operaiile SET respectiv RESET.
2) TPn Timer Preselect este un operand multibit (MBO) de un word (16 bii) care reprezint
valoarea setat de utilizator n uniti de intervale de timp. Activarea sau dezactivarea
temporizatorului Tn nu are influen asupra operandului TPn. Setarea unei valori n TPn se face
explicit cu o instruciune de ncrcare.
3) TWn Timer Word este un operand multibit (MBO) de un word (16 bii) care reprezint valoarea
curent a timer-ului. Acest operand nu conine un numr stabil. La activarea temporizatorului
valoarea TPn se ncarc automat n TWn. Acest numr va fi apoi decrementat (tot automat) la fiecare
impuls de ceas. Cnd TWn ajunge la zero timpul a expirat.
ntr-un program, temporizatoarele trebuie s fie pornite i interogate:
- Pornirea unui temporizator n limbajul LDR se face cu ajutorul unei casete speciale, n partea
executiv a unei ramuri;
- Interogarea unui temporizator n limbajul LDR se face cu un contact obinuit n care operandul este
bitul de stare al temporizatorului, n partea condiional a unei ramuri.
Pentru toate tipurile de temporizatoare prezentate n continuare, caseta de pornire este activat la trecerea
din 0 logic n 1 logic a semnalului din partea condiional a ramurii n care aceasta s-a introdus.

Tipuri de temporizatoare.
Exist trei tipuri de temporizatoare, analog celor utilizate n industria electrotehnic ca relee de
temporizare: T, TON, TOFF.
1) Temporizatorul simplu, T. Se activeaz la trecerea din 0 logic n 1 logic a semnalului din partea
condiional a ramurii. Odat iniiat, temporizatorul msoar durata de timp prestabilit iar cnd aceasta a
expirat temporizatorul se dezactiveaz. Dac pe parcursul temporizrii n partea condiional apare un
nou front cresctor (din 0 logic n 1 logic) temporizatorul este reiniiat.
Funcionarea acestui tip de temporizator se poate observa i din figura 38.
Starea prii condiionale

0
Bitul de stare al temporizatorului, T

0
t

Din acest punct


temporizatorul
Condiia este Dup ultimul front este gata pentru
ndeplinit (frontul Aici condiia este o nou
cresctor al
cresctor). ndeplinit din nou.
condiiei aceasta nu temporizare.
Temporizatorul este Temporizatorul
s-a mai dezactivat.
activat (T = 1) i n rmne activ (T = 1)
Timpul msurat a
acest moment TP se dar este reiniializat
expirat (TW = 0) i
ncarc n TW. Dup (TP este rencrcat n
temporizatorul s-a
ncrcare TW va fi TW). Timpul este
auto-dezactivat. De
decrementat la msurat de la
aici el va rmne
fiecare impuls de nceput.
inactiv (T = 0).
ceas.

Fig. 38. Funcionarea temporizatorului de tip T.

Temporizatorul T msoar intervalul de timp prestabilit att timp ct n partea condiional nu apare un
nou front cresctor. Bitul de stare T este 1 logic n timpul msurrii iar dup expirarea timpului devine
0 logic.

2) Temporizator cu ntrziere la anclanare, TON. Se activeaz la trecerea din 0 logic n 1 logic a


semnalului din partea condiional iar dup expirarea timpului, bitul de stare TON devine 1 logic.
Rmne 1 logic pn la trecerea dezactivarea semnalului din partea condiional. Dac timpul (t) nu a
expirat iar partea condiional se dezactiveaz (Condiie = 0 logic) atunci temporizatorul este reiniializat
iar bitul de stare TON rmne n aceeai stare (0 logic). Figura 39 exemplific toate combinaiile ntre
semnalul din partea condiional i starea temporizatorului de tip TON.

Starea prii condiionale

1 Bitul de stare al temporizatorului, TON

0
t
Condiia este Din acest punct
ndeplinit (frontul Dup ultimul front temporizatorul
cresctor). Aici condiia este cresctor al este gata pentru
Temporizatorul este ndeplinit din nou. condiiei aceasta nu o nou
activat (TON = 0) i n Temporizatorul s-a mai dezactivat. temporizare.
acest moment TP se rmne activ Timpul msurat a
ncarc n TW. Dup (TON = 0) dar este expirat (TW = 0) i
ncrcare TW va fi reiniializat (TP este temporizatorul s-a
decrementat la fiecare rencrcat n TW). auto-dezactivat. De
impuls de ceas. Timpul este msurat aici el va rmne
de la nceput. inactiv (TON = 1).

Fig. 39. Funcionarea temporizatorului de tip TON.


Temporizatorul TON msoar intervalul de timp prestabilit att timp ct partea condiional este activ
(1 logic). Bitul de stare TON este 0 logic n timpul msurrii iar dup expirarea timpului devine
(1 logic).

3) Temporizator cu ntrziere la declanare, TOFF, se activeaz la trecerea semnalului din partea


condiional din 0 logic n 1 logic(TOFF = 1 logic). La dezactivarea semnalului din partea
condiional (front descresctor) temporizatorul ncepe s msoare durata de timp prestabilit. n acest
timp bitul de stare TOFF rmne 1 logic. Dup expirarea timpului TOFF devine 0 logic. Dac timpul
nu a expirat dar partea condiional se activeaz (Condiie = 1 logic) atunci temporizatorul se va
reiniializa iar bitul TOFF va rmne setat (1 logic). Figura 40 exemplific toate combinaiile ntre
semnalul din partea condiional i starea temporizatorului de tip TOFF.

Starea prii condiionale

Bitul de stare al temporizatorului, TOFF


1

0
t
Din acest punct
Condiia este temporizatorul
ndeplinit (frontul Dup ultimul front
este gata pentru
cresctor). Aici condiia de ncepere a o nou
cresctor al condiiei
Temporizatorul este temporizrii este ndeplinit temporizare.
aceasta nu s-a mai
activat (TOFF = 1) (Condiie = 0).
dezactivat. Timpul msurat
i din acest moment Temporizatorul rmne activ
a expirat (TW = 0) i
TP se ncarc n TW. (TOFF = 1) dar ncepe
temporizatorul s-a auto-
n mod continuu. temporizarea (TW este
dezactivat. De aici el va
decrementat).
rmne inactiv (T = 0).

Fig. 40. Funcionarea temporizatorului de tip TOFF.

Temporizatorul TOFF msoar intervalul de timp prestabilit att timp ct partea condiional este
inactiv (0 logic). Bitul de stare TOFF este 1 logic n timpul msurrii iar dup expirarea timpului
devine (0 logic).

Exemple de programare cu temporizatoare TON, TOFF i T:

Exemplul 1. Un bec trebuie s se aprind dup ce un buton a fost apsat timp de 5 secunde. Becul trebuie
s se sting atunci cnd butonul este eliberat.

Temporizator
TON

Temporizator
TOFF.
Temporizator
T.

Exemplul 2. Un bec trebuie s se aprind atunci cnd un buton este apsat. Dup eliberarea butonului
becul trebuie s mai rmn aprins 5 secunde.

Temporizator
TON.

Temporizator
TOFF.

Temporizator
T.

Exemplul 3. Un bec trebuie s se aprind i s se sting la intervale de 1 secund atta timp ct este
apsat un buton.

Temporizator
TON.

Temporizator TOFF.
Temporizator
T.

n figura 41 se arat o alt rezolvare a exerciiului 3 n care se folosete o caset de comparaie pentru
operandul TW al temporizatorului, T, utilizat. Se temporizeaz n continuu un interval de timp de 2
secunde. La mijlocul acestui interval, starea becului este comutat conform condiiei n care apare caseta
de comparaie.

Fig. 41. Temporizator T cu comparaie pentru operandul TW.

2.Utilizarea numrtoarelor n limbajul LDR .

Limbajul LDR implementat pe automatele FESTO poate utiliza dou tipuri de numrtoare: incrementale
i decrementale. Pentru FEC sunt disponibile 256 de numrtoare, numerotate de la 0 la 255.
Numrtoarele, n general, trebuie s asigure urmtoarele funciuni:
- s numere impulsuri i s memoreze rezultatul n propria memorie (valoarea curent);
- s ofere posibilitatea, la orice moment de timp, de scriere n valoarea curent a unei valori iniiale
(resetare);
- s aib o memorie proprie pentru valoarea prestabilit (maxim) de impulsuri care trebuie numrate;
- s poat fi interogat (din punct de vedere logic) dac a atins sau nu a atins numrul de impulsuri
prestabilit, pentru a folosi rezultatul n alte operaii logice.

Pentru ndeplinirea acestor funcii, numrtoarele automatelor programabile sunt formate din mai multi
operanzi care lucreaz mpreun ca un tot unitar. n automatele FESTO, numrtoarele sunt structuri de
date formate din trei operanzi. Pentru cazul general al unui numrtor oarecare cu numrul n, acetia sunt:
Cn Counter Status;
CPn Counter Preselect;
CWn Counter Word.

Cn Counter Status este un operand de un bit (SBO) n care se memoreaz starea numrtorului.
Operandul Cn poate fi interogat n orice parte condiional a programului.
CPn Counter Preselect este un operand multibit (MBO) de un cuvnt n care se ncarc valoarea
setat (prestabilit) de utilizator. Acest operand rmne neschimbat n timpul numrrii. Schimbarea
valorii CPn se efectueaz o singur dat, la iniializare. Operandul CPn poate fi iniializat cu o valoare
constant sau cu valoarea coninut n orice alt operand multibit (IWn, FWn, etc.). n cazul valorilor
constante, limitele de variaie ale acestora pot fi:
V0 V65535, ntreg zecimal de 16 bii, fr semn;
V 32268 V32267, ntreg zecimal de 16 bii, cu semn;
V$0000V$FFFF, ntreg reprezentat n baza 16 (hexazecimal);
CWn Counter Word este un operand multibit (MBO) de un cuvnt n care se gsete valoarea
curent a numrtorului.
Utilizarea numrtoarelor.
nainte de utilizarea unui numrtor acesta trebuie iniializat. n LDR, iniializarea se face cu o caset
special n care se introduc doi operanzi: adresa numrtorului i valoarea prestabilit, fig. 42

Fig. 42 Caseta de iniializare a unui numrtor.

Activarea numrtoarelor se face cu o comand SET, de spir, fig. 43. Pentru numrtoare incrementale,
la activare se ncarc valoarea 0 n CWn. Aceast operaie se efectueaz automat la activarea
numrtorului.

Fig. 43. Comanda de activarea unui numrtor.

De fiecare dat cnd se activeaz un numrtor, de exemplu numrtorul 2, se efectueaz urmtoarele


aciuni:
Valoarea operandului Counter Word, CW2, este ncrcat cu valoarea 0 (pentru numrtoare
incrementale);
Bitul Couter Status, C2, este setat la 1 logic.
Dac numrtorul C2 este deja activ i se reactiveaz atunci numrtorul este repornit prin ncrcarea
valorii 0 n CW2.

Numrtorul activat i meninea valoarea (C2 = 1 logic) pn la apariia uneia din situaiile de mai jos:
numrtorul se reseteaz cu o comand explicit, fig. 44;
dup incrementri succesive ale operandului CW2, acesta devine egal cu valoarea setat: CW2 =
CP2;
dup decrementri succesive ale operandului CW2, acesta devine 0.

Dup apariia oricreia din situaiile de mai sus numrtorul se dezactiveaz (Cn=0 logic).

Fig. 44. Comanda de dezactivare a unui numrtor.

Activarea unui numrtor decremental se face cu comanda LOAD TO n care valoarea prestabilit se
ncarc n operandul CW al numrtorului. Dup aceast operaie bitul de stare al numrtorului
decremental este setat automat n '1 logic', fig. 45.

Fig. 45. Activarea unui numrtor decremental. Iniializarea se face cu numrul constant 25.

Numrarea este o operaie care se realizeaz n partea executiv a unei ramuri i pentru care se folosesc
spirele speciale INC i DEC. Cnd se utilizeaz spira INC numrtorul este incrementat (+ 1), fig. 46.
Pentru DEC numrtorul este decrementat ( 1).
Fig. 46. Comanda de incrementare a unui numrtor.

IMPORTANT!
Ceea ce se numr este frontul cresctor al semnalului condiional (schimbarea din 0 n 1 logic) i nu
semnalul continuu.

Interogarea unui numrtor n partea condiional a unei ramuri se face simplu, cu ajutorul unui contact al
crui operand este bitul de stare al numrtorului, fig. 47.

Fig. 47.a Interogarea unui numrtor pentru 1 logic (numrtor activat).

Fig. 47.b Interogarea unui numrtor pentru 0 logic (numrtor dezactivat).

Exemple de utilizare a numrtoarelor.

Exemplul 1. Dup ce un numrtorul C0 numr 10 semnale la intrarea I0.3, trebuie s se aprind un bec.
Numrtorul poate fi activat cu un buton la intrarea I0.1. n figura 48 este prezentat programul pentru un
numrtor incremental. Pentru un numrtor decremental se folosete metoda prezentat n figura 49.

Fig. 48. Program LDR pentru numrtor incremental.

Prima ramur iniializeaz numrtorul, imediat dup pornirea programului. Aceasta este necesar, altfel
becul s-ar aprinde de la prima rulare a programului.
Fig. 49. Program LDR pentru numrtor decremental.

Exemplul 2. ntr-o parcare de maini exist doar 10 locuri. La intrarea n parcare exist un semnalizator
optic cu dou becuri: unul verde i unul rou. Becul verde trebuie s rmn aprins atta timp ct n
parcare mai sunt locuri libere. Becul rou se aprinde cnd parcarea este plin. Cele dou becuri nu pot fi
aprinse n acelai timp. Programul pentru acest exerciiu este prezentat n figura 50, senzorul de la intrarea
n parcare este conectat la intrarea I0.5 iar cel pentru ieire la intrarea I0.6.

Fig. 50. Program LDR pentru semnalizare n trafic c o parcare are sau nu are locurilor libere.
CURS 5

PROIECTAREA STRUCTURATA A APLICAIILOR


N LIMBAJUL LADDER DIAGRAM (LDR)
METODA BIILOR SECVENIALI

Tradiional, proiectarea unei aplicaii utiliznd LDR presupune o faz preliminar de


analiz a procesului/sistemului de controlat iar apoi scrierea programului/codului ntr-un
anumit mediu care s permit implementarea reelelor/diagramelor Ladder. Acest mod de
abordare scrierea codului fr o faz de proiectare structurat conduce obligatoriu la o
etap costisitoare/ndelungat de remediere a disfunciunilor. n mod paradoxal, timpul
alocat realizrii unei aplicaii printr-o proiectare structurat, corect, temeinic este mai
scurt dect timpul alocat printr-o proiectare superficial. O comparaie sugestiv este
realizat n Tabelul 1.

Tab.1 Analiz comparativ


Caz 1: Caz 2:
Fazele procesului de proiectare Analiz Proiectare
superficial structurat
Timp alocat fazei de proiectare 10% 40%
Timp alocat scrierii programului/codului 30% 10%
Timp alocat remedierii disfunciunilor i testelor 50% 10%
Timp alocat scrierii documentatiei 10% 10%
Timp total alocat conceperii aplicaiei T1* T2=0.7 T1
* toate evalurile procentuale sunt raportate la timpul T1

In general procesele industriale sunt secveniale, adic funcionarea/desfurarea lor


poate fi descris prin intermediul unor faze/stri care se succed funcie de anumite
condiii sau comenzi. Metodele utilizate pentru proiectarea logic structurat a
funciilor/strategiei de control sunt diverse iar aplicabilitatea lor este determinat de
complexitatea sistemului controlat. Cele mai populare tehnici de proiectare secvenial,
n ordinea complexitii proceselor ce pot fi soluionate, sunt: Metoda biilor secveniali
(procese simple), Diagramele de flux, Diagramele de stare, Reele Petri, Diagramele
functionale secveniale (procese complexe).

1
1. METODA BIILOR SECVENIALI (MBS)

Metoda se aplic n general proceselor secveniale simple cu faze i condiii funcionale


foarte clare. Principial metoda se bazeaz pe asignarea unor bii de memorie fiecrei
faze/stri importante a procesului, respectiv pe lansarea n execuie a fiecrei faze prin
activarea bitului de memorie corespunztor. Trecerea de la o faz la alta este determinat
de satisfacerea condiiilor funcionale ale procesului.

Etapele de lucru n aplicarea metodei de proiectare sunt:

nelegerea procesului se studiaz i se analizeaz amnunit sistemul sau procesul


controlat;
Identificarea fazelor procesului se identific clar etapele/fazele de funcionare ale
procesului (dou faze succesive sunt separate printr-o condiie de trecere);
Identificarea condiiilor funcionale se identific clar condiiile necesare lansrii
n execuie a fiecrei faze a procesului (ex: condiiile de trecere de la o faz la alta) ;
Asignarea biilor secveniali fiecrei faze i se asociaz un bit (o unitate de
memorie);
Scrierea programului utiliznd diagramele Ladder se implementeaz fazele
procesului, respectiv modul (funciile) de trecere de la o faz la alta n ordinea mpus
de process;
Verificarea, testarea programului se ruleaz/testeaz aplicaia n toate situaiile de
funcionare prevzute n tema de proiectare. Se implementeaz msuri suplimentare
de securitate a aplicaiei (dac este cazul).

Descrierea Metodei

n cazul proceselor foarte clare (simple) n care fazele procesului sunt iniiate prin
intermediul condiiilor funcionale, respectiv condiiiile de lansare a fazelor sunt toate
diferite ntre ele, structura algoritmului/diagramei de control este exemplificat
conceptual n figura urmtoare:

Partea condiional Partea executiv


Iniierea
-----------Conditii Iniializare--------------------Iniializare procesului

-----------Conditie 1---------------------------------Faza 1
Execuia
-----------Conditie 2---------------------------------Faza 2 fazelor
procesului
.
.
-----------Conditie N--------------------------------Faza N

Fig.1 Structura aplicaiilor simple

2
Dac condiiile funcionale se suprapun atunci apare necesitatea condiionrii
suplimentare a fazelor procesului. Diagrama anterioar se modific conform figurii 2.

Partea Condiional Partea Executiv

Bit Initializare (condiie)


-----------| |---------------------------------------------|------( S ) Step Init
|
------( R ) Step 0,1,2(N-1)

Iniializare Proces
Step Init
---------- | |-------Conditie S Reset-----------------|------( S ) Step 0
|
------( R ) Step Init
Step 0
---------- | |-------Conditie F Reset-----------------|------( S ) Step N
|
------( R ) Step 0

Step N

Comutarea secvenial a Fazelor Procesului


-----------| |-------------Condiie 1------------------|------( S ) Step 1
|
------( R ) Step N
Step 1
-----------| |-------------Condiie 2------------------|------( S ) Step 2
|
------( R ) Step 1
Step 2
-----------| |-------------Condiie 3------------------|------( S ) Step 3
|
------( R ) Step 2
.
. Step (N-1)
-----------| |-------------Condiie N------------------|------( S ) Step N
|
------( R ) Step (N-1)

Step 0
-----------| |---------------------------------------------- Faza Reset
Exexuia Fazelor Procesului

Step 1
-----------| |---------------------------------------------- Faza 1
Step 2
-----------| |---------------------------------------------- Faza 2
Step 3
-----------| |---------------------------------------------- Faza 3
.
. Step N
-----------| |---------------------------------------------- Faza N

Fig.2 Structura aplicaiilor dezvoltate prin MBS

3
Interpretarea diagramei (Fig.2):

Condiiile logice corespunztoare prii Condiionale (funcii logice) sunt evaluate i n


funcie de valoarea de adevr a rezultatului operaiei logice se execut sau nu
aciunile/funciile coninute de partea executiv a diagramelor. Numai dac rezultatul
operaiei logice este 1 (logic) se execut aciunea corespunztore din partea executiv a
diagramei.

Condiia Iniializare se asigur prin utilizarea biilor speciali de memorie pui la


dispoziie n majoritatea mediilor de dezvoltare a aplicaiilor Ladder.(ex: pt. PLC-urile
Festo/Beck bitul FI este 1 logic la prima scanare iar apoi devine 0 logic).

In etapa de iniializare a procesului (zona I) se execut operaii de resetare a memoriei


utilizate, se ncarc anumite constante predefinite n regitri sau uniti de memorie
(iniiere temporizatoare, numrtoare ...), se execut eventual functii de resetare a
mainii/procesului n scopul readucerii sistemului n poziia de start.
Condiie S Reset = Condiie de start a procesului de reset; Condiie F Reset= Condiie
final, de identificare a rezultatelor operaiei de reset.

Ordinea derulrii fazelor procesului este stabilit/generat prin intermediul zonei II a


diagramei ,,Comutarea Secvenial Fazelor Procesului. Aceast zon (prin intermediul
acestei succesiuni set, reset a bitilor Step 1,..., Step N) asigur activarea secvenial a
funciilor faza 1, faza 2,.., faza N. Coninutul fazelor este dezvoltat n acelai limbaj (sau
altul) sub forma subprogramelor, procedurilor sau funciilor.

Executarea fazelor se realizeaz n zona III prin intermediul biilor de memorie asociai
Step1, Step 2,, Step N: Condiia 1 determin lansarea/acionarea fazei 1, condiia 2
determin lansarea n execuie a fazei 2,.., condiia N determin lansarea n execuie a
fazei N.

n plus fa de elmentele structurale incluse de fig. 2, pot s existe i alte condiii


suplimentare(speciale) care s trateze anumite erori sau care s introduc anumite
proceduri/moduri speciale de funcionare a masinii (procesului). In aceast situaie
trebuie resetai biii STEP 1,, STEP N, pentru a nu intra maina/procesul n dou
moduri paralele de funionare (pentru a nu aprea conflicte).

IMP: Orice aplicaie trebuie s fie prevzut cu un buton (hard) de urgent


(ciuperca/butonul rou/EMERGENCY) care s permit decuplarea fizic a prii de for
atunci cnd situaia o cere. Adic tot ceea ce poate deteriora instalaia
(motor/echipament) trebuie s poat fi oprit/decuplat prin intermediul unui singur buton.
Asta nu exclude i tratarea prin software a erorilor.

OBS: toate condiiile i funciile/fazele incadrate ntr-un dreptunghi trebuie dezvoltate


pentru fiecare aplicaie n parte de programator:

4
Condiiile reprezint datele/informaia de la senzorii procesului care permit/impun
trecerea la faza urmtore din proces (pot fi comenzi sau date din process furnizate sub
forma funciilor logice). O condiie este evaluat intotdeauna ca fiind sau adevrat sau
fals (0 logic sau 1 logic);

Fazele reprezint aciunile care sunt determinate de o anumit condiie n proces: poate
semnifica pornirea unui motor, lansarea unui proces de temporizare,.., lansarea unei
subrutine simple sau complexe.

Aceast metod poate fi aplicat extrem de uor dac procesul a fost divizat iniial n faze
sau etape secveniale de funcionare care sunt lansate/activate de anumite condiii logice.
Acest lucru nseamn construirea anticipat a unor diagrame de funcionare sau altfel
spus construirea programului plecnd de la diagrama de functionare asociat
procesului/mainii.

Exemplu de diagram funcional sau diagram de funcionare (ciclogram): descrie un


proces n care la apsarea butonului Start se lanseaz n micare 3 motoare liniare
conform diagramei din figura 3.

BStart (s11,s21,s31)

0 1 2 3 4 5 6 7=0
s12

R A 1
0 1 em11
M1
1 0 em12
0
T1 s11
s22

R A 1
0 1 em21
M2
1 0 em22
0 T2
s21 s21
s32 s32

1
R A M3
0 1 em3
0
s31 s31 s31

Fig. 3 Diagram funcional

unde: M1, M2, M3 sunt motoare liniare pneumatice (cilindri);


em11,.., em3 electromagnetii de comand ai distribuitoarelor pneumatice
A, R starea motorului (micare de avans/retragere) corespunztoare unor
comenzi pe electromagnei
s11,.., s32 senzori magnetici pentru sesizarea poziiei pistonului motorului.
T1, T2 temporizatoare
Bstart buton START
Bstop buton STOP (nu e prins in diagram, oprete aplicaia)

5
Interpretare: la apsarea butonului START (Bstart=1) i dac senzorii s11, s21, s31
furnizeaz 1 logic (condiia 0) [adic dac toate motoarele au pistoanele retrase (operaie
realizat n faza de iniiere a procesului)] atunci motorul M1 intr n micare de avans
(faza 0). Cnd M1 a atins senzorul s12, iar s21=1, s31=1 (condiia 1) atunci se
declanseaz faza 1: M1 se opreste, M2 intr n micare de avans. Condiia 2 (S12=1,
s22=1 i s31=1) oprete M2 i lanseaz M3 (adic faza 2). Mai departe se detaliaz
succint:
Condiia 3 (s12=1, s22=1, s32=1) determin lansarea/activarea fazei 3 (temporizare T2
pe motor M3, [T2=1])
Condiia 4 (terminarea procesului de temporizare [T2=0] i s12=1, s22=1, s32=1)
lanseaz faza 4 (retragerea motorului M3)
Condiia 5 (S12=1, s22=1 i s31=1) lanseaz faza 5 (lansare temporizare T1 pentruM2)
Condiia 6 (terminarea procesului de temporizare [T1=0] i S12=1, s22=1 , s31=1)
lanseaz faza 6 (retragere M1 i M2)
Condiia 7 (s11=1, s21=1, s31=1 ) e echivalent cu Conditia 0 astfel c o nou apsare a
butonului Bstart conduce la un nou ciclu funcional.

Se observ clar c ntr-o diagram funcional liniile verticale reprezint conditiile de


trecere de la o faz la alta ntr-un proces. Fazele se dezvolt prin intermediul funciilor
sau subprogramelor n baza resurselor pe care le pune la dispoziie fiecare mediu de
dezvoltare.

Aceste detalieri se refer la faza de concepie/proiectare structurat a aplicaiilor


LDR printr-o metod simpl (metoda biilor secveniali) ce poate rezolva aplicaii
de complexitate medie i chiar ridicat. Acest tip de abordare presupune detalierea
procesului n faze/etape i condiii sub forma diagramelor funcionale sau o detaliere
conceptual (n mintea programatorului). Aplicat strict (metodic) n acest form
se asigur/garanteaz rezultatele scontate fr utilizarea intens a intelectului,
respectiv se asigur o form clar de prezentare a fazelor proceselor/aplicaiilor
astfel nct orice modificare sau depanare s poat fi fcut cu usurin. Experiena
conduce la simplificarea, interferena sau unificarea celor trei componente
structurale ale unei aplicaii: iniializare, comutare secvenial a fazelor, lansare
faze. Exist desigur mici secrete/tertipuri n tratarea timer-elor sau counter-elor care
nu sunt tratate in acest document, ... ns este surprins o filozofie generic de
proiectare structurat care aplicat mecanic nu d gre i nu uzeaz intelectul.

6
ANEXA 1 Notiuni importante n programarea aplicaiilor

n funcionarea PLC-urilor se disting ca elemente specifice pentru aceste tipuri de structuri, 2


noiuni extrem de importante pentru nelegerea modului de funcionare, respectiv de programare
a acestora: procesarea ciclic i imaginea de proces.

Procesarea ciclic presupune parcurgerea programului ,,linie cu linie i, dup prelucrarea ultimei
instruciuni, reluarea prelucrrii de la nceput (Fig.4). Rularea ciclic a programului va continua
pn la comanda de oprire.

Imaginea de proces este o zon a memoriei n care este nregistrat configuraia intrrilor la
nceputul ciclului i n care se actualizeaz configuraia ieirilor pe parcursul rulrii unui ciclu.

Aceste mod de funcionare presupune:


INTRARI
- nainte de procesarea primei linii de program,
Tabela de imagine starea (valoarea) tuturor intrrilor/operanzilor
a intrarilor va fi nregistrat ntr-o tabel imagine a
intrrilor (memorie);
- coninutul imaginii de proces a intrrilor nu
se va modifica pe toat durata unui ciclu chiar
dac unele intrri se modific;
Program PLC - pe parcursul unui ciclu programul va accesa
aceast memorie pentru citirea
intrrilor/operanzilor;
- pe msur ce ruleaz programul (linie cu
IESIRI linie), n tabela imagine a ieirilor se
Tabela de imagine nregistreaz starea (valoarea) ieirilor;
a iesirilor - doar la sfritul ciclului (ultimei linii)
configuraia ieirilor se va actualiza/modifica
simultan n acord cu valorile furnizate de
memoria imagine de proces;
Fig. 4 Modul de funcionare al unui PLC - un nou ciclu va presupune o nou nregistrare
a strii intrrilor/operanzilor n memoria
imagine i un nou proces de actualizare a ieirilor cu execuie la sfritul ciclului.

Un ciclu poate dura cteva milisecunde: ex. pentru unitile Siemens S7-300 durata
minim a unui ciclu este 20 ms, nu se poate cobor sub acest valoare (asta nseamn c
cei ce controleaz micarea la precizii nalte folosesc alte soluii care s permit perioade
de eanionare sub 10 ms).

Altfel spus, acest mod de funcionare al PLC-urilor nseamn citirea intrrilor/operanzilor


respectiv actualizarea ieirilor/operanzilor din 30 n 30 de ms sau mai mult din 100 n 100
de ms funcie de complexitatea aplicaiei i calitatea PLC-ului. Faptul c ieirile se
actualizeaz doar la sfritul unui ciclu (30 ms) conduce la interpretarea (percepia
programatorului) c toate liniile/firele de execuie se proceseaz n paralel ceea ce
contrasteaz cu interpretarea convenional de procesare linie cu linie a unui program.
Acesta este i motivul pentru care prin fel de fel de artificii (ex. biii secveniali) se
ncearc activarea doar a unei funcii/linii i blocarea celorlalte atunci cnd se execut o
sarcin.

7
Nenelegerea acestor noiuni, a acestui mod de funcionare a majoritii PLC-urilor
conduce la conceperea defectuoas a aplicaiilor, la interpretri greite, la timp
irosit.

Operanzii sunt identificatori ai resurselor sistemului (intrri, ieiri, temporizatoare, numrtoare,


memorii ) care pot fi interogate i manipulate prin instruciunile programului. n funcie de
dimensiunea lor se deosebesc:
operanzi de un bit (SBO single bit operands)
coninutul informaional este reprezentat pe un singur bit;
pot fi evaluai ca adevrai (1 logic) sau fali (0 logic);
starea lor logic poate fi modificat prin instruciuni specifice;
n timpul interogrii sau modificrii strii lor logice, operanzii sunt ncrcai ntr-un registru
special al procesorului numit acumulator de un bit (SBA single bit accumulator).
operanzi multibit (MBO multibit operands)
coninutul informaional este reprezentat pe mai muli bii, de regul pe un octet (byte = 8
bii) sau cuvnt (word = 16 bii);
valoarea lor poate fi testat prin comparare cu alte valori constante sau cu ali operanzi
multibit;
pot fi incrementai sau decrementai;
n timpul interogrii i modificrii, operanzii multibit sunt ncrcai ntr-un registru special
al procesorului numit acumulator multibit (MBA multibit accumulator).
n tabelul 1 i 2 sunt detaliai operanzii specifici PLC-urilor. Sintaxa difer de la furnizor la
furnizor. Exemplificrile din tabele corespund PLC-urilor Festo i Beck.

Tabelul.1 Operanzi SBO

Operand Identificator Sintaxa1 Utilizare2


Intrare
I In.m C
(Input)
Ieire
O On.m C, E
(Output)
Bit de memorie
F Fn.m C, E
(Flag)
Temporizator
T Tn C, E
(Timer)
Numrtor
C Cn C, E
(Counter)
Program
P Pn C, E
(Program)
Tabelul 2 Operanzi MBO

Identifi-
Operand Sintaxa Utilizare
cator
Cuvnt de Intrare IW IWn C

1
n numr natural, identificator al resurselor pentru un tip de operand (ex: I1, I2,);
m numr natural, identificator al bitului informaional vizat (ex: I1.1, I1.2, I1.3,...).
2
C partea condiional a unei structuri elementare de programare;
E partea executiv a unei structuri elementare de programare.

8
(Input Word)
Cuvnt de Ieire
OW OWn C, E
(Output Word)
Cuvnt de Memorie
FW FWn C, E
(Flag Word)
Unitate Funcional
FU FUn C, E
(Function Unit)
Cuvntul (valoarea)
unui Temporizator TW TWn C, E
(Timer Word)
Cuvntul Prestabilit
al unui Temporizator TP TPn C, E
(Timer Preselect)
Cuvntul (valoarea)
unui Numrtor CW CWn C, E
(Counter Word)
Cuvntul Prestabilit
al unui Numrtor CP CPn C, E
(Counter Word)
Registru
R Rn C, E
(Register)

Operatorii unui limbaj permit modificarea valorii logice sau numerice a operanzilor.

9
CURS 6

Programarea structurat Reprezentarea GRAFCET

Denumirea prescurtat GRAFCET provine de la "Graphe de Commande Etape-Transition din


limba francez i este un mod de reprezentare i de analiz a fluxului proceselor industriale.
GRAFCET prezint mai multe avantaje n raport cu celelalte tehnici de reprezentare:

este independent de tehnologia in care se implementeaz logica (algoritmul) secvenial


(cablat, programat);
caietul de sarcini se reprezint clar i precis;
permite evoluia simultan (paralel) a mai multor secvene de stri;
permite efectuarea seleciei de secvene de stri;
un numr mare de variabile de intrare ale automatului secvential nu ridic dificulti n
reprezentarea evoluiei automatului;

n reprezentarea evoluiei proceselor, GRAFCET-uI se bazeaz pe noiunile de etap i de


tranziie. Un automat secvenial evolueaz parcurgnd o succesiune de etape, evoluia de la o
etap la alta realizndu-se printr-o tranziie care se produce atunci cnd o condiie logic
asociat acesteia (receptivitate) este indeplinit. Etapelor le corespund una sau mai multe
aciuni.

Aadar, n GRAFCET, o aplicaie secvenial se reprezint cu ajutorul ,,etapelor" crora le


corespund ,,aciuni", legate ntre ele prin ,,tranziii" crora le corespund receptiviti" (fig. 1).

O ,,etap se reprezint printr-un ptrat numerotat i reprezint o stare particular a automatului


la un anumit moment dat al ciclului su de funcionare. Etapa care corespunde strii in care se
afl sistemul la un moment de timp t se numete etap activ. Dac se dorete indicarea
faptului c etapa este ,,activ la un moment de timp t, atunci se deseneaz un punct sub
numrul din interiorul ptratului. O stare dat a automatului secvenial poate fi constituit din
mai multe etape care sunt active simultan.

Fig.1
O etap iniial activ se reprezint printr-un ptrat desenat cu linie dubl. Etapa iniial activ
este etapa care se activeaz in momentul iniializrii sistemului automat. Un GRAFCET poate
conine mai multe etape iniiale.

O aciune asociat unei etape se reprezint printr-un ptrat desenat la dreapta etapei i este
legat de etapa corespunztoare printr-o linie orizontal. Fiecrei etape i se pot asocia una sau
mai multe aciuni. Este posibil ca unei etape s nu ii fie asociat nici o aciune, sau ca o aciune
s fie asociat mai multor etape.

O legtur orientat se reprezint printr-o linie vertical care leag etapele intre ele. Legturile
orientate stabilesc ordinea activrii etapelor. Sensul normal de evoluie este de sus in jos.

O tranziie dintre dou etape se reprezint printr-o bar perpendicular pe legtura orientat
corespunztoare. Legtura dintre dou etape conine numai o singur tranziie. Tranziia
permite evoluia GRAFCET dinspre etapa precedent ctre etapa urmtoare.

Receptivitatea asociat unei tranziii se scrie la dreapta barei care reprezint tranziia.
Receptivitile sunt asociate tranziiilor tot aa cum actiunile sunt asociate etapelor.
Receptivitiile sunt propoziii logice al cror rezultat nu poate fi dect adevrat sau fals. Pe
lng nivelurile logice care se ataeaz strilor stabile, mai putem avea strile tranzitorii ce
reprezint trecerea de la un nivel la altul i care se numesc eveniment.

GRAFCET-uI prezentat ca exemplu in figura 2 conine numai o secven de etape in bucl


inchis. Este cel mai simplu GRAFCET i se numete GRAFCET liniar.

Fig.2

n continuare se vor examina situatiile mai complicate ce apar la GRAFCET, cum ar fi evoluia
secvenelor paralele i efectuarea selectiei secvenelor.
Secvene paralele

Evoluiile paralele care sunt frecvente la automatele secveniale, impun apariia in GRAFCET a
secvenelor paralele sau a secvenelor simultane (figura 3). Secventele paralele evolueaz
independent unele de celelalte pn atunci cnd toate etapele finale ale secventelor paralele
devin active simultan (ceea ce se produce de obicei dup o ateptare reciproc). Apoi evoluia
GRAFCET-ului poate continua pe o secvent unic prin declanarea simultan a unei aceleiai
tranziii.

Fig. 3

nceputul i sfritul secvenelor paralele din GRAFCET se reprezint cu ajutorul a dou linii
paralele. Dac etapa 1 este activ i receptivitatea a devine adevrat, atunci etapele 2 i 3 vor
fi activate simultan iar etapa 1 se dezactiveaz. Atunci cnd receptivitatea b devine adevrat,
etapa 4 a secvenei din dreapta se activeaz i se dezactiveaz etapa 3 . Etapele 2 i 4 sunt
active simultan dup o ateptare de ctre etapa 2 a activrii etapei 4. La momentul cnd
receptivitatea c devine adevirat etapa 5 se activeaz i se dezactiveaz etapele 2 i 4.

IMPORTANT: Mai multe secvene paralele incep i se termin totdeauna cu o receptivitate


unic. Receptivitatea unic care finalizeaz secvenele paralele poate fi intetpretat ca fiind
produsul logic al receptivitilor individuale de la sfiritul secvenelor paralele.

Selectarea secvenelor

Atunci cnd evoluia ntr-un GRAFCET, pornind de la o etap, poate fi efectuat alegnd intre
mai multe secvene care debuteaz prin tranziii ale cror receptiviti sunt exclusive, se spune
c avem de-a face cu o selectare a secvenelor.
Fig. 4 Fig. 5

Spre exemplu (fig. 4), atunci cnd etapa 1 este activ, GRAFCET-uI va evolua pe secvena din
partea stng a GRAFCET-ului dac receptivitatea a este indeplinit (etapele 2I, 22, etc.), va
evolua pe secvena din centru dac receptivitatea b este indeplinit sau pe cea din dreapta,
daca este indeplinita receptivitatea c. De asemenea este posibil o selectare a secvenelor prin
care va evolua un grafcet pornind din mai multe etape. n grafcet-ul prezentat ca exemplu in
figura 5 dac etapele 1 i 2 devin active simultan sistemul va evolua prin etapa 3 dac a este
adevlrat sau va evolua prin etapa 4 dac b este adevrat.

Pentru ca mai multe secvene dintr-un GRAFCET s aib asigurat exclusivitatea evoluiilor
este necesar s ne asigurm c toate receptivitiile asociate tranziiilor prin care debuteaz
secvenele nu pot fi indeplinite in acelai timp. Caracterul exclusiv al evoluiei secvenelor se
poate obine pe dou ci: datorit incompatibilitii fizice a diferitelor elemente componente ale
sistemului automat existente in timpul evoluiei (contacte separate, parametri diferii, etc.) care
nu pot indeplini tranziiile simultan sau datorit unei incompatibiliti logice obinute prin modul
de scriere a expresiilor receptivitilor.

Figura 6: dac a=0, b=0, nici o tranziie nu este declanat;


dac a=1, b=0 atunci sistemul evolueaz in etapa 2 care se activeaz i se
dezactiveaz etapa 1 ;
dac a=0, b=1, atunci sistemul evolueaz in etapa 3 care se activeaz i se
dezactiveaz etapa 1 ;
dac a=1, b=1 sistemul evolueaz in etapa 2 care se activeaz i se dezactiveaz
etapa 1 .

Se constat c etapa 2 devine prioritar in evolutia GRAFCET-ului in cazul in care cele dou
variabile logice a i b devin 1 logic simultan. Selectarea secvenelor prezint dou cazuri
particulare care apar frecvent in descrierea evoluiei sistemelor logice secveniale:

1.Saltul peste etape permite neefectuarea unui anumit numr de etape dintr-o secven. n
exemplul prezentat in figura 7, sistemul secvenial evolueaz din etapa 1 direct in etapa 4 dac
receptivitatea a b este indeplinit (a b=1) i evolueaz normal din etapa 1 ctre etapa 2 dac
a=0, b=1 (a b=0, Na b = 1) .
Fig. 6 Fig. 7

2.Reluarea ciclic a etapelor permite parcurgerea de mai multe ori a aceluiai ciclu de etape in
scopul ateptrii indeplinirii unei condiii logice. n exemplul prezentat in figura 8, pornind din
etapa 3 sistemul va parcurge repetat secvena etapelor 2 Si 3, dac Na b =1. n momentul in
care condiia ab va fi ndeplinit adic ab=1, se va activa etapa 4 i reluarea ciclic a etapelor 2
i 3 inceteaz.

Reuniunea mai multor secvene de etape care pot apare in structura unui GRAFCET se va
descrie astfel inct fiecare secven se finalizeaz cu propria sa receptivitate. n exemplul
prezentat in figura 9 sistemul va permite activarea etapei 5 dac: etapa 3 fiind activ,
receptivitatea c devine adevrat sau etapa 4 fiind activ, receptivitatea d devine adevrat.

Fig. 8 Fig. 9
Reguli de evoluie

Constituirea corect a unui GRAFCET impune aplicarea unor reguli fundamentale care se
prezint n continuare.

Regul de sintax: alternana etap-tranziie.


Alternana etapelor i tranziiilor trebuie s fie respectat n orice secven din oricare
GRAFCET; dou etape nu se vor lega niciodat direct una dup cealalt i, de asemenea, dou
tranziii nu vor urma niciodat una dup cealalt fr ca ntre ele s existe cel puin o etap.

Reguli de evoluie.

Regula 1. Situaia inilial.


O situaie iniial se caracterizeaz prin aceea c la demararea funcionrii automate (la
iniializare) un anumit numr de etape sunt active. Etapa sau etapele iniial active se reprezint
cu ajutorul unui ptrat cu chenar dublu. Ieirile asociate acestor stri reprezint aciunile iniiale
ale sistemului automat.

Regula 2- Declanarea unei tranziii.


Tranziia dintre etape este validat atunci cnd toate etapele de intrare (precedente din amonte)
sunt active. Tranziia va fi declanat (se va produce) dac este validat i dac receptivitatea
asociat tranziiei are valoarea 1 logic (este adevrat). Declanarea tranziiei devine imediat
i obligatorie.

Regula 3. Evoluiile etapelor active.


Declanarea unei tranziii conduce la activarea tuturor etapelor imediat urmtoare i la
dezactivarea tuturor etapelor precedente.

Exemplu de aplicare a regulilor 2 i 3.


n figura 10 tranziia este nevalidat (etapa2 este inactiv).
n figura 11 tranziia este validat (etapele1 i 2 sunt active).

Fig. 10 Fig. 11
Fig. 12 Fig. 13

n figura 12 tranzitia este declanabil, etapele 1 i 2 sunt active i receptivitatea ataat


tranziiei este adevrat. n figura 13 tranzitia este declanat (etapa 3 a devenit activ i
etapele 1 i 2 au devenit inactive).

Regula 4. Evoluii simultane.


Mai multe tranziii declanabile simultan vor fi declanate simultan. Aceast regul este util
mai ales in situaiile cnd se dorete descompunerea unui GRAFCET in mai multe sub-
GRAFCET-uri independente.

Aciuni particulare

n cadrul analizei aciunilor asociate unei etape se face distincia dintre durata ct este activ o
etap i durata ct este activ aciunea asociat etapei respective. Se folosete notaia Xi
pentru etapa din GRAFCET care reprezint starea i, conform exemplului urmtor:
X3 = 1 dac etapa 3 este activ i 3 =1 sau X3 = 0 dac etapa 3 este inactiv.

Aciune continu

Aciunea particular cea mai simpl este aciunea continu care se produce att timp ct etapa
creia i este asociat rmne activ. Spre exemplu (fig.13), aciunea asociat etapei 3 se
produce exact att timp ct etapa 3 este activ.

Fig. 13

Dac o aciune trebuie s se menin pe durata mai multor etape, atuncl aciunea trebuie
repetat in GRAFCET pentru toate aceste etape. Spre exemplu (fig.14), aciunea A se menine
pe toat durata ct etapele 3 i 4 sunt active.
Fig. 14

Aciune condiionat

O aciune condiionat este o aciune continu a crei execuie depinde de indeplinirea unei
condiii logice U. Condiia se noteaz in GRAFCET cu ajutorul unei linii groase verticale,
desenat in partea superioare a ptratului care reprezint aciunea. n exemplul din figura 15
aciunea B se execut pe durata ct etapa 2 este activ, dar numai att timp ct condiia U este
realizat:

aciunea B = X2 U

Fig. 15

Aciunile condiionate sunt utilizate de regul pentru a impune condiii de securitate in


funcionarea sistemelor de conducere automat. Spre exemplu, un ascensor urc sau coboar
numai dac uile sunt inchise.

Aciune temporizat

Aciunea temporizat este o aciune condiionat la care condiia logic este reprezentat de
variabila timp. Notaia utilizat n GRAFCET este t/i/q sec.,unde t este timpul, i este numrul
etapei in care se declaneaz temporizarea i q reprezint durata temporizrii in secunde. n
exemplul din figura 16, etapei 3 din GRAFCET i sunt asociate dou aciuni temporizate A i B.
Aciunea A se execut dup expirarea timpului de 2 secunde de la activarea etapei 1, pe durata
ct etapa 3 este activ. Aciunea B se execut dac nu a expirat timpul de 5 secunde de la
activarea etapei 1, pe durata ct etapa 3 este activ.

Fig. 16

Aciunea de declanare a unei temporizri.

Printre aciunile asociate unei etape din GRAFCET se numr i aciunea de declanare a unei
temporizri care se reprezint cu ajutorul notaiei T = q sec. in interiorul ptratului care este
rezevat acestei aciuni (figura 17).

Fig. 17

Receptiviti particulare

Receptivitatea a sociat unei tranziii poate lua forme particulare care sunt intlnite frecvent in
alctuirea unui GRAFCET: receptivitatea funcie de timp i receptivitatea care acioneaz n
impuls.

Receptivitatea funcie de timp

Recepivitatea asociat unei tranziii poate consta in supravegherea consumrii unei temporizri
care a fost activat de o anumit etap a GRAFCET. Notaia utilzat este t/i/q sec., care a fost
prezentat la aciune temporizat.
Fig. 18

n exemplul din figura 18 etapei 3 se asociaz dou aciuni care constau in declanarea
temporizrilor T= 8 sec. i T= 16 sec. Receptivitatea asociat tranziiei (6) va fi validat la 8
secunde dup activarea etapei 3 i receptivitatea asociat tranziiei (7) va fi validat la 16
secunde dup activarea aceleiai etape 3.

Receptivitatea care acioneaz n impuls

n funcionarea unui sistem de conducere automat apar situaii in care este necesar
detectarea frontului ridictor sau frontului cobortor al impulsului unei variabile logice. Spre
exemplu, variabila poate fi generat de un limitator capt de curs sau poate reprezenta bitul
scris intr-un registru de stare. Cu ajutorul notaliei <a> se reprezint trecerea unei variabile a
din starea logic a=0 in starea logic a = 1 (front ridictor) i, cu notaia < a >, se reprezint
trecerea unei variabile a din starea logic a=1 in starea logic a=0 (front cobortor).

Receptivitatea asociat unei tranziii poate fi constituit din frontal ridictor sau din frontul
cobortor al impulsului unei variabile logice. n exemplul din figura 19, etapa 6 se va activa
numai dup producerea frontului ridictor al variabilei a i etapa 7 se va activa dup producerea
frontului cobortor al variabilei b .

Fig. 19
Detectarea apariiei frontului ridictor al unei variabile logice a se face verificnd mai nti c
variabila este absent (a = 0) i apoi verificnd c variabila devine prezent (a = 1). Cele dou
secvee din figura 20 sunt echivalente. Tranziia intre etapele 2 i 3 controleaz absena
variabilei a prin receptivitatea i tranziia dintre etapele 3 i 4 controleaz prezena variabilei a
prin receptivitatea a.

Fig. 20

Sincronizarea i cuplarea secvenelor

n aplicaii apare adesea necesitatea ca derularea unei secvene de condiii logice s depind
de derularea unei alte secvene. Cele dou secvene vor trebui sincronizate i acest lucru se
poate obine prin: conceperea judicioas a structurii GRAFCET-ului care descrie evoluia
automat; intervenia in receptivitile unei secvene din GRAFCET a strilor active ale altei
secvene din grafcet.

n continuare se prezint cteva exemple referitoare la simultaneitatea, ateptarea sau


interdicia evenimentelor care pot apare in automatizri.

Simultaneitatea evenimenetelor

S presupunem c pentru dou secvene S1 i S2 ale aceluiai GRAFCET se dorete


asigurarea activrii simultane a dou etape, 5 i 8 spre exemplu, conform figurii 21 stnga.
Rezultatul dorit se poate obine fcnd s intervin in receptivitatea tranziei (1) starea activ X7
a etapei 7 i in receptivitatea tranziiei (2) starea activ X4 a etapei 4. Un rezultat echivalent
poate fi obinut folosind structura GRAFCET din figura 21 dreapta, unde tranziia (3) se
valideaz direct cu ajutorul celor dou etape 4 i 7.

Fig. 21
Ateptarea evenimentelor

Dac se dorete ca o secven S2 s fie executat


numai dup executarea unei alte secvene S1,
atunci se poate opta pentru o structur cum este
cea din figura 22. Independent de condiiile care i
sunt proprii (reprezentate aici prin etapa 5),
secventa S2 va fi autorizat s porneasc numai
dup ce etapa 4 (care depinde de execuia
secvenei S1) va fi activat.

Fig. 22

Blocarea producerii evenimentelor

n cazul cnd anumite aciuni ale unei secvene S1


sunt interzise a se produce dac alte aciuni ale
unei secvene S2 au loc, se poate face astfel inct
declanarea tranziiilor secvenei S1 s depind
de strile active corespunztoare secvenei S2.
Spre exemplu (fig.23), receptivitateoa a67
asociat tranziiei (1) din secvena S1 blocheaz
producerea aciunii A atunci cnd aciunile B i C
au loc.

Fig. 23
CURS 7

Conversia GRAFCET ---> LDR

n reprezentrile GRAFCET una din caracteristicile importante este aceea c ntr-o aplicaie, la
un moment dat, este activ doar una sau mai multe etape funcionale (stri), i nicidecum toate
etapele. Acest detaliu aduce simplificri importante n modul de concepere a aplicaiilor, n
sensul c programatorul se poate concentra doar asupra detaliilor etapelor active, fr a mai fi
nevoit s se raporteze n permanen la toate etapele procesului. Adic, dac programarea
PLC-urilor, n modul intrinsec, este proprie proceselor paralele (datorit procesrii ciclice i
imaginii de proces), prin diverse tehnici, programarea poate fi transformat n una secvenial,
pe etape/pai succesivi. Aceste tehnici de transformare a abordrii paralele n una serial
(secvenial) urmresc prin diverse strategii activarea la un moment dat doar a strilor
(etapelor) dorite.

Una din tehnicile care permit activarea, la un moment dat, doar a etapelor dorite este inspirat
din acionarea circuitelor cu relee. Astfel o etap poate fi activat i automeninut la fel ca i
bobina unui releu. Dac se includ n acest logic i regulile de evoluie GRAFCET (vezi Curs
6) atunci etapele/strile procesului vor fi activate n baza unor ecuatii logice ntre biii de stare
asociai etapelor i tranziiilor (receptivitiilor).

n continuarea se detaliaz ecuaiile logice de activare a strilor/etapelor, corespunztoare


diverselor situaii elementare.

1.Succesiunea simpl

Activarea/dezactivarea unei stri ntr-o


diagram Grafcet este guvernat, pentru o
succesiune oarecare de stri (figura 1), de
urmtoarea ecuaie:

(*) Si = Si-1*Ti+Si*i+1
unde, condiia de activare este Si-1*Ti ,
respectiv, condiia de automeninere: Si*i+1

Condiia de activare: starea (Si) se activeaz


dac condiia de activare este realizat, adic
dac sunt active starea precedent (Si-1) i
condiia de tranziie (Ti).
Fig. 1 Diagram GRAFCET.
Condiia de automeninere: Starea (Si ) se Succesiune simpl de stri.
automenine dac nu este activ starea
urmtoare (Si+1). n consecint, n baza
ecuaiei logice, cnd starea urmtoare (Si+1) se
va activa, starea curent (Si) se va dezactiva
ntotdeauna.
Transpunerea n Ladder a ecuaie Grafcet (*): figura 2

Fig. 2 Diagrama LDR asociat ecuaiei logice (*). Starea Si va fi activ att timp ct
funcia logic asociat prii condiionale a diagramei va avea valoarea 1 logic.

2.Divergena SAU

Procesele secveniale includ i ramificaii mai complexe de tipul divergenelor SAU: atunci cnd
procesul aflat ntr-o stare Si, poate evolua ntr-o stare Sj sau Sk, dup cum este activ condiia Tj
sau Tk.

Pentru a evita situaia n care strile Sj i Sk ar putea fi activate simultan, ecuaiile Grafcet
trebuie completate cu o condiie de excludere reciproc pentru cele dou condiii de tranziie:
condiia Tj va fi validat numai dac nu este realizat condiia Tk, iar condiia Tk va fi validat
doar dac nu este realizat condiia Tj.

Ecuaiile GRAFCET:

Si = Si-1*Ti + Si*j*k

Sj = Si*Tj* k + Si*j+1

Sk = Si*Tk* j + Sk*k+1

Fig. 3 Divergena SAU

Transpunerea n Ladder a ecuaiilor Grafcet : figura 4


Fig. 4 Diagrama LDR asociat ecuaiilor logice: divergena SAU.

3.Divergena SI

Divergena SI implic evoluia procesului din starea curent Si, simultan n strile Sj i Sk (dou
sau mai multe). Starea Si se va menine pn se vor activa simultan strile Sj i Sk. Activa celor
din urm conduce obligatoriu la dezactivarea celei precedente Si.

Ecuaiile GRAFCET:

Si = Si-1*Ti + Si*j + Si* k

Sj = Si*Ti+1 + Sj*j+1

Sk = Si*Ti+1 + Sk*k+1

Fig. 5 Divergena SI
Transpunerea n Ladder a ecuaiilor Grafcet: figura 6
Fig. 6 Diagrama LDR asociat ecuaiilor logice: divergena SI.

4.Convergena SAU

Procesul poate trece n starea Si din oricare din strile Sj sau Sk prin activarea condiiei
corespunztoare strii active, Tk+1 pentru starea Sk sau Tj+1 pentru starea Sj .

Ecuaia GRAFCET:

Si = Sj*Tj+1 + Sk*Tk+1 + Si* i+1

Sj = Sj-1*Tj + Sj*i

Sk = Sk-1*Tk + Sk*i

Fig. 7 Convergena SAU


5.Convergena SI

Procesul poate trece n starea Si cu condiia ca strile Sj , Sk i condiiile Tj+1 , Tk+1 s fie
satisfcute simultan. Activarea strii Si, conduce la dezactivarea strilor anterioare.

Ecuaiile GRAFCET:

Si = Sj*Tj+1*Sk*Tk+1 + Si* i+1

Sj = Sj-1*Tj + Sj*i

Sk = Sk-1*Tk + Sk*i

Fig. 8 Convergena SI

Exemplu de aplicaie secvenial Maina de gurit

Se consider un proces secvenial simplu, specific unei maini de gurit, n care se efectueaz
o micare de avans i una de retragere. Cursa de avans se realizeaz cu dou viteze: avans cu
vitez mare, pn ce burghiul atinge materialul; avans tehnologic, cu vitez redus, specific
operaiei de gurire. Cursa de retragere se realizeaz cu viteza maxim posibil. Procesul se
iniiaz prin apsarea butonului de Start i const ntr-un singur ciclu avans retragere.
Efectuarea unui alt ciclu necesit repetarea apsrii butonului Start.
CURS 8

Proiectarea aplicaiilor industriale de control (conduse prin intermediul PLC-urilor)

Condiii iniiale:

- proces industrial necesar a fi automatizat


- date/informatii despre proces (enunt/descriere mod de funionare proces, diagram de
funcionare etc)

Etape dezvoltare aplicaie de control

1. Identificare/ntelegere proces
- In baza datelor/informatiilor preliminare se identific modul de funcionare al procesului,
principale stri/etape si tranzitii ale acestuia
2. Identificare intrri i ieiri proces (circuitul de comand i circuitul de acionare)
- se identific sistemul senzorial al (necesar) procesului
- se identific (proiecteaz) circuitul de acionare al procesului
- se identific intrrile i ieirile procesului (nr. intrri/ieiri digitale, analogice)
3. Construirea diagramei de functionare (grafcet)
- Pe baza informaiilor identificate la (1) i (2) se construiete diagrama de funcionare a
procesului (grafcet), reprezentnd detaliat:
a. fluxul procesului (succesiunea etapelor/strilor)
b. etapele (starile) procesului (includ actiunile specifice fiecrei stri/etape)
c. tranziiile procesului (condiiile de trecere de la o etap la alta)
4. Implementare aplicaie utiliznd o anumit tehnologie de control
- Tehnologia de control (tipul PLC-ului) utilizat pentru implementarea unei aplicaii implic
particulariti specifice determinate de: structura specific a PLC-ul utilizat (module
specifice intrare/ieire), mediul de dezvoltare pus la dispoziie de productorul PLC-ului,
limbajul folosit pentru implementarea aplicaiei de control (LAD, IL,FBD,SFC, ST), ins
etapele de lucru sunt aceleai:
a. Configurare PLC (configurare CPU, configurare module de intrare/ieire, configurare
comunicaie, alocare memorie pentru resurse: intrri, ieiri, temporizatoare,
numrtoare etc)
b. Editare list de alocare resurse (se aloc denumiri simbolice pentru resursele utilizate:
intrari, ieiri, stri, tranziii, numartoare, temporizatoare, memorii, functii etc)
c. Editarea aplicaiei in unul din limbajele standardizate (Pe baza diagramei de
funcionare/grafcet-ului se dezvolt i editeaz aplicaia in unul din limbajele
standardizate (LAD, IL,FBD,SFC, ST). Se testeaz aplicaia.
d. Proiectare HMI (se proiectez interfaa HMI in cazul n care tehnologia de control
permite acest funcie)
5. Testarea procesului

OBS: In curs se detaliaz concret aceste etape de dezvoltare utiliznd tehnologia Siemens S7-300.
Sistem automat umplere cutii cu mere

Definire aplicaie
Se pune problema dezvoltrii unei aplicaii care
automatizeaz sistemul din figura 1:

La apsarea butonului de Start se pornete procesul


de umplere automat a cutiilor cu N mere n fiecare
cutie. Dup umplerea unei cutii procesul se continua
ciclic pn la oprirea acestuia prin butonul de Stop.

Fig.1 Proces
1. Identificare/ntelegere proces
- La apsarea butonului de Start banda (B1) se pune n micare i se va opri n situaia n care
senzorul (Sc) identific apariia unei cutii.
- odat cu oprirea benzii (B1) se pune n micare banda (B2) care ncarc cu mere cutia de la
captul ei, n fiecare cutie cte N mere.
- Dup umplerea unei cutii procesul se continua ciclic pn la oprirea acestuia prin butonul de
Stop.

2. Identificare intrri i ieiri proces


Buton (Start) - pentru pornire proces
Buton (Stop) - pentru oprire proces
Senzor cutie (Sc) pentru sesizare apariie cutie (front pozitiv)
Senzor mere (Sm) pentru sesizarea merelor depuse in fiecare cutie
Band cutii (B1) transport cutii
Band mere (B2) transport mere

3. Construirea diagramei de functionare (grafcet)


4. Implementare aplicaie utiliznd o anumit tehnologie de control (STEP 7)
a. Lista de alocare

b. Program de initializare variabile proces (OB100)


c. Programul principal (OB1) Definire functie FC1 (Resurse)

5. Testare
- STEP7 (PLCSIM)+FluidSIM
APLICATIE 2

Definire aplicaie M2
2B2
Se consider sistemul din figura alturat utilizat
pentru manipularea pieselor cilindrice din punctul 1B1 1B2

A n punctul B. M1

2B1
Starea iniial:
Motor M1: piston deplasat dreapta (senzor 1B2
activat); M3 3B1

Motor M2: piston retras (senzor 2B2 activat);


Motor M3 (gripper): nchis PART_AV

A B
S se construiasc diagrama funcional (Grafcet) Fig.2 Proces
i s se scrie programul aplicaiei n limbajul
LADDER aferente urmtoarei sarcini:

- Aplicaia este iniializat la apsarea butonului START. Dac exist pies n punctul A se
declaneaz procesul de manipulare (din pct. A n pct. B).
- Operaia de prindere a piesei (pct. A) este asigurat printr-o temporizare de 2 secunde.
- Operaia de desprindere a piesei (pct. B) este asigurat printr-o temporizare de 2 secunde.
- Procesul continu ciclic atta vreme ct exist pies n pct. A, dar nu mai mult de 5 cicluri.
Reinitializarea se face la o nou apsare a butonului START.
- Butonul de STOP intrerupe functionarea procesului la sfarsitul ciclului.

1. ntelegerea procesului
...

2. Identificare intrri i ieiri proces, circuit de acionare


Intrri:
START buton cu revenire pentru pornire proces
STOP buton cu revenire pentru oprire proces
PART_Av senzor optic digital pentru sesizare pies in pct.A
1B1, 1B2 senzori reed pt. sesizarea limitelor deplasrii pt. motorul M1
2B1, 2B2 senzori reed pt. sesizarea limitelor deplasrii pt. motorul M2
3B1 senzor optic digital pentru sesizarea pieselor
Ieiri:
Motor M1: actionat prin distribuitor bistabil D5/2 (doi electromagneti de cc)
Y11:=1 acionare M1 dreapta; Y12:=1 actionare M1 stnga
Motor M2: actionat prin distribuitor monostabil D5/2 (un electromagnet de cc, revenire cu arc)
Y2:=1 actionare M2 n jos; Y2:=0 actionare M2 n sus
Gripper M3: acionat prin distribuitor monostabil D3/2, se deschide la acionare (Y3:=1)

Acionare: pneumatic
3. Construirea diagramei de functionare (grafcet)

RUN PLC RUN PLC

OB100 Initializare OB100 Initializare

OB1 OB1

S0 - Asteptare S0

T0 START.PART_AV+ Automentinere T0 START+PART_AV+ Automentinere

S1 - Actionare M1 - stanga S1 Y12

T1 1B1 T1 1B1

- Actionare M2- coborare


S2 - Actionare M3-deschidere S2 Y2
Y3
T2 2B1 T2 2B1

- Actionare M2- coborare


S3 - Inchidere gripper S3 Y2

T3 2s/S3 T3 2s/S3

S4 - M2- urcare S4

T4 2B2 T4 2B2

S5 - Actionare M1 - dreapta S5 Y11

T5 1B2 T5 1B2

S6 - Actionare M2 coborare S6 Y2

T6 2B1 T6 2B1

- Actionare M2 coborare
S7 - Deschidere Gripper S7 Y2
Y3
T7 2s/S7 T7 2s/S7
- Actionare M3 - deschidere
S8 - M2- urcare S8 Y3
- Numarare piese (Np:=Np+1) CountUp

T82 Np<5 T81 Np=5 T82 Np<5 T81 Np=5


- Resetare Numarator
S9 - Intrerupere automentinere S9 ResetCount
STOP
T9 CountOut=0 T9 CountOut=0

a) GRAFCET versiune cu descrierea actiunilor b) GRAFCET versiune cu actiuni continue


4. Implementare aplicaie utiliznd o anumit tehnologie de control (STEP 7)
a. Lista de alocare

b. Program de initializare variabile proces (OB100)


c. Programul principal (OB1) Definire functie FC1 (Resurse)

(vezi laborator) (vezi laborator)

5. Testare
- STEP7 (PLCSIM)+FluidSIM
APLICATIE 3
OBS: Conditie corecta: Brat3_jos&Brat2_stanga&Brat1_stanga
CURS 9

IEC 61131-3 SEQUENTIAL FUNCTION CHART


The IEC 61131-3 sequential function chart (SFC) language is derived from the IEC 848 function chart standard (IEC,
1988) that has been used to define sequence control logic. The IEC 61131-3 SFC language elements are derived from
IEC 848 with the changes necessary to convert the representations from a documentation standard to a set of execution
control elements for a programmable controller program organization unit. This format has emerged as a major
programming tool in modern control systems.

The roots of the SFC language can be found in Petri nets. In a Petri net, circles and arcs depict states and transitions,
respectively. Petri nets are commonly used in computer systems design. Grafcet evolved from Petri nets as an industrial
form of the methodology applied to sequence control logic. Grafcet was codified as the IEC 848 function chart standard
(IEC, 1988).

IEC 61131-3 defines a graphical, semi-graphical, and textual format for a SFC. Only the graphical format is explained in
this chapter since this is the form most commonly provided by the vendors.

The SFC is a diagram of interconnected steps, actions, and transitions as illustrated in Figure 1. A SFC diagram begins
with an initial step (a box enclosed in a double line) followed by an ordered set of labeled steps configured to perform
the desired sequential control scheme. A vertical line attached to the top of the step represents the path into the step. A
vertical line attached to the bottom of the step represents the path out of the step. A horizontal line across the vertical line
represents the transition condition that causes control to pass from the step preceding the transition to the step succeeding
the transition. If the step is active and the transition condition below the step is true, the logic advances to the next step.
The step-wise flow (called step evolution) generally goes from top to bottom. Branching is allowed to cause the step
evolution to lead back to an earlier step and to allow multiple paths. A step without a vertical line below represents the
last step of the sequence.

Fig.1

IEC 61131-3 does not define a standard way to reset the SFC to its initial state, so the particular implementation of this
function varies among the vendors.
STEPS

Each step within a sequential function chart has a unique name and should only appear once in a SFC. There are two
forms of a step, both shown in Figure 1:
1. Normal step, depicted as a rectangle with the step name in the center of the rectangle;
2. Initial step, depicted as a double rectangle. Alternatively, the initial step may be depicted as a rectangle with double
vertical lines. Each SFC has only one initial step, and this is the step that will be activated when the SFC is executed for
the first time.

The behavior of a step is described by the actions associated with the step. Each action may be described by any of the
IEC languages.

Every step has two variables that can be used to monitor and synchronize step activation. The step flag is a Boolean of
the form ****.X, where **** is the step name, that is on while the step is active and off otherwise. The value of the step
flag can be connected directly to another Boolean variable. The step elapsed time (****.T) variable of type TIME
indicates how long the step has been active. When a step is first activated, the value of the step elapsed time is set to
T#0s. While the step is active, the step elapsed time is updated to indicate how long the step has been active. When the
step is deactivated, the step elapsed time remains at the value it had when the step was activated, that is, it indicates the
time how long the step was active. Figure 2 is an example using the step elapsed time for a transition.

Fig.2 Example use of step elapsed time variable in transition


Step Evolution Rules

The flow of active steps in a SFC is called step evolution and generally starts with the initial step and proceeds
downward. The steps and transitions alternate, that is:
Two steps are never directly linked; they are always separated by a transition.
Two transitions are never directly linked; they are always separated by a step.

Sequence selection is also possible, causing the step evolution to choose between two or more different paths. An
example sequence selection divergence, and its corresponding convergence, is shown in Figure 3. The transition
conditions should be mutually exclusive, that is, no more than one can be true. Only one path is selected, even if more
than one transition condition is true (left-to-right evaluation of the transition conditions).

Fig.3 Example sequence selection divergence and convergence


The evolution out of a step can cause multiple sequences to be executed, called simultaneous sequences. An example
simultaneous sequence divergence, and its corresponding convergence, is shown in Figure 4.

Fig.4 Example simultaneous sequence divergence and convergence.

There are two special cases of sequence selection:


In a sequence skip one or more branches contain no steps. In Figure 5, the steps to start up the conveying
system are executed only if the conveying system is not running. Otherwise, the steps to start the conveyors are
skipped.
A sequence loop is a sequence selection in which one or more branches return to a previous step. In Figure 6,
the rinse operation is repeated as many times as specified by Rinse_Cnt.

Fig.5 Sequence skip Fig.6 Sequence loop


TRANSITIONS

The condition that causes a transition from one step to the next is indicated by the Boolean expression in the structured
text language to the right of the horizontal bar below the step box. Though the textual form of the transition condition
seems to be the most popular, transition conditions may also be represented by:
a ladder diagram network whose network intersects the vertical link instead of a right rail (Figure 7);
a network in the FBD language whose output intersects the vertical link (Figure 8);
a connector (Figure 9a) that is linked to the output of a ladder diagram (Figure 9b) or a function block diagram
(Figure 9c);
a transition name to the right of the horizontal bar (Figure 10a) that is the output of a ladder diagram (Figure
10b) or a function block diagram (Figure 10c); or the Boolean result of a structured text statement or
instruction list instructions;
a literal 1 or true which indicates the transition condition is always true.

Fig.7 Transition as LD language Fig.8 Transition condition as FBD language

Fig.9 Transition connector: (a) connector in SFC; (b) connector using LD language; (c) connector using FBD.

Fig.10 Transition name: (a) in SFC; (b) defined with LD language; (c) defined with FBD language.
ACTION BLOKS

Action blocks are associated with a step. Each step can have zero or more action blocks. Figure 11 shows multiple
action blocks associated with a step. An action can be a Boolean variable, a ladder logic diagram (LD), a function block
diagram (FBD), a collection of structured text (ST) statements, a collection of instruction list (IL) statements, or a
sequential function chart. The action box is used to perform a process action such as opening a valve, starting a motor or
calculating an endpoint for the transition condition.

Fig.11 Multiple actions associated with a step. Fig.12 General format of action block.

Each step action block may have up to four parts:

a - action qualifier (tipul actiunii): The action qualifier is a letter or a combination of letters describing how
the step action is processed. If the action qualifier is absent, it is assumed to be N. Possible action qualifiers
are defined in Table 1.
b - action name: The b field is the only required part of the step block. When the b field is a Boolean
variable, the c and d fields are absent. When the d field is present, the b field is the name of the action
whose description is shown in the d field.
c - Boolean indicator variable: The c field is an optional Boolean indicator variable, set by the action to
signify step completion, time-out, error condition, and so on.
d - action description using IL, ST, LD, FBD, or SFC: The IEC 61131-3 standard defines the d field as a
box below the action name where the action is described using IL, ST, LD, FBD, or SFC.

Tabele 1 SFC Action Qualifiers


Fig.13 SFC showing action qualifiers.

N Non-stored action qualifier

A non stored action is active only when the step is active.

Fig.14 Non-stored action qualifier:


(a) example; (b) timing diagram
S and R Stored (set) and Reset action qualifiers
A stored action becomes active when the step becomes
active. The action continues to be executed even after the
step is inactive. In order to stop the action, another step
must have an R qualifier that references the same action.

Fig.15 Stored (set) and reset action qualifiers:


(a) example; (b) timing diagram

L time Limited action qualifier


A time limited action becomes active when the step
becomes active. The action becomes inactive when a set
length of time elapses or the step becomes inactive,
whichever happens first.

Fig.16 Time limited action qualifier:


(a) example;
(b) timing diagram when step time longer than time limit;
(c) timing diagram when step time shorter than time limit.

D time Delayed action qualifier


A time delayed action becomes active after a specified
time has elapsed. The delay time is measured from the
time when the step becomes active. When the delay time
has elapsed, the action becomes active and remains active
until the step is deactivated. If the elapsed time in the step
is less than the delay time, the action does not become
active.
Fig.17 Time delayed action qualifier:
(a) example;
(b) timing when step time longer than time delay;
(c) timing when step time shorter than time delay.

P Pulse action qualifier


For a P qualifer the action becomes active for the single
scan in which the step becomes active. If the action is
described in one of the IEC 61131-3 languages, the action
executes once. Even if the step time is zero (the transition
condition is already satisfied when the step becomes
active), an action with a P qualifier is executed once.

Fig.18 Pulse action qualifier:


(a) example;
(b) timing diagram.

P1 and P0 Pulse action qualifiers


For a P1 qualifer the action becomes active for the single
scan in which the step becomes active. For a P0 qualifer
the action becomes active for the single scan in which the
step becomes inactive. If the action is described in one of
the IEC 61131-3 languages, the action executes exactly
once.

Fig.19 P1 and P0 pulse action qualifiers:


(a) example;
(b) timing diagram.
SL Stored and time Limited action qualifier
With the SL qualifier the action becomes active when the
step becomes active. The action is deactivated after a set
length of time elapses or an R qualified action block
references the same action. The action remains active after
the step becomes inactive, if the step time is shorter than
the limit time. A step with an R qualified action block
must refer to this action before this action can be used
again.

Fig. 20 Stored and time limited action qualifier:


(a) example;
(b) timing when step time shorter than time limit;
(c) timing when reset before time limit.

SD Stored and time Delayed action qualifier


If the action is qualified with SD, the activation of the
action is delayed for a set time after the step becomes
active. The action is stored after the time delay even if the
step that has the SD qualifier for this action becomes
inactive. After the time delay, the action is activated and
remains active until another step with an R qualified action
block references the same action.

Fig.21 Stored and time delayed action qualifier:


(a) example;
(b) timing when step time longer than time delay;
(c) timing when step time shorter than time delay.
DS time Delayed and Stored action qualifier
With the DS qualifier, activation of the action is delayed
for a set time after the step becomes active, only if the step
is still active after the time delay has elapsed. After the
action is activated, another step with an R qualified block
that references the same action must deactivate the action.

Fig.22 Time delayed and stored action qualifier:


(a) example;
(b) timing when
step time longer than time delay;
(c) timing when step time shorter than time delay.
MODURI de operare a ieirilor (IEC60848 specificaii GRAFCET)

Modul de operare al ieirilor influeneaz felul n care ieirile unui sistem/proces depind de intrri i de evoluia
acestuia. Astfel, funcie de tipul aciunilor, putem identifica dou moduri de operare: continuu i memorat. Fiecarei
etape/stari a procesului ii sunt asociate actiuni prin intermediul crora se opereaz variabilele de ieire.

Modul continuu
n modul continuu o actiune este caracterizat prin simpla specificare a variabilei de ieire. Acesteia i se
atribuie/asigneaz valoarea 1 logic dac etapa este activ si dac conditia de asignare (atribuire) este verificat.
Condiia de asignare este o expresie logic definit functie de variabilele de intrare i/sau interne. n cazul n care una
din cele dou condiii nu este ndeplinit variabila de ieire n cauz are valoarea 0 logic.

Reguli de operare a ieirilor prin aciuni continue:


1 logic, pentru fiecare ieire asociat unei etape active i pentru care condiiile de asignare sunt verificate.
0 logic, pentru toate celelalte ieiri.

Modul memorat
n modul memorat, o actiune este caracterizat prin specificarea evenimentelor i a instructiunilor care opereaz
variabilele de ieire corelat cu apariia evenimentelor. Fiecare variabila operat printr-o anumit instructiune i modific
valoarea i si-o menine modificat pn la apariia unei alte intruciuni care modific din nou valoarea variabilei. n
modul memorat operarea variabilelor de ieire este legat de evenimente. Operarea variabilelor funcie de evenimente
conduce la definirea de noi explicitri precum (activare etapa, dezactivare etapa, declansare tranziie, ...).

Reguli de operare a iesirilor prin aciuni memorate:


Valoarea variabilelor de ieire este nul la iniializare.
Valoarea variabilelor de ieire se modific prin actiuni crora li se asociaz instruciuni specifice a cror operare este
condiionat de evenimente.

Comparaie ntre cele dou moduri de operare a ieirilor


Alegerea modului de operare al ieirilor depinde de practica i metodologia utilizat. Diferenele dintre cele dou
abordri sunt detaliate n continuare.

a. Determinarea valorii ieirilor


n modul continuu, ieirile sunt operate/acionate exclusiv n baza informaiilor legate de starea curent a procesului
(functie de etapa sau etapele active la un moment dat): valoarea 1 Logic se atribuie ieirilor specificate explicit n
cadrul etapelor active si 0 logic pentru celelalte ieiri nespecificate (prin omisiune).
n modul memorat, ieirile sunt operate/acionate n baza informaiilor legate de starea curent a procesului (functie de
etapa sau etapele active la un moment dat), respectiv funcie de informatiile memorate aferente restului de stari
procesului: valoarea unei variabile de ieire se aloc prin instruciuni, se memoreaz i se menine pe parcursul evoluiei
procesului pn cnd apare o nou instruciune care sa-i modifice valoarea.

b. Analiza Grafcet-ului (cunoasterea ieirilor)


n modul continuu, cunoaterea strii curente i a intrrilor este suficient pentru a determina valoarea ieirilor.
n modul memorat, cunoaterea strii curente i a intrrilor nu este suficient, evoluiile precedente se fi cunoscut
pentru a determina valoarea iesirilor.

c. Efectul etapei instabile


n modul continuu, aciunile asociate cu o etap instabil (care dureaz doar un puls) nu sunt luate n considerare pentru
c se consider c etapa nu este activat.
n modul memorat, intotdeauna aciunile definite sunt realizate/efectuate.

d. Apariia conflictelor
n modul continuu, orice conflict de atribuire simultan a mai multor valori pentru aceeai ieire este evitat.
n modul memorat, favorizeaz apariia conflictelor privind de alocarea simultan de valori diferite pentru aceeai
ieire. Proiectantul aplicaiei trebuie s se asigure c dou alocri contradictorii nu au fost aplicate simultan pe ieiri.
NOTA 1: Ambele moduri de operare (continuu i memorat) pot fi utilizate ntr-o specificaie Grafcet, dar nu n contextul
aceleai variabile. Alocarea unei valori pentru o variabil prin modul memorat exclude operarea acestei variabile prin
modul continuu i invers.

NOTA 2: Frecvent, n specificarea caietului de sarcini, practica industrial curent foreaz utilizarea modului continuu
pentru toate ieirile acionate, respectiv modul memorat pentru variabilele interne. Adic sarcini precum incrementarea
unui contor, modificarea valorii de un registru numeric, se refer la variabile interne care nu sunt neaprat booleane.

Altele:
- semnale luminoase (vezi document atasat)
- acionare (monostabil / bistabil)
CURS 10 STRUCTURING of GRAFCET

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