A U T O M A T Y K A
Sieci przemysłowe
w praktyce, część 7
Modbus podstawy
Ponad dwadzieścia lat temu (w 1979 roku) firma Modicon zaproponowała
otwarty protokół sieciowy Modbus jako standard wymiany informacji
w sieciach przemysłowych. Rozwiązanie to zostało przyjęte przez wielu
producentów sprzętu stosowanego w przemyśle, dziś jest już uznanym
standardem, implementowanym w większości komercyjnych urządzeń
sieciowych.
Modbus jest przykładem znakowej komu- szenie do wszystkich urządzeń w sieci. Na za-
nikacji asynchronicznej. System transmisyj- pytanie składa się numer realizowanej funk-
ny składa się z jednostki nadrzędnej (maste- cji, blok danych, bity kontroli poprawności
ra) oraz wielu jednostek podrzędnych (slave). danych. Przykład ramki odczytującej dane:
Protokół umożliwia zaadresowanie 247 urzą-
,
dzeń. Adres 0 jest zarezerwowany do trybu gdzie:
rozgłaszania. AA to adres urządzenia docelowego,
Transmisja polega na wykonaniu transak- FF to numer funkcji MODBUS,
PPPP oznacza numer parametru (adres komórki),
cji. Realizowana jest ona przez wysłanie przez
NNNN oznacza liczbę parametrów do odczytania,
jednostkę nadrzędną zapytania do urządzeń
CCCC suma kontrolna.
podrzędnych i odebraniu przez nią odpowie-
dzi. Istnieją dwa typy zapytań. Pierwsze do Po odebraniu zapytania, urządzenie
pojedynczego urządzenia. Drugie, to rozgło- podrzędne odpowiada, przesyłając potwier-
dzenie odebrania polecenia, dane oraz bity
Tab. 1. Transakcje realizowane kontroli poprawności danych. W przypad-
w sieci Modbus
ku błędów przy transmisji zapytania odpo-
Numer Rozgło- wiedzią jest specjalny komunikat o błędzie.
Realizowana funkcja
funkcji szenie
Jeśli pytanie miało charakter rozgłoszenia,
Odczyt stanu binarnego
1 NIE urzÄ…dzenia nie potwierdzajÄ… odbioru komu-
wejścia
nikatu. Schemat ramki odpowiedzi jest taki
Odczyt stanu binarnego
2 NIE
sam jak zapytania.
wyjścia
W systemie Modbus zaprojektowano dwa
3 Odczyt wielu słów NIE
tryby transmisji:
4 Odczyt rejestru wejściowego NIE
Pierwszy to tryb ASCII, w którym bajt in-
Wymuszenie stanu 1 wyjścia
5 TAK
formacji jest przedstawiony jako dwa zna-
binarnego
ki ASCII. Tryb ten zezwala na sekwencyj-
6 Zapis stanu rejestru TAK
ne przesyłanie znaków, przy czym czas
7 Funkcja specjalna NIE
między poszczególnymi znakami w ram-
8 Test pętli
ce nie musi być jednakowy. Nie może jed-
9 Programowanie 484
nak przekroczyć 1s. Przesyłane znaki są
10 Odpytywanie (polling) 484
kodowane heksadecymalnie w postaci
11 Licznik zdarzeń transmisji NIE
znaków ASCII 0...9 oraz A...F. Oprócz 7
12 Logowanie zdarzeń transmisji NIE bitów danych jednostka informacyjna za-
wiera trzy dodatkowe bity: startu, parzy-
13 Programowanie sterownika
stości i stopu.
14 Odpytywanie sterownika
Drugi tryb to RTU. W odróżnieniu od try-
Wymuszenie stanu słowa
15 TAK
wyjść binarnych bu ASCII dane są tutaj przesyłane jako
paczki danych ośmiobitowych w ramach
16 Zapis wielu rejestrów TAK
jednej transakcji.
17 Raport slave ID NIE
Znaczniki początku i końca transmisji po-
18 Programowanie 884/M84
winny trwać około 3,5 okresu trwania przesy-
19 Kasowanie połączenia
łania danych. Jednocześnie przerwy między
20 Odczyt globalnych referencji NIE
poszczególnymi częściami ramki nie powin-
21 Zapis globalnych referencji NIE
ny być dłuższe niż 1,5 takiego okresu. Jeśli
22 Zapis 4x rejestru z maskÄ… NIE
przerwa będzie dłuższa, urządzenie odbiera-
23 Zapis/odczyt 4x rejestrów NIE jące dane stwierdzi błąd transmisji. W tab. 1
zestawiono funkcje sieci Modbus zdefinio-
24 Odczyt kolejki FIFO NIE
Elektronika Praktyczna 11/2004
129
A U T O M A T Y K A
wane przez firmę Modicon. W praktyce wy- Krok 3. Przesunąć zawartość reje-
korzystywanych jest tylko kilka z nich, pozo- stru CRC o 1 bit w prawo,
stałe to funkcje działające jedynie w urządze- najbardziej znaczący bit
niach firmy Modicon. rejestru wyzerować.
Ważnym elementem dla protokołu Krok 4. Dla wartości 0 najmniej
Modbus jest możliwość sprawdzenia po- znaczącego bitu rejestru
prawności przesłnych danych w trakcie CRC przejść do kroku 3,
transakcji. Dla transmisji ASCII polem po- dla wartości 1 wykonać
twierdzającym poprawność przesłanych Ex-OR rejestru CRC ze sta- Rys. 1
danych jest LCR (Longitudinal Redundan- Å‚Ä… A001h.
cy Check). Zarówno urządzenie nadające, Krok 5. Powtarzać kroki 3 i 4 dla całego szy w danych dłuższych niż 8 bitów.
jak i odbierające oblicza LCR według na- słowa danych. Topologia sieci Modbus jest ściśle uza-
stępującego algorytmu: Krok 6. Powtarzać kroki 2 do 5 dla wszyst- leżniona od zastosowanej warstwy fizycz-
Krok 1. Dodać wszystkie słowa transmisji, kich słów danych. nej sieci. Za pomocą konwerterów siecio-
podzielone w słowa 8-bitowe, wy- Krok 7. Zapisać gotową wartość CRC do wych możliwe jest łączenie różnych ro-
łączając znak początku (:) i znaki przesyłanego komunikatu, za- dzajów medium, różnych topologii itd.
końca CRLF. W operacji dodawa- mieniając miejscami słowo mniej Bardzo ciekawym rozwiązaniem jest po-
nia nie należy uwzględniać ewen- i bardziej znaczące. łączenie wielu urządzeń MODBUS-owych
tualnych przeniesień. W praktyce na szczęście nie ma po- za pomocą sieci światłowodowej. Dzię-
Krok 2. Wynik dodawania odjąć od FFh. trzeby implementacji protokołu transmisji. ki temu system może być bardzo rozległy,
Krok 3. Wykonać uzupełnienie do dwóch. Producenci sterowników przemysłowych a zastosowanie topologii pierścienia uod-
Inną metodą sprawdzenia poprawno- i aparatury do nich udostępniają gotowe parnia sieć na awarie (na rys. 1 pokazano
ści jest obliczenie CRC (Cyclic Redundancy moduły, które wystarczy dodać do zesta- przykład sieci Modus, w której urządze-
Check). W tym celu należy: wu, lub serwery DDE, lub OPC, dzięki któ- nia połączono światłowodem). Ponieważ
Krok 1. Nadać wartość początkową FFFFh. rym dane można odczytywać bezpośred- protokół dopuszcza tylko jednego maste-
Krok 2. Pobrać ośmiobitowe słowo danych nio z komputera. ra, w sieci może występować tylko jeden
i wykonać funkcję Ex-OR z młod- Odmianą Modbusa spotykaną w prze- komputer lub sterownik nadrzędny odpy-
szym bajtem danych CRC (CRC myśle jest JBUS. Różni się on tylko tym, tujący urządzenia.
2004_3073_101_194_190x135.qxd 2/3/04 PM Page 1
LO). Wynik zapisać w CRC. że 12:32
ma odwrócone słowa: starszy i młod- Adam Bieńkowski
Sterowanie przyrzÄ…dami
Dowolna magistrala w dowolnym momencie
Najszerszy wybór magistral
GPIB PCI/PXI
Ethernet PCMCIA
USB FireWire
Serial Wireless
Dostarczamy ponad 2200 sterowników od ponad 150 dostawców
"! "!
sprz´tu do LabVIEW , LabWindows/CVI oraz Mesurement Studio ,
by u"atwiç tworzenie aplikacji.
Aby uzyskaç wi´cej informacji odwiedÄ™
Tel: (22) 33 90 150
naszÄ… stron´ ni.com/info i wprowadÄ™ kod
ni.com/poland
National Instruments Poland Sp. z o.o.
ebkjpg bÄ…dÄ™ skontaktuj si´ z nami:
ul. Konstruktorska 4 " 02-673 Warszawa
Fax: (22) 33 90 283 " ni.poland@ni.com
© 2003-2004 National Instruments Corporation. All rights reserved. Product and company
names listed are trademarks or trade names of their respective companies.
Elektronika Praktyczna 11/2004
130
Wyszukiwarka
Podobne podstrony:
Sieci przemysłowe w praktyce, cz 5(2)
Sieci przemysłowe w praktyce, cz 6
Sieci przemysłowe w praktyce, cz 3
Sieci przemysłowe w praktyce, cz 2(1)
Sieci przemysłowe w praktyce, cz 1(1)
Sieci bezprzewodowe Praktyczny przewodnik
Grzegorz Dziamski konceptualna teorio praktyka cz 2
Okablowanie strukturalne sieci Teoria i praktyka Wydanie II okast2
Geometria w praktyce, cz 2 Dach czterospadowy i kopertowy
Geometria w praktyce, cz 1 Dach pulpitowy i dwuspadowy
więcej podobnych podstron