Ćwiczenie. Obsługa autonomicznych przyrządów pomiarowych. Laboratorium. projektowania skupionych i rozproszonych systemów pomiarowych

Podobne dokumenty
Język SCPI (ang. Standard Commands for Programmable Instruments)

Ćwiczenie. Wyznaczanie parametrów przyrządów autonomicznych na przykładzie charakterystyk tłumienia zakłóceń szeregowych woltomierza całkującego

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Komputerowe systemy pomiarowe. Dr Zbigniew Kozioł - wykład Mgr Mariusz Woźny - laboratorium

Laboratorium Komputerowe Systemy Pomiarowe

Rok akademicki: 2030/2031 Kod: SEN EJ-s Punkty ECTS: 4. Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Laboratorium Komputerowe Systemy Pomiarowe

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Sterowniki Programowalne (SP)

Spis treści Objaśnienie skrótów Wstęp Rozdział 1. Pomiar, system pomiarowy, przesyłanie danych Rozdział 2. Magistrala GPIB

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Ćw. 12. Akwizycja sygnałów w komputerowych systemach pomiarowych ( NI DAQPad-6015 )

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Politechnika Warszawska

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 4

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Organizacja typowego mikroprocesora

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

Laboratorium Komputerowe Systemy Pomiarowe

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

asix4 Podręcznik użytkownika SAPIS7 - drajwer protokołu SAPIS7 Podręcznik użytkownika

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Architektura komputerów. Układy wejścia-wyjścia komputera

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

asix4 Podręcznik użytkownika MELSECA - drajwer dedykowanego protokołu sterowników MITSUBISHI Podręcznik użytkownika

Ćwiczenie 1. Temat ćwiczenia: Zapoznanie się ze środowiskiem programowania LabView

Wykład 2 Składnia języka C# (cz. 1)

Komputerowe systemy pomiarowe

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

SCL TIA SIEMENS SIMATIC S7 1200/1500

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Języki i metodyka programowania. Wprowadzenie do języka C

Rysunek 1: Okno z lista

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

GRM-10 - APLIKACJA PC

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

2. Architektura mikrokontrolerów PIC16F8x... 13

stacjonarne (stacjonarne / niestacjonarne) kierunkowy (podstawowy / kierunkowy / inny HES)

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Instrukcja użytkownika ARSoft-WZ1

Dokumentacja SMS przez FTP

Standardowe polecenia programowanych urządzeń Podstawy

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

PROGRAMOWALNE STEROWNIKI LOGICZNE

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A

Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny

Autor: dr inż. Katarzyna Rudnik

Konfiguracja parametrów sondy cyfrowo analogowej typu CS-26/RS/U

System automatyki domowej. Nexo.API Protokół Karty komend NXW396

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

1 Podstawy c++ w pigułce.

Integracja systemu RACS 4 z generatorem obrazu CCTV

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Systemy pomiarowe Measurement systems. Energetyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny)

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Schemat blokowy karty

PRZEWODNIK PO PRZEDMIOCIE

1. Prace rozwojowe usługi informatyczne w zakresie opracowania prototypu oprogramowania serwisowo-instalatorskiego dla systemu testowego

MODELING OF MEASURING SYSTEMS IN VEE PRO PROGRAMMING ENVIRONMENT WITH USE OF VIRTUAL INSTRUMENTS

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Laboratorium Komputerowe Systemy Pomiarowe

Bezpieczeństwo informacji oparte o kryptografię kwantową

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

interfejs szeregowy wyświetlaczy do systemów PLC

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

1 Podstawy c++ w pigułce.

asix4 Podręcznik użytkownika CtMus04 - drajwer do wymiany danych z urządzeniami sterującymi MUS-04 firmy ELEKTORMETAL S.A.

Opis ultradźwiękowego generatora mocy UG-500

Cyfrowy wzmacniacz AED dla przetworników tensometrycznych.

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29)

asix4 Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet

Kurs Podstawowy S7. Spis treści. Dzień 1

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

LibreOffice Calc VBA

Integracja systemów sterowania i sterowanie rozproszone 5 R

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

asix4 Podręcznik użytkownika LUMBUS - drajwer regulatorów firmy LUMEL Podręcznik użytkownika

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

INSTRUKCJA OBSŁUGI. Program ProCELL. Wersja: 1.15

Kier. MTR Programowanie w MATLABie Laboratorium

Wykład 4. SQL praca z tabelami 1

LEKCJA TEMAT: Zasada działania komputera.

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Transkrypt:

