Łączenie wielu modułów Base

W tym samouczku przedstawimy pojęcie łącza i zaprezentujemy sposoby połączenia wielu modułów Base w jednej instalacji przy użyciu łącz i grup. Dowiesz się także jak i po co stosować wiele modułów Base w jednym budynku.

1. Czym są łącza? #

W wersji oprogramowania 1.7.5 funkcjonalność modułów Base została poszerzona o możliwość definiowania bezpośrednich połączeń pomiędzy modułami na zasadzie punktpunkt. Takie pojedyncze połączenie nazywamy łączem. Dzięki łączom moduły Base mogą wymieniać między sobą informacje i reagować wzajemnie na zdarzenia. Otwiera to drogę do realizacji niedostępnych dotąd funkcjonalności.

Moduły Base mogą łączyć się zarówno przy użyciu sieci lokalnej jak i internetu. W przypadku połączeń internetowych konieczne jest otwarcie portu UDP 4554.

Moduły posiadają również możliwość synchronizacji grup zmiennych między wieloma modułami. Ta funkcja nie jest opisana w niniejszym samouczku, ponieważ wymaga instalacji wszystkich modułów w jednej podsieci IP co niekoniecznie będzie możliwe w opisywanym scenariuszu.

2. Gdzie stosować łącza? #

Łącza zostały zaprojektowane z myślą o instalacjach, gdzie zamontowanych zostanie co najmniej dwa i więcej modułów Base, a następnie w oparciu o nie zostanie stworzona zintegrowana sieć automatyki. W szczególności łącza mogą być używane pomiędzy urządzeniami o dowolnych adresach IP.

2.1. Sieć DOMIQ na przykładzie apartamentowca #

Doskonałym obszarem zastosowania sieci DOMIQ są budynki wielomieszkaniowe. W takich obiektach system DOMIQ może pełnić funkcję systemu nadzorczo-ostrzegwczego-informacyjnego, czuwającego nad bezpieczeństwem mieszkańców i budynku oraz dostarczający im użytecznych informacji.

Wyobraźmy sobie, że w każdym mieszkaniu zamontowany został moduł Base oraz centrala alarmowa Satel wyposażona w czujniki bezpieczeństwa, tj. czujniki dymu, zalania, zbicia szyby itd. W budynku ponadto zamontowano dodatkowy moduł Base pełniący funkcję nadrzędną nad modułami zainstalowanymi w mieszkaniach. Pomiędzy modułem nadrzędnym a poszczególnymi modułami Base w mieszkaniach zostały utworzone łącza. Recepcja budynku została wyposażona ponadto w ekran dotykowy DOMIQ/Display, który ma za zadanie pełnić funkcję panela operatorsko-nadzorczego. W przypadku sytuacji alarmowej w którymkolwiek mieszkaniu jak np. pożar, zalanie, włamanie itd. ochrona
otrzyma natychmiastowe powiadomienie na panelu dotykowym, z dokładną lokalizacją alarmu i przyczyną jego wywołania.

Ponadto z wykorzystaniem modułu nadrzędnego i panela dotykowego można zrealizować monitoring całego budynku. Jeżeli do modułu nadrzędnego zostanie dołączona dodatkowo stacja pogodowa, wówczas można zapewnić bieżące informacje pogodowe wszystkim mieszkańcom budynku.

Dodatkowym atutem takiego rozwiązania jest oczywiście możliwość użycia standardowej funkcjonalności modułów Base w poszczególnych mieszkaniach do integracji z istniejącym systemem automatyki.

Strukturę tak skonfigurowanego systemu przedstawia poniższy schemat:

W przypadku, gdy montaż central alarmowych Satel nie jest z jakichś względów możliwy, wówczas można alternatywnie zastosować czujniki bezpieczeństwa podłączone do wejść binarnych LCN, lub też komunikujące się przy pomocy protokółu MODBUS i podłączyć jest wprost do modułu DOMIQ/Serial-4MB.

Łącza umożliwiają utworzenie inteligentnego sterowania i dozoru w ujęciu całego obiektu, z uwzględnieniem niezależności poszczególnych jego części (mieszkania, piętra itd.).

3. Konfiguracja DOMIQ/Base #

