multiplexer

Funkce

Zobrazení hodnoty numerického výrazu pomocí ručkového přístroje, grafu, popř. displeje. Přístroj vybere jeden z výrazů pomocí zadaných podmínek.

Syntax

  multiplexer multiplexer_name;
    rem = string;
    bubble = string;
    timer = timer_name;
    owner = owner_name;
    position = integer, integer, integer, integer;
    win_disable = [ identifier, . . . ];
    win_title = string;
    access = integer;
    tab_select = integer;
    send_same_data;
    input_item
      condition = boolean_expression;
      expression = real_expression;
    end_input_item;
    input_item
      . . .
    end_input_item;
    default_input = real_expression;
    output = real_dataelement;
    show_inputs boolean;
    show_numbers boolean;
    mode = identifier;
    content = identifier;
    range_from = real;
    range_to = real;
    low_limit = real;
    high_limit = real;
    history = integer;
    dec_places = integer;
    real_step = real;
    h_grid = integer;
    v_grid = integer;
    font = font_identifier, integer, style_identifier;
    mask = string;
    driver_exception = driver_name;
    colors
      border_ink = color;
      border_paper = color;
      top_shadow = color;
      bottom_shadow = color;
      ink = color;
      paper = color;
      value = color;
      low_limit = color;
      high_limit = color;
      h_grid = color;
      v_grid = color;
      date_background = color;
      number_color = color;
    end_colors;
  end_multiplexer;

Specifické parametry přístroje

Poznámky

Příklad

Příklad nastavení parametrů přístroje:

  window multiplexer multiplexer;
    timer = 0.5;
    owner = background;
    position = 337, 85, 210, 105;
    input_item
      condition = b1;
      expression = ( 50 * sinus ) / ( second + 40 );
    end_input_item;
    input_item
      condition = b2;
      expression = ( noise / 10 ) + 45;
    end_input_item;
    default_input = 0;
    output = kanal1;
    show_inputs;
    show_numbers;
    history = 50;
    h_grid = 5;
    v_grid = 10;
  end_multiplexer;

Nativní procedury přístroje

SetLowLimit( LowLimit : real )
SetHighLimit( HighLimit : real )

Nastavení horní a dolní meze zobrazovaných hodnot. Přístroj bude výsledek vstupních výrazů porovnávat s hodnotami HighLimit a LowLimit; bude-li vstupní hodnota menší než LowLimit nebo větší než HighLimit, bude jednou z těchto limitních hodnot nahrazena.

SetRange( RealFrom : real, RealTo : real )

Nastavení rozsahu přístroje. Historické hodnoty uložené ve vyrovnávací paměti případně přesahující nový rozsah budou ořezány. Stejně tak budou případně upraveny i limity. V rámci této metody bude přístroj v nové podobě i překreslen.

SetMode( Mode : real )

Pomocí této metody je možné za běhu přístroje nastavovat jeho vzhled. Čísla módů a jejich stručný popis uvádí tabulka:

0 pointer - ručkový přístroj
1 digital - digitální výstup bodový
2 dot_digital - digitální výstup
3 vertical_bar - poměrná svislá barevná plocha
4 horizontal_bar - poměrná vodorovná barevná plocha
5 flow_graph - posunující se graf
6 sweep_graph - stojící graf
7 text_display - návěští s aktuální hodnotou

NewRect( x, y, width, depth : real )

Zavoláním metody je možné přístroji změnit současně jeho pozici a velikost. Velikosti hodnot x, y, width, a depth jsou v bodech obrazovky.

MoveTo( x, y : real )

Posunutí přístroje na pozici x, y. Velikosti hodnot x a y jsou v bodech obrazovky.

Show()

Zobrazení skrytého přístroje.

Hide()

Skrytí viditelného přístroje.

Událostní procedury přístroje

Přístroj může volat standardní událostní procedury:

OnActivate()
OnMouseDown( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean ) 
OnMouseDoubleClick( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnMouseUp( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean ) 
OnMouseMove( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnSelect() 
OnDeselect() 
OnShow() 
OnHide() 
OnNewPosition( RectX, RectY, RectW, RectD : integer ) 
OnWindowMinimize() 
OnWindowMaximize() 
OnWindowRestore( WasMinimized, WasMaximized : boolean ) 

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.