Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne,...

36
VccSSe Virtual Community Collaborating Space for Science Education Wiesław Tłaczała Wprowadzenie do LabVIEW 1

Transcript of Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne,...

Page 1: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Wiesław Tłaczała

Wprowadzenie do

LabVIEW

1

Page 2: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

LabVIEW – graficzne środowisko programistyczne

Co oznacza LabVIEW?

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) jest produktem firmy

National Instrument Inc. (NI), chronionym znakiem towarowym, którego przeznaczeniem jest

obsługa przyrządów pomiarowych oraz analiza danych za pomocą komputerów klasy PC. Jest

to środowisko programistyczne dysponujące narzędziami niezbędnymi do sterowania

przyrządami, akwizycji, przechowywania, analizy i prezentacji danych, które integruje

wymienione możliwości w jeden system. Jest to graficzne środowisko programistyczne

wykorzystujące graficzny język programowania, nazywany językiem G. Głównym

przeznaczeniem LabVIEW jest budowa przyrządów wirtualnych.

Co to jest przyrząd wirtualny?

Pod pojęciem przyrządu wirtualnego zazwyczaj rozumie się rzeczywisty system pomiarowy

wspomagany komputerowo. Sterowanie rzeczywistymi przyrządami funkcjonującymi w tle

komputera może być realizowane za pomocą klawiatury i myszki oraz monitora. Szersze

rozumienie przyrządów wirtualnych uwzględnia również różnorodne aplikacje komputerowe

służące modelowaniu procesów, symulacji funkcjonowania przyrządów lub animacji

działania systemów pomiarowych. Uwzględniając zaprezentowane pojęcie przyrządów

wirtualnych można przyjąć, że wszystkie programy (aplikacje) opracowane w środowisku

LabVIEW są Przyrządami Wirtualnymi (ang. Virtual Instruments), nazywanymi w

skrócie VI.

Wprowadzenie do LabVIEW

Konstruowanie przyrządów wirtualnych może być wykorzystywane nie tylko do budowy

rzeczywistych przyrządów, lecz również może być użyteczne do opracowywania aplikacji

symulujących działanie realnych urządzeń i przyrządów, animacji i modelowania

rzeczywistych procesów fizycznych, na przykład eksperymentów fizycznych, w celu

demonstracji, w jaki sposób są wykonywane rzeczywiste eksperymenty. Jest to jedna z wielu

możliwości i istotnych cech LabVIEW, które można wykorzystać do opracowania narzędzi

2

Page 3: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

dydaktycznych użytecznych w czasie nauczenia, również e-nauczania, na przykład, nauczania

podstaw zjawisk fizycznych lub zaprezentowania metodyki wykonania eksperymentu

fizycznego.

Głównym przeznaczeniem niniejszego krótkiego kursu LabVIEW jest pokazanie, jak

graficzny język G (LabVIEW) można wykorzystać do opracowania aplikacji, które będą

wirtualnymi eksperymentami fizycznymi poświęconymi zaprezentowaniu Praw Gazowych.

Celem tego kursu jest przygotowanie osób zainteresowanych wykorzystaniem środowiska

LabVIEW do samodzielnego opracowywania prostych aplikacji na podstawowym poziomie.

Podstawy LabVIEW

Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty

czołowej (ang. Front Panel), schematu blokowego (ang. Block Diagram) oraz ikony ze

złączem (ang. Icon/Connector). Po wywołaniu LabVIEW na ekranie monitora pojawia się

okno startowe, analogiczne do pokazanego na rys. 1, charakterystycznego dla LabVIEW 8.2.

Rys. 1 Okno startowe LabVIEW 8.2

3

Page 4: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Korzystając z okna startowego można otworzyć nowy (pusty) program VI (rys. 2)

zaznaczając polecenie Blank VI w polu Files>>New.

Każdy program VI składa się z dwóch okien, okna Front Panel, widocznego na pierwszym

planie rysunku 2, po otwarciu nowego VI, oraz okna Block Diagram w tle, z tyłu okna Front

Panel.

Wymienione okna charakteryzują się standardowymi możliwościami dostępnymi dla okien

systemu Windows, takimi jak paski tytułu i menu, paski przewijania, przyciski minimalizacji,

maksymalizacji i zwijania okna, jak również możliwościami specyficznymi dla LabVIEW, w

postaci paska narzędziowego oraz ikony Icon/Connector, widocznej w prawym górnym rogu

każdego okna VI.

Rys. 2 Okna z płytą czołową (na wierzchu) i schematem blokowym (pod spodem)

Front Panel pełni funkcję interfejsu użytkownika i umożliwia operatorowi kontrolowanie

działania VI. Składa się on z zestawu obiektów graficznych umożliwiających operatorowi

wprowadzanie danych do programu (danych wejściowych) lub śledzenie informacji

zwracanej przez program w formie danych, które mogą być interesujące dla użytkownika

(dane wyjściowe). Obiekty umieszczone na płycie czołowej przyrządu są nazywane Controls

lub Indicators, w zależności od funkcji, jaką pełnią i w dalszej części opracowania będą

4

Page 5: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

nazywane kontrolkami. Obiekty typu Controls dostarczają dane do programu lub są

wykorzystywane do sterowania sposobem wykonania programu, natomiast obiekty typu

Indicators służą prezentacji zarejestrowanych danych pomiarowych lub rezultatów

uzyskanych po ich przetwarzaniu.

Kontrolki można umieścić na płycie czołowej urządzenia otwierając pole Controls,

kliknięciem w wolnym miejscu okna Front Panel, i zaznaczając odpowiednią bibliotekę (na

przykład bibliotekę Numeric), a następnie, po wskazaniu myszką odpowiedniego obiektu (na

przykład Tank), przeciągając go w wybrane miejsce na płycie czołowej za pomocą techniki

przeciągnij i upuść, (rys. 3). Pole z kontrolkami można również otworzyć z paska menu

korzystając z polecenia View>> Controls Palette.

Rys. 3 Pole z kontrolkami numerycznymi w oknie panelu

Wybrany element (w przykładzie Tank), po umieszczeniu na płycie czołowej VI, może być

poddany modyfikacji polegającej na zmianie rozmiarów, oznakowaniu za pomocą etykietki,

zmianie nazwy, wyborze zakresu, oprawie graficznej itd. Wyszczególnione operacje można

5

Page 6: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

wykonać po wybraniu odpowiedniego narzędzia dostępnego w polu z narzędziami - Tools

Paletce, pokazanego na rys. 4. Pole Tools Palette można otworzyć korzystając z paska menu i

zaznaczając polecenie View>>Tools Palette lub za pomocą kliknięcia prawym klawiszem

myszki przy wciśniętym klawiszu Shift (kombinacja Shift+Right-Clicking).

Rys. 4 Pole z narzędziami - Tools Palette

Pole z narzędziami ma postać panelu graficznego zawierającego różnego rodzaju narzędzia w

formie piktogramów, które można stosować do tworzenia i obsługi programu VI. Narzędzie w

środowisku LabVIEW jest w istocie swej kursorem myszki przybierającym różnorodne

