Komparátory
Komparátory tvoří důležitou skupinu instrukcí pro práci s analogovou hodnotou, popř. řetězcem. Pomocí těchto instrukcí je možné vyhodnotit např. překročení úrovně snímaných veličin, jako je teplota, tlak, apod.
Komparátory mají vždy dva vstupy. Jeden slouží pro zápis měřené hodnoty a druhý pro zápis hodnoty žádané. Je-li podmínka instrukce splněna, nastaví výstup do logické jedničky.
Komparátory umožňují porovnávat vždy stejné datové typy, jako je Byte, Integer, Double Word, Real. Pokud by bylo třeba porovnávat dva odlišné datové typy, je mezi nimi nutné provést konverzi.
Instrukce porovnání lze použít i pro záporná čísla.
Porovnávání číselných hodnot
Pro porovnávání číselných hodnot jsou k dispozici:
-
rovno EQ (Equal)
-
nerovná se NE (Not Equal)
-
menší než LT (Less Than)
-
větší než GT (Greater Than)
Obr. 1: Příklady instrukcí porovnání
Písmeno uvnitř grafické značky napovídá o datovém typu, který lze pro danou instrukci použít. U tohoto grafického zápisu je na horní pozici čtená měřená hodnota, spodní hodnota je potom žádaná.
V následujícím příkladu je hodnota čtena ze speciální paměti SMB (Special Memory Byte), kterou lze u PLC S7-200 firmy Siemens využít pro získání bytové hodnoty z integrovaných potenciometrů, k nimž lze přistoupit na rezervovaných adresách 28 resp. 29.
Jak je z obrázků patrné, k vystavení logické jedničky na výstupu instrukce „větší nebo rovno než“ dojde při překročení hodnoty nebo rovné jako 140. Poté bude také vystaven výstup Q0.1.
Obr. 2: Porovnání číselných hodnot
Porovnávání řetězců
Stejně jako lze porovnávat číselné hodnoty, lze pracovat i s řetězci (String). Tyto instrukce porovnávají dva řetězce znaků v ASCII kódu.
Je-li výsledek porovnání pravdivý, dojde opět k vystavení logické jedničky.
Zdroje
Obrázky
- Pokud není uvedeno jinak, autorem obrázků je Ing. Miroslav Opl
Videa
- Archiv autora
Opakování
K čemu slouží instrukce porovnávání?
Co vyjadřují písmena uvnitř symbolu instrukce?
Praktická ukázka
Využití komparátorů může být při řízení procesů značně rozlišné. Mohou sloužit pro indikaci stavů, resp. zastavení procesů v případě dosažení určité úrovně snímané hodnoty. Své uplatnění také najdou v robotice, např. pro vyhodnocování vzdáleností.
Následující videoukázka prezentuje robotické vozítko vybavené optickým senzorem vzdálenosti. Tento senzor tedy neposkytuje pouze informaci o přítomnosti překážky, ale také dává řídícímu systému (v tomto případě Arduino) informaci o její vzdálenosti. Takovéto čidlo je tedy nutné připojit na analogové porty a údaje vyhodnocovat komparátory.
Obr. 3: Robotické vozítko ze stavebnice Merkur
Robotické vozítko vybavené snímáním vzdálenosti