135
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 1 Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI Wykłady

Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Embed Size (px)

Citation preview

Page 1: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

1

Materiały dydaktyczne

Systemy automatyki okrętowej

Semestr VI

Wykłady

Page 2: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

2

Temat: Przetworniki analogowe / cyfrowe

Większość urządzeń pomiarowych lub rejestratorów sygnałów w systemach

pomiarowych kontaktujących się bezpośrednio z obiektami badań reaguje na oddziaływania

fizyczne (np. temperatura, napięcie elektryczne. itp.) zmieniające się w sposób ciągły

(nazywane sygnałami analogowymi). Aby te informacje mogły być wykorzystane przez

system komputerowy muszą być przetworzone w kodowane sygnały cyfrowe. Rolę tę

spełniają przetworniki analogowo-cyfrowe (A/C lub A/D).

Przetwornik analogowo / cyfrowy jest układ elektroniczny, który dokonuje konwersji

wartości wielkości analogowej (ciągłej) na wartość cyfrową - w określonych momentach

czasu (rys.1).

Kwantowanie i kodowanie

Rys. 1. Ilustracja operacji kwantowania i kodowania w przetworniku analogowo – cyfrowym: a - kwantowanie i

kodowanie, b – zmiany błędu kwantowania.

Page 3: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

3

Parametry przetworników cyfrowo/analogowych C/A

rozdzielczość N przetwornika (długość słowa kodowego),

zakres UFS przetwornika unipolarnego (wartość maksymalna),

krok kwantowania q,

NFSUq

2

błąd kwantowania (wartość szczytowa szumu kwantowania, jego wartość średnia

wynosi 0)

2q

Metody konwersji wartości analogowej na cyfrową stosowane w przetwornikach

analogowo – cyfrowych

Istnieją następujące metody:

konwersji bezpośredniej (równoległa),

prób i błędów (stochastyczne),

całkowe,

kolejnych przybliżeń (kompensacyjne).

Metoda konwersji bezpośredniej polega na klasyfikacji napięcia wejściowego do jednego z

2N przedziałów napięć i przypisaniu każdemu przedziałowi słowa kodowego. Jest to

przetwarzanie równoległe (równoczesne porównywanie sygnału wejściowego z

odpowiednimi częściami napięcia odniesienia), bardzo trudne do technicznej realizacji, bo

wymaga dużej liczby dokładnych komparatorów napięcia. Metoda ta jest stosowana w

przetwornikach o małej rozdzielczości, cechuje się krótkim czas konwersji – rzędu

kilkadziesiąt nanosekund, częstotliwość przetwarzania przekracza 5 MHz. Schemat układu

przedstawia rys. 2.

Page 4: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

4

Rys. 2. Przetwornik konwersji bezpośredniej (równoległego).

Tabela 1. Konwersja analogowo - cyfrowa w przetworniku trzybitowym

Uwe K7 K6 K5 K4 K3 K2 K1 K0 Binarny kod cyfrowy

refU810 0 0 0 0 0 0 0 0 000

refref UU82

81

0 0 0 0 0 0 0 1 001

refref UU83

82

0 0 0 0 0 0 1 1 010

refref UU84

83

0 0 0 0 0 1 1 1 011

refref UU85

84

0 0 0 0 1 1 1 1 100

refref UU86

85

0 0 0 1 1 1 1 1 101

refref UU87

86

0 0 1 1 1 1 1 1 110

refref UU88

87

0 1 1 1 1 1 1 1 111

Page 5: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

5

W N – bitowym przetworniku równoległym przetwarzane napięcie Uwe porównywane

jest jednocześnie za pomocą 2N – 1 komparatorów z częściami napięcia odniesienia Uref

wytworzonymi przy pomocy drabinki oporowej. Sygnały z komparatorów przetwarzane są w

konwerterze kodu na sygnał cyfrowy. Rys. 2. przedstawia zasadę pracy przetwornika

równoległego trzybitowego. Tabela 1 prezentuje sposób przyporządkowania słów kodowych

poszczególnym zakresom napięcia wejściowego. Przetworniki równoległe (bezpośrednie) są

najszybsze z wszystkich przetworników A/C, wymagają jednak rozbudowanego układu.

Metoda prób i błędów

klasyfikacja napięcia wejściowego do jednego z 2N przedziałów napięć,

porównanie metodą prób i błędów (np. napięcie zmienia się skokami o wartość Q od 0

V w kierunku wartości napięcia wejściowego),

poziomy napięcia potrzebne do porównania z napięciem przetwarzanym wytwarzane

są przez przetwornik C/A,

czas konwersji zależy od wartości napięcia wejściowego,

stosowana w przetwornikach o większej rozdzielczości,

długi czas konwersji – od kilku do kilkudziesięciu mikrosekund.

W przetworniku stochastycznym (rys.3) układ sterujący generuje losowo liczbę N – bitową,

która jest w przetworniku C/A przetwarzana na napięcie, które jest porównywane w

komparatorze K z napięciem przetwarzanym Uwe. Zależnie od wyniku porównania układ

sterowania generuje kolejną liczbę N – bitową (napięcia różne) lub sygnalizuje zakończenie

przetwarzania (napięcia równe).

Page 6: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

6

Rys. 3. Schemat blokowy N – bitowego stochastycznego przetwornika, działającego metodą prób i błędów.

Metody całkowe

- dwustopniowy proces konwersji

- krok 1. – przetworzenie napięcia wejściowego na wartość pośrednią (czas lub

częstotliwość)

- krok 2. – pomiar wartości pośredniej za pomocą dokładnych metod cyfrowych (na

zasadzie zliczania impulsów)

- wynik zliczania reprezentuje słowo kodowe odpowiadające napięciu wejściowemu

- długi czas konwersji – od kilku do kilkudziesięciu milisekund

- bardzo duża dokładność.

Metoda kolejnych przybliżeń (kompensacyjna)

Metoda ta składa się z następujących kroków:

porównanie napięcia przetwarzanego z N różnymi napięciami wzorcowymi z 2N

możliwych),

wybór kolejnego napięcia wzorcowego jest zależny od wyniku porównania w

poprzednim kroku,

w każdym kroku klasyfikacja sygnału przebiega z dwukrotnie wyższą dokładnością

(najstarszy bit ustalany jest poprzez porównanie napięcia wejściowego z napięciem

odpowiadającym połowie wartości przetwarzania),

pełny cykl przetwarzania obejmuje N porównań (dla przetwornika N-bitowego),

Page 7: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

7

czas konwersji wynosi od kilku do kilkudziesięciu mikrosekund.

W przetwornikach kompensacyjnych napięcie przetwarzane Uwe porównywane jest w

komparatorze K kolejno z szeregiem napięć wzorcowych, z których każde następne jest 2

razy mniejsze od poprzedniego. Jeżeli napięcie przetwarzane jest większe od wzorcowego,

napięcie wzorcowe jest od niego odejmowane i generowany jest stan 1, jeżeli jest mniejsze –

generowane jest 0. Z kolei porównanie następuje z napięciem wzorcowym dwukrotnie

mniejszym i generowany jest następny bit. Ilość porównań równa jest ilości bitów

przetwornika. Rys. 4 przedstawia 8 - bitowy schemat przetwornika kompensacyjnego A/C.

Rys. 4. Przetwornik kompensacyjny.

Metoda kolejnych przybliżeń (kompensacyjna) jest stosowana w przyrządach

wymagających dużej dokładności przetwarzania. Podstawowa trudność w ich budowie to

polega na generacji odpowiednio dokładnych napięć wzorcowych.

Rzeczywisty przetwornik A/C

Idealna charakterystyka przetworników A/C może być przedstawiona jako linia

schodkowa przyporządkowująca poszczególnym przedziałom przetwarzanego napięcia

wejściowego określony sygnał cyfrowy (słowo kodowe). Rzeczywiste przetworniki wykazują

odstępstwa od charakterystyki idealnej.

W rzeczywistych przetwornikach A/C mogą wystąpić następujące odstępstwa od

charakterystyki idealnej (rys. 5):

błąd zera - równoległe przesunięcie charakterystyki,

błąd wzmocnienia – zmiana nachylenia charakterystyki,

Page 8: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

8

błąd liniowości całkowitej – charakterystyka nie jest zbliżona do liniowej.

Rys. 5. Ilustracja definicji: a - błędu zera, b - błędu wzmocnienia, c - błędu liniowości całkowitej.

Przetworniki cyfrowo / analogowe C/A

W układach automatyki często zachodzi konieczność zmiany sygnału cyfrowego na

analogowy, np. w celu podania sygnału napięcia na element wykonawczy. Rolę tę spełniają

przetworniki cyfrowo – analogowe (C/A lub D/A).

Przetwornik cyfrowo / analogowy jest to układ elektroniczny, który na podstawie

wejściowego słowa binarnego kodowego A i analogowego sygnału odniesienia R (w postaci

napięcia odniesienia Uref lub prądu odniesienia Iref) wytwarza analogowy sygnał wyjściowy.

Do podstawowych parametrów przetwornika C/A należą:

rozdzielczość N przetwornika (długość słowa kodowego),

Page 9: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

9

zakres UFS przetwornika unipolarnego (wartość maksymalna),

krok kwantowania q (najmniejszy skok sygnału wyjściowego),

liczba poziomów (2N ) kwantowania sygnału wyjściowego.

Liczba bitów N Liczba poziomów kwantyzacji Max. błąd

kwantyzacji [%]

8 256 0,2

10 1024 0,05

12 4096 0,01

16 65536 0,0005

Cechy idealnego przetwornika C/A (rys. 6, rys. 7) :

- charakterystyka przejściowa jest funkcja nieciągłą

- sygnał wyjściowy (napięcie lub prąd) zmienia się skokami

- kształt idealnej charakterystyki przejściowej nie zależy od liczby bitów przetwornika

- nie występuje błąd kwantowania.

Rys. 6. Charakterystyka przejściowa unipolarnego przetwornika cyfrowo – analogowego.

Page 10: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

10

Rys. 7. Charakterystyka przejściowa bipolarnego przetwornika cyfrowo – analogowego.

Zasadę działania czterobitowego przetwornika cyfrowo-analogowego, działającego na

zasadzie sumowania prądów, przedstawiono na rysunku 8. Poszczególnym bitom liczby

zapisanej w rejestrze wejściowym (zawierającym słowo kodowe) są przyporządkowane prądy

na wejściu wzmacniacza proporcjonalne do wagi bitu.

Rys. 8. Przetwornik cyfrowo-analogowy: Uref – napięcie odniesienia, Uwy – analogowy sygnał wyjściowy, MSB

– najbardziej znaczący bit słowa kodowego, LSB – najmniej znaczący bit słowa kodowego.

Napięcia wyjściowe odpowiadające poszczególnym bitom są również proporcjonalne do wagi

bitu. Klucze podłączające oporniki do źródła napięcia odniesienia sterowane są sygnałem

cyfrowym. Napięcie wynikowe odpowiadające kombinacji bitów uzyskuje się w układzie

sumatora analogowego; jest ono sumą napięć odpowiadających poszczególnym bitom.

Przedstawiony przetwornik czterobitowy generuje 16 różnych poziomów napięcia o skoku A,

Page 11: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

11

zależnym od doboru Uref, R, oraz RS. Tabela 2 prezentuje sposób przyporządkowania

kolejnym słowom kodowym analogowej wartości wyjściowej.

Tabela 2. Konwersja cyfrowo – analogowa w przetworniku czterobitowym.

Wejście cyfrowe Wartość analogowego sygnału wyjściowego Uwy

0000 0

0001 A

RRU

oznS

ref

.

8

0010 A

RRU S

ref 24

0011 ARR

RU Sref 3)41

81(

... ...

1111 ARRRR

RU Sref 15)121

41

81(

Sygnałem wyjściowym w przetwornikach cyfrowo-analogowych jest prąd lub

napięcie. Przeciętne czasy działania przetwornika cyfrowo-analogowego wynoszą niecałą

mikrosekundę.

Rzeczywisty przetwornik C/A – odstępstwa od charakterystyki idealnej (rys.9).

błąd przesunięcia zera (rys. 9a)

błąd wzmocnienia (rys. 9b)

błąd nieliniowości (rys. 9c).

Page 12: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

12

Rys. 9. Błędy rzeczywistego przetwornika analogowo – cyfrowego.

Parametry przetworników A/D i D/A

Parametry przetworników A/D i D/A, charakteryzują:

Rozdzielczość: określa się ją jako liczbę bitów używaną przez przetwornik do reprezentacji

sygnału analogowego. Przetwornik n-bitowy dzieli sygnał analogowy na poziomów. Najmniej

znaczący bit przetwornika A/D n-bitowego na zakresie napięciowym [0, Umax] odpowiada

zmianie napięcia q=Umax/2n. Często podaje się ją też w procentach:

nq2

100%

%5,128

%1002

%1003 q dla przetwornika 3-bitowego

%,%% 25616

1002

1004 q dla przetwornika 4-bitowego

%,%,%% 100976501024100

2100

10 q dla przetwornika 10-bitowego

%,%,%% 02002441404096100

2100

12 q dla przetwornika 12-bitowego

Na rys. 10 przedstawiono charakterystykę 3-bitowego przetwornika A/D o ośmiu (23) stanach

wyjściowych. Poszczególnym stanom przyporządkowano kolejne słowa kodu dwójkowego,

naturalnego od 000 do 111.

Page 13: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

13

1/8 2/8 3/8 4/8 5/8 6/8 7/8 1

Syg wy

Syg we100%

111

110

101

100

011

010

001

000

q

Rys. 10. Charakterystyka przetwarzania idealnego 3-bitowego przetwornika A/D (n = 3)

Kondycjonowanie sygnału (pre-processing)

Celem kondycjonowania jest przygotowanie sygnału do przetwarzania A/C (zmiana

jego parametrów, usunięcie części informacji itp.)

identyfikacja głównych własności sygnału,

oszacowanie wartości średniej, minimalnej i maksymalnej (zakresu w dziedzinie

amplitudy),

oszacowanie zakresu częstotliwości harmonicznych tworzących sygnał,

kontrola stacjonarności sygnału,

wybór miar sygnału mających podlegać analizie,

dobór parametrów przetwornika A/C.

Post-processing

Celem post-processingu jest przygotowanie cyfrowego sygnału (uzyskanego z wyjścia

przetwornika A/C) do przechowywania oraz dalszej obróbki. Jest to między innymi:

wstępna kontrola poprawności przetwarzania A/C (kontrola przekroczeń zakresu,

kontrola stacjonarności),

eliminacja danych przypadkowych (określenie typowych parametrów sygnału, np.:

wartości średniej, odchylenia standardowego, przedziału ufności),

resampling (redukcja ilości danych (oszczędność pamięci, usunięcie części danych –

w pliku wynikowym pozostaje, jedynie co druga, co trzecia, ..., próbka). Należy

Page 14: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

14

jednak sprawdzić czy ta liczba próbek zapewnia wystarczającą dokładność

wyznaczanych miar statystycznych.

Literatura

1. Dag Stranneby, Cyfrowe przetwarzanie sygnałów. Metody, algorytmy, zastosowania,

Wydawnictwo BTC Warszawa 2004.

2. Steven W. Smith, Cyfrowe przetwarzanie sygnałów. Praktyczny poradnik dla

inżynierów i naukowców, Wydawnictwo BTC Warszawa 2007.

3. Rudy van de Plassche Scalone przetworniki analogowo-cyfrowe i cyfrowo-analogowe

Warszawa, WKiŁ, 2001.

Page 15: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

15

Temat: Struktura, własności i funkcje przykładowych, firmowych, zintegrowanych

systemów automatyzacji siłowni statku.

K-Chief 500 (firmy Kongsberg) jest obecnie standardowym, modułowym systemem

alarmowania, monitoringu i sterowania siłownią okrętową dla statków handlowych. Spełnia

rozszerzone wymagania bezpieczeństwa i niezawodności. Modułowa budowa umożliwia

elastyczną konfigurację w zależności od indywidualnych potrzeb począwszy od systemu o

małej złożoności do mocnego zintegrowanego systemu sterowania. Seria 500 może być

zainstalowana na różnych rodzajach jednostek pływających, takich jak:

masowce

kontenerowce

statki ro-ro

tankowce

promy

statki rybackie

Natomiast K-Chief 700 przeznaczony jest do zastosowań na jednostkach specjalistycznych

takich jak:

statki pasażerskie

super jachty

statki wiertnicze i FPSO (Floating Production, Storage and Offloading Unit)1

statki do przewozu płynnego gazu LNG (Liquefied Natural Gas) i LPG (Liquefied

Petroleum Gas)

statki obsługi i wsparcia pól naftowych

platformy wiertnicze

System K-Chief 500 wykorzystuje sieć CAN z podwójną magistralą do komunikacji między

modułami rozproszonymi. Każdy moduł jest przyłączony do dwóch odseparowanych

magistrali w celu uzyskania maksymalnej redundancji.

1 jednostka pływająca do wydobycia, składowania i przeładunku. Jej zadaniem jest wydobywanie, wstępne oczyszczenie, przechowywanie i przeładunek ropy naftowej i gazu ze złóż podmorskich.

Page 16: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

16

Na system K-Chief 500 składają się następujące główne komponenty:

Zbierania danych pomiarowych i ich przetwarzanie w czasie rzeczywistym dokonują zdalne

moduły sterujące RCU (Remote Controller Unit). Za pomocą niezależnej sieci komputerowej

K-Chief 500 może być zintegrowany z systemem zarządzania FleetMaster firmy Kongsberg.

Główne funkcje systemu K-Chief 500 to:

1. sygnalizacja i monitoring alarmów,

2. sterowanie mechanizmami pomocniczymi,

3. zarządzanie mocą na statku,

Stacja operatorska Zawiera komputer osobisty z monitorem kolorowym. Pozwala na dostęp do modułów rozproszonych.

Page 17: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

17

4. sterowanie napędem głównym,

5. automatyzacja balastów,

6. sterowanie i monitorowanie załadunku,

7. sterowanie klimatyzacją,

8. wykrywanie i sygnalizacja pożarów,

9. wsparcie zarządzania,

10. monitoring chłodni.

Wszystkie dane wyświetlane w dowolnej stacji obsługi są zawsze aktualne, a ruch na

magistrali danych i procesów w sieci lokalnej jest ograniczany do minimum, co daje bardzo

szybki dostęp do danych. Każdy alarm lub zdarzenie jest ze znacznikiem czasowym z

rozdzielczością 10 ms.

Diagramy mimiczne (mimics diagrams) zawierają zrozumiałe i łatwe do odczytu

informacje dotyczące silnika głównego (SG) i jego mechanizmów pomocniczych. Różnymi

obiektami siłowni można sterować bezpośrednio ze stacji operatorskich. Pełny monitoring i

urządzenia alarmowe występują zarówno w maszynowni jak i centrali manewrowo-kontrolnej

(CMK). Pomiary ze wszystkich punktów pomiarowych są rejestrowane przez ostatnie 24

godziny (trend krótki). W przypadku trendu długiego (100 dni z przedziałem próbkowania 20

minut) można wybrać do 100 punktów pomiarowych. Trend krótki i długi są prezentowane w

postaci diagramów trendu.

Każdy moduł rozproszony został zaprojektowany jako odporny na jednostkowe usterki

i posiada wewnętrzną trójprzewodową izolację galwaniczną między torami zasilania,

komunikacyjnymi i wejść/wyjść. W ten sposób uszkodzenie danego modułu rozproszonego

nie oddziałuje na źródło zasilania, magistralę komunikacyjną lub uszkodzenie czujników. K-

Chief 500 posiada wbudowany system detekcji uszkodzeń, który wykrywa usterki

okablowania, czy też uszkodzenia czujników. Wymiana uszkodzonego modułu nie wymaga

wyłączenia zasilania, a po wymianie nowy moduł jest automatycznie konfigurowany i zdatny

do pracy.

Page 18: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

18

Architektura systemu rozproszonego K-Chief 500

System K-Chief 500 (rys.1) bazuje na oprogramowaniu the DataChief C20. Tworzą go

stacje operatorskie i moduły wejść/wyjść połączone między sobą za pomocą lokalnej sieci

danych. Jest to system całkowicie mikroprocesorowy i zdecentralizowany z punktu widzenia

bezpieczeństwa, lecz praca na nim odbywa się jak na zcentralizowanym, a to dzięki

zastosowaniu lokalnych stacji operatorskich.

Sercem systemu są inteligentne moduły przetwarzające (Distributed Processing

Units), które realizują proces komunikacji (w sieci CAN (Control Area Network) i LAN

(Local Area Network) ) i wszystkie funkcje automatyzacji, podczas gdy stacje operatorskie

zapewniają tylko interfejs użytkownika (human machine interface). Stosuje się różne rodzaje

modułów w zależności od konkretnych ich zastosowań.

Wszystkie stacje operatorskie są przemysłowymi komputerami osobistymi

pracującymi w systemie operacyjnym Microsoft® Windows XP™ 32-bit i są połączone

zdublowaną redundantną siecią lokalną. Wszystkie stacje pracują zawsze równolegle, co

oznacza, że żadna z nich nie jest stacją (komputerem) nadrzędną (master) i chociaż wszystkie

są identyczne mogą być różnie skonfigurowane przez co osiąga się dostęp do różnych ich

funkcji. Niektóre stacje operatorskie są używane tylko do monitoringu, na przykład w biurze

pokładowym. Zmiany parametrów określonych urządzeń dokonane na jednej stacji

operatorskiej przenoszą się automatycznie ze znacznikiem czasowym na inne stacje

operatorskie. Poza tym dane na stacjach są odświeżane automatycznie. Dwie lub więcej stacji

operatorskich można skonfigurować jako redundantne. Stacje operatorskie mogą być

standardowymi konsolami dostarczanymi przez Kongsberg Maritime lub jako niezależne

elementy do pracy na biurku.

Page 19: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

19

Rys.1. Schemat K-Chief 500

Ostrzegawczy system wywoławczy (Watch Calling System, WCS) jest rozbudowanym

okrętowym systemem alarmowym. System monitoruje ładunek i alarmy w siłowni.

Dedykowane panele alarmowe są zlokalizowane w różnych miejscach na statku wyświetlając

alarmy i warunki ich powstania.

Rys.2. Ostrzegawczy system wywoławczy (może zawierać do 28 paneli wywoławczych połączonych siecią

CAN; panele są sterowane za pomocą stacji operatorskich; WBU Watch Bridge Unit).

Page 20: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

20

Sieć komputerowa w systemie K-Chief 500

System K-Chief 500 jest obsługiwany przez stacje operatorskie. Sygnały wejściowe i

wyjściowe do i z urządzeń polowych miedzy stacją operatorską i urządzeniami polowymi

przesyłane są za pomocą sieci LAN, CAN i liniami szeregowymi. Sieć LAN jest

wykorzystywana do komunikacji między stacjami operatorskimi i innymi urządzeniami

bazującymi na PC. Sieć CAN łączy rozproszone moduły. Sieć LAN jest otwartą, standardową

siecią Ethernet z protokołem TCP/IP, co umożliwia dołączanie dodatkowych komputerów

zewnętrznych, jak na przykład programów interfejsowych firmy Kongsberg Maritime.

CAN jest wysoce niezawodną magistralą procesową wykorzystywaną do komunikacji między

stacjami operatorskimi a modułami rozproszonymi. Sieć może być uzupełniona bramkami

(gateways) pozwalającymi na przykład na oddzielenie różnych sekcji alarmów i monitoringu.

Bramki te pozwalają też uczynić autonomicznymi podsystemy lokalne będące częścią całego

systemu zintegrowanego, na przykład sterowanie zaworami, pompami, zarządzanie mocą,

sterowanie napędem lub załadunkiem, etc. System bramek nie pogarsza jakości pracy całego

systemu K-Chief 500.

Komunikacja pomiędzy modułami rozproszonymi a urządzeniami polowymi odbywa

na bazie protokołów szeregowych RS-422 i RS-485.

W systemie zastosowano podwójną redundantną sieć procesową (co jest standardem we

wszystkich produktach Kongsberg Maritime). Własności sieci komputerowych są

następujące:

W obu sieciach przesyłane są identyczne informacje,

Uszkodzenie jednej sieci nie wpływa na działanie całego systemu,

Uszkodzenia jednej sieci nie powoduje wzrostu opóźnienia przesyłanych danych,

Ruch w sieci jest monitorowany na wszystkich stacjach operatorskich i alarmowany w

przypadku uszkodzenia elementu sieci.

Page 21: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

21

Zasilanie systemu K-Chief 500

System zasilany jest napięciem przemiennym 230 V (stacje operatorskie) i 24 V napięciem

stałym (moduły rozproszone). Zasilanie uzupełniają przełączalne zasilacze UPS

(Uninterruptible Power Supplies), podtrzymujące zasilanie przez 30 minut.

Midi Operator Stations (MOS)

Ważną rolę w systemie K-Chief 500 odgrywają stacje operatorskie typu midi (rys.3).

Rys.3. Stacja operatorska typu MIDI

Stacje operatorskie MIDI są stacjami operatorskimi ogólnego przeznaczenia, które mogą być

rozmieszczone w dowolnym miejscu na statku, a nawet poza pokładem. Sygnalizują alarmy,

sterownie procesem i zarządzanie mocą. Operacje na stacjach operatorskich przeprowadzane

są za pomocą klawiszy funkcyjnych i kolorowego wyświetlacza. Na stacji wyświetlane są

diagramy mimiczne sterowanych układów okrętowych.

Page 22: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

22

Własności modułów rozproszonych

Widok jednego z modułów rozproszonych przedstawia rys.4.

Rys.4. Moduł systemu rozproszonego

Własności modułów rozproszonych:

Każdy moduł zawiera własny mikroprocesor,

Możliwość zdalnego konfigurowania każdego modułu,

Dioda sygnalizacyjna wielofunkcyjna (watch dog, uruchomienie, informacje ogólne,

inicjacja modułu, polaryzacja napięcia) na obudowie,

Trójdrożna izolacja między I/O a zasilaniem, I/O a szyną procesową i między zasilaniem a szyną procesową,

Tylko jedna płytka drukowana (stąd zwiększona odporność na drgania i wstrząsy),

Łatwa wymiana płytki drukowanej bez konieczności ponownego ustawiania

przełączników, gniazd, itp.

Brak wewnętrznych części serwisowych,

Wszystkie połączenia są rozłączalne,

Beznapięciowa pamięć,

Synchronizacja czasowa,

Podwójny interfejs magistrali CAN,

Możliwość wgrywania oprogramowania (software download),

Page 23: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

23

Wbudowany monitoring temperatury, zasilania i przeciążenia czujnika (Built In Self-

Test (BIST)),

Zapamiętywanie wszystkich parametrów w każdym module,

Interfejs użytkownika - Human machine interface (HMI)

HMI odgrywa bardzo ważną rolę dlatego, że umożliwia efektywną i bezpieczną pracę w

systemie pomagając operatorowi podejmować optymalne decyzje i zredukować ryzyko

błędów człowieka. W projektowaniu HMI kładzie się nacisk na operacje logiczne, efektywną

prezentację odpowiednich informacji i przyjazność interfejsu dla użytkownika. Standardowy

hardware’owy interfejs K-Chief 500 zawiera następujące części:

Monitory typu kolor,

Panele operatorskie z klawiaturą i manipulatorem kulowym,

Opcjonalny ekran dotykowy,

Wykonywane operacje są kompatybilne z przeprowadzanymi w systemie Windows.

Wyświetlane obrazy w systemie K-Chief 500

W systemie K-Chief 500 wyświetlane są następujące typy obrazów:

Obrazy procesów - graficzna prezentacja obsługiwanego procesu (rys.5.).

Page 24: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

24

Rys.5. Graficzna prezentacja systemu napędowego

Obraz listy – lista urządzeń w danym układzie automatyzacji,

Rys.6. Lista w systemie K-Chief 500

Obraz trendów – krótko lub długoterminowych,

Page 25: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

25

Rys.7. Okno trendów

Lista zdarzeń – analogicznie jak na rys.6.

Obraz konfiguracyjny pokazuje aktualny status automatyzowanego systemu.

Podgląd dla nawigatora jest obrazem na ekranie dotykowym (Touch Control Panel). Daje

on dostęp do wszystkich wyświetlanych układów automatyzacji. Może on być widoczny

także na stacji operatorskiej.

Podgląd informacji o statku

Pakiet ShipViewer może być zainstalowany na dowolnym komputerze PC, który może być

dołączony do systemu K-Chief 500. Program ten umożliwia podgląd tych samych informacji

co na stacjach operatorskich (rys.8).

Page 26: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

26

Rys. 8. Rozbudowany system K-Chief 500

Literatura

Materiały firmowe ze stron internetowych.

Page 27: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

27

Temat: Standardowe interfejsy szeregowe

Do najbardziej znanych interfejsów komunikacji szeregowej należą: RS-232, RS-

232C (V.24), RS-422, (RS-422A), RS-423, RS-485. Są one stosowane w prostych układach

pomiarowych, regulatorach, komputerach i cechują się małą prędkością transmisji danych, ale

pozwalają na budowę systemów pomiarowych i sterujących rozłożonych na dużej przestrzeni.

Zasada pracy takiego interfejsu polega na tym, że blok danych (bajt) jest wpisywany do

rejestru przesuwnego i bit po bicie transmitowany zgodnie z taktami zegara nadajnika

(zakłada się, że zarówno nadajnik jak i odbiornik są taktowane z tą samą częstotliwością).

Transmisja szeregowa oznacza, że dane są przesyłane bit po bicie. W celu zapewnienia

poprawności transmisji stosowane są dwie metody koordynacji transmisji informacji:

transmisja synchroniczna, która polega na nadawaniu i odbieraniu poszczególnych

bloków danych poprzedzonych oddzielnym sygnałem synchronizującym nadajnik i

odbiornik. Transmisja synchroniczna jest stosowana rzadko;

transmisja asynchroniczna, która polega na tym, że przed i po każdym transmitowanym

znaku (zwykle jest to 1 bajt tj. 8 bitów) występuje bit startu oraz bit stopu. Format

przesyłania danych w transmisji asynchronicznej obejmuje bit startu, bity danych, bit

kontrolny (opcjonalnie) i bity stopu. Innymi słowy każdy przesyłany bajt jest

traktowany niezależnie i zawiera jeden lub więcej bitów synchronizacji; w ramach bajtu

poszczególne bity są przesyłane synchronicznie – zgodnie z taktami zegara nadajnika.

Bit kontrolny pełni najczęściej funkcję kontroli parzystości, która polega na

sprawdzeniu liczby jedynek w polu danych i ustawieniu bitu kontrolnego na logiczną

„1” w przypadku nieparzystej liczby jedynek lub na logiczne „0” w przypadku parzystej

liczby jedynek. W przypadku transmisji danych w obecności bardzo silnych zakłóceń

stosowane są inne środki kontroli błędów, np. metoda sumy kontrolnej lub metoda

cyklicznego sprawdzania redundancji – Cyclic Redundancy Check-sum, CRC). W tym

ostatnim przypadku transmitowane dane są traktowane jako „wielomian danych” D(x),

który jest dzielony przez określony z góry „wielomian generujący” G(x) dając w

wyniku „wielomian ilorazu” Q(x) i resztę R(x):

Page 28: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

28

D(x)/G(x)=Q(x)+R(x)

Wielomian R(x) nazywa się CRC i przedstawia dane 16 lub 8 bitowe. Odbiornik używa

identycznego „wielomianu generującego” G(x) w celu odtworzenia R’(x). Jeśli R(x)=R’(x) to

odbiornik wysyła sygnał: potwierdzenie pozytywne transmisji (ACK). Negatywny wynik

porównania jest sygnalizowany negatywnym potwierdzeniem (NAK), które powoduje

powtórzenie transmisji.

Podstawową zaletą transmisji szeregowej jest możliwość stosowania tanich kabli o bardzo

małej liczbie przewodów (dwa, trzy), co umożliwia tworzenie systemów rozłożonych na

dużej przestrzeni.

Interfejs RS-232C

Standard RS-232 (Recommended Standard) został zdefiniowany w 1962 roku przez

Electronic Industry Association (EIA) jako interfejs umożliwiający współpracę terminala

(ekran z klawiaturą lub komputer pracujący w sieci) z modemem (urządzenie do przesyłania

danych na duże odległości). Zmodernizowaną w 1969 roku wersję standardu RS-232

nazwano RS-232C. Standard ten określa szeregowy sposób transmisji danych na niedużych

odległościach między terminalem (DTE, Data Terminal Equipment) a modemem (DCE, Data

Communication Equipment).

Interfejs RS-232C stanowi najczęściej 25-stykowe lub 9-stykowe złącze szufladkowe DB-

25 (rys. 3.9) lub DB-9 (rys. 3.10).

Rys. 3.9. Interfejs RS-232C – 25-stykowe złącze typu DB-25

Rys. 3.10. Interfejs RS-232C – 9-stykowe złącze typu DB-9

Page 29: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

29

W komputerze PC złącze szeregowe RS-232C może służyć np. do podłączenia myszki lub

modemu i jest 25-cio wtykowym gniazdem typu męskiego (z igłami). Opis końcówek interfejsu

RS-232C przedstawia tabela 3.1.

W magistrali interfejsu RS-232C można wyróżnić następujące grupy linii:

linie danych,

linie sterujące,

linie synchronizacji,

linie masy.

Linie danych. W dwukierunkowym przesyłaniu danych wykorzystywane są 4 linie. Linie

(TxD i RxD) tworzą kanał podstawowy; linie STxD i SRxD – kanał powrotny, który nie

zawsze jest wykorzystywany.

Linie sterujące. Są to linie przekazujące sygnały gotowości urządzeń do pracy (DSR, DTR)

oraz sygnały gotowości do transmisji (RTS, CTS).

Linie synchronizacji. Po liniach danych przesyłanie informacji może być – jak wiadomo –

realizowane synchronicznie lub asynchronicznie. Linie synchronizacji są wykorzystywane w

transmisji synchronicznej jako tzw. linie podstawy czasu, którymi przesyłane są sygnały

zegarowe. W RS-232C istnieją trzy linie tego typu: DA (styk nr 24), DB (styk nr 15), DD

(styk nr 17).

Page 30: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

30

Tabela 3.1

Złącze Najczęściej używane:

25-

styk.

9-

styk.

Oznaczeni

e

Opis

1 PG masa ochronna

2 3 TxD dane nadawane (przesyłane) przez DCE

3 2 RxD dane odbierane przez DCE

4 7 RTS żądanie nadawania przez DTE

5 8 CTS gotowość do nadawania przez DCE

6 6 DCE gotowość do pracy DCE

7 5 SG

(GND)

masa sygnałowa

8 1 DCD śledzenie poziomu sygnału odbieranego przez

DCE

9 – zarezerwowane dla celów diagnostycznych

10 – zarezerwowane dla celów diagnostycznych

11 nie wykorzystany

12 SRLSD poziom sygnału odbieranego w kanale

powrotnym DCE

13 SCTS gotowość kanału powrotnego DCE

14 STxD dane nadawane w kanale powrotnym DTE

15 podstawa czasu z DCE dla nadawanych

elementów

16 SRxD dane odbierane w kanale powrotnynm DCE

17 podstawa czasu wytwarzana w DCE

18 nie wykorzystany

19 SRTS żądanie nadawania w kanale powrotnym DTE

20 4 DTR gotowość DTE (terminala)

Page 31: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

31

Złącze Najczęściej używane:

21 SOD jakość sygnału odbieranego przez DCE

22 9 RI wskaźnik wywołania DCE

23 wybór szybkości transmisji przez DTE

24 podstawa czasu z DTE dla elementów

nadawanych

25 nie wykorzystany

Uwaga: Część linii jest niewykorzystana przy bezpośredniej współpracy komputer-terminal.

Linie masy. W RS-232C występują dwie masy:

na styku 1, tzw. masa ochronna, oznaczona jako PG (Protective Ground); jest to masa

zabezpieczająca połączona z obudową urządzenia;

na styku 7, tzw. masa sygnałowa, oznaczona jako SG (Signal Ground) lub GND;

stanowi ona odniesienie do wszystkich pozostałych sygnałów interfejsu.

Parametry elektryczne interfejsu RS-232C. Na liniach danych obowiązuje logika ujemna

(sygnały danych są aktywne w stanie niskim) oraz następujące poziomy UL sygnałów:

logiczna „1”: –15 V UL –3V

logiczne „0”: +3 V UL +15 V

Na liniach sterujących i synchronizacji obowiązuje logika dodatnia (sygnały danych są

aktywne w stanie wysokim) oraz następujące poziomy napięć UL sygnałów:

logiczna „1”: +3 V UL +15 V

logiczne „0”: –15 V UL –3V

Zakres napięć –3 V UL +3 V nie określa jednoznacznie stanu obwodu, jednak dla linii

RTS, DSR i SRTS napięcie to jest interpretowane jako logiczne „0”. Dzięki przyjęciu takich

poziomów sygnałów (dużej rozpiętości między dwoma poziomami logicznymi) transmisja

danych jest bardzo odporna na zakłócenia, nawet przy zastosowaniu nie ekranowanych

przewodów.

Page 32: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

32

Sposoby przesyłania danych. W transmisji szeregowej występują trzy tryby przesyłania

danych:

simpleks, czyli transmisja jednokierunkowa między dwoma urządzeniami;

półdupleks, czyli transmisja dwukierunkowa niejednoczesna po jednej linii

transmisyjnej;

dupleks, czyli transmisja dwukierunkowa jednoczesna polegająca na jednoczesnym

nadawaniu w obu kierunkach.

Łączenie urządzeń z interfejsem RS-232C

Standard RS-232C określa sposób łączenia urządzenia typu DTE (terminal, komputer) z

urządzeniem typu DCE (modem) oraz umożliwia połączenie dwóch dowolnych urządzeń

(komputer-przyrząd pomiarowy, komputer-komputer) bez pośrednictwa modemu. Wtedy

każde z dwóch łączonych urządzeń może być traktowane jako DTE. Punktem wyjścia przy

konstruowaniu połączeń tego typu jest założenie, że każde z urządzeń DTE musi „widzieć”

drugie urządzenie jako DCE. Zadanie połączenia dwóch dowolnych urządzeń polega na takim

połączeniu wyprowadzeń złącz RS-232C, aby urządzenie pierwsze „widziało” drugie jako

modem i odwrotnie, a kabel do takiego połączenia nazywa się kablem modemu zerowego

rzędu (null-modem). Długość przewodu łączącego nie powinna przekraczać 15 m.

Wydłużenie przewodu skutkuje zwiększeniem wrażliwości na zakłócenia, czyli zwiększeniem

liczby błędów transmisji danych. Zasięg interfejsu RS-232C może być zwiększony przez

zastosowanie pętli prądowej 0 – 20 mA, która umożliwia zwiększenie zasięgu do 1500 m i

tych samych prędkościach transmisji jak dla RS-232C.

Schemat obwodu interfejsu RS-232C przedstawia rysunek 3.11.

Rys. 3.11. Połączenie nadajnika N i odbiornika O w standardzie RS-232C (transmisja niesymetryczna – po

jednym kablu)

ON

12 V12 V

Page 33: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

33

Wady interfejsu RS-232C

Do wad RS-232C należą:

brak dobrych zabezpieczeń przed zakłóceniami,

ograniczona szybkość transmisji (od 1200 do 19200 bit/s),

ograniczona odległość transmisji (maksymalnie 15 m),

nadajnik można połączyć tylko z jednym odbiornikiem.

Maksymalna szybkość transmisji w standardzie RS 232C wynosi 20 kbitów/s; maksymalna

długość przewodów: 15 m; czułość odbiornika: 3 V; minimalna rezystancja obciążenia

nadajnika: 300 ; rezystancja wyjściowa nadajnika: 120 k; rezystancja wejściowa

odbiornika: od 3 do 7 k.

Interfejs RS-422

Schemat obwodu interfejsu RS-422 przedstawia rysunek 3.12.

Standard RS-422 (obok RS-485) jest obecnie bardzo często stosowany w regulatorach,

sterownikach PLC i do transmisji danych z komputera do odległych stacji. Został on

zaprojektowany w 1965 r. Jak widać z rysunku 3.12 nadajnik ma wejście różnicowe na

poziomie 2 ... 5 V, zrównoważony tor przesyłowy (tzn., że obydwa przewody oraz

dołączone do nich obwody nadajnika i odbiornika mają taką samą impedancję w odniesieniu

do masy, jak i do innych przewodów) oraz odbiornik o róznicowym obwodzie wejściowym.

Napięcie zasilające wynosi 5 V. Przy zastosowaniu tego interfejsu możliwe są do uzyskania

następujące prędkości transmisji sygnałów i zasięgi: 100 kbit/s*) – 1500 m,

