Podstawy programowania graficznego 2009

background image

Rozdział 2

Podstawy
programowania
graficznego

2.1. Co to jest i jak działa LabVIEW

LabVIEW jest środowiskiem programowym związanym z językiem
programowania graficznego – językiem G. Język ten zachowując większość
możliwości języka C/C++ (którego jest w dużej mierze graficznym
odpowiednikiem) pozwala znacznie łatwiej programować użytkownikom nie
znającym klasycznych - tekstowo zorientowanych języków programowania.
Celowo użyto tu słowa programować zamiast pisać programy, ponieważ
programu graficznego nie pisze się a tworzy się jego graficzny diagram
poprzez łączenie określonego typu liniami (przewodami) elementy
reprezentujące graficzne symbole (ikony). Ikony te są graficzną reprezentacją
funkcji i struktur tego języka. Nie bez znaczenia jest fakt, że kompilacja
programu odbywa się automatycznie, na bieżąco, w trakcie tworzenia
diagramu, natomiast uruchomienie lub zatrzymanie wykonania programu
odbywa się przez kliknięcie tylko jednej ikony.

background image

62 Programowanie graficzne układów sterowania

Programować w środowisku LabVIEW można, mając małe doświadczenie

w programowaniu. Wystarczy umieć poruszać się w środowisku Windows.
Diagram programu jest tworzony w sposób wygodny dla użytkowników
ponieważ wykorzystuje się znane w technice symbole (na ikonach) i łączy je
tak jak ma działać program.

LabVIEW jest przeznaczone dla budowy własnych instrumentów

wirtualnych różnego typu. W tym celu w LabVIEW są zaimplementowane
drajwery do szerokiej gamy urządzeń od najprostszych komputerowych kart
We/Wy do specjalizowanych urządzeń i

przyrządów.

Oczywiście

przewidziano obsługę standardów RS-232 i RS-485 oraz TCP/IP, UDP oraz
OPC.

Dla

ułatwienia

rozwiązywania

skomplikowanych

problemów

numerycznych nawet wersja podstawowa LabVIEW posiada bardzo bogatą
bibliotekę matematyczną gdzie standardowe procedury numeryczne
przedstawione są za pomocą gotowych do wykorzystania ikon.

Aczkolwiek podstawowym przeznaczeniem LabVIEW jest budowa

własnych

instrumentów

wykorzystujących

komunikację

fizyczną

z

otoczeniem komputera, to bardzo atrakcyjne mogą być instrumenty
komunikujące się z użytkownikiem tylko za pomocą myszki i klawiatury oraz
obrazu na monitorze.

Dla budowy własnego panelu operatorskiego na ekranie monitora,

LabVIEW oferuje wyjątkowo obfity zestaw gotowych do wykorzystania
wskaźników i zadajników. Elementy te można dowolnie ustawiać na panelu,
zmieniać ich rozmiary i kolory. Każdy z tych elementów ma też możliwość
wyboru wielu opcji i atrybutów jego wyglądu i działania.

Przy użyciu LabVIEW tworzymy 32 bitowe programy, o szybkości

wykonania odpowiadającej językowi C. Wykorzystując ”Application Builder”
możemy

tworzyć

samodzielne

32

bitowe

aplikacje

możliwe

do

rozpowszechniania. LabVIEW posiada również mechanizmy dla przyłączenia
zewnętrznych procedur poprzez, między innymi, DLL i ActiveX.

background image

Podstawy programowania graficznego 63

2.2. Instalacja oprogramowania

Jak większość narzędzi działających w środowisku Windows oprogramowanie
LabVIEW samo się instaluje po odpowiedniej komendzie. I tak:

LabVIEW wersja studencka jest oferowana jako dodatek do książki [79].

Celem instalacji należy włożyć płytę CD do napędu i w Windows wykonać
komendę: setup. Następnie należy wykonywać polecenia programu
instalującego.

