Documente Academic
Documente Profesional
Documente Cultură
Enunul problemei
S se realizeze un instrument virtual LabVIEW care, n funcie de opiunea utilizatorului, s reprezinte: graficul unei funcii trigonometrice sinus sau un grafic cu variaie aleatoare ntre dou limite stabilite de ctre utilizator.
Exemplu de panou
Indicaii
La fiecare iteraie a buclei While principale a instrumentului virtual, valoarea ce urmeaz a fi trimis la elementul indicator Waveform Chart va fi calculat, n funcie de poziia comutatorului, n una din cele dou ferestre ale unei structuri Case (figura 2.2).
n fereastra True a structurii Case va fi calculat o valoare a funciei sinus (figura 2.3). Se consider c, de la o iteraie la alta a buclei While, valoarea unghiului pentru care se calculeaz funcia sinus este diferit cu un grad, astfel nct pentru determinarea valorii n grade a unghiului se poate utiliza terminalul i al buclei While. nainte de a fi transferat funciei Sinus, valoarea n grade a unghiului este transformat n radiani.
n fereastra False a structurii Case va fi generat o valoare aleatoare ntre limitele minim i maxim stabilite de ctre utilizator (figura 2.4). Valoarea aleatoare generat Y va fi determinat cu relaia
Y = X Max Min + Min (2.1)
unde X este valoarea aleatoare generat n intervalul (0, 1) de ctre funcia Random Number.
tergerea graficului existent la un moment dat n elementul indicator Waveform Chart se realizeaz prin trimiterea unui Array vid de valori numerice la nodul de proprieti History Data al elementului Waveform Chart (figura 2.5). tergerea graficului trebuie ns s aib loc doar n situaia n care se schimb tipul de grafic afiat (utilizatorul modific poziia comutatorului) i butonul Stergere este apsat. Pentru a sesiza, la o anumit iteraie a buclei While, faptul c poziia comutatorului a fost modificat, trebuie cunoscut poziia acestuia la iteraia anterioar, motiv pentru care buclei While i se creeaz un registru de transfer n care va fi nregistrat poziia comutatorului la iteraia curent. Registrul de transfer este iniializat cu o valoare logic False, deoarece la nceputul rulrii instrumentului virtual comutatorul se afl n poziia False. Nodul de proprieti History Data i Array-ul vid de valori numerice se plaseaz n fereastra True a unei structuri Case, deoarece tergerea graficului are loc doar n anumite condiii (cele menionate mai sus). Pentru a obine o valoare logic True la modificarea poziiei comutatorului, adic atunci cnd valoarea logic de la terminalul comutatorului este diferit de valoarea provenit din iteraia anterioar prin registrul de transfer, se utilizeaz funcia logic Exclusive Or (SAU Exclusiv), aceasta genernd valoarea logic False dac cele doua intrri ale sale sunt ambele True sau ambele False i genernd valoarea logic True n caz contrar (cnd cele dou intrri ale sale sunt diferite).
Pentru ca elementele de control Maxim i Minim din panoul frontal al instrumentului virtual s fie vizibile cnd comutatorul este n poziia False (Aleator) i invizibile atunci cnd comutatorul este n poziia True (Sinus) i acestea nu sunt necesare, valoarea logic negat de la terminalul comutatorului este trimis la nodurile de proprieti Visible ale elementelor de control Maxim i Minim (figura 2.6). n final, pentru ca modul n care graficele sunt trasate s fie posibil de urmrit (instrumentul virtual s nu ruleze prea rapid), n diagram se introduce o funcie Wait care s provoace o ntrziere de 5 ms la fiecare iteraie.