Unowocześnienie i rozszerzenie oferty edukacyjnej na
kierunku Automatyka i Robotyka na Wydziale Automatyki,
Elektroniki i Informatyki Politechniki Śląskiej –
otwarcie specjalności i przygotowanie kadr
Nr projektu: POKL.04.01.01-00-270.08
Materiały dydaktyczne dla przedmiotu
„Oprogramowanie Systemów Pomiarowych”,
kierunek Automatyka i Robotyka, specjalność
„Technologie informacyjne w automatyce
i robotyce”
Publikacja współfinansowana przez Unię Europejską ze środków
Europejskiego Funduszu Społecznego
Publikacja dystrybuowana bezpłatnie
LABORATORIUM OPROGRAMOWANIA SYSTEMÓW POMIAROWYCH
Instrukcja do ćwiczenia laboratoryjnego
Ć
wiczenie:
Zdalne pomiary przez sieć Ethernet
Politechnika Śląska
Instytut Automatyki
Zakład Pomiarów i Systemów Sterowania
Opracował: dr inż. Sebastian Budzan
ver.05.2011
1. WPROWADZENIE.
Celem ćwiczenia jest zapoznanie się z problematyką pomiarów w czasie rzeczywistym
z wykorzystaniem sieci Ethernet. W ramach ćwiczenia zrealizować należy następujące zadania:
1.
Zapoznać się ze stanowiskiem pomiarowym. Specyfikacje techniczne konwertera i
multimetru znajdują się na stanowisku.
2.
Zapoznać się z technologią Ethernet oraz komendami języka programowania SCPI.
3.
Komunikacja z konwerterem za pośrednictwem oprogramowania SendTCP.
4.
Wykorzystanie LabVIEW do utworzenia programów realizujących zadania:
• tester błędów multimetru,
• pomiar napięcia zmiennego (tryb single oraz continuous),
• pomiar temperatury termoelementem typu K.
2. OPIS STANOWISKA ORAZ TECHNOLOGII POMIARÓW.
W skład stanowiska pracy wchodzą następujące urządzenia:
• komputer PC,
• konwerter RS – 232 na Ethernet firmy ICP DAS, model I-7188E3D-232,
• multimetr Keithley 2000,
• panel zacisków wejściowych,
• czujniki pomiarowe.
Rys. 1. Schemat stanowiska pracy
Konwerter firmy ICP DAS jest urządzeniem wykorzystującym standard Ethernet,
bazujący na protokole TCP/IP oraz standard RS – 232, który opracowano w 1969 roku na
zlecenie amerykańskiego stowarzyszenia producentów urządzeń w celu ujednolicenia
parametrów i normalizacji interfejsu przy wymianie danych pomiędzy terminalem, a modemem.
Czujniki
pomiarowe
RS 232
Ethernet/Internet
Definiuje on sposób nawiązania i przeprowadzenia łączności między dwoma urządzeniami tzw.
DTE (ang. Data Terminal Equipment) za pośrednictwem modemów tzw. DCE (ang. Data
Communication Equipment
) lub bez nich. Jest to obecnie standard łącza szeregowego do
połączenia komputera PC z urządzeniami zewnętrznymi. RS – 232 jest magistralą
komunikacyjną przeznaczoną do szeregowej transmisji danych.
Rozróżnia się dwa rodzaje transmisji szeregowej:
• synchroniczna – polega na przesyłaniu bloków danych, a do synchronizacji i regulacji
przepływu używa się zewnętrznego sygnału zegarowego wysyłanego przez nadajnik,
a odbieranego wraz z danymi przez odbiornik; nie występują tutaj przerwy związane
z koniecznością synchronizacji pojedynczych informacji
• asynchroniczna – polega na przesyłaniu pojedynczych bajtów w określonym formacie,
który należy sprecyzować po obu stronach transmisji. Ramka składa się bitu startu, bitów
danych (od 5 do 8), opcjonalnego bitu parzystości, a także z 1 lub 2 bitów stopu. Bity są
wysyłane synchronicznie z zegarem nadajnika oraz odbierane przez odbiornik taktowany
innym zegarem.
Konwerter umożliwia komunikację poprzez sieć Ethernet, którego specyfikacja zawarta jest w
standardzie IEEE 802.3. Obejmuje on standardy przewodów oraz przesyłanych nimi sygnałów,
opisuje także formaty ramek i protokoły z dwóch najniższych warstw modelu warstwowego sieci
OSI (ang. Open Systems Interconnections): fizycznej oraz łącza danych.
OSI
TCP/IP
warstwa 7
APLIKACJI
warstwa 6
PREZENTACJI
warstwa 5
SESJI
Programy
użytkowe
warstwa 4
TRANSPORTOWA
Transport
warstwa 3
SIECIOWA
Internet
warstwa 2
ŁĄCZA DANYCH
warstwa 1
FIZYCZNA
Interfejs sieciowy,
Sprzęt
Rys. 2. Schemat modelu OSI i TCP/IP.
Warstwa fizyczna modelu OSI jest to układ sprzętowy – elektroniczny, optyczny,
radiowy (np.: karta sieciowa) umożliwiający komunikację pomiędzy urządzeniami sieciowymi,
czyli przede wszystkim nadawanie i odbieranie sygnałów. Wprowadzono szereg wymogów dla
warstwy fizycznej, w zdecydowanej większości skupiających się na zapewnieniu odpowiedniej
niezawodności sprzętu oraz jakości transmisji sygnałów. Warstwa łącza ma za zadanie
nadzorować jakość przekazywanych informacji, poprzez kontrolę warstwy fizycznej. Warstwa
łącza danych ma możliwość zmiany parametrów pracy warstwy fizycznej w celu minimalizacji
liczby błędów powstałych podczas transmisji. Najczęstszymi błędami warstwy fizycznej jest
niedostarczenie sygnału (ramki) do odbiorcy, bądź dostarczenie uszkodzonego sygnału.
Standard TCP/IP (ang. Transmission Control Protocol/Internet Protocol) jest pakietem
najbardziej rozpowszechnionych protokołów komunikacyjnych sieci Internet, prostszym pod
względem liczby warstw standardem w stosunku do modelu OSI. Najważniejszym problemem
związanym z wykorzystaniem standardu TCP/IP w pomiarach przemysłowych jest czas, w jakim
należy wysłać i odebrać sygnał z urządzenia pomiarowego. Mianowicie, wysłanie zgodnej ze
standardem SCPI komendy :read? realizowane jest w czasie kilku milisekund. Podobnie jest w
przypadku przesyłu przez port szeregowy RS. Przy ustawionej szybkości transmisji 9600 bit/s,
wysłanie 6-iu znaków to dokładnie czas 5ms. Zmiennym czynnikiem mającym największe
znaczenie przy połączeniu przez sieć Ethernet, jest czas dostępu do konwertera. Zależy on przede
wszystkim od odległości urządzenia pomiarowego (multimetru) od komputera użytkownika
łączącego się z konwerterem, czyli liczby węzłów pośrednich pomiędzy tymi urządzeniami.
SCPI (Standard Commands for Programmable Instruments) powstał na wniosek producentów
aparatury pomiarowej. Jest to zwarte środowisko pomiarowe i język dla przyrządów
programowalnych. Definiuje strukturę, składnię i zbiór rozkazów do komunikacji między
kontrolerem i przyrządami w systemach pomiarowych.
Rys. 3. Schemat przesyłania rozkazów w standardzie SCPI
Rozkazy
programowe
Komendy
KONTROLER
URZĄDZENIE
Zapytania
Odpowiedzi
Jednym z założeń standardu jest uniwersalność języka programowania – jest
on niezależny od typu i rodzaju przyrządu. SCPI jest językiem samokomentującym się, rozkazy
są angielskimi nazwami (lub powszechnie znanymi skrótami) odpowiednich wielkości, funkcji,
parametrów, jak np. TEMPERATURE, MEASURE, DIGITS. Ich znaczenie jest zrozumiałe dla
inżyniera znającego podstawy języka angielskiego. Wszystkie rozkazy SCPI dzieli się na kilka
kategorii, związanych z blokami funkcjonalnymi przyrządów. W wykorzystywanym multimetrze
można wyróżnić następujące bloki:
• CALCulate: przetwarzanie danych w przyrządzie
• DISPlay: wyświetlanie danych
• FORMat: zmiana formatu danych związanych z transmisją
• ROUTe: związany z podłączeniem sygnału do przyrządu
• SENSe: konwersja sygnału na dane
• STATus: rozkazy związane z raportowaniem statusu urządzenia
• SYSTem: operacje systemowe
• TRACe: związany z tworzeniem wykresów
• TRIGger: synchronizacja i wyzwalanie
• UNIT: wybieranie jednostki pomiarowej
Przykładowe, wykorzystywane podczas ćwiczenia komendy SCPI:
Wybór funkcji pomiarowej (pomiar napięcia, temperatury, itp.) realizowane jest za
pośrednictwem polecenia :CONFiguration (np. :CONF:VOLT:DC 1, 0.00001 – pomiar napięcia
stałego, zakres 1V, rozdzielczość 0.00001V).
Wybór kanału, do którego podłączono czujnik pomiarowy realizuje się poprzez rozkaz :ROUT
(np. :ROUT:CLOSe (@8) – zamknięcie kanału 8).
Odczyt pomiarów zrealizowano poprzez polecenie :READ?, które jest wysyłane do multimetru
po wcześniejszym poleceniu konfigurującym pomiar.
3. ZADANIA DO REALIZACJI.
Przygotowanie:
• Podłączenie złącza RS-232 do multimetru (jeżeli nie zostało wcześniej podłączone)
należy realizować przy wyłączonym zasilaniu całego stanowiska, nie tylko multimetru !!!
• Po podłączeniu złącza RS do multimetru, włączyć zasilanie stanowiska, konwertera oraz
multimetru, włączyć komputer PC,
• Multimetr należy przełączyć w tryb pomiarów za pośrednictwem złącza RS: w tym celu
nacisnąć przycisk: SHIFT, następnie RS-232, zatwierdzić ENTER,
• Po zakończonych pomiarach przełączyć multimetr w tryb pomiarów gpib, w tym celu
nacisnąć przycisk shift, następnie gpib, zatwierdzić enter,
Wszelkie pliki, dokumentacje znajdują się w katalogu „lab_osp_tcpip” na pulpicie. Wszystkie
utworzone
podczas
ć
wiczenia
programy
należy
zapisywać
w
katalogu
„lab_osp_tcpip_temp/sekcja_nr”. Zadania dodatkowe należy realizować po uzgodnieniu
z prowadzącym ćwiczenie.
Konfiguracja konwertera
Realizowana jest z wykorzystaniem web-servera dostarczonego wraz z urządzeniem przez
producenta. Wywołanie oprogramowania odbywa się w oknie przeglądarki. Konfiguracja
ogranicza się do ustawień sieciowych (numer IP, brama, maska podsieci) oraz ustawień
portów.
Rys. 4. Okno Web-servera 7188E3.
Konwerter po uruchomieniu zmienia cyklicznie wyświetlane wielkości według
poniższego schematu. W pierwszej kolejności wyświetlana jest informacja o numerze IP i
domyślnym porcie, następnie o prędkości transmisji dla każdego z portów. Kolejno konfiguracja
wszystkich portów szeregowych, a dokładniej – formaty ramek każdego z portów. Na przykład,
wyświetlona informacja 1.801 oznacza, że dla złącza COM1 ustawiono 8 bitów danych, brak
bitu parzystości i 1 bit stopu. 2.712 informuje, że dla złącza COM2 ustawiono 7 bitów danych,
bit parzystości oraz 2 bity stopy. Następna sekwencja 3.821 – oznacza, że dla złącza COM3
ustawiono 8 bitów danych, bit nieparzystości i 1 bit stopu. Po ukazaniu się sekwencji 44444
wyświetlają się bardziej szczegółowe dane z konwertera. Gdy pierwszą cyfrą na wyświetlaczu
jest 1, następne dwie wskazują liczbę aktualnie możliwych podłączeń do konwertera przez
Ethernet (maksymalnie 27), kolejne dwie liczbę aktywnych podłączeń(00). Gdy pierwszą cyfrą
jest 2, wyświetlana jest informacja ile razy konwerter był restartowany. Przy pierwszej cyfrze 3,
kolejne informują ile pakietów zostało wysłanych do konwertera poprzez port Ethernet. Po
cyfrze 4 wyświetlany jest status flagi informującej, czy pakiety mogą być przesyłane (0 albo 1).
Ostatnia opcja przy tej sekwencji to cyfra 5 na początku wyświetlacza, a po niej liczba restartów
układu realizującego funkcje karty sieciowej.
Rys. 5. Schemat cyklicznej zmiany wielkości wyświetlanej w konwerterze.
Zadanie 1 – Testowanie połączenia z konwerterm
W tym celu należy uruchomić program SendTCP znajdujący się w katalogu
„lab_osp_tcpip”. Oprogramowanie pozwala na konfigurację konwertera, jak również co
ważniejsze na komunikację z konwerterem oraz urządzeniami podłączonymi za pośrednictwem
złącza RS-232. Po uruchomieniu programu w polu Config TCP/IP należy wprowadzić numer IP
konwertera odczytany z jego wyświetlacza. Następnie klikając przycisk „Connect”. W przypadku
prawidłowego połączenia pojawi się komunikat „7188E3 is connected”. Wysłanie zapytania do
urządzenia (multimetru) realizowane jest poprzez wybór portu „Port 3”, wybór znaku końca linii
„CR”, wprowadzenie komendy w polu „Send Data” oraz potwierdzeniu przez naciśnięcie
przycisku „Send”. W efekcie w polu „Receive” pojawi się wartość odczytana. Dla zapytania
:read?
, uzyskana zostanie odpowiedź w formie wartości liczbowej napięcia zmiennego.
Rys. 6. Okno programu SendTCP.
Szczegółowy opis komend znajduje się w instrukcji multimetru, dostępnej na stanowisku oraz
w formie elektronicznej w katalogu „dokumentacja”.
Wprowadzić kilka testowych zapytań:
:syst:err?
:conf:volt:ac 10,0.00001
:rout:close (@8)
:read?
Zadanie 2 – LabVIEW/ Tester błędów multimetru
Multimetr umożliwia za pośrednictwem polecenia języka SCPI :syst:err? Uzyskanie
informacji o błędach zarejestrowanych przez multimetr podczas ostatniego cyklu transmisji
komend. Zadanie polega na utworzeniu programu umożliwiającego odczytanie wszystkich
błędów znajdujących się w buforze multimetru według poniższego diagramu blokowego.
Po prawidłowym utworzeniu programu należy wygenerować błąd w multimetrze poprzez
np. wysłanie komendy z błędem składni z programu SendTCP.
Uwaga: bloczek „Error to warning” znajduje się na dysku c:\Program files\National
Instruments\LabVIEW 2009\vi.lib\utility\error.llb.
Zadanie 3 – LabVIEW/ pomiar napięcia przemiennego
Jednorazowy pomiar napięcia przemiennego realizowany jest w kilku krokach, mianowicie na
wstępie należy skonfigurować multimetr do pomiaru napięcia przemiennego komendą
:conf:volt:ac 10,0.00001
, następnie należy odpowiednio skonfigurować skaner do pomiaru na
kanale 8 komendą :rout:close (@8), wysłać komendę :read? i dokonać odczytu wartości napięcia
przemiennego.
Zadania dodatkowe:
1.
Zastanowić się, w jaki sposób można zoptymalizować kod programu, widoczny na
diagramie blokowym?
2.
Po wykonaniu zadania przekształcić diagram blokowy do zadania realizującego ciągły
pomiar napięcia.
Zadanie 4 – LabVIEW/ pomiar temperatury czujnikiem typu K
Celem zadania jest pomiar temperatury czujnikiem typu K w czasie rzeczywistym.
Rejestracja pomiarów powinna się rozpoczynać po naciśnięciu przycisku „Rozpocznij pomiary”.
Parametrami wyjściowymi są napięcie oraz temperatura. Do przeliczenia wartości napięcia na
wartości temperatury należy wykorzystać dedykowany bloczek „Romciob Volts to
temperature.vi” dostępny w katalogu „lab_osp_tcpip”. Zwrócić szczególną uwagę na wartości
parametrów „timeout”. Należy przetestować inne wartości. Jak wpływają na rezultat akwizycji
sygnału.
Zadania dodatkowe:
1.
Dołączyć do aplikacji funkcję rejestracji wykresu temperatury w czasie rzeczywistym.
2.
Dołączyć do aplikacji funkcję zapisu wartości temperatury do pliku.
Specyfikacja techniczna konwertera I-7188E3D:
Procesor i rodzaje pamięci
Procesor (CPU)
Pamięć SRAM
Pamięć FLASH
Pamięć EEPROM
Układ watchdog - timer
AMD 80188 40MHz
384 KB
512 KB
2 KB
Tak
Interfejsy komunikacyjne
COM1
COM2
COM3
Ethernet
RS-232 (sygnały: TXD, RXD, RTS, CTS, GND)
RS-485 (sygnały: D2+, D2-)
RS-422 (sygnały: TXD+, TXD-, RXD+, RXD-)
Standardy TCP/IP + 10BASE-T NE2000
Format ramek dla portów COM
Bity danych
Bity parzystości
Bity stopu
Baudrate
5 - 8
Parzystości (Even), Nieparzystości (Odd), brak
1 - 2
Max 115200 bps
Wejścia cyfrowe
Ilość wejść
Zakres napięciowy
4
+3.5V/DC to +30V/DC Max
Wyjścia cyfrowe
Ilość wyjść
Natężenie
Napięcie
4
100mA
+30V/DC
Wymiary
Długość x Szerokość x Wysokość
123mm x 72mm x 33mm
Dopuszczalne temperatury
W warunkach pracy
W warunkach magazynowania
-25°C to +75°C
-40°C to +80°C
Wyświetlacz
LED
Pięciocyfrowy, siedmiosegmentowy
Zasilanie
Zakres napięcia zasilającego
+10 to +30V/DC
Zużywana moc
Zabezpieczenie
3W
Zabezpieczenie przeciw złej polaryzacji
Sytem operacyjny – MiniOS7
Układ pinów podłączeniowych konwertera I-7188E3D-232:
Pin Nazwa Description
1
CTS1 COM1 CTS: gotowość przyjęcia danych
2
RTS1 COM1 RTS: gotowość wysyłania danych
3
RXD1 COM1 RXD: dane otrzymywane
4
TXD1 COM1 TXD: dane wysyłane
5
INIT* Pin aktywujący/dezaktywujący tryb RUN
6
D2+
COM2: Dane +
7
D2-
COM2: Dane -
8
VS+
Potencjał elektryczny dodatni (+10 to +30VDC nieregulowany)
9
GND Potencjał elektryczny ujemny (Masa)
10 CTS3 COM3 CTS: gotowość przyjęcia danych
11 RTS3 COM3 RTS: gotowość wysyłania danych
12 TXD3 COM3 TXD: dane wysyłane
13 RXD3 COM3 RXD: dane otrzymywane
14 DI0
Wejście cyfrowe, 3.5V ~ 30V, kanał 0
15 DI1
Wejście cyfrowe, 3.5V ~ 30V, kanał 1
16 DI2
Wejście cyfrowe, 3.5V ~ 30V, kanał 2
17 DI3
Wejście cyfrowe, 3.5V ~ 30V, kanał 3
18 GND Potencjał elektryczny ujemny (Masa)
19 PWR Potencjał elektryczny dodatni (+)
20 DO0
Wyjście cyfrowe, 100 mA, 30V max., kanał 0
21 DO1
Wyjście cyfrowe, 100 mA, 30V max., kanał 1
22 DO2
Wyjście cyfrowe, 100 mA, 30V max., kanał 2
23 DO3
Wyjście cyfrowe, 100 mA, 30V max., kanał 3
E1
Gniazdo ethernetowe na wtyczkę RJ-45