Modbus read

Modbus read – Bloczek służy do odczytu wartości pochodzących z portów RS485 Modbus RTC
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

modbus-read_przyklad2

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:

modbus-read_przyklad5

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

modbus-read_przyklad1

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.