formy, w zależności od przeznaczenia, i stosowanym do wykonania określonych operacji, jak

zaznaczania obiektów lub grup obiektów, realizacji połączeń między obiektami, opisywania

elementów i ich obsługi, przewijania okien, wstawiania przerwań i sond, otwierania

podręcznych menu, również operacji, służących zmianie oprawy graficznej interfejsu, a więc

typowych operacji graficznych.

6

Page 7: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 5 Płyta czołowa przyrządu z obiektem Tank symulującym zbiornik

Rysunek 5 pokazuje kontrolkę Tank, której nazwę zmieniono na Tank for B-M law, czego

dokonano edytując tę nazwę za pomocą narzędzia Labeling Tool. To samo narzędzie

wykorzystano do zmiany opisu skali Y oraz zastąpienia wartości zakresowej 10 liczbą 4.

Edycji tekstów dokonano w sposób typowy dla edytorów tekstu. Zmieniono również

szerokość i wysokość zbiornika wykorzystując do tego celu narzędzie Positioning Tool. Na

koniec, zmieniono kolor przestrzeni nad gazem na biały za pomocą narzędzia Set Color Tool,

podobnie jak kolor tła w oknie panelu. Czynności, związane zarówno ze zmianą rozmiarów,

jak i zmianą kolorów, wykonuje się w sposób analogiczny do edycji rysunków w typowych

programach graficznych. Do zmiany poziomu gazu w zbiorniku można wykorzystać kursor

myszki przydzielając mu funkcję manipulatora po wybraniu narzędzia Operating Tool.

Ten sam zestaw narzędzi, dostępny w polu narzędziowym Tools Palette, służy do edycji

programu zarówno w oknie panelu - Front Panel, jak i w oknie diagramu - Block Diagram.

7

Page 8: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 6 Okna panelu i diagramu należące do aplikacji Boyle-Mariotte's law.vi umieszczone obok siebie na

ekranie monitora

W oknie diagramu jest tworzony kod źródłowy programu, który składa się z terminali

kontrolek, obiektów funkcyjnych – functions, instrukcji sterujących – structures,

podprogramów – subVIs, stałych – constants i linii (połączeń) – wires, które są

odpowiedzialne w programie za przesyłanie danych między poszczególnymi obiektami.

Functions, structures i subVIs, określane wspólnym mianem nodes, są elementami programu

odpowiedzialnymi za sposób jego wykonania. Ikona subVI reprezentuje program traktowany

jako podprogram w obrębie programu nadrzędnego. Zbiór wymienionych elementów

reprezentuje w formie graficznej kod źródłowy programu. W czasie wykonywania programu

dane są przesyłane między panelem a diagramem oraz między ikonami umieszczonymi w

oknie diagramu. Sposób przepływu danych w obrębie diagramu jest determinowany za

pomocą połączeń. Rysunek 6 pokazuje panel aplikacji Boyle-Mariotte's law.vi wraz z

kontrolką numeryczną Volume, której zadaniem jest wyświetlenie liczby odpowiadającej

wartości objętości gazu, wyrażonej w mililitrach (ml) z dokładnością do jednego miejsca po

przecinku.

8

Page 9: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Okna panelu i diagramu można otwierać oddzielnie za pomocą instrukcji Window>>Show

Front Panel lub Window>>Show Block Diagram, dostępnych na paskach menu w obu

oknach.

We wspomnianej aplikacji kontrolka numeryczna Tank for B-M law dostarcza dane

numeryczne do wskaźnika numerycznego Volume. Zmiana funkcji kontrolki Tank for B-M

law z indicator (wskaźnik – obiekt wyświetlający dane) na control (obiekt sterujący -

dostarczający dane) była możliwa za pomocą polecenia Change to Control dostępnego w

menu podręcznym kontrolki. Podobne zmiany funkcji są dopuszczalne dla każdej kontrolki

umieszczonej na panelu. Poleceniem przeciwnym do polecenia Change to Control jest

polecenie Change to Indicator. Obiekty sterujące – controls, są źródłami danych, natomiast

wskaźniki – indicators, odbiornikami danych. Jak wspomniano wyżej, każdy element

umieszczony na panelu jest reprezentowany w oknie diagramu przez przyporządkowany mu

terminal. W zależności od funkcji elementu jego terminal może mieć krawędzie pogrubione

(w przypadku obiektów sterujących) lub cienkie (w przypadku wskaźników). Dane mogą być

przesyłane od terminalu obiektu dostarczającego dane do terminalu obiektu przyjmującego

dane za pośrednictwem połączenia wykonanego za pomocą narzędzia Wiring Tool.

Właściwości kontrolki umieszczonej na panelu określa się w oknie Properties (rys. 7b

pokazuje takie okno dla kontrolki numerycznej Volume), które można otworzyć z menu

podręcznego kontrolki po kliknięciu na niej prawym klawiszem myszki i zaznaczeniu opcji

Properties, rys. 7a. W przykładowym oknie, po kliknięciu zakładki Format and Precision,

wybrano opcję 1 Digits of precision (wyświetlanie wartości liczby z dokładnością do jednego

miejsca po przecinku) dla liczby wyświetlanej za pomocą wskaźnika Volume.

9

Page 10: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 7 Wybór właściwości elementu umieszczonego na panelu: a) podręczne menu kontrolki Volume, b) okno

Numeric Properties

Dane mogą być modyfikowane w czasie przepływu między obiektami. W oknie diagramu,

pokazanym na rys. 6a, wartość liczbowa objętości gazu podawana w litrach i dostarczana

przez terminal zbiornika jest przetwarzana w wartość liczbową podawaną w mililitrach, która

następnie jest przesyłana do cyfrowego wskaźnika objętości. Modyfikacja danych liczbowych

została dokonana za pomocą obiektu funkcyjnego Multiply, wstawionego na drodze

przepływu danych między terminalami elementów Tank for B-M law i Volume. Obiekty

funkcyjne i podprogramy służące modyfikacji (obróbce, przetwarzaniu, analizie) danych są

dostępne w polu Functions. Umieszczenie obiektu funkcyjnego lub podprogramu w oknie

diagramu jest możliwe po otwarciu pola Functions za pomocą kliknięcia prawym klawiszem

w wolnym miejscu tego okna i wybraniu biblioteki (na przykład biblioteki Express Numeric

za pomocą polecenia Express>>Arithmetic&Comparison>>Express Numeric), a następnie

zaznaczeniu ikony pożądanego obiektu (na przykład ikony operatora arytmetycznego

Multiply) i umieszczeniu go w oknie diagramu techniką przeciągnij i upuść, rys.8. Pole z

10

Page 11: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

obiektami funkcyjnymi można otworzyć również z paska menu wybierając polecenie

View>>Functions Palette.

Rys. 8 Demonstracja wstawiania obiektu funkcyjnego Multiply między terminalami kontrolek po uprzednim

pobraniu obiektu z biblioteki Express Numeric

Po zakończeniu tworzenia kodu można program VI wykonać jednokrotnie klikając przycisk