W wersji 1.7.5, w interfejsie konfiguracyjnym modułu Base dodana została zakładka Łącza. Umożliwia ona definiowanie połączeń punkt-punkt pomiędzy modułami Base oraz połączeń pozwalających wykorzystać moduł Base, jako sprzęg segmentowy sieci LCN. Użycie Base jako sprzęgu segmentowego zostało opisane w samouczku pt. „Base jako sprzęg segmentowy”.

Wygląd zakładki Łącza przedstawia poniższy obrazek:

Budowa zakładki jest bardzo zbliżona do zakładek Zdarzenia i Timery. Lewa strona okna to Struktura. Wyświetlane są w niej zdefiniowane łącza.

W prawej części okna znajduje się sekcja Szczegóły, w której konfigurowane są parametry połączenia.

Nazwa: Nazwa modułu Base, z którym chcemy nawiązać połączenie. Nazwa może być dowolna bez polskich znaków i spacji. Wpisana tutaj nazwa nie ma związku z nazwą modułu nadaną w zakładce Ustawienia.

Opis: Krótki opis połączenia.

Adres: Adres IP modułu Base, z którym chcesz nawiązać połączenie.

Port: To pole należy uzupełnić, jeżeli połączenie do modułu Base zostało przekierowane na port inny niż standardowy.

Hasło: Jeżeli to pole zostanie uzupełnione, wówczas dane przesyłane pomiędzy modułami będą szyfrowane, w przeciwnym przypadku szyfrowanie jest nieaktywne.

Identyfikator: Każdy moduł Base ma swój unikalny identyfikator. Identyfikator pełni funkcję dodatkowego zabezpieczenia transmisji danych pomiędzy modułami Base. Uniemożliwia on wykorzystanie adresu IP przypisanego do modułu Base posługującego się danym identyfikatorem przez inne urządzenie sieciowe.

Poniżej sekcji Szczegóły wyświetlana jest lista wszystkich modułów Base dostępnych w sieci wraz z identyfikatorami.

3.1. Przykładowa konfiguracja łącza #

Do zaprezentowania przykładowej konfiguracji wykorzystamy koncepcję budynku wielomieszkaniowego opisanego w poprzednim rozdziale, przy czym ograniczymy się do zaprezentowania pojedynczego łącza pomiędzy mieszkaniem a modułem nadrzędnym (pozostałe wykonywane są analogicznie).

Konfiguracja pojedynczego łącza przebiega wg poniższej procedury:

Moduł podrzędny

  1. Zaloguj się do interfejsu konfiguracyjnego modułu Base zamontowanego w mieszkaniu i wybierz zakładkę Łącza.
  2. Dodaj nowe połączenie i uzupełnij jego właściwości:
    • W polu Nazwa wpisz nazwę modułu nadrzędnego np. recepcja.
    • W polu Adres wpisz adres IP modułu nadrzędnego.
    • Jeżeli połączenie ma być szyfrowane uzupełnij pole Hasło.
    • Opcjonalnie uzupełnij komórki Identyfikator, Opis oraz Port.

Moduł nadrzędny

Powtórz kroki 1 i 2, pamiętając o zmianie adresu IP, na adres IP modułu podrzędnego, oraz zmień nazwę, np. mieszkanie1. Zalecamy stosowanie nazw jednoznacznie związanych z numerami mieszkań.

3. Konfiguracja gotowa. Analogicznie wykonaj połączenia pomiędzy poszczególnymi mieszkaniami i modułem nadrzędnym.

3.2. Identyfikatory #

Jak wspomnieliśmy we wstępie, łącza umożliwiają wysyłanie komend oraz reagowanie na zdarzenia z innych modułów Base. Zarezerwowane zostały do tego specjalne sieciowe identyfikatory. Składnia identyfikatorów wraz z przykładami została przedstawiona w tabelach poniżej. Przedstawione przykłady nawiązują do modelu budynku wielomieszkaniowego. Analogicznie można tworzyć dowolne komendy i zdarzenia.

