Pomiar Wielkości Maszynowych - Laboratorium
Numer ćwiczenia:
13
Temat ćwiczenia:
Programowanie pomiarów w środowisku
Agilen VEE
Data wykonania laboratorium:
08.05.2012
Data oddania Sprawozdania:
25.05.2012
Wykonał
: Łukasz Jaroszyk nr 516
Prowadzący
: Dr inż. Tomasz Rochatka
1. Cel ćwiczenia:
Zapoznanie się z podstawami programowania w środowisku programowym Agilent VEE.
2. Środowisko Agilent VEE
Agilent VEE jest środowiskiem projektowania oprogramowania systemów pomiarowych.
Za pomocą tego środowiska możemy sterować ustawieniami przyrządów pomiarowych (multimetrów,
generatorów, itp.), odczytywać pomiary od dostępnych urządzeń, aktywizować i przetwarzać zebrane dane,
prezentować dane w postaci tekstowej (zapis do pliku) i graficznej (wykresy), tworzyć interfejsu
graficznego użytkownika (GUI).
Odejście od tradycyjnego programowania tekstowego (np. Borlanda) na rzecz projektowania
graficznego jest cechą charakterystyczną dla środowiska VEE. Element podstawowy programu to ikona
obiektu wykonującego określone operacje na swoich danych wejściowych. Przepływ danych pomiędzy
obiektami programu projektowanymi za pomocą linii łączących wyjścia i wejścia obiektów zastępuje
sekwencje wykonywania instrukcji.
Zapis programu przypomina tworzenie schematu blokowego urządzenia, przedstawiając elementy
funkcjonalne oraz drogi przepływu danych i informacji sterujących. Po wybraniu właściwej koncepcji
rozwiązania projektowanie odbywa się poprzez konstrukcje jego schematu blokowego. Podobnie jest w
przypadku graficznego zapisu programu. Graficzne środowisko projektowania aplikacji pomiarowej
zapewnia duże ułatwienia w projektowaniu profesjonalnych aplikacji oraz znakomicie przyspiesza
uzyskanie końcowego produktu przy zminimalizowaniu trudności projektowych.
3. Typy zmiennych
HP VEE używa 14 typów danych przy czym 3 z nich są używane wyłącznie w przyrządowych transakcjach
I/O. Jedenaście z nich może znaleźć zastosowanie w ogólnych operacjach VEE, tzn. każdy kontener danych
przesyłany między obiektami VEE może zawierać dane jednego z tych typów :
Całkowite 32-bitowe (Int32);
Rzeczywiste 64-bitowe (Real64, 16 cyfr znaczących w zapisie dziesiętnym);
Zespolone w reprezentacji moduł- kąt (Pcomplex) w postaci (mag, @phase.
Zespolone w reprezentacji kartezjańskiej (Complex) w postaci (real, imag). Oba składniki są typu
rzeczywistego.
Kształt sygnału (Waveform). Dane muszą tworzyć tablicę jednowymiarową (Array 1D).
Widmo sygnału (Spectrum).
Współrzędne (Coord). Dana musi być skalarem lub tablicą jednowymiarową.
Enumeryczne (Enum). Dana enumeryczna musi być skalarem.
Tekstowe (Text). Dana tekstowa jest stringiem złożonym ze znaków alfanumerycznych.
Rekord (Record) jest typem złożonym z pól.
Obiekt (Object) jest zmienną obiektową używaną dla kontrolek i obiektów ActiveX.
4. Obiekt formula.
Obiekt formuły matematycznej jest obiektem wykonującym zdefiniowane operacje matematyczne. Żądane
wyrażenie wpisuje się w oknie edycji formuły. Wyrażenie kreuje się przy użyciu operatorów
matematycznych, nawiasów grupujących, nazw predefiniowanych stałych, nazw wejść i wyjść obiektu, nazw
zmiennych globalnych i lokalnych oraz nazw funkcji wbudowanych środowiska lub zdefiniowanych przez
uzytkownika.
5. Obiekt AlphaNumeric
Obiekt AlphaNumeric znajduje się w grupie w grupie Display. Służy do przedstawiania obliczonych
wartości.
6. Obiekty Break i Next
Obiekty Break i Next są związane z pętlami i służą odpowiednio do przerwania działania
pętli i wymuszenia kolejnej iteracji (identycznie jak instrukcje break i continue języka C).
Obiekty te dotyczą zawsze najbliższego obiektu powtarzania, czyli tego w którego subwątku
taki obiekt się znajduje.
7. Opis programu napisanego na zajęciach
Zadanie polegało na napisaniu własnego programu, który przelicza wartości kwadratów podanych przez
użytkownika programu liczb należących do przedziału <1;50>. Należy w tym celu użyć stałej do
przechowywania kilku wartości "Int32" a także takich obiektów które umożliwią nam przeliczenie kilka
razy kwadratów czyli obiektu "UntilBreak". NIezbędna jest także "Formula" najlepiej 2 po to, aby
wyświetlić w oknie działanie osobie korzystającej z programu a także drugą z działaniem matematycznym z
którego będzie korzystać program. Warunek "If/Then/Else" aby sprawdzić czy należy liczyć dalej czy już
osiągnęliśmy szukany wynik oraz obiekt który ukarze nam wynik i najlepiej jeszcze podobny obiekt służący
do wyświetlenia kolejnych wyników.
8. Opis poszczególnych składowych napisanego programu.
W programie wykorzystano stałą "Int32" oraz takie obiekty jak: "Formula"- przechowuje działanie
matematyczne służące do wykonania zadania, "Counter" oraz "Until break"- służące do ponownego
wykonania działania, "X vs Y Plot"- wykres umożliwiający graficzne kontrolowanie wyników,
"If/Then/Else"- obiekt służący do warunkowego wykonania zadania do momentu otrzymania szukanego
wyniku, "AlphaNumeric" oraz "LogginAlphaNumeric"- obiekty służące do wyświetlenia wyników jednakże
ten pierwszy wyświetla jedynie wynik końcowy, natomiast drugi wyświetla wszystkie rezultaty obliczeń
jakie wykonał program do momentu uzyskania wyniku końcowego. "Next" oraz "Break" służą kolejno do
wykonania następnego pomiaru jeśli wynik nie jest tym którego szukamy natomiast obiekt "Break" służy do
przerwania obliczeń obie komendy są związane z obiektem warunkowym.
9. Zrzuty ekranu:
Rys. 1
Rys. 2
10. Wnioski:
Można bardzo szybko zauważyć, że program Agilent VEE jest stosunkowo prosty w obsłudze i nie wymaga
on skomplikowanych i trudnych do zapamiętania komend takich jak posiadają inne programy jak "Turbo
Pascal" czy języki "C++". Jednakże wymagane są podstawowe znajomości języka angielskiego gdyż
program jest napisany w języku angielskim nie powinno to jednak stanowić kłopotu dla osób
średniozaawansowanych w tym języku. Kolejność wykonania operacji przez obiekty wątku programu jest
określona przepływem danych pomiędzy obiektami oraz dodatkowo danymi sekwencyjnymi. Stąd mówi się,
Że program VEE jest sterowany przepływem danych. Jednakże zawsze przy pisaniu w tym programie
jakichkolwiek programów należy pamiętać o właściwej kolejności ustawienia obiektów. Wątek programu
VEE można rozgałęzić na wiele subwątków realizowanych alternatywnie.