ep 11 129 130

background image

129

Elektronika Praktyczna 11/2004

szenie do wszystkich urządzeń w sieci. Na za-
pytanie składa się numer realizowanej funk-
cji, blok danych, bity kontroli poprawności
danych. Przykład ramki odczytującej dane:
<AA><FF><PPPP><NNNN><CCCC>,

gdzie:

AA – to adres urządzenia docelowego,

FF – to numer funkcji MODBUS,

PPPP – oznacza numer parametru (adres komórki),

NNNN – oznacza liczbę parametrów do odczytania,

CCCC – suma kontrolna.

Po odebraniu zapytania, urządzenie

podrzędne odpowiada, przesyłając potwier-
dzenie odebrania polecenia, dane oraz bity
kontroli poprawności danych. W przypad-
ku błędów przy transmisji zapytania odpo-
wiedzią jest specjalny komunikat o błędzie.
Jeśli pytanie miało charakter rozgłoszenia,
urządzenia nie potwierdzają odbioru komu-
nikatu. Schemat ramki odpowiedzi jest taki
sam jak zapytania.

W systemie Modbus zaprojektowano dwa

tryby transmisji:
– Pierwszy to tryb ASCII, w którym bajt in-

formacji jest przedstawiony jako dwa zna-
ki ASCII. Tryb ten zezwala na sekwencyj-
ne przesyłanie znaków, przy czym czas
między poszczególnymi znakami w ram-
ce nie musi być jednakowy. Nie może jed-
nak przekroczyć 1s. Przesyłane znaki są
kodowane heksadecymalnie w postaci
znaków ASCII 0...9 oraz A...F. Oprócz 7
bitów danych jednostka informacyjna za-
wiera trzy dodatkowe bity: startu, parzy-
stości i stopu.

– Drugi tryb to RTU. W odróżnieniu od try-

bu ASCII dane są tutaj przesyłane jako
paczki danych ośmiobitowych w ramach
jednej transakcji.
Znaczniki początku i końca transmisji po-

winny trwać około 3,5 okresu trwania przesy-
łania danych. Jednocześnie przerwy między
poszczególnymi częściami ramki nie powin-
ny być dłuższe niż 1,5 takiego okresu. Jeśli
przerwa będzie dłuższa, urządzenie odbiera-
jące dane stwierdzi błąd transmisji. W

tab. 1

zestawiono funkcje sieci Modbus zdefinio-

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-

nikacji asynchronicznej. System transmisyj-
ny składa się z jednostki nadrzędnej (maste-
ra

) oraz wielu jednostek podrzędnych (slave).

Protokół umożliwia zaadresowanie 247 urzą-
dzeń. Adres 0 jest zarezerwowany do trybu
rozgłaszania.

Transmisja polega na wykonaniu transak-

cji. Realizowana jest ona przez wysłanie przez
jednostkę nadrzędną zapytania do urządzeń
podrzędnych i odebraniu przez nią odpowie-
dzi. Istnieją dwa typy zapytań. Pierwsze – do
pojedynczego urządzenia. Drugie, to rozgło-

A U T O M A T Y K A

Tab. 1. Transakcje realizowane

w sieci Modbus

Numer

funkcji

Realizowana funkcja

Rozgło-

szenie

1

Odczyt stanu binarnego

wejścia

NIE

2

Odczyt stanu binarnego

wyjścia

NIE

3

Odczyt wielu słów

NIE

4

Odczyt rejestru wejściowego

NIE

5

Wymuszenie stanu 1 wyjścia

binarnego

TAK

6

Zapis stanu rejestru

TAK

7

Funkcja specjalna

NIE

8

Test pętli

9

Programowanie 484

10

Odpytywanie (polling) 484

11

Licznik zdarzeń transmisji

NIE

12

Logowanie zdarzeń transmisji

NIE

13

Programowanie sterownika

14

Odpytywanie sterownika

15

Wymuszenie stanu słowa

wyjść binarnych

TAK

16

Zapis wielu rejestrów

TAK

17

Raport slave ID

NIE

18

Programowanie 884/M84

19

Kasowanie połączenia

20

Odczyt globalnych referencji

NIE

21

Zapis globalnych referencji

NIE

22

Zapis 4x rejestru z maską

NIE

23

Zapis/odczyt 4x rejestrów

NIE

24

Odczyt kolejki FIFO

NIE

background image

A U T O M A T Y K A

Elektronika Praktyczna 11/2004

130

Dowolna magistrala w dowolnym momencie

Najszerszy wybór magistral

Dostarczamy ponad 2200 sterowników od ponad 150 dostawców
sprz´tu do LabVIEW

, LabWindows/CVI oraz Mesurement Studio

,

by u∏atwiç tworzenie aplikacji.