Program Rozwojowy Politechniki Warszawskiej, Zadanie 36 Przygotowanie i modernizacja programów studiów oraz materiałów dydaktycznych na Wydziale Elektrycznym Laboratorium projektowania skupionych i rozproszonych systemów pomiarowych Ćwiczenie Obsługa autonomicznych przyrządów pomiarowych Instrukcje do ćwiczenia i dodatkowe materiały przygotowano i zmodernizowano przy wykorzystaniu środków otrzymanych w ramach Zadania 36 Programu Rozwojowego Politechniki Warszawskiej Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

1. Cel ćwiczenia Celem ćwiczenia jest praktyczne wprowadzenie i zapoznanie studentów z możliwościami jakie oferują obecnie środowiska programistyczne przeznaczone do tworzenia systemów pomiarowych, w zakresie obsługi przyrządów autonomicznych. W ramach ćwiczenia przygotowane zostały zadania, w trakcie realizacji których studenci zdobywają wiedzę dotyczącą sposobów łączenia przyrządów autonomicznych z komputerem, konfiguracji przyrządów w środowisku programistycznym, możliwości podłączenia wielu przyrządów tworzących system pomiarowy. Zasadniczym elementem ćwiczenia jest programowanie przyrządu pomiarowego z poziomu środowiska programistycznego. Dodatkowo studenci zdobywają umiejętności w podstawowym zakresie obejmującym budowę, modyfikacje, a nawet tworzenie własnego sterownika przyrządu pomiarowego. 2. Wprowadzenie: Język SCPI Historia języka SCPI sięga roku 1975, kiedy to IEEE (ang. Institute of Electrical and Electronic Engineers) opracował i opublikował normę IEEE 488-1975. Dokument ten dotyczył zasad łączenia i wymiany informacji w systemach cyfrowych, w których wykorzystywano magistralę HPIB (firmy Hewlett- Packard). W roku 1987 powyższy standard został zaktualizowany o dokumentację w zakresie procedur wymiany i sterowania przepływem danych pomiędzy przyrządami w systemie. W ten sposób powstał dokument IEEE 488.1-1987. Aspekty dotyczące programowania w zakresie języka rozkazów i odpowiedzi przyrządów pomiarowych zdefiniowano w IEEE 488.2-1987. Jednakże dopiero w roku 1990 opracowany został jednolity język dla sterowania urządzeniami oraz przesyłania i przetwarzania danych - język SCPI (ang. Standard Commands for Programmable Instruments). Język ten określa format rozkazów oraz definiuje ich składnię, ale również dokonuje ogólnej klasyfikacji przyrządów pomiarowych (woltomierz, generator, oscyloskop licznik-czasomierz czy zasilacz) z przyporządkowaniem zestawu standardowych komend przesyłanych pomiędzy przyrządem a kontrolerem w systemie pomiarowym (określanym też jako automatyczny ang. Automatic Test Equipment). Podstawową cechą modelu rozkazów wg SCPI jest jednolity zestaw i składnia komend oraz odpowiedzi przesyłanych pomiędzy kontrolerem i przyrządami zgodnymi ze specyfikacją SCPI w systemie pomiarowym. Dzięki tej własności przyrządy pomiarowe należące do określonej grupy np: woltomierze charakteryzują się podobnym zestawem instrukcji pomiarowych. Wpływa to istotnie na łatwość przyswojenia zestawu komend i czyni prostszym zabieg wymiany przyrządu w systemie pomiarowym. Dodatkowym ułatwieniem w wykorzystaniu języka SCPI jest zestaw komend wysokiego poziomu, które przeznaczone są do uproszczonego, ale i szybkiego sterowania przyrządem, bez konieczności definiowania zbioru parametrów komendy (przyjmowanie są wartości domyślne bądź aktualne). Tłumaczeniem rozkazów SCPI w systemach pomiarowych zajmują się tzw. parsery. Budowanie i analiza komunikatów SCPI może być realizowane bezpośrednio w kodzie programu użytkownika lub też wykonywane za pomocą dedykowanych sterowników programowych. Rozkazy są wysyłane i odbieranie w formacie SCPI, z zachowaniem jednoznaczności odpowiedzi na dany rozkaz. Kolejną cechą języka komunikatów SCPI jest jego niezależność od fizycznego łącza komunikacyjnego (IEEE-488, GPIB, HPIB, IEC-625, RS-232, RS-485, VXIbus, PXI), za pomocą którego są one przesyłane. Co więcej standard SCPI nie jest zamknięty co oznacza możliwość dołączania kolejnych komunikatów. W strukturze standardu SCPI wyróżnić można następujące grupy funkcjonalne komend: Input Signal Routing - operacje związane z podłączeniem sygnałów wejściowych, Output Signal Routing - operacje związane z wystawieniem sygnałów wyjściowych Część pomiarowa - przetwarzanie i analiza sygnałów pomiarowych, Część generacyjna - generacja sygnałów wyjściowych zgodnie z zadanymi parametrami TRIGger - wyzwalanie wejściowych układów pomiarowych lub wyjściowych generacyjnych (synchronizacja z funkcjami wewnętrznymi, zdarzeniami zewnętrznymi czy innymi przyrządami) FORMat - konwersja danych do ustalonej postaci MEMory - pamięć danych Internal Routing str. 2

