urządzenie podrzędne musi mieć unikalny kod adresu. Jeśli kod adresu
urządzenia podrzędnego zgadza się z kodem adresowym wysłanym przez
urządzenie nadrzędne, może ono odczytać polecenie i odesłać komunikat
zwrotny. Kod adresowy wysłany przez urządzenie podrzędne do
nadrzędnego wskazuje jego adres, co umożliwia identyfikację, skąd pochodzą
informacje zwrotne.
e) Kod funkcji
Kod funkcji wysyłany jest w drugim bajcie ramki. Kody funkcji, które można
zdefiniować w protokole komunikacyjnym Modbus to 1 do 127. Za pomocą
kodu funkcji urządzenie nadrzędne przesyła jakie zadanie ma wykonać
urządzenie podrzędne. W odpowiedzi od urządzenie podrzędnego zwracany
jest ten sam kod funkcji, co wskazuje, że odpowiedziało ono urządzeniu
nadrzędnemu i wykonało powiązane z funkcją operacje.
Poniższa tabela zawiera przykładowe kody funkcji protokołu Modbus.
Kod funkcji
03H
06H
10H
f)
Obszar danych
Obszar danych zawiera informacje, co powinno zostać zwrócone z urządzenie
podrzędnego lub jakie działania należy wykonać. Informacjami mogą być
dane ( wejścia/wyjścia cyfrowe, wejścia/wyjścia analogowe, rejestry itp.),
adres referencyjny itd. Np. urządzenie nadrzędne wysyła podrzędnemu
polecenie zwrotu wartości rejestru ( w tym adres początkowy i długość
odczytywanego rejestru) przez kod funkcji: 03, wtedy zwracane dane
obejmują zarówno długość jak i zawartość danych rejestru. Dla różnych
urządzeń podrzędnych adres oraz informacje o danych różnią się między
sobą.
Zwracane dane zawierają: adres urządzenie podrzędnego, kod funkcji, obszar
danych i kod CRC. Dane w obszarze danych to dwa bajty, przy czym wyższy
priorytet ma pierwszy.
g) Wymagania dotyczące czasu przerwy
Przed wysłaniem danych wymagana jest przerwa w pracy magistrali danych,
która musi być większa niż szybkość transmisji (dla 9600bps przerwa wynosi
min. 5ms).
3. Wprowadzenie do kodów funkcji protokołu Modbus
Uwaga: Zasilacz obsługuje tylko poniżej opisane kody funkcji protokołu
Modbus.
a) Kod funkcji „03": odczyt wejść rejestru wielokanałowego
Definicja
Odczyt danych rejestru
Zapis pojedynczego
rejestru
Zapis wielu rejestrów
Operacja (binarna)
Odczyt danych jednego lub
wielu rejestrów
Zapis zestawu danych do
jednego rejestry
Zapis wielu zestawów danych
binarnych do wielu rejestrów