Upload
robert-pecsi
View
230
Download
0
Embed Size (px)
Citation preview
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
1/18
Comanda automat a aprinderii succesive a unor leduri
Se va scrie un program pentru comanda unui efect luminos cu opt leduri conectate la ieiriledigitale, astfel nct fiecare led s se aprind succesiv. Trecerea de la un led la altul ne propunems se realizeze la o frecven de 2 Hz. Efectul luminos de deplasare va ncepe automat cnd se
porne te controlerul i va continua pn la ntreruperea programului de la un semnal eterior. !usunt prevzute elemente de comand care s influeneze procesul, aadar nu este necesarscanarea intrrilor automatului. "up punerea n funciune se va modifica programul inversndu#se sensul de aprindere a ledurilor i modificndu#se frecvena la $ Hz.
%ele dou elemente importante care este necesar s fie programate pentru aceast tem deautomatizare sunt&
durata semnalului de aprindere a fiecrui led,'n scopul definirii duratei semnalului se poate utiliza un (loc funcional pus la dispoziie deproductor n cadrul grupei de temporizatoare )timere*. 'ntruct nu sunt necesare resetri sauetape similare, cea mai simpl soluie const n folosirea (locului funcional Time+ulse )T+*.
trecerea de la un led la urmtorul.Se va scrie un (loc funcional general de comutare a ledurilor care s poat fi utilizat ulteriorpentru alte sarcini similare. stfel, adresa cuvntului de ieire i valoarea dorit pentru duratasemnalului vor fi transferate ctre (locul funcional din eterior, adic de la +- apelant. adar(locul funcional va putea fi apelat de mai multe ori n cadrul aceluiai program i astfel va fiposi(il comanda c/iar a mai multor seturi de 0 leduri de la acelai program.
Se va crea un (loc funcional prin care sunt aprinse i stinse ledurile i este apelat (loculfuncional pus la dispoziie de productor T+ pentru definirea duratei semnalului. 1om da acestui(loc funcional denumirea 34HT.
5locul funcional 34HT va fi apelat din programul principal care va fi denumit E6+#+S7.dresa cuvntului de ieire i valoarea duratei semnalului vor fi transferate (locului funcional34HT de ctre +- program atunci cnd acesta l apeleaz.Blocul funcional care aprinde ledurile
Efectul de lumin care 8fuge9 poate fi o(inut prin setarea unui singur (it pentru a ncrca omatrice de (ii ntr#un registru la intervale regulate, deplasnd aceast matrice de (ii cu un (it iapoi returnnd#o. :atricea de (ii se transfer su( forma unei varia(ile. Sucusoft permite citireaunei varia(ile ca o varia(il de intrare i scrierea sa ca o varia(il de ieire simultan, varia(ilarespectiv se va defini ca o varia(il de intrare;ieire. - vom declara cu denumirea ig/t
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
2/18
+entru deplasarea matricei de (ii se poate utiliza sau o instruciune de deplasare sau una derotaie, sau ctre dreapta sau ctre stnga. tilizarea unei instruciuni de deplasare necesitncrcarea unui 8$9 logic dup fiecare opt pai de deplasare. stfel, este mai avanta?os i vomalege s folosim comanda de rotaie. iniile de instruciuni pe care le vom folos n acest sens
sunt&
Definirea duratei semnalului
a cum am mai spus, vom utiliza (locul funcional pus la dispoziie de productor T+)Time+ulse*.
Prototipul blocului funcional TP
3! %ondiia iniial+T Setarea valorii timpului@ Starea (inar a timeruluiET 1aloarea curent a timpului
Diagrama de temporizare pentru TP
Timerul pornete cu un vrf de cretere pe intrarea 3! i menine starea de $ pe ieirea (oolean@ pe durata valorii de timp predefinite +T. 3eirea ET indic valoarea curent a timpului. 'ntimpul care se deruleaz timpul starea de 8$9 logic de la ieirea @ se pstreaz indiferent destarea intrrii 3!. -peranzii 3! i @ sunt operanzi (inari. -peranzii +T i ET sunt de tipul de datestandard T3:E )avnd valoarea implicit TABs*.
Folosirea blocurilor funcionale
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
3/18
'n seciunea de declarare a +-#lui apelant se va crea o copie a fiecrui (loc funcional. 'n acestscop se aloc (locului funcional o denumire la li(er alegere care tre(uie s fie declarat ca ovaria(il local. 5locul funcional T+ va fi apelat din (locul funcional 34HT, astfel c T+ va fideclarat n seciunea de declarare din 34HT. Se va aloca o varia(il +SE acestui (locfuncional T+ prin&
a apelarea unui (loc funcional, valorile de procesat sunt transferate ctre intrrile sale, iarrezultatele sunt returnate prin varia(ilele de ieire. stfel sunt necesare varia(ile suplimentare n+- apelant pentru transferul parametrilor i preluarea rezultatelor. "enumirile varia(ilelor sepot selecta la li(era alegere. S zicem c declarm urmtoarele varia(ile ce vor utilizate de (loculfuncional T+ i sunt declarate n (locul funcional 34HT&
Start %ondiia de start care se transfer ctre operandul 3!+ulse
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
4/18
'n cazul celei de a doua metode parametrii de intrare sunt ncrcai individual cu a?utorulcomenzii " i apoi transferate ctre operanzii (locului funcional folosind instruciuneaST, nainte de apelarea (locului funcional. -peranzii de ieire sunt scanai dup apelarea(locului funcional. Sintaa de specificare a operanzilor (locului funcional este&urmtoarea& "enumirea
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
5/18
cum se poate simplifica programul. +utem porni timerul direct cu starea negat a ieirii @.1aria(ilele Start i Time
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
6/18
cum se poate optimiza programul, adic l putem scurta cu cteva modificri. 3nstruciunea8"! +ulse.@9 care furnizeaz starea de pornire pentru generatorul de impulsuri poate fiutilizat simultan i ca o condiie pentru etic/eta de salt. stfel vom nlocui comanda D:+% cuD:+%!, care determin efectuarea saltului cnd rezultatul curent este 8B9 logic.
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
7/18
Seciunea de program prin care se deplaseaz (iii matricei varia(ilei ig/t
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
8/18
1iteza de rulare va fi definit cu a?utorul unei varia(ile de tip T3:E care se iniializeaz cu
valoarea de FBB ms G corespunztor frecvenei de 2 Hz ) mssHzf
T FBBF,B2$$ ==== *.
1aria(ila se declar ca o varia(il local, ce este necesar numai n cadrul +-. 'i vom dadenumirea de vitez de rulare, adic >unning
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
9/18
Scrierea efecti%& a aplicaiei 'n Sucosoft
+aii de urmat pentru implementarea sarcinii de programare sunt urmtorii& 3ntroducerea 5 34HT 3ntroducerea programului E6+
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
10/18
m decis de?a anterior cu privire la urmtoarele varia(ile&
Se poate trece de la un mod de declarare a varia(ilelor folosind meniul sau (utoanelecorespunztoare.
Se ncepe cu varia(ila I%urrent
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
11/18
Se selecteaz din lista (locurilor funcionale puse la dispoziie i specifice productorului aacum ilustreaz figura de mai ?os&
Blocurile funcionale definite de produc&tor pentru PS $*+,,
Se selecteaz 8Timer function (locJs9 ; 8T+9 i apoi se d clicJ pe (utonul 8ccept9. ista senc/ide i apare T+ la ru(rica Tip din linia de editare.Se poate introduce un comentariu.
Se d clicJ pe ta(ul 3n
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
12/18
-ariabilele declarate ale blocului funcional LIGHT
Introducerea instruciunilor 'n editorul de instruciuni IL
Se trece la seciunea de instruciuni prin clicJ pe ea sau prin com(inaia de taste %T>LT5. Seselecteaz din meniu sau din (utoanele (arei de instrumente metoda 3 de introducere ainstruciunilor.Se introduce programul de mai ?os&
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
13/18
Seciunea de instruciuni a blocului funcional LI.HT
Se salveaz (locul funcional din comanda 8ile;Save as9 sau folosind (utonul corespunztor din(ara de instrumente n Ipro?ectsMlearn+S79 su(directorul Isource9 su( numele de 34HT. Seefectueaz o verificare de sinta cu 8ile ; S=nta c/ecJ9 sau prin clicJ pe (utonul
corespunztor.
Introducerea programului !"P#PS$
Se creeaz un nou +- de tip program din meniu sau din (utonul corespunztor. %u privire ladeclararea varia(ilelor am decis de?a&
'nti se declar (locul funcional 34HT care va fi apelat de acest +-. 'n acest scop seintroduce denumirea ig/t
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
14/18
%nd se salveaz (locul funcional 34HT, acesta a fost automat adugat la lista (locurilorfuncionale definite de utilizator. stfel poate fi selectat dintr#o list, aa cum a fost cu (loculfuncional definit de productor mai sus. "in nou se selecteaz tipul dnd clicJ dreapta cucursorul pe celula 8T=pe9 i desc/iznd meniul contetual sau folosind meniul 83nsert;"atat=pes9. Se desc/ide fereastra (locurilor funcionale definite de productor ; utilizator, se
selecteaz ta(ul corespunztor celor definite de utilizator )8ser9* i se selecteaz (loculfuncional 34HT creat anterior. Se d clicJ pe (utonul 8ccept9.
Se declar varia(ila local I>unning
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
15/18
(eniul conte)tual
Se selecteaz 8ocal9 conform tipului de varia(il pentru a se desc/ide feresastra 83nsert1aria(le& ocal selection9.
Se selecteaz (locurile funcionale definite de utilizator.
Blocurile funcionale definite de utilizator
Se selecteaz 8ig/t
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
16/18
Se finalizeaz apelarea (locului funcional prin alocarea varia(ilelor care conin valoarea curenta timpului )I>unning%E pe nivelul structural cel mai de sus din fereastra din
partea stng. !ivelele mai de ?os ale ntregului program pot fi afiate dnd du(lu#clicJ pe>ES->%E n fereastra din partea stng. "ac un program este supraluminat n fereastra dinpartea stng, se afieaz componentele de program ale nivelului inferior urmtor.
Se d du(lu#clicJ pe >ES->%E pentru a se afia numele programului +- E6+
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
17/18
Se d du(lu#clicJ pe E6+
7/25/2019 Comanda Automat a Aprinderii Succesive a Unor Leduri
18/18
(odificarea sensului de curgere a luminii prin leduri
:odificarea sensului de curgere a luminii prin leduri se poate realiza prin nlocuirea comenzii>-> )rotire dreapta* cu comanda >- )rotire stnga*.
1iteza de curgere a luminii se poate modifica prin redefinirea valorii timpului pentru (loculfuncional T+ la $ secund, corespunztor noii frecvene de $ Hz.Se alege 8:odif=9 din meniul 8-nline9, se poziioneaz cursorul n linia de program careconine comanda 8>->9 i se modific aceasta n comanda 8>-9, dup care se d clicJ pe(utonul 8ctivate9.