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.

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

background image

62                   M.Metzger:  Programowanie graficzne układów sterowania

We/Wy 

do 

specjalizowanych 

urządzeń 

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 a 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.

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

background image

M.Metzger: Podstawy programowania graficznego

                     63

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.

Rysunek 2.1.a. Okno dialogowe LabVIEW

background image

64                   M.Metzger:  Programowanie graficzne układów sterowania

Rysunek 2.1.b. Okno dialogowe LabVIEW Examples

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.

background image

M.Metzger: Podstawy programowania graficznego

                     65

a)

                         

           b)

     

Rysunek 2.2. Okna programu w środowisku LabVIEW,

a) okno panelu operatorskiego,

b) okno diagramu

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.

background image

66                   M.Metzger:  Programowanie graficzne układów sterowania

2.5. Palety podstawowych narzędzi.

W wersji  LabVIEW 2010 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
.

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.

background image

M.Metzger: Podstawy programowania graficznego

                     67

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

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.

background image

68                   M.Metzger:  Programowanie graficzne układów sterowania

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
.

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

wykresów i monitorów .

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

background image

M.Metzger: Podstawy programowania graficznego

                     69

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.  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.

background image

70                   M.Metzger:  Programowanie graficzne układów sterowania

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

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

Rysunek 2.6. Paleta funkcji z 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.

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
można przenieść do diagramu.

background image

M.Metzger: Podstawy programowania graficznego

                     71

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

a) struktury (w tym pętle), b)Opis Formula Node

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

Macierze

background image

72                   M.Metzger:  Programowanie graficzne układów sterowania

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

Klastry

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

funkcje operacji porównania.

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

operacje logiczne

background image

M.Metzger: Podstawy programowania graficznego

                     73

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  między  innymi:
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.8)

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.

Rysunek 2.8. Uaktywnienie bieżącej pomocy

background image

74                   M.Metzger:  Programowanie graficzne układów sterowania

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),  Exit  (opuszczenie  LabVIEW).
Szczególnie ważna jest usługa VI properties. 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.

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  
(wstawienie  rysunku/obrazu  z  pliku).  Opcja  Remove
Broken  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.

Tools – 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”).

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),

background image

M.Metzger: Podstawy programowania graficznego

                     75

View-  Show  Controls  Palette  (uaktywnienie  palety  kontrolek),  Show

Functions  Palette  (uaktywnienie  palety  funkcji),  Show  Tools
Palette
 (uaktywnienie palety narzędzi),

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).

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),

background image

76                   M.Metzger:  Programowanie graficzne układów sterowania

3.   uruchomienie z kontynuacją,

4.  zatrzymanie wykonania programu,

5.  przerwa w wykonaniu programu,

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ć

background image

M.Metzger: Podstawy programowania graficznego

                     77

w ten sposób, że dla wciśniętego przełącznika (położenie „ON”) na monitorze
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
„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.

background image

78                   M.Metzger:  Programowanie graficzne układów sterowania

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).

Kluczowe  znaczenie  dla  aplikacji  typu  systemy  SCADA,  regulatory  i

sterowniki lub symulatory procesów przemysłowych ma realizacja obliczeń w
„czasie rzeczywistym”. Automatyka i informatyka przemysłowa do dzisiaj nie
dorobiły się ścisłej  definicji  tego terminu  ale  jest  on  dobrze  rozumiany  przez
inżynierów.  Chodzi  o  to  aby  wszelkie  obliczenia  i  obsługa  zdarzeń  były
niezależne  od  czasu  obliczeniowego  natomiast  ściśle  zsynchronizowane  z
czasem  „astronomicznym”.  Standardowy  program  w  LabVIEW  jest
realizowany  w  warunkach  tzw.  „soft  real-time”,  natomiast  ten  sam  program

background image

M.Metzger: Podstawy programowania graficznego

                     79

skompilowany w środowisku LabVIEW-RT i załadowany (wraz z dołączanym
automatycznie  systemem  operacyjnym  czasu  rzeczywistego)  do  specjalnych
kart  NI-DAQ-RT  lub  modułu  sterującego  FieldPoint  serii  2010  realizuje
działanie tzw. „hard real-time”.

O  ile  realizacja  aplikacji  w  czasie  rzeczywistym  w  standardowych

językach  programowania  jest  trudnym  zadaniem  to  w  środowisku  LabVIEW
to  narzędzie  jest  już  przygotowane  w  postaci  odpowiednich  gotowych
procedur.  Przedstawiona  na  rys.  2.11  ikona  realizuje  tzw.  „synchronized
waiting” a umieszczona w pętli powoduje synchroniczne wykonywanie pętli z
określonym  czasem  wykonania.  Przedstawiony  na  rys.  2.11  program  to
program  z  rys.  2.10  uzupełniony  o  realizację  wykonania  w  czasie
rzeczywistym.

Rys. 2.11. Zaprogramowanie realizacji aplikacji w czasie rzeczywistym

(real-time).