Matematické instrukce
Matematické operace lze provádět jak s celočíselnými hodnotami, tak i s čísly s desetinnou čárkou někdy označovanými jako Floating-Point.
Podobně jako komparátory mají i tyto instrukce dva vstupy a jeden výstup. Výstup však není boolovský (tedy logická jednička nebo nula), ale odpovídá datovému typu, se kterým pracujeme. Matematické operace lze tedy provádět pouze mezi stejnými datovými typy.
Obr. 1: Ukázka instrukce součtu celočíselných hodnot
Mezi základní matematické operace patří:
-
součet ADD
-
rozdíl SUB
-
násobení MUL
-
dělení DIV
Příklad
V následujícím příkladu je úkolem sestavit program pro převod měřené teploty ve stupních Fahrenheita (°F) na stupně Celsia (°C). Nezbytná je znalost převodu mezi těmito jednotkami:
kde F je teplota ve stupních Fahrenheita.
-
Protože výsledek ve stupních Celsia může být desetinné číslo, bude pracovat s datovým typem REAL.
-
Nejprve tedy použijeme instrukci pro odečet SUB_R. Hodnotu ve stupních Fahrenheita zapíšeme jako konstantu na IN1 (při reálném měření teploty by zde byla proměnná se skutečně naměřenými údaji). Dále tuto hodnotu vynásobíme číslem 5 a následně vydělíme číslem 9. Výsledek zapíšeme do paměti VD300.
Obr. 2: Práce s matematickými instrukcemi
Jak ukazuje následující příklad, kromě základních matematických operací máme v současné době u PLC automatů k dispozici také množství numerických funkcí, jako je výpočet logaritmů, mocnin, trigonometrických funkcí aj.
Příklad
Na tomto příkladu si ukážeme převod získané hodnoty z úhlových stupňů na radiány a následný výpočet trigonometrické funkce sinus.
Na vstup instrukce MUL IN1 zapíšeme hodnotu úhlu ve stupních a na IN2 potom konstantu přepočtu na radiány.
Obr. 3: Práce s matematickými instrukcemi
Zdroje
Obrázky
- Pokud není uvedeno jinak, autorem obrázků je Ing. Miroslav Opl
Opakování
K čemu slouží matematické instrukce?
Co rozumíte pod pojmem "Floating-Point"?
Jaký datový typ byste použili pro zápis záporného výsledku s desetinnou čárkou?
Doplňující učivo
Programovací jazyky určené pro PLC automaty ne vždy nabízejí potřebný soubor matematických operací. Zápis se také v programu reléových schémat stává nepřehledný. Dále si tedy ukážeme formu zápisu matematických rovnic v grafickém prostředí LabVIEW od firmy National Instruments.
Za příklad si vezměme rovnici teplotní charakteristiky termistoru:
Obr. 4: Teplotní charakteristika termistoru
A1, B1, C1 a D1 jsou konstanty, pomocí nichž je vyjádřena charakteristika konkrétního termistoru. R25 je potom jeho odpor při teplotě 25°C.
Pro zápis rovnice slouží "okno" se vstupními hodnotami nalevo a výstupními napravo. Hodnotu odporu termočlánku R25 a přirozený logaritmus můžeme „vytknout“ před okno vzorce.
Obr. 5: Funkce „Formula Node“ v prostředí LabVIEW