====== PlcTool ====== **PlcTool** je samostatný nástroj příkazové řádky, který umožňuje vykonávat většinu funkcí dostupných v prostředí Mervis IDE. Hlavní výhodou PlcTool oproti IDE je možnost automatizace pomocí **skriptů** nebo externích programů. Je ideální pro hromadnou správu řídicích jednotek (PLC). ===== Ke stažení ===== Stáhněte si odpovídající verzi podle vašeho operačního systému a architektury: * **Windows (x64):** [[https://drive.google.com/drive/u/0/folders/1DUvrbQAYkS-mICLPvo1raMqCVgHqRI4U|Stáhnout pro Windows x64]] * **Linux (x64):** [[https://drive.google.com/drive/u/0/folders/1Iba_DBjlZU0s6dFEW0UjVzdHKV1gruDv|Stáhnout pro Linux x64]] * **Linux (ARM):** [[https://drive.google.com/drive/u/0/folders/1cGMhBR3DnRUiR-PM5F-7Pj6BXkEmCDbX|Stáhnout pro Linux ARM]] * **Linux (ARM64):** [[https://drive.google.com/drive/u/0/folders/1HPm10-7u7ZEeFP7iG6r5BcWKaGrX5m_G|Stáhnout pro Linux ARM64]] ===== Hlavní funkce ===== PlcTool umožňuje následující operace s PLC s nainstalovaným Mervis RT: * **Scan:** Vyhledání PLC v síti. * **Info:** Získání informací o stavu PLC. * **Upload:** Nahrání zkompilovaného projektu (RT image) a HMI (webového rozhraní). * **Update:** Aktualizace Mervis RT. * **License:** Aktivace nebo kontrola licence. * **Configuration:** Stažení nebo nahrání konfigurace RT (ve formátu XML). * **Control:** Restartování běhu aplikace. ===== Instalace a první spuštění ===== Nástroj je dodáván jako archiv, který je potřeba rozbalit. ==== Windows ==== * **Požadavky:** Windows x64. Pokud se objeví problémy, ujistěte se, že máte aktuální verzi .NET Framework. * **Spuštění:** - Stiskněte `Win + R`, napište `cmd.exe` a potvrďte. - Přejděte do složky s rozbaleným nástrojem. - Spusťte příkaz pro zobrazení nápovědy: .\PlcTool.exe --help ==== GNU/Linux ==== * **Podporované architektury:** x64, ARM, ARM64 (AArch64). * **Postup:** - Přeneste nástroj na PLC (např. pomocí SCP nebo WinSCP). - Umožněte spouštění souboru: `chmod +x PlcTool`. - **Závislosti:** Nainstalujte potřebné balíčky: sudo apt install icu-devtools libssl-dev libssl1.1 - **Proměnné prostředí:** V případě potřeby exportujte následující proměnné: export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 export DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp/ * **Spuštění:** ./PlcTool --help ===== Běžné příkazy ===== **Poznámka:** Většina příkazů (kromě `scan`) podporuje mDNS názvy, proxy adresy nebo doménová jména namísto IP adres. ==== 1. Skenování sítě (scan) ==== * **Lokální sken:** Bez parametrů prohledá loopback rozhraní. ./PlcTool scan * **Sken konkrétní sítě:** Pomocí parametru `-ia` (adresa rozhraní). * //Pozn.: Na Linuxu nelze použít síťovou nebo broadcast adresu – použijte např. `192.168.2.1`// ./PlcTool scan -ia 192.168.2.1 ==== 2. Kontrola stavu PLC (wait) ==== Ověří dostupnost PLC, verzi RT a stav licence. ./PlcTool wait -h -u admin -p rw-lok ==== 3. Aktivace licence (license) ==== Nahraje licenční kód do PLC. Použijte `-up`, pokud byla licence již použita. ./PlcTool license -h -u admin -p rw -l -up ==== 4. Nahrání projektu (upload-image) ==== Nahraje zkompilovaný projekt (`.exs` soubor z adresáře `bin`). ./PlcTool upload-image -h -u admin -p rw -f * **Volitelné přepínače:** * `-cf` : Vymazání flash proměnných * `-cr` : Cold Restart ==== 5. Nahrání HMI / webu (upload-web) ==== Nahraje webové rozhraní. Po nahrání je nutné PLC restartovat. ./PlcTool upload-web -h -u admin -p rw -w / ./PlcTool reboot -h -u admin -p rw ==== 6. Konfigurace (download-config / upload-config) ==== Konfigurace je ve formátu XML. Lze ji stáhnout, upravit a nahrát zpět. # Stažení ./PlcTool download-config -h -u admin -p rw -f ./config.xml # Nahrání ./PlcTool upload-config -h -u admin -p rw -f ./config.xml ===== Automatizace (skripty) ===== PlcTool je vhodný pro automatické spouštění ve skriptech. Příklad Bash skriptu, který provede scan a uloží výstup do textového souboru: #!/bin/bash # Přechod do složky se skriptem cd "$(dirname "$0")" # Nastavení proměnných prostředí export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp/ # Spuštění scan a uložení výstupu do souboru script -q -c "./PlcTool scan -o text | tee PlcTool.txt"