Wszystkie profesjonalne wersje są rozpowszechniane na płytach CD lub
DVD. Należy włożyć płytę do czytnika i uruchomić program setup.exe.
Następnie program instalacyjny prowadzi użytkownika przez instalację.
Należy pamiętać o podaniu kodu, który jest zabezpieczeniem programu. W
każdym legalnym zestawie LabVIEW jest podany kod dla danego
egzemplarza oprogramowania. Wersje studencka i demonstracyjna nie są
chronione kodem. Politechnika Śląska wykupiła dla swoich pracowników i
studentów licencję na nieograniczoną liczbę stanowisk.

2.3. Otwarcie LabVIEW oraz panel

operatorski i diagram programu

Po uaktywnieniu w Windows ikony reprezentującej LabVIEW pojawia się na
chwilę plansza informacyjna a następnie okno dialogowe przedstawione na
rysunku 2.1.a

Korzystając z okna dialogowego można rozpocząć edycję nowego

programu, otworzyć program już istniejący oraz wyjść z LabVIEW. Bardzo
ważna jest możliwość skorzystania z bogatej biblioteki gotowych przykładów
– patrz Rysunek 2.1.b. W tym dla nas automatyków istotne są przykłady
aplikacji przemysłowych.

background image

64 Programowanie graficzne układów sterowania

Rysunek 2.1.a. Okno dialogowe LabVIEW

Rysunek 2.1.b. Okno dialogowe LabVIEW Examples

background image

Podstawy programowania graficznego 65

Po przejściu do nowego programu, lub otworzeniu już istniejącego, otwierają
się dwa okna: okno panelu operatorskiego oraz okno diagramu programu w
języku G (rysunek 2.2.).

Jeśli panel operatorski (graficzny interfejs użytkownika) dla danego

programu, budowany w oknie panelu operatorskiego oraz diagram programu
w oknie diagramu, są niewielkie to można te okna mieć na ekranie
komputerowego monitora jednocześnie. Gdy jednakże jedno z okien zajmuje
większość ekranu to przechodzenie z okna do okna wymaga wykorzystania
odpowiedniego mechanizmu. Należy z paska menu (w obu oknach jest ten
sam) wybrać opcję Windows a następnie odpowiednio: Show Diagram lub
Show Panel.

a)

b)

Rysunek 2.2. Okna programu w środowisku LabVIEW,

a) okno panelu operatorskiego,

b) okno diagramu

background image

66 Programowanie graficzne układów sterowania

2.4. Program jako instrument wirtualny

Program napisany w środowisku LabVIEW nazywamy instrumentem
wirtualnym (nawet jeśli dotyczy tylko pewnych obliczeń numerycznych i nie
wykorzystuje, oprócz klawiatury, myszki i monitora, żadnych urządzeń
We/Wy). Program taki zapisany na dysku przyjmuje automatyczne nazwę z
rozszerzeniem „vi” – skrót od angielskiej nazwy virtual instrument.

Każdy program po dodaniu końcówek umożliwiających jego komunikację

może stać się podprogramem innego programu (instrumentu) nadrzędnego.
Reasumując, instrument wirtualny składa się z panelu operatorskiego i
diagramu programu. Oba te elementy są zapisywane razem do jednego pliku
dyskowego o rozszerzeniu „vi”.

Przy wykonaniu programu korzystamy z panelu operatorskiego

aczkolwiek możliwe jest również uruchomienie programu w oknie diagramu
ale z okna diagramu nie mamy możliwości komunikacji z instrumentem.

2.5. Palety podstawowych narzędzi.

W wersji LabVIEW 8.5 narzędzia służące do budowy programu zebrane są na
paletach, które pojawiają się w osobnych oknach. Poniżej przedstawione są te
palety wraz ze sposobem ich uaktywnienia.

2.5.1. Paleta narzędzi edycyjnych i manipulacyjnych

Paletę tę wywołujemy z paska menu w następujący sposób: View>>Tools
Palette
.

background image

Podstawy programowania graficznego 67

Rysunek 2.3. Paleta narzędzi edycyjnych i manipulacyjnych

Paleta zawiera szereg narzędzi edycyjnych, które działają w obu oknach
programu. Przedstawione na ikonach palety narzędzia, po uaktywnieniu
(kliknięcie lewym klawiszem myszki) ujawniają się jako kursor
odpowiadający symbolowi na ikonie. I tak.

