Modbus
Połącz urządzenie Modbus TCP i odczytuj lub zapisuj jego rejestry i cewki jako tagi.
Modbus odczytuje i zapisuje rejestry i cewki urządzenia Modbus TCP. Dodajesz urządzenie wraz z jego połączeniem sieciowym, a następnie tworzysz tag dla każdego rejestru lub cewki, które chcesz zbierać.
Łączenie urządzenia Modbus
| Ustawienie | Działanie |
|---|---|
| Nazwa | Identyfikuje urządzenie w projekcie. Opcjonalna nazwa niestandardowa nadaje mu bardziej przyjazny alias. |
| Włączony | Czy THMI łączy się z urządzeniem, aby odbierać dane. Wyłącz tę opcję, aby zatrzymać całą komunikację i zbieranie wartości bez usuwania urządzenia. |
| Host | Nazwa hosta lub adres IP, pod którym urządzenie jest dostępne w sieci. |
| Port | Port TCP urządzenia Modbus. Domyślnie 502, czyli standardowy port Modbus TCP. |
| Limit czasu | Jak długo czekać na odpowiedź, zanim żądanie zostanie uznane za nieudane. Domyślnie 5 sekund (5000 ms). |
| Identyfikator jednostki | Identyfikuje konkretne urządzenie w sieci Modbus. Używany, gdy kilka urządzeń znajduje się za jedną bramką. Zakres 0–255 (domyślnie 1). |
Odczyt wartości: kategoria funkcji
Każdy tag Modbus odczytuje dane z jednego z czterech obszarów, wybieranego za pomocą ustawienia Kategoria funkcji. Określa ono też, czy wartość można zapisać z powrotem:
| Kategoria funkcji | Zawiera | Dostęp |
|---|---|---|
| Cewka | Pojedyncze bity wł./wył. | Odczyt i zapis |
| Wejścia dyskretne | Pojedyncze bity wł./wył. | Tylko odczyt |
| Rejestry przechowujące | Rejestry 16-bitowe | Odczyt i zapis |
| Rejestry wejściowe | Rejestry 16-bitowe | Tylko odczyt |
Cewki i wejścia dyskretne to pojedyncze bity, więc odpowiadają
typowi danych bool. Rejestry przechowujące i
wejściowe są 16-bitowe, więc większe liczby są odczytywane z kilku kolejnych
rejestrów:
| Typ danych | Liczba rejestrów |
|---|---|
int16 / uint16 | 1 rejestr |
int32 / uint32 / float | 2 rejestry |
int64 / double | 4 rejestry |
Adres początkowy to adres rejestru lub cewki, od którego tag rozpoczyna odczyt. Tablicowe typy danych odczytują od tego miejsca kilka wartości jedna po drugiej. Ustaw Liczbę wartości, aby określić ich liczbę.
Kolejność bajtów i słów (tryb zamiany)
Gdy wartość zajmuje więcej niż jeden rejestr, urządzenia różnią się kolejnością,
w jakiej układają bajty i 16-bitowe słowa. Tryb zamiany koryguje to, aby
liczba została poprawnie odtworzona. Weźmy 32-bitową wartość 0x12345678
odczytaną z dwóch rejestrów:
| Tryb zamiany | Efekt | 0x12345678 staje się |
|---|---|---|
| Brak | Bajty w kolejności odbioru. | 12 34 56 78 |
| Bajty | Zamienia dwa bajty w obrębie każdego słowa. | 34 12 78 56 |
| Słowa | Zamienia kolejność słów. | 56 78 12 34 |
| Bajty i słowa | Zamienia jedno i drugie. | 78 56 34 12 |
Jeśli liczba z kilku rejestrów wygląda na przypadkową lub jest wyraźnie błędna, niemal zawsze trzeba dostosować tryb zamiany. Dopasuj go do kolejności bajtów podanej w dokumentacji urządzenia. Tryb zamiany nie dotyczy jednobitowych wartości cewek i wejść dyskretnych.
Pełną listę typów danych i ich znaczenie znajdziesz w sekcji Typy danych.
Odpytywanie i zapis
- Interwał odpytywania: jak często (w milisekundach) THMI odczytuje wartość. Domyślnie 5000 (5 sekund).
- Zapisywalny: pozwala użytkownikom z odpowiednim uprawnieniem ręcznie zmieniać wartość (zobacz Wartości i historia). Opcja jest dostępna tylko dla kategorii funkcji z odczytem i zapisem (cewki i rejestry przechowujące) oraz dla pojedynczych (nietablicowych) wartości. Wejścia dyskretne i rejestry wejściowe są zawsze tylko do odczytu.