Modbus read
Opis parametrów ikony
1 - Wejście sygnału wyzwalającego.
2 - Nazwa bloczka nadana przez użytkownika.
3-4 - Wyjśćia sygnałowe.
5 - Stan bloczka: zielony – działa, czerwony - błąd.
6 - Komunikaty bloczka.
Wejście(1)
Wejście dla wyzwolenia odczytu.
Gdy do wejścia podłączony jest sygnał to bloczek odczytuje wartości, jedynie gdy na wejście podawany jest sygnał określony w „Zbocze wyzwalające”.
Jeżeli wejście nie jest podłączone to bloczek zostaje automatycznie uruchomiony i będzie działać z częstotliwością ustawioną w „Interwał odświeżania [ms]”.
Wyjścia(3-4)
3 - Wartość - Bloczek pobiera dane z komunikacji modbus i wysyła je za pomocą wyjścia. Gdy bloczek nie może odczytać wartości wyjśćie nie wystawia sygnału.
4 - Podłączony - Wyjście wystawiające wartość true(1), gdy bloczek poprawnie odczytuje przesyłaną wartość. W przeciwnym wypadku wystawi wartość false(0).
Komunikaty bloczka (6)
Opis pod bloczkiem zawiera informację o stanie bloczka lub możliwym błędzie:
null - System sprawny - Wartość początkowa (podczas uruchamiania systemu).
Wartość numeryczna - System sprawny - W przypadku prawidłowego odczytu z modbus’a w opisie bloczka znajduje się odczytana wartość.
Invalid input edge configuration - Błąd - Nieprawidłowe zbocze wyzwalające.
Invalid function code configuration - Błąd - Nieprawidłowy kod funkcji.
Invalid device address configuration - Błąd - Nieprawidłowy adres urządzenia.
Invalid register address configuration - Błąd - Nieprawidłowy adres rejestru.
Invalid bit count configuration - Błąd - Nieprawidłowa wartość bit count.
Invalid value type configuration - Błąd - Nieprawidłowy typ wartości.
Invalid divisor configuration - Błąd - Nieprawidłowa wartość dzielnika.
Invalid precision configuration - Błąd - Nieprawidłowa wartość precyzji.
Invalid endianess configuration - Błąd - Nieprawidłowa wartość endianess.
Invalid refresh interval configuration - Błąd - Nieprawidłowa wartość interwału odświeżania.
Invalid response timeout configuration - Błąd - Nieprawidłowa wartość opóźnienia odpowiedzi.
Missing RS485 configuration - Błąd - Nieprawidłowa wartość RS485.
RS485 setup incomplete - Błąd - Niekompletna konfiguracja RS485.
RS485 port missing - Błąd - Brak konfiguracji portu.
Baudrate configuration mismatch - Błąd - Nieprawidłowa wartość baudrate.
Parity configuration mismatch - Błąd - Nieprawidłowa parzystość.
Stop bits configuration mismatch - Błąd - Nieprawidłowa wartość bitów stopu.
Invalid baudrate configuration - Błąd - Nieprawidłowa wartość baudrate.
Invalid parity configuration - Błąd - Nieprawidłowa parzystość.
Invalid stop bits configuration - Błąd - Nieprawidłowa wartość bitów stopu.
Invalid parity or stop bits configuration - Błąd - Nieprawidłowa parzystość lub wartość bitów stopu.
Expected 0 or 1 on input - Błąd - Oczekiwana wartość na wejściu 0 lub 1.
Failed to parse value - Błąd - Błąd podczas przetwarzania wartośći.
Value exceeds 16-bits - Błąd - Nieprawidłowa wartość przekracza 16 - bitów.
Value exceeds 32-bits - Błąd - Nieprawidłowa wartość przekracza 32 - bitów.
Value exceeds 32-bit float - Błąd - Nieprawidłowa wartość przekracza 32 - bitów float.
Failed to create request data - Błąd - Nieprawidłowa wartość odczytu danych.
Negative value - Błąd - Wartość ujemna.
Value too large for bit count - Błąd - Wartość przekracza pojemność bufora.
Failed to create request data - Błąd - Błąd tworzenia odpowiedzi.
Function code not supported - Błąd - Wartość nieobsługiwana.
Invalid address - Błąd - Błąd adresu.
Invalid quantity - Błąd - Błąd.
IO error - Błąd - Błąd wejść.
Unknown modbus exception code - Błąd - Nieprawidłowa wartość kodu.
Master/RS485 timeout - Błąd - Przekroczono czas oczekiwania dla master.
Slave timeout - Błąd - Przekroczono czas oczekiwania dla slave.
Invalid request - Błąd - Błąd odpowiedzi.
Internal error - Błąd - Błąd wewnętrzny.
RS485 busy - Błąd - RS485 port zajęty.
RS485 RX overrun - Błąd - Port RS485 odczyt przekroczył wartość.
RS485 frame error - Błąd - Port RS485 błąd ramki danych.
Konfiguracja - Properties
Ustawienia dostępne po podwójnym kliknięciu prawym przyciskiem myszy.
Nazwa - Nazwa bloczka nadana przez użytkownika.
- Zbocze wyzwalające - Rodzaj sygnału powodującego wyzwolenie:
Zbocze opadające (Falling) - Zmiana z 1 na 0.
Zbocze narastające (Rising) - Zmiana z 0 na 1.
Zbocze narastające lub opadające (Rising or Falling) - Zmiana z 1 na 0 lub z 0 na 1.
- Kod funkcji - Typ komunikacji (należy odczytać z instrukcji urządzenia):
FC 1 Read Coil - Odczyt pojedynczej komórki.
FC 2 Discrete Input Contacts - Odczyt stanu wejść dyskretnych.
FC 3 Read Holding Registers - Odczyt danych z rejestrów przechowujących wartości.
FC 4 Read Input Registers - Odczyt danych z rejestrów wejściowych.
Adres urządzenia - Adres urządzenia. Należy odczytać z instrukcji urządzenia.
Adres rejestru - Adres rejestru do odczytu. Należy odczytać z instrukcji urządzenia.
Ilość bitów - Ilość bitów do odczytu. Należy odczytać z instrukcji urządzenia.
Interwał odświeżania [ms] - Czas co jaki będzie odczytywana wartość Modbus, jeżeli wartość ta jest równa 0 to odczyt realizowany jedynie w przypadku wyzwolenia zewnętrznego (podanie sygnału wyzwalającego na wejściu bloczka).
Opóźnienie odpowiedzi [ms] - Czas jaki system czeka na odpowiedź.
Dzielnik - Wartość przez jaką zostanie podzielona wartość odczytana.
Precyzja - Dokładność z jaką zostanie wygenerowana odczytana dana.
- Endianess - Określenie sposobu zakończenia komunikacji. Należy odczytać z instrukcji urządzenia:
NoSwap - LittleEndian.
SwapBytesAndWords - BigEndian.
Bajty w słowie BigEndian, słowa w LittleEndian.
Bajty w słowie LittleEndian, słowa BigEndian.
Konfiguracja klienta
Konfiguracja transmisji danych możliwa do zapisania i wykorzystania jako profil w innych bloczkach z komunikacją modbus.
Baudrate - Prędkość transmisji danych.
Parzystość - Ustawienia dotyczące bitu parzystego.
Bity stopu - Ilość bitów rozdzielająca znaki.
Liczba prób wysłania rozkazu po których powiadomić o błędzie - Dopiero przy przekroczeniu ustawionej wartości prób bloczek powiadomi o błędzie. W czasie trwania prób wystawi na wyjście wartość null.
Przykładowe wykorzystanie bloku
Pobieranie i wyświetlanie zużycia mocy czynnej w czasie rzeczywistym

Opis działania układu:
Bloczek modbus-read skonfigurowany jest do pracy z fizycznym urządzeniem LE-01MW. Urządzenie to zlicza aktualną wartość zużywanej mocy czynnej i przekazuje ją do bloczka modbus-read. Po oznaczeniu wartości za pomocą bloczka tag podajemy sygnał do bloczka app-label, który umożliwia wyświetlanie zebranej danej w aplikacji Fox.
Widok z aplikacji Fox:

Konfiguracja bloczka modbus-read na podstawie dokumentacji licznika dostępnej na stronie producenta:
Sterowanie włączeniem i wyłączeniem klimatyzatora w zależności od temperatury w pomieszczeniu

Opis działania układu:
Wartość temperatury pobrana za pomocą modbus-read z fizycznego urządzenia porównywana jest z maksymalną dozwoloną temperaturą. Jeżeli temperatura zmierzona przekroczy wartość ustaloną przez nas w bloczku const to comparator wystawi wartość true(1) i załączy klimatyzator.