narzędzie manipulacyjne dla zadajników panelu operatorskiego
(zmienia wartości zadajników poprzez ruch np. suwakiem lub
uaktywnia zmianę zapisu wartości w okienku zadajnika)

kursor wskazujący – pozwala wybierać, zaznaczać, przesuwać lub
zmieniać wymiary obiektów (w obu oknach)

narzędzie edycji tekstu (zarówno w etykietach obiektów jak i przy
zapisie etykiet z komentarzami)

szpulka - pozwala na łączenie przewodami obiektów w oknie
diagramu

narzędzie pozwalające rozwijać menu obiektów

background image

68 Programowanie graficzne układów sterowania

Przesuwanie (skrollowanie) zawartości okien (bez użycia pasków
przesuwania)

ustawienie punktów przerwania w programie

próbnik – pozwala na “podgląd” przewodów w oknie diagramu

smoczek – pozwala “zassać” kolor z jakiegoś obiektu celem
skopiowania

do

innego

obiektu,

skopiowany

kolor

jes

automatycznie umieszczony w pędzelku

pędzelek – narzędzie kolorowania obiektów; lewy klawisz
myszki koloruje wskazany przez kursor obiekt (kolorem
zaznaczonym na ikonie); prawy klawisz myszki otwiera

paletę kolorów celem wyboru tego koloru.

2.5.2. Paleta kontrolek ( zadajników i wskaźników)

Paletę tę wywołujemy z paska menu w następujący sposób: View >> Controls
Palette
.

background image

Podstawy programowania graficznego 69

Rysunek 2.4.a Paleta kontrolek z rozwinięciem wskaźników o postaci

wykresów i monitorów (LV 6.1).

Rysunek 2.4.a Paleta kontrolek z rozwinięciem wskaźników o postaci

wykresów i monitorów (LV 8.5).

background image

70 Programowanie graficzne układów sterowania

Paleta kontrolek udostępnia zadajniki i wskaźniki możliwe do wykorzystania
przy programowaniu graficznego interfejsu użytkownika w oknie panelu.
Może zajmować oczywiście dowolne miejsce na ekranie komputera ale jest
widoczna tylko razem z oknem panelu. Również kontrolki mogą być użyte
tylko w oknie panelu.

Zestaw oferowanych kontrolek jest zaiście imponujący. Od kontrolek

analogowych i dwupołożeniowych do okienek monitorowania przebiegów (w
tym animowane przebiego 3D) i dekoracji. Większość kontrolek może być
zarówno zadajnikiem (wprowadzającym dane do programu) lub też
wskaźnikiem (pokazującym wartości i przebiegi). Użytkownik sam wybiera
czy dana kontrolka jest zadajnikiem czy też wskaźnikiem.

Paleta kontrolek jest dwustopniowa. Podstawowa paleta ma tylko ikony

rodzaju kontrolek a uaktywniona lewym klawiszem myszki udostępnia paletę
ikon konkretnych kontrolek. Na rysunku 2.4 przedstawiono rozwinięcie dla
następujących rodzajów wskaźników wykresy XY, monitory przebiegów
czasowych i monitory pokazujące zmiany wartości przy użyciu zmiany
intensywności barw. Na rysunku 2.5. przedstawiono najważniejsze kontrolki
numeryczne – o działaniu ciągłym i dyskretnym. W zależności od ustawień,
kontrolki te mogą być zarówno wskaźnikami jak i zadajnikami. W przypadku
zadajników zmiany wartości ustawiamy przy użyciu kursora manipulacyjnego.

Rysunek 2.5. Kontrolki numeryczne i logiczne (classic).

background image

Podstawy programowania graficznego 71

2.5.3. Funkcje (elementy i struktury języka G)

Paletę tę wywołujemy z paska menu w następujący sposób: Windows>>Show
Functions Palette
.

Rysunek 2.6. Paleta funkcji z dwustopniowym rozwinięciem funkcji

arytmetycznych.

Paleta funkcji udostępnia funkcje możliwe do wykorzystania przy tworzeniu
programu w języku G w oknie diagramu. Okienko palety funkcji może
zajmować oczywiście dowolne miejsce na ekranie komputera ale jest
widoczne tylko razem z oknem diagramu. Również funkcje mogą być użyte
tylko w oknie diagramu.

