Rozšířená funkce bude vypadat asi takto. Některé proměnné již známe z minula, přibyl integer vstup RES_INT, kde bude hodnota pro reset, bitový vstup povelu RESET a ještě OUTIN což není nic jiného než v podstatě kontrola proměnné na vstupu funkce. Hodnota na vstupu se okamžitě přenáší do výstupu. Tato funkce není nezbytná, zbyla nám tady z nějakého pokusu.
Jak je vidět je to již krapet složitější než minule. Odladění funkce zde v PLC programu LOGO! je nezbytné, napoprvé se to často nepodaří, zvlášť takové stavy které nepředpokládáme že často nastanou. Například součastný stisk povelů GO a RESET a podobně.
Klikněte na obrázek pro zvětšení
Opět po odladění funkci označíme a vytvoříme UDF.
Klikněte na obrázek pro zvětšení
Popíšeme si vstupy, výstupy a také název funkce.
Klikněte na obrázek pro zvětšení
A taky vnitřní propojení proměnných. Mimochodem funkce B021 je jiná než v minulém článku, jedná se o analogový multiplexer, tedy přepínač.
Klikněte na obrázek pro zvětšení
Také v tomto editoru si klidně uděláme drobnější úpravy naší funkce.
Po uložení funkci importujeme do programu, seznamu UDF funkcí, tentokrát jako MOVE_R2.
Takhle pak vypadá nová funkce již v PLC programu. Hodnotu proměnné pro RESET zadáme v VW34. Tedy třeba 0 nebo jakékoliv celé číslo v rozmezí -32768 ... 32767.
Vyzkoušíme si to tentokrát on-line, hodnoty proměnných zadáme a čteme přes VAT tabulku proměnných. Mimochodem jistě najdete drobnou chybku, výstup funkce máme na adrese VW32.
Klikněte na obrázek pro zvětšení
Videoukázka vytvoření UDF funkce MOVE. Two minutes video. :)
https://www.youtube.com/watch?v=ejgtxp-pQIo&feature=youtube.
Závěr:
Většinou se tohle nepodaří na poprvé, často najdete kombinaci vstupů/výstupů která není programově ošetřena a nedělá tedy co má. Pokud bychom chtěli reset vždy nulu, je vše jednodušší.
Jaroslav Blažek
Doplňující odkazy k článku:
LOGO! materiály najdete zde.
Siemens Česká Republika.