Sterowanie przyrzàdami

ni.com/poland

Aby uzyskaç wi´cej informacji odwiedê
naszà stron´ ni.com/info i wprowadê kod
ebkjpg bàdê skontaktuj si´ z nami:

National Instruments Poland Sp. z o.o.

ul. Konstruktorska 4 • 02-673 Warszawa
Fax: (22) 33 90 283 • ni.poland@ni.com

Tel: (22) 33 90 150

© 2003-2004 National Instruments Corporation. All rights reserved. Product and company

names listed are trademarks or trade names of their respective companies.

GPIB

PCI/PXI

Ethernet

PCMCIA

USB

FireWire

Serial

Wireless

2004_3073_101_194_190x135.qxd 2/3/04 12:32 PM Page 1

wane przez firmę Modicon. W praktyce wy-
korzystywanych jest tylko kilka z nich, pozo-
stałe to funkcje działające jedynie w urządze-
niach firmy Modicon.

Ważnym elementem dla protokołu

Modbus jest możliwość sprawdzenia po-
prawności przesłnych danych w trakcie
transakcji. Dla transmisji ASCII polem po-
twierdzającym poprawność przesłanych
danych jest LCR (Longitudinal Redundan-
cy Check

). Zarówno urządzenie nadające,

jak i odbierające oblicza LCR według na-
stępującego algorytmu:

Krok 1. Dodać wszystkie słowa transmisji,

podzielone w słowa 8-bitowe, wy-
łączając znak początku (:) i znaki
końca CRLF. W operacji dodawa-
nia nie należy uwzględniać ewen-
tualnych przeniesień.

Krok 2. Wynik dodawania odjąć od FFh.

Krok 3. Wykonać uzupełnienie do dwóch.

Inną metodą sprawdzenia poprawno-

ści jest obliczenie CRC (Cyclic Redundancy
Check

). W tym celu należy:

Krok 1. Nadać wartość początkową FFFFh.

Krok 2. Pobrać ośmiobitowe słowo danych

i wykonać funkcję Ex-OR z młod-
szym bajtem danych CRC (CRC
LO). Wynik zapisać w CRC.

Krok 3. Przesunąć zawartość reje-

stru CRC o 1 bit w prawo,
najbardziej znaczący bit
rejestru wyzerować.

Krok 4. Dla wartości 0 najmniej

znaczącego bitu rejestru
CRC przejść do kroku 3,
dla wartości 1 wykonać
Ex-OR rejestru CRC ze sta-
łą A001h.

Krok 5. Powtarzać kroki 3 i 4 dla całego

słowa danych.

Krok 6. Powtarzać kroki 2 do 5 dla wszyst-

kich słów danych.

Krok 7. Zapisać gotową wartość CRC do

przesyłanego komunikatu, za-
mieniając miejscami słowo mniej
i bardziej znaczące.

W praktyce na szczęście nie ma po-

trzeby implementacji protokołu transmisji.
Producenci sterowników przemysłowych
i aparatury do nich udostępniają gotowe
moduły, które wystarczy dodać do zesta-
wu, lub serwery DDE, lub OPC, dzięki któ-
rym dane można odczytywać bezpośred-
nio z komputera.

Odmianą Modbusa spotykaną w prze-

myśle jest JBUS. Różni się on tylko tym,
że ma odwrócone słowa: starszy i młod-

szy w danych dłuższych niż 8 bitów.

Topologia sieci Modbus jest ściśle uza-

leżniona od zastosowanej warstwy fizycz-
nej sieci. Za pomocą konwerterów siecio-
wych możliwe jest łączenie różnych ro-
dzajów medium, różnych topologii itd.
Bardzo ciekawym rozwiązaniem jest po-
łączenie wielu urządzeń MODBUS-owych
za pomocą sieci światłowodowej. Dzię-
ki temu system może być bardzo rozległy,
a zastosowanie topologii pierścienia uod-
parnia sieć na awarie (na

rys. 1 pokazano

przykład sieci Modus, w której urządze-
nia połączono światłowodem). Ponieważ
protokół dopuszcza tylko jednego

maste-

ra, w sieci może występować tylko jeden

komputer lub sterownik nadrzędny odpy-
tujący urządzenia.

Adam Bieńkowski

Rys. 1


Wyszukiwarka

Podobne podstrony:
EP 11 130
EP 11 130
EP(11)
EP 11 002
129-130 Cantalamenssa - Woda ożywcza, teologia, teksty
EP 11 055
129 130
ep 11 127
ep 11 111 113
129 130
EP 11 053
ep 11 095 097
ep 11 059 062
ep 11 008
EP 11 043 047
EP(11)
ep 11 091 094

więcej podobnych podstron