7 Wykresy, stringi, pliki

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

PRZYRZĄDY

PRZYRZĄDY

WIRTUALNE

WIRTUALNE

Część 7

Wykresy, stringi,

pliki

k.jemielniak@wip.pw.edu.pl

http://www.cim.pw.edu.pl/kjemiel

ST 149, tel. 660 8656

prof. dr hab. Krzysztof Jemielniak

http://www.cim.pw.edu.pl/labview

Warszawa 2003

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Wykresy

(

Graphs

)

• Znajdują się na palecie

Controls>>All Controls>>Graphs

Przebiegi czasowe (

Waveform Chart

) – były

już omawiane

Wykresy zmiennych (

Waveform Graph

) w

funkcji ich indeksów (numeru próbki)

Wykresy XY (

XY Graph i Express XY Graph

) –

wykresy funkcji

Wykresy cyfrowe (

Digital Waveform Graph

)

VIs with graphs usually collect the data in an array and then plot the data to the graph.

The graphs located on the Controls» All Controls» Graph palette include the waveform graph and XY

graph. The waveform graph plots only single-valued functions, as in y = f(x), with points evenly distributed

along the x-axis, such as acquired time-varying waveforms. Express XY graphs display any set of points,

evenly sampled or not. Resize the plot legend to display multiple plots. Use multiple plots to save space on

the front panel and to make comparisons between plots. XY and waveform graphs automatically adapt to

multiple plots.

Single-Plot Waveform Graphs

The waveform graph accepts a single array of values and interprets the data as points on the graph and

increments the x index by one starting at x = 0. The graph also accepts a cluster of an initial x value, a .x, and

an array of y data. Refer to the Waveform Graph VI in the examples\general\graphs\gengraph.llb for

examples of the data types that single-plot waveform graphs accept.

Multiple-Plot Waveform Graphs

A multiplot waveform graph accepts a 2D array of values, where each row of the array is a single plot. The

graph interprets the data as points on the graph and increments the x index by one, starting at x = 0. Wire a

2D array data type to the graph, right-click the graph, and select Transpose Array from the shortcut menu to

background image

handle each column of the array as a plot. Refer to the (Y) Multi Plot 1 graph in the Waveform Graph VI in

the examples\general\graphs\gengraph.llb for an example of a graph that accepts this data type.

A multiplot waveform graph also accepts a cluster of an x value, a x value, and a 2D array of y data. The

graph interprets the y data as points on the graph and increments the x index by x, starting at x = 0. Refer to

the (Xo, x, Y) Multi Plot 3 graph in the Waveform Graph VI in the examples\general\graphs\gengraph.llb

for an example of a graph that accepts this data type.

A multiplot waveform graph accepts a cluster of an initial x value, a .x value, and an array that contains

clusters. Each cluster contains a point array that contains the y data. You use the Bundle function to bundle

the arrays into clusters, and you use the Build Array function to build the resulting clusters into an array. You

also can use the Build Cluster Array, which creates arrays of clusters that contain inputs you specify. Refer

to the (Xo, x, Y) Multi Plot 2 graph in the Waveform Graph VI in the

examples\general\graphs\gengraph.llb for an example of a graph that accepts this data type.

Single-Plot XY Graphs

The single-plot XY graph accepts a cluster that contains an x array and a y array. The XY graph also accepts

an array of points, where a point is a cluster that contains an x value and a y value. Refer to the XY Graph VI

in the examples\general\graph\gengraph.llb for an example of single-plot XY graph data types.

Multiplot XY Graphs

The multiplot XY graph accepts an array of plots, where a plot is a cluster that contains an x array and a y

array. The multiplot XY graph also accepts an array of clusters of plots, where a plot is an array of points. A

point is a cluster that contains an x value and a y value. Refer to the XY Graph VI in the

examples\general\graph\gengraph.llb for an example of multiplot XY graph data types.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Na osi X indeksy 0..max (co 1), wartości Y są

ciągiem liczb bez związku z czasem

Na osi X określona skala czasu (punkt

początkowy i przyrost), Y jest funkcją

czasu

Wykresy jednej zmiennej

macierz 1D

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Każdy wiersz macierzy jest oddzielnym

zbiorem danych (X

0

=0,

X=1) nie

związanych z czasem

Wykresy wielu zmiennych

Każdy wiersz macierzy jest oddzielną

funkcją czasu

If a 1D array is wired to a waveform graph, the graph assumes it is one plot. When a 2D array is wired to a

waveform graph, the graph assumes each row in that array is a separate plot.

Use the Build Array function to create a 2D array input for multiplot graphs:

Example 1: A combination of two single-plot examples with Xo and Delta X defined (Ex 1 from previous

slide). The Build Array function creates a cluster array input to the waveform graph. The terminal is an