IdentyfikatorWartośćOpis
KomendaNC.M.K
M – Nazwa modułu Base, do którego adresowane jest
polecenie.
K – Komenda
dowolnaDowolna komeda sieciowa
ZdarzenieNE.M.K
M – Nazwa modułu Base, w którym wystąpiło zdarzenie.
dowolnaDowolne zdarzenie sieciowe
  • NC.recepcja.C.VAR.zalanie.mieszkanie1=1
    Ustawienie w module nadrzędnym o nazwie recepcja zmiennej VAR.zalanie.mieszkanie1 na wartość 1.
  • NE.mieszkanie1.E.IDS.alarm.1=1
    Informacja odebrana przez nadrzędny moduł Base o wystąpieniu alarmu w strefie 1, w mieszkaniu, do którego przypisany jest moduł o nazwie mieszkanie1. Na to zdarzenie może być podjęta dowolna reakcja modułu nadrzędnego np. wyświetlenie odpowiedniego ekranu wizualizacji na panelu operatorskim, uruchomienie syreny alarmowej itp.
  • NE.(%w+).E.IDS.input.10=1
    Zdarzenie informujące o zmianie wartości wejścia alarmowego nr 10 w dowolnym z mieszkań. Wejściem może być np. czujnik pożarowy. Analogicznie jak w
    przykładzie powyżej, na to zdarzenie może być podjęta dowolna reakcja modułu
    nadrzędnego.

3.3. Automatyczna komunikacja modułów Base #

W momencie, gdy połączenia z poszczególnymi mieszkaniami są gotowe, można przystąpić do konfiguracji pobierania informacji z central Satel. Dane będą pobierane i przekazywane automatycznie do nadrzędnego modułu Base w przypadku wystąpienia jakiejkolwiek sytuacji alarmowej.

Zalecamy zaprogramowanie centrali alarmowej w taki sposób, aby czujki odpowiadające za wykrywanie konkretnego zdarzenia alarmowego (pożar, zalanie itd.) ustawiały wartość dowolnego, nieużywanego wyjścia centrali. Następnie zmiany tego wyjścia centrali będą służyły do wyzwalania zdarzeń w nadrzędnym module Base. Takie podejście ułatwi późniejszą konfigurację zdarzeń.

Przykład, który przedstawiamy w dalszej części tego podrozdziału prezentuje sposób definiowania zdarzeń dla przypadku zalania, pożaru i włamania. Wykorzystane numeracje wejść i wyjść mają charakter poglądowy. Przykład dotyczy pojedynczego mieszkania. Moduł podrzędny w nim zamontowany ma nazwę mieszkanie1.

3.3.1. Konfiguracja modułu podrzędnego #

Po stronie modułu podrzędnego należy zdefiniować sposób reakcji na zmianę wyjść powiązanych z czujkami bezpieczeństwa. W naszym przypadku będzie to wysłanie odpowiednich komend sieciowych do modułu nadrzędnego. Oczywiście można również zdefiniować oddzienie reakcje lokalne na wystąpienie sytuacji alarmowych.

Zalanie

  1. Dodaj nowe zdarzenie.
  2. W polu Opis wpisz krótki opis zdarzenia np. Zalanie.
  3. W polu Kanał wpisz E.IDS.output.<numer_wyjścia>, gdzie <numer_wyjścia>, to wyjście, którego wartość będzie ustawiana w przypadku zmiany stanu któregokolwiek z czujników zalania. Np. E.IDS.output.15
  4. Pole Wartość pozostaw puste. Dzięki temu wykrywana będzie zmiana z 0 na 1 i odwrotnie.
  5. Dodaj komendę, następnie w oknie które zostanie wyświetlone, w polu Nazwa wpisz:
    NC.<moduł_nadrzędny>.C.VAR.zalanie.<moduł_podrzędny>
    np.:
    NC.recepcja.C.VAR.zalanie.mieszkanie1
    W polu Wartość wpisz: $D0.

Pożar

  1. Dodaj kolejne zdarzenie.
  2. W polu Opis wpisz krótki opis zdarzenia np. Pożar.
  3. W polu Kanał wpisz E.IDS.output.<numer_wyjścia>, gdzie<numer_wyjścia>, to wyjście, którego wartość będzie ustawiana w przypadku zmiany stanu któregokolwiek z czujników pożarowych. Np. E.IDS.output.16
  4. Pole Wartość pozostaw puste.
  5. Dodaj komendę, następnie w oknie które zostanie wyświetlone, w polu Nazwa wpisz:
    NC.<moduł_nadrzędny>.C.VAR.pozar.<moduł_podrzędny>
    np.:
    NC.recepcja.C.VAR.pozar.mieszkanie1
    W polu Wartość wpisz: $D0.

