ap laborator 10
DESCRIPTION
sadTRANSCRIPT
-
1
Laborator 10
Automate programabile
Programarea automatelor programabile AP
Instruc iuni de salt, apel subrutine,
bucle, control principal
1. No iuni teoretice introductive
Obiective:
Funcia de control principal MC i MCR
Instruciuni de salt CJ
Instruciuni de apel subrutina CALL, SRET
Bucle FOR NEXT
1.1 Func ia de control principal (instruc iunile MC i MCR)
Instruciunile MC (setare control principal) i MCR (resetare) pot fi utilizate pentru setarea
condiiilor de baza c rora blocurile de program individuale pot fi activate sau dezactivate. n
formatul Schem cu contacte, o instruciune Control principal funcioneaz ca un comutator n bara
de bus din stnga, ce trebuie nchis pentru a fi executat urm torul bloc de program.
MC (Master Control) Control principal, seteaz o condiie de control principal, marcnd
nceputul unui bloc de program
MCR (Master Control Reset) Resetare control principal, reseteaz o condiie de control principal,
marcnd finalul unui bloc de program.
Instruciunea MC poate fi utilizat asupra ie irilor (Y) i a releelor (M). n: N0 pn la N7
-
2
n exemplul de mai sus, liniile de program dintre instruciunile MC i MCR sunt executate doar
atunci cnd intrarea X001 este pornit .
Seciunea de program ce trebuie executat poate fi specificat cu adresa de imbricare
N0 - N7, ceea ce v permite s introducei mai multe instruciuni MC nainte de instruciunea MCR
de nchidere. Adresarea unui dispozitiv Y sau M specific un contact de nchidere. Acest contact va
activa seciunea de program atunci cnd condiia de intrare pentru instruciunea MC are valoarea
Adev rat.
n cazul n care condiia de intrare a instruciunii MC va avea valoarea Fals, st rile dispozitivelor
dintre instruciunile MC i MCR se vor modifica dup cum urmeaz :
- Temporizatoarele cu memorare, contoarele i dispozitivele ce sunt controlate cu instruciuni SET
i RST i vor p stra starea curent .
- Temporizatoarele f r memorare i dispozitivele ce sunt controlate cu instruciuni OUT sunt
resetate.
Structurile neimbricate se pot repeta f r limitare, cele imbricate pot fi maxim 8, N0 pn la N7 [3]
-
3
1.2. Instruc iuni de salt (CJ Conditional Jump) Instruc de salt pot scurta ciclul de func ionare, cresc viteza de rulare prin eliminarea unor
p r i de program. Cnd se execut o instruc iune de salt, programul sare la pasul cu eticheta Pxxx.
Cnd intrarea este inactiv OFF, se
execut toi pa ii din program. Cnd
intrarea este activ ON, programul
sare la eticheta P0. n acest caz, pa ii
nainte etichetei P0 nu vor fi
executai.
ntr-un program pot exista mai multe
etichete, pentru FX1S pot fi de la P0-
P62. Eticheta P63 este rezervat
pentru saltul la sfrsit de program
END.
2.1 Modul n care se execut instruc iunile cnd este utilizat o instruc iune de salt
Func ionarea ie irilor Y i releelor M, S n timpul execut rii unei instruciuni de salt, starea
ie irilor Y i releelor M, S , va fi men inut la
valoarea de anterioar saltului.
1) n timpul execut rii unei instruciuni de salt, chiar
dac X00 trece n OFF, M10 r mne ON.
2) F r instruciune salt, M10 trece ON/OFF n func ie
de X000
Instruciunile de salt permit atribuirea dubl a ie irilor. n acest exemplu, ie irea Y000 este o bobin
dubl .
-
4
Cnd X010 = OFF, programul func ioneaz n conformitate cu starea intr rii X001.
Cnd X010 = ON, programul func ioneaz n conformitate cu starea intr rii X002.
Func ionarea temporizatoarelor Valoarea curent a temporizatoarelor generale este ngheat pe durata cnd instruciunea de salt este activ , i continu de unde a r mas dup dezactivarea instruciunii de salt. Temporizatoarele cu memorie de 1 ms (T246 T249) reia cronometrarea cnd se dezactiveaz instruciunea de salt sau se reactiveaz comanda Timerului prin X001. Dac instruc iunea de resetare pentru un temporizator cu memorie (T246 pn laT255) este programat nainte sau dup o instruc iune de salt, RST va terge o valoare actual a temporizatorului.
Func ionarea num r toarelor Contoarele uzuale suspend num rarea cnd se execut o instruc iune de salt. Ele vor continua num rarea la dezactivarea instruciunii de salt. Resetarea num r torului se face f r s se in cont de instruciunea de salt. Atunci cnd un contor de mare vitez (C235 C255) ncepe num rarea, el va continua s numere chiar dac apare o instruc iune de salt.
2.2 Modalit i pentru efectuarea instruc iunilor de salt
Salt la aceea i etichet Pot fi mai multe instruciuni care fac salt la aceea i etichet , dar nu pot exista dou etichete plasate la linii de program diferite care s aib acela i nume, vor rezulta erori.
Salt ntr-un singur ciclu opera ional
Atunci cnd este utilizat o instruciune de salt pe front CJP, programul sare la etichet ntr-un singur ciclu opera ional.
Salt n sus
Este posibil de a programa salt la o etichet aflat la o linie de program cu num r mai mic dect cel al liniei de salt CJ.
3. Instruc iuni de apel subrutina (CALL, SRET)
n cazul n care instruc iunea CALL este executat , programul va face salt la eticheta desemnat de P0.
Dup execuia subprogramului de la eticheta P0, se ntoarce la programul original cu instruc iunea SRET.
Intr-un program pot exista mai multe etichete, astfel pentru:
FX1S : P0-P62 FX1N, FX2N, FX1NC, FX2NC : P0-P62, P64+P127, FX3U, FX3UC : P0-P62
P64-P4095
Dac este utilizat P63, se face salt la sfr it de program END.
Dup utilizarea subrutinelor, se remprosp teaz intr rile i ie irile,
-
5
Pentru cronometre utilizate n programele subrutina este necesar utilizarea de cronometre T192 -T199, i
T246- T249
1) n cazul X000 este "OFF", "Programul A" va fi executat. 2) Cnd X000 este "ON", "Programul A" va fi executat dup execuia programului subrutin cu "eticheta P0". 3) n cazul X001 este "OFF", "Programul B" va fi executat. 4) n cazul X001 este "ON", "Programul B" va fi executat dup execuia programului subrutin cu "eticheta P0".
3.1 Apel instruc iuni imbricate
Acesta este cazul n care o subrutin apeleaz o alt subrutin .
-
6
Cnd X001 intrare este ON se execut instruc iunea CALL P, iar programul sare la eticheta P1 i se execut subrutina 1.
Subrutina 1 apeleaz instruc iunea CALL P2, programul va sari la eticheta P2 i se execut subrutina 2. Dup execuia subrutini 2, instruc iunea SRET [B] va reveni i se execut in continuare subrutina 1. Dup finalizarea subrutinei 1, opera ia se mut prin instruc iuni SRET [A], la programul principal. Numerele disponibile pentru etichetele sunt P0-P62, P64-P127.
Dac temporizatoarele generale sunt utilizate ntr-o subrutin sau program de rutina de ntreruperi, nregistrarea timpului este activat numai n programul principal. Acest lucru este la fel i pentru contoare. In general, contoarele nu trebuie utilizate n subrutine sau ntreruperi.
4. Bucle FOR NEXT Buclele FOR-NEXT au mai multe utiliz ri, dintre care cele mai des ntlnite sunt in proces rile
multiple de algoritmi sau proces rile multiple pe adrese diferite de date.
Buclele FOR-NEXT pot fi de asemenea utilizate in proceduri de c utare de date, in tabele sau
blocuri de date din memoria automatului programabil. Uneori utilizarea buclelor reduce codul ce
trebuie programat si face programul mai uor de neles.
Secvena cuprinsa in bucla FOR - NEXT se proceseaz de un num r n de ori (n= 1 la 32767),
precizat prin instruciune FOR, dup care programul continua cu secvena imediat urm toare
instruciunii NEXT:
-
7
In cazul in care nu este necesara procesarea permanenta a buclei FOR-NEXT, ca metoda de
invalidare a acesteia se poate utiliza saltul conditionat - Conditional Jump (CJ). Aceasta metoda va
preveni procesarea buclei daca acest lucru nu este necesar si va conduce la reducerea timpului de
scanare.
4.1 Bucle FOR NEXT imbricate Instruciunile FOR-NEXT permit 5 nivele de imbricare. Aceasta nseamn c se pot programa
maxim 5 bucle FOR-NEXT secvenial, una n interiorul celeilalte.
In imaginea de mai jos sunt prezentate doua programe ce au 3 si respectiv 2 nivele de
imbricare. In cazul buclelor imbricate, num rul de repet ri al buclei de pe nivelul inferior se
multiplica de un num r de ori egal cu num rul de repet ri ale buclei/buclelor de pe nivelele
superioare.
Dac numerele pentru FOR si NEXT nu sunt identice, poate s apar o eroare.
2. Desf urarea lucr rii
Obiective:
Funcia de control principal MC i MCR
Instruciuni de salt condiionat CJ
Instruciuni de apel subrutina CALL, SRET
Bucle FOR NEXT
2.1. Activitate 1: Func ia de control principal MC i MCR
Se va introduce urm torul program i se va urm ri funcionarea n Ladder Logic
Test sau se va nscrie n AP i se trece n Monitor Mode F3.
-
8
Se observ modificarea diagramei Ladder n urma rul rii programului.
Acest exemplu este o structur neimbricat i instruciunile MC se pot repeta f r limitare.
Test 1:
Implementai programul pentru funcia Master Control MC cu o structur imbricat dup exemplul
expus n paragraful 1.1
Structurile imbricate pot fi maxim 8, N0 pn la N7 [3]
-
9
2.2. Activitate 2: Instruc iuni de salt condi ionat CJ
Cnd este activ instruciunea CJ, programul va face un salt la eticheta specificat ,
care se introduce dnd dublu click pe num rul liniei de program i se d OK.
n exemplul de mai jos, liniei 11 i s-a atribuit eticheta P62.
Exemplu de program cu instruciunea de salt CJ
Se observ c liniile de program 6 i 8 nu sunt executate deoarece este activ instruciunea de salt la
eticheta P62, [CJ P62]. Dac nu este activ instruciunea de salt, atunci se execut toate liniile de
program.
2.3. Activitate 3: Instruc iuni de apel subrutina CALL, SRET
n cazul n care instruc iunea CALL este executat , programul va face salt la eticheta
desemnat de P0. Dup execuia subprogramului de la eticheta P0, se ntoarce la
programul original cu instruc iunea SRET.
Se va introduce urm torul program i se va urm ri funcionarea n Ladder Logic
Test sau se va nscrie n AP i se trece n Monitor Mode
-
10
Test 2:
Concepei un program n care n care o subrutin apeleaz o alt subrutin .
2.4. Activitate 4: Bucle FOR NEXT
Se va introduce urm torul program i se va urm ri funcionarea n Ladder Logic Test
Bucla FOR, adaug la registrul D2, valoarea K3, intr-un ciclu de K5 . Vezi i FOR.avi.
-
11
Rezolvare test 1: Funcia MC imbricat , se poate urm ri i secvena MC2.avi
Rezolvare test 2
Exemplu de subrutin care apeleaz alt subrutin .
Se poate urm ri rularea acestui program n CALL2.avi
-
12
Bibliografie
1. MELSEC FX Family, Progrramable Logic Controller, Beginner s manual, FX1S, FX1N, FX2N, FX2NC i FX3U, Mitsubishi Electric, Industrial Automation, 30.0.2010, Versiunea C
2. GX DEVELOPER FX, V0845-1L0C-M, Programming Software, Article no: 208761, Date:07. 2007, Mitsubishi Electric, Industrial Automation, Distribuitor: Sirius Trading & Services
3. MITSUBISHI, Progrramable Controllers, MELSEC-F, Discovering Control, An Intermediate Guide To Learning PLCs, JY997D22101-A, 01/2006