Lab_11.pdf

(390 KB) Pobierz
1
Programowanie w języku G - Laboratorium 11
Ćwiczenie 11.1 – Zapis plików binarnych
Cel:
Stworzenie programu
formatowaniu.
zapisującego
dane
w
pliku
binarnym
o
prostym
Pogram będzie zapisywał dane w pliku binarnym bazującym na prostym formacie, polegającym na zamieszczaniu
w nagłówku pliku wartości I32 (long word integer) informującej o liczbie danych (punktów pomiarowych)
zamieszczonych dalej w pliku. W kolejnym z ćwiczeń zostanie utworzony program do odczytywania danych z
takich plików.
Panel czołowy _________________________________________________________________________
1. W oknie nowego projektu wprowadzić brakujące elementy i rozmieścić je w sposób zbliżony do
pokazanego na zamieszczonym poniżej rysunku panelu czołowego. Panel zawiera:
a) wykres Waveform graph,
b) kontrolkę tekstową Menu Ring (Select Waveform),
c) wskaźnik liczbowy Numeric Indicator (Number of Data Points).
2. Charakterystyczne elementy zamieszczonych na panelu obiektów to:
a) Reprezentacja danych wskaźnika liczbowego Numeric Indicator (Number of Data Points) to
32-bitowa liczba całkowita (menu kontekstowe /Representation /I32).
b) Pozycje Menu Ring to kolejno (menu kontekstowe /Properties /Edit Items): 0 – Zero, 1 – Sinus,
2 - Prostokąt, 3 – Piła. Reprezentacja liczbowa menu to nieoznaczona liczba szesnastobitowa U-16
(menu kontekstowe /Representation /U16). Jeśli chcemy obserwować wartości liczbowe
towarzyszące wybieranym pozycjom tekstowym (np. Sinus = 1), konieczne jest wyświetlenie
wskaźnika (menu kontekstowe /Visible Items /Digital Display).
Schemat blokowy ______________________________________________________________________
1. Uzupełnić schemat blokowy o brakujące elementy i połączenia. Są to:
a) Węzeł
Open/Create/Replace File.vi
(paleta Functions /All Functions / File I/O). Węzeł zgodnie
z nazwą, w zależności od konfiguracji, otwiera, tworzy lub nadpisuje pliki. W bieżącym
ćwiczeniu jako podstawowa wykorzystywana będzie funkcja tworzenia plików.
b) Funkcja
Write File
(paleta Functions /All Functions /File I/O). Funkcja występuje na schemacie
dwukrotnie. Pierwsze wystąpienie funkcji Write File zapisuje binarny nagłówek pliku zawierający
liczbę wartości zapisywanych w pliku. Drugie wystąpienie Write File zapisuje tablicę danych.
Programowanie w języku G
strona
1
2
c) Funkcja
Close File
(paleta Functions /All Functions /File I/O). Funkcja Close File zamyka plik
po zapisaniu w nim danych.
d) Program
Simple Error Handler.vi
(paleta Functions /All Functions /Time & Dialog), który w
przypadku wystąpienia błędu powoduje wyświetlenie okna dialogowego z opisem błędu i
miejscem jego wystąpienia.
e) Stała wejściowa funkcji Write File -
pos mode
równa
start
(menu kontekstowe wejścia funkcji
Write File i polecenia Create /Constant). Zadeklarowanie stałej wejściowej „pos mode” wartości
„start” wymusza zapis nowych danych od początku pliku.
f) Stała wejściowa funkcji Open/Create/Replace File równa
create or replace
(menu kontekstowe
wejścia funkcji Open/Create/Replace File i polecenia Create /Constant). Wybór wartości „create
or replace” umożliwia użytkownikowi utworzenie nowego lub nadpisanie istniejącego pliku.
g) Program
Acquire Signal.vi
(paleta Functions /All Functions /Select a VI…) zlokalizowany w
miejscu wskazanym przez prowadzącego. Program generuje przebieg o kształcie wybranym za
pomocą kontrolki Select Waveform (Wybierz przebieg).
h) Funkcja tablicowa
Array Size
(paleta Functions /All Functions /Array), on the block diagram.
W bieżącym ćwiczeniu funkcja zwraca liczbę jednowymiarowej tablicy elementów zapisywanych
w pliku.
2. Zapisać plik programu pod nazwą
Binary File Writer.vi.
3. Uruchomić program, a otrzymane dane zapisać na dysku pod nazwą
data.bin.
4. Zatrzymać program i zamknąć wszystkie jego okna.
Ćwiczenie 11.2 – Odczyt plików binarnych
Cel:
Stworzenie programu odczytującego dane z pliku binarnego (utworzonego w
poprzednim ćwiczeniu).
Panel czołowy _________________________________________________________________________
Programowanie w języku G
strona
2
3
1.
W oknie nowego projektu wprowadzić brakujące elementy Panel zawiera:
a) wykres Waveform graph,
b) wskaźnik liczbowy Numeric Indicator (Number of Data Points). Reprezentacja danych wskaźnika
to 32-bitowa liczba całkowita (menu kontekstowe /Representation /I32).
Schemat blokowy ______________________________________________________________________
1.
Uzupełnić schemat blokowy o brakujące elementy i połączenia. Są to:
a) Węzeł
Open/Create/Replace File.vi
(paleta Functions /All Functions / File I/O). Zadaniem
węzła jest otworzenie pliku.
b) Funkcja
Read File
(paleta Functions /All Functions /File I/O). Funkcja występuje na schemacie
dwukrotnie. Pierwsze wystąpienie funkcji Read File odczytuje binarny nagłówek pliku
zawierający liczbę wartości zapisywanych w pliku. Drugie wystąpienie Read File odczytuje z
pliku tablicę danych.
c) Funkcja
Close File
(paleta Functions /All Functions /File I/O). Funkcja Close File zamyka plik
binarny po odczytaniu z niego danych.
d) Program
Simple Error Handler.vi
(paleta Functions /All Functions /Time & Dialog), który w
przypadku wystąpienia błędu powoduje wyświetlenie okna dialogowego z opisem błędu i
miejscem jego wystąpienia.
e)
Stała liczbowa
“byte stream type” (paleta Functions /All Functions / Numeric) o reprezentacji
I32
(domyślna reprezentacja stałych liczbowych). Stała definiuje typ danych, na które oczekuje
funkcja Read File przy odczycie nagłówka.
f)
Stała liczbowa
“byte stream type” (paleta Functions /All Functions /Numeric) o reprezentacji
Double Precision (DBL)
(menu kontekstowe /Representation /Double Precision). Stała definiuje
typ danych, na które oczekuje funkcja Read File przy odczycie danych „pomiarowych”.
2.
3.
Zapisać plik programu pod nazwą
Binary File Reader.vi
Otworzyć plik
data.bin
utworzony w poprzednim ćwiczeniu. Po otworzeniu pliku, funkcja Read File
wykorzystuje wejście
byte stream type
skonfigurowane czterobajtową wartością long integer, do
odczytania pierwszych czterech bajtów pliku zapisanych jako nagłówek. Funkcja wyświetla liczbę
przechowywanych wartości na wskaźniku Number of Data Points. Drugie wystąpienie węzła Read
File odczytuje tablicę danych o reprezentacji wymuszonej za pomocą wejścia
byte stream type
skonfigurowanego wartością o reprezentacji double precision. Wejście
count
definiuje liczbę
wartości odczytywanych z pliku bnarnego.
Zatrzymać program i zamknąć wszystkie jego okna.
4.
Programowanie w języku G
strona
3
4
Ćwiczenie 11.3 – Podprogram „Zapis danych do pliku”
Cel:
Ukończenie programu zapisującego dane do pliku.
Tworzony w bieżącym ćwiczeniu program będzie obsługiwał przycisk opcji „Log Results to File” programu
„Analyze & Present Data.vi” z ćwiczenia 9.6 – Analiza i prezentacja danych (panel czołowy zamieszczono
poniżej). Utworzony program będzie stanowił element większego systemu tworzonego w kolejnych ćwiczeniach.
W aktualnie tworzonym programie konieczne jest zapisanie na dysku danych różnego typu. Zestaw danych
stanowią proste dane liczbowe, tablica danych liczbowych i dane łańcuchowe. Wykonanie ćwiczenia doprowadzi
do stworzenia programu pozwalającego na zapis wymienionych danych do pliku.
Panel czołowy _________________________________________________________________________
1.
Otworzyć plik
Save Data to File.vi.
Program posiada już panel czołowy. Dwie kontrolki panelu
używane są do wprowadzania danych do programu i stanowią część większego systemu budowanego
w trakcie ćwiczeń. „Data Cluster” zawierał będzie część analizowanych danych przeznaczonych do
zapisu na dysk, zaś łańcuch „Operator Name” nazwę pracownika również zapisywaną w pliku.
Programowanie w języku G
strona
4
5
Schemat blokowy ______________________________________________________________________
1.
Przekształć schemat blokowy wprowadzając wymagane modyfikacje, elementy i połączenia.
a) Usunąć stałą logiczną oznaczoną „Delete
Me”.
b) Zamieścić funkcję
File Dialog
(paleta Functions /All Functions /File I/O /Advanced File
Functions). Funkcja wyświetla okno dialogowe umożliwiające nadanie nazwy plikowi. Wyjścia
funkcji File Dialog o nazwach
exists
i
cancelled
podłączyć do wejść funkcji logicznej
OR.
Dodatkowo wyjście
exists
podłączyć do wejścia struktury wyboru Case.
c) Utworzyć stałą “new file” wejścia
select mode
funkcji File Dialog (menu kontekstowe wejścia
„select mode” funkcji File Dialog i polecenia Create oraz Constant). Za pomocą lewego przycisku
myszy zadeklarować wartość utworzonej stałej równą „new file”.
d) Utworzyć stałą “Nazwa dla nowego pliku danych:” wejścia
prompt
funkcji File Dialog (menu
kontekstowe wejścia „prompt” funkcji File Dialog i polecenia Create oraz Constant).
Wprowadzony łańcuch stanowi tytuł okna dialogowego. Do zapisu danych służy “zewnętrzna”
struktura Case. Należy zwrócić uwagę, że połączone dane “operator name” i “data cluster”
dostarczają informacji o typie danych zamieszczanych w pliku (do funkcji New File i Write File).
e) Zamieścić funkcję
New File
(paleta Functions /All Functions /File I/O /Advanced File Functions).
Funkcja odpowiedzialna jest za utworzenie nowego pliku. Informacja o typie danych pliku
“dostarczana” jest za pomocą wejścia „datalog type”w dolnej części ikony funkcji.
f) Zamieścić funkcję
Write File
(paleta Functions /All Functions /File I/O).
g) Zamieścić funkcję
Close File
(paleta Functions /All Functions /File I/O).
Programowanie w języku G
strona
5
Zgłoś jeśli naruszono regulamin