Run lub wielokrotnie w sposób cykliczny po kliknięciu przycisku Run Continuosly. Oba

przyciski są dostępne na pasku narzędziowym. Biała strzałka na przycisku Run informuje, że

program VI jest gotowy do uruchomienia. Po kliknięciu przycisku Run LabVIEW kompiluje

VI, a następnie uruchamia i wykonuje program. Podczas wykonywania programu przycisk

Run zmienia swój wygląd (biała strzałka na przycisku zostaje zastąpiona czarną strzałką)

informując w ten sposób operatora o tym, że program jest aktualnie uruchomiony. Program

11

Page 12: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

VI można zatrzymać w sposób natychmiastowy za pomocą kliknięcia przycisków Abort

Execution lub Running Continuosly, które są dostępne na pasku narzędziowym.

Technika obsługi błędów Przycisk Run z uszkodzoną (przełamaną) strzałką pojawia się na pasku narzędziowym

wówczas, kiedy program zawiera błędy lub jest uszkodzony. W takim przypadku nazwa

przycisku Run zostaje zastąpiona nazwą List Errors (rys. 9a). Uszkodzonego programu nie

można skompilować ani uruchomić z powodu występujących w nim błędów. W

uszkodzonym programie jest możliwa identyfikacja i lokalizacja błędów za pomocą kliknięcia

przycisku Error list (uszkodzonego przycisku Run). Rysunek 9a pokazuje program Boyle-

Mariotte's law.vi , w którym występują dwa błędy: jeden spowodowany pojawieniem się w

programie niedokończonego połączenia, co sygnalizuje komunikat w oknie z listą błędów

(Wire: has loose ends) oraz przerywana linia połączenia i drugi będący wynikiem braku

podłączenia źródła danych do jednego z dwóch terminali operatora Multiply, o czym

informuje zaznaczony komunikat w oknie z listą błędów (Multiply: contains unwired or bad

terminal).

Rys. 9 Obsługa błędów w programie: a) VI z błędami, b) okno z listą błędów

LabVIEW jest systemem programowania bazującym na zasadzie przepływu danych. Program

utworzony na bazie takiego systemu programowania składa się z węzłów (ang. nodes),

odpowiedzialnych za wykonanie w programie określonych zadań, które są realizowane przez

poszczególne węzły tylko po przyjęciu kompletu danych dostarczonych do terminali

12

Page 13: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

wejściowych węzłów, a po ich przetworzeniu natychmiast udostępniają wynik operacji na

terminalach wyjściowych. Program VI można przetestować włączając spowolniony tryb

przeglądania za pomocą przełącznika Highlight Execution, dostępnego na pasku

narzędziowym. W tym trybie przeglądania można prześledzić, w jaki sposób dane

przepływają między terminalami, rys. 10a. Dodatkowo, dostępne jest przeglądanie programu

VI krok po kroku za pomocą przycisków Start Single Stepping (uruchom krokowy tryb

przeglądania), Step over...(omiń obiekt) i Finish VI...(zakończ krokowy tryb przeglądania),

rys. 10b.

Rys. 10 Testowanie VI: a) z wykorzystaniem opcji Highlight Execution, b) krok po kroku

Budowa aplikacji przeznaczonej do demonstracji prawa Boyle-Mariotte’a

Do demonstracji prawa Boyle-Mariotte'a wymagane jest zaimplementowanie następującego

równania

p0V0 = p1V1 for T = const, (1)

a następnie pokazanie, jak w przypadku idealnego gazu ciśnienie p zależy od objętości V,

kiedy temperatura gazu T0 jest stała i równa 293 K

p1 = p0 V0/ V1 for T0 = 293. (2)

13

Page 14: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

W celu zademonstrowania prawa Boyle-Mariotte'a trzeba zasymulować proces kompresji

gazu wymuszonej zewnętrzną siłą F przyłożoną do tłoka, w wyniku czego objętość gazu

zostanie zmieniona. Oznacza to konieczność opracowania programu VI zawierającego

kontrolkę numeryczną reprezentującą wpływ siły F na objętość gazu V, graficzny

wyświetlacz Tank for B-M law i dwa wskaźniki cyfrowe wyświetlające wartości V1 i p1 (rys.

11a). Do tego celu można wykorzystać VI, wcześniej utworzony i pokazany na rys. 5. W

najprostszej wersji programu, przeznaczonego do prezentacji prawa Boyle-Mariotte’a,

potencjometr suwakowy (ang. Slide) nazwany V(F) można wykorzystać do symulacji zmian

objętości V wymuszonej siłą F. Można przyjąć, że potencjometr suwakowy V(F) będzie

wymuszać zmiany objętości gazu w przedziale od Vmax = 2,7 litra do Vmin = 1 litra, co oznacza,

że jego zadaniem będzie dostarczanie do terminalu kontrolki Tank for B-M law liczb z

przedziału ograniczonego wartościami Vmin i Vmax. Jeżeli tak, to należy zadeklarować taki

właśnie przedział zmian wartości liczbowych dopuszczalnych dla kontrolki V(F), czego

można dokonać po otwarciu okna Properties skojarzonego z tą kontrolką. Konieczna jest

również inwersja skali kontrolki V(F). Po skonfigurowaniu kontrolki V(F) należy zmienić

funkcję kontrolki Tank for B-M law przydzielając jej funkcję wskaźnika (ang. Read) zamiast

funkcji obiektu dostarczającego dane (ang. Write).

Rys. 11 Najprostsza wersja programu do demonstracji prawa Boyle-Mariotte’a: a) płyta czołowa VI, b) okno z

kodem, c) okno do konfigurowania kontrolki V(F)

W celu wskazania kierunku oddziaływania siły F można pobrać strzałkę z pola

Controls>>Decorations z elementami dekoracyjnymi i umieścić ją ponad tłokiem. Do

14

Page 15: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

wyświetlania aktualnych wartości objętości V1 i ciśnienia p1 wykorzystano wskaźniki

numeryczne V1 i p1. Po wykonaniu opisanych czynności zmodyfikowany program Boyle-

Mariotte's law 0.vi jest gotowy do wykonania wirtualnych pomiarów przy normalnej

temperaturze T0 = 293 K. Najprostszą implementację równania (2) pokazano na rys. 11b.

Bardziej zaawansowana aplikacja powinna umożliwić zaprezentowanie danych pomiarowych

w postaci zbioru punktów (na przykład 10 punktów) umieszczonych w układzie

współrzędnych XY. Oznacza to, że opisany wcześniej program należałoby uzupełnić o

wyświetlacz XY. Panel VI uzupełniony wyświetlaczem graficznym XY z nazwą p(V) graph

pokazano na rys. 12a.

Rys. 12 VI do demonstracji prawa Boyle-Mariotte’a z wyświetlaczem XY: a) panel, b) okno z kodem

Wyświetlacz XY można umieścić na panelu po zaznaczeniu i przeciągnięciu odpowiedniej

ikony z biblioteki Controls>>Graph. Po umieszczeniu wyświetlacza na panelu można go