background image

72 Programowanie graficzne układów sterowania

Paleta oferuje wszystkie elementy języka G oraz elementy dodatkowych

narzędzi (np. bogata biblioteka procedur analizy matematycznej). W
zależności od rodzaju funkcji może być rozwijana wielostopniowo. Na
rysunku przedstawiono rozwinięcie dla funkcji realizujących operacje
arytmetyczne z dodatkowym rozwinięciem funkcji trygonometrycznych.

Przy wielostopniowym rozwijaniu palety, ikony wymagające rozwinięcia

mają kolor szary. Dopiero konkretne funkcje do wykorzystania w programie
(mające biały lub żółty kolor tła) można przenieść do diagramu.

a) b)

Rysunek 2.7. Ważniejsze przykłady rozwinięcia palety funkcji.

a) struktury (w tym pętle), b) funkcje logiczne

background image

Podstawy programowania graficznego 73

c) d)

e) f)

Rysunek 2.7. Ważniejsze przykłady rozwinięcia palety funkcji.
c) funkcje operacji na łańcuchach, d) funkcje operacji

macierzowych, e) funkcje operacji na rekordach, f) funkcje
operacji porównania.

background image

74 Programowanie graficzne układów sterowania

Większość symboli na ikonach funkcji powinna być zrozumiała dla
programisty (nawet początkującego). Tym niemniej środowisko LabVIEW
oferuje również bieżącą pomoc.

Paleta

struktur

(Rys.

2.7.a)

zawiera

graficzną

reprezentację

najważniejszych struktur programowych języka G. Są to to kolejno: struktura
sekwencji, struktura przypadku, pętla for, pętla while oraz węzeł formuł
matematycznych.

Działanie struktur jest identyczne jak w konwencjonalnych językach

programowania (w języku graficznym nawet lepiej jest zrozumiały żargonowy
termin „zawartość pętli” ponieważ obliczenia prowadzone w pętli muszą być
zaprogramowane graficznie wewnątrz graficznego symbolu pętli).

2.6. Bieżąca pomoc.

Ś

rodowisko LabVIEW oferuje bardzo przydatną usługę w postaci bieżącej

pomocy. Usługę tę wywołujemy z paska menu w następujący sposób:
Help>>Show Help. Na ekranie pojawi się dodatkowe okienko Help.

Dotykając kursorem interesujących nas ikon funkcji (patrz Rys. 2.6.1)

spowodujemy, że w oknie Help pojawi się automatycznie wyczerpujący opis
funkcji i możliwości jej wykorzystania.

Programista może napisać instrukcje pomocy również dla swoich

własnych funkcji.

background image

Podstawy programowania graficznego 75

Rysunek 2.8. Uaktywnienie bieżącej pomocy

2.7. Pasek menu

Pasek menu jest taki sam w obu oknach (panelu i diagramu). Oferuje
następujące usługi.

File – Standardowe działania na plikach w środowisku Windows, takie jak

m.in.: New (nowy plik), Open (otwórz), Close (zamknij), Save
(zapisz), Save as (zapisz jako), Save a copy as (skopiuj jako), Exit
(opuszczenie LabVIEW). Szczególnie ważna jest usługa Save with
options
(zapisz z opcjami). Umożliwia ona zapis specjalny
programu np. bez belek skrollingu lub bez możliwości dostępu do
pasków menu oraz sterowania. Ważne to jest przy zapisie programu
jako osobnej aplikacji.

background image

76 Programowanie graficzne układów sterowania

Edit – Standardowe działania edycyjne, takie jak m.in.: Undo (cofnij

ostatnie działanie), Redo (powtórzenie anulowanego działania),
Copy (skopiuj do schowka zaznaczony obiekt), Paste (wstawienie
zawartości schowka w zaznaczone kursorem miejsce), Import
Picture From File
(wstawienie rysunku/obrazu z pliku). Opcja
Remove Bad Wires umożliwia usunięcie złych połączeń w
diagramie programu graficznego.

Operate – Opcje związane z uruchamieniem programu np. Run. Dla

