Foxee v časopise Automa: Seriál Logika (nejenom) pro programátory

Automa je odborný časopis pro automatizační techniku, měřicí a regulační techniku, komunikační techniku a průmyslovou informační techniku. Vychází s měsíční periodou (s výjimkou jarního a letního dvojčísla), a jeho text je dostupný v tištěné, ale i v elektronické verzi, dostupné na stránkách www.automa.cz. Jsou zde přístupná všechna čísla časopisu Automa od roku 2003 až do současnosti. Lze jimi listovat a zvolené texty stahovat ve formátu .pdf. Již dva roky je v tomto časopise publikován také seriál o výuce pomocí řídicí jednotky Foxee.

Popis kostky Foxee

Jako „kostka Foxee“ je neformálně označovaný kompaktní řídicí systém určený k řízení Robota Foxee a dalších mechanických učebních pomůcek z nabídky firmy Smart BIT s. r. o. V kompaktní skříňce je zabudována vestavná (OEM) verze programovatelného automatu Tecomat Foxtrot CP 1972, doplněná potřebnými periferními obvody pro řízení obvyklých mechanismů. Je přizpůsoben pro komunikaci WiFi.

Kostka FOXEE

Obsahuje především:
– dva analogové vstupy (A0, A1), které mohou být proudové 0 až 20 mA nebo napěťové v rozsahu ±0,3 V,
– čtyři dvouhodnotové vstupy (D2 až D5),
– čtyři barevná tlačítka, připojená paralelně k dvouhodnotovým vstupům DI2 až DI5,
– čtyři barevné signálky,
– deset dvouhodnotových výstupů (DO0 až DO9) 12 V,
– sériovou sběrnici CIB a TL2 pro rozšiřovací moduly vstupů a výstupů,
– komunikační porty CH1 (rozhraní RS-232) a CH2 (RS-232 nebo RS-485),
– až tři signální LED,
– obvody pro až čtyři řízené pohony.
Kostka Foxee je navržena pro řízení nejrůznějších mechanických „hraček“. Studenti se na modelech seznamují s řízením skutečných strojů a mechanismů, s možnostmi programovatelných automatů (PLC) a s jejich programováním. Kostku lze ale použít rovněž jako samostatnou učební pomůcku pro výuku programování úloh logického typu. Ty tvoří základ řídicích algoritmů pro řízení mechatronických soustav, které se převážně vyskytují v průmyslové praxi. Postačuje k tomu základní vybavení kostky – čtveřice barevných tlačítek a stejnobarevných signálek.

Shrnutí dosavadního průběhu seriálu

Začal v čísle 2-3/2018 úvodní a motivační částí. Pokračoval pasáží s příklady na využití programovatelných automatů (PLC) pro vyhodnocení analogových veličin (konkrétně měření teploty) a nespojité řízení tepelných soustav (od čísla 4/2018 do 7/2018). Cílem bylo nejenom ilustrovat skutečnost, že použití programovatelných automatů už zdaleka není omezeno jen na řešení úloh logického typu. V praxi jsou využívány k řešení snad všech typů úloh. Důležitým přínosem této části bylo grafické zobrazení časových průběhů teploty, které ilustruje dynamiku různě složitých tepelných soustav. Usnadňuje tak intuitivní pochopení dějů, které probíhají v různých typech spojitých dynamických soustav, a to bez znalosti náročné teorie. Intuitivní pochopení usnadňují i příklady soustav, které se chovají analogicky k tepelným soustavám (hydraulické soustavy se spojenými nádobami a elektrické obvody s rezistory a kondenzátory). S intuitivním pochopením podstaty dynamických dějů a s využitím podobnosti různých soustav může absolvent např. usoudit, že „vytápěná místnost se chová podobně, jako když shora plníme nádrž vodou, která dolním otvorem odtéká“ nebo že rychlovarná konvice může posloužit jako poměrně výstižný (a zrychlený) model vytápěné místnosti.

