Sunteți pe pagina 1din 46

UNIVERSITATEA TEHNICA GH.

ASACHI IASI
FACULTATEA DE MECANICA
CATEDRA ORGANE DE MASINI SI MECATRONICA
Disciplina: Actionarea sistemelor mecatronice

LUCRARE DE LABORATOR NR. 1

MODULAR PRODUCTION SYSTEM (MPS) ECHIPAMENT DE INSTRUIRE IN MECATRONICA


Prezentare STATIE DE DISTRIBUTIE

1. Scopul lucrarii:
cunoasterea hardware a unui sistem mecatronic cu actionare pneumatica (hidronica);
cunoasterea tehnicii PLC (Programmable logic Controlers);
prezentarea competentelor ce pot fi dezvoltate pe un astfel de sistem;
2. Introducere
Staiile MPS sunt elemente centrale ale sistemelor modulare de producie. Fiecare
staie are unul sau mai multe module legate ntre ele printr-o plcu universal de
aluminiu cu profil plat i prin controlere PLC. Ele ajut la atingerea pregtirii profesionale
ntr-un mod clar i eficient, deoarece ofer posibilitatea de studiu ntr-un cadru ct mai
real, studiul efectundu-se pe componente ct mai reale.
Avantaje:
Staiile pot fi combinate i potrivite individual;
Interfaa este standard i unic;
Sistemul deschis noilor tehnologii - comunicaii pe baz de bus i vizualizare a
procesului;
Sistemul deschis noilor idei - definirea interfeelor este, de exemplu, baza noilor
proiecte de lucru;
Sistemul deschis noilor cerine de calificare - munca n echip.

Sistemele MPS sunt legate prin conectori electrici i mecanici, prin interfee bine
definite. n funcie de combinaia staiilor din standul din fig.1. se pot produce piese
cilindrice funcionale formate din:
Corp cilindric
Piston
Arc
Capac

n componena standului intr urmtoarele staii MPS:


Staia de distribuie;
Staia de testare;
Staia de procesare;
Staia de manevrare-asamblare;
Staia de memorare;
Ansamblu staie cu robot;
Staie de testare a funciilor;
Staie de sortare;
Staie de presare hidraulic.
Fig. 1.

Ordinea staiilor corespunde procesului tehnologic. Corpurile cilindrilor sunt


distribuite, testate i plasate n continuare cu ajutorul dispozitivelor de testare.
Robotul asambleaz cilindrul pneumatic folosind corpul, pistonul, arcul i capacul
care sunt fcute la o presa hidraulic. Cilindrii finisai sunt testai din punct de vedere al
funcionalitii i sortai dup: tip, culoare, mrime.
In dotarea laboratorului de Acionarea sistemelor mecatronice exist un modul MPS,
denumit Staie de distribuie (Distribution station) (fig. 1).

3. Elementele componente ale (MPS)-Statie de distributie


Componentele Staiei de distribuie i competenele dezvoltate prin instruire sunt
prezentate n fig. 2., fig. 3. i tabelul 1.
Fig. 2

Fig. 3
Competena dezvoltat Scopul instruirii

- dobndirea de cunotine despre


componentele unui sistem mecanic;
Sisteme mecanice - asamblarea si dezasamblarea
componentelor mecanice;
- proiectarea i aezarea
componentelor mecanice ntr-un
sistem.
Pneumatic - dobndirea de cunotine i utilizarea
componentelor pneumatice;
- citirea si construirea unor circuite
pneumatice;
- dobndirea de cunotine i utilizarea
tehnologiei cu vacuum;
- optimizarea si reglarea circuitelor
pneumatice (viteza, sigurana etc.);
- realizarea practic a unor circuite
pneumatice.
Inginerie - instalarea i testarea componentelor
Electric/Electronic electrice;
- citirea i proiectarea diagramelor
circuitelor electrice;
- dobndirea de cunotine despre
circuitele electronice i utilizarea lor;
- dobndirea de cunotine despre
interfee i utilizarea lor.
Senzori - dobndirea de cunotine despre
limitatori i senzori i utilizarea lor;
- dobndirea de cunotine despre
diferitele tipuri de senzori (optic etc.).
Tehnologia PLC - dobndirea de cunotine despre
structura si modul e operare a PLC;
- programarea PLC;
- utilizarea PLC mpreun cu un sistem
de vizualizare.

Automatizare - dobndirea de cunotine despre


sistemele automate si structura lor;
- proiectarea unor sisteme automate;
- Combinarea i optimizarea diferitelor
tehnologii pentru un scop specific.
Metrologie - msurarea variabilelor electrice i
neelectrice.

Tehnologia manipulatoarelor - dobndirea de cunotine despre


manipulatoare;
- programarea manipulatoarelor
utiliznd PLC.
Reglaje - adaptarea componentelor electrice si
mecanice;
- adaptarea senzorilor i limitatorilor n
sistemele automate.
ntreinere, optimizare si - optimizarea unui sistem automat
depanare (durata unui ciclu, siguran);
- localizarea i repararea defectelor prin
metode sistematice.
Competente metodologice - utilizarea metodelor creative i
sistemelor de planificare;
- organizarea i planificarea lucrului cu
pai.
Abiliti sociale - lucrul practic n echip;
- comunicarea ntre echipe;

4. Concluzii
Staia de distribuie este ideal pentru instruirea n sistemele moleculare de
producie;
Atenia este atras de aplicarea diferitelor valve de control, cilindri pneumatici i
limitatorilor de curs a cilindrilor, precum i tehnologia de vacuum i valvele de
presiune;
Obiectivele atinse:
Separarea unei piese dintr-o magazie;
Alimentarea sistemului cu piese separate pentru obinerea unui proces tehnologic.
UNIVERSITATEA TEHNICA GH. ASACHI IASI
FACULTATEA DE MECANICA
CATEDRA ORGANE DE MASINI SI MECATRONICA
Disciplina: Actionarea sistemelor mecatronice

LUCRARE DE LABORATOR NR. 2

MODULAR PRODUCTION SYSTEM (MPS) ECHIPAMENT DE INSTRUIRE IN MECATRONICA


Mediul de programare FSTFEC pentru automatul programabil FEC-20-AC

1. Scopul lucrarii:
Cunoastrea mediului de programare FSTFEC care permite elaborarea de programe
pentru automatul programabil FEC-20-AC

2. Introducere
Numele de FST FEC vine de la abrevierile denumirilor Festo Software Tools i Front End
Controler. FST este un mediu de programare care a fost dezvoltat de FESTO pentru mai
multe tipuri de automate programabile i calculatoare industriale pe care firma le produce.
Principala caracteristic a acestui mediu este prezena unui sistem de meniuri standard
pentru toate variantele n care este disponibil. Variantele de software FST depind de
aparatul cruia i este destinat, acestea avnd ca particulariti seturile de comenzi pentru
configurare i limbajele de programare utilizate. Pentru FEC sunt disponibile limbajele de
programare Statement List (STL) i Ladder Diagram (LDR). Despre limbajele de
programare se va discuta n capitolul 6.

Mediul de programare FSTFEC trebuie instalat pe un PC obinuit. Pentru o instalare cu


succes, calculatorul trebuie s dein un minim de caracteristici. Aceste caracteristici sunt
enumerate mai jos:
- hard disk i floppy disk de 3 (1.44 MB)
- o memorie de cel puin 512 KB; pentru proiecte mari se recomand minim 640KB;
- sistem de operare MS-DOS, Windows95 sau mai nou;
- o interfa serial pentru conectarea cu automatul programabil;
- o interfa paralel pentru imprimant (de preferat);
- o alt interfa serial pentru mouse (de preferat);

Programul se poate instala n directorul rdcin sau n orice alt director. Dup instalare
programul poate fi rulat din directorul n care se afl fiierul FSTFEC.EXE, cu comanda
FSTEC, urmat de apsarea tastei Enter. Urmtoarele directoare sunt create la
instalarea mediului FSTFEC:
- RUNTIME.FEC conine fiiere cu sistemul de operare la automatului programabil;
- FBLIB.FEC conine fiiere cu module de funcii predefinite de productor;
- BAUSTEIN.MSC conine fiiere cu librrii i exemple pentru programarea n C;
- DOC conine documentaie pentru utilizarea FEC-ului.

n afara acestor directoare, FSTFEC mai are nevoie de un director de proiecte n care vor
fi pstrate programele create de utilizator. La prima rulare a programului FSTFEC se va
cere utilizatorului s introduc calea i numele directorului de proiecte.
3. MEDIUL DE PROGRAMARE FSTFEC
3.1. Descrierea meniurilor.
Imediat dup comanda FSTFEC apare o fereastr logo n care este scris cu iniiale mari:
FST. Apsarea oricrei taste duce la ncrcarea meniului principal al mediului de
programare. Meniul principal este prezentat n figura 1.
Pentru lucrul cu meniurile se poate utiliza:
- mouse-ul;
- tastele speciale F1, F2,, F8 i tastele direcionale: , , , .
Aciunile declanate de tastele F1 F8 sunt descrise la fiecare moment n bara de stare
de la baza ecranului (josul ferestrei). Ca regul, terminarea unei aciuni i ieirea dintr-un
submeniu sau din programul principal se face prin apsarea tastei F8.

Submeniul Project Management, fig. 2, cuprinde comenzi pentru: selectarea, crearea,


tergerea, printarea unui proiect, ncrcarea acestuia n automatul programabil, salvarea
pe harddisk-ul calculatorului a unui proiect aflat n automatul programabil i inserarea n
proiectul curent a unor fiiere.

Fig. 1. Meniul principal al mediului de programare FSTFEC.

Fig. 2. Submeniul Project Manegement al mediului de programare FSTFEC.

Submeniul Utilities, fig. 3, conine comenzi i aciuni necesare n pentru:


- alctuirea listei de alocare a variabilelor absolute (paragraful 5.6);
- editare de texte pentru documentaia proiectului;
- editarea titlului i a antetului fiecrei pagini pentru textul scris n mediul FSTFEC;
- configurarea calculatorului i a automatului programabil;
- configurarea intrrilor i ieirilor FEC-ului;
- configurarea driver-elor de comunicaie pentru cazul cnd FEC-ul se utilizeaz n reea;
- conectarea calculatorului cu automatul programabil pentru aciuni de depanare on-line;
- printare a documentelor ataate proiectului selectat.
Fig. 3. Submeniul Utilities al mediului de programare FSTFEC.
Submeniul Statement List, fig. 4, conine comenzi i aciuni necesare crerii, modificrii i
depanrii programelor STL din cadrul proiectului curent.

Fig. 4. Submeniul Statement List al mediului de programare FSTFEC.


3.2. Crearea unui proiect.
n mediul de programare FST, un proiect este o unitate de control al programelor. Proiectul
poate s conin unul sau mai multe programe i blocuri de funcii. Pe lng programe, un
proiect poate s conin o list de alocare i un text cu documentaia proiectului. Pentru a
se putea lucra n mediul FST este neaprat necesar s se creeze un proiect. Este indicat
s se creeze un proiect nou pentru fiecare nou aplicaie de automatizare.
Pentru crearea unui proiect se selecteaz opiunea Create project din meniul Project
Management. n fereastra care apare, fig. 5, se introduce, de ctre utilizator, numele
proiectului i, opional, un comentariu pentru descrierea aplicaiei. La sfrit se apas tasta
F1 pentru confirmarea comenzii.

Fig. 5. Fereastra de creare a unui proiect.


3.3. Configurarea mediului de programare FST.
Mediul de programare FST trebuie s fac posibil comunicarea ntre ele a trei
echipamente hardware: calculatorul, automatul programabil si imprimanta. Setrile care se
fac n ferestrele deschise de opiunea Configuration din submeniul Utilities, asigur o
comunicare corect ntre aceste echipamente. n timpul configurrii, dac trebuiesc
introduse valori numerice, se poate apsa tasta F9 pentru a obine informaii n legur cu
valorile admise n acel cmp de date. Configurarea se poate face pentru:
- calculator;
- comunicarea cu automatul programabil;
- modul de comportare n funcionare al automatului programabil;
- selectarea imprimantei si a caracterelor de tiprire la imprimant;
- modul de rulare a programelor.
Configurarea calculatorului cuprinde:
- selectarea directorului pentru salvarea proiectelor. Dac nu se specific un director
anume directorul implicit (creat de program) este C:\FESTO;
- selectarea de programe care s se execute imediat nainte de intrarea n mediul FST;
- selectarea de programe care s se execute imediat dup iesirea din mediul FST;
- selectarea controler-ului video pentru monitor dintr-un set recunoscut de mediul FST
(aceast setare este de interes numai pentru calculatoare vechi sau necompatibile
IBM);
- setarea mouse-ului.

