Vývoj řídícího a podpůrného software
Můj zájem o problematiku řízení vznikl v době, kdy jsem se účastnil instalace řídícího systému pro tavící pec. Hardwarová základna byla poměrně rozsáhlá, řídící počítač (386DX-40) obsahoval několik I/O řídících desek, ovládající výkonové spínače, krokové motory se zpětnou vazbou, klapky pro přívod vzduchu a plynu, vstupy pro čidla na měření teplot, průchodu vzduchu, plynu a další periferie.
Po několika letech jsem se k nápadu řízení procesů pomocí PC vrátil, kdy jsem dostal požadavek na vytvoření programu pro automatizaci technologického procesu. Podle návrhu se měly být systém zcela autonomní, automaticky řídit procesy podle příkazů ze skriptu, definovaného pro jednotlivé dny. S automatickou regulací, na základě měřených veličin (teploty, vlhkosti, času). Události běžících procesů měly být monitorovány a zapsány do souborů .LOG
Dále byl požadavek, aby součástí programu byla i vzdálená správa, s možnostmi ručního ovládání, změny konfigurace a změny řídícího skriptu. Další funkcí vzdálené správy byl On-line monitorování řídícího procesu, v případě ztráty konektivity mohl být vyhlášen poplach a odesláno avízo pomocí E-mailu nebo SMS. Vzdálená správa dále umožňovala úplné převzetí ovládání řídícího procesu a ovládat ho pomocí příkazů lokálně otevřeného řídícího skriptu. Komunikace včetně přenosu souborů byla kryptována.
Celý projekt byl vytvořen ve Visual Basic for DOS ver. 1.00 a Microsoft Macro Assembler ver. 6.00, kdy muselo být přizpůsobeno prostředí OS Windows 98, kdy bylo ponecháno původní prostředí včetně síťové podpory, zatímco uživatelská vrstva (Explorer.exe) byla nahrazena vlastním minimalistickým uživatelským prostředím. To automaticky spouštělo řídící a měřící programy, monitorovalo jejich běh a v případě výskytu chyby nebo nestandardního stavu odesílalo varovné e-maily na určenou adresu.
V průběhu vývoje projektu se vyskytly požadavky na vývoj dalších podpůrných programů a utility, konečné statistiky projektu ukázaly 10 programů a pomocných utilit a 25384 řádků zdrojového kódu. Byl vytvořen program vzdálené správy, editor řídícího skriptu, správce licencí, demonstrační a plná verze řídícího programu, kontrolní a simulační program pro kontrolu skriptu a další pomocné programy.
Současně byla navržena řídící deska, připojená pomocí portu LPT, obsahující 8 RELE 230V/10A, určené pro spínání zařízení o nízkém odběru, nebo k ovládání výkonových relé a stykačů, s oboustrannou komunikací pro kontrolu stavu jednotlivých relé. Deska umožňovala zachování běhu řídícího procesu, kdy při ukončení nebo pozastavení řídícího programu zůstal stav jednotlivých relé zachován a po opětovném spuštění programu (např. z důvodu výměny skriptu) nebyl běh procesu přerušen.
Pro čtení teplot bylo vybráno teplotní čidlo DS18B20 Maxim/Dallas, připojené na komunikační síť 1-Wire s převodníkem do COM portu. Přímým přístupem k LPT portu (což už dnes není možné) byla zajištěna komunikace adresováním a čtením hodnot portu, teplota byla čtena pomocí externího programu, se zápisem hodnot do souboru.Princip funkčnosti bezobslužného procesu byl navržen, že se vytvoří řídící skript obsahující příkazy po jednotlivých dnech pro celý cyklus, který se překontrolování na syntaktickou správnost vložil do řídícího programu. Ten po spuštění skript načetl a spustil běh v automatickém režimu, kdy docházelo k řízení všech procesů, na základě příkazů a hodnot, zjištěných při běhu procesu. Naměřené hodnoty byly zaznamenávány, k další analýze. Pro vývoj analytického programu byl vybrán MS Excel, ve kterém byl vytvořen program ve VBA pro analýzu dat, min. a max. a průběhových hodnot, zobrazení dat v grafech po jednotlivých dnech a další.
Současný stav
V současné době jsou řídící programy vyvíjeny pro Win 10 Pro Tiny ARM, běžícím na Raspberry Pi 4. S releovým modulem je propojen přes USB, ve vývoji je autonomní řídící modul LAN. Pomocné programy byly zkonvertovány nebo nově vytvořeny, testovány na kompatibilitu Win7 až W11 (včetně Win 10-11 ARM). Pro komunikaci se starším programem Řízení ver. I. byl vytvořen sw. převodník komunikace a je možné spravovat z Clienta v2 běžící procesy ver. I. i II. Teplotní čidla se připojují do portu USB před HID převodník.
Pomocné a podpůrné programy byly vytvořeny pro správu, editaci a automatizaci řídících programů a na ně návázaných souborů. Interní utility pak automatizují opakující se procesy při tvorbě projektu.
Veřejné (public release) programy naleznete v sekci Software.