Comanda Automată a Aprinderii Succesive a Unor Leduri

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.