skonfigurować w oknie Properties w sposób analogiczny do opisanego w przypadku

kontrolki numerycznej. Kod uzupełnionej o wyświetlacz aplikacji pokazano na rys. 12b. Jak

zwykle, po umieszczeniu na panelu nowej kontrolki, w przykładzie wyświetlacza XY,

odpowiednia ikona automatycznie została wstawiona do kodu w oknie diagramu.

Instrukcje sterujące - Structures

Jak zaznaczono wyżej, wyświetlacz XY został umieszczony na panelu w celu

zaprezentowania zbioru danych w postaci wykresu, co jednak wymaga zarejestrowania i

przechowania zbioru współrzędnych, odpowiadających zebranym punktom pomiarowym.

15

Page 16: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Jeżeli tak, to konieczne jest zastąpienie kontrolki V(F) podprogramem, którego zadaniem

będzie przygotowanie wartości Vi (współrzędnych xi) dla każdego punktu w zbiorze p(V),

oraz zbudowanie dwóch jednowymiarowych tablic (ang. Arrays) zawierających zbiory

współrzędnych (Vi) i (pi). Wyrażając się bardziej precyzyjnie, należy utworzyć dwa zbiory

danych w formie tablic jednowymiarowych, które oznaczono V1 i p1. Do tego celu można

zastosować pętlę For Loop, jedną z wielu instrukcji sterujących (ang. Structure) dostępnych

w środowisku LabVIEW.

Podstawowe struktury programistyczne, pokazane na rys. 13, (z dostępem:

Functions>>Programming>>Structures) są węzłami odpowiedzialnymi za sposób

wykonania programu, i zalicza się do nich takie podstawowe instrukcje sterujące, jak

instrukcje Flat/Stacked Sequence, Case, Event oraz pętle For Loop i While Loop. Instrukcje

sterujące mogą być wykonywane w sposób iteracyjny lub warunkowy. Sposób wstawiania,

analogiczny dla każdej z wymienionych instrukcji, pokazano w górnym lewym rogu rys. 13.

Technika wstawiania instrukcji sterujących różni się od sposobu umieszczania innych

obiektów funkcyjnych w oknie diagramu, bowiem nie są one gotowe natychmiast po

przeciągnięciu do okna diagramu. Po zastosowaniu techniki przeciągnij i upuść, w chwili

pojawienia się w oknie diagramu małej ikony reprezentującej daną instrukcję, konieczne jest

jej poszerzenie w taki sposób, aby zostały nią otoczone i znalazły się w jej wnętrzu wszystkie

obiekty funkcyjne składające się na fragment programu, który powinien być wykonywany

pod jej kontrolą.

Rys. 13 Instrukcje sterujące

16

Page 17: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Pętla For Loop wykonuje N-krotnie program znajdujący się w polu ograniczonym

krawędziami instrukcji, gdzie N jest liczbą udostępnianą przez terminal obiektu sterującego

dołączony do terminalu N - Loop Count. Terminal “i” - Loop Iteration, zwraca na bieżąco

numer ostatniej wykonanej iteracji.

Po wyjaśnieniu przeznaczenia pętli For Loop można ją wykorzystać do modyfikacji kodu

źródłowego, pokazanego na rys. 12b, w celu udoskonalenia aplikacji demonstrującej prawo

Boyle-Mariotte'a. W związku z tym, najpierw, wstawimy pętlę For Loop stosując technikę

wstawiana struktur pokazaną na rys. 13, a do terminalu N podłączymy terminal kontrolki

numerycznej Number of points, która będzie odpowiedzialna za liczbę iteracji (i w

konsekwencji za liczbę punktów przewidzianych do umieszczenia na wykresie). Następnie

przygotujemy fragment programu, który, w miarę wykonywania kolejnych iteracji przez For

Loop, będzie automatycznie zmniejszać wartość liczbową objętości i w ten sposób

symulować zmniejszanie objętości gazu w zbiorniku. Po utworzeniu w wyżej opisany sposób

fragmentu programu, którego zadaniem będzie przejęcie funkcji kontrolki V(F), można tę

kontrolkę z programu usunąć, natomiast niezbędne jest uzupełnienie programu o kontrolkę

Number of points.

17

Page 18: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 14 Udoskonalony program do prezentacji prawa Boyle-Mariotte’a - Boyle-Mariotte’s law 1.vi:

a) panel, b) okno z kodem

W początkowym etapie tworzenia programu, kiedy kod źródłowy zajmuje mało miejsca w

oknie diagramu, można ekran monitora podzielić na dwie równe części, na przykład, górną

przeznaczoną do prezentacji panelu oraz dolną do wyświetlania diagramu, krótko mówiąc,

18

Page 19: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

można obie oba okna umieścić jedno nad drugim. Do tego celu służy polecenie

Window>>Tile Up and Down, ze skutkiem pokazanym na rys. 14. Na rysunku 6 pokazano, z

kolei, okna paneli i diagramu umieszczone obok siebie po zastosowaniu polecenia

Window>>Tile Left and Right.

Do tworzenia tablic można wykorzystać tunele, które pojawiają się na krawędzi For Loop po

podłączeniu źródeł danych w miejscach, wskazanych na krawędzi pętli kursorem-szpulką (w

przykładzie są to punkty podłączone do terminali p1 i V1). Tablice ze zbiorami danych p1 i

V1, przed dostarczeniem do terminalu wyświetlacza graficznego, muszą być reprezentowane

przez jedną zmienną, co uzyskano łącząc je w klastry, do czego zastosowano w programie

operator Bundle.

Po wykonaniu opisanych czynności i zadeklarowaniu liczby punktów można uruchomić

ulepszony program VI, Boyle-Mariotte’s law 1.vi, zebrać dane i umieścić je na wykresie.

Wykorzystując tryb Highight Execution można prześledzić sekwencję operacji

towarzyszących rejestracji danych i wykreśleniu krzywej p(V) na wyświetlaczu graficznym.

Typy danych i połączeń

Typy danych stosowane w środowisku LabVIEW i akceptowane przez większość programów

VI i obiektów funkcyjnych to dane numeryczne, logiczne, łańcuchy znaków, zbiory znaków,

zbiory w postaci przebiegów, tablic i klastrów, referencje i ścieżki dostępu.

Analizując kod graficzny przedstawiony na rys. 14 można zauważyć, że połączenia mają

różne grubości i kolory. Cienkie linie stosuje się w przypadku połączeń przeznaczonych do

przesyłania wielkości skalarnych, natomiast pogrubione linie służą do transferu

jednowymiarowych (1D) tablic danych. Informacja o typie danych zakodowana jest nie tylko

w grubości połączeń, lecz również w ich formie, fakturze (wyglądzie) i kolorze. Wygląd

połączeń jest jednoznacznie określony dla każdego typu danych. Na przykład, kolor

pomarańczowy jest zarezerwowany dla liczb zmiennoprzecinkowych, niebieski dla liczb

całkowitych, zielony dla zmiennych boolowskich, a różowy dla łańcuchów znaków. Rodzaj

