Ten szablon łączy z TapHome przez RS-485 ogólny moduł I/O Modbus RTU bez marki z 8 wyjściami cyfrowymi i 8 wejściami cyfrowymi. Tworzy osiem urządzeń Przełącznik (DO1–DO8) i osiem urządzeń Kontaktron (DI1–DI8). Szablon nie ma stałego producenta ani modelu: pasuje tylko do modułu, którego tabela rejestrów odpowiada opisanemu niżej układowi, dlatego przed użyciem szablonu sprawdź tabelę rejestrów modułu.
Zanim użyjesz tego szablonu
Szablon odczytuje i zapisuje wyłącznie rejestry holding (funkcja Modbus 03 do odczytu, funkcja 06 do zapisu). Oczekuje następującego układu rejestrów:
| Dane | Typ rejestru | Rejestr | Zawartość |
|---|---|---|---|
| Wyjścia DO1–DO8 | Holding | jeden rejestr, parametr importu DO Register | bity 0–7 = stan DO1–DO8 |
| Wejścia DI1–DI8 | Holding | jeden rejestr, parametr importu DI Register | bity 0–7 = stan DI1–DI8 |
Wiele tanich modułów 8DI/8DO na RS-485 opisuje swoje wyjścia jako cewki (coils) (funkcje 01, 05, 0F), a wejścia jako wejścia dyskretne (discrete inputs) (funkcja 02), rejestrów holding zaś używa tylko do konfiguracji. Takiego modułu nie da się sterować tym szablonem bez zmian. Przed instalacją modułu sprawdź w jego tabeli rejestrów, czy wyjścia są dostępne jako maska bitowa w jednym rejestrze holding, a wejścia jako maska bitowa w jednym rejestrze holding.
Typ rejestru jest ustalony w skryptach szablonu; przy imporcie można zmienić tylko dwa adresy rejestrów i Slave ID.
Podłączenie sprzętu
Moduł podłącza się do magistrali RS-485 jednostki sterującej Core:
- A do A, B do B. Oznaczenia zacisków różnią się w zależności od producenta (A/B, A+/B−, D+/D−). Jeśli moduł nie odpowiada, zamień oba przewody.
- Wspólna masa: przy dłuższych liniach połącz GND modułu z GND magistrali, jeśli moduł ma do tego zacisk.
- Topologia magistrali: magistrala liniowa z terminacją na obu końcach. To, czy moduł ma wbudowany rezystor terminujący i jak się go włącza, zależy od modułu — sprawdź to na module.
- Unikalny Slave ID: każde urządzenie na tej samej linii RS-485 potrzebuje własnego Slave ID.
Przed okablowaniem sprawdź na module: napięcie zasilania, typ wejść (styk bezpotencjałowy, NPN lub PNP, wejście napięciowe) i typ wyjść (przekaźnikowe lub tranzystorowe) oraz ich parametry znamionowe. Szablon od nich nie zależy, ale podłączenie obciążeń i czujników już tak.
Konfiguracja
Ustawienia komunikacji w module
Szablon proponuje dla interfejsu Modbus RTU w TapHome następujące parametry linii:
| Parametr | Wartość |
|---|---|
| Prędkość transmisji | 9600 |
| Bity danych | 8 |
| Parzystość | Brak |
| Bity stopu | 1 |
Moduł musi używać tej samej prędkości transmisji i formatu ramki, a jego Slave ID musi odpowiadać parametrowi importu. Miejsce ustawienia tych wartości — przełączniki DIP, rejestr konfiguracyjny lub oprogramowanie konfiguracyjne producenta — zależy od modułu; sprawdź to w dokumentacji modułu lub na samym module.
Parametry importu
| Parametr | Domyślnie | Znaczenie |
|---|---|---|
| DO Register | 1 | adres rejestru holding z bitami wyjść |
| DI Register | 2 | adres rejestru holding z bitami wejść |
| Slave ID | 1 | adres Modbus modułu |
TapHome wysyła adres rejestru do modułu bez zmian i liczy od 0. Jeśli tabela rejestrów modułu numeruje rejestry od 1 (na przykład 40001, 40002), odejmij 1 — zobacz Adresowanie rejestrów Modbus. Parametr importu Adres IP nie ma wpływu na interfejs Modbus RTU i może pozostać na wartości domyślnej.
W TapHome dodaj interfejs Modbus RTU z powyższymi parametrami linii i zaimportuj szablon ze Slave ID i dwoma adresami rejestrów modułu.
Funkcje urządzenia
Wyjścia cyfrowe DO1–DO8
Każde wyjście jest urządzeniem Przełącznik. Jego stan jest odczytywany co 1000 ms z bitów od 0 (DO1) do 7 (DO8) rejestru DO Register. Przełączaniem zajmuje się skrypt zapisu modułu w TapHome, a nie poszczególne wyjścia: gdy zmieni się którekolwiek wyjście, TapHome zapisuje maskę bitową wszystkich ośmiu wyjść do DO Register jednym zapisem (funkcja 06), i to tylko wtedy, gdy wartość się zmienia. Bity 8–15 zapisywanej wartości są zawsze równe 0.
Wejścia cyfrowe DI1–DI8
Każde wejście jest urządzeniem Kontaktron, które pokazuje bity od 0 (DI1) do 7 (DI8) rejestru DI Register, odczytywanego co 1000 ms. Nadaje się do czujników otwarcia drzwi i okien, wyłączników pływakowych lub styków pomocniczych przekaźników podłączonych do wejść modułu.
Sprawdź na module, czy bit 0 rzeczywiście odpowiada pierwszemu kanałowi i czy moduł akceptuje maskę bitową zapisaną funkcją 06 do rejestru wyjść.
Rozwiązywanie problemów
Brak odpowiedzi z modułu
- Sprawdź okablowanie RS-485 i w razie potrzeby zamień A i B.
- Sprawdź, czy Slave ID modułu odpowiada parametrowi importu Slave ID.
- Sprawdź, czy prędkość transmisji, parzystość i bity stopu modułu są zgodne z interfejsem Modbus RTU (proponowane 9600, 8N1).
- Sprawdź terminację na obu końcach magistrali.
Błąd „Illegal data address”
Adres rejestru jest przesunięty o 1 (dokumentacja modułu numeruje rejestry od 1) albo moduł w ogóle nie ma tego układu rejestrów — na przykład gdy jego wyjścia są cewkami (coils), a wejścia wejściami dyskretnymi (discrete inputs). Porównaj parametry importu z tabelą rejestrów modułu.
Wyjścia lub wejścia są przypisane do niewłaściwych kanałów
Kolejność bitów w module różni się od szablonu (bit 0 = kanał 1). Sprawdź przypisanie bitów w tabeli rejestrów modułu.