1 Mbit/s**) – 150 m, 10 Mbit/s – 30 m.

*) 1 KBIT/S = 125 B/S (BAJTÓW/S). **) 1 MBIT/S 122 KB/S (KILOBAJTÓW/S).

Page 34: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

34

Rys. 3.12. Połączenie nadajnika N i odbiorników O1 i O2 w standardzie RS-422

Interfejs RS-423

Interfejs RS-423 stanowi zmodyfikowaną (1965 r.) wersję interfejsu opisanego poprzednio

interfejsu RS-232C. RS-423 posiada następujące cechy:

odbiornik ma wejście różnicowe, co przyczynia się do eliminacji wpływu napięć

pasożytniczych i przesłuchów pomiędzy liniami. Zastosowanie wejścia różnicowego

powoduje, że odbiornik reaguje na małe zmiany napięcia (od 200 mV do 6 V), a nie na

10 V jak w interfejsie RS-232C.

maksymalny zasięg transmisji dochodzi do 1200 m przy prędkości 3 kbit/s; 30 m przy

prędkości 100 kbit/s;

do nadajnika można przyłączyć 10 odbiorników.

Schemat obwodu interfejsu RS-423 przedstawia rysunek 3.13.

Rys. 3.13. Połączenie nadajnika N i odbiornika O w standardzie RS-423

Interfejs RS-485

Standard RS-485 jest zmodyfikowaną (1983 r.) wersją interfejsu RS-422 (RS-422A).

Umożliwia on dołączanie wielu nadajników (32) i odbiorników (32) do jednej linii

transmisyjnej (rys. 3.14). Nadajniki, które są nieaktywne przechodzą w stan odcięcia. Interfejs

RS-485 stosowany we wszystkich nowoczesnych regulatorach, w przemysłowych sieciach

sterująco-pomiarowych CAN, PROFIBUS, ADAM (Advantech).

O2

O1

N

5 V

5 V

ON

12 V12 V

Page 35: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

35

Wymagane parametry nadajników:

każdy nadajnik powinien zapewnić różnicowe napięcie wyjściowe od –1,5 V do 5 V;

nadajniki powinny być trójstanowe – w danej chwili może nadawać tylko jeden z nich.

Wymagane parametry odbiorników:

duża rezystancja wejściowa (minimum 12 k);

zakres napięcia wejściowego odbiornika: od –7 V do 12 V;

czułość wejścia różnicowego – 200 mV;

urządzenia standardu RS-485 można łączyć z urządzeniami RS-422;

obciążenia mogą się składać z nadajników i/lub odbiorników (z wyłączeniem oporów

dopasowujących).

R R

N N O O

Nadajnik/Odbiornik Rys. 3.14. Schemat połączeń w standardzie RS-485 (transmisja symetryczna)

O – odbiornik; N – nadajnik; R – opór dopasowujący (60 )

Maksymalna szybkość transmisji w standardzie RS 485 wynosi 10 Mbitów/s; maksymalna

długość przewodów: 1200 m; czułość odbiornika: 200 mV; minimalna rezystancja

obciążenia nadajnika: 60 ; rezystancja wyjściowa nadajnika: 120 k; rezystancja wejściowa

odbiornika: 12 k.

W czasie szeregowej transmisji danych występują następujące efekty:

Tłumienie sygnałów, które można kompensować za pomocą regeneratorów

sygnałów

Ograniczenie pasma przenoszenia, którego wielkość zależy od zastosowanego

medium transmisyjnego (skrętka, kabel koncentryczny, światłowód),

Page 36: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

36

Występowanie zakłóceń takich jak :różne potencjały masy nadajnika i odbiornika,

szumy pomiarowe;

Magistrala USB

USB (Universal Serial Bus), czyli uniwersalna magistrala szeregowa została opracowana w

roku 1994 przez firmy Microsoft, Intel, Compaq, IBM i DEC. Jest to sprzętowy port

komunikacyjny komputerów, który zastąpił stare porty szeregowe i porty równoległe. Poprzez

ten port mogą być dołączane do komputera PC różne urządzenia (np. dyski zewnętrzne,

dodatkowa klawiatura, sterowniki programowalne, roboty, itp.). Port ten ma własności

plug&play, plug&operate co oznacza automatyczne wykrywanie i rozpoznawanie przez

system operacyjny dołączonego urządzenia i instalację jego sterowników, a następnie

uruchomienie. Większość współczesnych systemów operacyjnych obsługuje złącze USB.

Można wyróżnić trzy grupy portów USB:

USB 1.1 – zakres prędkości pracy zawiera się w przedziale od 1,5Mbit/s

(0,1875MB/s) do 12Mbit/s (1,5MB/s),

USB 2.0 - maksymalna prędkość przesyłu danych wynosi 480Mbit/s tj. 60 MB/s,

USB 3.0 - maksymalna prędkość przesyłu danych wynosi 4,8 Gb/s (600 MB/s).

Rys. Widok kabla USB 2.0

Transmisja odbywa się przy wykorzystaniu dwóch przewodów (zielonego Data+ i białego

Data-). Magistrala zawiera również linię zasilającą (czerwony (+5V dc) i czarny o napięciu

5 V i maksymalnym poborze prądu 0,5 A. W starszych płytach głównych występuje zamiast

czterech pięć styków dla każdego gniazda USB; piąty styk należy wówczas połączyć z

czarnym przewodem GND płytki z gniazdem.

Page 37: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

37

Niekiedy można spotkać się z następującymi kolorami przewodów: niebieski, pomarańczowy,

zielony, biały. Wówczas kolor biały odpowiada czerwonemu (na rysunku jest to przewód nr

1), zielony - biały albo żółty (na rysunku jest to przewód nr 2), pomarańczowy - zielony (na

rysunku jest to przewód nr 3), niebieski - czarny (na rysunku jest to przewód nr 4). W

niektórych przypadkach przewód czarny (na rysunku oznaczony jako nr 4.) znaczony jest

kolorem białym, natomiast kolor biały (przewód nr 2 na rysunku) bywa zastępowany

niebieskim.

Komunikacja urządzeń z USB oparta na tzw. potokach (pipes), czyli kanałach logicznych

(logical channels). Potok jest połączeniem między kontrolerem hosta (tj. komputerem

macierzystym do którego urządzenie jest dołączane) a urządzeniem traktowanym jako

jednostka logiczna i nazywaną punktem końcowym (endpoint). Potok jest formowany tylko w

trakcie zaistnienia połączenia między hostem a urządzeniem. Urządzenie USB może mieć do

32 aktywnych potoków: 16 wejściowych do kontolera hosta i 16 wyjściowych z kontrolera

hosta.

Standardowe interfejsy równoległe

W interfejsach równoległych 8-, 16- lub 32-bitowy blok danych jest wpisywany do rejestru

wejścia /wyjścia nadajnika i w całości transmitowany do/z odbiornika. Umożliwia to znaczne

przyspieszenie transmisji danych w porównaniu do transmisji szeregowej. Przykładowe

interfejsy równoległe: VXI (MXI), GPIB, CENTRONICS.

Historia interfejsu VXI (VMEbus eXtension for Instrumentation) sięga roku 1985. Łączy on

zalety powstałego w latach siedemdziesiątych innego interfejsu IEC-625 (prostota,

elastyczność, łatwość programowania) z szybkością interfejsu VME zaprojektowanego w

1982 roku przez firmę Motorola. Elementy interfejsu VXI tworzy płyta główna (backplane)

do której montowane są moduły (karty) z elementami elektronicznymi oraz karty

pomocnicze. Płyta montowana jest w odpowiednio zaprojektowanej obudowie (kasecie),

która zawiera także układy dodatkowe (zasilania, chłodzenia, przeciwzakłóceniowe). Interfejs

VXI zawiera trzy magistrale:

Page 38: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

38

magistralę ogólnego przeznaczenia; jest ona dostępna dla każdego urządzenia

zainstalowanego w systemie; w magistrali tej są 4 szyny;

magistralę specjalną, która zawiera 3 szyny;

magistralę wydzieloną służąca do łączności pomiędzy sąsiednimi modułami.

W pełnym systemie VXI może być zainstalowanych maksymalnie 256 urządzeń. Interfejs

VXI może być sterowany dwoma sposobami:

za pomocą komputera zewnętrznego; szybkość transmisji pomiędzy VXI a komputerem

wynosi maksymalnie 1 MB/s;

za pomocą komputera modułowego zainstalowanego bezpośrednio w obudowie VXI; w

tym przypadku szybkość transmisji wynosi ok. 40 Mb/s.

Interfejs GPIB (General Purpose Interface Bus) jest odmianą innego bardzo popularnego

standardu sprzęgania aparatury kontrolno-pomiarowej i informatycznej, którego europejskim

odpowiednikiem jest IEC-625, a amerykańskim IEEE-488. Podstawą działania systemu

pomiarowego pracującego w tym standardzie jest magistrala cyfrowa umożliwiająca

bezpośrednią współpracę dowolnej pary urządzeń lub też przesyłanie informacji do wielu

urządzeń równocześnie. Komunikacja w systemie IEC-625 odbywa się za pomocą nadawania

i odbierania komunikatów (adresów, rozkazów, danych) lokalnych, czyli wewnętrznych

przesyłanych w urządzeniu oraz zdalnych, czyli zewnętrznych (magistralowych) przesyłanych

pomiędzy różnymi urządzeniami. Komunikaty są reprezentowane wartościami logicznymi

prawda lub fałsz. Maksymalna szybkość transmisji wynosi 1MB/s. Liczba urządzeń

bezpośrednio dołączonych do magistrali IEC-625 może wynosić 15. Zwiększenie liczby

dołączonych urządzeń (do 28) można uzyskać przez zastosowanie tzw. ekspandera.

Kaskadowe połączenie ekspanderów powiększa liczbę dołączonych urządzeń. Standardowy

zasięg IEC-625 wynosi 20 m. Zasięg ten może być zwiększony przez wykorzystanie linii

telefonicznej z modemami lub sieci komputerowych opartych na protokole TCP/IP. W IEC-

625 urządzenia dołączone są równolegle do magistrali składającej się z 16 linii sygnałowych

(8 linii danych, 3 linie synchronizacji, 5 linii sterujących) oraz 9 linii masy.

Interfejs CENTRONICS jest powszechnie wykorzystywanym standardem do równoległego

przesyłania informacji pomiędzy komputerem a drukarką.

Page 39: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

39

Literatura

1. Mielczarek W., Szeregowe interfejsy cyfrowe, Helion, Gliwice 1993.

2. Daniluk A. RS 232C: praktyczne programowanie: od Pascala i C++ do Delphi i

Buildera, Gliwice: Helion, 2007.

3. Brzózka J., Regulatory cyfrowe w automatyce, MIKOM, Warszawa 2002.

Page 40: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

40

Temat: Kwantowanie, próbkowanie, aliasing

Układami dyskretnymi regulacji automatycznej nazywa się układy, w których

informacja jest przekazywana za pomocą sygnałów dyskretnych (nieciągłych), które mogą

być dyskretne w poziomie (rys.1a) lub dyskretne w czasie (rys.1b).

t t

a) b)

Rys.1. Dyskretyzacja sygnału: a – w poziomie (kwantowanie); b – w pionie (dyskretyzacja, próbkowanie,

kwantowanie w czasie)

Próbkowanie polega na tym, że w ustalonych odstępach czasu (w chwilach

impulsowania) mierzy się wartość chwilową sygnału i na jej podstawie tworzy są tzw. próbki

(samples). Sygnał przekształcony do postaci spróbkowanej nazywa się sygnałem dyskretnym.

Próbkowanie jest to więc zamiana sygnału ciągłego na dyskretny (konwersja w dziedzinie

czasu).

Dyskretyzację sygnału w poziomie wykonuje w MATLAB-ie/Simulinku blok quantizer, a w

pionie (z podtrzymaniem wartości) blok ZOH. rys.2 ilustruje działanie tych bloków, dla

sygnału liniowo narastającego.

a)

Page 41: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

41

b)

c)

d)

Rys.2. Porównanie działania bloków quantizer i ZOH: a – schemat blokowy; b – sygnał wejściowy; c – sygnał

wyjściowy z quantizera; d – sygnał wyjściowy z bloku ZOH

Minimalną pulsację (ωs) z jaką powinien być próbkowany sygnał analogowy, aby można było

go odtworzyć z sygnału impulsowego określa twierdzenie o próbkowaniu Shannona-

Kotielnikowa2.

Sygnał ciągły mający widmo ograniczone w przedziale [–w, w] można jednoznacznie