Rozkazy języka SCPI charakteryzuje hierarchiczność tzn. korzenie drzew rozkazów stanowią rozkazy poziomów głównych (ang. Root Commands), które rozwijają się w ramach tzw. podsystemów (ang. subsystems) grupujących rozkazy przyporządkowane do określonej funkcji. Rozwinięcie podsystemu na kolejne niższe poziomy związane jest z precyzją realizowanych operacji. Hierarchia rozkazów wymaga, w przypadku wykonania rozkazu z poziomu niższego, podania pełniej ścieżki położenia tego rozkazu, rozpoczynającej się rozkazem głównym danego podsystemu. Słowa kluczowe zapisane w konwencji języka SCPI mają charakterystyczną postać. Pierwsze cztery litery (trzy jeżeli ostatnią jest samogłoska) pisane są wielkimi literami i stanowią minimum mnemoniki komendy. Pozostałe litery dopełniające do pełnej postaci komendy, pisane są małymi literami np: MEASure. Wielkie litery są w formatowanych rozkazach obowiązkowe. Wariant ten pozwala na tworzenie zwartych i krótkich poleceń. Stosowanie pełnych nazw poleceń pozwala natomiast na zwiększenie czytelności pisanych dla systemów pomiarowych, programów. W składni języka SCPI wyróżnia się następujące znaki specjalne: w celu rozdzielania następujących po sobie rozkazów w języku SCPI możliwe jest zastosowanie następujących znaków-separatorów: dwukropek - rozdziela następujące po sobie rozkazy, przemieszczając się na niższe poziomy hierarchii poleceń SCPI. Jeżeli występuje przed pierwszym rozkazem powoduje skok na najwyższy (główny) poziom drzewa rozkazów, średnik - oddziela następujące po sobie rozkazy w ramach pojedynczego łańcucha. Nie zmienia aktualnego poziomu rozkazu, przecinek - rozdziela argumenty rozkazów (jeżeli jest ich wiece niż jeden), spacja (tabulacja) - oddziela argumenty od rozkazu. Jest ignorowana w polu argumentów, znak zapytania (?) - oznacza rozkaz zapytania (ang. Query Command), na który urządzenie zwraca odpowiedź do kontrolera, nawiasy kwadratowe ([]) - w nawiasach tych zamieszane są opcjonalne słowa kluczowe bądź argumenty, klamry ({}) - ograniczają zbiór argumentów w pojedynczym łańcuchu rozkazowym, nawiasy ostre (<>) - oznaczają nazwę argumentu, którą należy zastąpić wartością liczbową, symbol logicznej operacji OR ( ) - ze zbioru argumentów rozdzielonych ww. znakiem należy wybrać tylko jeden, znak gwiazdki ( * ) - występuje na początku (trzyliterowych) mnemonik rozkazów wspólnych (ang. Common Commands). Rozkazy należące do tej grupy zdefiniowano i wykorzystywano przed sformułowaniem języka SCPI i bez modyfikacji włączono je do nowego standardu. 3. Układ pomiarowy Komputer PC (kontroler GPIB) RS/GPIB Symulator przyrządu RS/GPIB Rysunek 1. Schemat układu pomiarowego Układ pomiarowy składa się z komputera klasy PC pełniącego funkcję kontrolera i umożliwiającego uruchamianie aplikacji sterujących oraz symulatora przyrządów pomiarowych (National Instruments). Dzięki temu symulatorowi możliwa jest emulacja rzeczywistego przyrządu pomiarowego poprzez interfejs GPIB albo RS. W obydwu trybach możliwa jest symulacja takich urządzeń jak woltomierz czy oscyloskop (lub generator). Symulator obsługuje następujące zestawy komend (szczegółowy opis każdej komendy zawiera [2]): str. 3