Observaie. Dac s-a executat o setare gresit n configurarea calculatorului (n special


pentru placa video) si monitorul apare negru, trebuie repornit calculatorul si, din mediul
DOS, sters fisierul KONFIG.IPC care se afl n directorul n care a fost instalat mediul
FST. Dup aceast operaie se reintr n mediul FST si se reface configurarea.

Configurarea comunicrii cu automatul programabil are n vedere stabilirea corect a


parametrilor de comunicaie ntre calculator si FEC. Se poate alege ntre porturile seriale
COM1 si COM2. La portul selectat se va monta cablul de legtur. Odat ales portul serial
se seteaz viteza de transmisie dintr-un set de valori permise de automatul programabil.
Viteza maxim de transmisie, care este si cea implicit, este de 9600 baud (1 baud
reprezint o vitez de transmisie de 1 bit/secund).

Configurarea modului de comportare n funcionare al automatului programabil se


poate face apsnd tasta F6 (IPC mode) dup ce s-a selectat opiunea Configuration din
meniul Utilities.
Pentru opiunea Machine function? Y/N:
- dac se selecteaz Y (Yes) AP-ul se va comporta ca o masin. La comporatarea ca o
masin, atunci cnd FEC-ul este oprit (datorit comutatorului START/STOP sau al unei
erori) toate iesirile sunt setate la 0 logic. Cnd FEC-ul este repornit, se vor rula
programele de la nceput. Cu alte cuvinte, nu se pstreaz starea din momentul opririi.
- dac se selecteaz N (No) AP-ul se va comporta ca o unitate. La repornire programele
se reiau din punctul de oprire, deci starea din momentul opririi se pstreaz. Acest
modul nu este disponibil pentru FEC.
La opiunea Program control se poate alege o intrare a FEC-ului care s funcioneze ca un
comutator START/STOP. Pentru aceasta se introduce adresa absolut a intrrii alese de
utilizator pentru acest scop.
Opiunea Error program number ofer posibilitatea specificrii numrului unui program de
tratare a erorilor. Programele sunt notate cu litera P dup care urmeaz un numr (ex.
P0, P1, P2, etc.). n cazul apariiei unei erori n funcionarea FEC-ului acest program se va
executa ciclic atta timp ct eroarea nu va fi anulat. Programul P0, care este programul
principal, nu poate fi considerat program de tratare a erorilor. De aceea, n cazul n care
nu se doreste un asemenea program se va selecta valoarea 0.
Opiunea Error output? Y/N se foloseste pentru specificarea unei iesiri digitale care va fi
setat n 1 logic atunci cnd apare o eroare. Pentru aceasta se selecteaz Y (Yes).
Adresa absolut a iesirii trebuie furnizat n cmpul Error output number. Dac nu se
doreste o astfel de indicaie a erorilor atunci se selecteaz N (No).

3.4. Configurarea intrrilor si iesirilor automatului programabil.


Configurarea intrrilor si iesirilor realizeaz o coresponden ntre intrrile/iesirile fizice
(externe) ale automatului programabil si cele numerice (interne). Dac aceast configurare
nu se execut (pentru fiecare proiect) atunci nu se pot accesa intrrile si iesirile fizice.
Orice semnal de intrare n automatul programabil FEC reprezint un bit. O intrare se
noteaz cu litera I urmat de numrul unui cuvnt si de numrul bitului din componena
acestui cuvnt. Cele dou numere sunt separate prin punct. De exemplu: intrarea I5.2
nseamn al trei-lea bit din cuvntul numrul 5 (numrtoarea celor 16 bii ai unui cuvnt
se face de la 0 la 15). Dac se face referire la tot cuvntul numrul 5, atunci se foloseste
notaia IW5 (I = Input, W = Word). Acelasi lucru este valabil pentru iesiri care se noteaz
cu litera O (Output).
Desi un cuvnt are 16 bii, intrrile n FEC (care sunt n numr de 12) au fost grupate de
constructor n dou cuvinte separate. Primul din aceste cuvinte va conine primele 8 intrri
n primii 8 bii. Cel de-al doilea cuvnt va conine ultimele 4 intrri n primii 4 bii. Pentru
iesiri se foloseste un singur cuvnt n care primii 8 bii desemneaz cele 8 iesiri.
La configurarea intrrilor si iesirilor se stabilesc numerele cuvintelor (word) pe care
utilizatorul vrea s le foloseasc pentru desemnarea adreselor absolute ale intrrilor si
iesirilor FEC-ului. Dac se alege pentru intrare, ca adres a primului cuvnt, numrul 0
(cel de-al doilea cuvnt va avea automat numrul 1) atunci, n programare, cele 12 intrri
vor putea fi accesate cu notaiile:

IW0 IW1
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I1.3

Dac se alege pentru iesire, de exemplu, ca adres a cuvntului, numrul 3, n


programare cele 8 iesiri se vor putea accesa cu notaiile:

OW3
O3.0 O3.1 O3.2 O3.3 O3.4 O3.5 O3.6 O3.7

Pentru configurare se alege opiunea I/O Configuration din submeniul Utilities. n fereastra
care apare se apas F1 pentru inserarea unui modul (card) de intrri/iesiri. Obligatoriu se
selecteaza opiunea FEC(vezi fig. 6). Adiional se poate selecta opiunea trimmer pentru
cazul folosirii poteniometrului de pe partea frontal a carcasei FEC-ului. La sfrsitul
operaiei de configurare se apas F1 pentru confirmare, dup care se apas F8 si se
selecteaz opiunea Save and quit editor.
Fig. 6. Fereastra de configurare a intrarilor/iesirilor pentru FEC.

4. Crearea unei liste de alocare.


Variabilele de programare (operanzi) desemneaz locaii de memorie, intrri, iesiri,
temporizatoare, numrtoare, etc. Toate aceste date au o adres intern de forma
prezentat la paragraful 5.5. Pentru memorie se foloseste litera F (flag), pentru
temporizatoare litera T (timer) iar pentru numrtoare litera C (counter). Literele denot
tipul datei iar numerele constituie adresa din memorie. Exemple:
- FW6 este cuvntul numrul 6 din memoria automatului programabil;
- F2.1 este bitul 1 al cuvntului 2 din memorie;
- T1 este temporizatorul 1 din memorie;
- C4 este numrtorul 4.
Variabilele din exemplele de mai sus se numesc operanzi absolui.
Mediul de programare FST permite asocierea de nume simbolice la datele din memorie.
Numele simbolice sunt siruri de caractere care se folosesc n timpul programrii si in locul
operanzilor absolui (notaiilor convenionale ale variabilelor). n acest fel programarea
aplicaiilor complexe se poate face mai usor, numele simbolice fiind asociate cu
echipamentele i aciuni familiare utilizatorului. De exemplu, se pot utiliza asocieri de
genul: I0.3 = START, O0.2 = bec_rosu, T1 = pauza_1s, iar n programe, n loc de I0.3
se va scrie START, n loc de O0.2 se va scrie bec_rosu, etc.
Numele simbolice se numesc operanzi simbolici si pot fi formate din maxim 9 caractere
alfanumerice la care se adaug caracterul _ (underscore). Numele simbolice nu trebuie
s nceap cu o cifr si nu trebuie s conin spaii libere.
n figura 7. se poate vizualiza fereastra de introducere a asocierilor n lista de alocare.
Aceast fereastr se deschide dup selectarea opiunii Allocation List din submeniul
Utilities. Dup deschidere, n bara de stare de la baza ferestrei sunt indicate aciunile
posibile prin apsarea tastelor F1 F8.
Principalul avantaj al utilizrii listei de alocare consta n scrierea si nelegerea mai rapid
a programelor. Un al doilea avantaj se refer la necesitatea reactualizrii unui program n
cazul n care s-au efectuat mici modificri n ordinea semnalelor de intrare sau de iesire.
Dac se folosesc nume simbolice, programul surs poate s rmna neschimbat,
modificrile fcndu-se numai n lista de alocare.
Este recomandat ca lista de alocare s se ntocmeasc nainte de scrierea programelor.
Oricum, n timpul programrii se pot aduga asocieri noi n lista de alocare. La sfrsitul
editrii listei de alocare se termin aciunea apsnd tasta F8 si selectnd opiunea Save
and quit editor.

Fig. 7. Ferestre de editare a listei de alocare.

5. Crearea unui program.


Pentru editarea de programe STL (sau LDR) se folesete submeniul Statement list
(Ladder Diagram) din meniul principal, fig. 4. Acest submeniu ofer comenzi pentru:
- crearea, scrierea i modificarea de programe STL (LDR);
- verificarea corectitudinii
sintactice a programelor
scrise;
- vizualizarea listei de erori n
cazul programelor scrise
incorect;
- ncrcarea unui proiect n
automatul programabil;
- printarea separat a
programelor;
- urmrirea on-line a execuiei
unui program;
- conectarea on-line cu
automatul programabil Fig. 8. Crearea unui program STL.
pentru vizualizarea datelor
din memoria acestuia.
La selectarea primei opiuni din submeniu, STL editor (Ladder editor), se deschide o
fereastr de vizualizare a programelor. Dac nu exist nici un program n proiectul curent
se va deschide fereastra prezentat n figura 8.
Pentru crearea unui program sunt necesare informaiile:
- n cmpul Prog./Module se selecteaz litera P, care este i selecie implicit pentru
crearea unui program principal. Litera B se folosete pentru crearea unui program
modul, (vezi Cap. 6).
- n cmpul Program no. se scrie numrul programului. Numrul maxim de programe
admise n lucrul cu FEC-ul este de 64. La pornirea FEC-ului sau la comutarea
START/STOP, primul program care se va executa va fi P0. De aceea, acesta trebuie
s existe ntotdeauna.
- n cmpul Version no. se scrie versiunea programului. Acelai program, de exemplu
P2, poate avea mai multe versiuni: P2.0, P2.1, P2.2. n memoria FEC-ului se va
ncrca ntotdeauna o singur versiune a unui program. Prin incrementarea numrului
de versiune al unui program se obine automat o copie a vechiului program. Aceast
copie poate fi modificat i adaptat pentru noile cerine ale aplicaiei.
- cmpul Description cuprinde o descriere sumar a programului, dat de utilizator.
Dac exist deja programe STL (LDR) n cadrul proiectului curent, la selectarea opiunii
STL editor (Ladder editor) se deschide o fereastr care conine o list cu programele
create, fig. 9. n continuare se apas tasta F1 pentru crearea unui nou program.

Fig. 9. Lista programelor STL existente n proiectul curent.

Odat creat un program se intr automat n fereastra de editare a programelor. n figura


10 este prezentat editarea unui mic program STL. Din fereastra de editare a programelor
se poate ieii oricnd prin apsarea tastei F8 i dup selectarea opiunii de salvare sau nu
a modificrilor efectuate n program. Pentru salvare se alege opiunea Save and quit
editor.

Fig. 10. Fereastra de editare a programelor STL.

Dac utilizatorul dorete tergerea unui program, aceasta se poate face cu opiunea
Delete Program din submeniul Project management. Va aprea lista cu toate programele
cuprinse n proiectul curent. Se selecteaz un program cu tastele direcionale (, ) dup
care se apas tasta ENTER. Pentru confirmarea comenzii se va selecta Y (Yes) la
ntrebarea Y/N?.
UNIVERSITATEA TEHNICA GH. ASACHI IASI
FACULTATEA DE MECANICA
CATEDRA ORGANE DE MASINI SI MECATRONICA
Disciplina: Actionarea sistemelor mecatronice

LUCRARE DE LABORATOR NR. 3

MODULAR PRODUCTION SYSTEM (MPS) ECHIPAMENT DE INSTRUIRE IN MECATRONICA