array of clusters, because each graph is a cluster.

Example 2: A combination of two single-plot examples without Xo and Delta X defined (Example 2 from

the previous slide). The Build Array function creates a 2D array input to the waveform graph. The terminal

is a 2D array of double-precision numbers.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Wykresy

(

Graphs

)

Kliknięcie prawym klawiszem na wykresie

umożliwia określenie wielu jego właściwości

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Oś X nie jest jednostajna
Wartości na obu osiach sa

zawarte w oddzielnych

wektorach (macierzach 1D)

Są bardziej elastyczne niż

Waveform graph

Wykresy XY

(

XYGraphs

)

Porównaj z budowaniem wykresu
dwóch zmiennych – tam było

budowanie macierzy, tu jest wiązanie
w klaster

Generate two arrays, one for X values and other for Y values. Bundle arrays wire into the XY graph.

X array 1,2,3,4,5 and a Y array 0,1,0,1,0 will result in a graph with points ((1,0)(2,1)(3,0)(4,1)(5,0)).

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Przykłady wykresów XY:

XY Graph.vi

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie: zastosowanie

Waveform Graphs

Wygenerować i wykreślić przebieg trzech

funkcji o zadawanej częstotliwości, w

czasie 0,1s. Częstotliwość generowania

sygnału: 1000 Hz, wykres aktualizowany

co 0,1 s aż do naciśnięcia STOP

Poćwicz obsługę wykresu. Zastąp go

Waveform Chart

. Zrozum różnice między

nimi.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Analiza Przebiegu.vi

Opracuj VI który

w zadanym zakresie

zmiennej X symuluje

pomiary jako:

y=5*tanh(x)+2*cos(x)

z dodanym opcjonalnie

składnikiem losowym

wyznacza wartość średnia,

max, min oraz wielomian

aproksymujący

y=a

0

+a

1

x+...+a

n

x

n

zadanego rzędu (n) wraz z

błędem średniokwadrato-
wym (mse)

wykreśla wyniki pomiarów i

przebieg funkcji aproksy-

mującej

Użyj:

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Analiza Przebiegu.vi

- rozwiązanie

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie: Okrąg.vi

Opracuj VI wyznaczający macierze X i Y zawierające zadaną liczbę

punktów okręgu o zadanym promieniu i współrzędnych środka

y=y

0

+r*sin(ϕ)

x

0

y

0

ϕ

x

y

x=x

0

+r*cos(ϕ)

Użyj:

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Stringi

String to sekwencja (łańcuch) znaków ASCII

Wykorzystywane do wyświetlania komunikatów, wyników pomiarów i
obliczeń, sterowania przyrządami, opisu danych w plikach itd.

Wskaźniki i zadajniki znajdują się na palecie

Controls »Text Control lub Text Indicator

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Tryby wyświetlania stringów

Zadajnik i wskaźnik stringowy ma wymiar określony przez
użytkownika. W razie potrzeby można dodać pasek przewijania

Sposoby wyświetlania: Normalny

Kodowy

Hasłowy

Hexadecymalny

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Funkcje obsługi stringów - zestawienie

String Length

Concatenate Strings

String Subset

To Upper Case

To Lower Case

Replace Substring

Search and Replace String

Match Pattern

Format Date/Time String

Scan From String

Format Into String

Spreadsheet String To Array

Array to Spreadsheet String

Build String Express

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Funkcje obsługi stringów – 1

Z

wraca liczbę znaków w stringu,

macierzy lub stringów

String Length

Łączy stringi wejściowe lub
macierz 1D stringów w jeden

string wynikowy

Concatenate Strings

Zwraca fragment stringu wejściowego. Deklaruje
się początek (

offset

) i długość (

length

) fragmentu

String Subset

Zamiana małych liter na duże i odwrotnie.

Znaki nie będące literami nie ulegają zmianie

To Upper Case

To Lower Case

Wstawia, usuwa lub zastępuje fragment
stringu wejściowego określony przez

początek (

offset

) i długość (

length

).

Replace Substring

Zastępuje jedno lub wszystkie wystąpienia
fragmentu stringu wejściowego innym

fragmentem.

Search and Replace String

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Funkcje obsługi stringów – 2

Wyszukuje w stringu wejściowym zadane wyrażenie (

regular

expression

) począwszy od zadanej pozycji (

offset

), a po znalezieniu

dzieli string na trzy.

Match Pattern

[~0-9]+

Jeden lub więcej znaków nie będących cyframi

^Panie

Słowo „Panie” jedynie wtedy gdy znajduje się na pozycji offset

Panie$

Słowo „Panie” jedynie wtedy gdy znajduje się na końcu stringu

(.*)