typowych aplikacji rzadziej stosowane ponieważ program
wygodniej uruchomić klawiszem w pasku sterowania.

Project – Zaawansowane usługi związane budową aplikacji. Jeśli

LabVIEW jest wyposażony w Application Builder to tu znajdują
się opcje: Build Application (zbuduj samodzielnie działającą
aplikację – plik ”.exe”) oraz Create Distribution Kit (zbuduj
zestaw istalacyjny samodzielnie działającej aplikacji celem
rozpowszechnienia).

Windows – Usługi związane z aktywacją okien takie jak m.in.: Show

Diagram (przejście do okna diagramu jeśli jesteśmy w oknie
panelu), Show Panel (przejście do okna panelu jeśli jesteśmy
w oknie diagramu), Show Controls Palette (uaktywnienie
palety kontrolek), Show Functions Palette (uaktywnienie
palety funkcji), Show Tools Palette (uaktywnienie palety
narzędzi), Show Clipboard (pokazanie zawartości schowka).

Help – Pomoc. Opcja Show Help uaktywnia okno bieżącej pomocy. W

trakcie budowania programu w języku G dotknięcie kursorem
ikony funkcji (bez kliknięcia) powoduje pokazanie się w oknie
bieżącej pomocy instrukcji użycia tej funkcji).

background image

Podstawy programowania graficznego 77

2.8. Pasek sterowania

Pasek sterowania okna diagramu przedstawiony jest na rysunku 2.9. Pasek
sterowania okna panelu jest prawie identyczny, z tym że w pasku sterowania
okna panelu nie występują klawisze 7,8,9.

Klawisz enter (1) pojawia się tylko wtedy gdy wpisujemy w danym oknie

jakiś tekst – klawisz ten kończy edycję tekstu np. w etykiecie (na rys.2.9
numerki oznaczające klawisze są właśnie etykietami na pustym diagramie).
Dodajmy, że z kolei klawisz ENTER (klawiatury komputera) kończy linię
tekstu.

Rysunek 2.9. Pasek sterowania okna diagramu

Poszczególne klawisze oferują następujące usługi.

1. zapis aktu alnie pisanego tekstu,

2. uruchomienie programu (run),

3. uruchomienie z kontynuacją,

4. zatrzymanie wykonania programu,

5. przerwa w wykonaniu programu,

background image

78 Programowanie graficzne układów sterowania

6. wykonanie z podglądem (graficzny debugging)

7. zatrzymaj się przed danym elementem programu,

8. zatrzymaj się za danym elementem programu,

9. zatrzymaj się po tym elemencie programu i zakończ wykonanie,

10. ustawienie rodzajów, wielkości kolorów czcionek (fontów),

11. ustawienie zaznaczonych obiektów (np. w jednej linii)

12. rozproszenie zaznaczonych obiektów,

13. zmiana kolejności ułożonych na sobie obiektów graficznych.

2.9. Idea programowania graficznego –

pierwszy prosty przykład programu

Aczkolwiek język G jest graficznym odpowiednikiem języka C i w zasadzie
ma takie same możliwości, to jednak (ze względu na inną filozofię
programowania) jego zastosowanie jest szczególnie wygodne w tych
dziedzinach techniki, które związane są ze sterowaniem, przetwarzaniem
różnego typu sygnałów oraz szeroko rozumianymi miernictwem i kontrolą.

Najprostszy program przedstawiony był już bez wyjaśnień w podrozdziale

2.3 dla pokazania okienek programu. Na rysunku 2.10 przedstawiony jest
diagram tego samego programu z dopisanymi dodatkowo komentarzami.

Przypomnijmy, że przedstawiony na rysunku 2.2 panel operatorski

programu (lub inaczej graficzny interfejs użytkownika) ma tylko dwa
elementy. Przełącznik „noise” właczający lub wyłączający sygnał szumu
(wartości przypadkowe w przedziale od zera do jeden) oraz monitor
pokazujący otrzymany przebieg sygnału w funkcji czasu. Program ma działać
w ten sposób, że dla wciśniętego przełącznika (położenie „ON”) na monitorze

background image

Podstawy programowania graficznego 79