Programarea aplicaiilor n limbajul statement list (STL).

1. Scopul lucrarii:
Dobandirea de cunostinte in programarea automatului programabil FEC-20-AC in
limbajul STL

2. Introducere
La programarea n STL, programele sunt alctuite prin scrierea de instruciuni n modul
text. Ca orice limbaj de programare n mod text, limbajul STL folosete un set de cuvinte
cheie. Ordinea de scriere a instruciunilor i tipul acestora determin structura i modul de
funcionare a programelor.
Lucrarea de fa explic cuvintele cheie i structura limbajului STL aa cum a fost
implementat n automatele programabile Festo. Trebuie menionat c limbajele
asemntoare cu STL implementate de alte firme respect aceleai principii i aceeaii
logic de construcie a programelor chiar dac folosesc alte cuvinte cheie.
Subiectele dezvoltate n acest capitol sunt: operanzi i operatori STL, structura
programelor STL, instruciuni STL, temporizatoare, numrtoare, module de programare.

2.1. Operanzi STL.


Operanzii sunt identificatori ai sistemului (intrri, ieiri, timere, numrtoare, etc) i
reprezint numele acestor resurse. 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 (SBO - single bit operands);
operanzi de mai muli biti (MBO - multibit operands) n general 16 bii care formeaz
un cuvnt (word).
Operanzii de un bit pot fi evaluai ca adevrai sau fali (1 sau 0 logic). De asemenea, ei
pot fi modificai din 0 logic n 1 logic sau invers. Evaluarea i modificarea operanzilor de un
bit se realizeaz cu ajutorul ctorva instruciuni specifice ce vor fi prezentate n acest
capitol. n timpul interogrii i modificrii operanzilor de un bit, acetia se ncarc ntr-un
registru special de un bit al procesorului, numit: Single Bit Accumulator (SBA).
Operanzii multibit sunt acele resurse care se pot accesa ntr-un octet (8 bii) sau cuvnt
(word, 16 bii) i care reprezint numere ntregi. Ei pot lua valori n domeniile:
0 255, pentru un octet (8 bii);
0 65535, pentru un cuvnt (16 bii) reprezentat ca numr intreg fr semn;
32767 32767, pentru un cuvnt (16 bii) reprezentat ca ntreg cu semn.
Valoarea operanzilor MBO poate fi testat prin comparare (<, >, =, etc) cu valori constante
sau cu ali operanzi multibit. Instruciuni STL permit modificarea coninutului unui operand
MBO prin:
scrierea n acetia a unor valori constante sau a valorilor altor operanzi MBO;
incrementarea (adunarea cu o unitate a valorii operandului);
decrementarea (scderea cu o unitate a valorii sale);
manipulare a valorii MBO prin intermediul operatorilor multibit aritmetici sau a celor
logici.
n momentul modificrii, operanzii MBO sunt ncrcai ntr-un registru special al
procesorului numit:
MultiBit Accumulator (MBA).
n tabelul 1. sunt prezentati operanzii de un bit. n tabelul 2. sunt prezentai operanzii
multibit.
Tabelul 1. Operanzi SBO ( single bit operand)
Parte a sentinei n
Sintaxa: n i m care poate fi
Forma
Operand reprezint folosit:
STL
numere oarecare. C* condiional;
E* executiv.
Intrare
I In.m C
(Input, Eingang)
Iesire C
O On.m
(Output, Ausgang) E
Flag sau bit de C
memorie F Fn.m
E
(Flag, Merker)
C
Numrtor (Counter) C Cn
E
C
Temporizator (Timer) T Tn
E
Program C
P Pn
(Program) E
*
explicaii sunt date n paragraful 6.4.
Tabelul 2. Operanzi MBO ( multibit operands).
Parte a sentinei n
Sintaxa: n care poate fi
Operand Forma STL reprezint un folosit:
numr oarecare. C* condiional;
E* executiv.
Cuvnt de intrare IW Iwn C
C
Cuvnt de ieire OW Own
E
Cuvnt de C
FW FWn
memorie E
Cuvntul C
(valoarea) unui CW CWn
E
numarator
Cuvntul prestabilit C
CP CPn
al unui numarator E
Cuvntul C
(valoarea) unui TW TWn
E
timer
Cuvntul prestabilit C
TP TPn
al unui timer E
C
Unitate funcional FU FUn
E
C
Registru R Rn
E
*
explicaii sunt date n paragraful 6.4.
Operanzii sunt accesibili din orice program al proiectului curent. n lista de alocare, care a
fost descris in capitolul 5, se pot da nume simbolice tuturor operanzilor SBO sau MBO.
Lista de alocare se poate alctui i pe parcursul editrii programului.

6.3. Operatori de un bit i multibit n limbajul STL.


Se numesc operatori acele simboluri care apar pe lng operanzi, modificnd sau folosind
valoarea numeric sau logic a acestora. De exemplu simbolul + este operatorul de
adunare i se aplic ntre doi operanzi multibit, rezultatul fiind suma celor doi operanzi.
Exist operatori care se aplic operanzilor de un singur bit i operatori care se aplic
operanzilor multibit. n tabelul 6.3 sunt prezentai toi operatorii ce pot fi utilizai n
construcia programelor STL. n coloana Observaii se specific dac operatorii sunt
aplicabili la operanzi de un bit (SBO) sau multibit (MBO).

Tabelul 6.3. Operatori STL.


Simbol Utilizare Observaii
N Not negatie SBO
Valoare zecimala; folosit la introducerea MBO
V
valorilor constante de ctre utilizator.
Valoare hexazecimala; folosit la introducerea MBO
V$
valorilor constante de ctre utilizator.
Valoare binara; folosit la introducerea valorilor MBO
V%
constante de ctre utilizator.
+ Adunarea a doi operanzi MBO
- Scderea a doi operanzi MBO
* nmulirea a doi operanzi MBO
/ mprirea a doi operanzi MBO
< Compararea a doi operanzi mai mic dect MBO
> Compararea a doi operanzi mai mare dect MBO
= Compararea a doi operanzi egal cu MBO
<> Compararea a doi operanzi diferit de MBO
Compararea a doi operanzi mai mic sau MBO
<=
egal ca
Compararea a doi operanzi mai mare sau MBO
>=
egal ca
Parantezele sunt folosite pentru stabilirea SBO, MBO
()
prioritilor de evaluare n expresii complexe

2.2. Structura unui program STL.


Pentru scrierea unui program n limbajul STL se poate alege ntre trei structuri posibile:
1) program cu pai (STEP program);
2) program paralel;
3) program executiv.
Primul tip de program este cel mai general exemplu. Urmtoarele dou sunt cazuri
particulare obinute prin simplificarea celui dinti.

1) Un program cu pai poate conine pn la 255 de pai. Paii programului sunt


delimitai de instruciunea STEP, urmat (opional) de un nume sau un numr dat de
utilizator. Urmtorul pas ncepe la urmtoarea instruciune STEP. Numrul sau numele
pasului este folosit pentru claritatea programului i pentru instruciuni de salt la pasul de
interes din oricare parte a programului. Instruciunea de salt se va studia n paragraful 6.5.
Un pas al programului cuprinde una sau mai multe sentine. O sentin complet conine:
o clauz condiional format din cuvntul cheie IF urmat de o expresie logic
simpl sau complex care se va evalua ca fiind adevrat sau fals. n expresia logic
pot aprea operanzi SBO, operatori de comparaie cu operanzi MBO, alte instruciuni.
o clauz executiv format din cuvntul cheie THEN urmat de un set de instruciuni
care se vor executa numai n cazul n care partea condiional a fost evaluat ca fiind
adevrat;
o clauz executiv alternativ format din cuvntul cheie OTHRW urmat de un set
de instruciuni care se vor executa dac expresia logic din partea condiional (IF) se
evalueaz ca fiind fals. Instruciunea OTHRW poate s nu apar dac utilizatorul nu
dorete prelucrri dect n clauza THEN.

De reinut:
Toate instruciunile din partea executiv, THEN, se execut numai dac expresia logic
care urmeraz dup cuvntul cheie IF, este adevrat.

Partea executiv cuprinde toate instruciunile care urmeaz dup cuvntul cheie THEN i
pn la ntlnirea unei unuia din cuvintele cheie IF, STEP sau OTHRW.

Exemplul 1: Program cu pai (STEP program)

STEP init ; pasul init al programului


IF I0.1 ; dac exist semnal la intrarea I0.1 (parte condiional)
AND N I0.2 ; I dac NU exist semnal la intrarea I0.2 (parte condiional)
THEN ; atunci (parte executiv)
SET O0.1 ; atunci transmite semnal la ieirea O0.1 (parte executiv)
SET O0.2 ; transmite semnal la ieirea O0.2 (parte executiv)

STEP 1 ; pasul 1 al programului


THEN
RESET O0.3 ; nu transmite semnal la ieirea O0.3
IF
THEN
OTHRW

n prima sentin din cadrul unui pas (imediat dup STEP) se poate omite partea
condiional i se poate ncepe direct cu o instruciune THEN, aceasta fiind o sentin
incomplet. Instruciunile din aceast parte a programului i pn la ntlnirea unuia din
cuvintele cheie IF i STEP, se vor executa ntotdeauna.
Un program STEP este executat pas cu pas. Programul va trece la pasul urmtor numai
dac, la ultima sentin a pasului curent, se execut:
fie instruciunile care urmeaz dup THEN (partea condiional este adevrat);
fie pe cele care urmeaz dup OTHRW, dac exist (partea condiional este fals).
Dac nu exist clauza OTHRW i partea condiional este fals atunci programul reia
(execut de la nceput) instruciunile pasului curent. n acest fel se ateapt ndeplinirea
ultimei condiii pentru trecerea la pasul urmtor.

De reinut:
n ultima sentin IF THEN a pasului curent, se stabilete dac programul trece la pasul
urmtor sau reia instruciunile pasului curent.

2) Un program paralel const doar n una sau mai multe sentine. ntr-un astfel de
program nu exist pai. n fapt, tot programul este echivalent cu un pas dintr-un program
STEP. Prima sentina a acestui program poate fi una incomplet (ncepe direct cu THEN).
Toate celelalte sentine trebuie s fie complete.
Un program paralel este rulat ciclic (n continuu) pn cnd acesta este dezactivat (oprit)
prin comanda RESET Pn (n este numrul programului). Comanda de dezactivare se
poate da din oricare alt program sau chiar din programul Pn. Ultima variant cuprinde i
cazul n care se dorete ca programul paralel s se execute o singur dat. n acest caz
trebuie ca n ultima instruciune se existe o comand RESET Pn. n exemplul 2, numele
programului este P1. Se observ c la ultima sentin acesta se auto-dezactiveaz
necondiionat.

Exemplul 2: Program paralel.

THEN RESET F0.0 ; foreaz n 0 logic flagul F0.0


IF N I1.0 ; Dac nu exist semnal la intrarea I0.1
THEN SET O0.7 ; atunci transmite semnal la ieirea O0.7.
IF I1.7 ; Dac exist semnal la intrarea I1.7
THEN SET O1.7 ; atunci transmite semnal la ieirea O1.7
OTHRW SET F0.0 ; Altfel foreaz n 1 logic flagul F0.0
RESET O1.7 ; i nu transmite semnal la ieirea O1.7.
...
IF F0.0 ; Dac flagul F0.0 are valoarea logic 1
AND I1.0 ; i dac la intrarea I1.0 exist semnal
THEN SET O1.0 ; atunci transmite semnal la ieirea O1.0
RESET P1 ; i dezactiveaz programul curent, P1.
OTHRW RESET P1 ; Altfel dezactiveaz programul curent, P1.

De reinut:
Un program paralel NU conine cuvntul cheie STEP.

3) Programul executiv este echivalent cu o sentin incomplet dintr-un program paralel.


Diferena consist n faptul c nu exist o introducere cu cuvntul cheie THEN.
Instruciunile dintr-un program executiv se execut n totalitate deoarece nu exist o
clauz condiional. Dac se va introduce o clauz IF n interiorul programului va rezulta o
eroare de sintax la compilarea programului. Exemplul 3 este un program executiv.

Exemplul 3: Program executiv.