Dále se seriál věnoval logice a proměnil v kurz „Logika (nejenom) pro programátory“ (od čísla 8-9/2018 do čísla 5/2019), věnovaný řešení kombinačních logických úloh programem. Výklad byl v jeho první části (v číslech 8-9/2018 a 10/2018) veden formou jednoduchých příkladů, řešených intuitivně bez předchozího výkladu potřebné teorie. Je zde aplikována osvědčená výuková zásada „hození do hluboké vody“. Ta zjevně vyhovuje mentalitě většiny mladých lidí, kteří nemají trpělivost předem studovat teorii. Příklady byly zadány a řešeny pro kompaktní řídicí systém „kostka Foxee“, přesněji pro jeho čtveřici barevných tlačítek a čtveřici stejnobarevných signálek. Na řešených příkladech se čtenáři seznámí s významem a možnostmi využití základních logických funkcí Booleovy algebry: negace (NOT), logického součtu (OR) a logického součinu (AND). Seznámí se i s dalšími používanými logickými funkcemi: výlučného logického součtu (XOR), ekvivalence, parity, majoritními a prahovými funkcemi.

Druhý díl (od čísla 11/2018 až do čísla 5/2019) obsahoval minimum z teorie výrokové logiky a metodiky navrhování kombinačních logických systémů. Její znalost je užitečná nejenom pro návrháře pevné logiky, ale i pro programátory – jakýchkoliv systémů (PC, PLC a mikrořadičů).

Od dvojčísla 8-9/2019 se seriál věnuje řešení logických úloh sekvenčního typu a časových úloh. Pro kombinační logické funkce platí, že hodnota jejich výstupu je jednoznačně určena okamžitou kombinací hodnot jejich vstupů. Naproti tomu výstupy sekvenční logické funkce závisejí na pořadí (sekvenci) hodnot, které postupně přicházely na jeho vstupy, popř. ještě na čase – výsledně na dosaženém vnitřním stavu. V praxi se nejčastěji setkáváme právě s logickými úlohami sekvenčního typu. Jejich řešení je ale podstatně náročnější než řešení kombinačních úloh.

Opět si zde vystačíme se čtveřicí barevných tlačítek a signálek na kostce Foxee. Programy jsou uváděny v jazycích ST a LD podle normy IEC EN 61131-3 a v grafickém jazyce CFC, který lze považovat za „nadstandard“ (je komfortnější a přehlednější obdobou grafického jazyka FBD). Výklad je veden formou jednoduchých příkladů, řešených intuitivně a doplněných vysvětlujícími komentáři. Čtenáři se seznámí s příčinou paměťového chování programu, s řešením důležitých paměťových funkcí a se standardními funkčními bloky, které je realizují (generátor impulzu náběžné a sestupné hrany, paměť RS a SR), s paměťovou funkcí řízenou hranou (T-obvod) a s impulsním schodišťovým ovladačem, se vzorkovací funkcí, posuvnými registry a čítači. Přiložená ukázka zobrazuje program v grafických jazycích LD a CFC pro různá řešení paměťové funkce. V zadání příkladu bylo požadováno: „stiskem tlačítka tl_rude se rozsvítí signálka s_ruda, a ta svítí, dokud ji nezhasne stisk tlačítka tl_zlute“.

Řešení 1

Řešení 2

Řešení 3

Řešení 4

Řešení 5

Řešení 6

Důležitou třídou sekvenčních funkcí jsou časové funkce. Popsány budou standardní funkčních bloky časovačů: zpožděný náběh (TON) a zpožděný sestup (TOF), generátor impulzu zadané délky (TP). Popsány budou metody měření času a doby trvání událostí, označování událostí časovými značkami, generování impulsních průběhů (periodických, neperiodických a pseudonáhodných), využití systémových časových proměnných, časové programové řízení apod.        

Dále se seriál bude věnovat systematickému návrhu komplikovanějších sekvenčních logických systémů s využitím nástroje SFC (Sequential Functional Chart) podle normy IEC. Je implementován v nové verzi vývojového systému Mosaic, uvolněné pro testování. Studentům (čtenářům) poskytne velmi výkonný a spolehlivý nástroj pro řešení úloh z praxe logického řízení a technické diagnostiky. V tomto případě budou příklady zaměřeny na řízení mechanických pomůcek, např. manipulátoru s dopravníkem (uvést obrázek).

Řešení ověřování a dokumentování programů pro příklady z obou částí seriálu  (kombinačních a sekvenčních logických funkcí) je dílem zkušených učitelů SPŠ Zlín – Ing. Zuzany Prokopové a Ing. Josefa Kováře. Uvítáme zpětnou vazbu, diskusi a náměty, ale především aktivní spolupráci s učiteli dalších odborných škol a s jejich aktivními studenty. Rádi zveřejníme jejich příspěvky a pak se s nimi setkáme na pracovním setkání ve Foxee Labu v Hradci Králové.

Ladislav Šmejkal