połączeń stosowanych w oknie diagramu jest przyporządkowany danym w następujący

sposób: cienkie i ciągłe linie służą do przesyłania wielkości skalarnych, pogrubione i ciągłe

linie stosuje się do przekazywania tablic jednowymiarowych, bardziej pogrubione lub

podwójne linie są zarezerwowane dla dwuwymiarowych tablic liczb, natomiast grube linie są

19

Page 20: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

wykorzystywane do dostarczania dwuwymiarowych tablic zmiennych boolowskich lub

znaków. Czarna przerywana linia sygnalizuje niewłaściwie wykonane połączenie.

Dzięki zastosowaniu struktury Case i kontrolki boolowskiej można udoskonalić aplikację

umożliwiając wybór wartości temperatury, przy czym do zmiany wartości temperatury T2

wykorzystano kontrolkę suwakową T2. W omawianej aplikacji wartość temperatury T1 jest

niezmienna i równa 293 K.

Rys. 15 Aplikacja Boyle-Mariotte’s law 2.vi z możliwością wyboru między temperaturą T2 a T1:

a) panel, b) okno z kodem

20

Page 21: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Struktura Case składa się z dwu lub więcej podprogramów w postaci subdiagramów

otoczonych charakterystyczną ramką z terminalem selektora na lewej krawędzi, które są

odpowiedzialne za różne sposoby wykonania części programu. O tym, który z podprogramów

struktury Case zostanie wykonany decyduje wartość zmiennej dołączonej do terminalu

selektora, przy czym w przypadku struktury z dwoma subdiagramami stosuje się kontrolkę

boolowską, natomiast w przypadku większej ich liczby wyboru podprogramu dokonuje się za

pomocą kontrolki numerycznej lub znakowej.

Kontrolka boolowska charakteryzuje się dwoma stanami „ON” (WŁ) i „OFF” (WYŁ), które

można wybierać klikając na kontrolce za pomocą kursora Operating Tool. Terminal kontrolki

boolowskiej jest koloru zielonego z widocznymi oznaczeniami literowymi “TF”, które

odpowiadają dwóm wzajemnie wykluczającym się możliwościom – True lub False,

przyporządkowanym stanom ON lub OFF – włączenia lub wyłączenia kontrolki.

Rysunek 15 pokazuje zmodyfikowany kod źródłowy udoskonalonej aplikacji Boyle-

Mariotte’s law 2.vi, w której kontrolka boolowska T2 or T1 steruje za pośrednictwem

terminalu strukturą Case, odpowiedzialną za wybór wartości temperatury. W opisywanej

wersji aplikacji temperatura jest parametrem. Po zmianie tego parametru, czyli wartości

temperatury, konieczna jest aktualizacja objętości gazu zgodnie z prawem Gay Lussac’a, co

uzyskuje się za pomocą fragmentu kodu przetwarzającego dane dostarczane przez strukturę

Case.

W tym samym oknie widoczna jest struktura Formula Node, zastosowana w miejsce

fragmentu kodu widocznego na rys. 14b, która dostarcza wartości objętości gazu zmniejszane

automatycznie w kolejnych iteracjach w czasie wykonywania programu, kontrolowanego

przez pętlę For Loop. Rola struktury Formula Node jest identyczna z rolą fragmentu

programu, zrealizowanego z wykorzystaniem operatorów matematycznych niskiego poziomu

(rys. 14b).

Struktura Formula Node jest prostokątem, w którego polu można wpisywać wyrażenia

algebraiczne służące przetwarzaniu danych wprowadzanych do struktury za pośrednictwem

terminali wejściowych (ang. Inputs), umieszczonych na krawędzi struktury. Po przetworzeniu

dane są udostępniane poza polem struktury za pośrednictwem terminali wyjściowych (ang.

Outputs). Terminale wejściowe i wyjściowe można utworzyć klikając prawym klawiszem na

krawędzi struktury, a po otwarciu podręcznego menu, zaznaczając odpowiednie polecenie

21

Page 22: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Add Input lub Add Output. Po umieszczeniu terminali na krawędzi struktury należy w nich

wpisać nazwy przyporządkowane określonym zmiennym. Do tworzenia wyrażeń

algebraicznych w polu struktury Formula Node stosuje się zapis podobny do zapisu

przyjętego w większości języków tekstowych i w wyrażeniach matematycznych.

W celu pełnej demonstracji prawa Boyle-Mariotte’a wydaje się celowe umieszczenie na tym

samym wykresie kilku (przynajmniej dwóch) krzywych różniących się wartością temperatury

traktowanej jako parametr. Cel ten można osiągnąć modyfikując poprzednią aplikację w taki

sposób aby dane przewidziane do umieszczenia na wykresie zostały zarejestrowane w kilku

(na przykład, dwóch) etapach, z których każdy byłby odpowiedzialny za zgromadzenie zbioru

danych dla jednej wartości temperatury. Tego typu zadanie można zrealizować korzystając ze

struktury sekwencyjnej Sequence structure.

22

Page 23: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 16 Program Boyle-Mariotte’s law 3.vi ze strukturą sekwencyjną wykorzystaną do przygotowania danych

dla dwóch krzywych, różniących się wartością temperatury: a) okno panelu, b) okno z kodem

Struktura sekwencyjna jest przeznaczona do sekwencyjnego wykonywania fragmentów

programu (podprogramów), umieszczonych w kolejnych polach struktury, ograniczonych

perforowanymi ramkami, które w rozwiniętej (płaskiej; ang. Flat) formie przypominają

kolejne kadry filmu. Po zastąpieniu struktury sekwencyjnej rozwiniętej (Flat Sequence)

strukturą nakładkową (Stacked Sequence), funkcja struktury nie zmienia się, natomiast

poszczególne pola zostają umieszczone jedne nad drugimi, a ich ramkom zostają przydzielone

kolejne numery porządkowe. Fragmenty kodu umieszczone w poszczególnych polach

struktury sekwencyjnej są wykonywane w kolejności od lewej strony do prawej, w przypadku

23

Page 24: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

struktury rozwiniętej, lub w kolejności determinowanej numerami porządkowymi ramek

poczynając od numeru „0”, w przypadku struktury nakładkowej.

Program VI, poddany opisanej wyżej modyfikacji i nazwany Boyle-Mariotte’s law 3.vi, z

dwoma krzywymi dla dwóch różnych wartości temperatury pokazano na rys. 16.

Opisany program (Boyle-Mariotte’s law 3.vi) powstał w wyniku modyfikacji programu

Boyle-Mariotte’s law 2.vi zrealizowanej w następujący sposób:

• najpierw w oknie diagramu programu Boyle-Mariotte’s law 2.vi wstawiono strukturę

Stacked Sequence otaczając nią pętlę For Loop za pomocą rozszerzenia prostokąta,

reprezentującego strukturę sekwencyjną,

• następnie dodano drugie pole struktury sekwencyjnej za pomocą polecenia Add Frame

After dostępnego w podręcznym menu tej struktury,