SET F0.0 ; seteaz flagul F0.0


RESET O1.0 ; nu transmite semnal la ieirea O1.0
LOAD V50 ; ncarc n acumulatorul MBA numrul zecimal 50
TO FW7 ; ncarc din acumulatorul MBA n cuvntul memoriei F7, valoarea
zecimal 50
... ; alte instruciuni
De reinut:
Un program executiv NU conine cuvintele cheie STEP, IF i THEN.

2.3. Instruciuni STL.


Limbajul STL ofer un set de instruciuni care permit scrierea uoar a programelor
destinate a controla automatizri simple sau complexe. n tabelul 44. sunt prezentate,
mpreun cu o scurt descriere, toate instruciunile limbajului STL implementat pe
automatele programabile FESTO.

Tabelul 4. Instruciunile limbajului STL.


Instruciune Semnificaie
1 AND Execut funcia I logic ntre doi operanzi (de un bit sau multibit)
2 BID Convertete coninutul acumulatorului multibit din cod binar n cod BCD
3 CFM n ncepe execuia sau iniializeaz un modul functional (rutin de sistem
standard)
4 CMP n ncepe execuia unui modul de program (subrutin sau funcie de
bibliotec)
5 CPL Complementul lui 2 al acumulatorului multibit ( echivalent cu o nmultire
cu -1)
6 DEC Decrementeaz un operand sau acumulatorul multibit
7 DEB Convertete coninutul acumulatorului multibit din cod BCD n cod binar
8 EXOR Execut funcia logic SAU Exclusiv ntre doi operanzi (de un bit sau
multibit)
9 IF Cuvant cheie ce marccheaz nceputul prii condiionale a unei sentine
10 INC Incrementeaz un operand sau acumulatorul multibit
11 INV Produce complementul fa de 1 al acumulatorului multibit
12 JMP TO Execut un salt la pasul cu numele (sau numrul): xx
xx
13 LOAD xx ncarc operandul xx de un singur bit (sau multibit) n acumulatorul de un
singur bit (sau multibit)
14 NOP Instructiune special, ntotdeauna adevarat n partea conditionala. Este
utilizat i n partea executiv a unei sentine unde execuia ei nseamn:
nu face nimic!
15 OR Executa funcia logic SAU ntre doi operanzi (de un bit sau multibit)
16 OTHRW Ofer posibilitatea de a continua un program dac partea condiional a
unei instruciuni nu este adevrat
17 PSE Program Section End. Reia programul sau pasul de la prima instruciune.
Aceast instruciune nu este utilizabil pentru FEC.
18 RESET Schimb valoarea unui operand de un bit. Valoarea final este totdeauna
0 logic.
19 ROL Rotete la stnga cu o poziie toi biii coninui de acumulatorul multibit.
Bitul cel mai semnificativ (MSB) trece n cel mai putin semnificativ (LSB)
20 ROR Rotete la dreapta cu o poziie toi biii coninui de acumulatorul multibit.
Bitul cel mai puin semnificativ (LSB) trece n cel mai semnificativ (MSB)
21 SET Schimb valoarea unui operand de un bit. Valoarea final este todeauna
1 logic.
22 SHIFT Execut o interschimbare ntre un operand de un singur bit i
acumulatorul de un singur bit (SBA)
23 SHL Translateaz la stnga cu o poziie toi biii coninui de acumulatorul
multibit. Bitul cel mai semnificativ (MSB) este pierdut iar cel mai puin
semnificativ (LSB) este resetat la 0 logic
24 SHR Translateaz la dreapta cu o poziie toi biii coninui de acumulatorul
multibit. Bitul cel mai puin semnificativ (LSB) este pierdut iar cel mai
semnificativ (MSB) este resetat la 0 logic
25 SWAP Schimb ntre ei octeii superior i inferior ai acumulatorului multibit (MBA)
26 TO Utilizat cu instruciunea LOAD pentru a specifica un operand destinaie
27 THEN Cuvant cheie ce indic nceputul prii executive a unei instruciuni
28 WITH Utilizat pentru a furniza parametrii modulelor CFM sau CMP (n cazurile n
care acestea cer parametri)

n continuarea acestui paragraf se vor detalia cele mai folosite instruciuni i se vor da
exemple de utilizare a lor.

Instruciunile SET i RESET sunt comenzi date operanzilor SBO pentru activare respectiv
dezactivare. Comenzile, aplicate asupra aceluiai operator, se anuleaz una pe cealalt.
n tabelul 5. sunt explicate efectele comenzilor asupra operanzilor de un bit.

Tabelul 5. Aciunea instruciunilor SET i RESET asupra operanzilor SBO


Operan
Sintaxa Efect
d
SET O1.6 Activeaz ieirea 1.6
Ieire RESET
Dezactiveaz ieirea 1.6
O1.6
SET F2.1 Foreaz starea memoriei F2.1 n 1 logic
Flag
RESET F2.1 Foreaz starea memoriei F2.1 n 0 logic
1) CW2 este ncrcat cu valoarea 0
SET C2
2) Bitul C2 este activat (devine 1 logic)
Counter
1) Bitul C2 este dezactivat (devine 0 logic)
RESET C2
2) CW2 rmne neschimbat
1) Valoarea TP este ncrcat n TW
SET T5
Timer 2) Bitul T5 este activat (devine 1 logic)
RESET T5 Bitul T5 este dezactivat (devine 0 logic)
Programul P1 este activat i ruleaz de la
SET P1
nceput
Program
Programul P1 este dezactivat i nu se mai
RESET P1
execut

Instruciunea LOAD TO este deosebit de folosit n lucrul cu operanzi multibit. Ea se


poate aplica i la operanzi de un bit. Aplicat unui operand multibit, instruciunea LOAD
are ca efect ncrcarea valorii operandului respectiv n acumulatorul multibit (MBA). Dac
se aplic asupra unui operand SBO, valoarea logic a acestuia se va copia n
acumulatorul de un bit (SBA).
Scopul instruciunii este de a permite efectuarea de operaii logice sau matematice. De
asemenea, acumulatoarul poate fi un pas intermediar pentru transferul unor valori ntre
diferii operanzi. Partea LOAD surs, ncarc n acumulator (SBA sau MBA) operandul
surs. Partea TO destinaie, descarc valoarea din acumulator n operandul destinaie.
ntre operaiile de ncrcare i descrcare se pot executa diverse alte operaii asupra
coninutului acumulatorului. Exemplele care urmeaz sunt semnificative.

a) Exemple pentru operanzi de un bit (SBO).


1) LOAD I1.0 ; ncarc n SBA starea logic a intrrii I1.0
TO O1.0 ; copiaz aceast stare la ieirea O1.0
2) LOAD I1.0 ; ncarc n SBA starea logic a intrrii I1.0
AND N I1.1 ; operaie logic ntre SBA i I1.0 negat. Rezultatul se
nregistreaz n SBA.
TO O0.1 ; copiaz SBA la ieirea O1.0

Exemplele de mai sus sunt instruciuni STL valabile dar se pot nlocui cu instruciuni de
mai jos, care sunt mai uzuale:

1) IF I1.0
THEN SET O1.0
OTHRW RESET O1.0

2) IF I1.0
AND N I1.0
THEN SET O0.1
OTHRW RESET O0.1

b) Exemple pentru operanzi multibit (MBO).


1) LOAD V100 ; ncarc n acumulator valoarea zecimal 100
TO TP1 ; copiaz valoarea 100 n cuvntul Timer Preselect al
temporizatorului 1
TO R10 ; copiaz aceeai valoare 100 n registrul 10.

2) LOAD IW1 ; ncarc n acumulator coninutul cuvntului de intrare IW1


AND V$0F ; execut funcia SI multibit cu valoarea hexazecimal
0F
TO OW0 ; copiaz rezultatul n cuvntul de ieire OW0

n exemplul 2 s-au pstrat numai intrrile din primii 4 bii ai cuvntului de intrare IW1.
Procedeul se numete mascare. Masca este valoarea hexazecimal 0f care n binar se
scrie 00001111. Dup operaia logic SI, pot fi diferii de zero numai primii 4 bii.

3) Dac un automat programabil are 4 cuvinte de ieire de 16 bii fiecare: OW0, OW1,
OW2, OW3, resetarea tuturor ieirilor prin metode uzuale (RESET OW0.1, RESET
OW0.2, OW4.15) ar necesita 64 de linii de cod STL. Utiliznd instruciunea LOAD
aceast operaie se poate face n 5 linii de cod, conform exemplului de mai jos.
LOAD V0
TO OW0
TO OW1
TO OW2
TO OW3

Observaie:Instruciunea LOAD este una dintre cele mai puternice instruciuni din
limbajul STL. Trebuie reinut c o instruciune LOAD pregtete sistemul pentru
urmtoarele instruciuni. Dintre instruciunile care, de regul, se folosesc dup LOAD, se
amintesc: SHL, SHR, ROL, ROR, SWAP, AND, OR, EXOR, etc.

Instruciunea JMP TO furnizeaz un mijloc eficient de a influena cursul execuiei


programului. Prin utilizarea instruciunii JMP TO.. se poate ocoli regula ca ultima sentin
dintr-un pas s fie adevrat pentru ca programul s treac la pasul urmtor. Instruciunea
JMP TO.. poate fi utilizat pentru a stabili o prioritate de execuie a sentinelor dintr-un
anumit pas al programului. Exemplul urmtor folosete instruciunea JMP TO.. pentru
tratarea situaiei n care s-a apsat butonul EMERGENCY STOP. n funcionare normal
acest buton este normal nchis.

STEP 20
; alte sentine n pasul 20
IF N I1.1 ; Dac s-a apsat butonul EMERGENCY STOP
THEN LOAD V0 ; incarc valoarea 0 n acumulator
TO OW0 ; reseteaz toate ieirile (uzual pentru cazuri de
urgen)
. JMP TO 80 ; alte sentine n pasul 20
. ; ali pai ai programului
STEP 80
IF I1.1 ; Dac s-a apsat butonul de oprire de urgen
ateapt n
AND I2.1 ; acest loc pn se va apsa butonul de reset
(I2.1) a
THEN JMP TO 20 ; instalaiei i atunci se va continua programul de
la pasul 20

Urmtorul exemplu de utilizare a instruciunii JMP TO ilustreaz situaia n care un


operator poate selecta o opiune din 3 posibiliti.

STEP 40
IF I1.1 ; Dac intrarea 1.1 este singura activ
AND N I1.2 ;
AND N I1.3 ;
THEN JMP TO 100 ; execut salt la pasul 100

IF N I1.1 ;
AND I1.2 ; Dac intrarea 1.2 este singura activ
AND N I1.3 ;
THEN JMP TO 150 ; execut salt la pasul 150
IF N I1.1 ;
AND N I1.2 ;
AND I1.3 ; Dac intrarea 1.3 este singura activ
THEN JMP TO 200 ; execut salt la pasul 200

Prin ordonarea atent a mai multor sentine ntr-un pas, mpreun cu folosirea instruciunii
JMP TO, se pot stabili prioriti de execuie a programului. n exemplul ce urmeaz se
presupune c toi paii pn la 50 conin instruciuni pentru procese de automatizare iar de
la pasul 50 pn la pasul 60, programul verific intrrile I1.1, I1.2, I1.3 i ateapt pn la
apariia uneia din acestea. Numai una din cele 3 posibile intrri va fi tratat i, dac exist
mai multe intrri la un moment dat, intrarea I1.1 va avea cea mai mare prioritate.

STEP 60
IF N I1.1 ; Dac nici o intrare
AND N I1.2 ; din cele trei
AND N I1.3 ; nu este activ
THEN JMP TO 60 ; atunci reia execuia pasului 60 (bucl de
ateptare)

IF I1.1 ; Dac intrarea 1.1 este activ


THEN JMP TO 100 ; execut salt la pasul 100

IF I1.2 ; Dac intrarea 1.2 este activ


THEN JMP TO 150 ; execut salt la pasul 150

IF N I1.1 ;
AND N I1.2 ;
AND I1.3 ; Dac intrarea 1.3 este activ
THEN NOP ; atunci nu executa nimic i treci mai departe
(pasul urmtor)

