Laboratorium wirtualne 1/Moduł 3 - ćwiczenie 3: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 361: | Linia 361: | ||
Na rysunku przedstawiono przykładową sytuację. Obszarem zainteresowania (przeznaczonym do powiększenia) jest czerwony prostokąt, ograniczony kursorami (niebieskim i zielonym). Prostokąt ten można opisać dwiema parami współrzędnych: <math>(X_{min}, Y_{min})\,</math> oraz <math>(X_{min}, Y_{min})\,</math> oznaczonych odpowiednio zielonymi kółkami. Dysponując współrzędnymi kursorów: pierwszego <math>(X_1,Y_1)\,</math> oraz drugiego <math>(X_2,Y_2)\,</math> należy wyznaczyć: <math>X_{min}\,</math> , <math>X_{max}\,</math> , <math>Y_{min}\,</math> oraz <math>Y_{max}\,</math> . Będą one potrzebne do przeskalowania osi <math>X\,</math> oraz <math>Y\,</math> ekranu z przebiegiem czasowym. Włączaniem i wyłączaniem powiększenia niech steruje przełącznik typu '''Binary Switch'''. Jeżeli <math>X_1=X_2</math> lub <math>Y_1=Y_2</math> wtedy należy dezaktywować przełącznik powiększenia. W funkcji CALLBACK tego przełącznika trzeba obsłużyć dwa przypadki: włączenie i wyłączenie powiększenia. W obu należy wykorzystać funkcję: | Na rysunku przedstawiono przykładową sytuację. Obszarem zainteresowania (przeznaczonym do powiększenia) jest czerwony prostokąt, ograniczony kursorami (niebieskim i zielonym). Prostokąt ten można opisać dwiema parami współrzędnych: <math>(X_{min}, Y_{min})\,</math> oraz <math>(X_{min}, Y_{min})\,</math> oznaczonych odpowiednio zielonymi kółkami. Dysponując współrzędnymi kursorów: pierwszego <math>(X_1,Y_1)\,</math> oraz drugiego <math>(X_2,Y_2)\,</math> należy wyznaczyć: <math>X_{min}\,</math> , <math>X_{max}\,</math> , <math>Y_{min}\,</math> oraz <math>Y_{max}\,</math> . Będą one potrzebne do przeskalowania osi <math>X\,</math> oraz <math>Y\,</math> ekranu z przebiegiem czasowym. Włączaniem i wyłączaniem powiększenia niech steruje przełącznik typu '''Binary Switch'''. Jeżeli <math>X_1=X_2</math> lub <math>Y_1=Y_2</math> wtedy należy dezaktywować przełącznik powiększenia. W funkcji CALLBACK tego przełącznika trzeba obsłużyć dwa przypadki: włączenie i wyłączenie powiększenia. W obu należy wykorzystać funkcję: | ||
'''int status = SetAxisScalingMode (int panelHandle, int controlID, int axis, int axisScaling, double min, double max);''' | |||
Pełny opis funkcji '''SetAxisScalingMode''' dostępny jest poprzez pomoc środowiska LabWindows/CVI. W tym celu należy wybrać menu '''Help -> Contents''' i po otworzeniu okna pomocy ze '''''Spisu treści''''' wybrać '''Library Reference -> User Interface Library -> Functions -> Alphabetical List of Functions -> SetAxisScalingMode.''' | |||
Funkcję tę należy wykonać osobno dla osi X i Y. Parametr '''axis''' dla osi X ustawić należy na '''bottom X axis''' dla osi Y musi to być '''left Y axis'''. Argument '''axisScaling''' należy ustawić następująco: dla włączenia powiększenia - '''manual;''' dla wyłączenia - '''auto'''. Działanie tego parametru wygląda następująco: '''manual''' - odczytuje współrzędne graniczne z pozycji '''Min''' oraz '''Max;''' tryb '''auto''' natomiast powoduje, że wyświetlany jest cały bufor danych taki jaki wyświetlony został funkcją '''PlotWaveform'''. Wartości '''Min''' oraz '''Max''' są ignorowane tym nie mniej nie wolno ich w funkcji opuścić. | |||
|} | |} | ||
Linia 379: | Linia 387: | ||
'''if( stanPrzełącznika == 1)''' | '''if( stanPrzełącznika == 1)''' | ||
{ | |||
'''{''' | |||
:'''SetCtrlAttribute''' | :'''SetCtrlAttribute''' | ||
:'''................''' | :'''................''' | ||
} | |||
else | '''}''' | ||
{ | |||
'''else''' | |||
'''{''' | |||
:'''QuitUserInterface(0);''' | :'''QuitUserInterface(0);''' | ||
:'''//koniec programu (w tym przypadku zbędny jest przycisk''' | :'''//koniec programu (w tym przypadku zbędny jest przycisk''' | ||
:'''//KONIEC i przyporządkowana mu funkcja CALLBACK''' | :'''//KONIEC i przyporządkowana mu funkcja CALLBACK''' | ||
} | |||
'''}''' | |||
|} | |} |
Wersja z 23:32, 29 sie 2006
wersja beta
LABORATORIUM WIRTUALNE 1
Ćwiczenie 3 - Projekt wirtualnego oscyloskopu w środowisku LabWindows/CVI
![]() |
|
![]() |
Stworzyć nowy projekt i wybrać File -> New -> *.uir. |
![]() |
Po uruchomieniu program będzie wyglądał podobnie jak na ilustracji poniżej. |