• w kolejnym kroku, skopiowano pętlę For Loop widoczną w pierwszej ramce i

wklejono ją w drugiej ramce, po czym usunięto, ze skopiowanej pętli For Loop,

terminale p1 2, Tank for B-M law 2 i V1 2 i w konsekwencji przyporządkowane im

dodatkowe (powstałe w wyniku kopiowania) obiekty na panelu,

• następnie dołączono terminal Number of points do terminali N w obu pętlach For

Loop, a terminal kontrolki T2 połączono z terminalem operatora Multiply w drugiej

ramce struktury sekwencyjnej zastępując w ten sposób temperaturę 293 K wartością

temperatury T2 wymuszaną za pomocą kontrolki T2,

• na końcu wykorzystano funkcję Bundle do uformowania zbiorów współrzędnych dla

poszczególnych krzywych oraz funkcję Build Array do połączenia tak uformowanych

zbiorów przed ich dostarczeniem do terminalu wyświetlacza graficznego.

Identyczny efekt, jak ten pokazany na rys. 16a, w postaci sposobu rejestracji danych i ich

prezentacji, można uzyskać za pomocą różnych kodów źródłowych. Dwa z nich pokazano na

rys. 17. Rysunki 17a i b przedstawiają dwie kolejne ramki nakładkowej struktury

sekwencyjnej Stacked Sequence wstawionej do programu w miejsce rozwiniętej struktury

sekwencyjnej. W strukturze Stacked Sequence dane między ramkami są przesyłane za

pośrednictwem zmiennych lokalnych Sequence Locals pełniących funkcje portów lokalnych,

24

Page 25: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

w odróżnieniu od przekazywania danych za pośrednictwem tuneli, co można było

zaobserwować w strukturze Flat Sequence.

Sequence Locals można utworzyć w oknie diagramu po otwarciu podręcznego menu struktury

i zaznaczeniu polecenia Add Sequence Local. Rysunek 17c, z kolei, pokazuje program, w

którym funkcje struktury sekwencyjnej wraz z odpowiednimi podprogramami przejęła w

całości zmodyfikowana struktura Formula Node, w której umieszczono dodatkowo dwa

wyrażenia, oddzielone średnikiem, służące równoległemu obliczaniu współrzędnych punktów

odpowiedzialnych za graficzną prezentację prawa Boyle-Mariotte’a dla dwóch różnych

wartości temperatur, 293 K i T2.

Rys. 17 Różne sposoby przygotowania kodu do demonstracji prawa Boyle-Mariotte’a: a i b) z zastosowaniem

struktury Stacked Sequence, c) wykorzystującej strukturę Formula Node z dwoma niezależnymi wzorami

Na etapie edycji programu, VI można uruchamiać a następnie zatrzymywać za pomocą

odpowiednich przycisków dostępnych w pasku narzędziowym Tools bar, lecz po zakończeniu

tworzenia aplikacji powinna istnieć możliwość zatrzymania programu wyłącznie za pomocą

kontrolki umieszczonej na panelu sterowania. Do tego celu można wykorzystać strukturę

25

Page 26: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

While Loop, traktowaną jako pętlę główną programu, umieszczając w polu ograniczonym jej

krawędziami wcześniej przygotowany kod źródłowy.

Rys. 18 Program Boyle-Mariotte’s law 6.vi w całości kontrolowany za pomocą kontrolek umieszczonych na

panelu: a) interfejs użytkownika, b) okno z kodem

Program objęty pętlą While Loop jest powtarzany wielokrotnie do chwili, kiedy na jej wejściu

sterującym (wejściu warunku) zostanie spełniony określony warunek, a mianowicie, do

terminalu warunku pętli zostanie doprowadzona wartość True lub False (w zależności od

wcześniej dokonanego wyboru rodzaju warunku, który można zdeterminować poleceniami

26

Page 27: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Stop if True lub Stop if False, dostępnymi w podręcznym menu struktury). Dzięki tej

właściwości pętla While Loop może być kontrolowana za pomocą dwustanowego

przełącznika, a więc kontrolki boolowskiej. W aplikacji pokazanej na rys. 18, Boyle-

Mariotte’s law 6.vi, pętla While Loop znajduje się pod kontrolą wyłącznika STOP

EXPERIMENT.

Aplikację można uruchomić klikając przycisk Run na pasku narzędziowym. Po uruchomieniu,

aplikację można zatrzymać w dwojaki sposób, klikając przycisk Abort Executin na pasku

narzędziowym (nie rekomenduje się) lub klikając przełącznik STOP EXPERIMENT (operacja

zalecana w celu zatrzymania aplikacji). Po uruchomieniu programu VI, kod objęty pętlą

główną jest wykonywany cały czas, co oznacza, że również pomiary są wykonywane cały

czas i powtarzane w określonym cyklu. Zazwyczaj jednak oczekuje się, że akwizycja danych i

uruchomienie pomiarów będzie miało miejsce w ściśle określonej chwili. Można to osiągnąć

dzięki dodatkowej strukturze Case sterowanej przyciskiem z terminalem dołączonym do

terminalu selektora. Normalnym stanem, w jakim znajduje się taki przycisk, jest stan

wyłączenia (False) i dopiero po jego kliknięciu przechodzi on chwilowo do stanu włączenia

(True), po czym automatycznie powraca do stanu wyłączenia, czyli zachowuje się jak

rzeczywisty przycisk. Skutkuje to wyborem opcji True struktury Case na czas potrzebny do

jednokrotnego wykonania programu umieszczonego w polu objętym ramką True. Jeżeli więc

umieścimy kod naszego programu w polu True, a pole False pozostawimy puste to

zapewnimy sobie możliwość uruchamiania pomiaru w chwili, która nam odpowiada. W

aplikacji pokazanej na rys. 18 do tego celu służy przycisk RUN MEASUREMENT.

Atrybuty - Property nodes Wydaje się, że w celu uatrakcyjnienia aplikacji byłoby wskazane pokazanie, w jaki sposób

siła F wpływa na zmianę położenia tłoka zmieniającego objętość gazu. W tym celu

należałoby umieścić wewnątrz zbiornika na panelu sterowania pewien obiekt symulujący tłok.

Może nim być, na przykład, kontrolka numeryczna nazywana Color box dostępna za pomocą

ścieżki Controls>> Classic >>Classic Numeric>>Color Box. Po umieszczeniu kontrolki

Color Box na panelu należy zmienić jej rozmiary w taki sposób, aby przypominała trzon

tłoka. Oznacza to, że kontrolka Color Box powinna być długa i wąska. Korzystając z menu

podręcznego kontrolki można za pomocą polecenia Create>>Property Node wstawić do

programu atrybut (obiekt typu Property node) skojarzony z daną kontrolką. Przeznaczeniem

27

Page 28: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

tego obiektu będzie wymuszanie zmiany położenia tłoka na panelu pod wpływem przyłożonej

siły F.

Rys. 19 Czynności towarzyszące przydzielaniu właściwości Top kontrolce Color Box

Obiekty typu Property Nodes umożliwiają skonfigurowanie kontrolek umieszczonych na