Włamanie

  1. Dodaj kolejne zdarzenie.
  2. W polu Opis wpisz krótki opis zdarzenia np. Włamanie.
  3. W polu Kanał wpisz E.IDS.alarm.(%d+). Zdarzenie zostanie wzbudzone w przypadku alarmu w którejkolwiek strefie.
  4. Pole Wartość pozostaw puste.
  5. Dodaj komendę, następnie w oknie które zostanie wyświetlone, w polu Nazwa wpisz:
    NC.<moduł_nadrzędny>.C.VAR.alarm.<moduł_podrzędny>
    np.:
    NC.recepcja.C.VAR.alarm.mieszkanie1
    W polu Wartość wpisz: $D0.

Powyższe procedury należy powtórzyć dla każdego mieszkania z osobna, pamiętając o zmianie numeracji/nazewnictwa mieszkań.

3.3.2 Konfiguracja modułu nadrzędnego #

Po stronie modułu nadrzędnego należy skonfigurować reguły, które będą wykonywane w przypadku odebrania informacji o wystąpieniu alarmu oraz wizualizację, na której wyświetlane będa informacje o alarmach.

Konfiguracja wizualizacji

Wizualizację może stanowić prosty interfejs, na którym w formie lampek będą wyświetlane stany poszczególnych alarmów w mieszkaniach, np. taki:

W polach Kanał poszczególnych lampek wpisz nazwy zmiennych VAR, których użyłeś podczas konfiguracji modułów podrzędnych. W naszym przypadku np. VAR.zalanie.mieszkanie1, VAR.pozar.mieszkanie1, VAR.alarm.mieszkanie1 itd.

Aby na wizualizacji były wyświetlane aktualne stany zmiennych VAR z poszczególnych modułów podrzędnych, należy zdefiniować zdarzenie pobierające te wartości. Definicja przebiega wg następującego schematu:

  1. Dodaj zdarzenie
  2. W polu Kanał wpisz: NE.(.+).C.VAR.(.+) – dzięki temu w stanie modułu nadrzędnego będą przechowywane wartości wszelkich zmiennych VAR z modułów podrzędnych. Pole Wartość pozostaw puste.
  3. Dodaj komendę, w oknie które się pojawi, w polu Nazwa wpisz: C.VAR.$C2, natomiast w polu Wartość $D0.

Konfiguracja zdarzeń

W tym przypadku podobnie, jak dla modułu podrzędnego należy zdefinować trzy zdarzenia, po jednym dla każdego rodzaju alarmu. W przedstawianym przypadku reakcją na wystąpienie alarmu będzie wyświetlenie notyfikacji na ekranie panela Display oraz zmiana koloru kontrolki na wizualizacji.

Zalanie

  1. Dodaj nowe zdarzenie.
  2. W polu Opis wpisz krótki opis zdarzenia np. Zalanie.
  3. W polu Kanał wpisz E.VAR.zalanie.(.+) – zdarzenie zostanie wyzwolone, gdy wystąpi alarm w dowolnym mieszkaniu.
  4. W polu Wartość wpisz 1.
  5. Dodaj komendę, następnie w oknie które zostanie wyświetlone, w polu Nazwa wpisz np. : C.DISPLAY.message=ALARM!ZALANIE! Gdzie: $C1.

Analogicznie zdefiniuj zdarzenie dla pożaru i włamania, zmieniając zawartość pola Kanał na E.VAR.pozar.(.+) i E.VAR.alarm.(.+) oraz treść powiadomienia w polu Wartość.

Efekt końcowy w naszym przypadku:

4. Integracja stacji pogodowej #

W poprzednim samouczku pt. „Stacja pogodowa MODBUS” przedstawiliśmy integrację stacji pogodowej Elsner Elektronik P03/3. Dalej w tym rozdziale przedstawiamy, jak wykorzystać ową stację w naszej sieci strukturalnej DOMIQ i zapewnić informacje pogodowe w każdym mieszkaniu.

