• Nie Znaleziono Wyników

ROZDZIAŁ 2. Elementy układu eksperymentalnego wspomaganego kom-

2.5. Oprogramowanie

Istotnym elementem układu eksperymentalnego wspomaganego kompute-rowo jest jego oprogramowanie, które także możemy zaliczyć do sprawców

danych z taksonomii prac eksperymentalnych Hackinga73. Klasyczny sposób

projektowania oprogramowania w takim systemie eksperymentalnym polega na samodzielnym opracowywaniu od podstaw programu sterującego, przy wykorzystaniu do tego celu języków programowania wysokiego poziomu (np. C, Pascal, Basic) wzbogaconych o zestaw poleceń służących do komunikacji

z interfejsem umożliwiającym w prosty sposób odbiór zdigitalizowanych informacji od urządzeń pomiarowych. Stopień trudności podczas tworzenia takiego programu zależy od tego, na jakim poziomie dostępne są dla pro-gramisty instrukcje sterujące interfejsu i jak są udokumentowane. Konkretna realizacja zależy zatem od użytego rodzaju interfejsu, przetworników analo-gowo-cyfrowych i urządzeń pomiarowych.

Krokiem w kierunku ujednolicenia i uproszczenia procesu projektowania oraz uruchamiania systemów pomiarowych było ustalenie przez największych światowych producentów aparatury pomiarowej przemysłowego standardu, który określał metody programowania przyrządów pomiarowych. Tak

po-wstał standard instrukcji programujących pracę przyrządów pomiarowych74

o nazwie SCPI (ang. Standard Commands for Programmable Instruments). Podaje on defi nicje zestawu instrukcji, które niezależnie od rodzaju czy modelu przy-rządu pomiarowego, pozwalają na pełne zaprogramowanie jego pracy, uzależ-niając sposób programowania jedynie od realizowanego zadania pomiarowe-go. Ze względu na to, że SCPI stanowi standard instrukcji uniwersalnych, może być stosowany w pracy nie tylko z – najczęściej używanym w zintegrowanych przyrządach pomiarowych – systemem interfejsu w standardzie IEEE-488, ale także innymi (np. RS-232C, VXI).

Kolejnym krokiem ułatwiającym projektowanie oprogramowania działa-jącego w układach eksperymentalnych wspomaganych komputerowo było powstanie tzw. zintegrowanych środowisk programowych. Najwięksi produ-cenci aparatury pomiarowej oferują, oprócz aparatury, fi rmowe języki progra-mowania. National Instruments oferuje języki LabVIEW i LabWindows. Firma Agilent Technologies oferuje język VEE (dawniej – HP VEE), a fi rma Keithley

język TestPoint. Można oszacować, że ponad 90% programów do układów eksperymentalnych wspomaganych komputerowo tworzonych jest w tych ję-zykach75. Wymienione języki programowania mają bardzo wiele zalet, ale dwie wady: są bardzo kosztowne (ceny najprostszych wersji tego oprogramowania zaczynają się od kilku tysięcy dolarów) oraz bardzo rozbudowane, co zmusza eksperymentatorów do czasochłonnej nauki danego języka, aby stworzyć choćby prosty program do sczytywania danych z urządzenia pomiarowego. Taki rozbudowany język programowania oferuje programiście wiele uży-tecznych funkcji i procedur w zakresie sterowania pomiarami, przetwarza-nia sygnałów lub ekspozycji otrzymanych wyników. Zatem, z perspektywy zaawansowanego programisty, to, że język jest tak rozbudowany, jest dużą 74 Przyrząd pomiarowy jest urządzeniem zintegrowanym. Najczęściej składa się z kilku bloków (np. urządzenia pomiarowego, przetwornika analogowo-analogowego, przetwornika analogowo-cyfrowego, interfejsu, przetwornika cyfrowo-analogowego) funkcjonalnie połączo-nych w jedną całość. Por. J. Piotrowski (red.), dz. cyt., s. 19–21.

zaletą. Kolejną bardzo ważną zaletą takiego środowiska programistycznego jest biblioteka sterowników programowych do konkretnych typów przy-rządów pomiarowych (multimetrów, oscyloskopów cyfrowych, generato-rów cyfrowych, komputerowych kart pomiarowych, kart interfejsowych, częstościomierzy i innych). Główni producenci przyrządów pomiarowych przekazują na rynek nowe urządzenie ze sterownikami, napisanymi dla naj-ważniejszych środowisk programistycznych: LabVIEW, LabWindows, VEE oraz TestPoint. Jednakże na przykład w LabVIEW znajdują się sterowniki nie tylko do przyrządów fi rmy National Instruments (producenta LabVIEW), ale także do przyrządów innych fi rm (Agilent, Tektronix, LeCroy, Keithey, Rohde & Schwartz, Stanford Research).

Oprócz wymienionych istnieje wiele innych, mniej rozpowszechnionych języków. Ważniejsze z nich to: DasyLab fi rmy Dasytec, GeniDAQ fi rmy Advantech oraz LabVIEW Express fi rmy National Instruments (jest to znacznie

uproszczona wersja LabVIEW, a właściwie oddzielny język do programowania systemów pomiarowych).