odtworzyć na podstawie jego wartości chwilowych, wtedy gdy pulsacja próbkowania s jest

nie mniejsza niż 2w:

ws 2

lub

ws ff 2

Twierdzenie to określa więc z jaką minimalną pulsacją (częstotliwością) powinien być

próbkowany sygnał ciągły, aby mógł być odtworzony z sygnału impulsowego.

2 NAD TYM TWIERDZENIEM PRACOWALI DWAJ NAUKOWCY W ZUPEŁNEJ OD SIEBIE SEPARACJI –

KOTELNIKOW I SHANNON. OBAJ DOSZLI DO TYCH SAMYCH WNIOSKÓW, A TWIERDZENIE JEST ZAMIENNIE

NAZYWANE ICH NAZWISKAMI. CLAUDE ELWOOD SHANNON (1916 - 2001) - AMERYKAŃSKI MATEMATYK I

INŻYNIER, PROFESOR MIT (MASSACHUSETTS INSTITUTE OF TECHNOLOGY)

Page 42: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

42

W twierdzeniu Shannona założono, że widmo sygnału ciągłego jest ograniczone do pulsacji

w. Jednak w praktyce sygnał ciągły zawiera zawsze częstości wyższe niż w. Wynika stąd,

że pulsacja próbkowania powinna być większa niż wynikająca z twierdzenia Shannona (s

20b, gdzie b jest pasmem przepustowości układu zamkniętego – rys. 3), tzn.

b = w

)10(2 ws

Rys.3. Ilustracja pasma przepustowości b zamkniętego układu regulacji

Jeżeli ws ff 2 to sygnał spróbkowany wykazuje fałszywą charakterystykę w dziedzinie

częstotliwości, a zjawisko takie nosi nazwę zjawiska aliasingu (maskowania).

Kwantowanie polega na przyporządkowaniu jednakowych wartości sygnału pomiędzy

dwoma różnymi wartościami sygnałów impulsowych (rys.4).

Kwantowanie jest to więc zamiana sygnału analogowego na cyfrowy (konwersja w dziedzinie

amplitudy). e(i)

t

Ts Rys.4. Sygnał e(i) po wykonaniu operacji kwantowania (Ts – okres próbkowania)

Page 43: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

43

Szacowanie okresu próbkowania

Poprawne wyznaczenie okresu próbkowania Ts jest ważne z następujących względów:

zbyt duży okres próbkowania Ts prowadzi do naruszenia wymagań twierdzenia

Shannona-Kotielnikowa i nie pozwala rekonstruować sygnału ciągłego z sygnału

dyskretnego;

zbyt krótki okres próbkowania Ts zwiększa obciążenie obliczeniowe procesora

prowadząc do zwiększenia kosztów sprzętu (i oprogramowania), którego cena rośnie

wraz ze wzrostem częstotliwości próbkowania sTsf 1 ;

okres próbkowania jest jednym z nastawianych parametrów w dyskretnych układach

regulacji automatycznej od którego zależy jakość procesu regulacji dyskretnej;

jeżeli transmitancja układu ciągłego ma zera (miejsca zerowe licznika) dodatnie (układ

jest nieminimalnofazowy), to przez odpowiedni dobór Ts można uzyskać, że układ

dyskretny będzie minimalnofazowy (zera znajdą się wewnątrz koła jednostkowego);

niewłaściwy dobór Ts powoduje, że powstają oscylacje ukryte. Tworzą się one wtedy,

gdy zachodzi znoszenie się zer i biegunów transmitancji dyskretnej;

Wybór okresu próbkowania ściśle zależy od przeznaczenia układu regulacji lub

sterowania. W tabeli 1 zestawiono zalecane przedziały okresów próbkowania.

Tabela 1

Czas/częstotliwo

ść próbkowania

Przetwarzanie ciągłe Przetwarzanie

sterowane

zdarzeniami

10 – 500 s

(2 kHz - 0,1

MHz)

Dokładne sterowanie i modelowanie, układy

elektryczne; sieci energetyczne; precyzyjnie

sterujące roboty

Interfejs człowiek –

maszyna

0,5 – 20 ms

(50 Hz – 2 kHz)

Stabilizacja systemów mocy, symulatory lotu,

treningowe, samochody

Sterowanie

systemami

Page 44: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

44

wysokiego poziomu

10 – 100 ms

(10 Hz – 100

Hz)

Przetwarzanie obrazów, rzeczywistość wirtualna,

sztuczne widzenie, wolne czynności zdalne

telekomunikacja

0,5 – 1 sec

(1 Hz – 2 Hz)

Monitorowanie i sterowanie obiektów; procesy

chemiczne, elektrownie

Systemy baz danych

1 – 3 sec

(0,33 Hz – 1 Hz)

Regulacja przepływu

1 – 5 sec

(0,2 Hz – 1 Hz)

Układy regulacji ciśnienia

5 – 10 sec

(0,1 Hz – 0,2

Hz)

Układy regulacji poziomu

10 – 20 sec

(0,05 Hz – 0,1

Hz)

Układy regulacji temperatury

Aliasing (utożsamianie, rys.5) to nieodwracalne zniekształcenie sygnału w procesie

próbkowania wynikające z niespełnienia warunku Nyquista3. Zniekształcenie to objawia się

obecnością w sygnale składowych o błędnych częstotliwościach (aliasów).

Rys.5. Dwie sinusoidy o różnych częstotliwościach mające te same próbki (aliasing). W tej sytuacji nie można

odróżnić jednej sinusoidy od drugiej. Uniemożliwia to więc jednoznaczne odtworzenie tych sinusoid.

3 CZĘSTOTLIWOŚĆ NYQUISTA JEST TO MAKSYMALNA CZĘSTOTLIWOŚĆ SKŁADOWYCH WIDMOWYCH

SYGNAŁU PODDAWANEGO PROCESOWI PRÓBKOWANIA.

Page 45: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

45

Interpretacja aliasingu w dziedzinie częstotliwości

W dziedzinie częstotliwości widmo sygnału próbkowanego zostaje w procesie

próbkowania zwielokrotnione w ten sposób, że kopia widma pierwotnego zostaje

umieszczona w każdej całkowitej wielokrotności fs (częstotliwość próbkowania) po obu

stronach osi częstotliwości.

Jeśli maksymalna częstotliwość sygnału próbkowanego (szerokość jego widma)

przekracza połowę częstotliwości próbkowania fs, to kolejne powtarzające się widma

zaczynają się na siebie nakładać i zgodnie z twierdzeniem Shannona-Kotielnikowa nie da się

odtworzyć oryginalnego sygnału z tak zniekształconych próbek.

W celu uniknięcia zjawiska aliasingu należy zapewnić, aby sygnał próbkowany był

ograniczony pasmowo do częstotliwości Nyquista czyli połowy częstotliwości próbkowania.

Można to uzyskać przez ograniczenie widma sygnału przy pomocy filtru, (filtrem anty-

aliasingowy). Filtr ten powinien mieć szerokość pasma mniejszą niż połowa częstotliwości

próbkowania.

Literatura

1. Brzózka J., Regulatory cyfrowe w automatyce, MIKOM, Warszawa 2002.

2. Izydorczyk J., Płonka G., Tyma G., Teoria sygnałów. Wstęp - Kompendium wiedzy na

temat sygnałów i metod ich przetwarzania, Wydawnictwo Helion 2006.

3. Dag Stranneby, Cyfrowe przetwarzanie sygnałów. Metody, algorytmy, zastosowania,

Wydawnictwo BTC Warszawa 2004.

4. Steven W. Smith, Cyfrowe przetwarzanie sygnałów. Praktyczny poradnik dla

inżynierów i naukowców, Wydawnictwo BTC Warszawa 2007.

Page 46: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

46

Temat: Mikroprocesor i jego elementy peryferyjne.

Mikroprocesor (w skrócie μP) jest to cyfrowy układ sekwencyjny scalony o

wielkim stopniu integracji4 (wielkim stopniu scalenia) wykonujący operacje cyfrowe

(arytmetyczne i logiczne), czyli rozkazy pobierane z pamięci zgodnie z taktem sygnału

zegarowego. Pierwsze mikroprocesory powstały we wczesnych latach siedemdziesiątych XX

wieku i były to mikroprocesory czterobitowe5 (mikroprocesor 4004 firmy Intel;

mikroprocesor TMS1802NC firmy Texas Instruments), ośmiobitowe (Intel&Datapoint

mikroprocesory 8008, 8080; Zilog Z80; Motorola 6800; MOS 6501, 6502), szesnastobitowe

wieloukładowe (National Semiconductor IMP-16; mikroprocesor DEC firmy Digital

Equipment Corporation wbudowany w płytę główną komputera PDP 11/03); szesnastobitowe

jednoukładowe (TMS 9900 firmy TI; Intel 8086, 80186, 80286), 32-bitowy procesor 80386

firmy Intel (procesory te umocniły swoją dominację na rynku komputerów osobistych (PC)

głównie dzięki tzw. kompatybilności wstecznej). W komputerach mikroprocesor główny

nazywa się CPU (Central Processing Unit).

Elementy składowe mikroprocesora

jednostka arytmetyczno-logiczna (ALU, Arithmetic Logic Unit) wykonuje bitowe

operacje logiczne (AND, OR, NOT, XOR) i arytmetyczne na liczbach całkowitych

(dodawanie, odejmowanie, negacja liczby, dodawanie z przeniesieniem -

zwiększanie/zmniejszanie o 1, przesunięcia bitowe o stałą/zmienną liczbę bitów,

mnożenie i czasem dzielenie/modulo) na dostarczonych danych;

4 Wielka skala integracji – VLSI (Very Large Scale of Integration) oznacza, że układ scalony

możezawierać tysięce lub miliony tranzystorów na jednej powierzchni płytki krzemowej. 5 czterobitowe, czyli wykonujące operacje jednocześnie na czterech bitach; analogicznie w innych

przypadkach. Procesory o architekturze wektorowej lub macierzowej, stosowane są głównie w superkomputerach, mogą wykonywać jednocześnie operacje arytmetyczne na całych wektorach lub macierzach. Procesory superskalarne pozwalają na wykonywanie kilku instrukcji w jednym cyklu zegara.

Page 47: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

47

Rys.1. Symbol jednostki arytmetyczno-logicznej

układ sterowania (CU, Control Unit), zwany też dekoderem rozkazów, wykonuje

dekodowanie dostarczonych mikroprocesorowi rozkazów i powoduje wykonanie

operacji odpowiadających tym rozkazom. Argumenty tych operacji mogą pochodzić z

rejestrów mikroprocesora, pamięci lub układów wejścia/wyjścia. Wyniki tych operacji

są wpisywane do rejestrów mikroprocesora, pamięci lub są przesyłane na wyjście,

Rejestry (Register) są to umieszczone wewnątrz mikroprocesora komórki pamięci o

pojemności 4/8/16/32/64/128 bitów służące do przechowywania tymczasowych

wyników obliczeń (rejestry danych), adresów (rejestry adresowe), danych i adresów

(rejestry ogólnego przeznaczenia), do przechowywania i wykonywania obliczeń na

liczbach zmiennoprzecinkowych (rejestry zmiennoprzecinkowe zwane

koprocesorami), do przechowywania stałych (rejestry stałych), do przechowywania

wielu danych do jednoczesnego przetwarzania (rejestry wektorowe). Proste

mikroprocesory mają tylko jeden rejestr danych zwany akumulatorem. Liczba

rejestrów zależy od zastosowania procesora. Oprócz wymienionych rejestrów

występują też rejestry specjalnego przeznaczenia:

licznik rozkazów (PC, Program Counter) zawiera adres komórki pamięci

posiadającej następny rozkaz do wykonania. Po każdym pobraniu kodu

rozkazu zawartość licznika rozkazów jest zwiększana o jeden. Długość licznika

rozkazów, czyli liczba bitów wyznacza maksymalną pojemność pamięci, jaką

można obsługiwać, czyli określa przestrzeń adresową mikroprocesora. Dla

długości licznika rozkazów 32 bity maksymalna pojemność pamięci wynosi:

232=4 294 967 296 słów.

Page 48: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

48

Rozkazy mikroprocesora można podzielić na: rozkazy przesłań (między

rejestrami mikroprocesora, między rejestrami mikroprocesora a pamięcią),

rozkazy arytmetyczno-logiczne, rozkazy sterujące wykonaniem programu (na

przykład ADD - dodaj, SUB - odejmij, OR, INC - zwiększ o 1, itp.), rozkazy

sterujące wykonaniem programu (JP –skocz, RET – powróć, PUSH – zapisz na

stos, POP – zdejmij ze stosu) i rozkazy wejścia/wyjścia (służą do komunikacji

mikroprocesora z otoczeniem zewnętrznym, na przykład IN – wczytaj dane z

wejścia, OUT – prześlij zawartości rejestru na wyjście)

rejestr instrukcji (IR, Instruction Register) zawiera kod aktualnie

wykonywanego przez procesor rozkazu,

wskaźnik stosu (SP, Stack Pointer) zawiera adres wierzchołka stosu. Stos jest

to liniowa struktura danych, w której dane dokładane są na wierzch stosu i z

wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na

wejściu, pierwszy na wyjściu) - odczytywanie kolejnych „komórek pamięci”

odbywa się w kolejności odwrotnej do kolejności ich zapisywania. Stos jest

używany są przez procesor do chwilowego zapamiętywania rejestrów

procesora.

Mikroprocesor komunikuje się z otoczeniem za pomocą szyny danych i szyny adresowej

(rys.2).

Page 49: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

49

Rys.2. Struktura mikroprocesora

Każdy mikroprocesor w zależności od liczby posiadanych rejestrów można zaklasyfikować

do jednej z trzech architektur:

CISC (Complex Instruction Set Computers); własności: setki rozkazów, rozkazy

mogą operować bezpośrednio na pamięci, pojedynczy rozkaz mikroprocesora,

wykonuje kilka operacji niskiego poziomu, rozkazy wykonywane są w przeciągu od

kilku do kilkunastu cykli zegara, różne tryby adresowania, rozbudowany dekoder

adresów,

RISC (Reduced Instruction Set Computers) własności: zredukowana liczba rozkazów

(kilkadziesiąt) i trybów adresowania co przyczynia się do uproszczenia dekodera

adresów, efektywne instrukcje redukujące odwołania pomiędzy pamięcią, a

procesorem, zwiększona liczba rejestrów,

VLIW (Very Long Instruction Word) - nazwa architektury mikroprocesorów z bardzo

długim słowem.

Wskaźnik stosu

licznik rozkazów

Rejestr pomocniczy

Rejestr stanu

Rejestr buforowy

Rejestr rozkazów

Dekoder rozkazów

Jednostka sterująca

Akumulator

Rejestry robocze

R1 ... Rn

Bufor

Bufor

Bufor

Szyna

sterująca

Sygnał zegarowy

wejściowe i wyjściowe

sygnały sterujące

Szyna adresowa

Szyna danych

Dane

ALU

Page 50: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

50

Inne architektury to: ZISC (Zero Instruction Set Komputer), MISC (Minimal

Istruction Set Computer).

Mikroprocesor współpracuje z elementami peryferyjnymi, takimi jak:

Pamięć; pamięć jest zbiorem rejestrów zwanych komórkami. W komórkach tych

zapisany jest ciąg rozkazów tworzących program oraz dane tego programu. Komórki

pamięci są numerowane, a numer komórki jest jej adresem. Kolejne rozkazy programu

umieszcza się w kolejnych komórkach pamięci w postaci słów dwójkowych – kodów

rozkazów. Typowy rozkaz mikroprocesora składa się z dwóch części: kodu operacji i

adresu komórki pamięci, w której znajduje się argument operacji, np. ADD a – dodaj

do akumulatora zawartość komórki pamięci o adresie a.

Pamięć ROM (Read Only Memory), rys.4; możliwy jest jedynie odczyt z

pamięci, nie można zmieniać jej zawartości, nie traci swojej zawartości po wyłączeniu

zasilania. Dlatego przechowuje się w niej programy konieczne do uruchomienia

komputera. Rodzaje pamięci ROM:

PROM (Programmable ROM) - pamięć programowalna tylko do odczytu. Jest

to pamięć jednokrotnego zapisu.

EPROM (Erasable Programmable ROM) - kasowalna (poprzez naświetlanie

ultrafioletem) pamięć tylko do odczytu. Programowanie tej pamięci odbywa

się za pomocą specjalnego programatora.

EEPROM (Electrically Erasable Programmable ROM) - pamięć kasowalna i

programowalna elektrycznie.

Pamięć RAM (Random Access Memory), rys.5 – pamięć o dostępie swobodnym, czyli

pamięć o dostępie bezpośrednim (a nie sekwencyjnym, który wymaga odczytania po

kolei wszystkich danych poprzedzających potrzebną daną) do dowolnej komórki

pamięci; jest to pamięć przechowująca aktualnie wykonywane programy i dane dla

tych programów oraz wyniki ich pracy, jest stosowana jako pamięć operacyjna, jej

zawartość może być odczytywana i modyfikowana. Pamięci RAM dzielą się na

szybkie pamięci statyczne (Static RAM, SRAM) oraz wolniejsze pamięci dynamiczne

(Dynamic RAM, DRAM), które wymagają częstego odświeżania (refreshing), a bez

Page 51: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

51

którego szybko tracą swoją zawartość. Podstawowe parametry dla układów pamięci

to ich pojemność podawana najczęściej w kilobitach (kb) a nie w kilobajtach (kB) oraz

czas dostępu, czyli czas potrzebny na przeczytanie lub zapisanie w niej danych,

mierzony w nanosekundach (ns). Dla pamięci DRAM czas dostępu do danych wynosi

nie więcej niż 150 ns dla starszych. Oprócz czasu dostępu istotna jest również liczba

cykli zegara w czasie których pamięć dokona zapisu i będzie gotowa do następnego

zapisu. Nazywa się to „stanem oczekiwania” (wait state) gdyż w tym czasie

mikroprocesor czeka na gotowość pamięci do dalszego współdziałania.

Układy DMA (Direct Memory Access), czyli układy bezpośredniego dostępu do

pamięci powodują, że układy peryferyjne mikroprocesora mogą korzystać z pamięci

operacyjnej lub (czasami) portów we-wy pomijając procesor główny – CPU. Odciąża

to procesor główny, który może w tym czasie wykonywać inne rozkazy.

Liczniki/timery (czasomierze)

Układy portów6 wejścia/wyjścia, umożliwiają wymianę informacji z urządzeniami

peryferyjnymi (np. czujnikami, przełącznikami, przyciskami, klawiaturą, itp.). Porty

wejścia/wyjścia są adresami pamięci, używanymi przez procesor do bezpośredniej

komunikacji z urządzeniem, wysyłającym do niego sygnał przerwania. Wymiana

danych może odbywać się w sposób szeregowy lub równoległy, synchronicznie lub

asynchronicznie.

Mikroprocesor i wszystkie jego układy peryferyjne umieszczone na jednej lub kilku

płytach drukowanych tworzą mikrokomputer.

6 Port jest interfejsem pomiędzy komputerem a urządzeniami peryferyjnymi. Rozróżnia się porty

sprzętowe, czyli fragmenty sprzętu do podłączenia urządzeń zewnętrznych i wymiany informacji z komputerem oraz porty programowe.

Page 52: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

52

Rys.3. Schemat blokowy mikrokomputera

Rys.4. Moduły pamięci ROM typu DIP (Dual In-line Package), czyli w obudowie dwurzędowej, z dwoma

rzędami metalowych nóżek

Rys.5. Moduł pamięci DDRAM 512MB 400MHz KINGSTON CL3 typu SIMM (Single In-line Memory

Module) czyli w obudowie jednorzędowej, przypominającej miniaturowa kartę.

Jak już wspomniano, jednostka arytmetyczno-logiczna wykonuje działania na

liczbach całkowitych. Trudniejsze dla mikroprocesora są działania na liczbach

ROM RAM

μP

Układy wejścia–wyjścia

Magistrala adresowa

Magistrala

danych

Magistrala sterująca

do od urządzeń

zewnętrznych

Page 53: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

53

zmiennoprzecinkowych wykonuje wspomagający mikroprocesor, który nazywa się

koprocesorem. (FPU, Floating Point Unit). Obecnie koprocesory są zintegrowane z

procesorem w jednym układzie.

Podobną rolę jak koprocesor dla obliczeń zmiennoprzecinkowych pełni procesor graficzny

wspomagający i przyspieszający tworzenie i przetwarzanie grafiki.

DMA przerwania

Zasada pracy mikroprocesora

Mikroprocesor pobiera dane z pamięci, interpretuje je i wykonuje jako ciąg prostych

operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych przez

producenta procesora jako lista rozkazów procesora. Po zakończeniu wykonywania jednego

rozkazu mikroprocesor przystępuje do wykonywania następnego rozkazu, itd. Wykonanie

rozkazu przebiega następująco:

1. Pobranie kodu rozkazu (adresu rozkazu),

2. Pobranie kodu operacji z komórki pamięci o adresie zapisanym w liczniku

rozkazów,

3. Zwiększenie zawartości licznika rozkazów o 1,

4. Zdekodowanie rozkazu,

5. Wykonanie operacji; jeśli rozkaz zawiera adres argumentu, to nastąpi

dodatkowo zwiększenie zawartości licznika rozkazów o 1.

Powyższe czynności tworzą tzw. cykl rozkazowy mikroprocesora składający się z

dwóch faz: fazy pobrania (pierwsze trzy czynności) i fazy wykonania (pozostałe).

Przebiegiem cyklu rozkazowego zarządza układ sterowania synchronizowany sygnałem

zegarowym. Jeden cykl rozkazowy trwa zwykle kilka do kilkunastu taktów zegarowych.

Długość cyklu rozkazowego – czyli czas wykonania rozkazu – zależy przede wszystkim od

tego, ile razy w fazie wykonania mikroprocesor musi odczytać/zapisać z/do pamięci

argumenty operacji. Rozkazy, które nie odwołują się do pamięci w celu odczytu argumentu są

wykonywane o wiele szybciej niż rozkazy z odwołaniami do pamięci.

Page 54: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

54

Umieszczając mikroprocesor i wszystkie jego układy peryferyjne w jednym układzie

scalonym tworzy się tzw. mikrokontroler (MCU lub μC), który stanowi miniaturową wersję

kompletnego komputera przystosowane są do bezpośredniej współpracy z rozmaitymi

urządzeniami zewnętrznymi.

Dalsza część wykładu zostanie poszerzona o mikrokontroler (AT90S2313) według:

www.atmel.com

P. Górecki Mikrokontrolery dla początkujących, BTC Warszawa 2006

oraz procesor sygnałowy DSP.

Literatura

Szafarczyk M., Śniegulska-Grądzka D., Wypysiński R., Podstawy układów sterowań

cyfrowych i komputerowych, PWN MIKOM, Warszawa 2007.

Page 55: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

55

Temat: Programowanie obsługi kart w języku C/C++; MATLAB, DASYLab,

LabVIEW. Obsługa programowa (interfejsów typu RS).

Wymiana danych pomiędzy komputerem a urządzeniami (lub pomiędzy dwoma

urządzeniami) realizowana jest dzięki wcześniejszemu ustaleniu protokołu transmisji, czyli

specyficznego zbioru reguł, procedur lub różnego rodzaju konwencji dotyczących formatu i

czasu trwania przesyłania danych. Przesyłane dane mogą być buforowane lub nie

buforowane. Bufor (buffer) definiowany jest jako obszar pamięci użytej do skompensowania

różnic w szybkości przesyłania danych lub w czasie występowania znaków sterujących (lub

innych zdarzeń) podczas transmisji pomiędzy urządzeniami. Dane mogą być przesyłane w

sposób szeregowy lub równoległy.

Do najważniejszych standardów, realizujących transmisję szeregową należy zaliczyć:

RS 232C (w Europie zwany V.24) i jego rozwinięcia: RS 422, RS 423, RS 449, RS 485,

interfejs IEEE 1394 (Firewire), stosowany głównie w urządzeniach przetwarzających dźwięk

i obraz oraz najnowszy produkt USB (Universal Serial Bus).

Komunikacja z przyrządami posiadającymi interfejs RS232

Przykładowy program:

% plik: RS_01.m

% utworzenie obiektu programowego portu szeregowego

gauge_1= serial('COM1');

% otwarcie połączenia miernika z obiektem programowym portu szeregowego

fopen(gauge_1);

% ustawienie niektórych własności obiektu programowego:

Page 56: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

56

% składnia polecenia: utworzony_obiekt.nazwa_własności_obiektu=

% =’wartość_tej_własności’

gauge_1.Terminator = 'CR';

% Terminator – znak występujący na końcu wiadomości

% przesyłanych między komputerem a miernikiem -

% domyślnie LF). Timeout – czas oczekiwania w sekundach

% na zakończenie zapisu i odczytu wiadomości (domyślnie 10 s)

gauge_1.Timeout = 1;

% zapis do bufora wyjściowego komunikatu z rozkazem dla

% miernika, w tym przypadku na końcu komunikatu

% jest dopisywany znak CR

fprintf(gauge_1, '#02');

% odczyt z bufora wejściowego komunikatu z odpowiedzią

% z miernika, znak CR zostanie również

% zapamiętany w zmiennej t (można też użyć funkcji

% fgetl lub fgets)

t = fscanf(gauge_1);

% zamknięcie połączenia miernika z obiektem programowym portu szeregowego

fclose(gauge_1);

% usunięcie obiektu programowego z dysku

delete(gauge_1);

% usunięcie obiektu programowego z pamięci roboczej MATLAB-a

clear gauge_1;

Uwagi do programu

Wszystkie własności utworzonego obiektu programowego gauge_1 można wylistować za

pomocą funkcji get

>> get(gauge_1)

ByteOrder = littleEndian

Page 57: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

57

BytesAvailable = 0

BytesAvailableFcn =

BytesAvailableFcnCount = 48

BytesAvailableFcnMode = terminator

BytesToOutput = 0

ErrorFcn =

InputBufferSize = 512

Name = Serial-COM1

ObjectVisibility = on

OutputBufferSize = 512

OutputEmptyFcn =

RecordDetail = compact

RecordMode = overwrite

RecordName = record.txt

RecordStatus = off

Status = closed

Tag =

Timeout = 10

TimerFcn =

TimerPeriod = 1

TransferStatus = idle

Type = serial

UserData = []

ValuesReceived = 0

ValuesSent = 0

SERIAL specific properties:

BaudRate = 9600

BreakInterruptFcn =

Page 58: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

58

DataBits = 8

DataTerminalReady = on

FlowControl = none

Parity = none

PinStatus = [1x1 struct]

PinStatusFcn =

Port = COM1

ReadAsyncMode = continuous

RequestToSend = off

StopBits = 1

Terminator = LF

Ustawienia własności obiektu można dokonać w trakcie jego tworzenia:

gauge_1 = serial('COM1','Terminator','CR','Timeout',1)

albo przy wykorzystaniu funkcji set:

set(gauge_1,'Terminator','CR','Timeout',1)

stosując następującą regułę nadawania wartości poszczególnym własnościom utworzonego

obiektu programowego (w tym przypadku gauge_1):

‘NazwaWłasności1’,’WartośćWłasności1’,‘NazwaWłasności2’,’WartośćWłasności2’, ….

Aktualny wartość danej własności można odczytać następująco:

>> gauge_1.ReadAsyncMode

czyli

nazwa_obiektu.nazwa_własności

Możliwe do ustawienia wartości parametrów poszczególnych własności można

odczytać następująco:

>> set(gauge_1)

ByteOrder: [ {littleEndian} | bigEndian ]

BytesAvailableFcn: string -or- function handle -or- cell array

BytesAvailableFcnCount

Page 59: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

59

BytesAvailableFcnMode: [ {terminator} | byte ]

ErrorFcn: string -or- function handle -or- cell array

InputBufferSize

Name

ObjectVisibility: [ {on} | off ]

OutputBufferSize

OutputEmptyFcn: string -or- function handle -or- cell array

RecordDetail: [ {compact} | verbose ]

RecordMode: [ {overwrite} | append | index ]

RecordName

Tag

Timeout

TimerFcn: string -or- function handle -or- cell array

TimerPeriod

UserData

SERIAL specific properties:

BaudRate

BreakInterruptFcn: string -or- function handle -or- cell array

DataBits

DataTerminalReady: [ {on} | off ]

FlowControl: [ {none} | hardware | software ]

Parity: [ {none} | odd | even | mark | space ]

PinStatusFcn: string -or- function handle -or- cell array

Port

ReadAsyncMode: [ {continuous} | manual ]

RequestToSend: [ {on} | off ]

StopBits

Terminator

Page 60: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

60

SERIAL7 tworzy obiekt programowy dla portu szeregowego

S=SERIAL('PORT') tworzy obiekt programowy dla portu szeregowego połączony

z portem o nazwie PORT. Jeśli PORT nie istnieje lub jest używany nie można

będzie połączyć obiektu programowego portu szeregowego PORT z urządzeniem.

Aby móc się komunikować z dołączonym urządzeniem utworzony obiekt

programowy musi być otwarty za pomocą funkcji FOPEN. Jednocześnie, tylko

jeden obiekt programowy portu szeregowego może być dołączony do portu

szeregowego komputera.

Po utworzeniu obiektu programowego portu szeregowego automatycznie są

konfigurowane następujące jego własności: Type, Name, Port. Można to odczytać

w następujący sposób:

>> gauge_1.type

ans =

serial

>> gauge_1.name

ans =

Serial-COM1

>> gauge_1.port

ans =

COM1

Zmienne i ich własności dla obiektu gauge_1 można wylistować za pomocą polecenia whos.

7 W MATLAB-ie polecenia wykorzystywane w helpach są pisane wielkimi literami, ale pisząc je w celu

wykonania (w oknie Command Window lub programach wsadowych) należy je pisać małymi literami. Jest to zgodne z zasadą stosowaną w języku C na którym MATLAB jest oparty.

Page 61: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

61

WHOS listuje wszystkie bieżące zmienne znajdujące się w przestrzeni roboczej wraz z ich

parametrami (polecenie WHO zwraca tylko nazwy bieżących zmiennych). W postaci

S=WHOS(...) polecenie to zwraca strukturę8 jak niżej

>> s=whos('gauge_1')

s =

name: 'gauge_1'

size: [1 1]

bytes: 158

class: 'serial'

global: 0

sparse: 0

complex: 0

nesting: [1x1 struct]

persistent: 0

(Pomoc do każdego polecenia można uzyskać pisząc w oknie Command Window

help nazwa_polecenia).

Objaśnienie powyższego listingu jest następujące:

name nazwa zmiennej,

size rozmiar zmiennej,

bytes wielkość w bajtach,

class klasa zmiennej,

global wartość logiczna wskazująca czy zmienna jest globalna,

sparse wartość logiczna wskazująca czy zmienna jest rzadka,

complex wartość logiczna wskazująca czy zmienna jest zespolona,

nesting struktura zawierająca dwa pola:

8 Struktura to typ danych wprowadzony przez programistów MATLAB-a. Struktura zawiera tzw.

kontenery danych, które nazywają się polami. Każde pole może zawierać dane różnych typów (np. jedno pole może być typu string, a inne typu integer, boolean, itp.

Page 62: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

62

function nazwa funkcji gdzie definiowana jest zmienna,

level poziom zagnieżdżony funkcji,

persistent wartość logiczna wskazująca czy zmienna jest trwała.

FOPEN dołącza obiekt programowy portu szeregowego do urządzenia.

FOPEN(OBJ) dołącza obiekt programowy portu szeregowego, OBJ, do urządzenia.

OBJ może być tablicą obiektów portu szeregowego.

Jednocześnie tylko jeden obiekt programowy portu szeregowego z taką samą

konfiguracją może być dołączony do urządzenia, na przykład do portu COM2. Jeśli

OBJ jest poprawnie dołączony do urządzenia, wówczas jego status jest ustawiany na

otwarty; w przeciwnym przypadku jego status jest ustawiany na zamknięty. Jeśli OBJ

jest otwarty dane pozostające w buforze wejściowym i wyjściowym przepływają, a

wartości następujących własności: BytesAvailable, BytesToOutput, ValuesReceived

oraz ValuesSent są zerowane.

Wartości niektórych własności są weryfikowane po dołączeniu do urządzenia -

BaudRate, FlowControl oraz Parity. Jeśli wartości te nie są takie jak w urządzeniu,

wówczas zwracany jest błąd, a obiekt programowy portu szeregowego nie będzie

dołączony do urządzenia.

Niektóre własności obiektu programowego portu szeregowego są tylko do odczytu, w

czasie, gdy jest on otwarty (dołączony) i muszą być konfigurowane przed

zastosowaniem fopen. Należą do nich InputBufferSize oraz OutputBufferSize.

FPRINTF zapisuje sformatowane dane do pliku tekstowego.

FPRINTF(FID, FORMAT, A, ...)

FID jest identyfikatorem pliku zwracanego przez FOPEN (fid=fopen(…)); FID

można także ustawić na 1 dla standardowego wyjścia na ekran lub na wartość 2, gdy

ma być zwracany błąd.

FORMAT określa format zapisywanych danych w tablicy A. Sposób formatowania

podaje się w postaci łańcucha, który jest kombinacją liter, cyfr i znaków sterujących,

na przykład '%6.2f %12.8f\n'. Szczegóły można uzyskać pisząc:

Page 63: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

63

>> doc fprintf

w oknie Command Window po znaku zgłoszenia systemu >>.

FPRINTF(FORMAT, A, ...) formatuje dane i wyświetla je na ekranie.

FSCANF odczytuje sformatowane dane z pliku.

[A,COUNT]=FSCANF(FID,FORMAT,SIZE) czyta dane z pliku, którego

identyfikatorem jest FID, konwertuje zgodnie z FORMAT i zwraca macierz A.

COUNT jest opcjonalne a zwraca liczbę elementów przeczytanych poprawnie. FID

jest całkowitoliczbowym identyfikatorem uzyskanym z polecenia FOPEN. Parametr

SIZE jest opcjonalny, a podaje on liczbę znaków, które mogą być czytane z pliku.

W odróżnieniu od polecenia FSCANF w języku C polecenie to w MATLAB-ie może

operować na argumentach wektorowych.

FCLOSE zamyka plik.

ST=FCLOSE(FID) zamyka plik identyfikowany przez FID. Udane wykonanie pliku

zwraca 0 lub -1 w przeciwnym przypadku. Jeśli FID nie reprezentuje otwartego pliku

lub nie jest równe 0 (wyjście standardowe), 1 (standardowe wyjście) lub 2 (błąd

standardowy) to FCLOSE zwraca błąd.

ST = FCLOSE('all') zamyka wszystkie otwarte pliki, z wyjątkiem 0, 1 i 2.

DELETE usuwa plik z dysku lub obiekt graficzny. Mogą być stosowane znaki globalne (* ?),

na przykład DELETE *.p usuwa wszystkie pliki z rozszerzeniem p w bieżącym

folderze. Można stosować składnię DELETE('nazwa_pliku'), jeśli nazwa_pliku jest

typem łańcuchowym.

DELETE(H) usuwa obiekt graficzny identyfikowany przez H. Jeśli obiektem jest okno

graficzne (H=gcf) to jest ono zamykane i kasowane bez potwierdzenia.

CLEAR usuwa wszystkie zmienne i funkcje z pamięci.

Page 64: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

64

Operacje synchroniczne i asynchroniczne

Zapis i odczyt komunikatów może się odbywać w dwóch trybach:

1. synchronicznym, (domyślnie) tzn. do chwili zakończenia operacji blokowany jest

dostęp do wiersza poleceń MATLAB-a,

2. asynchronicznym, tzn. dostęp do wiersza poleceń nie jest blokowany, a ten tryb jest

przydatny przy przesyłaniu komunikatów o znacznych rozmiarach.

Koniec operacji zapisu następuje, gdy spełniony jest jeden z warunków:

zapisano wszystkie dane (fprintf, fwrite9),

upłynął czas oczekiwania (j. w.).

Koniec operacji odczytu następuje, po spełnieniu jednego z warunków:

odebrano znak końca komunikatu (fscanf, fgetl10, fgets11),

odebrano zadaną liczbę danych (fscanf, fread12),

upłynął czas oczekiwania (wszystkie funkcje),

bufor wejściowy został zapełniony (wszystkie funkcje).

w trybie asynchronicznym – również za pomocą funkcji

stopasync13.

Zapis komunikatu w trybie asynchronicznym jest następujący:

fprintf(gauge_1, ..., 'async')

Własność ReadAsyncMode określa, czy odbiór komunikatu z urządzenia pomiarowego ma

się rozpocząć automatycznie (continuous) czy na polecenie użytkownika (manual), do czego

służy funkcja readasync. (readasync czyta dane w sposób asynchroniczny z urządzenia).

Własność TransferStatus – stan realizacji operacji asynchronicznej.

Własność BytesAvailable – ilość bajtów zgromadzonych w buforze wejściowym.

9 fwrite zapisuje dane binarne do pliku. 10 fgetl czyta linię z pliku, pomijając znak nowej linii. 11 fgets czyta linię z pliku, zachowując znak nowej linii. 12 fread czyta dane binarne z pliku. 13 stopasync zatrzymuje odczyt i zapis asynchroniczny.

Page 65: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

65

Obsługę urządzeń zewnętrznych w środowisku MATLAB zapewniają też

następujące biblioteki:

Instrument Control Toolbox [www.ont.com.pl oraz http://www.mathworks.com/ ]

Instrument Control Toolbox pozwala na komunikację środowiska MATLAB z takim

sprzętem, jak oscyloskopy, generatory funkcyjne i instrumenty analityczne. Moduł udostępnia

spójny interfejs, niezależny od platformy sprzętowej instrumentów, protokołu czy sterownika.

Wsparcie dla sterowników IVI, VXI plug&play i sterowników MATLAB-a.

Obsługa protokołów GPIB (HPIB, IEEE-488) i VISA (GPIB, GPIB-VXI, VXI, USB,

TCP/IP, serial). Są one używane przez takie firmy jak: Agilent Technologies, Capital

Equipment Corporation, CONTEC, ICS Electronics, IOTech, Keithley, Measurement

Computing, and National Instruments, Rohde & Schwarz, and Tektronix.

Obsługa interfejsów szeregowych, w tym RS-232.

Obsługa instrumentów sieciowych poprzez TCP/IP oraz UDP.

Wymiana danych między instrumentami a modelami Simulink-a.

Graficzny interfejs użytkownika do identyfikacji urządzeń, konfiguracji i komunikacji.

Umożliwienie rozwijania sterowników i narzędzi testujących.

Funkcje odczytujące i zapisujące dane binarnie lub tekstowo (ASCII).

Dostęp do danych synchroniczny lub asynchroniczny (blokujący lub nie blokujący).

Obsługa zdarzeń: time-out, odczyt-zapis konkretnej ilości danych i inne.

Zapis transferowanych danych.

Data Acquisition Toolbox [www.ont.com.pl oraz http://www.mathworks.com/ ]

Data Acquisition Toolbox to kompletny zestaw narzędzi potrzebnych do sterowania danymi z

analogowych i cyfrowych urządzeń wejścia-wyjścia. Moduł ten pozwala na konfigurację

urządzeń zewnętrznych, pobór odczytów do środowiska MATLAB oraz wysyłanie danych do

urządzeń.

MATLAB i Data Acquisition Toolbox stanowią razem samowystarczalne środowisko do

pobierania i analizy danych z urządzeń zewnętrznych.

Obsługa przemysłowego sprzętu pomiarowego.

Page 66: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

66

Wymiana danych między przyrządami a modelami Simulink-a.

Dostęp do bieżących danych pomiarowych bezpośrednio w MATLAB-ie.

Pojedyncze, zintegrowane środowisko do monitorowania pomiarów, analizy

wizualizacji.

Obsługa analogowych wejść, analogowych wyjść i pomiarów cyfrowych.

Programowy oscyloskop SoftScope do bezpośredniej wizualizacji strumienia

danych.

Rys.1. Oscyloskop programowy

Bezpośredni dostęp do parametrów sprzętowych urządzeń pomiarowych, takich jak

pomiar jedno- i wielokanałowy, pojedynczy pomiar punktowy i pomiary buforowane.

Automatyczne uruchamianie procedur poprzez zdarzenia sprzętowe i programowe.

Możliwość tworzenia własnych interfejsów do nieobsługiwanego sprzętu.

Obsługiwane urządzenia: produkty Advantech, Keithley Instruments, Measurement

Computing Corporation, National Instruments, VXI Technology oraz karty dźwiękowe

kompatybilne z systemem Windows i port równoległy PC.

Współczesne systemy pomiarowe bardzo często

zbudowane są na bazie komputera PC, ponieważ takie

rozwiązanie ułatwia znacznie przetwarzanie, analizę i

prezentację danych pomiarowych. Połączenie

komputera i przyrządów pomiarowych z nim

współpracujących umożliwia tworzenie tzw.

Page 67: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

67

wirtualnych przyrządów pomiarowych, w których tor pomiarowy w dużej mierze

zrealizowany jest poprzez odpowiednie oprogramowanie. Przykładem takiego

oprogramowania jest DASYLab (rys.2) w którym za pośrednictwem zdefiniowanych bloków

funkcyjnych możliwe jest tworzenie bardzo zaawansowanych systemów pomiarowych.

Rys.2. Główne menu programu DASYLab

Aplikacje tworzy się umieszczając na arkuszu projektowym odpowiednie moduły, a

następnie łącząc je ze sobą co powoduje odpowiedni przepływ sygnałów. Każda ikonka

odpowiada jednemu z ponad 100 dostępnych modułów, może to być wejście lub wyście,

moduły do analizy oraz prezentacji danych pomiarowych. Wszystkie moduły podzielone są

na grupy (rys.3).

Rys.3. Menu moduły

Zależnie od przeznaczenia można wyróżnić: moduły wejść oraz wyjść, moduły do

wyzwalania pomiaru, moduły matematyczne i statystyczne, moduły do przetwarzania i

analizy sygnałów, moduły do regulacji, prezentacji i wizualizacji pomiarów, do operacji na

plikach, redukcji danych, do obsługi sieci TCP oraz specjalne (rys.4).

Page 68: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

68

Rys.4. Przykładowe rozwinięte opcje menu Modules

Możliwości przyłączenia sprzętu pomiarowego do komputera jest wiele. Pakiet

obsługuje większość interfejsów jakie można spotkać w komputerach PC. Mogą to być karty

do komputerów stacjonarnych PCI (Peripheral Component Interconnect), Compact PCI, ISA

(Industry Standard Architecture), PCMCIA (Personal Computer Memory Card International

Association), zewnętrzne moduły pomiarowe dołączane do portu drukarkowego, RS-232/485,

USB (Universal Serial Bus), Ethernet, GPIB (General Purpose Interface Bus), CAN

(Controller Area Network). Pakiet może również współpracować z urządzeniami

komunikującymi się w standardzie IVI (Interchangeable Virtual Instruments). Dane

pomiarowe mogą być wymieniane z innymi aplikacjami poprzez mechanizm DDE (Dynamic

Data Exchange) lub OPC (OLE (Object Linking and Embedding) for process control). W

sumie DASYLab wyposażony jest w sterowniki do 250 kart i modułów pomiarowych 50

różnych producentów np. IOtech (obecnie: Measurement Computing Corporation-

http://www.mccdaq.com/), Advantech (www.advantech.com/), National Instruments

(http://www.ni.com/, Keithley (http://www.keithley.com/ ) jest to zatem pakiet bardzo

uniwersalny. Ma to duże znaczenie w ośrodkach badawczych i na uczelniach wyższych, gdzie

można spotkać karty pomiarowe kilku lub kilkunastu producentów. DASYLab jako

oprogramowanie stanowi wspólny mianownik dla większości dostępnych na rynku kart

Page 69: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

69

pomiarowych. Jeśli karta nie jest obsługiwana przez oprogramowanie, dostępny jest

przybornik programowy (żargonowo: Kit) do tworzenia własnych sterowników, zawierający

szczegółowy opis interfejsu pomiędzy DASYLab a bibliotekami *.dll14. DASYLab umożliwia

próbkowanie sygnałów pomiarowych z częstotliwością do 1 MHz. Zależnie od platformy

sprzętowej dane mogą być wyświetlane w czasie rzeczywistym z prędkością ponad

100000 S/s (Samples/per second - próbek na sekundę), a funkcja disk-streaming15 umożliwia

ich zapis na dysku z prędkością do 200 kHz. Do oprogramowania DASYLab opcjonalnie

dostępna jest nakładka Net, która umożliwia komunikację poprzez sieć Ethernet i protokół

TCP/IP (Transmission Control Protocol/Internet Protocol) pomiędzy poszczególnymi

kopiami oprogramowania. Oprócz wymiany danych możliwa jest również w ten sposób

zdalna kontrola systemu pomiarowego m.in. załadowanie eksperymentu, wystartowanie,

zatrzymanie oraz jednoczesne wystartowanie kilku systemów pomiarowych umieszczonych w

różnych lokalizacjach. W lokalnej sieci możliwa jest wymiana danych z prędkością do

100000 S/s. Oprogramowanie może również współpracować z bazami danych poprzez

mechanizm ODBC (Open DataBase Connectivity). W aplikacji kontrolno pomiarowej taka

możliwość przydaje się np. jeśli chcemy pobrać charakterystykę czujnika, dane kalibracyjne

itp., a z drugiej strony umożliwia zapis zmierzonych i przetworzonych danych bezpośrednio

do baz y danych.

Dodatek: Opis bloków DASYLab (ang.)

Inputs/Outputs

Analog In-/Output:

up to 32 input modules and up to

512 channels up to 2 output modules and up to

32 channels

Digital In-/Output:

up to 32 input modules and up to

512 channels up to 2 output modules and

up to 32 channels

14 Dynamic-Link Library - biblioteka łączona dynamicznie - biblioteka współdzielona z innymi

aplikacjami. 15 Dysk-streaming pozwala na odtwarzanie danych bezpośrednio z dysku twardego w celu zmniejszenia

obciążenia komputera i pamięci operacyjnej (RAM (Random Access Memory).

Page 70: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

70

Counter Input:

up to 2 modules and up to 32

channels

Frequency Output:

up to 2 modules and up to 32

channels

RS 232 Input:

extremely expandable with Master/

Slave modules (up to 256 channels with each

serial interface)

RS 232 Output:

output of data or fixed strings

for up to 16 channels

Icom Input:

Universal serial module to be used

with TCP/IP,GPIB and RS232. Master/Slave

modules with max. 256 channels.

Icom Output:

Output of data or Strings via

TCP/IP, GPIB or RS232.

IEEE 488 In-/Output:

supports Measurement Computing

GPIB, National Instruments

DDE In-/Output:

up to 16 modules and up to 256

channels

IVI Modules:

Handles devices with an IVI

compatible interface (Oscilloscope,

Multimeter, Function Generator).

MODBUS Modules:

With these modules the

MODBUS protocol enables DASYLab to

read and write Analog and Digital registers

for signed and unsigned integer registers,

RS232 only.

Signal Processing

Filter:

Digital IIR filter with definable

order and characteristics

Correlation:

Compute correlation coefficient,

cross-correlation, autocorrelation, spectrum

Data Window:

Various types of evaluation

windows, e.g. rectangle, Gauss, Bartlet and

other types

FFT:

Calculate and analyse the discrete

spectrum of a signal

Page 71: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

71

Polar/Cartesian:

Convert data values between

polar and cartesian coordinates

Electrical Characteritics:

Use the values of Current and

Voltage to calculate electric characteristics

such as Ueff, cosp etc..

Harmonic Distortion:

Calculates the amplitude and

phase of the fundamental frequency and up

to 48 harmonic waves.

Period Check:

Calculates the period of a signal

by checking its zero crossings. Period Check:

Calculates the period of a signal by checking

its zero crossings

Trigger

Start/Stop Trigger:

Selectable start and stop

conditions

Pre/Post Trigger:

Amplitude- and slope-based

triggers with hysteresis can be specified

Combi Trigger:

Separate signal segments

according to logical conditions

SampleTrigger:

Separate intervals of a signal

based on a predetermined number of

samples.

Trigger on Demand:

Separate samples depending on

the dynamic behavior of the signals.

Relay:

Control up to 15 channels with

one input signal

Control

Generator:

Signal generation with frequency

and amplitude modulation

Switch:

On/off or momentary switch for

program and data control

Coded Switch:

Select from preset values by

Slider:

Definable signal range; signal

Page 72: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

72

positioning a rotating switch or clicking on

buttons.

level to be modified during measurement

PID Control:

Proportional, integral and

derivative components can be specified

freely; new auto-tuning function

Two Point Control:

Up to 8 control circuits.

Selectable set values are compared with

actual values

Time Delay:

Data output after a specified

period of time

Latch:

Constantly outputs the input value

received last

TTL Pulse Generator:

generates TTL signals with

specified duration and switch conditions

Read Variable:

Read Global Variable to generate

a data channel to be used in the worksheet

Save Variable:

Save data channel to a Global

Variable to be used in module parameters

and computations

Router:

Route data channel based on

control input (amplitude or edge) or based on

time (blocks, time, or action controlled)

Block Time:

Extracts the time information of a

block and puts time and date into global

variables

Stop:

stops or interrupts measurement

according to specified conditions

Display

Y/t Chart:

High-speed scope display for fast

data with a wide range of display options

X/Y Chart:

Display data blocks of two

dependent signals as an X/Y plot, including a

Polar plot view.

Polar Plot Chart:

Display blocks of two dependent

Analog Meter:

Provides several shapes of

Page 73: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

73

signals (X/Y or polar data) in polar

coordinates with a third data as flags.

instruments and offers peak hold and trend

indicator options

Digital Meter:

Display the value, with trend

display and lower/upper marks. Formats

include decimal, hex, octal, binary, ASCII &

Clock

Bar Graph:

Bar (horizontal/vertical),

thermometer, LED or triangle style; trend

and range display options

Chart Recorder:

Chart display for slow data, wide

display area and a wide range of display

options.

List:

Show data values displayed in list

form; several formatting options

Status Lamp:

TTL or Digital Signal status

displayed as text and/or images

Files

Read Data:

Read data from floppy/hard disk

files; supports DASYLab, IEEE-32-bit,

ASCII format

Write Data:

Write data to floppy/hard disk

files; supports DASYLab, IEEE-32-bit,

ASCII, Diadem and other formats

ODBC Input/Output:

Exchange data between

DASYLab and ODBC data bases.

Data Reduction

Average:

Reduce data using running or

summation averages

Block Average/Peak Hold:

Reduce data across data blocks

using running or summation average, or

Page 74: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

74

using Peak Hold (Minima or Maxima)

Separate:

Reduce data by skipping defined

number of samples (or blocks) only; outputs

one, then repeats

Merge/Expand:

Merge data from several channels

or distribute signals from one channel to

others

Cut Out Block:

Output specified samples of a

block

Time Slice:

Output data from different

channels according to specified switch

conditions

Shift Register:

Stores data, one point at a time,

into a temporary register, and outputs the

block repeatedly

Circular Buffer:

Save an interval of the data

stream and send it to the modules output via

event driven action

Special Modules

Black Box:

Sub-worksheet unit containing

worksheet sections; use for common

functions or to manage complexity

Import/Export (Black Box):

Data interface between worksheet

levels (main worksheet and Black Boxes)

Action:

Trigger various actions on the

occurence of specified events

Message:

Display or print an operator

message; play a wave/AVI file; send DDE

message; log messages to printer

Time base:

Extract and output the time or

frequency information of a signal

Signal Adaptation:

Synchronize signal flows of

differing characteristics

Send e-Mail:

Use Windows E-Mail to send

Page 75: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

75

messages to any address including

attachments and custom messages/alarms

Mathematics

Formula Interpreter:

Link data from several channels

according to mathematical functions entered

as formulas

Arithmetic:

Basic arithmetic operations;

various operands and exponential functions

Trigonometry:

Sine, tangent, arc- and hyperbolic

functions

Differentiation/Integration:

Integration of signal values or

slopes in the signal flow

Scaling:

Linear scaling, interpolation

tables, RTD linearization, thermocouple

linearization, offset adjust, linear conversion

factors for a large number of measurement

systems

Slope Limitation:

Limit the difference between

values

Reference Curve:

Calculates a reference Curve

using one or more test runs

Logical Operations:

Evaluate TTL data from input

channels; operators AND, OR, XOR,

NAND, NOT

Bit Operations:

Perform logical operations (bit by

bit) with the received data words, combine,

extract, mask and shift operations

Flip-Flop:

Use bistable trigger elements for

intermediate data storage (FlipFlop and

MonoFlop)

Gray-Code:

Decodes signals generated by

position encoders

Channel Comparator:

Compares channels and a constant

or to corresponding channels

Page 76: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

76

Statistics

Statistical Values:

Compute max/min, average,

effective values, variance and standard

deviation

Position in Signal:

Extract the value position as

defined by sample number, date/time or

frequency

Histogram:

Classify data according to specific

intervals and numbers of classes

Regression:

Calculate constant, linear or

polynomial regression curves up to an order of

20

Counter:

Count blocks, samples, max/min,

zero/level crossings and duration

Minimum/Maximum:

Determine extreme values in the

signal flow

Check Reference Curve:

Compare the signal with a

previously saved reference curve and signal

deviations.

Pulse Width Analysis:

Calculates the frequency, length of

pulses, pauses and pulse/pause ratio in a TTL

pulsed signal.

Channel Sort:

Rearranges the input channels

based on their values

Network

Net Input/Output:

Receive or send data to one or more

DASYLab Net via a TCP/IPnetwork.

Message Input/Output:

Receives or Sends messages from

or to other DASYLab Net via a TCP/IP

network.

DataSocket Import/Export:

Exchange data with OPC server via

network.

Page 77: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

77

Analysis Add-On (optional)

Sequence Generator:

Generate curves and ramps of

different types which can be combined in

many ways.

Transfer Function:

The Transfer and Coherence

functions are calculated for up to 8 pairs of

values.

Block Weighting:

Weight each sample in block by a

predefined function.

Convolution:

Up to 16 Input signals are

processed with digital filters.

Write UFF Format:

Write data in the Universal File

Format 58 for use in system analysis.

FFT Filter:

Frequency intervals of up to 16

signals are filtered with defined conditions.

Universal Filter:

Create user defined FIR or IRR

Filters with a helpful filter wizard for FIR

Filters.

FFT Maximum:

Calculates the maximum of energy

of a FFT spectrum by analysing intervals of

the frequency band.

n-th Order Harmonic:

Calculates the max of the Harmonic

up to an order of 20 of FFT data

Rainflow:

Several counting algorithms

classify samples for Time-Stress Analysis

Two-channel Classification:

Classifies the values of two

diferrent temporal functions to be used for

Time-Stress Analysis.

Octave Analysis:

This module is used for One-Third

or Octave Analysis of a signal using digital

filters optimized to 40KHz

Poniższy tekst został zaczerpnięty i opracowany na podstawie http://automatykab2b.pl/

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) firmy

National Instruments jest środowiskiem wspomagającym automatyczne

wykonywanie pomiarów. Skrót VI w nazwie programu LabVIEW oznacza

możliwość tworzenia wirtualnych interfejsów urządzeń pomiarowych. Przyrządy te są

Page 78: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

78

połączone z komputerem na którym uruchomiony jest program LabVIEW i komunikują się

między sobą poprzez wirtualne środowisko pomiarowe. Ponieważ konkretna aplikacja może

wymagać wykorzystania wielu urządzeń pomiarowych i sterujących jednocześnie, został

stworzony interfejs za pomocą, którego użytkownik może kontrolować przeprowadzane

pomiary. Interfejs ten, którym jest LabVIEW, pozwala nie tylko na rozpoczęcie i zakończenie

cyklu pomiarowego, ale również na zaawansowane przetwarzanie i wizualizację w czasie

rzeczywistym wyników pomiarów, jak też definiowanie parametrów pracy

wykorzystywanych urządzeń.

W skład LabVIEW wchodzą trzy główne moduły – moduł interfejsu graficznego,

nazywany też pulpitem, moduł diagramu graficznego odpowiadający za strukturę połączeń

pomiędzy poszczególnymi urządzeniami, jak i za strukturę budowanego programu oraz moduł

łączący kilku wirtualnych urządzeń LabVIEW w całość.

Moduł interfejsu graficznego ma wygląd przedniego panelu urządzenia pomiarowego.

Poszczególne znajdujące się w nim obiekty graficzne odzwierciedlają wejścia oraz wyjścia

sterownika i reprezentują dane otrzymywane, a także wysyłane do sterowanych z programu

urządzeń. Końcówki wyjściowe sterownika to wszelkiego rodzaju przełączniki, przyciski i

pokrętła symulujące elementy nastawcze wykorzystywanych urządzeń. Sygnały wejściowe

reprezentowane są przez wyświetlacze numeryczne, alfanumeryczne, diody LED,

wyświetlacze graficzne (wykresy), tabele itp.

W diagram graficznym (wykorzystującym język G) następuje przypisanie elementów

panelu operatorskiego do odpowiednich wejść i wyjść urządzeń fizycznie podłączonych do

magistrali sterownika. W skład języka wchodzą takie elementy, jak końcówki (terminals),

węzły (nodes), przewody (wires) oraz konstrukcje sterujące (structures) – rys.5.

Rys. 5. Aplikacja w LabVIEW

Page 79: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

79

Końcówki reprezentują porty wejściowe i wyjściowe przesyłające informacje

pomiędzy pulpitem i diagramem. Dane wprowadzone za pomocą elementów kontrolnych

pulpitu są przekazywane do diagramu przez końcówki kontrolne. Z kolei dane przekazywane

w drugą stronę są wyświetlane za pomocą odpowiednich elementów prezentacyjnych na

pulpicie. Poszczególne końcówki generowane są automatycznie w diagramie w momencie

wstawienia elementu kontrolnego lub prezentacyjnego na pulpicie. Każda z końcówek

reprezentuje port określonego elementu pulpitu oraz ma przypisany konkretny typ

przesyłanych przez nią danych. Przykładem mogą być np. liczby rzeczywiste

zmiennoprzecinkowe typu double, które oznaczane w LabVIEW skrótem DBL.

Węzły są drugim typem występującym w diagramie obiektów. Każdy z węzłów

reprezentuje procedurę, funkcję lub wyrażenie matematyczne, zapisane w języku tekstowym.

Służą one do wykonywania operacji przetwarzania danych, tak aby dane mogły zostać

przesłane w odpowiedniej postaci do sterownika lub urządzeń pomiarowych.

‘Przewody’ są trzecim typem obiektów reprezentujących połączenia pomiędzy

elementami składowymi diagramu. Pozwalają one na przesyłanie danych pomiędzy

zestawionymi blokami, przy czym każde połączenie może być rozgałęzione do wielu bloków

odbierających dane, lecz mieć tylko jedno źródło danych. Połączenia są rysowane różnymi

kolorami, stylami i grubością linii, w zależności od typu przesyłanych nimi danych.

Połączenia wykryte przez kompilator jako niepoprawne – np. z powodu podłączenia wejścia i

wyjścia o dwóch niekompatybilnych ze sobą formatach danych – wyróżniane są czarną

przerywaną linią.

Konstrukcje sterujące są ostatnim z elementów języka graficznego mogących

wystąpić w widoku struktury projektu. Zapewniają one specyficzny sposób wykonania

programu, dzięki czemu pozwalają na realizację przetwarzania bloków kodu w pętlach,

wprowadzanie instrukcji warunkowych lub też ustalenie sekwencji wykonywania

poszczególnych bloków kodu. Stworzony diagram, który obrazuje strukturę programu, może

być wykorzystany wielokrotnie, o ile wygenerowane zostanie tzw. złącze. Definiuje ono

wszystkie wejścia i wyjścia podprogramu odpowiadające elementom kontrolnym i

prezentacyjnym panelu. Tym samym umożliwia wykonanie odpowiednich połączeń w

Page 80: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

80

diagramie zawierającym dany podukład, który reprezentowany jest w diagramie jako ikona

tworzona podczas generowania złącza.

Stworzony diagram powinien odwzorowywać poszczególne elementy procedury

pomiarowej. Rozpoczyna się on od końcówek wejściowych elementów kontrolnych pulpitu

(np. Input 1 i 2) i węzłów (np. Const DBL) będących źródłem stałych wartości określonego

typu, a kończy na wyjściach. Linie wyznaczające drogi przepływu danych mogą się zbiegać w

wielowejściowych węzłach, takich jak węzły dodawania lub odejmowania. Każdy węzeł

diagramu wykonuje swoje operacje tylko raz. Kolejność wykonania operacji jest określona

przepływem danych (dataflow). Każdy z węzłów diagramu rozpoczyna działanie po

otrzymaniu wszystkich potrzebnych danych wejściowych. Następnie, po wykonaniu

charakterystycznych dla niego operacji, dostarcza wyniki na swoje wyjścia - dane te

przesyłane są połączeniami do kolejnych węzłów. Wykonywanie programu można

rozpatrywać jako kolejne fazy przetwarzania danych przez węzeł i ich przekazywania do

węzłów odbierających. Warto zaznaczyć, że podczas wykonywania programu dane

wyjściowe z węzłów pojawiają się i dostarczane są do węzłów odbierających jednocześnie.

W przypadku bardziej skomplikowanych diagramów, które zawierają wiele

równoległych gałęzi, które obejmują szeregowo połączone węzły, ustalenie kolejności

wykonania programu może być zadaniem trudnym. Ponadto nie można ustalić kolejności

wykonywania operacji przez węzły, które uzyskały stan gotowości, gdyż będą one pracowały

pseudo-jednocześnie. Sprawa staje się jeszcze trudniejsza, gdy w skład diagramu wchodzą

ikony reprezentujące inne poddiagramy. Środowisko samo decyduje o kolejności działań

stosując technikę arbitralnego przeplotu. W ten sposób węzły lub grupy węzłów różnych

gałęzi są wykonywane przemiennie, co skutkuje ich równoległym wykonywaniu w czasie.

Warto nadmienić, że kolejność wykonania węzłów diagramu może różnić się w kolejnych

uruchomieniach programu.

Instrukcje sekwencyjne

W języku G, czyli tym w którym tworzone są struktury programów LabVIEW VI,

konstrukcja sekwencyjna przedstawiana jest jako ramka filmu i składa się z jednej lub kilku

klatek, także często nazywanych ramkami. Pozwala ona na kolejne wykonywanie kodu

Page 81: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

81

programu zgodnie z numeracją klatek. Konstrukcje sekwencyjne stosuje się do wymuszenia

określonej kolejności wykonywania fragmentów kodu, gdy nie daje się tego uzyskać stosując

przepływem danych. Sekwencję można rozbudować do dowolnej liczby ramek.

Instrukcje warunkowe

LabVIEW VI (oparte na języku G) zawiera możliwość wprowadzenia konstrukcji

warunkowych. Stworzona w tym celu instrukcja case (rys.6) odpowiada funkcjonalnie

poleceniom if...then...else lub switch z języka C. Konstrukcja składa się z dwóch ramek, z

których każda zawiera blok programowy realizujący określone operacje oraz deklarację

wybieranych wartości. Działanie funkcji polega na wykonaniu kodu zawartego w jednej z

ramek, której wybór realizowany jest na podstawie danej dostarczonej do wejścia

selekcyjnego konstrukcji case.

Rys.6. Postać graficzna instrukcji case

Wejście selektora konstrukcji case może przyjmować dane w różnym formacie.

Zależnie od tego dostępne będą dwie klatki reprezentujące rozgałęzienia programu dla

poszczególnych wartości w przypadku selektora typu boolowskiego (true/false) albo, w

przypadku selektora o formacie liczb całkowitych, formacie tekstowym lub wyliczeniowym,

maksymalnie 231-1 klatek. W drugim przypadku do każdej z możliwych wartości selektora

musi być również przypisana jedna z ramek konstrukcji case (rys.7).

Rys.7. Postać graficzna instrukcji case z selektorem całkowitym

Page 82: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

82

Pętla for

Konstrukcję pętli for stosuje się wtedy, gdy liczba wymaganych powtórzeń jest

znana w danym miejscu programu. W języku G pętla for ma postać ramki obejmującej

poddiagram stanowiący blok kodu programu, który ma być wykonany określoną liczbę razy.

Ramka ta ma predefiniowane wejście liczby iteracji oraz terminal wyjścia licznika powtórzeń,

którego wartość zmienia się w zakresie od 0 do N-1, gdzie N to wejście liczby iteracji

podanych w formacie long integer.

Dołączenie danej zmiennoprzecinkowej do

wejścia liczby iteracji spowoduje zaokrąglenie tej

liczby do wartości całkowitej. Licznik iteracji jest

zerowany w momencie rozpoczęcia działania

pętli i inkrementowany po każdej z nich. Sprawdzenie warunku zakończenia jest

wykonywane przed rozpoczęciem każdej kolejnej iteracji, dlatego dla N=0 pętla nie wykona

ani razu swojego diagramu i zakończy działanie.

Pętla while

Druga ze stosowanych w LabVIEW pętli to while i używa się jej wówczas, gdy

liczba wymaganych powtórzeń wykonania nie jest znana. Pętla while także ma postać ramki

obejmującej diagram stanowiący blok kodu programu, którego wykonanie jest powtarzane.

Rys.8. Postać graficzna instrukcji while oraz przykład

Ramka ta ma predefiniowany terminal wyjścia licznika iteracji oraz terminal

warunku kontynuowania działania pętli. Terminal kontynuacji działania pętli korzysta z

wartości boolowskich wypracowanych przez diagram pętli. Konfiguracja terminala

kontynuacji pozwala ustalić wartość logiczną przerywającą lub też konieczną do

Page 83: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

83

kontynuowania działania pętli. Zasady te oznaczone są odpowiednio jako Stop if True lub

Continue if True. Sprawdzenie warunku zakończenia jest realizowane po każdej iteracji,

dlatego zawsze wykonywana jest przynajmniej jedna iteracja pętli. Działanie tej pętli jest

analogiczne do pętli „do...while” języka C.

W obu zaimplementowanych pętlach, każda iteracja polega na wykonaniu bloku

objętego ramką konstrukcji pętlowej. Blok kodu może być pojedynczym diagramem lub

zestawem niezależnych poddiagramów, ale bez przepływu danych pomiędzy nimi. Takie

niezależne poddiagramy będą wykonywane w ramach pętli równolegle – jeden raz w każdej

iteracji. Jeżeli w którymś z poddiagramów znajdują się także pętle, nazywane wtedy pętlami

zagnieżdżonymi, to kolejne iteracje pętli zewnętrznej rozpoczną się po wykonaniu pętli

zagnieżdżonej. Czas realizacji poddiagramów z pętlami może być dosyć długi i wówczas, gdy

pozostałe diagramy wykonają swoje zadanie, to pozostają zawieszone aż do momentu

rozpoczęcia nowej iteracji przez pętlę zewnętrzną. W związku z powyższym, odpowiednia

konstrukcja diagramów, jak też ich rozmieszczenie wewnątrz tych samych lub osobnych pętli

może mieć duży wpływ na kolejność wykonywania poszczególnych działań, co może mieć

znaczenie dla użytkownika z różnych, zależnych od danego układu pomiarowego powodów.

Konstrukcje pętli for i while mogą mieć wejścia i wyjścia danych. Kanał wejściowy

danych tworzy się automatycznie w momencie prowadzenia połączenia pomiędzy wejściem

węzła znajdującego się na zewnątrz pętli, a wejściem węzła poddiagramu pętli. Podobnie

kanał danych wyjściowych powstaje podczas łączenia wyjścia węzła poddiagramu pętli z

wejściem węzła znajdującego się poza strukturą. Działanie pętli rozpoczyna się po

otrzymaniu wszystkich danych wejściowych, których to wartości są zapamiętane i

przekazywane do kolejnych iteracji pętli. Oznacza to, że jeśli do kanału wejściowego pętli

dołączony jest terminal obiektu nastawczego, to pętla będzie dysponować jego stanem

uzyskanym w momencie rozpoczęcia swojego działania. Zmiany stanu tego obiektu

nastawczego w czasie działania pętli nie są w niej zauważane. Jeśli pętla ma reagować na

aktualny stan obiektu nastawczego, to jego terminal musi być umieszczony wewnątrz

struktury pętli. Możliwe jest także przekazywanie danych wejściowych w postaci tablicy.

Realizowane jest to na dwa sposoby: albo zwyczajnie – cała tablica przekazywana jest na raz i

Page 84: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

84

utrzymywana w pamięci w czasie trwania pętli (opcja Disable Indexing), albo też

wykorzystując indeksowanie, aby w kolejnych iteracjach dostępne były tylko te dane, których

indeksy tablicy odpowiadają numerowi aktualnej iteracji (opcja Enable Indexing). W

przypadku tablicy wielowymiarowych, kolejne iteracje dostają jako dane wejściowe kolejne

podtablice. Jednocześnie skorzystanie z auto-indeksowania wpływa na liczbę iteracji pętli for,

która to liczba jest wtedy określona przez mniejszą z dwóch wartości – wejściowej liczby

iteracji lub rozmiaru tablicy z danymi. Ponadto, w sytuacji tej wejście liczby iteracji może

zostać niepołączone. W przypadku kilku wejść z auto-indeksowaniem, liczba iteracji jest

określana rozmiarem najmniejszej tablicy. Wpływ auto-indeksowania na pętlę while jest

podobny, z wyjątkiem, gdy rozmiar tablicy jest mniejszy niż liczba powtórzeń wynikająca z

działania algorytmu, dane podawane w kolejnych iteracjach przyjmują wartości domyślne dla

danego typu liczb. Dla tablicy double są to zerowe wartości numeryczne.

Pętle for są wydajniejsze od pętli while, co wynika ze z góry znanej liczby

powtórzeń. Dzieje się tak, gdyż w przypadku, gdy liczba iteracji przekroczy rozmiar tablicy z

danymi, aplikacja musi realokować pamięć i przenieść dane do nowego obszaru, co skutkuje

dodatkowym obciążeniem układów procesora i pamięci. Niemniej, pętle while mogą być

znacznie wygodniejsze do realizowania niektórych algorytmów. Warto zwrócić uwagę, że

pętle for są domyślnie ustawione w trybie auto-indeksacji zarówno wejść – jeśli te są

tablicami, jak i dla dowolnego typu wyjść. Pętle while domyślnie pracują bez tego trybu.

Obliczanie wyrażeń

Operacje wykonywane na przetwarzanych danych

wykonywane są przez formuły obliczeniowe. Węzły

formuł (Formula) pozwalają na realizację operacji

matematycznych zapisanych w formie tekstowej.

Węzły te są przydatne w realizacji operacji, które

korzystają z wielu zmiennych oraz produkują jeden lub więcej rodzajów danych. Sposób

zapisu bloku programu węzła Formula jest podobny do zapisu bloku instrukcji programu w

języku C. W związku z tym, blok może zawierać deklaracje zmiennych, wyrażenia

Page 85: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

85

matematyczne oraz instrukcje sterujące if…then…else, switch....case, pętle for, while,

do…while i inne. Dostępne formaty zmiennych to float i int. W wyrażeniach matematycznych

obowiązują takie same zasady i operatory jak w języku C. Wyjątkiem jest dodatkowy

operator podnoszenia do potęgi, oznaczany jako x**y. Możliwe jest także stosowanie

komentarzy umieszczanych pomiędzy znakami /* i */. Tworzenie konstrukcji formuły

wspomagane jest przez odpowiednie menu, zawierające pozycje służące do kreowania wejść i

wyjść węzła, które to stanowią zmienne formuły. Po wykreowaniu należy w polu

utworzonego wejścia lub wyjścia wpisać jego nazwę. Nazwy muszą być unikalne w ramach

danej konstrukcji, ale nazwa wyjścia może być taka sama jak jednego z wejść.

Drugim, węzłem podobnym do Formula jest struktura Expression. Służy on wyłącznie

do obliczenia pojedynczego wyrażenia korzystającego z jednej zmiennej wejściowej. Węzeł

taki posiada predefiniowane wejście i wyjście typu float. Nazwa zmiennej użyta w wyrażeniu

jest automatycznie kojarzona z wejściem węzła, a wyjściu przypisywany jest wynik

wyrażenia.

Zmienne w LabVIEW

Jak to zostało wcześniej opisane, obiekty nastawcze pulpitu dostarczają dane do

diagramu za pośrednictwem końcówek wejściowych, a obiekty wskaźnikowe pulpitu

uzyskują dane z diagramu z końcówek wyjściowych. Z każdym obiektem pulpitu jest

związana jedna końcówka wyjściowa lub wejściowa diagramu. Aplikacja może potrzebować

dostępu do tych danych w różnych miejscach, a jednocześnie nie zawsze można to uzyskać za

pomocą przewodów przepływu danych. Problem ten jest rozwiązywany poprzez zastosowanie

zmiennych lokalnych i globalnych. Pierwsze z nich zapewniają dostęp do danych obiektu

pulpitu w różnych miejscach pojedynczego programu VI, natomiast zmienne globalne mogą

udostępniać i przenosić dane pomiędzy różnymi, jednocześnie realizowanymi programami.

Jednakże stosowanie zmiennych w programach VI nie jest zalecane ponieważ przesłaniają

one przepływ danych, a tym samym utrudniają analizę kodu i usuwanie ewentualnych

błędów. Mogą być też przyczyną wielu dodatkowych problemów, takich jak niejednoznaczne

zachowanie programu. Istnieją jednak sytuacje, gdy zastosowanie zmiennych jest w pełni

Page 86: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

86

uzasadnione. Przykładowo, aplikacja może stosować dwie równolegle działające pętle while,

z czego w pierwszej z nich generowane są dane, z których na bieżąco korzystają diagramy

pętli drugiej, wykonywanej równolegle z pierwszą. Nie ma innej metody udostępnienia

danych z wnętrza działającej pętli niż przekazanie ich za pomocą zmiennej. Ponadto, zmienne

lokalne pozwalają zapisywać dane obiektu panelu niezależnie czy są one obiektem sterującym

czy wskaźnikowym. Operacje te funkcjonują tak samo jak przeniesienie danych do lub z

końcówki obiektu w diagramie, z tym, że zapis zmiennej jest dostępny również w stosunku do

obiektów sterujących pulpitu, które formalnie są źródłami danych. Dzięki temu, zmienne

lokalne można wykorzystać nie tylko do uzyskania aktualnego stanu określonego obiektu

sterującego, ale także do modyfikacji jego ustawienia, wyręczając tym samym operatora z

obowiązku reagowania na niektóre z pojawiających się sytuacji. Bez zmiennych także byłoby

to możliwe, ale użytkownik nie mógłby ingerować w ustawiane automatycznie parametry

programu. Tworzenie zmiennej lokalnej w diagramie wymaga wykreowania jej oraz

powiązania z określonym obiektem pulpitu, a także przeznaczenia jej do odczytu lub zapisu.

Aby to uczynić, należy skorzystać z ikony znajdującej się w palecie struktur. Po jej

przeciągnięciu do edytora diagramu pojawi się symbol zmiennej ze znakiem zapytania,

wskazującym na potrzebę jej powiązania z obiektem pulpitu. Ustalenie powiązania i

przeznaczenia zmiennej dokonuje się poprzez wykorzystanie menu kontekstowego – Select

Item oraz Change to Read/Write.

Nieco inaczej niż zostało to wyżej opisane wygląda mechanizm tworzenia zmiennych

globalnych. Są one wbudowanymi obiektami LabVIEW, których kreowanie powoduje

automatyczne wytworzenie specjalnego globalnego interfejsu wirtualnego, który ma tylko

panel – bez diagramu. Wprowadzenie obiektów nastawczych i wskaźników do tego panelu

określa typy danych i składniki takiego obiektu globalnego, a zatem zmienna globalna może

mieć postać złożoną, zapewniającą przekazywanie bardzo różnych danych. Jej panel można

traktować jako kontener, z którego korzystają różne podprogramy VI. Aby utworzyć zmienną

globalną, należy wybrać ikonę GLOB z palety struktur i przeciągnąć ją do diagramu aplikacji.

Spowoduje to utworzenie symbolu graficznego zmiennej w postaci prostokąta ze znakiem

zapytania sygnalizującym brak jej pełnego zdefiniowania. Drugim powstałym elementem

Page 87: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

87

będzie niewidoczny interfejs wirtualny z pustym pulpitem. W celu pełnej konfiguracji

zmiennej należy otworzyć pulpit za pomocą opcji Open Front Panel i umieścić na nim

odpowiednie obiekty odpowiadające typom danych, które składają się na tworzoną zmienną

globalną. Tak utworzony program VI należy zapisać pod unikalną nazwą. Zdefiniowaną

zmienną globalną wprowadza się do aplikacji przez otwarcie określonego globalnego

programu VI i przeciągnięcie jego ikony do jej diagramu. W miejscu docelowym trzeba

jeszcze określić czy zmienna ma być wykorzystywana do odczytu czy do zapisu oraz wybrać

odpowiedni składnik, gdy zmienna jest złożona z wielu elementów.

[http://cnx.org/]

W LabVIEW (v. 8.2) istnieje wygodne narzędzie VISA (Virtual Instrument Software

Architecture) do obsługi interfejsów GPIB, VXI, RS-232 oraz innych.

Rys.9. Przykład zastosowania funkcji VISA

Rysunek 9 przedstawia jak przesłać zapytanie *IDN? do urządzenia dołączonego do

portu szeregowego COM2. VISA konfiguruje port szeregowy VI, otwiera komunikację z

COM2, ustawia szybkość na 9,600 baud, 8 bitów danych, kontrolę nieparzystości, jeden bit

stopu i XON/XOFF handshaking16 (uzgadnianie). Następnie funkcja VISA Write wysyła

polecenie, a funkcja VISA Read czyta powtórnie do 200 bajtów do bufora odczytu, a blok

obsługi błędów sprawdza warunki błędu.

16 Przed utratą informacji zabezpiecza handshaking – odbiorca informuje nadawcę, że powinien przerwać wysyłanie danych do chwili, gdy zostaną odczytane dane przesłane wcześniej.

Page 88: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

88

VISA Configure Serial Port – dokonuje inicjalizacji portu szeregowego wskazanego przez

zmienną typu VISA Resorce_Name (o wartości np. COM1, COM2). Operuje bezpośrednio na

nadajniku/odbiorniku danych. Inicjalizacja portu szeregowego polega na określeniu

parametrów jego pracy. Oprócz parametrów standartowych takich jak prędkość transmisji czy

format danych, umożliwia zdefiniowanie wielu dodatkowych własności transmisji. Interfejs

VI ma aż 10 terminali wejściowych. Funkcja ta dokonuje rezerwacji zasobu, która trwa aż do

wywołania funkcji VISA Close.

VISA Write – funkcja zapisu do portu szeregowego. Dane podawane na terminal wejściowy

write buffer mają postać łańcucha znakowego. Funkcja zwraca liczbę bajtów, które udało się

zapisać.

VISA Read – funkcja odczytu bufora portu szeregowego. Jako argument przyjmuje liczbę

bajtów, która ma zostać odczytana. W rezultacie działania zwraca dane w postaci łańcucha

znakowego (zwraca też jego długość).

VISA Close – zwalnia zasób zarezerwowany przez VISA Configure Serial Port (zamyka port

szeregowy).

VISA Bytem At Serial Port – komponent zwraca liczbę bajtów oczekujących w buforze

odbiorczym portu szeregowego.

VISA Serial Break – przerywa transmisję wybranego portu szeregowego na 250 ms.

Wykorzystanie języka C w obsłudze kart akwizycji danych

[http://www.ontrak.net/]

Załóżmy, że mamy kartę akwizycji danych ADR101 (cena około 100$) z portem

szeregowym. Podstawowe dane tej karty są następujące:

Page 89: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

89

Supply Voltage 5Vdc +/- 10% or 9Vdc

via wall adaptor

Supply Current 15mA Typical, 30mA Max.

Operating Temperature 0 – 50oC

Analog inputs (2)

Input Voltage Range 0 - 5 Vdc

Input Capacitance 1.2nF Typical

Input Impedance >20MΩ

Digital I/O (8)

Sink Current 25mA Max.

Source Current 20mA Max

Vout High 4.00V Minimum

Vout Low 0.8V Maximum

Vin High 2.2V Minimum

Vin Low 0.8V Maximum

SERIAL PORT

RS232, 9600 Baud,

8 bit words,1 stop bit,

1 start bit, no parity

Polecenia wykorzystane w TURBO C w celu dostępu do karty ADR101 przez port

szeregowy wymagają deklaracji następujących plików:

#include <stdio.h>

#include <bios.h>

Page 90: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

90

Pierwszym krokiem jest konfiguracja parametrów portu szeregowego, to jest jego szybkości

na 9600 baud, długość słowa 8 bitów, bez kontroli parzystości. Można to zrobić poleceniem

bioscom. Składnia polecenia jest następująca:

bioscom (0,settings,com1);

gdzie settings zdefiniowano wcześniej jako HEX E3 a com1 jako 0 następująco:

#define com1 0

#define settings (0xE3)

Przesyłanie danych do ADR101

Wysyłanie poleceń do ADR101 odbywa się za pomocą fprintf, na przykład

fprintf (stdaux,"RA0\xD");

przesyła żądanie RAO (read analog port 0 to jest czytaj analogowy port 0 ze standardowego

urządzenia stdaux STanDard AUXiliary) do ADR101. Przyrostek \xD oznacza dosłownie

powrót karetki, czyli nową linię od początku. Zmienne całkowite mogą być używane w tej

linii poleceń.

Odbieranie danych z ADR101

Poprawnie przesłane dane można pobierać za pomocą fscanf. Po tym poleceniu bufor

szeregowy musi zostać przewinięty za pomocą polecenia rewind. Składnia jest następująca:

rewind(stdaux);

Polecenie to jest realizowane zgodnie z poleceniem fscanf. Na przykład, następujące

polecenia wysyła polecenie RA0 i zapisuje pobrane dane w zmiennej o nazwie AN0:

fprintf (stdaux,"RA0\xD");

fscanf (stdaux,"%e",&an0);

rewind (stdaux);

Dane mogą być również pobierane w formacie liczb całkowitych, jeżeli są dostępne porty

cyfrowe. Na przykład, następujące polecenia przesyła PA (czytaj port) do ADR101 i zapisuje

pobrane dane w zmiennej całkowitej o nazwie PORTA:

fprintf(stdaux,"PA\xD");fscanf(stdaux,"%D",&PORTA);rewind(stdaux);

Page 91: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

91

Pierwszy program pobiera status portu analogowego 0 i wyświetla dane na ekranie

/* Program pierwszy - testowanie portu analogowego */

#include <stdio.h>

#include <bios.h>

#define com1 0

#define settings (0xE3)

main( )

{ /* declare an0 as a floating point number */

float an0 ;

/* configure com1 9600 baud, 8 bit words, no parity */

bioscom (0,settings,com1);

/* send RA0 command to ADR101 on com1 */

fprintf(stdaux,"RA0 \xD");

/* initialize com1 buffer */

fscanf (stdaux,"%e",&an0);

/* print data on screen */

rewind (stdaux);

/* read data from com1 and store it at address of an0 */

printf ("ANALOG PORT 0= %e PERCENT \n",an0); }

Drugi program konfiguruje PORT A jako wyjście, ustawia go na 255, czyta powtórnie jego

status i wyświetla dane na ekranie.

* Program drugi - testowanie portu cyfrowego */

#include <sdio.h>

#include <bios.h>

#define com1 0

#define settings (0xE3)

main ( )

{ /* declare PORTA and DOUT as integer numbers */

int PORTA,DOUT ;

Page 92: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

92

/* set DOUT to integer 255 */

DOUT=255;

/* configure com1 9600 baud, 8 bit words, no parity */

bioscom (0,settings,com1);

/* send CPA00000000 command to ADR101 on com1 */

fprintf (stdaux,"CPA00000000 \xD");

/* send MAddd (ddd=DOUT) command to ADR101 on com1 */

fprintf (stdaux,"MA %d \xD",DOUT );

/* send PA command to ADR101 on com1 */

fprintf (stdaux,"PA \xD");

/* initialize com1 buffer */

fscanf (stdaux,"%d",&PORTA );

/* print data on screen */

rewind (stdaux);

/* read data from com1 and store at address of PORTA */

printf ("PORT A is %d DECIMAL \n",PORTA); }

Literatura

4. Chruściel M., LabView w praktyce. Wydawnictwo BTC, Legionowo 2008.

5. Winiecki W., Nowak J., Stanik S., Graficzne zintegrowane środowiska programowe do

projektowania. komputerowych systemów pomiarowo-kontrolnych, Wydawnictwo

MIKOM Warszawa 2001.

6. Rusek J., ABC programowania w C++, Helion, Gliwice 2002.

Page 93: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

93

Temat: Przetworniki inteligentne

Sygnał wyjściowy czujnika tylko niekiedy nadaje się do bezpośredniego

wykorzystania w układach regulacji, na ogół trzeba go przekształcić do postaci zgodnej z

wymaganiami systemu regulacyjnego. Przetwornikiem pomiarowym nazywamy układ

pośredniczący, przetwarzający sygnał wyjściowy czujnika na sygnał standardowy.

Konwencjonalne układy pomiarowe zawierają czujniki i przetworniki z analogowym

sygnałem wyjściowym:

Rys.1. Układ pomiarowy z przetwornikiem konwencjonalnym

Wielkość mierzona była przetwarzana na proporcjonalny (jeżeli było to możliwe) na

sygnał napięciowy w zakresie od 0 - 10V lub prądowy w zakresie 4 - 20 mA.

Sygnał napięciowy był bardzo kłopotliwy w przypadku, gdy czujnik znajdował się daleko od

układu regulacji co wymuszało stosowanie niskooporowych linii, co powodowało duże

koszty.

Przetworniki takie dzięki swojej prostocie miały niestety wiele wad i ich zastosowanie

nie wszędzie się sprawdzało.

Ich problem polegał głównie na tym, że ich zadanie sprowadzało się tylko do

wysyłania do układu regulacyjnego ciągłej informacji z czujnika, nie odwzorowującej

jednoznacznie wartość wielkości mierzonej, przenosząc całą odpowiedzialność

wyodrębnienia wielkości mierzonej na układy regulatora. To regulator musiał kompensować

powstałe błędy, rejestrować pomiary, sygnalizować uszkodzenia, przeprowadzać diagnostykę,

analizować alarmy. Nie było możliwości zmiany zakresu pomiarowego.

Wszystkie te problemy zniknęły w momencie pojawienia się przetworników

inteligentnych. Przetwornik inteligentny to przetwornik zawierający układ mikroprocesorowy.

Nie jest przesadnym stwierdzenie, iż w każdym okresie rozwoju nauki i techniki

czujniki determinowały możliwości poznawcze i wytwórcze człowieka. Obecnie, w dobie

Czujnik wzmacniacz U I

x(t) y(t)

Page 94: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

94

elektroniki, komputerów i wirtualnej rzeczywistości, również i czujniki przyjęły nową postać.

Tę postać określają atrybuty: inteligentny i zintegrowany, półprzewodnikowy. Inteligentny -

oznacza programowalny, działający autonomicznie, adaptacyjnie, z możliwością komunikacji

z innymi urządzeniami. Zintegrowany - bo może łączyć kilka różnych czujników lub wiele

czujników jednego rodzaju, a ponadto i różne układy analogowe lub cyfrowe, w tym

mikroprocesor - wszystko w jednej strukturze scalonej (chipie).

Stosowane są dwa podstawowe rozwiązania inteligentnych czujników, zawierające:

cyfrowo sterowany analogowy procesor sygnałów czujnika, w którym do kompensacji

wpływów i kalibracji są używane analogowe układy sterowane cyfrowo - np. programowane

wzmacniacze, układy kompensacji temperaturowej itp. lub cyfrowy procesor sygnałowy

czujnika, w którym sygnał wejściowy jest przetwarzany na cyfrowy, poddawany

odpowiedniemu przetwarzaniu, po czym sygnał cyfrowy jest ponownie przetwarzany na

analogowy. W pierwszym przypadku układ zapewnia analogową ciągłość sygnału ciśnienia,

nie zmieniając ani rozdzielczości, ani charakterystyki częstotliwościowej sygnału

wejściowego. W drugim przypadku parametry czujnika są ograniczone przez cyfrowy układ

przetwarzający, lecz architektura strukturalnie zapewnia cyfrowy sygnał wyjściowy.

Na czym polega inteligencja czujnika?

Jedna z definicji czujnika inteligentnego (inteligent sensor, smart sensor) brzmi:

Czujnik sam w sobie spełnia funkcje przetwarzania danych oraz funkcje

kalibracji/automatycznej kompensacji, w których sam czujnik wykrywa i eliminuje wartości

nienormalne lub wyjątkowe. Zawiera algorytm, który może być zmieniany oraz pełni w

pewnym stopniu funkcję pamięci. Może współpracować z innymi czujnikami, adaptuje się do

zmian warunków otoczenia i ma funkcję rozróżniania (rozeznawania). Urządzenie o tak

zdefiniowanych cechach jest przetwornikiem inteligentnym.

Potencjalne usprawnienia oferowane użytkownikom przez czujniki inteligentne, w

porównaniu do rozwiązań klasycznych, są następujące:

lepsza dokładność, teoretycznie ograniczona tylko niestabilnością czujnika,

możliwość jednoczesnej kalibracji i kompensacji wielu czujników w procesie

wytwarzania,

Page 95: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

95

zwiększona odporność na zakłócenia i możliwość komunikacji na duże odległości,

wykrywanie błędów i diagnostyka,

zdolność podejmowania decyzji,

możliwość lokalnego zbierania, przetwarzania i dystrybucji informacji,

dwustronne komunikowanie się z innymi urządzeniami,

rozwiązywanie konfliktów, np. kolejność dostępu do sieci komunikacyjnej,

programowalna wiedza, np. o czasach oczekiwanych transmisji danych,

samotestowanie lub samo kalibracja,

zdolność uczenia się, np. optymalizowanie zakresu pomiarowego,

możliwość programowej zmiany wykonywanych operacji.

Inteligencja czujników jest wynikiem wykorzystania mikrokontrolera (sterownika

mikroprocesorowego), wyposażonego w odpowiednie oprogramowanie.

Rys.2 Przykład układu pomiarowego z przetwornikiem inteligentnym

Przetworniki inteligentne pierwszej generacji posiadały takie własności jak:

Linearyzacja charakterystyki statycznej;

Kompensacja błędów wywołanych wpływem czynników zewnętrznych (np.

temperatura, wilgotność, ciśnienie);

Sygnalizacja uszkodzeń, diagnostykę;

Sygnalizacja stanów granicznych

Możliwość statystycznego opracowania wyników;

Wybór typu charakterystyki (liniowa, pierwiastkowa, inwersyjna);

Konfiguracja zakresu;

Możliwość wprowadzenia tłumienia

Komunikacja cyfrową;

Możliwość realizacji algorytmu PID w przetworniku

czujnik wzmacniacz a c P

x(t) y(t)

Page 96: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

96

Zdalne kształtowanie charakterystyk przetwarzania,

automatyczne sterowani procesem porównywania ze wzorcem,

automatyczne ustawiania zakresu pomiarowego (samoadaptacja),

zapamiętywanie i kompresja danych bez utraty informacji w określonym czasie,

wstępne statystyczne opracowanie danych,

sterowanie procesem wizualizacji,

samo testowanie (detekcją i diagnostyką błędów),

samo naprawialność,

dwustronna komunikacja z innymi urządzeniami przy użyciu standardowego

protokołu – cecha obowiązkowa we wszystkich inteligentnych przetwornikach.

Rozwój elektroniki i techniki mikroprocesorowej pozwolił na wprowadzenie mikroprocesora

do przetwornika pomiarowego.

Inteligentne przetworniki pomiarowe pierwszej generacji to konwencjonalne

przetworniki pomiarowe wyposażone w układ mikroprocesorowy służący do obróbki sygnału

wyjściowego z przetwornika oraz do wprowadzania danych do przetwornika przez operatora.

Rys.3 Schemat blokowy przetwornika inteligentnego pierwszej generacji

W przetwornikach tych ciągle jednak przesyłanie informacji odbywało się poprzez

wysyłanie sygnałów prądowych, np. 4-20mA. Nie było możliwości np. zdalnego

kalibrowania czujnika.

Page 97: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

97

Przetworniki drugiej generacji wyposażone są dodatkowo w blok komunikacji cyfrowej.

Rys.4 Schemat przetwornika inteligentnego drugiej generacji

Wprowadzenie bloku komunikacji i zaimplementowanie protokołu transmisji

otworzyło nowe możliwości przed przetwornikami pomiarowymi. Operator oprócz informacji

o wielkości mierzonej ma dostęp do informacji o samym przetworniku - o konfiguracji

przetwornika, aktualnym stanie itp. Komunikacja cyfrowa możliwa jest w dwóch kierunkach,

a więc operator może zdalnie konfigurować przetwornik znajdujący się np. w trudno

dostępnym miejscu (w przetwornikach pierwszej generacji konfiguracja odbywała się albo za

pomocą przycisków znajdujących się na przetworniku, albo też za pomocą konfiguratora

dołączanego do specjalnego złącza np. RS 232).

W zależności od protokołu transmisji cyfrowej inteligentny przetwornik drugiej generacji ma

różne zalety.

Przetwornikiem z zaimplementowanym protokołem transmisji HART (70%

inteligentnych przetworników) można zastąpić bez żadnych dodatkowych "przeróbek"

konwencjonalny przetwornik analogowy. Sygnałem wyjściowym z takiego przetwornika jest

standardowy sygnał prądowy 4-20mA na który jest nałożony zmodulowany

częstotliwościowo sinusoidalny prądowy sygnał cyfrowy (modulacja typu FSK17).

17 FSK (Frequency Shift Keying)- kluczowanie częstotliwości impulsowej fali nośnej. Częstotliwość

nośna w tym wypadku przyjmuje zamiennie dwie wartości, które reprezentują stany logiczne 0 i 1. W ten sposób można zrealizować transmisję ciągu bitów informacyjnych. Sygnał FSK może być generowany z wykorzystaniem jednego generatora przestrajalnego lub dwóch oddzielnych generatorów. Zaletą pierwszego rozwiązania jest uzyskanie ciągłości fazy w momencie zmiany częstotliwości generowanego sygnału).

Page 98: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

98

Komunikacja cyfrowa z tym przetwornikiem odbywa się za pomocą specjalnego

komunikatora dołączanego w dowolnym miejscu linii sygnałowej 4 –20 mA.

Protokół HART

Komunikację między systemami regulacji, pomiarów i sterowania, a inteligentnymi

instrumentami polowymi (tzn. rozmieszczonymi na obiekcie) jest łatwo zrealizować za

pomocą przemysłowego standardu łączności HART (Highway Addressable Remote

Transducer). Protokół HART jest „otwarty” i dostępny dla każdego instrumentu. Wsparcie

dla tej technologii jest dostarczone przez HART Communiction Foundation. Protokół ten jest

dostępny dla każdego, kto chce go używać.

W 1986 roku firma Rosemount wprowadziła na rynek tzw. inteligentne przetworniki

pomiarowe, które poza generowaniem prądowego sygnału pomiarowego 4-20mA,

komunikowały się przy pomocy tzw. protokołu HART. Protokół ten umożliwiał zmianę

zakresu i diagnostykę urządzeń. Działa w oparciu o standard Bell 202, przetworniki tego typu

mogą pracować w trybie analogowym i cyfrowym, jednak w przypadku komunikacji

cyfrowej czasy odpowiedzi są bardzo wolne, dlatego komunikacja ta służy głównie do zmiany

nastaw i diagnostyki. Jest on dzisiaj standardem komunikacji urządzeń pomiarowych w

przemyśle.

Obecnie protokół ten wykorzystują wszyscy producenci aparatury min. Emerson, Yokogawa,

ABB czy Endress+Hauser. W celu koordynacji działań oraz właściwego stosowania

powołano fundację skupiającą producentów aparatury HART Foundation.

Transmisja sygnału cyfrowego za pomocą protokołu komunikacyjnego HART polega na

nałożeniu, na sygnał prądowy 4÷20 mA informacji cyfrowej, kodowanej w postaci sygnału

sinusoidalnego o wartości średniej równej 0 i dwóch częstotliwościach. Częstotliwość

f1=1200 Hz odpowiada logicznej 1, a f2=2200 Hz oznacza logiczne 0.

HART pozwala na przyłączenie do jednej pętli prądowej do 15 urządzeń, jednakże w takim

wypadku napięcie na linii jest ustawiane na poziomie 4mA i służy ono jedynie do zasilania

przetworników, traci się w ten sposób możliwość analogowego odczytu wartości mierzonej

(np. miliamperomierzem).

Page 99: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

99

Rys.5. Przesyłanie wartości cyfrowych przy pomocy modulacji FSK

Zasada pracy pętli prądowej polega na przedstawieniu wartości wyniku pomiaru

w postaci wartości prądu pobieranego przez przyrząd. Najczęściej przyjmuje się, że dolnemu

zakresowi pomiaru odpowiada prąd pobierany równy 4 mA, a górnemu - 20 mA – standard 4-

20mA. Zaleta takiego rozwiązania jest jednoczesne zasilanie przyrządu i transmisja wyniku

przy pomocy jednej linii dwuprzewodowej. Jednakże możliwa jest transmisja danych tylko z

jednego przetwornika. Kolejna zaleta takiego rozwiązania jest możliwość sygnalizowania

błędu urządzenia droga analogowa - wartość prądu poza dopuszczalnym zakresem, zwykle

poniżej 3,75 mA lub powyżej 21,6 mA. Najważniejszym atutem tego rozwiązania jest

możliwość komunikacji cyfrowej za pomocą protokołu HART.

Protokół HART jest protokołem typy master-slave. Oznacza to, że polowe przyrządy

odpowiadają tylko wtedy, kiedy urządzenie nadrzędne tego żąda. Mogą istnieć dwa układy

nadrzędne (np. system kontroli i podręczny komunikator). Do pojedynczej wielopunktowej

linii może być podłączone do 15 przyrządów.

Przetworniki korzystają z kabla w postaci ekranowanej pary skrętnej (mogą korzystać

z istniejącego okablowania po konwencjonalnym przetworniku). Tak więc w dalszym ciągu

do każdego przetwornika konieczne jest prowadzenie oddzielnej pary przewodów (koszt

okablowania może sięgać 40% kosztu całej instalacji).

Problem ten rozwiązano wykorzystując protokoły transmisji tj. PROFIBUS, Modbus,

FieldBus czy CAN. Tu zmieniła się zupełnie architektura systemu pomiarowego. Oparta

została na sieci, w której przetworniki, sterowniki i elementy wykonawcze są jej węzłami.

Page 100: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

100

System taki jest łatwo rekonfigurowaly, nie wymaga rozbudowanego okablowania (praca

magistralowa) i jest bardziej odporny na zakłócenia zewnętrzne.

Przetworniki z tego typu protokołami doskonale nadają się w systemach automatyki typu

rozproszonej lub SCADA.

W inteligentnych przetwornikach trzeciej generacji oprócz pomiaru wiodącej

wielkości mierzonej dokonywany jest pomiar innych wielkości mających wpływ na wynik

pomiaru.

Rys.6 Schemat inteligentnego przetwornika trzeciej generacji

Przetwornik ten jest wiec układem typu MIMO (Multi Input Multi Output). W

inteligentnych przetwornikach pierwszej generacji wymagane było aby charakterystyka

czujnika była stała i stabilna nie tylko w czasie, ale i od innych czynników (np. temperatury,

ciśnienia czy wilgotności). W przetwornikach trzeciej generacji niedogodność tę

wyeliminowano przez dodanie dodatkowych czujników mierzących wielkości mające wpływ

na wynik pomiaru. Uwzględnianie poprawek od tych czynników znacznie zwiększyło

dokładność pomiaru, a ponadto pozwoliło na dokonanie pewnych obliczeń bilansowych np.

masowe natężenie przepływu, ilości ciepła, czy zużycia gazu.

W niektórych przetwornikach inteligentnych (szczególnie drugiej i trzeciej generacji)

wbudowane są pewne funkcje diagnostyczne. Może to polegać na przykład na analizie

wysyłanego sygnału (szybkości jego zmian, stałości zmian, przekroczeniu zakresu itp.). W

przetwornikach trzeciej generacji są instalowane w celach diagnostycznych dodatkowe

wykrywające usterki czy nadmierne zużycie (np. nieszczelności – czujnik ciśnienia, zużycie,

Page 101: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

101

itp.). Jest to szczególnie istotne przy konstruowaniu układów regulacji odpornych na

uszkodzenie (Fault Tolerant Control).

Literatura

Czujniki inteligentne – technologie wykonywania, parametry, zastosowanie. Praca

dyplomowa magisterska, Politechnika Szczecińska, Szczecin 2007.

prezentacja_ects_diagnostyka.pdf

Page 102: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

102

Temat: Sieci bezprzewodowe

Do pierwszych sieci bezprzewodowych należały sieci Aloha, ARDIS oraz Ricochet.

Miały one bardzo niską przepustowość - zazwyczaj w okolicach 1Mb na całą sieć oraz

niewielki zasięg. Sieci bezprzewodowe często są określana terminem Wi-Fi (Wireless

Fidelity). Sieci bezprzewodowe działają w oparciu o propagację fal elektromagnetycznych,

dlatego też są przystosowane do przenoszenia informacji w ściśle określonym paśmie

częstotliwości.

Zalety sieci bezprzewodowych:

Mobilność.

Łatwość instalacji.

Elastyczność - dodanie nowego urządzenia nie wymaga dużego nakładu pracy.

Zasięg - zwykle od kilku do kilkudziesięciu metrów, a nawet w przypadku

najnowszych technologii, np. WiMax do kilkudziesięciu kilometrów.

Możliwość szybkiej rozbudowy i modyfikacji.

Sieci bezprzewodowe opisuje przyjęty w roku 1997 standard IEEE18 802.11x (gdzie x

to jedna z liter a, b, g, c-f, h-j, n), który zakładał przesyłanie informacji z prędkościami 1-2

Mb, przy użyciu fal radiowych o częstotliwości 2,4 GHz oraz promieniowania

podczerwonego. Standard ten precyzuje budowę pierwszej oraz części drugiej warstwy

modelu OSI. Część tego standardu dotycząca wykorzystania promieniowania podczerwonego

nie przyjęła się w związku z konkurencją standardu IrDA (Infrared Data Association).

Standardy 802.11 tworzą grupę trzech niezależnych protokołów (a, b, g). Standardy określone

pozostałymi literami: c-f, h-j, n opisują rozszerzenia usług i poprawek innych standardów.

W standardzie 802.11a dane przesyłane są z szybkością 54 Mb/s przy

częstotliwości 5 GHz. 802.11a używa techniki kodowania OFDM (Orthogonal

Frequency-Division Multiplexing – metoda modulacji polegająca na jednoczesnej

18 IEEE (wymowa: 'aj-triple-i', Institute of Electrical and Electronics Engineers) - Instytut Inżynierów

Elektryków i Elektroników.

Page 103: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

103

wolnej transmisji wielu strumieni danych na ortogonalnych19 częstotliwościach

nośnych). W porównaniu ze standardem 802.11b, posiada dwie podstawowe

zalety: szybkość i osiem nie zachodzących na siebie kanałów. W przypadku

częstotliwości 2,4 GHz są to tylko trzy kanały. Również ogólna szerokość pasma

jest większa niż przy 2,4 GHz. W przypadku częstotliwości 2,4 GHz jest to

83,5 MHz, zaś przy 5 GHz-300 MHz. Oba standardy pracują na różnych

częstotliwościach, a zatem nie są zgodne ze sobą, ale oba standardy mogą być

stosowane w tym samym systemie informatycznym.

W standardzie 802.11b dane przesyłane są z szybkością do 11 Mbps (praktycznie

do 5,5 Mbps) w paśmie 2.4 GHz. Zasięg wynosi 46 m w pomieszczeniach

zamkniętych i 96 m w otwartej przestrzeni. Zasięg można powiększyć przez

zastosowanie anten ze wzmacniaczami. Spektrum kanału 2,4 GHz zostało

podzielone na 14 kanałów, z których każdy ma szerokość 22 MHz, co w praktyce

oznacza, że zakres częstotliwości wykorzystywanych przez ten standard mieści się

w przedziale 2,4 GHz do 2,494 GHz.

Celem standardu 802.11g, było rozszerzenie standardu 802.11b. Głównym

problemem, jaki napotykali użytkownicy standardu 802.11b była zbyt wolna

transmisja. W 2003 podjęto zatem próbę zastosowania techniki OFDM (znanej ze

standardu 802.11a) do transmisji danych w paśmie 2.4 GHz. Z uwagi na

kompatybilność wsteczną ze standardem 802.11b nowe karty sieciowe

obsługiwały zarówno poprzednie, jak i nowe metody modulacji. Tak więc, jeśli w

sieci występują karty sieciowe starej generacji, transmisja odbywa się z mniejszą

prędkością.

802.11n jest jeszcze w fazie przygotowań.

Połączenia bezprzewodowe realizowane są przy wykorzystaniu nadajników i odbiorników

rozmieszczonych na terenie np. firmy i będących jej własnością. Radiowe urządzenie

nadawczo-odbiorcze nazywane jest transceiver’em (transmitter/receiver). Bezprzewodowe

19 Ortogonalny to jest mający przesuniecie fazowe 90 stopni.

Page 104: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

104

połączenia w sieci lokalnej eliminują konieczność układania kabli, co przydatne jest w

sieciach utworzonych tymczasowo. Użytkownicy z komputerami przenośnymi mogą poruszać

się po obszarze objętym zasięgiem transceiver’a. Bezprzewodowa transmisja danych może

być realizowana przy użyciu jednej z trzech metod:

a) transmisja w podczerwieni - metoda ta udostępnia szerokie pasmo transmisyjne,

pozwala na przesyłanie sygnałów z bardzo dużą częstotliwością. Transmisja

wykorzystująca promienie podczerwone realizowana jest wzdłuż linii widoczności,

dlatego zarówno nadajnik jak i odbiornik muszą być skierowane do siebie lub też

promienie muszą być wzajemnie zogniskowane. Tak więc przy instalowaniu tego

typu sieci należy uwzględnić strukturę i wzajemne położenie pomieszczeń. Ponieważ

transmisja realizowana jest przy użyciu promieni podczerwonych, to może być

zakłócona silnym światłem pochodzącym z innych źródeł. Typowa szybkość

transmisji osiąga tutaj 10 Mbit/s;

b) transmisja radiowa wąskopasmowa - metoda ta jest podobna do metod stosowanych

w klasycznej radiofonii: zarówno nadajnik jak i odbiornik pracują w jednym wąskim

paśmie częstotliwości. Sygnał rozprzestrzenia się na znacznym obszarze i może

przenikać przez przeszkody - nie jest więc konieczne ogniskowanie sygnału.

Mankamentem tej metody jest możliwość występowania zakłóceń spowodowanych

odbiciami sygnału. Ponadto dla uniknięcia zakłóceń powodowanych przez inne

urządzenia radionadawcze konieczne jest dokładne dostrojenie nadajnika i odbiornika

na wybraną częstotliwość. Szybkość transmisji jest tutaj rzędu kilkunastu kbit/s;

c) transmisja radiowa szerokopasmowa - sygnał generowany jest w szerokim paśmie

częstotliwości. Chwilowy rozkład częstotliwości określany jest za pomocą kodu -

wspólnego dla nadajnika i odbiornika. Moc sygnału emitowanego tą techniką jest

niewielka. Szybkość transmisji kształtuje się na poziomie 250 kbit/s;

d) transmisja mikrofalowa - transmisja tą metodą może się odbyć, gdy zapewniona jest

wzajemna widoczność nadawcy i odbiorcy, może to być np. połączenie satelity ze

stacją naziemną, łączność między dwoma budynkami, łączność na dużych otwartych

obszarach, gdzie położenie kabla nie jest opłacalne (pustynie, bagna, duże jeziora).

Page 105: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

105

System transmisyjny wykorzystujący mikrofale składa się z dwóch anten

kierunkowych, skierowanych na siebie, wysyłających wiązkę fal

elektromagnetycznych i ogniskujących odebraną wiązkę fal. Maksymalna odległość

między antenami nie powinna przekraczać 45 km. W przeciwieństwie do klasycznej

transmisji radiowej anteny mikrofalowe skierowane są na jeden punkt. Stosowane

częstotliwości transmisji zawierają się w przedziale 2GHz-25GHz, przy czym wyższe

częstotliwości wykorzystywane są prywatnie, na krótkich odległościach.

Sieci bezprzewodowe zawierają dodatkowe elementy sieciowe, m.in. takie jak:

bezprzewodowe karty sieciowe wbudowane najczęściej na stałe w płytę główną komputera

(jak w urządzeniach mobilnych) lub dodatkowe karty sieciowe, dołączoną poprzez złącze

typu PCMCIA lub USB, anteny, itp. Urządzenia mobilne komunikują się z punktem

dostępowym drogą radiową (punkty dostępowe (access point) - są to urządzenia, które zwykle

są przyłączone do sieci LAN przy pomocy medium tradycyjnego - kabla).

Literatura

http://wazniak.mimuw.edu.pl/

Page 106: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

106

Temat: Sieci przemysłowe – Ethernet, PROFIBUS, CAN, Modbus, DeviceNet.

Dla przypomnienia: w cyfrowych, rozproszonych układach sterowania wyróżnia się trzy

podstawowe rodzaje topologii sieci komputerowych: magistrali, pierścienia i gwiazdy.

Topologia magistrali. Charakterystyczną cechą topologii magistralowej jest występowanie

tzw. magistrali (bus), tj. linijnego kabla transmisyjnego (informatycznej linii komunikacyjnej)

do którego dołączone są wszystkie węzły sieci;

Topologia pierścienia. W sieciach o tej konfiguracji kabel łączący węzły (stacje) sieci

tworzy pierścień (ring). Wszystkie węzły włączone w pierścień przekazują sygnały (tylko w

jednym kierunku), dokonują ich kontroli tj. poprawności transmisji i adresu przeznaczenia, a

także przeprowadzają regeneracje sygnałów.

Topologia gwiazdy. W sieciach o topologii gwiazdy (star) w najprostszym przypadku

występuje komputer (węzeł) centralny pełniący funkcję zarządcy sieci do którego dołączone

są wszystkie węzły (stacje).

Odmianą sieci o topologii gwiazdy są sieci o strukturze płatka śniegu (snowflake), w której

występuje wiele węzłów „centralnych” stacji wzajemnie połączonych.

Do znanych standardów przemysłowych sieci miejscowych należą następujące sieci:

Ethernet, PROFIBUS, CAN, Modbus, DeviceNet.

PROFIBUS (PROcess FIeld BUS) jest przemysłowym standardem komunikacyjnym

przemysłowej sieci czasu rzeczywistego, który został opracowany w 1991 r. w Niemczech

przez firmę Siemens. Został on ustanowiony normą europejską EN 50170. Architektura tego

protokołu została oparta na warstwowym modelu sieci tzw. OSI (Open Systems

Interconnection). System PROFIBUS standaryzuje urządzenia na wielu poziomach, od

poziomu czujników i urządzeń wykonawczych (PROFIBUS DP - Distributed Periphery i

Page 107: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

107

PROFIBUS PA – Process Automation), przez komunikację z tymi urządzeniami (PROFIBUS

FMS – Fieldbus Messaging), po zarządzanie produkcją.

Standard ten cechuje duży stopień elastyczności i uniwersalności. Główne jego cechy to:

topologia sieci: pierścień (token ring);

maksymalna liczba węzłów sieci – 127;

maksymalna długość linii – 1200 m, a ze wzmacniaczami – 4800 m;

szybkość transmisji: od 9.6 kbit/s do 1.5 Mbit/s (w zależności od długości linii);

transmisja asynchroniczna (półdupleks) zgodna ze standardem RS 485;

medium transmisyjne: skrętka lub światłowód;

najwyżej położoną warstwą w modelu sieci OSI jest warstwa 7 (sprzężenie z aplikacją);

cechą protokołu PROFIBUS jest możliwość obiektowo zorientowanych aplikacji typu

„klient – serwer”;

PROFIBUS jest siecią deterministyczną. Komunikacja odbywa się na zasadzie

master/slave lub master/master.

Węzłami sieci mogą być zarówno proste urządzenia wejścia/wyjścia analogowe i cyfrowe,

czujniki lub elementy wykonawcze, jak i komputery, sterowniki swobodnie programowalne,

falowniki, itp.

W standardzie PROFIBUS zdefiniowano trzy tzw. profile komunikacyjne (tj. wybrany zestaw

funkcji) – FMS, DP i PA. Określają one mechanizmy współpracy protokołu komunikacyjnego

z medium transmisyjnym, co zapewnia niezależność pracy aplikacji od zastosowanych w

systemie urządzeń.

PROFIBUS FMS (Field Message Specification) jest najwyższym poziomem w sieci

komputerowej przeznaczonym do współpracy z PLC, komputerami PC oraz innymi

urządzeniami wyższego poziomu. Obecnie profil PROFIBUS FMS jest zastępowany

przez PROFIBUS PA z uwagi na jego prostotę.

PROFIBUS PA (Process Automation) jest to profil dotyczący połączeń elementów

automatyki na najniższym poziomie automatyzacji. PROFIBUS PA oraz PROFIBUS

DP używają takich samych protokołów komunikacyjnych, a więc połączenie obu tych

sieci jest łatwe. PROFIBUS PA jest konkretnym profilem aplikacyjnym

Page 108: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

108

ukierunkowanym na automatyzację procesów, opartym na profilu PROFIBUS DP.

Wśród innych profili aplikacyjnych są:

PROFIBUS DP (Distributed Periphery). Sieć ta jest obecnie najpopularniejszą siecią

przemysłową stosowaną do komunikacji pomiędzy systemem sterowania najniższego

poziomu, a urządzeniami peryferyjnymi (sieć o profilu PA jest dołączona do sieci o

profilu DP). Do jej podstawowych cech należy zaliczyć łatwą integrację urządzeń

różnych producentów w ramach jednego systemu, odporność na zakłócenia oraz

szerokie wsparcie wśród producentów sprzętu. PROFIBUS DP służy do bardzo

szybkiej obsługi zdecentralizowanych urządzeń we/wy. Do sieci PROFIBUS-DP może

być podłączonych maksymalnie 32 urządzenia. Sposoby komunikacji to: rozgłaszanie

lub wysyłanie komunikatów. Fizycznym medium dla PROFIBUS-DP jest RS-485 lub

światłowód.

CAN (Controller Area Network) stanowi protokół szybkiej komunikacji szeregowej

wykorzystujący standardowe komunikaty. Został on zaprojektowany w 1989 roku przez

niemiecki koncern Bosch (ISO 11519-2, ISO 11898) w celu zastosowania w pojazdach.

Główne cechy standardu CAN to:

pojemność sieci – większa od 5 milionów komunikatów;

maksymalna prędkość transmisji: 2.5 Mbit/s (1 Mbit/s dla skrętki);

maksymalna długość linii: 10 km (1000 m / segment);

medium transmisyjne: skrętka, światłowód;

losowy dostęp do magistrali z arbitrażem bitowym CSMA/CR (dostęp stacji do medium

komunikacyjnego odbywa się bez oczekiwania na pozwolenie, o ile tylko stacja

stwierdzi „ciszę” na magistrali);

zabezpieczenie danych: 16-bitowy CRC.

CAN to dość wyspecjalizowany rodzaj sieci. Charakteryzuje się szybką kontrolą

błędów i wysoką odpornością na zakłócenia elektryczne. Dzięki tym cechom często

korzysta się z sieci CAN w przemysłach samochodowym i lotniczym (gdzie transmisja

Page 109: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

109

danych zazwyczaj przebiega w pobliżu urządzeń emitujących fale elektromagnetyczne).

Przede wszystkim jednak sieć CAN posiada niezastąpione rozwiązania kontroli błędów.

Powiązanie pomiędzy hostami CAN i sieciami CAN jest niewiarygodnie ścisłe - tak ścisłe,

że kontrola błędów stosowana jest już na poziomie procesora. Sieci tego rodzaju są w stanie

odróżnić dane, które bezwzględnie muszą zostać poddane kontroli błędów i te, które nie

muszą.

Sieć CAN jest jedną z kilku najczęściej stosowanych w Europie sieci

przemysłowych. Jednak dzięki swym zaletom sieć ta znalazła wkrótce zastosowanie

również w przemyśle, w sterowaniu ruchem drogowym i kolejowym, w aparaturze

medycznej i w automatyzacji budynków, w tym w systemach przeciwpożarowych.

Najczęściej spotyka się sieci CAN o topologii szyny, ale możliwe jest również

łączenie węzłów w układ gwiazdy. Początkowo do komunikacji wykorzystywano w nich,

jako medium transmisyjne, jedynie skrętkę ekranowaną. Obecnie są również

wykorzystywane inne media, np. światłowód, fale radiowe, podczerwień i sieć

energetyczna. W zależności od użytego medium i odległości w sieci CAN można przesyłać

dane z różną szybkością. Dla najpopularniejszego, czyli tzw. skrętki, można uzyskać 1

Mbit/s na odległość do 40 m oraz 50 kbit/s przy odległości do 1 km. W sieci CAN węzły nie

mają adresów. Zamiast tego telegramy mają identyfikatory 11-bitowe (specyfikacja CAN

2.0 A) lub 29-bitowe (specyfikacja CAN 2.0 B).

Transmisja danych w magistrali CAN jest zgodna ze strukturą modelu ISO/OSI.

Protokół CAN dostosowuje się do wymagań modelu na poziomie dwu warstw tego modelu:

pierwszej (warstwie fizycznej) i drugiej (warstwie łącza danych). Warstwa pierwsza

(fizyczna) zapewnia komunikację z wykorzystaniem optycznych i różnicowych, linii

dwuprzewodowych. Warstwa druga (łącza danych) odpowiada m.in. za selekcję

telegramów, opakowywanie danych, kodowanie ramki, sygnalizację błędów i dostęp do

medium. CAN wykorzystuje do transmisji danych, zgodnie ze specyfikacją protokołu,

specjalizowane podzespoły. Zaletą standardu CAN jest wysoka odporność transmisji na

zakłócenia. Układy bezpośrednio obsługujące magistralę CAN można podzielić na trzy,

grupy:

Page 110: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

110

układy nadawczo-odbiorcze (trasceiver),

kontrolery współpracujące z mikroprocesorem

mikroprocesory (mikrokontrolery) z wpisanym standardem CAN.

Podstawowymi elementami w urządzeniach obsługujących sieć CAN są kontrolery

oraz układy nadawczo-odbiorcze. Wiele znanych firm stworzyło własne układy

przeznaczone do magistrali CAN, ale nadal największymi producentami podstawowych

elementów sieci CAN są firmy Bosch i PHILIPS, jej pierwsi promotorzy.

Ponieważ magistrala CAN nie stosuje systemu adresowania poszczególnych węzłów, nie

ma potrzeby informowania systemu o zmianie konfiguracji. Takie rozwiązanie ma pewne

zalety:

dodanie węzła do sieci CAN nie wymaga zmian w oprogramowaniu, sprzęcie, a

także w warstwie aplikacyjnej,

każdy węzeł może odebrać i jednocześnie wykorzystać informacje z tego samego

telegramu,

sieć CAN gwarantuje, że każdy telegram jest jednocześnie akceptowany przez

wszystkie węzły lub zostaje odrzucony; w ten sposób zapewniona jest zgodność

danych w całym systemie.

W określonym rozwiązaniu sieci CAN szybkość transmisji jest stała. Transfer informacji

jest możliwy z szybkością w granicach od 5 kbit/s do 1 Mbit/s. Sieć CAN, początkowo

stosowana w samochodach, charakteryzowała się niewielką długością całej magistrali, rzędu

5-10 m, tak więc stosowano szybkość transmisji 1 Mbit/s. Po wprowadzeniu CAN do

przemysłu wymagane odległości znacznie się zwiększyły, a szybkości transmisji

zmniejszyły, czasem do 5 kbit/s.

W magistrali CAN liczba węzłów jest teoretycznie nieograniczona, ponieważ nie ma tu

systemu adresowania węzłów. W praktyce liczba stosowanych węzłów jest ograniczona

przez parametry elektryczne nadajników-odbiorników. Istnieje jednakże możliwość

zastosowania układów wzmacniających sygnał tzw. powtarzaczy (repeater), za pomocą

których można zwiększyć liczbę urządzeń podłączonych do szyny i zwiększyć zasięg całej

Page 111: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

111

sieci. Duża liczba węzłów zastosowanych w jednej sieci wpływa jednak na opóźnienie

przesyłu informacji, tak więc często jest tu potrzebny kompromis. Magistrala ma natomiast

atrakcyjną cechę: aby zmniejszyć pobór energii, możliwe jest ustawienie węzłów CAN w

tryb uśpienia. Szyna zostaje pobudzona z trybu uśpienia, m.in. gdy jeden ze sterowników

wykaże aktywność.

Warstwa fizyczna sieci CAN

Magistrala CAN stosuje do przesyłania danych przez przewody dwa różne poziomy

logiczne, ale nie definiuje stanów fizycznych reprezentujących te poziomy. Określa

natomiast ich funkcje logiczne jako poziom dominujący i poziom ustępujący. Taki system

ma zapewniać poprawną transmisję podczas próby jednoczesnego nadawania przez dwa

różne urządzenia. Poziom dominujący ma wyższy priorytet niż poziom ustępujący. Dzięki

temu podczas próby jednoczesnej transmisji bitu dominującego i ustępującego przez dwa

różne urządzenia otrzymuje się zawsze poziom dominujący i – co najważniejsze – nie

nastąpi przy tym zakłócenie transmisji.

W przypadku dwuprzewodowej skrętki, gdy na magistralę podawana jest logiczna 1, to

na dwóch liniach sygnałowych pojawia się napięcie 2,5 V; stan taki reprezentuje poziom

ustępujący. Natomiast gdy na magistralę jest podawane logiczne 0, to na linii CAN-H

napięcie zostaje podwyższone do 5 V, a stan drugiej linii – CAN-L – obniżone do wartości

(potencjału) odpowiadającej masie układu; stan taki reprezentuje poziom dominujący. W

ten sposób zostaje zrealizowane wymaganie normy ISO 11898 dla CAN, aby komunikacja

była kontynuowana (jedynie z obniżonym odstępem poziomu sygnału od poziomu szumów)

nawet w przypadkach: zerwania jednego z przewodów, zwarcia jednego z przewodów do

źródła zasilania lub zwarcia jednego z przewodów do masy.

Warstwa łącza danych CAN

W celu uniknięcia konfliktu przy nadawaniu, po przygotowaniu komunikatu do

nadawania, węzeł obserwuje stan magistrali i powstrzymuje transmisję aż do chwili

stwierdzenia, że szyna jest wolna. Pierwszym elementem komunikatu jest identyfikator.

Page 112: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

112

Jeżeli w tym samym czasie rozpoczną nadawanie dwa urządzenia, to identyfikatory

telegramów nałożą się na siebie. W razie niezgodności nakładających się bitów (0 i 1) w

sieci ustali się wartość 0. Dzięki temu węzeł, który nadał 1 (a więc węzeł o niższym

priorytecie) może wykryć kolizję i przerwać nadawanie. Węzeł o wyższym priorytecie

może nadać resztę telegramu bez przeszkód. Takie rozwiązanie powoduje, że ani

informacja, ani czas nie są tracone. Gdy dwa różne telegramy są inicjowane w tym samym

czasie, to zawsze ramka danych o wyższym priorytecie zostaje wysłana na szynę.

W różnych segmentach tej samej magistrali mogą być wykorzystywane różne rodzaje

kabli. Obecnie najczęściej jest stosowana tzw. skrętka, która przy niskiej cenie zapewnia

dużą odporność na zakłócenia elektromagnetyczne. Od kilku lat do systemów magistralnych

są wprowadzane inne media, w tym światłowody. Charakteryzują się one bardzo małym

tłumieniem sygnału oraz bardzo dużą odpornością na zakłócenia elektromagnetyczne.

Zastosowanie światłowodu umożliwia znaczne zwiększenie rozpiętości sieci oraz uzyskanie

bardzo dużych szybkości transmisji. Dodatkową zaletą światłowodu jest zapewnienie

galwanicznej izolacji węzłów sieci. Światłowody są coraz częściej stosowane w systemach

przemysłowych instalowanych w środowisku o szczególnie wysokim poziomie zakłóceń.

Ciągle jeszcze ich słabą stroną jest wysoki koszt kabla światłowodowego oraz

przetworników elektrooptycznych. Zastosowanie światłowodów w systemie CAN nie jest

jeszcze popularne, ale kilka firm wprowadziło już na rynek przetworniki światłowodowe,

np. angielska firma AMPLICON oferuje przetworniki PSI-MOS CAN BM Fibre, a

szwedzka firma KVASER – przetworniki DRVcan FI.

W samochodach marki Volvo już od 1999 r. komunikacja między wszystkimi

pokładowymi urządzeniami sterującymi odbywa się przez magistralę CAN. Chociaż

przełącznik świateł steruje siedmioma różnymi funkcjami, dochodzą do niego tylko trzy

przewody: plus, masa i sygnał danych. Takim kablem są połączone wszystkie urządzenia

wykonawcze. Dzięki technice CAN jednym przewodem mogą być przenoszone

jednocześnie w obu kierunkach dwa sygnały lub więcej. Dane, np. sterujące silnikiem lub

skrzynią biegów, przepływają z szybkością 250 kbit/s, a do węzłów mających mniej istotne

zadania, jak sterowanie klimatyzacją lub światłem wewnątrz samochodu, informacje

Page 113: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

113

transmitowane są z szybkością 125 kbit/s. Jeśli np. mają być włączone tylne światła

przeciwmgielne, przełącznik świateł przekazuje przez szynę danych odpowiedni cyfrowy

sygnał do wszystkich węzłów. Układy, do których nie jest on adresowany, ignorują te

informacje. Są one natomiast odbierane przez moduł REM (Rear Electronic Module)

umieszczony w bagażniku. Układ pobudza przekaźnik, który z kolei włącza lampy

przeciwmgielne. To jednak nie koniec – jednocześnie REM kontroluje ich działanie. Jeśli

wszystko jest w porządku, odpowiednia informacja przepływa przez szynę danych i na

tablicy rozdzielczej zapala się lampka OK. Dzięki technice CAN oraz elastycznie

działającym węzłom, sygnał wysłany do układu REM może np. spowodować włączenie

tylnego światła przeciwmgielnego, gdy przepali się żarówka znajdująca się w oprawie

świateł hamowania.

Modbus jest protokołem komunikacji szeregowej opracowanym przez firmę Modicon w

1979 roku początkowo był przeznaczony dla programowalnych sterowników logicznych

(PLC). Obecnie jest standardowym protokołem komunikacyjnym w przemyśle. Modbus

pozwala na komunikację między wieloma urządzeniami (np. czujnikami) dołączonymi do

tej samej sieci. Modbus jest często wykorzystywany do komunikacji między komputerem

nadrzędnym a zdalnym terminalem (Remote Terminal Unit) w układach SCADA

(Supervisory Control and Data Acquisition). Innymi przykładowymi aplikacjami Modbus

są: sterowanie w systemach rozproszonych, systemy nadzoru, ochrony, procesy

monitorowania, zarządzania energią, itp.

Protokół Modbus współpracuje często z interfejsem RS485, gdzie występuje jedno

urządzenie nadrzędne (Master) inicjalizujące transakcje (wysyłające polecenie), a pozostałe

urządzenia są podrzędnymi (Slaves), wykonują polecenia urządzenia nadrzędnego i

wysyłają odpowiedź. W danej chwili tylko jedno urządzenie podrzędne może odpowiadać

na zdalne zapytanie urządzenia nadrzędnego, natomiast nie ma możliwości komunikacji

pomiędzy urządzeniami podrzędnymi. Typowym urządzeniem Master może być procesor

główny (host procesor w komputerze PC, nadrzędny sterownik logiczny). Jako Slave może

być programowalny sterownik logiczny. Węzły podrzędne (Slaves) są wykorzystywane do

Page 114: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

114

sterowania oraz zbierania danych z urządzeń peryferyjnych takich jak: mierniki, liczniki,

przetworniki A/C i C/A, czujniki, przekaźniki, itp.

Typowe prędkości transmisji protokołu Modbus są niewielkie i wynoszą od 9.6 Kb/s, 19.2

Kb/s.

Istnieje kilka wersji protokołu Modbus: Modbus ASCII Modbus RTU Modbus TCP/IP w

sieci Ethernet.

Własności przemysłowych sieci miejscowych

Przemysłowe sieci miejscowe różnią się zarówno od sieci o zamkniętej architekturze

(firmowych), jak i od sieci powszechnego użytku. Odróżniające je własności to:

Pod względem jakości:

1. Prostota połączeń mechanicznych.

2. Redundancja połączeń.

3. Kompatybilność.

4. Łatwość konfiguracji.

5. Wysoka efektywność – duża szybkość transmisji, eliminacja kolizji, kontrola

poprawności transmisji (rozbudowane narzędzia diagnostyczne i monitorowania),

wykorzystanie kodów korekcyjnych (CRC, LRC).

Pod względem obniżki kosztów:

1. Redukcja kosztów połączeń – zastosowanie mediów transmisyjnych o niskim koszcie,

np. sieć energetyczna, łatwa w instalacji topologia np. magistralowa.

2. Zastosowanie standardowych protokołów transmisji w różnych elementach sieci.

3. Zastosowanie standardowego sprzętu o otwartej architekturze.

4. Zgodność funkcjonalna sprzętu pochodzącego z różnych firm.

5. Tanie oprogramowanie konfiguracyjne.

Pod względem pracy w czasie rzeczywistym:

Page 115: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

115

1. Wysoka szybkość transmisji.

2. Zastosowanie protokołów cyklicznej obsługi błędów.

3. Kontrolowany dostęp do łącza (protokoły deterministyczne lub specjalne mechanizmy

eliminacji kolizji).

Słownik wybranych terminów

Industry-Standard Connectivity

OPC

SQL/ODBC

.NET, ActiveX, DLLs, TCP/UDP, XML

Literatura

1. Grega W., Metody i algorytmy sterowania cyfrowego w układach scentralizowanych i

rozproszonych, AGH, Kraków 2004.

2. Zydorowicz T., PC i sieci komputerowe, PLJ, Warszawa 1993.

3. Strony firmowe producentów.

4. Solnik W., Zajda Z., Komputerowe sieci przemysłowe Profibus DP i MPI, Oficyna

Wydawnicza Politechniki Wrocławskiej 2007.

Page 116: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

116

Temat: Sterowniki programowalne PLC i PAC – budowa, programowanie,

zastosowanie w układach automatyki okrętowej.

Sterowniki programowalne PLC (Programmable Logic Controllers) są komputerami

przemysłowymi, które pracują pod kontrolą systemu operacyjnego czasu rzeczywistego

realizują następujące zadania:

1) akwizycję danych pomiarowych analogowych i dyskretnych,

2) transmisję danych,

3) wykonują programy aplikacyjne,

4) generują sygnały sterujące dla elementów wykonawczych,

5) diagnostykę programową i sprzętową.

Głównym zadaniem sterownika jest reagowanie na zmiany wejść przez obliczanie wyjść

według zaprogramowanych reguł sterowania lub regulacji.

Historia sterowników programowalnych PLC sięga roku 1968, kiedy to w firmie General

Motors grupa inżynierów pod kierunkiem Udo Struga rozpoczęła prace projektowe nad nową

generacją sterowników.

Początkowe miały one na celu zastępowanie układów przekaźnikowych w urządzeniach

sterowania sekwencyjnego i w urządzeniach sterowanych logicznie.

W roku 1977 firma Allen-Bradley Corporation zastosowała w sterowniku mikroprocesor

8080 wraz z koprocesorem.

Zalety sterowników PLC

podobieństwo schematów drabinkowych używanych do programowania

sterowników PLC do stosowanych schematów stykowo-przekaźnikowych;

duża niezawodność pomimo pracy w trudnych warunkach środowiskowych;

programowa kontrola obwodów wejściowych i wyjściowych;

diagnostyka systemowa i obiektowa;

możliwość komunikacji z gniazdami przemysłowymi, panelami operatorskimi,

komputerami osobistymi oraz z innymi urządzeniami typu HMI (Human Machine

Interface);

Page 117: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

117

jeden sterownik może zastąpić wiele przekaźników (mały – 50100 przekaźników;

średni – 150500 przekaźników; duży – 5003000 przekaźników);

możliwość współpracy z oprogramowaniem SCADA (oprogramowanie do

sterowania nadrzędnego i zbierania danych – Supervisory Control and Data

Acquisition).

Systemy SCADA służą do:

tworzenia raportów i archiwizacji danych ze sterowników;

tworzenia raportów bieżącego stanu, zużycia materiałów itp.;

wizualizacji (bieżącej i historycznej) zmiennych procesowych;

generowania sygnałów alarmowych.

Programowanie sterowników PLC

Sposoby programowania:

za pomocą programatora klawiaturowego,

za pomocą komputera osobistego.

Języki programowania

Standaryzację metod programowania sterowników PLC zawiera norma IEC 1131

(Programmable Controllers) w swej trzeciej części (IEC 1131-3).

Języki tekstowe:

język listy instrukcji IL (Instruction List) to odpowiednik języka typu assembler.

Zbiór instrukcji tego języka obejmuje operacje logiczne, arytmetyczne, relacji,

przerzutniki, czasomierze, liczniki, itp.;

język strukturalny ST (Structured Text) jest odpowiednikiem języka

algorytmicznego wysokiego poziomu (Pascal, C/C++).

Języki graficzne:

język schematów drabinkowych LD (Ladder Diagram) jest podobny do stykowych

obwodów przekaźnikowych, w którym dopuszcza się użycie także funkcji

Page 118: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

118

arytmetycznych, logicznych, liczników, przerzutników, czasomierzy, regulatora PID,

bloków programowych;

język schematów blokowych (Function Block Diagram) będący odpowiednikiem

schematów przepływu sygnału dla obwodów logicznych przedstawionych w formie

połączonych bramek logicznych oraz bloków funkcyjnych, takich jak w języku LD;

graf sekwencji (SFC) (Sequential Function Chart), który pozwala na opisywanie

zadań sterownia sekwencyjnego za pomocą grafów zawierających etapy (kroki)

i warunki przejścia (tranzycji) między etapami.

Standardowe elementy oprogramowania sterowników PLC to:

a – funkcje

b – bloki funkcyjne

c – programy

Ad. a – Funkcje. Funkcja jest to program zwracający jeden element danych (który może się

jednak składać z wielu wartości). Wywołanie funkcji z tymi samymi parametrami

wejściowymi zwraca zawsze tę samą wartość, w przeciwieństwie do bloku funkcyjnego.

W językach graficznych funkcje są reprezentowane za pomocą prostokątów, na przykład:

Negacja + – – + + – – +

wejścia – – – 0

+ – – + – – – – – –

+ – – + 0 – – – Negacja wyjścia

Jeżeli definicja funkcji zawiera w wywołaniu parametry formalne, to powinny one być użyte

w wywołaniu funkcji, np.

B IN SHL

C N A

Page 119: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

119

W przypadku języka schematów drabinkowych (LD) wprowadza się do funkcji dodatkowe

wejście logiczne EN (Enable – zezwolenie) oraz dodatkowe wyjście logiczne ENO (Enable

Output). Użycie EB i ENO jest obowiązkowe (dla LD).

Jeżeli EN jest false to funkcja nie zawiera żadnych wartości i ENO jest też false.

Jeżeli EN jest true to funkcja zwraca parametry wyjściowe, a ENO przyjmuje wartość

logiczną true (jeśli nie ma błędów wykonania funkcji; jeżeli wystąpi błąd wykonania funkcji,

to wtedy ENO zwraca wartość logiczną false).

Przykład:

( ) EN ENO

A B

ADD-EN ( )

ADD-OK

+

Użycie EN i ENO w języku FBD jest opcjonalne (można używać lub nie).

Funkcje występujące w sterowniku można podzielić na:

standardowe, np. ABS, SQRT, LOG, SIN, COS, TAN, itp

logiczne – AND, OR, XOR, NOT,

wyboru i porównania – MIN, MAX, LIMIT, MUX,

łańcuchowe – LEN, LEFT, RIGHT, MID, DELETE;

definiowane przez użytkownika; mogą to być funkcje tylko dla argumentów

określonego typu, np. całkowitego (INT), rzeczywistego (REAL) itp.

Ad. b. Bloki funkcyjne. Blok funkcyjny posiada zmienne wewnętrzne zawierające

informację o tym bloku. Dlatego blok funkcyjny – w przeciwieństwie do funkcji – może

zwracać jeden lub wiele elementów danych. Symbolem graficznym bloku jest też

prostokąt.

Standardowe bloki funkcyjne sterowników PLC:

elementy bistabilne – przerzutniki SR (to jest z dominującym wejściem

ustawiającym), RS (to jest z dominującym wejściem zerującym), semafory;

Page 120: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

120

elementy detekcji zbocza (Edge detection) – standardowe bloki funkcyjne

umożliwiają detekcję zbocza opadającego (falling edge, zmiana z 1 na 0) lub

narastającego (rising edge, zmiana z 0 na 1);

timery (czasomierze) – służą do odmierzania czasu lub załączania lub wyłączania z

uwzględnieniem uwarunkowań czasowych. Można tu wyróżnić następujące bloki:

– generujące na wyjściu impulsy o zadanym czasie trwania,

– czasomierze załączające z opóźnieniem (on-delay),

– czasomierze wyłączające z opóźnieniem (off-delay),

– zegary czasu rzeczywistego (real-time Clock) – generują bieżącą datę i czas

w sterowniku;

liczniki (Counters) służą do zliczania impulsów:

– liczniki dodające umożliwiają zliczanie zboczy narastających sygnału,

– liczniki odejmujące,

– liczniki dodająco-odejmujące.

Ad. c. Programy

Definicja programu według normy IEC 1131:

Program jest to zbiór logicznie powiązanych elementów języka programowania koniecznych

do zamierzonego przetwarzania sygnałów w celu sterowania urządzeniem lub procesem za

pomocą systemu sterowników programowalnych.

Metody programowania sterowników

Rozróżnia się następujące metody programowania sterowników PLC:

1 – graf sekwencji (Sequential Function Chart)

2 – język drabinkowy (Ladder Diagram)

3 – tablica stanów

4 – graf stanów

nie będą omawiane

Page 121: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

121

Przykładowe zadanie sterowania – napełnianie dwóch zbiorników

Zbiornik główny

V1 V2

H1

L1

H2

L2

z1 z2

Zb 1 Zb 2

pełny

pusty

Zakłada się, że w stanie początkowym oba zbiorniki są puste. Jeżeli zostanie naciśniety

przycisk m (m = 1), to powinno rozpocząć się napełnianie obu zbiorników przez otwarcie

zawodów V1 i V2 (V1 = 1 lub V2 =1 oznacza, że odpowiedni zawór jest otwarty). Gdy zbiornik

zostanie napełniony, należy zamknąć zawór górny, a jego zawartość może być zużywana

przez otwarcie zawory dolnego (z1 lub z2). Kiedy zbiornik się opróżni, to zawór dolny jest

zamykany. Ponowne napełnianie można rozpocząć dopiero wtedy, gdy oba zbiorniki będą

puste i zostanie naciśnięty przycisk m.

Page 122: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

122

Rozwiązanie zadania za pomocą schematu drabinkowego

zmienna wew q1 = 1 gdy oba zbiorniki są puste

q1 = 1L AND 2L

V1 = (q1 AND m OR V1) AND 1H

(V1 przyjmie wartość 1, gdy q1 = 1, m = 1

i h1 = 0, a następnie zachowa tę wartość

dopóki h1 = 0 (tj. aż zbiornik nie zostanie

zapełniony)

Schemat drabinkowy

Własności języka schematów drabinkowych (LD)

1) jest to język graficzny;

2) wykonanie programu polega na „przepływie prądu” – analogicznie jak w schemacie

drabinkowym dla systemu przekaźników elektromechanicznych (przepływ prądu

zachodzi od lewej strony do prawej);

3) kolejne obwody powinny być wyznaczanie w kolejności z góry na dół – tak jak

pojawiają się w schemacie drabinkowym (chyba że zastosowano elementy kontrolne

zmieniające tę kolejność);

L1 L2 q1

q1 m H1 V1

W1 V1 H1

V1

W2

V2

L1

W1

H2 m q1

V2

L2 V2 H2

W2

styk prawa szyna

prądowa lewa szyna prądowa

połączenie poziome

połączenie pionowe

Page 123: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

123

4) elementy obwodu mogą być łączone poziomo lub pionowo. Stan elementów

łączących oznacza się jako ON lub OFF odpowiednio do wartości logicznych 1

lub 0.

W schemacie drabinkowym występują styki

Styki statyczne

styk zwierny (normalnie otwarty)

styk rozwierny (normalnie zamknięty)

Styki impulsowe

styk reagujący na zbocze narastające

styk reagujący na zbocze opadające

W schemacie drabinkowym występują też cewki

Cewka przekazuje stan połączeń z lewej strony na prawą bez zmian powodując jednocześnie

zapamiętanie stanu połączenia po swej lewej stronie przez przypisaną jej zmienną logiczną.

Symbole cewek:

Cewki zwykłe:

Cewka Stan połączenia z lewej strony cewki jest

przenoszony na prawą stronę i zapamiętywany

w skojarzonej zmiennej logicznej

Cewka negująca Stan połączenia z lewej strony cewki jest

przenoszony na prawą stronę, a odwrotność tego

stanu jest zapamiętywana w skojarzonej zmiennej

logicznej

Cewka nastawiająca S Skojarzona zmienna przyjmuje wartość 1 jeśli

połączenie z lewej strony jest w stanie ON i nie

P

N

Page 124: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

124

zmieni się aż do chwili wyzerowania przez cewkę

kasującą.

Cewka kasująca R Skojarzona zmienna przyjmuje wartość 0, jeżeli

połączenie z lewej strony jest w stanie ON i nie

zmieni się aż do chwili ustawienia przez cewkę

ustawiającą.

Cewki z zapamiętywanie stanu:

Cewka z zapamiętywaniem M

stanu

Cewka ustawiająca SM

z zapamiętywanie stanu

Cewka kasująca RM

z zapamiętywaniem stanu

Cewka reagująca P Skojarzona zmienna logiczna przyjmuje

na zbocze narastające wartość 1 na czas jednego wykonania jeśli

połączenie z lewej strony zmieniło stan z

OFF na ON. Stan połączenia z lewej strony

jest zawsze przenoszony na prawą.

Cewka reagująca N Skojarzona zmienna logiczna przyjmuje

na zbocze opadające wartość 1 na czas jednego wykonania, jeśli

połączenie z lewej strony zmieniło stan z

ON na OFF. Stan połączenia z lewej strony

jest zawsze przenoszony na prawą.

Page 125: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

125

Programowanie sterowników PLC za pomocą grafu sekwencji (Sequential Function

Chart)

Graf sekwencji skała się z:

etapów (steps) (miejsce (place) w sieci Petri)

przejść (transitions)

działań (action)

warunków przejść (transition condition)

Pomysł grafu sekwencji został zaczerpnięty z sieci Petriego, które są graficznym narzędziem

umożliwiającym modelowanie współbieżnych działań sekwencyjnych.

Przykład sekwencji współbieżnej:

Przejście z etapu S11 do etapów S12 i S14 następuje

tylko wtedy, gdy S11 jest aktywny i jest spełniony

wspólny warunek b. Po jednoczesnej aktywacji S12,

S14, ... realizacja każdej sekwencji jest niezależna.

Budowa i elementy hardware’owe sterownika

Elementy sterownika montowane są do płyty łączeniowej (CPU baseplate) zwanej także

kasetą (rack), która posiada gniazda (slots) do podłączenia modułów, wśród których dwa są

niezbędne:

zasilacz.

jednostka centralna CPU (Central Processing Unit).

Nowsze konstrukcje umożliwiają montaż na szynie DIN (bezpośrednio) i łączenie ich ze sobą

łączami zatrzaskowymi.

Oprócz zasilacza i CPU występują:

moduły wejść i wyjść dwustanowych

S11

S12 S14

b

Page 126: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

126

– DI (Discrete Input) – moduły DI zamieniają pochodzące z urządzeń sygnały prądu

stałego lub przemiennego na sygnały logiczne

akceptowane przez sterownik,

– DO (Discrete Output) – moduły DO zamieniają sygnały binarne sterownika na

sygnały prądu stałego lub przemiennego potrzebne do

wysterowania urządzeń w poszczególnych obwodach

wyjściowych, które zasila się ze źródła zewnętrznego.

Zamiany tych sygnałów dokonuje się głównie przez

zamykanie lub otwieranie obwodów wyjściowych za

pomocą łączników tranzystorowych, tyrystorowych lub

styków przekaźników;

moduły wejść i wyjść analogowych

– AI (Analog Input) – wejścia analogowe, np. 4-20 mA

– AO (Analog Output) – wyjścia analogowe, np. 4-20 mA

moduł szybkiego licznika HSC (High Speed Counter Module) do obsługi wejść

dwustanowych zmieniających się częstotliwością nie

większą niż 100 kHz, a pochodzących najczęściej z

przetworników obrotowo-impulsowych (tzw. enkoderów),

które generują impulsy o liczbie proporcjonalnej do kąta

obrotu osi, z którymi są sprzężone;

moduł pozycjonowania osi APM (Axis Positioning Module) – do obsługi

dodatkowych sygnałów generowanych przez enkodery, tj.

takich jak ograniczenie przyspieszeń dla łagodnego

rozruchu i zatrzymania;

moduł komunikacyjny z łączami szeregowymi RS-422/485 i RS232/RS232C z

określonymi protokołami komunikacyjnymi;

moduł komunikacyjny sieci Ethernet stanowiący łącze między sterownikami i siecią

Ethernet TCP/IP. Umożliwia on wykorzystanie kabli

koncentrycznych (10Base5Coax, 10Base2Coax) oraz

Page 127: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

127

skrętki (10BaseT), a także światłowodów 10BaseF.

10Base5 (10 Mb/s, średnica 5 mm, rezystancja falowa 50 )

10Base2 (10 Mb/s, średnica 2 mm, rezystancja falowa 50 ).

Sterowniki GE Fanuc bazują na mikroprocesorach firmy Intel: 80188, 80C188XL, 80386EX.

Parametrem, który charakteryzuje szybkość CPU jest czas cyklu, tj. czas wykonywania 1000

instrukcji bitowych lub czas wykonywania 1000 instrukcji mieszanych (2/3 instrukcji

bitowych i 1/3 instrukcji arytmetycznych). Czas ten dla sterowników GE Fanuc 90-30 zawiera

się w przedziale 0,22 – 0,4 ms. W sterownikach tych stosuje się pamięć RAM, EPROM, flash

EEPROM. Najnowsze rozwiązania CPU posiadają interfejs Ethernet TCP/IP.

CPU zapewnia cykliczną realizację programu aplikacyjnego. Typowy cykl programowy

sterownika składa się z następujących faz:

1 – Inicjacja cyklu

2 – Czytanie sygnałów wejściowych

3 – Wykonanie programu użytkownika

4 – Aktualizacja sygnałów wyjściowych

5 – Transmisja danych

6 – Komunikacja systemowa

7 – Wykonanie funkcji diagnostycznych

Moduły wejść analogowych przetwarzają sygnały analogowe na postać cyfrową

i umieszczają ja w obszarze danych CPU oznaczonych jako %AI.

Wejścia analogowe mogą być:

różnicowe (differential), tzn. takie, w których konwertowana jest różnica sygnałów

wejściowych między IN+ i IN–. Wejście takie jest mniej czułe na zakłócenia;

jednokońcówkowe (single-ended), czyli zwykłe.

Parametry metrologiczne kanałów analogowych

rozdzielczość (resolution)

Page 128: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

128

Wyjściowy sygnał cyfrowy kanału może przyjmować tylko pewne

wartości dyskretne – istnieje więc błąd kwantyzacji, który jest jednakowy

w całym przedziale napięcia wejściowego. Maksymalną wartość błędu

kwantyzacji określa najmniej znaczący bit LSB (Least Significant Bit)

rejestru przetwornika analogowo-cyfrowego;

dokładność (Accuracy) wyznacza się przez określenie maksymalnej różnicy między

wartością oczekiwaną i mierzoną;

liniowość (linearity)

tłumienie zakłóceń międzykanałowych – określa wpływ zmian w sąsiednim kanale

na kanał badany.

W modułach wejściowych dokonuje się filtracji sygnałów wejściowych (częstotliwość

graniczna filtru dolnoprzepustowego – 325 Hz).

Zmniejszenia wpływu pól elektrostatycznych i elektromagnetycznych dokonuje się przez

ekranowanie.

ekran elektrostatyczny powinien być wykonany z materiału o dużej przewodności i

musi być połączony z punktem uziemienia GND. Ekrany nie mogą stanowić

obwodów zamkniętych, przez które mogłyby płynąć prądy, bo w takim przypadku

nie zapewnia się eliminacji sprzężenia między źródłem szumu a obwodami wejść

analogowych;

ekran elektromagnetyczny powinien być wykonany z materiałów o dużej

przenikalności magnetycznej i nie muszą być uziemione. Dobrym sposobem jest też

zastosowanie skrętki w ekranie.

Typowe moduły wejść analogowych

typu RTD (Resistive Temperature Detector) do przyłączania rezystancyjnych

czujników temperatury Pt100, Pt1000, Ni100. Temperatura jest mierzona z

rozdzielczością do 0,1°C;

do przyłączania termopar (termoelementów; J, K, N, T, E, R, S), mostków

tensometrycznych i innych elementów o zakresach napięć od 100 mV do 1000 mV;

do przyłączania zadajników potencjometrycznych;

Page 129: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

129

z wejściami prądowymi standardowymi (od 4 – 20 mA; 0 – 20 mA);

z wejściami napięciowymi standardowymi (od 0 do 10 V, –10 do +10 V). Wejścia

napięciowe są wejściami różnicowymi;

liczba kanałów – 16.

Obecnie w modułach wejść analogowych stosuje się przetworniki A/C 12-bitowe.

W modułach wyjść analogowych przetwornik D/A generuje standardowe sygnały

prądowe (4 – 20 mA, 0 – 20 mA) lub napięciowe (0 – 10 V, –10 do +10 V).

Język LD dla sterowników GE Fanuc 90-30

Typy danych: BIT, BYTE, WORD, INT, DINT BCD-4

(bajt) (16

bitów)

liczba 16-

bitowa

liczba 32-

bitowa

liczba

BCD

Zmienne binarne: %I (wejście binarne)

%Q (wyjście binarne)

%M

%T

%S zmienna systemowa

%G zmienna globalna

Zmienne rejestrowe: %AI wejście analogowe

%AQ wyjście analogowe

%R rejestr

Styki (contacts)

Cewki (coils)

Przerzutniki SR

Przerzutniki RS

zmienna binarna wewnętrzna

Przekaźniki

Page 130: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

130

Czasomierze (timers) – czasomierz załączający (TMR)

czasomierz załączający z zapamiętywaniem (ONDTR)

czasomierz wyłączający (OFDT)

Liczniki

licznik dodający (UPCTR)

licznik odejmujący (DNCTR)

Funkcje arytmetyczne: ADD (dodawanie); SUB (odejmowanie); MUL (mnożenie);

DIV (dzielenie); MOD (reszta z dzielenia); SQRT ( );

Funkcje relacji: EQ (=), NE (nie równe), GT (>), LT (<), LE (<=), RANGE (zakres);

Funkcje na ciągach bitów: AND, OR, XOR (suma modulo 2; zwraca 1 tylko wtedy, gdy w

obu argumentach funkcji bity na odpowiednich pozycjach mają

różne wartości);

NOT,

SHL (przesuwanie bity w lewo)

SHR (przesuwanie bity w prawo)

ROL (przesuwanie cyklicznie bitów w lewo)

ROR (przesuwanie cyklicznie bitów w prawo)

Funkcje tablicowe można podzielić na:

funkcje przesyłania danych

MOVE kopiuj dane bit po bicie z jednego miejsca pamięci do drugiego

BLKMOV kopiuj blok 7 zadanych wartości do tablicy pamięci

BLKCLR zeruj zawartość tablicy danych

SHFR przesuń dane w tablicy o jedną pozycję (SHiFT Register)

BITSEQ generuj sekwencję bitów

COMMREQ prześlij blok słów zawierający polecenia dla inteligentnego

modułu (COMMunication REQuest)

funkcje tablicowe –

inicjujące (adres tablicy, numer elementu tablicy od którego należy rozpocząć)

Page 131: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

131

przeszukujące tablice (np. SRCH_GT – szukaj danych większych niż zadana

wartość SRCH_LT, itp.);

funkcje konwersji – INT_TO_BCD4;

funkcje sterujące: COMMENT (komentarz); LABEL (etykieta)

CALL (wywołanie podprogramu); PID

JUMP (instrukcja skoku)

Do_IO (aktualizacja stanu wejść lub wyjść sterownika poza

normalną obsługą wejść i wyjść)

MCR

instrukcja warunkowa (jak repeat)

ENDMCR

Podprogramy (subroutine blocks) – fragmenty programu wywołane z bloku głównego

programu za pomocą CALL, np.

BLOK FUNKCYJNY PID

zezwolenie (enable)

PID

SP CV

PV

MAN

(ok) potwierdzenie poprawności

działania

wartość zadana (set point) (output) zmienna sterująca CV

(Control Variable) – sygnał

wyjściowy

zmienna procesowa

(process variable)

przełączenie: praca automat /

praca ręczna

inkrementacja wielkości

CALL POZIOM1 (SUBROUTINE)

%M0001

%I0001 %Q0001

Page 132: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

132

wyjściowej w trybie pracy ręcznej

UP

DN

dekrementacja wielkości

wyjściowej w trybie pracy ręcznej

Wybrane rejestry konfiguracyjne bloku PID

Numer pętli sterowania (Loop Number)

Typ algorytmu (algorithm) PID ISA, PID IND

W algorytmie PID IND (Independent Term Algorithm) blok P występuje tu (wzmocnienie

występuje tylko w części proporcjonalnej)

Independent Term Algorithm

Przesunięcie bias może być wykorzystane nie tylko do przeniesienia wartości wyjścia

na odpowiedni poziom, ale też w URA z korekcją od zakłócenia, zwanym też sterowaniem ze

sprzężeniem w przód (Feedforward Control).

okres próbkowania (sample period) 0 10,9 min

strefa martwa (dead band) 0 100% błędu

współczynnik wzmocnienia (proportional gain) %

%01,0

stała różniczkowania (derivative) 0 327,67 s

Strefa martwa

Czas narastania Ograniczenie Polaryzacja P

+ + +

Prop

dtd Przesunięcie

bazowe (bias) +

+

+

SP PV

Page 133: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

133

częstość całkowania (Integral Rate) 0 32,767 powtórzeń/s

przesunięcie (bias) –100% 100%

STYKI I CEWKI DLA STEROWNIKA GE FANUC 90-30

Styk zwierny

Styl rozwierny

+ Styk kontynuacji

Cewka normalna

/ Cewka negująca

S Cewka ustawiająca (SET coil)

R Cewka kasująca (RESET coil)

M Cewka z zapamiętaniem stanu

/M Cewka negująca z zapamiętaniem stanu

SM Cewka ustawiająca z zapamiętaniem stanu

RM Cewka kasująca z zapamiętaniem stanu

Cewka impulsowa reagująca na zbocze narastające

Cewka impulsowa reagująca na zbocze opadające

+ Cewka kontynuacji

Poniższy tekst pochodzi z artykułu Simulink PLC Coder – Automatyczne

generowanie kodu do sterownika B&R (Bernecker & Rainer) w Automation Studio

zamieszczonego 25 lipiec 2010 na stronie internetowej http://www.controlengpolska.com/

MathWorks wiodący producent i dostawca

oprogramowania do obliczeń technicznych i

projektowania opartego na modelach

matematycznych (Model-Based Design),

wprowadził na rynek nowy produkt do

automatycznego generowania kodu normy

IEC.

Page 134: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

134

Simulink PLC Coder rozszerza możliwości projektowania dla branży automatyki

przemysłowej generując kod w języku normy IEC 61131-3 ST Structured Text

implementujący funkcje przetestowane wcześniej w graficznym środowisku MATLAB

Simulink na sterowniki programowalne. Możliwe jest zatem użycie tego kodu na wszystkich

sterownikach B&R, dzięki możliwościom oprogramowania B&R Automation Studio.

„Projektowanie oparte na modelach pomaga firmom produkującym maszyny

efektywnie wykorzystać cenne zasoby inżynierskie, jednocześnie ograniczając koszty i czas

wprowadzania projektu na rynek. B&R udowodnił, że jest dostawcą innowacyjnych

rozwiązań oferując uniwersalny interfejs do integracji kodu wygenerowanego przez Real-

Time Workshop i Simulink PLC Coder w środowisku programistycznym B&R Automation

Studio” stwierdza Tom Erkkinen – menadżer działu aplikacji MathWorks.

Simulink PLC Coder uzupełnia rozwiązanie automatycznej generacji kodu

oferowane przez B&R od dwóch lat – Automation Studio Target for Simulink. B&R oferuje

możliwość automatycznego generowania kodu realizującego funkcje przetestowane w

graficznym środowisku Matlab Simulink do języków ANSI-C oraz Structured Text i jego

automatyczną integrację w programie sterowania.

Projektowanie oparte na modelach, razem z automatyczną generacją kodu, pozwala

na znaczne skrócenie procesów tworzenia nowego produktu poprzez stworzenie możliwości

szybszego, a więc i bardziej wydajnego kosztowo przepływu informacji na etapie

projektowym. Błędy wykrywane są na etapie symulacji, a w pełni przetestowane na

symulatorach algorytmy mogą być przesłane do sterownika przemysłowego poprzez

naciśnięcie jednego przycisku.

Integracja poszczególnych narzędzi jest zawsze czynnikiem decydującym. Ścisła

współpraca pomiędzy B&R i MathWorks zapewnia ciągły rozwój wspólnych rozwiązań

programistycznych w przyszłości.

Literatura

1. Kwaśniewski J., Sterowniki PLC w praktyce inżynierskiej, Wydawnictwo BTC,

2008.

Page 135: Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie”

Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin

135

2. Legierski T. Programowanie sterowników PLC, Gliwice: Pracownia Komputerowa

Jacka Skalmierskiego, 1998.

3. Łukasik Z., Seta Z., Programowalne sterowniki PLC w systemach sterowania

przemysłowego, Politechnika Radomska, Radom 2001.