Převod Analog na Diskrétní hodnoty

Lib.Mervis.v1_0.AnalogToDiscrete

  • Lib.Mervis
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
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ů
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

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í

  • Modul 6 digitálních vstupů, který je převádí na napětí 0-10 V.

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].

  • Další možností je přenos více digitálních kontaktů pouze po dvou vodičích pomocí vhodně zvolených hodnot rezistorů k daným kontaktům.

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.

  • © Energocentrum Plus, s.r.o. 2017 - 2024