Programy do układów eksperymentalnych wspomaganych komputerowo można także opracować w ogólnym języku programowania, bogatym w pro-cedury grafi czne, np. Visual C++ lub Visual Basic. W przypadku prostych programów, bez rozbudowanych funkcji przetwarzania i ekspozycji danych, mogą być one nawet lepsze od powstałych w wyspecjalizowanych językach. Ich zalety to małe objętości plików i większa szybkość działania.

Dla przykładu, w dalszej części niniejszego podrozdziału krótko

przed-stawię najpopularniejsze środowisko programistyczne LabVIEW76. Jego

in-tegralną częścią jest grafi czny język programowania G, w ramach którego nastąpiło odejście od sekwencyjnego zapisu programu, charakterystycznego dla tradycyjnych języków programowania. Programowanie w języku G spro-wadza się do blokowego przedstawienia operacji, z których składa się program, i logicznego powiązania ich między sobą. Każdy program w LabVIEW składa się z dwóch głównych części: grafi cznego panelu użytkownika, który pełni rolę wirtualnej płyty czołowej przyrządów tworzących system pomiarowy, oraz diagramu funkcjonalnego (schematu blokowego) z naniesionymi ikona-mi bloków funkcjonalnych i połączeniaikona-mi ikona-między blokaikona-mi funkcjonalnyikona-mi 76 Wyczerpujące omówienie podstaw programowania w środowisku LabVIEW znaleźć można w: W. Tłaczała, Środowisko LabVIEW w eksperymencie wspomaganym komputerowo, Wydawnictwa Naukowo-Techniczne, Warszawa 2002. Autor w pierwszym rozdziale swojej monografi i szczegó-łowo omawia podstawy programowania w LabVIEW. W rozdziale drugim przedstawia zwięzły przegląd wybranych zagadnień związanych z modelowaniem i symulacją komputerową w tech-nice pomiarów. W rozdziale trzecim opisuje metodykę projektowania urządzeń wirtualnych w środowisku LabVIEW na przykładzie ćwiczeń laboratoryjnych prowadzonych na Wydziale Fizyki Politechniki Warszawskiej.

przyrządu wirtualnego77. „Urządzenia wirtualne są to takie urządzenia, które umożliwiają oddziaływanie na rzeczywiste urządzenie pomiarowe za pomocą myszki i klawiatury komputera, natomiast dane pomiarowe udostępniają

użytkownikowi za pośrednictwem monitora”78.

Zintegrowane środowisko LabVIEW wykorzystuje się szeroko w takich dziedzinach nauki i techniki, jak: fi zyka, biologia, chemia, mechanika, a po-nadto w telekomunikacji, biomedycynie oraz przemyśle półprzewodników. Przykładowe zastosowania w fi zyce to: pomiary promieniowania jonizujące-go, pomiary wielkości elektrycznych, czasu, siły, ciśnienia, temperatury czy

badanie pól elektromagnetycznych79.

Środowisko LabVIEW umożliwia projektowanie i konstruowanie urządzeń wirtualnych stosowanych w układach eksperymentalnych wspomaganych komputerowo. Jest to zintegrowane środowisko programowania obejmujące: zbieranie danych, ich obróbkę oraz wizualizację otrzymanych rezultatów. Komputer z oprogramowaniem LabVIEW, wyposażony w karty pomiarowe z przetwornikami analogowo-cyfrowymi i cyfrowo-analogowymi, licznika-mi, buforami wejścia–wyjścia, może stanowić wielofunkcyjne urządzenie o ogromnych możliwościach.

Za pomocą urządzeń wirtualnych utworzonych w środowisku LabVIEW możliwa jest obsługa rzeczywistych urządzeń zewnętrznych wyposażonych w interfejsy (np. RS-232C lub inne wymienione w podrozdziale 2.3), a także systemy aparatury modułowej (np. VXI). Do ich obsługi opracowano ponad 600 sterowników urządzeń, co znacznie upraszcza sterowanie z wykorzysta-niem komputerów wieloma powszechnie używanymi przyrządami

pomia-rowymi80. Ponadto biblioteki LabVIEW zostały wyposażone w narzędzia do

analizy statystycznej, operacji na macierzach i liczbach zespolonych, obróbki sygnałów i dopasowywania krzywych. Warto także podkreślić, że język G umożliwia grafi czne przedstawianie rezultatów pomiarów i obliczeń, np. w postaci przebiegów lub różnego rodzaju wykresów.

Zalety LabVIEW spowodowały zainteresowanie tym narzędziem i wdro-żenie go w pracach badawczych, choćby w takich ośrodkach naukowych, jak CERN (np. największy na świecie akcelerator LHC używa oprogramowania LabVIEW) i NASA (np. za pomocą LabVIEW testowany jest następca teleskopu

Hubble’a – kosmiczny teleskop Jamesa Webba)81.

77 Por. W. Nawrocki, Rozproszone systemy…, s. 309–315.

78 W. Tłaczała, dz. cyt., s. 13.

79 Por. P. Targowski, M. Sylwestrzak, T. Bojraszewski, Środowisko LabVIEW – własności i

przy-kłady zastosowań, „Postępy Fizyki” 2009, t. 60, z. 6, s. 255–256. 80 Por. W. Tłaczała, dz. cyt., s. 10.

81 Informacje te znaleźć można na stronie producenta LabVIEW, fi rmy National Instruments: www.ni.com, 13.05.2009 r. (dostęp: 22.04.2013).

2.6. Inne elementy (przetworniki cyfrowo-analogowe,