Documente Academic
Documente Profesional
Documente Cultură
Lab AEPP PDF
Lab AEPP PDF
ASACHI IASI
FACULTATEA DE MECANICA
CATEDRA ORGANE DE MASINI SI MECATRONICA
Disciplina: Actionarea sistemelor mecatronice
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
Fig. 3
Competena dezvoltat Scopul instruirii
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
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.
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.
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
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.
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
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.
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.
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.
De reinut:
Un program paralel NU conine cuvntul cheie STEP.
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.
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
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.
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
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 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 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
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
Exemple:
1) operanzi SBO.
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.
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.
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.
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.
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.
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.
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 ;
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.
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.
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.
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.
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.).
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.
6.1.
Fig. 6.1. Verificarea sintaxei n timpul editrii programelor.
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.
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
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.
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.
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.
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
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).
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.
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:).