Instruciunea NOP nseamn nici o operaie (NO Operation) i orict ar prea de ciudat
este deseori util n programele STL. Consecinele utilizrii acestei instruciuni depind de
locul unde este utilizat ntr-o sentin. n partea condiional instruciunea NOP va fi
ntotdeauna adevrat (1 logic) i deci instruciunile din partea executiv se vor executa.

STEP 45
IF NOP ; ntotdeauna adevrat (1 logic)
THEN SET T6 ; atunci starteaz temporizatorul T6
RESET F1.1 ; reseteaz bitul 1 al flag-ului FW1

Dac un pas al unui program conine mai multe sentine care trebuie s fie prelucrate
continuu, instruciunea NOP poate fi utilizat pentru controlul cursului execuiei
programului.

STEP 11
IF I1.4 ; Dac intrarea 1.4 este activ
THEN SET T4 ; atunci starteaz temporizatorul 4

IF I3.0 ; Dac este activ intrarea 3.0 (START MANUAL)


THEN SET O1.6 ; atunci pornete motorul (ieirea 1.6)
OTHRW RESET O1.6 ; altfel oprete motorul

IF T4 ; Dac temporizatorul 4 este pornit


AND O1.6 ; i motorul este pornit
THEN INC CW3 ; incrementeaz numrtorul 3

IF N I2.2 ; Dac s-a apsat butonul EMERGENCY STOP


THEN JMP TO 90 ; atunci execut salt la pasul de tratare a acestei
situaii

IF NOP ; ntotdeauna
THEN JMP TO 11 ; continu de la nceputul pasului curent

STEP 90
IF I2.2 ; Dac butonul EMERGENCY STOP a fost
reactivat
AND I3.3 ; i butonul RESET a fost apsat (se ateapt
aceste condiii)
THEN JMP TO 11 ; atunci continu scanarea pasului 11

Cnd este folosit n partea executiv a unei sentine instruciunea NOP este echivalent
cu nu face nimic. Dei acest lucru pare s nu aib valoare practic, instruciunea este
util n cazurile cnd programul trebuie s atepte ndeplinirea unui set de condiii nainte
de a se merge mai departe. Exemplul urmtor relev aceast situaie.

STEP 60
IF I1.5 ; Dac intrarea 1.5 este activ
AND T7 ; i temporizatorul 7 merge
AND N C2 ; i numrtorul 2 a terminat de numrat
THEN NOP ; atunci condiiile de mai sus sunt satisfcute i se
poate
; merge mai departe

Instruciunile INC i DEC se folosesc pentru incrementarea, respectiv decrementarea cu 1


a operandului multibit la care sunt aplicate. Spre deosebire de alte operaii aritmetice, nu
este nevoie de ncrcarea operandului n acumulator naintea operaiei propriu-zise.
Instruciunile INC i DEC se pot utiliza cu orice operand multibit dar, de regul, ele se
utilizeaz pentru actualizarea numrtoarelor. Aplicarea ambelor instruciuni asupra unui
operator multibit este exemplificat mai jos.

Pe o linie automat de ncrcat sticle, intrarea I1.3 este activat de fiecare dat cnd o
sticl trece prin dreptul staiei de numrare. Numrul total de sticle este memorat n
registrul R9. Se poate ntmpla ca o sticl s nu fie umplut n totalitate i acest lucru se
sesizeaz cu senzorul I3.6 plasat dup staia de numrare. n cazul acesta numrul total
de sticle memorat n registrul R9 trebuie sczut cu 1 iar sticla respectiv va fi reintrodus
n circuitul de umplere. Programul STL care realizeaz aceast automatizare este
prezentat n continuare.

IF I1.3 ; intrarea 1.3 sesizeaz toate sticlele care trec prin staia
de numrare
THEN INC R9 ; i actualizeaz numrul acestora n registrul R9
IF I2.2 ; Dac o sticl a ajuns la staia de testare a nivelului de
umplere
AND N I3.6 ; i sticla nu este plin
THEN DEC R9 ; atunci se reduce cu 1 numrul total al sticlelor memorat
n R9
SET O2.1 ; i se reintroduce sticla n circuitul de umplere

Instruciunea INC R9 este echivalent cu instruciunile:


LOAD R9
+V1
TO R9
ceeace accentueaz observaia despre flexibilitatea instruciunii LOADTO
Instruciunea AND este folosit :
- pentru operaia logic SI ntre doi sau mai muli operanzi SBO sau MBO n partea
condiional a unei sentine;
- pentru evaluarea funciei SI logic ntre doi operanzi MBO fie n partea condiional fie
n cea executiv a unei sentine

Exemple:
1) operanzi SBO.

IF I1.1 ; daca intrarea 1.1 are semnal


AND T6 ; i temporizatorul T6 este activat
THEN SET O1.5 ; atunci transmite semnal la ieirea 1.5

2) operanzi MBO
a) utilizare n partea condiional
IF ( R6 ; dac operandul multibit obinut prin funcia I logic
AND R7 ) ; ntre regitrii 6 i 7
= V34 ; este egal cu 34 (valoare zecimal)
THEN . ; atunci . (partea executiv)
b) utilizare n partea executiv
IF . ; dac (parte condiional)
THEN LOAD ( R38 ; atunci ncarc n acumulatorul multibit operandul
AND R45) ; obinut cu funcia SI logic ntre regitrii 38 i 45
TO R17 ; descarc coninutul acumulatorului n registrul
17.

Instruciunile OR i EXOR au acelai regim de utilizare ca i instruciunea AND. n


continuare se va da un exemplu de aplicare a funciei EXOR (Sau Exclusiv).
Exemplu:
Pe o staie de umplere n serii de 8 sticle, exist 8 poziii de umplere. Sticlele sosesc la
aceast staie transportate pe o band rulant. Cnd o sticl ajunge n poziia 8 linia se
oprete i sticlele prezente sunt umplute. n fiecare poziie de umplere (n afar de poziia
8) este posibil ca la un moment dat s existe sau nu o sticl. Cnd la staie s-au terminat
de umplut sticlele prezente ciclul se reia pentru o nou serie.
Intrrile I0.0 I0.7 sunt conectate la senzorii de prezen a sticlelor n poziiile de
umplere. Intrarile I1.0I1.7 sunt conectate la senzorii de umplere. Ieirile O0.0O0.7
controleaz dozatoarele de lichid. Ieirea O1.0, cnd este setat, nchide o poart pentru
a imobiliza sticlele n timpul umplerii.

STEP 10
IF N O1.0 ; Dac sticlele nu sunt oprite
AND I0.7 ; i o sticl exist la ultima poziie (poziia I0.7)
THEN SET O1.0 ; oprete sticlele din micare
LOAD ( IW0 ; nregistreaz care sticle sunt prezente
EXOR IW1) ; i nu sunt umplute
TO OW0 ; comand umplerea sticlelor.
IF ( OW0 ; Dac toate ieirile
= V0 ) ; sunt oprite
AND O1.0 ; i linia este oprit pentru umplere
THEN RESET O1.0 ; atunci repornete banda pentru urmtorul ciclu
JMP TO 10 ; i reia programul de la pasul 10

Instruciunile SHL (SHift Left) i SHR (SHift Right) sunt instruciuni care deplaseaz toi
biii acumulatorului multibit cu o poziie spre stnga (n cazul SHL) sau spre dreapta (n
cazul SHR). Bitul care dispare dup aceast mutare va fi pierdut. Bitul care apare va fi 0
logic. n tabelul 6.6. se d un exemplu de folosire al celor dou comenzi.

Tabelul 6.6. Efecte ale instruciuniloe SHL i SHR


Rezultat Operaie
1010111100001001 LOAD R10
10101111000010010 SHL (prima)
01011110000100100 SHL (a doua)

1010111100001001 LOAD R10


0101011110000100 SHR (prima)
1
0010101111000010 SHR (a doua)
0

Instruciunea SHL poate fi folosit pentru nmulirea cu 2 a coninutului acumulatorului.


Utilizatorul trebuie s verifice nainte c bitul 16 nu este 1 logic. Altfel valoarea obinut nu
mai este rezultatul nmulirii cu 2 i se obine o eroare numit overflow.
n acelai mod pentru mprirea valorii acumulatorului multibit cu 2 se poate folosi
instruciunea SHR. Rezultatul este un numr ntreg chiar dac valoarea iniial a fost un
numr impar.
Exemplul urmtor prezint o seciune de program STL pentru automatizarea unei linii de
asamblare. Instruciunea SHL se folosete pentru simplificare programrii prin utilizarea
repetat a acesteia asupra aceluiai operand multibit. Metoda se numete Shift Register.

Exemplu:O linie de asamblare de cartue cu band pentru imprimante este compus din
10 posturi de lucru. Procesul ncepe n postul numrul 1 unde o carcas de cartu este
plasat pe linia de asamblare. La postul numrul 10 cartuul complet este descrcat ntr-o
main de ambalat. La fiecare post de lucru (1...10), dup teminarea operaiei de
asamblare corespunztoare, este efectuat i o verificare a calitii. Piesele cu defecte
sunt imediat scoase de pe linia de asamblare. n plus, cnd maina se pornete dimineaa
(dup ce s-a oprit seara), numai posturile de lucru n care existau componente bune (la
oprire) trebuie s reia lucrul. Fiecare post de lucru conine senzori pentru asigurarea
poziionrii corespunztoare a pieselor naintea operaiei de asamblare.

Ca operand multibit se folosete cuvntul de memorie (flag) FW1. n primii 10 bii ai


cuvntului FW1 vor fi 1 logic numai acei bii corespunztori posturilor de lucru valide.

STEP 40
IF F1.1 ; Dac n postul 1 exist o pies bun
AND N T1 ; i operaia de asamblare s-a terminat
AND N I2.1 ; iar senzorul de calitate este neactivat (piesa nu
este bun)
THEN RESET F1.1 ; atunci dezactiveaz bitul 1 al cuvntului FW1.

IF F1.2 ; la fel ca mai sus pentru postul 2


AND N T1 ;
AND N I2.2 ;
THEN RESET F1.2 ;
.
IF F1.10 ; la fel ca mai sus pentru postul 10
AND N T1 ;
AND N I2.10 ;
THEN RESET F1.10 ;

IF T1 ; Dac operaia s-a terminat


THEN SET O1.1 ; atunci indexeaz linia de asamblare

STEP 50
IF N I2.0 ; linia de asamblare este nc n micare pentru
indexare
THEN LOAD FW1 ; ncarc cuvntul FW1 n acumulator
SHL ; deplaseaz la stnga coninutul acumulatorului
+ V1 ; seteaz primul bit la 1 logic (n postul 1 va fi o
pies nou)
TO FW1 ; i copiaz rezultatul n acelai cuvnt FW1

STEP 60
IF I2.0 ; Dac linia a terminat micarea de indexare
THEN RESET O1.1 ; atunci oprete micarea ei
JMP TO 20 ; i reia programul de la pasul 40.

Instruciunile ROL i ROR rotesc coninutul acumulatorului multibit spre stng respectiv
dreapta cu o poziie. Utilizarea lor este asemntoare cu cea a instruciunilor SHL i SHR.
Tabelul 6.7. explic efectul aplicrii acestor instruciuni asupra MBA.

Tabelul 6.7. Efecte ale instruciuniloe ROL i ROR


Rezultat Operaie
1010111100001001 LOAD R10
10101111000010011 ROL (prima)
01011110000100110 ROL (a doua)

1010111100001001 LOAD R10


1101011110000100 ROR (prima)
1
0110101111000010 ROR (a doua)
0

Instruciunile CPL i INV sunt asemntoare dei se aplic n situaii diferite. Instruciunea
CPL se folosete pentru operaia de complement fa de 2 a coninutului acumulatorului
multibit (MBA). Reprezentarea n complement fa de 2 este o tehnic uzual n aritmetica
binar. Prin aceast tehnic se reprezenta digital numerele negative. Cnd CPL se aplic
la numere ntregi cu semn se obine numrul nmulit cu (1). De exemplu complementul
fa de 2 al numrului 10 este 10. Aceasta din urm este principala utilizarea a
instruciunii CPL. Tabelul 6.8. arat modul de obinere a unui complement fat de 2 aplicat
la un operand de 16 bii.