komenda ustawiająca adres SADDRess primary[,secondary] komendy formatujące ciąg danych z przebiegiem czasowym FORMat:DATA {ASCii INTeger,8 INTeger,16} - ze względu na to, że dane z przyrządu odbierane są jako ciągi znaków ASCII należy dokonać rzutowania na odpowiedni typ U8 albo I16. W LabVIEW służy do tego funkcja Type Cast. FORMat:DATA? FORMat:BORDer {NORMal SWAPped} FORMat:BORDer? komendy generujące przebiegi czasowe SOURce:FUNCtion {SINusoid SQUare NOISe RANDom PCHirp} SOURce:FUNCtion? komendy do odczytu przebiegów czasowych (Query, zapytania) SENSe:DATA? SENSe:VOLTage:RANGe? SENSe:VOLTage:RANGe:OFFSet? SENSe:VOLTage:HEADer? SENSe:SWEep:HEADer? komendy do konfiguracji i odpytywania woltomierza CONFigure:DC {DEFault MIN MAX} MEASure:DC? CONFigure:DC? komendy identyfikacji, statusu, konfiguracji i pomocy (wybrane) *IDN? *TST *RST? SYStem:HELP? 4. Realizacja ćwiczenia Podstawowym celem ćwiczenia jest napisanie w środowisku LabVIEW programu/sterownika obsługującego część bądź wszystkie komendy symulatora. Konfigurację symulatora do pracy poprzez łącze szeregowe albo interfejs GPIB należy przeprowadzić zgodnie z rozdziałem 1 pozycji [2]. Formowanie złożonych komend można zrealizować wykorzystując funkcję Format Into String, która pozwala tworzenie ciągów znakowych (komend SCPI w przypadku projektowanego programu) ze składowych, które mogą być stałymi lub zmiennymi łańcuchami znakowymi, stałymi lub zmiennymi wartościami liczbowymi (całkowitoliczbowymi i zmiennoprzecinkowymi). Przykładowe zastosowanie funkcji Format Into String przedstawiono na rysunku 2 i 3, na przykładzie formowania komendy do ustawiania adresu. W ogólnym przypadku liczba składowych wejściowych może być większa. Typy tych składowych ustala się niezależnie. Rysunek 2. Przykładowe wywołanie funkcji Format Into String. str. 4

Rysunek 5. Okno konfiguracyjne funkcji Format Into String. Wysyłanie i odczyt komend z przyrządu można zrealizować poprzez łącze RS lub GPIB. Wysyłane rozkazy pozostają bez zmian, różnica polega jedynie na wykorzystaniu różnych funkcji obsługi łącza (komunikacja RS lub GPIB). Choć i ten aspekt można wyeliminować wykorzystując rozwiązania służące unifikacji funkcji do komunikacji w systemach pomiarowych (standard VISA). Poniżej przedstawiony został przykładowy program do wysyłania rozkazów i odbierania odpowiedzi poprzez interfejs GPIB. Funkcja Number To Decimal String zamienia liczbową wartość adresu przyrządu na postać ciągu znakowego, natomiast funkcja Scan From String pozwala dokonać konwersji wyniku z ciągu znakowego na wartość liczbową. W przypadku złożonych ciągów wartości (wieloliczbowych i/lub zapisanych w postaci inżynierskiej np; +1.05E-03) warto wykorzystać funkcję LabIEW o nazwie Extract Numbers. ME- Rysunek 3. Przykładowy fragment programu do komunikacji z przyrządem pomiarowym. Do obsługi formowania i wysyłania rozkazów można wykorzystać konstrukcję Event Structure. Na rysunku 4 przedstawiono prosty przykład wykorzystania tej konstrukcji, która po naciśnięciu przycisku Identyfikacja komendę *IDN?. Rysunek 4. Przykład użycia konstrukcji Event Structure. Przykładowy panel czołowy aplikacji do sterowania symulatorem przyrządów przedstawiono na rysunku 5. Poszczególne grupy rozkazów rozmieszczono w trzech zakładkach (Tab Control): Konfiguracja, Oscyloskop/Generator, Woltomierz. str. 5

5. Harmonogram ćwiczenia Rysunek 5. Przykładowe okno aplikacji (sterownika), po przygotowaniu komendy *IDN?. a) podłączenie przyrządu do komputera i skonfigurowanie go do pracy w systemie pomiarowym, b) nawiązanie komunikacji z przyrządem poprzez interfejs RS, USB lub GPIB, c) zaprojektowanie wirtualnego przyrządu pomiarowego z zaimplementowanymi funkcjami do komunikacji z przyrządem autonomicznym, d) wykorzystanie do komunikacji z przyrządem dedykowanego sterownika i alternatywnie własnych funkcji, e) weryfikacja i porównanie przyrządu autonomicznego z wirtualnym. 6. Literatura [1] Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI, Wojciech Mielczarek, Wydawnictwo Helion 1999. [2] NI Instrument Simulator User Manual [3] NI LabVIEW User Manual str. 6