Zobrazení číselné hodnotu nebo výsledku numerického výrazu pomocí ručkového přístroje, sloupcového indikátoru, grafu a číslicového zobrazovače, s možností přiřazení výsledku do výstupního datového elementu.
meter meter_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; expression = real_expression; blink = boolean_expression; blink_rate = identifier; mode = identifier; content = identifier; range_from = real; range_to = real; low_limit = real; high_limit = real; history = integer; dec_places = integer; real_step = integer; frame = integer; h_grid = integer; v_grid = integer; font = font_identifier, integer, style_identifier; mask = string; text_shift = integer; driver_exception = driver_name; disable_menu; 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; blink_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_blink_colors; end_meter;
data_element = real_expression;
Je–li přístroj v okně, lze pomocí menu měnit mód přístroje za běhu programu. V žádném módu se nemění princip funkce přístroje, mění se pouze způsob jeho zobrazení.
Implicitně jsou nastaveny parametry:
position = 0, 0, 180, 120; access = 4294967295; tab_select = 4294967295; mode = pointer; content = min; range_from = 0; range_to = 100; low_limit = 25; high_limit = 75; history = 2; dec_places = 2; real_step = 1; h_grid = 0; v_grid = 0; font = SYSTEM, 9, normal;
Příklad nastavení parametrů přístroje meter:
meter zobrazovač; timer = časový_krok; owner = background; position = 25, 15, 180, 120; expression = proměnná; end_meter;
SetValue( Value : real )Nastavení přístroje na novou hodnotu Value včetně případného zápisu této hodnoty do výstupního datového elementu.
SetLowLimit( LowLimit : real ) SetHighLimit( HighLimit : real )Nastavení horní a dolní varovné meze zobrazovaných hodnot.
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 : number )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:
MoveTo( XPosition, YPosition : real )Posunutí přístroje na pozici XPosition, YPosition. Velikosti hodnot x a y jsou v bodech obrazovky.
NewRect( XPosition, YPosition, Width, Depth : real )Zavoláním metody je možné přístroji změnit současně jeho pozici a velikost. Velikosti hodnot XPosition, YPosition, Width, a Depth jsou v bodech obrazovky.
Hide()Skrytí viditelného přístroje.
Show()Zobrazení skrytého přístroje.
SetNewValueColor( Red, Green, Blue : number )Nastavení libovolné barvy pro zobrazování normální výstupní veličiny (tj. mimo varovné limity). Čtyřiadvacetibitová barva je zadána v podobě red, green a blue složky, kdy každá může nabývat hodnot od 0 do 255.
SetDecPlaces( DecPlaces : number )Nastavení nového počtu zobrazovaných desetinných míst. Pro módy digital a dot_digital není akceptována vyšší hodnota než 4.
SetGrid( HorizontalLines, VerticalLines : number )Nastavení počtu horizontálních a vertikálních čar rastru. Zobrazování rastru se vypne nastavením nulových hodnot.
Blink( BlinkingActive : boolean )Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.
ToggleBlink()Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.
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 ) OnKeyDown( Character : cardinal ) OnKeyRepeat( Character : cardinal ) OnKeyUp( Character : cardinal ) OnSelect() OnDeselect() OnShow() OnHide() OnNewPosition( RectX, RectY, RectW, RectD : integer ) OnWindowMinimize() OnWindowMaximize() OnWindowRestore( WasMinimized, WasMaximized : boolean ) OnWindowClose()
OnOutput( Output : real )Procedura je zavolána po každém vyhodnocení výrazu před každým zobrazením a před každým případným zápisem do výstupního datového elementu. V proměnné Output je hodnota, která bude přístrojem zobrazena a která bude případně po dokončení procedury zapsána do výstupního datového elementu. Toto hodnotu je možno v proceduře změnit.
OnOutputChanged( Output: real )Procedura je zavolána jen při změně výsledku vyhodnocovaného výrazu oproti výsledku předchozímu. Proměnná Output je naplněna hodnotou, která bude přístrojem zobrazena a která bude případně po dokončení procedury zapsána do výstupního datového elementu. Toto hodnotu je možno v proceduře změnit.
OnBelowLowLimit( Output: real )Procedura je zavolána, jestliže výsledkek vyhodnocovaného výrazu v daném časovém kroku podkročil dolní limit. V proměnné Output je hodnota, která bude bude po dokončení procedury zobrazena a případně zapsána do výstupního datového elementu. Tuto hodnotu je možno v proceduře změnit.
OnAboveHighLimit( Output: real )Procedura je zavolána, jestliže výsledkek vyhodnocovaného výrazu v daném časovém kroku překročil horní limit. V proměnné Output je hodnota, která bude bude po dokončení procedury zobrazena a případně zapsána do výstupního datového elementu. Tuto hodnotu je možno v proceduře změnit.
OnBelowRange( Output: real )Procedura je zavolána, jestliže výsledkek vyhodnocovaného výrazu v daném časovém kroku podkročil dolní mez rozsahu přístroje a bude proto ořezán. V proměnné Output je hodnota před ořezáním. Tuto hodnotu je možno v proceduře změnit.
OnAboveRange( Output: real )Procedura je zavolána, jestliže výsledkek vyhodnocovaného výrazu v daném časovém kroku překročil horní mez rozsahu přístroje a bude proto ořezán. V proměnné Output je hodnota před ořezáním. Tuto hodnotu je možno v proceduře změnit.