Modbus TCP
Modbus TCP Server
Modbus TCP je standardní rozhraní pro interakci se vstupy a výstupy jednotek Unipi. Každá jednotka má své vlastní mapování I/O v Modbus registrech či coilech - toto mapování lze stáhnout v sekci Produkty.
Upozornění:
Zařízení na sběrnici 1-Wire nelze na Modbus TCP namapovat a je třeba je implementovat jiným způsobem, např. pomocí OWFS.
Stav životnosti úložiště
Na Modbus TCP serveru jsou k dispozici pro všechny jednotky Unipi (kromě Unipi 1.1) také registry indikující stav úložiště:
- Erase cycles used [%] → udává počet cyklů přemazání paměti oproti maximu (v procentech)
- Good blocks [%] → udává počet bloků, které jsou v pořádku (v procentech)
Pro jednotky Neuron je dále k dispozici počet zapnutí a vypnutí napájení s aktuální SD kartou, případně i název detekce výrobce karty. U jednotek Neuron je pro tyto funkce podporován jen omezený výběr SD karet.
Služba Systemd
PLC Unipi
Modbus TCP server je poskytován službou unipitcp. Ve výchozím stavu server naslouchá pouze na lokálním loopbacku a požadavky od jiných hostitelů jsou z bezpečnostních důvodů zakázány. Pro změnu tohoto stavu je třeba unipitcp spustit s parametrem „-l 0.0.0.0“ (-L). Rovněž můžete s parametrem -p změnit naslouchající port:
- Debian 13 (Trixie)
unipitcp -p 503 -l 0.0.0.0
- Debian 12 (Bookworm)
/opt/unipi/tools/unipitcp -p 503 -l 0.0.0.0
Po trvalou změnu parametrů, upravte výchozí nastavení služby v souboru /etc/default/unipitcp a restartujte službu pomocí
systemctl restart unipitcp
Poznámka:
Starší verze obrazů OS můžou mít Modbus TCP server nazvaný jako unipi_tcp_server.
V takovém případě je potřeba pro změnu rozhraní a portu, kde server poslouchá následující příkaz:
/opt/unipi/tools/unipi_tcp_server -p 503 -l 0.0.0.0
Unipi 1.1 a Lite
Modbus TCP server je poskytován službou unipi-one-modbus. Ve výchozím stavu server naslouchá pouze na lokálním loopbacku na portu 50200 a požadavky od jiných hostitelů jsou z bezpečnostních důvodů zakázány. Pro změnu tohoto stavu otevřete konfigurační soubor /etc/unipi-one-modbus.d/1-modbus.yaml, změňte 127.0.0.1 na 0.0.0.0 a restartujte službu pomocí
sudo systemctl restart unipi-one-modbus
.