Rozdział 11. MODBUS

Spis treści

11.1. Protokół komunikacyjny
11.2. Zaimplementowane funkcje
11.3. Rejestry INPUT

11.1. Protokół komunikacyjny

Moduł LB-489 zapewnia obsługę protokołu MODBUS/TCP, zgodnie ze specyfikacją Modbus Organization. Używany jest domyślnie przeznaczony dla tego protokołu port 502. Akceptowane jest jednocześnie tylko jedno połączenie TCP, wszystkie kolejne próby połączenia są odrzucane. Dodatkowo, jako rozszerzenie, obsługiwana jest również komunikacja za pomocą protokołu UDP - protokół jest identyczny jak dla TCP, również używany jest port 502.

11.2. Zaimplementowane funkcje

Zaimplementowane są następujące funkcje:

  • 4 - Read Input Registers,

  • 43/14 - Read Device Identification

11.3. Rejestry INPUT

Poniższa tabela przedstawia dostępne rejestry typu INPUT (odczyt funkcją 04 – Read Input Registers).

Wszystkie wartości są w kolejności bajtów starszy-młodszy (big-endian), high byte / low byte, high word / low word.

adres protokołowy numer rejestru typ wartość
0 30001 16-bit unsigned integer, high byte / low byte Typ urządzenia (stała wartość 489).
1 30002 16-bit unsigned integer Numer seryjny urządzenia.
2..3 30003..4 32-bit unsigned integer Wersja bootloader'a: bity 24..31: numer wersji główny, bity 16..23: numer wersji poboczny, bity 8..15: numer rewizji, bity 0..7: numer beta.
4..5 30005..6 32-bit unsigned integer Data wydania bootloader'a: bity 16..31: rok, bity 8..15: miesiąc, bity 0..7: dzień.
6..7 30007..8 32-bit unsigned integer Wersja firmware: bity 24..31: numer wersji główny, bity 16..23: numer wersji poboczny, bity 8..15: numer rewizji, bity 0..7: numer beta.
8..9 30009..10 32-bit unsigned integer Data wydania firmware: bity 16..31: rok, bity 8..15: miesiąc, bity 0..7: dzień.
10 30011 16-bit unsigned integer Numer wersji protokołu komunikacyjnego.
11 30012 16-bit unsigned integer Zarezerwowane.
12..15 30013..16 16-bit unsigned integer Bezpośredni wynik pomiaru z przetwornika A/C (przeznaczenie serwisowe).
16..19 30017..20 16-bit unsigned integer

Tryb pracy wejścia 1..4:

  • 0 - wejście wyłączone,

  • 1 - kalibracja (przeznaczenie serwisowe),

  • 2 - S300,

  • 3 - termometr,

  • 4 - analogowe 0-3V,

  • 5 - binarne,

  • 6 - binarne bezpieczne.

20..23 30021..24 16-bit unsigned integer Typ czujnika S300 na wejściu 1..4; 0 gdy wejście pracuje w innym trybie niż S300 albo brak jest dołączonego czujnika na wejściu
24..27 30025..28 16-bit unsigned integer Numer seryjny czujnika S300 na wejściu 1..4; 0 gdy wejście pracuje w innym trybie niż S300 albo brak jest dołączonego czujnika na wejściu
64..79 30065..80 32-bit integer Wartość numeryczna w postaci stałoprzecinkowej określająca wynik pomiaru dla wielkości mierzonej na wejściu nr 1 i dla danej kolejnej zmiennej 1..8. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna 1000000000. Jeżeli wykryta została sytuacja awaryjna (np. zwarcie czujnika), to zwracana jest wartość specjalna -1000000000. Ze względu na 2 słowa zajmowane przez każdą wartość int32_t, adresy poszczególnych zmiennych rosną kolejno o 2.
80..95 30081..96 16-bit integer Wyniki pomiaru 1..8 dla wejścia 2, format - patrz opis powyżej.
96..111 30097..112 16-bit integer Wyniki pomiaru 1..8 dla wejścia 3, format - patrz opis powyżej.
112..127 30113..138 16-bit integer Wyniki pomiaru 1..8 dla wejścia 4, format - patrz opis powyżej.
128..143 30129..144 32-bit float Wartość numeryczna w postaci zmiennoprzecinkowej określająca wynik pomiaru dla wielkości mierzonej na wejściu nr 1 i dla danej kolejnej zmiennej 1..8. Jeżeli wejście jest nieaktywne, dana zmienna nie istnieje lub wykryta została sytuacja awaryjna (np. zwarcie czujnika) to zwracana jest wartość specjalna NaN. Ze względu na 2 słowa zajmowane przez każdą wartość float, adresy poszczególnych zmiennych rosną kolejno o 2.
144..159 30145..160 32-bit float Wyniki pomiaru 1..8 dla wejścia 2, format - patrz opis powyżej.
160..175 30161..176 32-bit float Wyniki pomiaru 1..8 dla wejścia 3, format - patrz opis powyżej.
176..191 30177..192 32-bit float Wyniki pomiaru 1..8 dla wejścia 4, format - patrz opis powyżej.