panelu decydując o ich pojawianiu się lub znikaniu, a także o sposobie zachowania się.

Obiekt Property Node (atrybut) można wstawić w oknie diagramu za pośrednictwem

28

Page 29: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

kaskadowo rozwijanych menu wybierając pożądany atrybut z listy dostępnych dla danej

kontrolki właściwości (rys. 19). Większości atrybutów można przydzielić, za pomocą poleceń

Change to Read lub Change to Write, jedną z dwóch funkcji Read lub Write, omówionych

wcześniej w odniesieniu do terminali kontrolek. W aplikacji Boyle-Mariotte’s law 8.vi

wstawiono do programu obiekt Property Node skojarzony z kontrolką Color Box i

przydzielono mu właściwość umożliwiającą zmianę położenia w pionie, synchronicznie ze

zmianą poziomu gazu w zbiorniku. W tym celu, po otwarciu podręcznego menu kontrolki

Color Box i zaznaczeniu polecenia utworzenia atrybutu wybrano właściwość Top. W

następnym kroku, dostarczono do atrybutu Top wartości liczbowe dostarczane z wyjścia V

struktury Formula Node i zmodyfikowane za pomocą operatorów Multiply i Subtract z

dołączonymi stałymi liczbowymi 55 i 250. W tak zmodyfikowanym programie położenie

tłoka na panelu, odmierzane w pikselach, będzie zależeć od zmodyfikowanej w opisany wyżej

sposób wartości V, doprowadzonej do terminalu wejściowego atrybutu Top.

Do zasymulowania tarczy tłoka można wykorzystać dodatkowy znacznik poziomu (suwak;

ang. Slider), który można dodać do kontrolki Tank for B-M law korzystając z jej podręcznego

menu (polecenie Add Slider). Po dodaniu drugiego znacznika poziomu, wartość liczbową jego

położenia względem pierwszego znacznika należy zwiększyć o 0,05 za pomocą operatora

Add, a przestrzeń między obu znacznikami poziomu zamalować na czarno. Na koniec obie

wartości liczbowe odpowiedzialne za położenia znaczników poziomu należy połączyć w

jedną zmienną za pomocą operatora Bundle i doprowadzić do terminalu kontrolki Tank for B-

M law. Opisane wyżej czynności będą umożliwiać synchroniczną zmianę poziomu gazu wraz

ze zmianą położenia tłoka wymuszoną przyłożoną siłą F.

Atrybuty dostępne w środowisku LabVIEW są bardzo użyteczne w przygotowaniu animacji

ilustrujących procesy fizyczne, co jest szczególnie istotne w modelowaniu eksperymentów.

Aplikacje, które wykorzystują animacje demonstrujące wykonanie doświadczenia w sposób

bardziej przekonywujący oddziałują na wyobraźnię użytkownika.

Na panelu sterowania aplikacji Boyle-Mariotte’s law 8.vi obok wyświetlacza numerycznego

p1 umieszczono czujnik Gauge symulujący funkcjonowanie manometru. Rurka łącząca

manometr ze zbiornikiem jest elementem graficznym przygotowanym za pomocą programu

Paint.

29

Page 30: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Aplikacja Boyle-Mariotte’s law 8.vi jest kompletną aplikacją, którą można wykorzystać do

zademonstrowania prawa Boyle-Mariotte’a. W tym celu należy uruchomić program klikając

przycisk Run w pasku narzędziowym, co spowoduje uruchomienie zewnętrznej pętli While

Loop, kontrolowanej przez terminal przycisku STOP EXPERIMENT. Po uruchomieniu

aplikacji trzeba wybrać za pomocą kontrolki Number of points liczbę punktów, które będą

reprezentować zależności p1(V1) dla dwóch różnych temperatur, T1=293 K i T2. Temperatura

T1 jest stała, natomiast wartość temperatury T2 można zadać przed wykonaniem pomiarów za

pomocą kontrolki T2. Po wybraniu liczby punktów i wartości temperatury T2 można

uruchomić wykonanie pomiarów klikając przycisk RUN MEASUREMENT. Przed kliknięciem

tego przycisku była aktywna ramka False struktury Case. Ponieważ ramka False jest pusta,

nie zawiera żadnego kodu, to na panelu nic się nie działo. Po kliknięciu RUN

MEASUREMENT program przechodzi do wykonania kodu umieszczonego w ramce True, w

której jest umieszczona pętla For Loop. Pętla For Loop przed uruchomieniem przyjmuje z

zewnątrz wartości N (liczba punktów) i T2. Po ich przyjęciu zaczyna się wykonywanie

fragmentu programu umieszczonego w polu otoczonym pętlą. Wartości N, T2 oraz i (numery

kolejnych iteracji) są zmiennymi wejściowymi, które struktura Formula Node wykorzystuje

do wyznaczenia kolejnych wartości p1, p2 i V. Wartości te, przygotowane w kolejnych

iteracjach zgodnie z wyrażeniami zapisanymi w polu struktury Formula Node, są gromadzone

w tunelach na krawędzi pętli For Loop. Wartość V reprezentująca objętość gazu pod tłokiem

jest wielkością skojarzoną z położeniem trzonu tłoka i jest wykorzystywana do wyznaczenia

wartości tego położenia za pomocą dwóch stałych (250 - położenie początkowe, 55 - przyrost

położenia w kolejnych iteracjach) oraz operatorów arytmetycznych: mnożenia Multiply i

odejmowania Subtract. Przygotowane z ich pomocą wartości liczbowe są dostarczane do

terminalu atrybutu Top odpowiedzialnego za położenie trzonu tłoka pod wpływem

przyłożonej siły F i w kolejnych iteracjach wymuszają zmianę jego położenia animując

przesuw trzonu tłoka. Wartości V oraz wartość V powiększona o 0,05 są łączone w klaster, a

następnie dostarczane do terminalu zbiornika wymuszając w każdej iteracji synchroniczną

zmianę dwóch poziomów nad powierzchnią gazu. Ponieważ przestrzeń miedzy poziomami

została zaczerniona to sprawiają one wrażenie tarczy tłoka, która zmienia swoje położenie w

trakcie wykonywania programu w kolejnych iteracjach. Opóźnienie 10 ms wprowadzono w

celu zapewnienia stabilnego wykonywania fragmentu programu wykonywanego pod kontrolą

pętli For Loop. Po N iteracjach w tunelach wyjściowych pętli For Loop są przygotowane trzy

30

Page 31: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

zbiory współrzędnych p1, p2 i V. Po połączeniu tych zbiorów w dwa zbiory par

współrzędnych punktów pomiarowych wykorzystuje się je do budowy tablicy

dwuwymiarowej, która dostarcza te dane do terminalu wyświetlacza graficznego, czego

wynikiem jest pojawienie oczekiwanych wykresów na wyświetlaczu graficznym pod koniec

wykonania fragmentu programu umieszczonego w polu True struktury Case. Równocześnie z

umieszczeniem danych na wyświetlaczu graficznym oba zbiory, (p1, V) i (p2, V), są

