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.