Stację pogodową należy podłączyć przez moduł DOMIQ/Serial-4MB do nadrzędnego modułu Base. Dzięki utworzonym wcześniej łączom, dane pogodowe z modułu nadrzędnego będą przekazywane do modułów w mieszkaniach. Takie podejście pozwala zoptymalizować koszty instalacji bez pomniejszania jej funkcjonalności.

4.1. Konfiguracja modułu nadrzędnego #

Konfiguracja po stronie modułu nadrzędnego sprowadza się do dwóch czynności: do importu pliku konfiguracyjnego stacji pogodowej oraz eksportu danych ze stacji pogodowej do modułów podrzędnych.

Import konfiguracji stacji pogodowej

Do samouczka załączony jest plik elsner_p03.xml z gotową do importu konfiguracją stacji pogodowej. Plik należy zaimportować w zakładce MODBUS:

  • Kliknij, na nazwie interfejsu a następnie na przycisku Importuj… .
  • Wybierz z dysku pobrany plik elsner_p03.xml. Po poprawnym imporcie, urządzenie pojawi się na liście.
  • Uzupełnij pola Nazwa (bez polskich znaków i spacji) oraz Adres (wg ustawień mikroprzełączników na płytce stacji pogodowej). W naszym przypadku przyjęliśmy adres 1 oraz nazwę meteo.

Pobieranie i eksport danych pomiarowych

Dane ze stacji pogodowej będą gromadzone i eksportowane cyklicznie wg ustawionego timera. W naszym przypadku co minutę.

Procedurę rozpoczeniemy od definicji zdarzenia, które będzie odpowiadało za gromadzenie danych pogodowych:

1. W zakładce Zdarzenia dodaj nowe zdarzenie i uzupełnij jego właściwości:

  • Wpisz krótki opis np. Pobieranie informacji pogodowych.
  • W polu Kanał wpisz: E.MODBUS.<interfejs>.<urządzenie>.(%w+), np. E.MODBUS.int.meteo.(%w+)
  • Pole Wartość pozostaw puste – przechwytywane będą wszystkie dane pomiarowe.
  • Dodaj komendę i w wyświetlonym okienku, w polu Nazwa wpisz: C.LOGIC, natomiast w polu Wartość: tab["$C1"]="$D0"

2. Przejdź do zakładki Logika i wklej poniższy kod:

-- Tablica danych pogodowych ze stacji
tab={}


-- Funkcja wysyła pobrane wartości pomiarowe do wszystkich
-- modułów podrzędnych i zapisuje je tam w zmiennych VAR.
-- Musi być okresowo wywoływana przez z zakładki Timers
function export()
for i=1,10 do --drugi parametr określa liczbę mieszkań
for k,v in pairs(tab) do
command("NC.mieszkanie"..i..".C.VAR.pogoda."..k,v)
end
end
end


W kodzie należy dopasować drugi parametr pętli for (domyślnie 10), który określa liczbę mieszkań, do których zostaną wysłane dane ze stacji pogodowej. Jeżeli użyłeś innego nazewnictwa łączy, wówczas zmodyfikuj komendę rozpoczynającą się od „NC.”.

3. Teraz zdefiniujemy timer, który będzie wywoływał cyklicznie funkcję export, powodując tym samym wysłanie danych pomiarowych do modułów podrzędnych. Zatem dodaj nowy timer (zakładka Timery):

  • W polu Sekunda wpisz 0 – timer będzie wyzwalany co minutę.
  • Dodaj komendę i w wyświetlonym okienku, w polu Nazwa wpisz: C.LOGIC, natomiast w polu Wartość: export().

    4.2. Konfiguracja modułów podrzędnych #

    Moduły podrzędne nie wymagają żadnej dodatkowej konfiguracji. Poprawność eksportu danych do modułów podrzędnych można sprawdzić w zakładce Stan. Dane pogodowe będą widoczne jako zmienne typu VAR o składni: VAR.pogoda.<nazwa>, np. VAR.pogoda.temperatura.

    Dane można dowolnie wykorzystywać: wyświetlić na wizualizacji, użyć w zdarzeniach itd.

    Powered by BetterDocs

    Select your currency
    PLN Złoty polski
    EUR Euro