====== PlcTool ====== **PlcTool** je samostatný nástroj příkazového řádku, který umožňuje provádět mnoho funkcí dostupných v Mervis IDE. Hlavní výhodou PlcTool oproti standardnímu IDE je možnost jeho automatizace pomocí **skriptů** nebo externích programů. Je ideální pro hromadnou správu kontrolérů. ===== Ke stažení ===== Stáhněte si odpovídající verzi pro svůj operační systém a architekturu: * **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]] ===== Klíčové vlastnosti ===== PlcTool umožňuje na kontrolérech s Mervis RT provádět následující operace: * **Scan:** Vyhledávání PLC v zvolené síti. * **Info:** Získání informací o stavu konkrétního PLC. * **Upload:** Nahrání zkompilovaných sestav (RT image) a projektů HMI (web). * **Update:** Aktualizace verze Mervis RT. * **License:** Aktivace nebo ověření licence RT. * **Configuration:** Stažení nebo nahrání konfigurace RT (XML). * **Control:** Restart runtime. ===== Instalace a první spuštění ===== Nástroj je distribuován jako archiv, který je po stažení nutné rozbalit. ==== Windows ==== * **Požadavky:** Windows x64. Pokud se vyskytnou problémy, aktualizujte .NET Framework. * **Spuštění:** - Stiskněte `Win + R`, zadejte `cmd.exe` a potvrďte tlačítkem OK. - Přejděte do složky obsahující rozbalený nástroj. - Spusťte nápovědu: .\PlcTool.exe --help ==== GNU/Linux ==== * **Podporované architektury:** x64, ARM a ARM64 (AArch64). * **Příprava:** - Nástroj můžete přenést do PLC pomocí SCP nebo WinSCP. - Nastavte soubor jako spustitelný: `chmod +x PlcTool`. - **Závislosti:** V závislosti na vašem systému může být nutné nainstalovat další balíčky: sudo apt install icu-devtools libssl-dev libssl1.1 - **Proměnné prostředí:** V případě potřeby před spuštěním nastavte 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 podpříkazů (kromě `scan`) umožňuje místo IP adresy použít mDNS jméno, adresu proxy nebo doménové jméno. ==== 1. Vyhledání zařízení v síti (scan) ==== * **Lokální vyhledávání:** Pokud nejsou zadány žádné parametry, proběhne hledání lokálně (loopback). ./PlcTool scan * **Vyhledávání v síti:** Pro prohledání konkrétní sítě použijte parametr `-ia` (Interface Address). * //Poznámka: V Linuxu nelze použít adresu sítě (např. .0) ani broadcast adresu (.255). Použijte adresu končící na .1 (např. 192.168.2.1).// ./PlcTool scan -ia 192.168.2.1 ==== 2. Ověření stavu kontroléru (wait) ==== Odešle požadavek na ověření stavu kontroléru, licence a verze Mervis RT. ./PlcTool wait -h -u admin -p rw-lok ==== 3. Licencování (license) ==== Nahraje licenční klíč do kontroléru. Parametr `-up` použijte, pokud již byl licenční klíč dříve použit. ./PlcTool license -h -u admin -p rw -l -up ==== 4. Nahrání sestavy (upload-image) ==== Nahraje zkompilovaný program (soubor `.exs`, který se nachází ve složce `bin` projektu). ./PlcTool upload-image -h -u admin -p rw -f * **Užitečné parametry:** * `-cf` : Vymazání Flash proměnných * `-cr` : Studený restart ==== 5. Nahrání HMI / webu (upload-web) ==== Nahraje soubory webového rozhraní. Po dokončení nahrávání je nutné kontrolér 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 uložena ve formátu XML. Můžete ji stáhnout, ručně upravit a znovu nahrá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 ===== Automatizované použití (skriptování) ===== PlcTool je navržen pro použití ve skriptech. Následující příklad Bash skriptu provede vyhledání zařízení a uloží výstup do textového souboru. #!/bin/bash # Přechod do adresáře skriptu cd "$(dirname "$0")" # Nastavení požadovaných proměnných prostředí export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp/ # Spuštění vyhledávání a uložení výstupu do souboru script -q -c "./PlcTool scan -o text | tee PlcTool.txt"