Najdłuższy string w nawiasach

([~( )]*)

Najdłuższy string w nawiasach nie zawierający nawiasów wewnętrznych

[ [ ]

Znak [

[BC][yóu][kg]

Byk, Bóg, Buk, Bug, Cug itp

[\t \r \n \s]+

Jedna lub więcej spacji, tabulatorów, końców wiersza, nowych linii

\s*

Zero lub więcej spacji

[0-9]+

Sekwencja jednej lub kilku cyfr

[ +-]

Spacja, znak plus lub minus

[Pp][Aa][Nn][Ii][Ee]

Wszystkie wersje słowa panie (duże-małe, np. Panie, pAnIE itp.)

PANIE

PANIE

Wyrażenie (

regular

expression

)

Znaki, które mają być znalezione

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Funkcje obsługi stringów – 3

Zamienia stringi, liczby, zmienne

logiczne, ścieżki na tekst zgodnie z
podanym formatem:

Format Into String

Skanuje string wejściowy i przetwarza go zgodnie z założonym
formatem (format string). Stosuj gdy dokładnie wiesz jak jest

sformatowany string wejściowy.

Scan From String

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Build Text – Express VI

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Oznaczenia zmiennych.vi

1.

Opracuj program

Extract String.vi

, odrzucający początkowe spacje i/lub tabulatory i

zwracający oznaczenie pierwszej zmiennej oraz pozostałą część stringu

W pliku tekstowym mamy wiersz zawierający zawierający oznaczenia zmiennych oddzielone

spacjami i/lub tabulatorami. Znaki takie mogą (nie muszą) występować także na początku i

końcu.

2. Wykorzystaj ten program jako subVI do zbudowania

Oznaczenia zmiennych.vi

, który

string wejściowy przetworzy na macierz stringów – nazw zmiennych

W drugim programie pętla while wykonywana jest do momentu w którym Output String z Extract

String.vi jest pusty, czyli nie ma już więcej oznaczeń zmiennych. W celu uniknięcia dodawania do macierzy

Oznaczenia pustego stringu na końcu, wprowadzono tu warunek sprawdzający. Innym możliwym

rozwiązaniem jest usunięcie ostatniego elementu macierzy po zakończeniu pętli while.

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Nadzór średniej z komunikatem.vi

Przebuduj

Nadzór sredniej.vi

tak, by zamiast sygnału dźwiękowego był

wyświetlany komunikat „Średnia wynosi”, wartość średniej z dokładnością do 3

miejsc po przecinku, jednostki (V) oraz tekst odpowiednio do sytuacji: „czyli jest
dopuszczalny” lub „czyli przekracza poziom alarmowy!”

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Operacje na plikach – organizacja VI

VI użytkowe wysokiego poziomu

VI i funkcje

średniego poziomu

Funkcje

zaawansowane

Odczyt i zapis danych

w formacie LabVIEW

(Express VI)

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie: Zapis/Odczyt – Express

Poeksperymentuj z parametrami obu funkcji,

przeanalizuj strukturę pliku LMV

Opracuj program generujący pięć sinusoid o częstotliwościach i amplitudach 0..4, po

100 punktów w każdej, zapisujący wyniki w

LabVIEW Measurement File

, odczytujący

je i wykreślający na rysunku.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

VI wysokiego poziomu, pliki tekstowe

Zamienia macierz 2D lub 1D liczb rzeczywistych (SGL) na tekst i

zapisuje w nowym pliku lub dopisuje do istniejącego. Można

transponować macierz przed zapisem. Tworzy pliki tekstowe

czytelne dla większości programów posługujących się arkuszami

kalkulacyjnymi.

Write To Spreadsheet File

Odczytuje zadaną liczbę linii lub wierszy z numerycznego pliku
tekstowego, poczynając od zadanej pozycji w pliku (

offset

) i

zamienia je na macierz 2D liczb rzeczywistych (SGL). Można
transponować macierz po odczytaniu. Można stosować do

odczytu arkuszy kalkulacyjnych zapisanych w formacie

tekstowym.

Read From Spreadsheet File

Zapisuje string w nowym lub dodaje do istniejącego pliku.

Write Characters To File

Odczytuje określoną liczbę znaków z pliku poczynając od

zadanej pozycji (

offset

).

Read Characters From File

Read Lines From File

Odczytuje określoną liczbę linii z pliku poczynając od zadanej

pozycji (

offset

).

Wszystkie VI wysokiego poziomu otwierają lub tworzą plik, wykonują odpowiednie operacje i zamykają go.

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

VI wysokiego poziomu – pliki binarne

Odczytuje macierz 1D lub 2D liczb całkowitych 16 bitowych ze
znakiem z pliku binarnego. Można używać do nieprzeskalowa-

nych danych otrzymanych bezpośrednio z DAQ, zapisanych
przez

Write To I16 File VI

.

Read From I16 File

Write To I16 File VI

Zapisuje macierz 1D lub 2D liczb całkowitych 16 bitowych ze
znakiem do istniejącego lub nowego pliku binarnego. Można

używać do nieprzeskalowanych danych otrzymanych
bezpośrednio z DAQ.

Read From SGL File

Odczytuje macierz 1D lub 2D liczb rzeczywistych (SGL) z

pliku binarnego. Można używać do przeskalowanych

danych otrzymanych bezpośrednio z DAQ, zapisanych przez

Write To SGL File VI

.

Write To SGL File

Zapisuje macierz 1D lub 2D liczb rzeczywistych (SGL) do
istniejącego lub nowego pliku binarnego. Można używać

do przeskalowanych danych otrzymanych bezpośrednio z
DAQ.

Wszystkie VI wysokiego poziomu otwierają lub tworzą plik, wykonują odpowiednie operacje i zamykają go.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie: Zapis/Odczyt – wysoki poziom

Opracuj program generujący pięć sinusoid o częstotliwościach i amplitudach 0..4, po

100 punktów w każdej, zapisujący wyniki w pliku binarnym, odczytujący je i

wykreślający na rysunku.

Zamień typ danych na I16,
potem na TXT.

Porównaj uzyskane pliki i wykresy.

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

VI i funkcje średniego poziomu

Otwiera istniejący lub tworzy nowy lub zastępuje istniejący plik
programowo lub z wykorzystaniem okna dialogowego. Można określić

pytanie/polecenie do użytkownika, domyślna nazwę pliku, ścieżkę

początkową lub maskę nazwy. Stosuj z funkcjami

Write File

oraz

Read File

.

Open/Create/Replace File

Odczytuje dane z otwartego pliku określonego przez

refnum

i zwraca je

jako

data

. Czytanie rozpoczyna się od bieżącej pozycji w pliku lub pozycji

określonej przez

pos mode

i

pos offset

. Interpretacja danych zależy od

formatu pliku określonym przez

byte stream type

.

Read File

Zapisuje dane (

data

) do otwartego pliku wskazanego przez

refnum

. Zapis

rozpoczyna się od pozycji określonej przez

pos mode

i

pos offset

dla plików

tekstowych i liczbowych, oraz na końcu pliku dla plików rekordów.

Write File

Zamyka otwarty plik wskazany przez

refnum

i zwraca ścieżkę dojścia do

pliku. Plik jest zamykany niezależnie od tego, czy wcześniej wystąpiły
błędy.

Close File

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie: Zapis/Odczyt – poziom średni

Opracuj program generujący pięć sinusoid o częstotliwościach i amplitudach 0..4, po

100 punktów w każdej, zapisujący wyniki w pliku binarnym, odczytujący je i

wykreślający na rysunku.

Zamień typ danych na SGL, potem na I26,

potem na I8. Porównaj uzyskane pliki i
wykresy. Wypróbuj podawanie określonej

nazwy pliku w programie.

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Formatowanie wiersza arkusza kalkulacyjnego

Tekstowe arkusze kalkulacyjne są często używanym

narzędziem wymiany i analizy danych

Wśród wielu formatów tych arkuszy najczęściej stosowany

jest:

Kolumny rozdzielone są znakami

tab (hex 09)

Wiersze są rozdzielone znakami końca wiersza

(CR LF

czyli

hex 0D 0A)

Wiersze takiego arkusza

ł

atwo tworzy się używając

Format

Into File

:

Np.:

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Nadzór średniej & Log.vi

Rozbuduj Nadzór średniej.vi tak, by czas od początku pomiarów i wartości pojedynczych

pomiarów oraz wartości średnie były na bieżąco zapisywane w pliku *.log o nazwie podanej

przed rozpoczęciem pomiarów, do odwołania lub wystąpienia błędu zapisu. W pierwszym wierszu

pliku podaj datę i godzinę rozpoczęcia pomiarów. Wykorzystaj funkcje

Get Date/Time String

oraz

Get Date/Time In Seconds

Nadzór średniej z dnia 2003-12-10 od godziny 18:23:23
0.000

0.197

0.066

0.100

0.158

0.118

0.201

0.179

0.178

0.301

0.006

0.114

0.401

0.573

0.252

0.501

0.301

0.293

0.601

0.187

0.354

0.701

0.843

0.444

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technologii Maszyn

Ćwiczenie:

Odczyt arkusza log.vi

Opracuj VI odczytujący dane zapisane przez

Nadzór średniej & Log.vi

,

pokazujący je w tablicy i na wykresie


Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron