Materiały dydaktyczne Systemy automatyki okrętowej Semestr VI

advertisement
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Materiały dydaktyczne
Systemy automatyki okrętowej
Semestr VI
Wykłady
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Parametry przetworników cyfrowo/analogowych C/A
 rozdzielczość N przetwornika (długość słowa kodowego),
 zakres UFS przetwornika unipolarnego (wartość maksymalna),
 krok kwantowania q,
q
U FS
2N
 błąd kwantowania  (wartość szczytowa szumu kwantowania, jego wartość średnia
wynosi 0)
 
q
2
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
1
0  U ref
8
0
0
0
0
0
0
0
0 000
1
2
U ref  U ref
8
8
0
0
0
0
0
0
0
1
001
2
3
U ref  U ref
8
8
0
0
0
0
0
0
1
1
010
3
4
U ref  U ref
8
8
0
0
0
0
0
1
1
1
011
4
5
U ref  U ref
8
8
0
0
0
0
1
1
1
1
100
5
6
U ref  U ref
8
8
0
0
0
1
1
1
1
1
101
6
7
U ref  U ref
8
8
0
0
1
1
1
1
1
1
110
7
8
U ref  U ref
8
8
0
1
1
1
1
1
1
1
111
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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),
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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),
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
0000
Wartość analogowego sygnału wyjściowego Uwy
0
0001
0010
0011
U ref
RS ozn.
 A
8R
U ref
RS
 2A
4R
U ref RS (
...
1
1

)  3A
8R 4 R
...
1111
U ref RS (
1
1
1
1


 )  15 A
8R 4 R 2 R R
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
q
100%
2n
q
100% 100%

 12,5%
8
23
dla przetwornika 3-bitowego
q
100% 100%

 6, 25%
16
24
dla przetwornika 4-bitowego
q
100% 100%

 0,09765%  0,1% dla przetwornika 10-bitowego
1024
210
q
100% 100%

 0,024414%  0,02% dla przetwornika 12-bitowego
4096
212
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Syg wy
111
110
101
q
100
011
010
001
000
1/8 2/8 3/8 4/8 5/8 6/8 7/8 1
100%
Syg we
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Na system K-Chief 500 składają się następujące główne komponenty:
Stacja operatorska
Zawiera komputer osobisty z monitorem
kolorowym. Pozwala na dostęp do modułów
rozproszonych.
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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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. KChief 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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),
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Wbudowany monitoring temperatury, zasilania i przeciążenia czujnika (Built In SelfTest (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.).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Rys. 8. Rozbudowany system K-Chief 500
Literatura
Materiały firmowe ze stron internetowych.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Temat: Standardowe interfejsy szeregowe
Do najbardziej znanych interfejsów komunikacji szeregowej należą: RS-232, RS232C (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):
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 DB25 (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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Tabela 3.1
Złącze
Najczęściej używane:
25-
9-
styk.
styk. e
1
Oznaczeni Opis
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
masa sygnałowa
(GND)
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
20
4
SRTS
żądanie nadawania w kanale powrotnym DTE
DTR
gotowość DTE (terminala)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Złącze
Najczęściej używane:
21
SOD
jakość sygnału odbieranego przez DCE
RI
wskaźnik wywołania DCE
22
9
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
12 V
12 V
N
O
Rys. 3.11. Połączenie nadajnika N i odbiornika O w standardzie RS-232C (transmisja niesymetryczna – po
jednym kablu)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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).
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
m,
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
5V
O1
5V
N
O2
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.
12 V
12 V
N
O
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
O
O
N
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),
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 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 IEC625 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ą.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
a)
t
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)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 ShannonaKotielnikowa2.
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ż 2w:
 s  2 w
lub
f s  2 fw
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
CLAUDE ELWOOD SHANNON (1916 - 2001) - AMERYKAŃSKI MATEMATYK I
INŻYNIER, PROFESOR MIT (MASSACHUSETTS INSTITUTE OF TECHNOLOGY)
NAZYWANE ICH NAZWISKAMI.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 
20b, gdzie b jest pasmem przepustowości układu zamkniętego – rys. 3), tzn.
b = w
 s  2  (10 w )
Rys.3. Ilustracja pasma przepustowości b zamkniętego układu regulacji
Jeżeli f s  2 f w 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)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 f s  T1s ;
 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 Przetwarzanie ciągłe
Przetwarzanie
ść próbkowania
sterowane
zdarzeniami
10 – 500 s
Dokładne
(2 kHz - 0,1 elektryczne;
sterowanie
sieci
i
modelowanie,
energetyczne;
układy Interfejs człowiek –
precyzyjnie maszyna
MHz)
sterujące roboty
0,5 – 20 ms
Stabilizacja systemów mocy, symulatory lotu, Sterowanie
(50 Hz – 2 kHz) treningowe, samochody
systemami
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
wysokiego poziomu
10 – 100 ms
Przetwarzanie obrazów, rzeczywistość wirtualna, telekomunikacja
(10 Hz – 100 sztuczne widzenie, wolne czynności zdalne
Hz)
0,5 – 1 sec
Monitorowanie i sterowanie obiektów; procesy Systemy baz danych
(1 Hz – 2 Hz)
chemiczne, elektrownie
1 – 3 sec
Regulacja przepływu
(0,33 Hz – 1 Hz)
1 – 5 sec
Układy regulacji ciśnienia
(0,2 Hz – 1 Hz)
5 – 10 sec
Układy regulacji poziomu
(0,1 Hz – 0,2
Hz)
10 – 20 sec
Układy regulacji temperatury
(0,05 Hz – 0,1
Hz)
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 antyaliasingowy). 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Temat: Mikroprocesor i jego elementy peryferyjne.
Mikroprocesor (w skrócie μP) jest
wielkim stopniu integracji4
to cyfrowy układ sekwencyjny scalony o
(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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
32
2 =4 294 967 296 słów.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Dane
Szyna danych
Bufor
Wskaźnik
stosu
licznik
rozkazów
Akumulator
Rejestr
pomocniczy
Rejestry
robocze
R1 ... Rn
Rejestr
buforowy
Bufor
Rejestr
stanu
ALU
Szyna adresowa
Rejestr
rozkazów
Dekoder
rozkazów
wejściowe
i wyjściowe
sygnały
sterujące
Bufor
Szyna
sterująca
Jednostka
sterująca
Sygnał
zegarowy
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
ROM
RAM
Magistrala
adresowa
μP
Magistrala
danych
Magistrala
sterująca
Układy
wejścia–wyjścia
do
od
urządzeń
zewnętrznych
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
% 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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 =
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
nesting
wartość logiczna wskazująca czy zmienna jest zespolona,
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
>> 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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ę
komputera
danych
i
pomiarowych.
przyrządów
współpracujących
Połączenie
pomiarowych
umożliwia
z
tworzenie
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
nim
tzw.
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 Corporationhttp://www.mccdaq.com/),
Advantech
(www.advantech.com/),
(http://www.ni.com/, Keithley (http://www.keithley.com/ )
National
Instruments
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
Digital
In-/Output:
up to 32 input modules and up to
512 channels up to 2 output modules and up to 512 channels up to 2 output modules and
32 channels
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Counter
Input:
Frequency
up to 2 modules and up to 32
channels
Output:
up to 2 modules and up to 32
channels
RS
232
Input:
RS
extremely expandable with Master/
Slave modules (up to 256 channels with each
serial interface)
Icom
for up to 16 channels
Icom
Universal serial module to be used
modules with max. 256 channels.
IEEE
488
Output:
Output of data or Strings via
TCP/IP, GPIB or RS232.
In-/Output:
DDE
supports Measurement Computing
GPIB, National Instruments
Output:
output of data or fixed strings
Input:
with TCP/IP,GPIB and RS232. Master/Slave
232
In-/Output:
up to 16 modules and up to 256
channels
MODBUS
IVI
Modules:
Handles
compatible
devices
with
interface
an
With
these
Modules:
modules
the
IVI MODBUS protocol enables DASYLab to
(Oscilloscope, read and write Analog and Digital registers
Multimeter, Function Generator).
for signed and unsigned integer registers,
RS232 only.
Signal Processing
Filter:
Correlation:
Digital IIR filter with definable
Compute correlation coefficient,
order and characteristics
cross-correlation, autocorrelation, spectrum
Data
Various
Window:
types
of
FFT:
evaluation
windows, e.g. rectangle, Gauss, Bartlet and
Calculate and analyse the discrete
spectrum of a signal
other types
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Electrical
Polar/Cartesian:
Convert
data values
between
polar and cartesian coordinates
Harmonic
Characteritics:
Use the values of Current and
Voltage to calculate electric characteristics
such as Ueff, cosp etc..
Period
Distortion:
Calculates the amplitude and
phase of the fundamental frequency and up
to 48 harmonic waves.
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
Selectable
Trigger:
start
and
Pre/Post
stop
conditions
Amplitude-
Trigger:
and
slope-based
triggers with hysteresis can be specified
Combi
Separate
signal
segments
according to logical conditions
Trigger
SampleTrigger:
Trigger:
on
Separate intervals of a signal
based on a predetermined number of
samples.
Demand:
Relay:
Separate samples depending on
the dynamic behavior of the signals.
Control up to 15 channels with
one input signal
Control
Generator:
Switch:
Signal generation with frequency
On/off or momentary switch for
and amplitude modulation
Coded
program and data control
Switch:
Select from preset values by
Slider:
Definable signal range; signal
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
positioning a rotating switch or clicking on level to be modified during measurement
buttons.
PID
Control:
Proportional,
integral
Two
and
Up
Point
to
8
Control:
control
circuits.
derivative components can be specified Selectable set values are compared with
freely; new auto-tuning function
actual values
Time
Delay:
Latch:
Data output after a specified
period of time
TTL
generates
Constantly outputs the input value
received last
Pulse
TTL
Generator:
signals
with
specified duration and switch conditions
Save
Read
Variable:
Read Global Variable to generate
a data channel to be used in the worksheet
Variable:
Router:
Save data channel to a Global
Route data channel based on
Variable to be used in module parameters control input (amplitude or edge) or based on
and computations
time (blocks, time, or action controlled)
Block
Time:
Stop:
Extracts the time information of a
block and puts time and date into global
variables
stops or interrupts measurement
according to specified conditions
Display
Y/t
High-speed scope display for fast
data with a wide range of display options
Polar
X/Y
Chart:
Plot
Display
Chart:
data
blocks
of two
dependent signals as an X/Y plot, including a
Polar plot view.
Chart:
Display blocks of two dependent
Analog
Provides
Meter:
several
shapes
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
of
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
signals (X/Y or polar data) in polar instruments and offers peak hold and trend
coordinates with a third data as flags.
Digital
indicator options
Meter:
Display the value, with trend
display and lower/upper marks. Formats
include decimal, hex, octal, binary, ASCII &
Clock
Chart
Status
Bar
(horizontal/vertical),
and range display options
List:
Chart display for slow data, wide
options.
Graph:
thermometer, LED or triangle style; trend
Recorder:
display area and a wide range of display
Bar
Show data values displayed in list
form; several formatting options
Lamp:
TTL or Digital Signal status
displayed as text and/or images
Files
Read
Data:
Write
Read data from floppy/hard disk
files;
supports
DASYLab,
ODBC
Exchange
Write data to floppy/hard disk
IEEE-32-bit, files;
ASCII format
Data:
supports
DASYLab,
IEEE-32-bit,
ASCII, Diadem and other formats
Input/Output:
data
between
DASYLab and ODBC data bases.
Data Reduction
Average:
Block
Reduce data using running or
Reduce data across data blocks
summation averages
Average/Peak
Hold:
using running or summation average, or
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
using Peak Hold (Minima or Maxima)
Separate:
Merge/Expand:
Reduce data by skipping defined
Merge data from several channels
number of samples (or blocks) only; outputs or distribute signals from one channel to
one, then repeats
Cut
others
Out
Time
Block:
Output specified samples of a
block
Output
Slice:
data
from
different
channels according to specified switch
conditions
Shift
Register:
Circular
Stores data, one point at a time,
Buffer:
Save an interval of the data
into a temporary register, and outputs the stream and send it to the modules output via
block repeatedly
event driven action
Special Modules
Black
Box:
Sub-worksheet
worksheet
sections;
unit
use
for
Import/Export
containing
common
functions or to manage complexity
levels (main worksheet and Black Boxes)
Message:
Trigger various actions on the
occurence of specified events
Display or print an operator
message; play a wave/AVI file; send DDE
message; log messages to printer
base:
Signal
Extract and output the time or
frequency information of a signal
Send
Box):
Data interface between worksheet
Action:
Time
(Black
Synchronize
Adaptation:
signal
flows
differing characteristics
e-Mail:
Use Windows E-Mail to send
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
of
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
messages
to
any
address
including
attachments and custom messages/alarms
Mathematics
Formula
Interpreter:
Arithmetic:
Link data from several channels
according to mathematical functions entered
as formulas
Basic
arithmetic
operations;
various operands and exponential functions
Trigonometry:
Differentiation/Integration:
Sine, tangent, arc- and hyperbolic
Integration of signal values or
functions
slopes in the signal flow
Scaling:
Linear
scaling,
interpolation
Slope
tables, RTD linearization, thermocouple
linearization, offset adjust, linear conversion
factors for a large number of measurement
Limit
Limitation:
the difference
between
values
systems
Reference
Calculates
a
reference
Curve
using one or more test runs
Bit
Logical
Curve:
Operations:
Evaluate TTL data from input
channels;
operators
AND,
OR,
XOR,
NAND, NOT
Operations:
Flip-Flop:
Perform logical operations (bit by
Use bistable trigger elements for
bit) with the received data words, combine, intermediate data storage (FlipFlop and
extract, mask and shift operations
MonoFlop)
Gray-Code:
Channel
Decodes signals generated by
Compares channels and a constant
position encoders
Comparator:
or to corresponding channels
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Statistics
Statistical
Compute
effective
values,
max/min,
variance
and
Values:
Position
average,
Extract
in
the
Signal:
value
position
as
standard defined by sample number, date/time or
deviation
frequency
Regression:
Histogram:
Classify data according to specific
intervals and numbers of classes
Calculate
constant,
linear
or
polynomial regression curves up to an order of
20
Counter:
Minimum/Maximum:
Count blocks, samples, max/min,
Determine extreme values in the
zero/level crossings and duration
Check
Reference
Compare
the
signal
signal flow
Curve:
with
Pulse
a
Width
Analysis:
Calculates the frequency, length of
previously saved reference curve and signal pulses, pauses and pulse/pause ratio in a TTL
deviations.
pulsed signal.
Channel
Rearranges
Sort:
the
input
channels
based on their values
Network
Net
Receive or send data to one or more
DASYLab Net via a TCP/IPnetwork.
DataSocket
Message
Input/Output:
Input/Output:
Receives or Sends messages from
or to other DASYLab Net via a TCP/IP
network.
Import/Export:
Exchange data with OPC server via
network.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Analysis Add-On (optional)
Sequence
Generator:
Transfer
Generate curves and ramps of
The
Function:
Transfer
and
Coherence
different types which can be combined in functions are calculated for up to 8 pairs of
many ways.
values.
Block Weighting:
Convolution:
Weight each sample in block by a
Up
predefined function.
to
16
Input
signals
are
processed with digital filters.
Write
UFF
Format:
FFT
Write data in the Universal File
Format 58 for use in system analysis.
Universal
Filter:
Frequency intervals of up to 16
signals are filtered with defined conditions.
Filter:
FFT
Create user defined FIR or IRR
Maximum:
Calculates the maximum of energy
Filters with a helpful filter wizard for FIR of a FFT spectrum by analysing intervals of
Filters.
the frequency band.
n-th
Order
Harmonic:
Rainflow:
Calculates the max of the Harmonic
up to an order of 20 of FFT data
Two-channel
Classifies
the
Several
algorithms
classify samples for Time-Stress Analysis
Classification:
values
counting
of
Octave
two
Analysis:
This module is used for One-Third
diferrent temporal functions to be used for or Octave Analysis of a signal using digital
Time-Stress Analysis.
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ą
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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>
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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);
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 ;
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
/* 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
x(t)
Czujnik
wzmacniacz
y(t)
U
I
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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.
x(t)
czujnik
y(t)
a
wzmacniacz
c
P
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
17
częstotliwościowo sinusoidalny prądowy sygnał cyfrowy (modulacja typu FSK ).
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 420mA. 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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,
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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).
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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/
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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);
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 jeden sterownik może zastąpić wiele przekaźników (mały – 50100 przekaźników;
średni – 150500 przekaźników; duży – 5003000 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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
+––+
–––0
wejścia
+––+
–––
–––
+––+
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
ADD-EN
( )
A
B
EN ENO
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;
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Przykładowe zadanie sterowania – napełnianie dwóch zbiorników
Zbiornik
główny
V1
V2
H1
L1
Zb 2
Zb 1
H2
pełny
L2
pusty
z2
z1
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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Rozwiązanie zadania za pomocą schematu drabinkowego
zmienna wew q1 = 1 gdy oba zbiorniki są puste
połączenie
poziome
L1
L2
q1 m
połączenie
pionowe
H1
q1
q1 = L1 AND L2
V1
V1 = (q1 AND m OR V1) AND H1
V1
V1 H1
(V1 przyjmie wartość 1, gdy q1 = 1, m = 1
L1
i h1 = 0, a następnie zachowa tę wartość
W1
dopóki h1 = 0 (tj. aż zbiornik nie zostanie
zapełniony)
W1
q1 m
H2
V2
L2
W2
V2
V2 H2
W2
styk
lewa szyna
prądowa
prawa szyna
prądowa
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ść);
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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
P
styk reagujący na zbocze narastające
N
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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ą.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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:
S11
Przejście z etapu S11 do etapów S12 i S14 następuje
b
tylko wtedy, gdy S11 jest aktywny i jest spełniony
wspólny warunek b. Po jednoczesnej aktywacji S12,
S12
S14
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
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
– 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)
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
oraz
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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;
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 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:
Zmienne binarne:
BIT,
BYTE,
WORD,
INT,
(bajt)
(16
liczba
bitów)
bitowa
%I
DINT
16- liczba
BCD-4
32- liczba
bitowa
BCD
(wejście binarne)
%Q (wyjście binarne)
%M
%T
%S
zmienna binarna wewnętrzna
zmienna systemowa
%G zmienna globalna
Zmienne rejestrowe: %AI wejście analogowe
%AQ wyjście analogowe
%R rejestr
Styki (contacts)
Cewki (coils)
Przekaźniki
Przerzutniki SR
Przerzutniki RS
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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);
DIV (dzielenie);
MUL (mnożenie);
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ąć)
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
%M0001
CALL POZIOM1
(SUBROUTINE)
%Q0001
%I0001
BLOK FUNKCYJNY PID
zezwolenie (enable)
(ok) potwierdzenie poprawności
PID
działania
wartość zadana (set point)
(output) zmienna sterująca CV
SP
zmienna
CV
(Control Variable) – sygnał
wyjściowy
procesowa
(process variable)
przełączenie:
praca
automat
/
PV
praca ręczna
inkrementacja
wielkości
MAN
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
wyjściowej w trybie pracy ręcznej
dekrementacja
wielkości
UP
wyjściowej w trybie pracy ręcznej
DN
Wybrane rejestry konfiguracyjne bloku PID
 Numer pętli sterowania (Loop Number)
 Typ algorytmu (algorithm) PID ISA, PID IND
d
dt
SP
PV
+
–
Strefa
martwa
Prop
+
+
+
P
+
Przesunięcie
bazowe (bias)
+
Czas
narastania
Ograniczenie
Polaryzacja

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)
 stała różniczkowania (derivative)
0,01%
%
0  327,67 s
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
 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
matematycznych
opartego
na
(Model-Based
modelach
Design),
wprowadził na rynek nowy produkt do
automatycznego generowania kodu normy
IEC.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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 RealTime 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.
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
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
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.
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
Download