ma być rejestrowany sygnał szumu, natomiast przy położeniu „OFF”
przełącznika sygnał rejestrowany ma mieć stałą wartość równą 0.5.

Aby rejestrowana była nie jedna wartość ale przebieg sygnału w funkcji

czasu, rejestracja musi się powtarzać a więc obliczenia muszą być
zorganizowane w pętli. Diagram takiego programu w języku G jest wyjątkowo
prosty (Czytelnik w ramach ćwiczenia raczy się zastanowić jak taki program
wygłądałby w języku C).

Program przy pierwszym spojrzeniu może się wydawać niezrozumiały dla

Czytelnika, który nauczył się już, klasycznych języków tekstowych (takich jak
np. Pascal, C i MATLAB) ponieważ nie ma ani jednej litery tekstu (wszystkie
teksty na diagramie są komentarzami i można je z diagramu wyeliminować).
Przed analizą tego diagramu należy przestawić się na taki sposób myślenia
jaki związany jest z tworzeniem choćby najprostszych obwodów
elektrycznych.

Kluczowa jest tu interpretacja zmiennych. Krótko mówiąc, zmienne na

diagramie w języku G możemy zinterpretować jako przewody (jest to
zrozumiałe dla każdego kto choć raz podłączył żarówkę do baterii i
interpretuje sobie, że w przewodzie płynie prąd reprezentowany przez pewną
wartość zmiennej o symbolu i).

Ikony które są połączone przewodami reprezentują w języku G funkcje

(pewne operacje na zmiennych) lub końcówki (stałe lub zadawane wartości).
Struktura programowa pętli (w tym przypadku jest to pętla „while”) jest
czytelna, mając graficzny kształt pętli obejmującej wszystkie elementy mające
być realizowane wielokrotnie.

Funkcja wyboru (graficzny odpowiednik instrukcji „if”) sprawdza wartość

logiczną s, która jest generowana przez przełącznik na panelu operatorskim.
Jeśli jest to wartość TRUE, na wyściu będzie wartość podłączona przewodem
z generatora liczb przypadkowych, w przeciwnym razie „przepuszczona”
zostanie wartość generowana przez stałą o wartości równej 0.5.

Wyjście funkcji wyboru podłączone jest na wejście monitora

rejestrującego. Aby, jak już wspominiano, nie rejestrować jednej wartości a
ich ciąg (przebieg) w funkcji czasu, obliczenia zorganizowano wewnątrz pętli

background image

80 Programowanie graficzne układów sterowania

„while”. Do warunku logicznego pętli podłączono stałą o wartości TRUE
(program jest włączany i wyłączany klawiszami z paska sterującego). Ikona
reprezentująca zmienną indeksową pętli w tym przykładzie nie jest
wykorzystywana.

Rysunek 2.10. Diagram programu rejestrującego sygnał szumu.

Ikony warunku logicznego pętli oraz zmiennej indeksu pętli pojawiają się

automatycznie wraz ze strukturą pętli i nie można ich usunąć.

Bardzo pouczające jest dla początkującego programisty w języku G

uaktywnienie graficznego debuggera (klawisz z symbolem żarówki w pasku
sterującym) ponieważ pozwala to na pokazanie jak przebiegają obliczenia w
tym programie (ściślej jak sterowany jest przez program przepływ danych).


Wyszukiwarka

Podobne podstrony:
Podstawy programowania graficznego 2010
Rozp podstawy programowe z 2009 r, szkoła, DLA NAUCZYCIELI
Co wynika z podstawy programowej kształcenia ogólnego 2009
Nowa podstawa programowa WF (1)
Podstawy logistyki 3 10 2009
Podstawy logistyki 4 10 2009
1 Podstawy programowania dialogowego
nowa podstawa programowa sp
11-nkb~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
Zmiany w podstawie programowej w zakresie edukcji matematycznej, Wczesna edukacja, Materiały do prac
1-algo~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
c-zadania-w3, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, kol
Wychowanie w nowej podstawie programowej katechezy, szkoła, Rady Pedagogiczne, wychowanie, profilakt
PP temat6, Podstawy programowania

więcej podobnych podstron