Tabelul 6.8. Rezultate obinute cu instruciunile CPL i INV


Operand Operaie
0001 0111 1001 1101 MBO
1110 1000 0110 0011 CPL ( = INV + 1)
1110 1000 0110 0010 INV (= CPL 1)
Mod de obinere a rezultatului
Formula de obinere a
16
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (= 2 1) complementului fat de 2 al unui
0001 0111 1001 1101 (operand MBO (16 bii) este:
MBO)
1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 + rezultat INV CPL( MBO) = 216 MBO
0000 0000 0000 0001 ( + 1)
16
1110 1000 0110 0011 rezultat 2 = 1 0000 0000 0000 0000 =
CPL 1111 1111 1111 1111 +
0000 0000 0000 0001

Instruciunea INV inverseaz toi biii acumulatorului multibit (MBA). Cnd se aplic la
intregi cu semn, operaia este echivalent cu nmulirea numrului cu (1) dup care
acesta se adun cu acelai ( 1). De asemenea instruciunea INV este echivalent cu
operaia de negare bit cu bit a unui operand multibit. Urmtorul cod STL exemplific
utilizarea instruciunii INV.

O main de amestecat (mixer) are 16 puncte de lucru. Ciclul de lucru const n alternarea
n timp a perioadelor de scuturare cu cele de ateptare a limpezirii produsului. La
funcionarea normal a mainii, muncitorii nlocuiesc aleator oricare din cele 16 containere
de lucru. De aceea, la pornirea operaiei de scuturare, trebuiesc activate numai posturile
de lucru care conin containere. Pentru detectarea containerelor se folosesc senzori de
proximitate.

STEP 10
IF N T1 ; Dac ciclul scuturare ateptare s-a ncheiat
THEN LOAD OW1 ; atunci ncarc n MBA starea ieirilor
INV ; inverseaz rezultatul (staiile care au stat, acum vor
lucra)
AND IW1 ; verific prezena containerelor ( dar numai cele cu
containere)
TO OW1 ; noua comand de lucru a staiilor
SET T1 ; activeaz temporizatorul 1
STEP 20
IF N T1 ; ateapt trecerea timpului necesar completrii
procesului
THEN JMP TO 10 ; dup care se reia pasul 10.

Instruciunea SHIFT execut o schimbare ntre valorile logice ale unui operand de un bit
(SBO) i acumulatorul de un bit (SBA). Instruciunea este folosit pentru operaii de
manipulare la nivel de bit. n acest fel se poate modifica orice bit dintr-un operand multibit.
nainte de folosirea instruciunii trebuie ncrcat n acumulatorul de un bit (SBA) valoarea
logic dorit.

n exemplul urmtor de fiecare dat cnd intrarea I1.0 este activat ieirile O1.1 pn la
O1.4 trebuie actualizare n felul urmtor.
- Ieirea O1.4 va lua valoarea anterioar a ieirii O1.3;
- Ieirea O1.3 va lua valoarea anterioar a ieirii O1.2;
- Ieirea O1.2 va lua valoarea anterioar a ieirii O1.1;
- Ieirea O1.1 va lua valoarea intrrii I1.1;

STEP 10
IF I1.0 ; Dac intrarea I1.0 este activ
THEN LOAD I1.1 ; atunci ncarc n SBA starea intrrii I1.1
TO F0.0 ; aceast stare este memorat i n flagul F0.0
SHIFT O1.1 ; n O1.1 va fi memorat starea lui I1.1 (n SBA se va
ncrca O1.1)
SHIFT O1.2 ; n O1.2 va fi memorat starea lui O1.1 (n SBA se va
ncrca O1.2)
SHIFT O1.3 ; n O1.3 va fi memorat starea lui O1.2 (n SBA se va
ncrca O1.3)
SHIFT O1.4 ; n O1.4 va fi memorat starea lui O1.3 (n SBA se va
ncrca O1.4)
STEP 20
IF N I1.0 ;
THEN JMP TO 10 ;

Instruciunea SWAP se aseamn cu instruciunea SHIFT dar se aplic pentru operanzi


multibit. Efectul ei este de a inversa valorile celor doi octei ai acumulatorului multibit MBA.
nainte de utilizare trebuie ncrcat n acumulator un operand multibit. n tabelul 6.9. se d
un exemplu simplu din care se poate observa efectul acestei instruciuni.

Tabelul 6.9. Aplicaie a instruciunii SWAP.


0000 0000 1111 1111 LOAD MBO
1111 1111 0000 0000 SWAP
1111 1111 0000 0000 TO MBO

Instruciunile BID i DEB sunt folosite pentru trecere din sistemul binar n cel binar codat
zecimal (BID) i invers (DEB). Sistemul de numeraie binar este cel utilizat n mod obinuit
n automatul programabil. Sistemul binar codat zecimal este folosit pentru comunicarea cu
aparate de afiare digital. n acest din urm sistem fiecare 4 bii reprezint o cifr. Deci
16 bii pot reprezenta 4 cifre pe un afior digital. Cu patru cifre se poate numra de la 0 la
9999. n tabelul 6.10. se prezint corespondena ntre cifrele din baza 10 i valorile lor n
sistemul binar codat zecimal. n ambele cazuri operandul MBO trebuie ncrcat n
acumulator. Instruciunea BID transform numrul binar ntr-un numr de 4 cifre, binar
codat decimal. Instruciunea DEB transform cele 4 cifre n numr binar.

Tabelul 6.10. Sistemul binar codat zecimal


0 1 2 3 4 5 6 7 8 9 Zecima
l
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Binar
2.4. Temporizatoare (Timers).
Temporizatoarele n automatele programabile FESTO sunt tipuri speciale de date
constituite din trei operanzi. Referindu-ne la timerul numrul n, acetia sunt:
Tn Timer Status;
TPn Timer Preselect;
TWn Timer Word;
Pentru FEC sunt disponibile 256 de temporizatoare, numerotate de la 0 la 255.

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 instruciunile SET Tn respectiv RESET Tn.

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.

Exemplu: LOAD V200 ; ncarc valoarea zecimal 200 (2 secunde)


TO TP2 ; n cuvntul Preselect al temporizatorului 2

La anumite automate programabile, intervalele de timp, numite i baze de timp, pot fi


configurate de utilizator (de exemplu 0,01s; 0,1 s; 1s; 10s). La automatul programabil FEC
baza de timp este de o sutime de secund (0,01s), acesta fiind cel mai mic interval de timp
care se poate temporiza. Deoarece numrul maxim al unui word este de 65535 rezult c
cea mai mare durat de timp care poate fi obinut pentru un timer este de 655s, adic
aproximativ 10 minute. Pentru durate de timp mai mari se pot folosi combinaii ntre un
timer i un counter.

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
temporizatorul se dezactiveaz.

Utilizarea temporizatoarelor.
nainte de a putea folosi un timer acesta trebuie iniializat, adic trebuie ncrcat o
valoare n Timer Preselect. Iniializarea trebuie fcut din nou numai dac se dorete
modificarea duratei de timp de temporizare. Nu este necesar s se reiniializeze TP de
fiecare dat cnd timer-ul este activat. Timer Preselect poate fi ncrcat cu o valoare
constant sau cu coninutul unui operand multibit (regitri, cuvnt de memorie sau de
intrri, etc.)
La activarea unui timer cu instruciunea SET Tn, urmtoarele aciuni se execut automat:
se va activa timer-ul (Tn = 1 logic);
se va ncrca n TWn coninutul lui TPn dup care;
se va ncepe temporizarea.
Pe durata temporizrii, la fiecare impuls de ceas, va fi decrementat operandul TWn. Cnd
numrul TWn devine zero atunci temporizarea se ncheie i timerul se reseteaz, adic
operandul Tn devine 0 logic.
Un timer se poate dezactiva la terminarea temporizrii sau n mod explicit, cu comanda
RESET Tn. n acest caz Timer Status, Tn, devine 0 logic. Dac Tn era 0 logic n
momentul comenzii de resetare atunci comanda nu are nici un efect.
2.5. Numrtoare (Counters).
Numrtoarele, ca i temporizatoarele, sunt integrate n sistemul de operare al
automatului programabil FEC. Numrtoarele pot fi utilizate pentru nregistrarea n timp a
unui numr de evenimente (de exemplu numrul de piese care trec pe o band rulant).
Pentru FEC sunt disponibili 256 de numrtoare, numerotate de la 0 la 255. Exist dou
tipuri de numrtoare: incrementale i decrementale. Tipul standard n STL este tipul
incremental care se va studia n continuare.
Ca i temporizatoarele, numrtoarele sunt structuri de date formate din trei operanzi.
Pentru cazul general al unui numrtor oarecare 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. n partea executiv a unei sentine numrtorul poate fi activat sau
dezactivat cu comenzile SET Cn i RESET Cn. 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 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. Incrementarea numrtorului se face cu instruciunea
INC CWn.

Utilizarea numrtoarelor.
nainte de utilizarea unui numrtor acesta trebuie iniializat. Pentru numrtoare
incrementale, la iniializare se ncarc valoarea 0 n CWn. Aceast operaie se efectueaz
automat la activarea numrtorului. Pentru activarea unui numrtor este suficient
comanda SET urmat de operandul de stare al acestuia, Cn. De fiecare dat cnd se
activeaz un numrtor se efectueaz urmtoarele aciuni:
Valoarea operandului Counter Word, CWn, este ncrcat cu valoarea 0;
Bitul Couter Status, Cn, este setat la 1 logic.

Dac numrtorul incremental Cn este deja activ i se reactiveaz cu comanda SET Cn,
atunci numrtorul este repornit prin ncrcarea valorii 0 n CWn.
Un numrtor activat i meninea valoarea (Cn = 1 logic) pn la apariia uneia din
situaiile de mai jos:
numrtorul se reseteaz cu comand RESET Cn;
dup incrementri succesive ale operandului CWn, acesta devine egal cu valoarea
setat: CWn = CPn;
Dup apariia oricreia din situaiile de mai sus numrtorul se dezactiveaz (Cn=0 logic).
2.6. Elemente avansate de programare STL. Module software.
n plus fa de programele concepute de utilizator se pot folosi module software care sunt
de dou feluri:
- module de funcii;
- module program;
Un modul software poate fi apelat din orice parte executiv a oricrui program STL.

2.6.1. Module de funcii create de constructor (CFM).


Modulele de funcii, CFM, sunt mici programe utilizate pentru a efectua prelucrri de date
de complexitate mic sau medie. Deoarece sunt utile i des folosite de utilizatori, ele sunt
furnizate de productor i pot fi folosite imediat dup instalarea softului. La instalare
mediului FST-FEC, modulele de funcii sunt plasate n directorul FBLIB.FEC. Dac se
dorete utilizarea lor, ele trebuiesc importate n proiectul curent cu ajutorul opiunii Import
file din meniul Project management. Numai n acest fel ele sunt disponibile pentru apelare
n cadrul programelor. Dup selectarea funciilor modul din directorul FBLIB.FEC acestora
li se atribuie un numr de ctre utilizator.
O funcie CFM este ntotdeauna apelat din partea executiv a unei sentine. n programul
STL apelarea unei funcii modul se face cu instruciunea compus:

CFM n
WITH x1
WITH x2

unde n este numrul dat de utilizator la importul fiierului iar x1, x2, sunt parametrii de
intrare necesari funciei. Ca parametri se folosesc operanzi de diferite tipuri (intrri, ieiri,
memorie, numere constante, etc.).

2.6.2 Module program create de utilizator (CMP).


Modulele program, CMP, sunt subrutine create de utilizator n mediul FST-FEC. Sunt
tratate n acelai fel ca programele obinuite, fiind gestionate cu aceleai comenzi.
Pentru a crea un modul program trebuie selectat litera B n cmpul Prog./Module
[P/B]: din fereastra de creare a unui nou program. Numrul modulului poate fi n domeniul
099. Editarea unui modul program este identic cu a unui program obinuit. Totui
exist cteva detalii care trebuiesc reinute cnd se lucreaz cu module program:
- nu se poate apela un CMP dintr-un alt CMP care conine pai;
- programul care a apelat un CMP este oprit la instruciunea imediat urmtoare i va
atepta pn cnd execuia modulului program se va ncheia;
- sunt permise instruciuni de salt, dar trebuiesc luate msuri pentru evitarea formrii
buclelor infinite;

