Tato šablona připojuje generický neznačkový I/O modul Modbus RTU s 8 digitálními výstupy a 8 digitálními vstupy k TapHome přes RS-485. Vytvoří osm zařízení Přepínač (DO1–DO8) a osm zařízení Stavový kontakt (DI1–DI8). Šablona nemá pevně daného výrobce ani model: hodí se jen pro modul, jehož tabulka registrů odpovídá níže popsanému rozložení, proto je třeba tabulku registrů modulu zkontrolovat ještě před použitím šablony.
Před použitím šablony
Šablona čte a zapisuje pouze holding registry (Modbus funkce 03 pro čtení, funkce 06 pro zápis). Očekává toto rozložení registrů:
| Data | Typ registru | Registr | Obsah |
|---|---|---|---|
| Výstupy DO1–DO8 | Holding | jeden registr, parametr importu DO Register | bity 0–7 = stav DO1–DO8 |
| Vstupy DI1–DI8 | Holding | jeden registr, parametr importu DI Register | bity 0–7 = stav DI1–DI8 |
Mnoho levných 8DI/8DO modulů RS-485 uvádí v dokumentaci své výstupy jako coily (funkce 01, 05, 0F) a vstupy jako diskrétní vstupy (funkce 02) a holding registry používá jen pro konfiguraci. Takový modul nelze touto šablonou bez úprav ovládat. Před instalací modulu ověřte v jeho tabulce registrů, že výstupy jsou dostupné jako bitová maska v jednom holding registru a vstupy jako bitová maska v jednom holding registru.
Typ registru je pevně daný ve skriptech šablony; při importu lze změnit jen dvě adresy registrů a Slave ID.
Hardwarové zapojení
Modul se připojuje na sběrnici RS-485 řídicí jednotky TapHome Core:
- A na A, B na B. Označení svorek se u výrobců liší (A/B, A+/B−, D+/D−). Pokud modul neodpovídá, prohoďte oba vodiče.
- Společná zem: na delších vedeních propojte GND modulu s GND sběrnice, pokud k tomu modul má svorku.
- Topologie sběrnice: liniová sběrnice se zakončením na obou koncích. Zda má modul vestavěný terminační rezistor a jak se zapíná, závisí na modulu — ověřte to přímo na modulu.
- Jedinečné Slave ID: každé zařízení na stejné lince RS-485 potřebuje vlastní Slave ID.
Před zapojením zkontrolujte na modulu: napájecí napětí, typ vstupů (bezpotenciálový kontakt, NPN nebo PNP, napěťový vstup) a typ výstupů (relé nebo tranzistor) a jejich jmenovité hodnoty. Šablona na nich nezávisí, zapojení zátěží a snímačů však ano.
Konfigurace
Komunikační nastavení modulu
Šablona navrhuje pro rozhraní TapHome Modbus RTU tyto parametry linky:
| Parametr | Hodnota |
|---|---|
| Baud rate | 9600 |
| Datové bity | 8 |
| Parita | Žádná |
| Stop bity | 1 |
Modul musí používat stejnou rychlost (baud rate) a rámcování a jeho Slave ID se musí shodovat s parametrem importu. Kde se tyto hodnoty nastavují — DIP přepínači, konfiguračním registrem nebo konfiguračním softwarem výrobce — závisí na modulu; ověřte to v dokumentaci modulu nebo přímo na modulu.
Parametry importu
| Parametr | Výchozí hodnota | Význam |
|---|---|---|
| DO Register | 1 | adresa holding registru s bity výstupů |
| DI Register | 2 | adresa holding registru s bity vstupů |
| Slave ID | 1 | Modbus adresa modulu |
TapHome posílá adresu registru do modulu beze změny a počítá od 0. Pokud tabulka registrů modulu čísluje registry od 1 (například 40001, 40002), odečtěte 1 — viz Adresování registrů Modbus. Parametr importu IP adresa nemá na rozhraní Modbus RTU vliv a může zůstat na výchozí hodnotě.
V TapHome přidejte rozhraní Modbus RTU s výše uvedenými parametry linky a importujte šablonu se Slave ID a oběma adresami registrů modulu.
Funkce zařízení
Digitální výstupy DO1–DO8
Každý výstup je zařízení Přepínač. Jeho stav se čte každých 1000 ms z bitu 0 (DO1) až bitu 7 (DO8) registru DO Register. Spínání neřeší každý výstup samostatně, ale skript pro zápis modulu v TapHome: když se změní kterýkoli výstup, TapHome zapíše bitovou masku všech osmi výstupů do registru DO Register jedním zápisem (funkce 06), a to jen při změně hodnoty. Bity 8–15 zapisované hodnoty jsou vždy 0.
Digitální vstupy DI1–DI8
Každý vstup je zařízení Stavový kontakt, které zobrazuje bit 0 (DI1) až bit 7 (DI8) registru DI Register, čteného každých 1000 ms. Hodí se pro dveřní a okenní kontakty, plovákové spínače nebo pomocné kontakty relé připojené na vstupy modulu.
Ověřte na modulu, že bit 0 skutečně odpovídá prvnímu kanálu a že modul přijme bitovou masku zapsanou funkcí 06 do registru výstupů.
Řešení problémů
Modul neodpovídá
- Zkontrolujte zapojení RS-485 a podle potřeby prohoďte A a B.
- Zkontrolujte, že se Slave ID modulu shoduje s parametrem importu Slave ID.
- Zkontrolujte, že se baud rate, parita a stop bity modulu shodují s rozhraním Modbus RTU (navrhováno 9600, 8N1).
- Zkontrolujte zakončení na obou koncích sběrnice.
Chyba „Illegal data address“
Adresa registru je posunutá o 1 (dokumentace modulu čísluje registry od 1), nebo modul toto rozložení registrů vůbec nemá — například když jsou jeho výstupy coily a vstupy diskrétní vstupy. Porovnejte parametry importu s tabulkou registrů modulu.
Výstupy nebo vstupy jsou přiřazeny nesprávným kanálům
Pořadí bitů modulu se liší od šablony (bit 0 = kanál 1). Zkontrolujte přiřazení bitů v tabulce registrů modulu.