System DOMIQ umożliwia dwukierunkową komunikację z innymi urządzeniami przy użyciu protokołu
MODBUS. Powszechność zastosowania tego protokołu sprawia, że otwiera to drogę do integracji bardzo
szerokiego spektrum urządzeń w systemie DOMIQ. Integracja z użyciem protokołu MODBUS znajduje zastosowanie m.in. w:
- centralach wentylacyjnych,
- klimatyzatorach,
- inwerterach fotowoltaicznych,
- licznikach energii elektrycznych,
- czujnikach pomiarowych (m.in. temperatury, wilgotności, VOC),
- stacjach pogodowych,
- sterownikach PLC,
- i wielu innych.
Moduł Base obsługuje trzy wersje protokołu: MODBUS TCP, MODBUS UDP oraz MODBUS RTU. W tej ostatniej odmianie wymagane jest użycie bramki sprzęgającej – modułu DOMIQ/Serial-4MB.
We wszystkich rodzajach integracji moduł Base pełni rolę urządzenia typu master. Natomiast integrowane urządzenia działają jako slave.
1. Etapy integracji #
Etapy integracji
- Pozyskanie dokumentacji integrowanego urządzenia wraz z opisami parametrów transmisji (tylko
MODBUS RTU) oraz adresacją rejestrów MODBUS. Jest to etap absolutnie konieczny, aby nawiązać komunikację i prawidłowo odczytywać z niego parametry. - (Tylko MODBUS RTU): Jeżeli dane urządzenie jest kolejnym urządzeniem, które jest podłączane do
magistrali MODBUS zarządzanej przez moduł Base, wówczas należy ustawić parametry transmisji:
prędkość i format ramki takie, z jakich korzystają pozostałe urządzenia. - Ustawienie adresu MODBUS integrowanego urządzenia. Zakres adresów wg standardu MODBUS to:
1-247. Urządzenia muszą mieć unikalne adresy w obrębie magistrali. - Po stronie konfiguratora modułu Base:
- Dodanie połączenia i skonfigurowanie jego parametrów.
- Dodanie urządzenia do połączenia i skonfigurowanie jego parametrów.
- Skonfigurowanie odczytów rejestrów w obrębie urządzenia.
WAŻNE: Dla celów diagnostyki komunikacji z danym urządzeniem, zalecamy początkowo dodanie pojedynczego rejestru, którego wartość można bezbłędnie ustalić, np. większość urządzeń udostępnia rejestry zawierające aktualną datę. Daje to możliwość weryfikacji, czy konfiguracja parametrów tego połączenia i urządzenia jest prawidłowa. W przeciwnym wypadku odczyty rejestrów będą zawierały nieprawidłowe dane lub ich odczyt nie będzie w ogóle możliwy.
Konfiguracja po stronie modułu Base będzie opisana w dalszej części tego rozdziału.
2. Interfejs konfiguracyjny #
Interfejs w zakładce Modbus składa się z następujących elementów:
- Pasek przycisków
- Struktura
- Szczegóły
- Rejestry (tylko, gdy w Strukturze wybrano element typu urządzenie).
2.1. Pasek przycisków #
- + Połączenie – Kliknij, aby dodać nowe połączenie.
- + Urządzenie – Kliknij, aby dodać nowe urządzenie do wybranego połączenia.
- Importuj urządzenie – Umożliwia zaimportowanie pliku z konfiguracją urządzenia z innego modułu
Base. - Eksportuj urządzenie – Umożliwia zapisanie na dysku komputera konfiguracji wybranego urządzenia.
- Usuń – Kliknij, aby usunąć zaznaczony element struktury.
2.2. Struktura #
W oknie Struktura wyświetlane są utworzone połączenia wraz z dodanymi do nich urządzeniami. Dla łatwiejszej nawigacji etykiety zawierają najistotniejsze informacje o danym połączeniu/urządzeniu.
Aby usunąć element ze struktury, zaznacz pole wyboru i kliknij Usuń.
2.3. Szczegóły #
Formularz Szczegóły służy do konfigurowania parametrów poszczególnych połączeń i urządzeń. Poszczególne pola i nastawy zostały omówione w dalszej części tego rozdziału.
2.4. Rejestry #
Tabela wyświetlana tylko, gdy w Strukturze zostało wybrane urządzenie. Służy do dodawania odczytów
rejestrów i konfiguracji ich parametrów – zostało to opisane w dalszej części tego rozdziału.
3. Dodawanie połączenia #
Połączenie określa sposób oraz parametry komunikacji modułu Base z urządzeniami magistrali MODBUS.
W obrębie jednego połączenia może funkcjonować wiele urządzeń, muszą one jednak mieć takie same
parametry transmisji. Konfiguracja połączenia przebiega następująco:
- Dodaj połączenie klikając + Połączenie
- W oknie Szczegóły, w polu Nazwa wpisz nazwę połączenia (bez spacji i polskich znaków). Uzupełnienie tego pola nie jest niezbędne. Użyta nazwa musi być unikalna w całej konfiguracji. Nazwa jest używana w identyfikatorach, które służą do odczytu stanu urządzenia i sterowania nim.
- Z listy Typ wybierz rodzaj połączenia. Do wyboru są trzy opcje:
- Serial
- TCP
- UDP
3.1. Serial #
Serial, czyli połączenie szeregowe oparte o standard RS-485. Wybierz tę opcję, kiedy integrowane urządzenia obsługują MODBUS w trybie RTU.
W polu Format ustaw parametry komunikacji, takie jak prędkość, do wyboru: 9600, 19200, 38400
oraz 57600 bit/s oraz rodzaj ramki: 8N1, 8N2, 8E1 oraz 8O1.
3.2. TCP #
MODBUS TCP to modyfikacja standardowego protokołu MODBUS RTU, w którym warstwę transportową
opartą o RS-485 zastąpiono użyciem protokołu TCP/IP. MODBUS TCP wykorzystuje sieć Ethernet jako warstwę fizyczną połączeń.
Tutaj dostępne są trzy parametry:
- Nazwa – Wpisz nazwę (bez spacji i polskich znaków), która jednoznacznie będzie identyfikowała ten
interfejs. Nazwa interfejsu jest wykorzystywana w identyfikatorach. - Adres IP – Adres IP urządzenia slave, z którym chcesz nawiązać połączenie.
- Port – Numer portu, na który wysyłane są pakiety MODBUS/TCP. Standardowo jest to port 502, który
jest oficjalnie zarezerwowany dla tego zastosowania.
3.3. UDP #
Niektóre urządzenia wykorzystują też niestandardowy wariant, w którym zamiast TCP użyto protokołu
bezstanowego UDP. Typ UDP ma identyczny zestaw parametrów jak TCP.
4. Dodawanie urządzenia #
Urządzenie determinuje warunki komunikacji z konkretnym urządzeniem Modbus. Aby dodać nowe urządzenie, wybierz interfejs, do którego chcesz dodać urządzenie i kliknij + Urządzenie. Następnie skonfiguruj jego parametry:
- Nazwa – Unikalna nazwa urządzenia (bez spacji i polskich znaków). Nazwa jest wykorzystywana w
identyfikatorach. - Adres – Adres urządzenia MODBUS slave. Adres urządzenia znajdziesz w karcie katalogowej urządzenia. W większości urządzeń, domyślny adres to 1. Dopuszczalny zakres adresów: 0-247, jednakże adres
0 to adres rozgłoszeniowy – wysłanie danych na urządzenie o tym adresie spowoduje rozgłoszenie
tych danych do wszystkich urządzeń. Jest to szczególnie przydatne do sterowania grupowego urządzeń tego samego typu, np. wyłączenie wszystkich klimatyzatorów. - Opis – Pomocniczy opis urządzenia ułatwiający jego identyfikację.
- Użyj funkcji 16 (Write Multiple Registers) zamiast funkcji 6 (Write Single Register) – Niektóre urządzenia Modbus nie posiadają implementacji funkcji 6 do zapisu rejestrów, a udostępniają jedynie
funkcję 16. Zaznacz to pole, jeżeli dotyczy to podłączanego urządzenia.
5. Konfiguracja rejestrów #
Rejestry stanowią odniesienie do parametrów integrowanego urządzenia. Rejestry mogą być tylko do odczytu lub typu odczyt/zapis.
Dla przykładu, większość central wentylacyjnych udostępnia następujące rejestry: temperatury nawiewu,
wywiewu, czerpni, wyrzutni, prędkość nawiewu, otwarcie bypassu.
WAŻNE: Protokół Modbus wymaga cyklicznego odpytywania rejestrów, aby pozyskiwać ich aktualne wartości. Rejestry odpytywane są sekwencyjnie – jeden po drugim. Dlatego im więcej urządzeń i rejestrów,
tym mniejsza częstotliwość odświeżania wartości.
Tabela Rejestry wyświetlana jest po wybraniu urządzenia w Strukturze. Aby dodać nowy rejestr kliknij
Dodaj. Aby usunąć rejestr(y), zaznacz wybrane pozycje w tabeli i kliknij Usuń.
Dostępne są następujące parametry:
- Typ – Określa rodzaj rejestru.
- holding register – Rejestr wyjściowy, funkcja 3.
- input register – Rejestr wejściowy (tylko do odczytu), funkcja 4.
- coil – Rejestr odnoszący się do pojedynczego wyjścia binarnego, funkcja 1
- input – Stan pojedynczego wejścia binarnego (tylko do odczytu), funkcja 2.
- Format – Określa typ danych użyty do reprezentacji wartości rejestru:
- uint16 – 16-bitowy rejestr liczb całkowitych dodatnich.
- int16 – 16-bitowy rejestr liczb całkowitych.
- uint32 – 32-bitowy rejestr liczb całkowitych dodatnich.
- int32 – 32-bitowy rejestr liczb całkowitych.
- uint32ws – 32-bitowy rejestr liczb całkowitych dodatnich, w którym słowa 16-bitowe są zamienione miejscami.
- int32ws – 32-bitowy rejestr liczb całkowitych, w którym słowa 16-bitowe są zamienione
miejscami. - float – 32-bitowy rejestr liczb zmiennoprzecinkowych
- Adres – Unikalny numer rejestru w integrowanym urządzeniu. W przypadku adresów 32 bitowych są
one zapisywane w dwóch sąsiednich rejestrach. Tabelę z adresami rejestrów należy odszukać w karcie katalogowej integrowanego urządzenia.
WAŻNE! Wpisanie prawidłowego adresu rejestru jest kluczowe do poprawnego jego odczytu.
Zapoznaj się z poniższymi wskazówkami, aby uniknąć najczęściej popełnianych błędów:- Niektórzy producenci podają adresy w formacie heksadecymalnym, należy wówczas ich wartość
przeliczyć na liczbę dziesiętną. - Adresacja rejestrów wg standardu Modbus rozpoczyna się od 0, jednakże niektórzy producenci podają numery powiększone o 1. Wówczas należy adres pomniejszyć o 1.
- Niekiedy numeracja rejestrów typu holding register podawana jest jako 4xxxx, np. 40108. Taki zapis odpowiada rejestrowi o adresie 107. Analogicznie jest w przypadku rejestrów typu input register, jednakże tam numeracja jest podawana w formie 3xxxx, np 30108, co odpowiada adresowi 107.
- Niektórzy producenci podają adresy w formacie heksadecymalnym, należy wówczas ich wartość
- Nazwa – Unikalna nazwa rejestru. Nazwa rejestru jest wykorzystywana w identyfikatorach.
- Mnożnik – Wartość przez którą pomnożona będzie aktualna wartość rejestru. Mnożnik może być również liczbą ułamkową, jednak należy pamiętać o użyciu kropki jako separatora dziesiętnego.
- Przesunięcie – Wprowadzona tu wartość będzie dodana do aktualnej wartości rejestru.
- Dokładność – W tym polu określana jest precyzja, z jaką będzie wyświetlana zawartość rejestru
MODBUS. Jeżeli w tym polu wpiszesz 2, wówczas wartość rejestru będzie wyświetlana w stanie z dokładnością do dwóch miejsc po przecinku. - Opis – Pomocniczy opis rejestru. Będzie on wyświetlany w zakładce Stan.
6. Usuwanie problemów #
W tej sekcji opisujemy najczęściej występujące problemy i sposoby ich diagnozowania.
- Skonfigurowałem połączenie, urządzenie i rejestry, ale nie widzę ich odczytów w zakładce Stan.
- Na czas podłączania nowego urządzenia zalecamy tymczasowe odłączenie wszystkich pozostałych urządzeń od magistrali Modbus. (tylko Modbus RTU).
- Sprawdź miganie diod komunikacyjnych na module Serial-4MB. W przypadku prawidłowej komunikacji powinny migać diody
ACToraz naprzemiennieTXorazRX. Jeżeli diodaRXnie miga, oznacza to brak komunikacji z integrowanym urządzeniem. - Sprawdź parametry komunikacji – upewnij się, że ustawienia prędkości i formatu ramki są takie
same w module Base i podłączanym urządzeniu (tylko dla Modbus RTU). - Upewnij się, że adres urządzenia został ustawiony i czy nie pokrywa się z innym urządzeniem na
magistrali. - Upewnij się, że wprowadzone są nazwy dla połączenia, urządzenia i rejestrów oraz że nie zawierają polskich znaków i spacji.
- Upewnij się, że rejestry mają prawidłową numerację – zalecamy skonfigurowanie pojedynczego
rejestru, którego wartość jest łatwa do weryfikacji. - Spróbuj zamienić przewody magistrali (tylko Modbus RTU). W niektórych przypadkach
producenci urządzeń na schematach prezentują połączenie przewodów A-A oraz B-B, a w niektórych przypadkach wymagane jest połączenie na krzyż. - Upewnij się, że zaciski COM modułu Serial-4MB oraz integrowanego urządzenia są podłączone do
magistrali. Jest to szczególnie istotne w przypadku dłuższych magistral, które narażone są na
dużo większe zakłócenia transmisji. (tylko Modbus RTU). - Sprawdź, czy dokumentacja podłączanego urządzenia wspomina o konieczności użycia rezystora
terminującego. W module Serial-4MB służą do tego kołkiTERMobok terminala śrubowego.