Obsah

Převod Analog na Diskrétní hodnoty

Celé jméno

Lib.Mervis.v1_0.AnalogToDiscrete

Potřebné reference projektu

Popis

Použití v ST

program test
    var
        a2d: lib.mervis.v1_0.AnalogToDiscrete;
    end_var

    ad2(Value := ..., Weights := [1, 2, 4, 8, 0, 0, 0, 0], Output0 => D0, Output1 => D1);
end_program

Vstupy

Jméno Datový typ Povolený rozsah Retain Nutno připojit Význam
Value real Ne Ano Vstupní analogová hodnota
Weights array[0..7] of real Jednotlivé prvky větší rovny nule Ne Ne Váhy jednotlivých vstupů. Musí být seřazeno vzestupně, nula na jakékoliv pozici ukončuje výpočet.
Tolerance real 0..100 % Ne Ne Tolerance pro porovnávání vah jednotlivých vstupů

Výstupy

JménoDatový typ Význam
Output0..Output7bool Hodnoty jednotlivých bitů (0 - nejnižší váha = LSB, 7 - nejvyšší váha = MSB)
CombinedOutput usintVýstupy Output0..Output7 sloučenédo jednoho 8b čísla

Podrobný popis funkce

Blok slouží k převodu spojité veličiny (např. napětí nebo odpor), která svojí velikostí kóduje binární hodnoty. Hlavní využití je při využití analogových vstupů pro rozšíření počtu digitálních vstupů nebo pro úsporu kabeláže mezi senzorem a regulátorem.

Příklady využití

První vstup má váhu 5 V, druhý 2.5 V atd. poslední má váhu 0.15625 V. Výsledné napětí je poté dané součtem těchto vah. Pro zpětný převod na stavy digitálních vstupů lze použít tento funkční blok, kde vyplníme váhy od nejmenší, Weights = [0.15625, 0.3125, 0.625, 1.25, 2.5, 5, 0, 0].

Pokud zvolíme např. hodnoty 120 Ohm, 240 Ohm, 390 Ohm a 820 Ohm jsme schopni rozlišit 16 různých hodnot odporu a tím pádem 4 spínací kontakty.