Procedura de scriere a instruciunii de apel a unui modul program este identic cu cea de
la module de funcii cu observaia c se nlocuiete notaia CFM cu CMP. Unui modul
program i se pot plasa parametri n mod asemntor modulelor funcie, CFM. Aceasta se
face cu instruciunea WITH urmat de o constant sau de un operand multibit. Parametrii
modulelor program sunt ncrcai n unitile speciale de funcii: FU32FU38. n
programul STL al modulului program este indicat s se foloseasc aceste funcii deoarece
numai n acest fel modulul va fi aplicabil n orice situaie. Dac n modul se specific un
anumit operand absolut (de exemplu cuvntul intrrilor IW1) atunci modulul va putea fi
folosit numai pentru o aplicaie specific i nu mai are un caracter general (de exemplu
pentru un alt automat programabil configuraia intrrilor poate fi: IW0 sau IW7).
Apelarea unui program modul se va face ntotdeauna din partea executiv a unei sentine.
2.7. Verificarea corectitudinii programelor i ncrcarea unui proiect n AP.
nainte de ncrcarea programelor n automatul programabil acestea trebuiesc compilate.
Prin compilare se nelege transcrierea instruciunilor scrise n limbaj STL ntr-un limbaj
special numit cod main pe care automatul l poate nelege. Pentru a simplifica munca
utilizatorului, mediile de programare ofer unelte de verificare a corectitudinii scrierii
programelor. Verificarea se poate face nainte de compilare sau la compilare. n cazul n
care programele conin erori i acestea sunt depistabile, utilizatorul va fi avertizat.
Erorile care pot aprea n programele STL sunt de dou tipuri:
erori de concepie;
erori de sintax;

Erorile de concepie nu pot fi depistate naintea sau n timpul compilrii. Ele in mai mult
de structura programelor i de modul de concepere al aplicaiei pe care acestea trebuie s
o rezolve. Printre erorile de concepie se numr:
- bucle infinite; programul repet la infinit doar cteva instruciuni i nu are nici un criteriu
de ieire din acel ciclu;
- existena unei condiii care nu va putea fi niciodat ndeplinit; programul se va bloca
ateptnd ceva imposibil sau nu va executa niciodat un set de instruciuni;
- mprire la zero a unui operand n cazul utilizrii operaiilor aritmetice;
- etc.
Erorile de concepie se nltur printr-o scriere atent a programelor i cu ajutorul
depanrii on-line care se va detalia n capitolul 7.

Erorile de sintax sunt depistabile la compilare i se refer la corectitudinea scrierii


fiecrei instruciuni n parte. Ca exemple de erori de sintax se pot da:
- scrierea incorect a cuvintelor cheie;
- ncercarea de a activa o ieire;
- depirea limitelor permise ale unor valori numerice (numrul de temporizatoare este
de maxim 255. ncercarea de a folosi temporizatorul T450 va fi semnalat ca eroare).
n mediul de programare FST FEC programele STL se pot verifica din punct de vedere al
corectitudinii sintaxei. Verificarea se poate face n timpul editrii sau dup editare.
Pentru verificarea sintaxei n orice moment din timpul editrii, se apas tasta F7 (Extended
Commands) i se selecteaz opiunea Check syntax, dup care se apas ENTER, figura

6.1.
Fig. 6.1. Verificarea sintaxei n timpul editrii programelor.

n cazul existenei unei erori (prima ntlnit de la nceputul programului), va apare o


fereastr de anunare a tipului erorii iar linia de program n care a aprut eroarea va fi
poziionat n partea de sus a ecranului i scoas n eviden cu o dung n contrast. n
figura 2 se poate observa mesajul de eroare aprut la descoperirea liniei de program n
care se ncearc activarea ieirii I0.0 (de la intrri se poate numai citi, nu se poate scrie).

Fig. 2. Prima eroare descoperit n program. A doua eroare este n pasul STEP 1
unde dup THEN i nainte de bec1 ar trebui s urmaze SET sau RESET.

Dup editare verificarea sintaxei se face cu opiunea Syntax test din submeniul Statement
list. Va aprea o fereastr cu programele coninute n proiect, fig. 3. Cu ajutorul tastelor
direcionale se selecteaz programul care se dorete a fi verificat (n cazul nostru P0
vrsiunea 1) i se apas ENTER.
Dac nu exist nici o eroare atunci se revine n meniul principal. Dac exist erori va
apare o nou fereastr n care este afiat numrul de erori din program. n exemplul
nostru apar dou erori aa cum se vede n figura 6.4.

Fig. 3. Selectarea unui program pentru verificarea erorilor de sintax.


Fig. 6.4. Fereastra de afiare a erorilor din programul P0 versiunea 1.

Pentru cutarea mai uoar a liniilor din program unde exist erori se poate consulta lista
de erori prin activarea opiunii Error List din submeniul Statement list. Apare fereastra de
selecie a programului. Figura 6.5. prezint lista de erori a programului P0 versiunea 1
dup selecia acestuia cu ajutorul tastelor direcionale i apsarea tastei ENTER.
n lista de erori se d numrul liniei la care a aprut eroarea i o descriere a tipului erorii.
Aceste informaii sunt suficiente pentru remedierea erorilor deoarece, la editarea
programelor, n linia de stare din capul ferestrei, se afieaz n permanen numrul liniei

la care se gsete cursorul de editare.

Fig. 6.5. Lista de erori din programul P0 versiunea 1.


ncrcarea proiectului n automatul programabil se execut selectnd opiunea Load
project din submeniul Statement list. nainte de ncrcarea proiectului n FEC trebuiesc
ndeplinite condiiile:
- FEC-ul alimentat cu tensiune i cablul de conexiune cu calculatorul montat;
- Sistemul de operare al FEC-ului trebuie s fie pornit;
- Proiectul trebuie s aib cel puin un program;
- n proiect trebuie s existe o configuraie a intrrilor i ieirilor.
La activarea opiunii Load project va apare o fereastr cu programele, funciile modul
(CFM) i modulele program (CMP) coninute n proiect, fig. 6.6. Programele i modulele
care se doresc a fi ncrcate n FEC se selecteaz cu tastele direcionale i tasta ENTER.
Trebuie apsat tasta ENTER pentru fiecare program care se dorete a fi ncrcat n FEC.
Selecia se poate face i cu mouse-ul. La sfritul seleciei se apas tasta F1 pentru

nceperea operaiei de ncrcare.


Fig. 6.6. Programele care se pot ncrca n FEC. Asteriscul (*) desemneaz
programele care au fost selectate pentru ncrcare n FEC.

La comanda de ncrcare a proiectului n automatul programabil se face n mod automat o


verificare de sintax a fiierelor selectate pentru ncrcare. Dac exist programe cu erori,
operaia de ncrcare se anuleaz i utilizatorul este anunat de existena erorilor.
n cazul cnd nu exist erori la aceast ultim compilare, se ntreab utilizatorul dac vrea
s ncarce n automatul programabil i fiierele care conin instruciunile STL. Aceste
fiiere se numesc fiiere surs. Dac se selecteaz opiunea N (No) atunci acestea nu se
ncarc, fig. 6.7. Dac se
selecteaz opiunea Y
(Yes) atunci, n viitor,
proiectul se va putea
ncrca din FEC pe oricare
calculator care se va
conecta la automatul
programabil. Operaia se
poate face cu opiunea
Upload project din
submeniul Project
management.
Dup apsarea tastei F1
fiierele sunt ncrcate n
Fig. 6.7. Opiune de ncrcare n FEC a programelor surs.
FEC unul dup altul.
Operaia de ncrcare se
poate anula n orice moment prin apsarea tastei ESC. Dac se rspunde afirmativ la
ntrebarea de confirmare a acestei aciuni, ncrcarea se oprete iar fiierul care tocmai se
ncrca se terge din FEC.
Atenie! Varianta veche a acestui fiier NU va fi pstrat n FEC.
Pentru ca proiectul ncrcat s devin activ, trebuie ca automatul programabil s fie
repornit (cu ajutorul comutatorului de pe partea frontal a carcasei).
UNIVERSITATEA TEHNICA GH. ASACHI IASI
FACULTATEA DE MECANICA
CATEDRA ORGANE DE MASINI SI MECATRONICA
Disciplina: Actionarea sistemelor mecatronice

LUCRARE DE LABORATOR NR. 4

MODULAR PRODUCTION SYSTEM (MPS) ECHIPAMENT DE INSTRUIRE IN MECATRONICA


Conectarea on-line la automatul programabil

1. Scopul lucrarii:
Crearea abilitatilor de a lucra on line cu automatul programabil , lucru necesar in
supravegherea functionarii automatului, inclusiv in depistarea erorilor de conceptie
a programelor

2. Introducere.
Una din caracteristicile unui automat programabil este aceea de a permite conectarea cu
o consol de programare i diagnosticare. Consola poate s fie un calculator obinuit sau
unul special dedicat acestei misiuni. De obicei consola este portabil. Despre programare
s-a vorbit n capitolul 6. n acest capitol se vor detalia metodele i posibilitile de
diagnosticare.

Pentru diagnosticare trebuie s se poat stabili o comunicare ntre calculator i AP n


timpul funcionrii normale a AP-ului. n acest caz se vorbete de conectare on-line.
Conectarea on-line este necesar:
1) Pentru verificarea funcionrii echipamentelor periferice automatului programabil n
timpul instalrii i punerii n funciune a instalaiilor de automatizare.
n acest sens, fiecare senzor pentru semnalele de intrare se poate verifica separat, prin
aducerea instalaiei n starea n care senzorul trebuie s funcioneze. De asemenea,
fiecare ieire se poate fora n 1 logic (sau 0 logic) pentru observarea execuiei corecte a
comenzilor date de automatul programabil.

2) Pentru depistarea erorilor de concepie din programele complexe.


Dac intrrile i ieirile sunt conectate corect, dar instalaia funcioneaz
necorespunztor, atunci exist, n programele STL, cel puin o eroare de concepie.
Aceast eroare se poate depista prin observarea atent a strii fiecrui operand n timpul
execuiei programelor.

Acest capitol descrie modul de lucru on-line al mediului de programare FSTFEC cu


aplicaie la automatul programabil E.FEC-20-AC.

3. Depanarea on-line a programelor STL

Urmrirea execuiei unui program se poate face prin selectarea opiunii STL online
display din submeniul Statement list. Aceast comand va deschide fereastra cu
programele proiectului ateptndu-se selecia unuia din ele. Selecia se execut cu
tastele direcionale i prin apsarea tastei ENTER. n fereastra care urmeaz este afiat
programul STL. Lng fiecare operand apare valoarea acestuia care este actualizat n
permanen, pe msur ce programul se execut n automatul programabil.
n figura 1 se prezint fereastra de vizualizare a programului P0 (acelai de la sfritul
capitolului 6) dup conectarea on-line. Dup apsarea butonului start programul a
executat pasul 0 n care ieirea bec1 a fost activat cu comandda SET bec1. Programul
s-a oprit la pasul 1 unde ateapt s fie ndeplinit condiia de apsare a butonului stop
pentru a merge mai departe. Se observ c n partea dreapt a fiecrui operand se
afieaz valoarea acestuia funcie de instruciunile care s-au efectuat pn n acel
moment. Linia contrast arat pasul din program care este n execuie.

Fig. 1. Fereastra de depanare on-line a unui program STL.

Trebuie amintit c informaiile despre valorile operanzilor i pasul n execuie se obin prin
comunicare permanent cu automatul programabil. Viteza de actualizare a valorilor
operanzilor depinde de mrimea programului, adic de cantitatea de informaii necesar.
Opiunea STL online display ofer posibilitatea de a modifica forat valorile operanzilor cu
ajutorul tastei F3, Modify FU. Alegerea operandului care trebuie modificat se poate face
cu mouse-ul, cu tastele direcionale i apsarea tastei ENTER sau prin scrierea explicit,
prin selectarea tastei F2, Altern operand.

3.1. Verificarea on-line a operanzilor de intrare i ieire.


