
|
Dysponując odczytem pozycji 2 kursorów na ekranie z przebiegiem czasowym można uzyskać powiększenie wybranego fragmentu. Fragment ten określony jest przez odpowiednie współrzędne kursorów.
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: , oraz , oznaczonych odpowiednio zielonymi kółkami. Dysponując współrzędnymi kursorów: pierwszego , oraz drugiego , należy wyznaczyć: , , , , , oraz , . Będą one potrzebne do przeskalowania osi , oraz , ekranu z przebiegiem czasowym. Włączaniem i wyłączaniem powiększenia niech steruje przełącznik typu Binary Switch. Jeżeli lub 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ć.
|