Aplicatia citeste 3 valori numerice si pe baza valorilor determina perioada in care se
vor aprinde/stinge culorile.
Aplicatia se porneste din butonul Run Continuously, se introduc valorile de timp si
se observa tranzitia culorilor la semafor. Pentru fiecare unitate culoarea semaforului va sta aprinsa pentu 0.5 secunde. Daca se introduce valoarea 10 pentru Rosu, 5 pentru Galben si 5 pentru Verde atunci semaforul va schimba culorile in urmatoarea secventa: culoarea Rosu va sta aprinsa pentru 5 secunde iar restul culorilor vor sta aprinse pentru 2.5 secunde fiecare. Semaforul este o imagine care se copiaza in mediul de lucru Labview si controalele care preiau valorile de timp se adauga din fereastra Controls Modern Numeric Numeric Controls. Se adauga 3 controale numerice.
Cum functioneaza ?
In fereastra Block Diagram aplicatia este conectata astfel:
Toate controalele sunt conectate intr-o bucla de tip While. Bucla se executa la fiecare 0.5 secunde prin controlul Time Delay.
Controlul se adauga din fereastra Functions Programming Timing Time Delay.
Se da dublu click pe control si se introduce perioada de timp de 0.5 secunde.
Aplicatia functioneaza astfel.
Pentru culoarea Verde se citeste valoarea introdusa in controlul numeric. Cat timp perioada introdusa este mai mica decat valoarea furnizata de catre structura While atunci culoarea specifica sta aprinsa iar restul culorilor se sting. De acest aspect se ocupa controlul Less si poarta logica OR.
Aplicatia determina timpul de declansare pentru celelalte culori. Daca timpul de
declansare pentru culoarea Verde este de 5 atunci pentru culoarea Galben timpul de declansare este de 5 + valoarea specifica controlului numeric Galben. Pentru culoarea Verde se aplica acelasi algoritm. Daca bifezi butonul Highlight Execution poti observa valorile evidentiate pe conexiunile aplicatiei:
Culoarea Verde se declanseaza la momentul 5, culoarea Galben se
declanseaza la momentul 10 si culoarea Rosu se declanseaza la momentul 15. Bucla While necesita un Reset. Acesta are loc la momentul 19 (suma tuturor perioadelor)