Totui termenul de diagnosticare are un sens mai general dect cel prezentat n
paragraful anterior. Astfel, este posibila o conexiune on-line pentru vizualizarea i
modificarea operanzilor, chiar dac utilizatorul nu dispune de programele STL surs.
Opiunea IPC online mode, care se gsete n submeniurile Statement list i Utilities,
stabilete o conexiune on-line adevrat cu automatul programabil. Prima fereastr care
apare dup selecie, prezentat n figura 2, ofer posibilitatea de alegere a urmtoarelor
aciuni:
- tasta F1: vizualizarea i modificarea operanzilor din AP;
- tasta F3: comunicare cu automatul prin comenzi scrise de utilizator. Modul terminal
se utilizeaz de programatorii avansai i ofer aceleai posibiliti ca i selecia F1;
- tasta F4: cu acest selecie se terg toate programele i toi operanzii din automatul
programabil;
- tasta F7: vizualizeaz programele i modulele existente n automatul programabil.
- tasta F8: termin sesiunea de conectare on-line cu automatul programabil.
Fig. 2. Prima fereastr dup conectarea on-line cu automatul programabil.
La apsarea tastei F1 (Display IPC-Info) apare fereastra prezentat n figura 3. Din
aceast fereastr se pot vizualiza i modifica: F1 intrrile i ieirile; F2 memoria; F3
temporizatoarele; F4 numrtoarele; F5 regitrii; F6 i F7 se discut n paragraful 7.5.
Mergnd mai departe cu selecia tastei F1 se obine fereastra din fig 7.7. Tastele F1 i F2
permit vizualizarea intrrilor respectiv ieirilor locale automatului programabil. Cele de
fieldbus sunt active numai cnd automatul lucreaz n reea cu alte echipamente
inteligente.

Fig. 3. Prima fereastra Display IPC-Info care apare la selectarea tastei F1 (vezi i fig. 2).

Fig. 4. A doua fereastra Display IPC-Info care apare la selectarea tastei F1 (vezi i fig. 3).
Pentru vizualizarea intrrilor se apas F1. Pentru vizualizarea i modificarea ieirilor se
apas F2. Ferestrele prezentate n fig. 5.a) i b) vizualizeaz toate intrrile (inputs)
respectiv ieirile (outputs). Operanzii sunt prezentai ca:
- valoare a cuvintelor (operanzi pe 16 bii);
- valoare a fiecrui bit n parte.

n fereastra intrrilor, fig. 5 a), valorile cuvintelor nu se pot modifica deoarece de la intrri
se o poate doar citi. n fereastra ieirilor valorile cuvintelor se pot schimba de utilizator
prin scrierea unui numr n cmpul activ i apsarea tastei ENTER. Pentru a ajunge la
cmpul dorit se folosesc tastele direcionale.

a) intrri b) ieiri

Fig. 5. Ferestre de vizualizare. Pentru cuvintele de ieire este posibil modificarea.

Din ferestrele prezentate n figurile 5. a) i b), pentru a schimba valoarea fiecrui bit n
parte trebuie apsat tasta TAB. Meniul de la baza ferestrei se va schimba, fig. 6, iar
cursorul de editare se va poziiona n coloanele de bii. n coloanele de bii a ieirilor se
poate modifica orice bit astfel:
- tasta F1 (Set operrand): bitul este activat i devine 1 logic;
- tasta F2 (Reset operrand): bitul este dezactivat i devine 0 logic;
- tasta F3 (Toggle operrand): bitul este inversat la fiecare apsare, adic dac a fost 1
logic va deveni 0 logic i invers.

a) intrri b) ieiri

Fig. 6. Accesul la cmpurile de bii. Biii de ieire se pot modifica cu tastele F1, F2 i F3.

Ieirea din cmpurile de bii se realizeaz prin apsarea tastei ESC. Se va reveni la
ferestrele din figura 5. n general terminarea unei aciuni (nchiderea unei ferestre) se
realizeaz prin apsarea testei F8.
7.4. Verificarea on-line a memoriei, temporizatoarelor i numrtoarelor.
La fel ca operanzii intrrilor i ieirilor se pot vizualiza i ceilali operanzi STL. Mai mult,
acetia se pot modifica foarte uor de ctre utilizator.
n figura 7. a) este prezentat fereastra de vizualizare i modificare a cuvintelor de
memorie. Se ajunge aici prin apsarea tastelor F1 i F2 imediat dup conectarea on-line
Prin apsarea tastei TAB se pot modifica biii memoriei, fig. 7.b).

a) modificare cuvinte memorie b) modificare bii memorie


Fig. 7. Accesul on-line la cuvintele i biii de memorie.

n figura 8. este prezentat fereastra de vizualizare i modificare a celor trei operanzi ce


costituie un temporizator. Se ajunge aici prin apsarea tastelor F1 i F3 imediat dup
conectarea on-line (vezi i fig.
3). Se observ c timerul T0
este inactiv (0 logic), c
valoarea setat este de 1
secund (TP0 = 100) i c
timpul a expirat (TW0 = 0). De
asemenea se observ c
temporizatorul T3 este setat la
20 de secunde (TP3 = 2000).
n aceast fereastr se pot
modifica:
- starea timerului, Tn;
Fig. 8. Accesul on-line la temporizatoare. - timpul setat, TPn.
Cursorul de editare se
deplaseaz cu ajutorul tastelor direcionale pe fiecare coloan iar ntre coloane de
deplaseaz apsnd tasta TAB. Strile temporizatoarelor sunt cele existente n automatul
programabil n momentul deschiderii ferestrei. Pentru o actualizare permanent trebuie
selectat opiunea Dynamic display (tasta F3).
n figura 9 este prezentat fereastra de vizualizare i modificare a numrtoarelor. Se
ajunge aici prin apsarea tastelor F1 i F4 imediat dup conectarea on-line (vezi i fig. 3).
Deplasarea ntre cmpurile de date se face la fel ca pentru temporizatoare. Pentru o
actualizare permanent trebuie selectat opiunea Dynamic display (tasta F3).
Fig. 9. Accesul on-line la numrtoare.

Se pot vizualiza i modifica toi cei 3 operanzi ai fiecrui temporizator. De exemplu, n


figura 9 se observ c utilizatorul a modificat operanzii primelor 3 temporizatoare, astfel:
- T0 are valoarea preselect, TP0 = 10, a numrat de 2 ori dup care a fost dezactivat,
probabil cu o comand RESET T0;
- T1 este activ dar nu a numrat nimic din 20, ct are stabilit n TP1.
- T2 este dezactivat i ateapt o comand SET T2 pentru a deveni activ i a numra
pn la 30 (TP2).

3.2. Verificarea on-line strii programelor ncrcate n automatul programabil.


Dac n automatul programabil exist ncrcat un proiect i acesta este n funciune, este
posibil o verificare on-line a strii programelor din proiect. Prin selectarea tastelor F1 i
F7 imediat dup conectarea on-line, se deschide fereastra prezentat n figura 7.13.
Pentru fiecare program se poate vizualiza starea acestuia (dac este activat sau
dezactivat) i pasul n execie n momentul apariiei ferestrei. Pentru o actualizare
permanent trebuie selectat opiunea Dynamic display (tasta F3).
Din fereastra de vizualizarea a strii programelor, cu tasta F7, se poate activa sau
dezactiva fiecare program din AP. Folosirea acestei operaii asupra programului principal,
P0, este echivalent cu aciunea comutatorului RUN/STOP de pe partea frontal a
carcasei FEC-ului. Programul P0 se va activa i dezactiva indiferent de poziia
comutatorului.
n exemplul prezentat n figura 10, proiectul din automatul programabil conine un singur
program, P0.
Fig. 10. Accesul on-line la programele ncrcate n AP.

3.3. Gestiunea fiierelor ncrcate n automatul programabil FEC.


Mediul de programare FSTFEC ofer acces la fiierele din automatul programabil.
n FEC exist dou directoare rdcin (drive-uri):
A: - n care se gsesc fiierele cu sistemul de operare.
B: - ce conine fiierele necesare funcionrii proiectului ncrcat n FEC.
Accesul la aceste directoare este deplin n sensul c fiierele din ele se pot terge sau
copia din FEC pe calculator sau de pe calculator n FEC.
Vizualizarea fiierelor se face cu comanda Program Execution din submeniul Utilities. Se
mai tasteaz o dat ENTER dup apariia mesajului File operations. Va aprea fereastra
din figura 11. n care se ofer opiunile:
F1 se vor vizualiza fiierele din automatul programabil, din directorul afiat n partea
de sus a ferestrei (n cazul de fa A:);
F2 se vor vizualiza fiierele din directorul calculatorului afiat n partea de sus a
ferestrei.

Fig. 11. Fereastra principal dup selecia comenzii Utilities > Program execution.

1) n cazul seleciei opiunii from IPC (F1) va aprea o nou fereastr care este prezentat
n figura 12.
Fig. 12. Lista cu fiierele coninute n directorul rdcin A: al automatului programabil

n aceast fereastr sunt afiate toate fiierele care se gsesc n directorul rdcina A al
FEC-ului. n acest moment sunt posibile aciunile:
tasta F1 terge fiierul (selectat cu tastele direcionale);
tasta F2 copiaz din FEC pe calculator (n directorul afiat n partea de sus a
ferestrei) fiierul selectat;
tasta F7 ofer posibilitatea de a schimba directorul rdcin al FEC-ului, aa cum se
observ n figura 13.

Fig. 13. Selectarea vizualizrii coninutului directorului rdcin B: al FEC-ului

2 ) n cazul seleciei opiunii from PC (tasta F2, vezi i fig. 11) va aprea o nou fereastr
care este prezentat n figura 14. n aceast fereastr sunt afiate toate fiierele care se
gsesc n directorul calculatorului: C:\FESTO\FSTFEC\RUNTIME.IPC (afiat n partea
de sus a ferestrei). n acest moment sunt posibile aciunile:
tasta F1 (download file) copiaz fiierul de pe calculator (selectat cu tastele
direcionale) n directorul rdcin A: sau B: (cel care este scris n partea de sus a
ferestrei, dup textul: Actual IPC drive: );
tasta F7 (target drive) permite selecia directorului rdcin A: sau B: unde vor fi
transferate fiierele de pe calculator;
tasta F8 (Exit) nchide fereastra i se ntoarce la cea precedent.
Trebuie specificat c n fereastra prezentat n fig. 14, se poate selecta orice fiier din
orice director al calculatorului (pe drive-ul C:).

Fig. 14. Selectarea vizualizrii coninutului directorului rdcin B: al FEC-ului

3.4. Conectarea n serie a dou automate programabile fec


Este posibil ca dou automate programabile FEC s funcioneze conectate ntre ele ca o
reea master slave. n acest caz:
- primul FEC (master) are n memorie proiectul care se va executa iar la configurarea
intrrilor i ieirilor se adaug opiunea Remote FEC la care se vor seta numere
pentru cuvintele de intrare i de ieire (distincte de cele folosite pentru intrrile i
ieirile lui);
- al doilea FEC (slave) trebuie s fie dezactivat (comutatorul RUN/STOP de pe partea
frontal a carcasei este n poziia STOP) i trebuie terse din directorul rdcin B:
fiierele PROJECT.RUN i STARTUP.BAT.
Pentru tergerea fiierelor din FEC-ul slave:
- se monteaz cablul de conexiune ntre calculator i acesta iar comutatorul
RUN/STOP se comut pe poziia STOP;
- n mediul de programare FSTFEC se selecteaz comanda Program Execution din
submeniul Utilities. n continuare se selecteaz tasta F1 (from IPC). Vor aprea
fiierele coninute n directorul rdcin A: al automatului programabil. Pentru
schimbarea directorului din A: pe B: se selecteaz tasta F7 (IPC drive) i se introduce
litera B urmat de apsarea tastei ENTER. Dup afiarea fiierelor coninute n
directorul rdcin B: se pot selecta fiierele de interes cu tastele direcionale. Fiierul
selectat se poate terge apsnd tasta F1 i tasta y la ntrebarea de confirmare a
comenzii.
Dup tergerea fiierelor, FEC-ul slave trebuie deconectat i reconectat la tensiunea de
alimentare pentru descrcarea din memorie a sistemului de operare.

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