Utilizarea numaratoarelor



Utilizarea numaratoarelor

1.1            Introducere

Prin introducerea functiei de numarare, proiectul prezentat mai sus se va modifica astfel incat dupa ce se realizeaza 10 cicluri de functionare a dispozitivului, acesta sa



se opreasca.

1.2            Utilizarea functiei de numarare

·         Numaratoarele sunt structuri de date formate din 3 operanzi, de exemplu pentru numaratorul X:

o        CX       - Numarator X, operand de un bit care memoreaza starea numaratorului X. Se activeaza/dezactiveaza cu SET CX, RESET CX.

o        CPX     - Numarator presetat pentru numaratorul X, este un operand multibiti de un cuvant care incarca valoarea introdusa de catre utilizator. Aceasta poate fi o constanta sau un operand cuvant (IW, OW, FW, ..)

o        CWX    - Numarator multibiti de un cuvant pentru numaratorul X, care memoreaza valoarea curenta a numaratorului. Modificarea valorii numaratorului cu o unitate se face prin INC CWX.

·         Sunt disponibile 2 metode de utilizare a numaratoarelor. Prima utilizeaza comanda SET CX prin care bitul CX este 1 logic si se incarca in CWX valoarea 0. Se incarca o valoare la operandul CPX. La fiecare executie a instructiunii  INC CWX ,se mareste cu o unitate valoarea acestui operand. Cand CWX=CPX,atunci CX=0, in mod automat. A doua metoda nu utilizeaza CPX, ci doar CWX a carei valoare o initializeaza, o incrementeaza si apoi o compara cu o constanta.

·        Prima metoda:

STEP 10

IF                             NOP

THEN      LOAD      V10

                TO           CP0

                SET         C0                           'Numarator 0

                RESET    Y1                            'Solenoid 1

STEP 20

IF                             B1                            'Senzor 1

THEN      INC          CW0                        'Numarator 0

STEP 30

IF             N             B1                            'Senzor 1

THEN                      NOP

STEP 40

IF             N             C0                           'Numarator 0

THEN      JMP TO   50

OTHRW   JMP TO   20

STEP 50

THEN      SET         Y1                            'Solenoid 1

                JMP TO   10

 


·         A doua metoda:

STEP 10

IF                             NOP

THEN      LOAD      V0

                TO           CW0

                RESET    Y1                            'Solenoid 1

STEP 20

IF                             B1                            'Senzor 1

THEN      INC          CW0                        'Numarator 0

STEP 30

IF                             CW0                        'Numarator 0

                =              V10

THEN      JMP TO   40

OTHRW   JMP TO   20

STEP 40

THEN      SET         Y1                            'Solenoid 1

                JMP TO   10

 


·         Se pot declara 256 numaratoare in FEC de la C0 la C255.

1.3            Inserarea numaratorului in proiect

Trebuie modificat programul cu temporizator pentru a i se adauga functia de numarare.

Noul proces va fi:

·    &n

bsp;    La apasarea butonului de Start va incepe ciclul de functionare al dispozitivului.

·         Ciclul se va opri numai daca au fost transportate 10 piese.

·         Se aplica intarzierea la retragerea pistonului cilindrului 1A.

Lista de alocare va include:

·         C0              -           Numarator 0

·         CP0                        -           Numarator presetat 0

·         CW0          -           Cuvant de numarator  0

Prima metoda


A doua metoda:

STEP 10

IF                             SB                           'Buton start

                AND        B1                            'Cilindrul 1A retras

                AND        B3                            'Cilindrul 2A retras

THEN      SET         Y1                            'Solenoid pentru cilindrul 1A

                LOAD      V0

                TO           CWO                        'Cuvant de numarator 0

STEP 20

IF                             B2                            'Cilindrul 1A extins

THEN      SET         Y2                            'Solenoid pentru cilindrul 2A

STEP 30

IF                             B4                            'Cilindrul 2A extins

THEN      RESET    Y2                            'Solenoid pentru cilindrul 2A

STEP 40

IF                             B3                            'Cilindrul 2A retras

THEN      SET         T1                            'Temporizator 1

                with          5s

STEP 50

IF             N             T1                            'Temporizator 1

THEN      RESET    Y1                            'Solenoid pentru cilindrul 1A

INC          CW0                        'Cuvant de numarator

STEP 60

IF                             CWO                        'Cuvant de numarator 0

                =              V10

THEN      JMP TO   10

OTHRW                   NOP

STEP 70

IF                             B1                            'Cilindrul 1A retras

                AND        B3                            'Cilindrul 2A retras

THEN      SET         Y1                            'Solenoid pentru cilindrul 1A

                JMP TO   20

 


Modifica proiectul si verifica functionalitatea acestuia succesiv pentru cele doua variante de contorizare.



Ultimele documente adaugate
Mihai EminescuMihai Eminescu
   - Opere romantice - autori si opere reprezentative Gioacchino Rossini, Giuseppe Verdi, Richard Wagner
Mihai Beniuc
   - Mihai beniuc - „poezii"
Mihai EminescuMihai Eminescu
   - Mihai eminescu - student la berlin
Mircea EliadeMircea Eliade
   - Mircea Eliade - Mioara Nazdravana (mioriţa)
Vasile AlecsandriVasile Alecsandri
   - Chirita in provintie de Vasile Alecsandri -expunerea subiectului
Emil GirlenuEmil Girlenu
   - Dragoste de viata de Jack London
Ion Luca CaragialeIon Luca Caragiale
   - Triumful talentului… (reproducere) de Ion Luca Caragiale
Mircea EliadeMircea Eliade
   - Fantasticul in proza lui Mircea Eliade - La tiganci
Mihai EminescuMihai Eminescu
   - „Personalitate creatoare” si „figura a spiritului creator” eminescian
George CalinescuGeorge Calinescu
   - Enigma Otiliei de George Calinescu - geneza, subiectul si tema romanului



Scriitori romani