Krátký popis
Blok matematické instrukce vypočítává hodnotu AQ rovnice vytvořené z uživatelem definovaných operandů a operátorů.
Spojení |
Popis |
Vstup En |
Kladná hrana na vstupu En spouští funkční blok matematické instrukce |
Parametr |
V1: Hodnota 1: První operand V2: Hodnota 2: Druhý operand V3: Hodnota 3: Třetí operand V4: Hodnota 4: Čtvrtý operand Rozsah hodnot: -32768 až 32767 Operátor 1: První operátor Operátor 2: Druhý operátor Operátor 3: Třetí operátor Priorita 1: Priorita první operace Priorita 2: Priorita druhé operace Priorita 3: Priorita třetí operace p: Počet desetinných míst Možná nastavení: 0, 1, 2, 3 |
Výstup AQ |
Výstup AQ je výsledkem rovnice vytvořené z hodnot operandů a operátorů. AQ se nastaví na hodnotu 32767, pokud nastane dělení 0 nebo přetečení, a na hodnotu -32768, pokud nastane záporné přetečení (underflow). |
|
0BA1- 0BA5: Funkční blok matematické instrukce neexistuje pro verze před sérií 0BA6. |
Parametry V1, V2, V3 a V4
Hodnoty V1, V2, V3 a V4 mohou být poskytnuty skutečnou hodnotou jiné již naprogramované funkce:
Analogový komparátor: Ax - Ay
Analogový spínač: Ax
Analogový zesilovač: Ax
Analogový multiplexer: AQ
Analogová rampa: AQ
Matematická instrukce: AQ
PI regulátor: AQ
Dopředný a zpětný čítač: Cnt
U zařízení 0BA7 a 0BA8 navíc můžete použít skutečné hodnoty následujících již naprogramovaných funkcí:
Zpožděné zapnutí: Ta
Zpožděné vypnutí: Ta
Zpožděné zapnutí/vypnutí: Ta
Zpoždění zapnutí s pamětí: Ta
Impulzní relé: Ta
Hranou spouštěné impulzní relé: Ta
Asynchronní pulzní generátor: Ta
Schodišťový spínač: Ta
Multifunkční přepínač: Ta
Stopky: AQ
Analogový filtr: AQ
Průměrná hodnota: AQ
Max/Min: AQ
Porovnávač frekvence: Fre
Požadovanou funkci můžete vybrat podle čísla bloku.
Parametr p (počet desetinných míst)
Parameter p platí pouze pro zobrazení hodnot V1, V2, V3, V4 a AQ v textu zprávy.
Popis funkce
Funkce matematické instrukce kombinuje čtyři operandy a tři operátory pro vytvoření rovnice. Operátorem může být kterýkoli ze čtyř standardních operátorů: +, -, * nebo /. Pro každého operátora musíte nastavit jedinečnou prioritu Vysoká („H“), Střední („M“) nebo Nízká („L“). Operace s prioritou Vysoká bude provedena nejprve, poté operace s prioritou Střední a poté operace s prioritou Nízká. Pro každou prioritu musíte mít přesně jednu operaci. Hodnoty operandů mohou odkazovat na jinou dříve definovanou funkci, aby poskytly hodnotu. Funkce matematické instrukce zaokrouhlí výsledek na nejbližší celé číslo.
Počet hodnot operandů je pevně stanoven na čtyři a počet operátorů je pevně nastaven na 3. Pokud potřebujete použít méně operandů, použijte k vyplnění zbývajících parametrů konstrukce jako například "+ 0" nebo "* 1".
Můžete také nakonfigurovat chování funkce, když je parametr Enable = "En" = 0. Funkční blok si může zachovat svou poslední hodnotu nebo může být nastaven na 0.
Možné chyby: Dělení nulou a přetečení
Pokud provedení funkce bloku matematické instrukce vede k nulovému dělení nebo přetečení, nastaví vnitřní bity, které označují typ chyby, ke které došlo. Ve vašem obvodu můžete naprogramovat funkční blok detekce chyb matematické instrukce pro detekci těchto chyb a podle potřeby řídit chování programu. Pro jeden konkrétní funkční blok matematické instrukce naprogramujete jeden funkční blok detekce chyb matematické instrukce.
Příklady
Následující tabulky ukazují několik jednoduchých příkladů parametrů matematických instrukčních bloků a výsledné rovnice a výstupní hodnoty:
V1 |
Operátor1 (Priorita 1) |
V2 |
Operátor2 (Priorita 2) |
V3 |
Operátor3 (Priorita 3) |
V4 |
12 |
+ (M) |
6 |
/ (H) |
3 |
- (L) |
1 |
Rovnice: (12 + (6 / 3)) - 1
Výsledek: 13
V1 |
Operátor1 (Priorita 1) |
V2 |
Operátor2 (Priorita 2) |
V3 |
Operátor3 (Priorita 3) |
V4 |
2 |
+ (L) |
3 |
* (M) |
1 |
+ (H) |
4 |
Rovnice: 2 + (3 * (1 + 4))
Výsledek: 17
V1 |
Operátor1 (Priorita 1) |
V2 |
Operátor2 (Priorita 2) |
V3 |
Operátor3 (Priorita 3) |
V4 |
100 |
- (H) |
25 |
/ (L) |
2 |
+ (M) |
1 |
Rovnice: (100 – 25) / (2 + 1)
Výsledek: 25