boolean_regulator

Funkce

Dvoupolohový regulátor, který podle dvou vstupních numerických výrazů — žádaná a regulovaná hodnota — vypočítá akční zásah (výstup) — zapnuto / vypnuto.

Syntax

  boolean_regulator boolean_regulator_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;
    condition = boolean_expression;
    wish_value = real_expression;
    expression = real_expression;
    output = boolean_dataelement;
    inverse;
    receivers = [ identifier, . . . ];
    divergence_minus = real;
    divergence_plus = real;
    show_description;
    wish_value_section
      BLOCK_SECTION
    end_wish_value_section;
    value_section
      BLOCK_SECTION
    end_value_section;
    output_section
      BLOCK_SECTION
    end_output_section;
    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;
    end_colors;
  end_boolean_regulator;

  BLOCK_SECTION
    ratio = integer;
    view_position = integer;
    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;

Specifické parametry přístroje

Poznámky

Příklad

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

  window boolean_regulator id_2;
    timer = 1;
    owner = background;
    position = 217, 29, 445, 208;
    wish_value = w;
    expression = vystup_ze_soustavy;
    output = b;
    condition = start;
    output_section
      view_position = 3;
      mode = flow_graph;
      history = 50;
    end_output_section;
    wish_value_section
      view_position = 1;
      mode = flow_graph;
      history = 50;
      mask = 'input ##.#';
    end_wish_value_section;
    value_section
      ratio = 10;
      view_position = 2;
      mode = flow_graph;
      history = 50;
      font = TIMES, 12, normal;
    end_value_section;
  end_boolean_regulator;

Nativní procedury přístroje

Podrobnější informace k nativním procedurám je možné nalézt v kapitole Regulátory a regulace.

SetDivergenceMinus( div_minus : real )
SetDivergencePlus( div_plus : real )
GetDivergenceMinus( &div_minus : real )
GetDivergencePlus( &div_plus : real );

Metody slouží ke změně parametrů dvoustavového regulátoru. Parametry div_minus a div_plus odpovídají parametrům regulátoru divergence_plus a divergence_minus nastavovatelným v popisu přístroje. Více informací je možné získat v referenční příručce dvoustavového regulátoru a v kapitole Regulátory a regulace.

Událostní procedury přístroje

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

OnActivate()
OnShow()
OnHide()
OnNewPosition( RectX, RectY, RectW, RectD : integer )
OnWindowMinimize()
OnWindowMaximize()
OnWindowRestore( WasMinimized, WasMaximized : boolean )
OnWindowClose()

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

Specifické událostní procedury přístroje

OnOutput( &Active : boolean )

Proceduru přístroj volá vždy při nastavení výstupu, ať již je jeho hodnota jakákoli. Procedura je proto volána v každém časovém kroku přístroje. Parametr Active obsahuje aktuální hodnotu výstupu regulátoru, přičemž tato hodnota v okamžiku volání procedury ještě není zapsána do výstupního datového elementu. Procedura proto může výstup regulátoru ovlivnit upravením parametru Active na libovolnou hodnotu. Teprve takto upravená (případně nezměněná) hodnota bude zapsána na výstup regulátoru.

OnOutputChange( &Active : boolean )

Proceduru přístroj volá vždy při nastavení výstupu, je-li jeho aktuální hodnota odlišná od hodnoty předchozí. Procedura proto nemusí být volána v každém časovém kroku přístroje. Parametr Active obsahuje aktuální hodnotu výstupu regulátoru, přičemž tato hodnota v okamžiku volání procedury ještě není zapsána do výstupního datového elementu. Procedura proto může výstup regulátoru ovlivnit upravením parametru Active na libovolnou hodnotu. Teprve takto upravená (případně nezměněná) hodnota bude zapsána na výstup regulátoru.