dostarczane do terminali wyświetlaczy numerycznych, Cluster for T1 data i Cluster for T2

data, dzięki czemu możliwy jest odczyt wartości liczbowych poszczególnych współrzędnych

punktów pomiarowych. Po zakończeniu wykonania fragmentu kodu w polu True program

samoczynnie powraca do pustego pola False (przycisk RUN MEASUREMENT tylko na

początku dostarczył wartość True. Jego normalne położenie dostarcza wartość False). Od

tego momentu program jest gotowy do kolejnego pomiaru, na przykład, z inną wartością T2,

co można wymusić klikając ponownie przycisk RUN MEASUREMENT. Jeżeli chcemy

zatrzymać aplikację to można to uczynić klikając przycisk STOP EXPERIMENT, co

spowoduje zatrzymanie zewnętrznej pętli While Loop i wyjście z programu, a w konsekwencji

zatrzymanie aplikacji.

31

Page 32: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

Rys. 20 Aplikacja Boyle-Mariotte’s law 8.vi z poruszającym się tłokiem: a) interfejs użytkownika, b) kod

Kilka zaawansowanych właściwości LabVIEW Tworzenie podprogramów Sub-VI. W przypadku dużych programów rekomenduje się

sukcesywne tworzenie podprogramów z wybranych fragmentów kodu, co powoduje, że

program staje się bardziej zwarty i jednocześnie bardziej czytelny. W celu utworzenia

podprogramu sub-VI należy za pomocą kursora Positioning Tool zaznaczyć wybraną część

kodu, a następnie kliknąć polecenie Edit>>Create SubVI dostępne w pasku menu. W

32

Page 33: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

odpowiedzi na opisane czynności LabVIEW zastąpi wyselekcjonowany fragment kodu

prostokątną ikoną ze standardowym rysunkiem, który można zmodyfikować korzystając z

edytora ikon Icon Editor dostępnego z paska menu za pomocą polecenia File>>VI

Properties, i kliknięciu przycisku Edit Icon.... Utworzony, w opisany wyżej sposób,

podprogram jest wyposażony w terminale wejściowe i wyjściowe, których funkcja jest

podobna do funkcji styków w złączu rzeczywistego przyrządu. Złącze podprogramu

umożliwia wprowadzanie i wyprowadzanie danych do i z programu, a więc służy

komunikowaniu się podprogramu z otoczeniem. Rysunek 21 pokazuje kod źródłowy

programu z dwoma podprogramami Data modification.vi i Data for graph.vi. Złącze

podprogramu można uwidocznić klikając prawym klawiszem na ikonie podprogramu, w celu

otwarcia podręcznego menu podprogramu, w którym należy zaznaczyć polecenie Visible

Items>>Terminals.

Event structure jest instrukcją sterującą, która składa się z jednego lub więcej pól otoczonych

ramkami, z których tylko jedno może być aktywne w chwili wykonywania programu i

odwołania się do tej instrukcji. Instrukcja Event czeka na zaistnienie jakiegoś zdarzenia na

panelu, które powinno spowodować uaktywnienie jednej z ramek struktury i wykonanie

umieszczonego w jej polu programu. Takim zdarzeniem może być, na przykład, przesunięcie

kursora myszki, kliknięcie strzałek na klawiaturze lub kliknięcie przycisku na panelu. W

omawianej wyżej aplikacji zastosowano instrukcję Event do ustawienia, wcześniej

zdeterminowanych, wartości domyślnych, przydzielonych wybranym kontrolkom,

umieszczonym na panelu.

Po wstawieniu struktury Event do programu w oknie diagramu i dodaniu nowej ramki należy

skojarzyć z tą ramką wybrany obiekt na panelu, którego stan będzie sprawdzany co pewien

czas przez instrukcję Event. Do tego celu służy okno Edit Event, które otwiera się

automatycznie w chwili dodania nowej ramki do struktury. W oknie Edit Event należy wybrać

z listy nazw kontrolek nazwę tej kontrolki, która ma uruchomić instrukcję Event. Następnie

należy wybrać rodzaj zdarzenia z udziałem danej kontrolki, które powinno uaktywnić daną

ramkę w celu wykonania programu umieszczonego w jej polu. W opisanej wyżej aplikacji

kliknięcie (wymuszenie zmiany stanu) kontrolki Set to defaults powoduje uaktywnienie

ramki “Set to defaults” i wykonanie programu umieszczonego w jej polu, którego zadaniem

jest przywrócenie wybranym kontrolkom wartości domyślnych. Wybrane kontrolki są

33

Page 34: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

reprezentowane w ramce “Set to defaults” przez atrybuty i zmienne lokalne Local variables,

do których dołączono różnego rodzaju stałe z odpowiednimi wartościami domyślnymi.

Rys. 21 Program Boyle-Mariotte’s law VI, w którym wykorzystano kilka zaawansowanych właściwości

LabVIEW

Local variables – zmienne lokalne reprezentują kontrolkę jednocześnie w wielu miejscach w

oknie diagramu. Można je wykorzystać do przesłania danych między różnego rodzaju

34

Page 35: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

strukturami bez konieczności wykonywania połączeń między nimi lub na bieżąco uaktualniać

stan kontrolki przesyłając dane z różnych miejsc wykonywanego w oknie diagramu

programu. Zmienną lokalną skojarzoną z konkretną kontrolką można utworzyć otwierając jej

menu podręczne i zaznaczając polecenie Create>>Local Variable. Operacja ta jest

analogiczna do wstawiania atrybutu kontrolki, co pokazano na rys. 19. Po wstawieniu do

programu zmiennej lokalnej pojawia się ona w formie prostokąta z nazwą kontrolki

umieszczoną wewnątrz. Każda kontrolka umieszczona na panelu może być reprezentowana w

wielu miejscach programu przez zmienne lokalne. Wśród zmiennych lokalnych, skojarzonych

z daną kontrolką, część może funkcjonować w programie jako obiekty dostarczające dane,

natomiast pozostałe mogą mieć przydzieloną funkcję odbiorników danych, w zależności od

wybranej, za pomocą poleceń Change to Write lub Change to Read, funkcji.

Rys. 22 Instrukcja Event: a) menu podręczne, b) okno Edit Events

Po zakończeniu tworzenia kodu można zająć się uporządkowaniem i zmianą oprawy

graficznej interfejsu użytkownika. Elementy dekoracyjne, które można wykorzystać do

zmiany oprawy graficznej aplikacji są dostępne w bibliotece Decorations na panelu Controls.

35

Page 36: Atrybuty - Property nodes - Valahia · 2009. 2. 19. · Programy LabVIEW, przyrządy wirtualne, składają się z trzech głównych części: płyty czołowej (ang. Front Panel),

VccSSe

Virtual Community Collaborating Space for Science Education

36

Rys. 23 Końcowa wersja aplikacji Boyle-Mariotte’s law10.vi

Końcową wersję aplikacji Boyle-Mariotte’s law 10.vi, po zmianie oprawy graficznej

interfejsu użytkownika, pokazano na rys. 23.