Zobrazování, prohlížení a tisk historických trendů a statistických hodnot analogových signálů. Přístroj je nečasovatelný a jeho činnost lze řídit prostřednictvím nativních procedur.
trend_viewer trend_viewer_name; rem = string; bubble = string; timer = timer_name; owner = owner_name; position = integer, integer, integer, integer; win_disable = win_disable_list; win_title = string; access = integer; tab_select = integer; driver_exception = driver_name; title = string; legend_title = string; title_font = font_identifier, integer, style_identifier; font = font_identifier, integer, style_identifier; h_grid = integer v_grid = integer show_grid; grid_style = line_style_identifier; content = content_identifier_list file_mask = string; graph_length = cardinal; date_item_name = string; time_item_name = string; odbc enable; dsn = string; user_name = string; password = string; end_odbc; print margins = real, real, real, real; graph = real, real; units = identifier; bw_print; landscape; end_print statistics range = boolean, string, integer, integer; sum = boolean, string, integer, integer; arithmetic_average = boolean, string, integer, integer; minimum = boolean, string, integer, integer; maximum = boolean, string, integer, integer; span = boolean, string, integer, integer; dispersion = boolean, string, integer, integer; standard_deviation = boolean, string, integer, integer; average_deviation = boolean, string, integer, integer; relative_deviation = boolean, string, integer, integer; end_statistics; item name = string; dec_places = integer; label = string units = string range_from = real range_to = real color = color line_style = line_style_identifier, line_style_identifier; status = identifier_list end_item; item ... end_item; colors text = color; title = color; border = color; grid = color; background = color; selected= color; sheet= color; line= color; value= color; end_colors; end_trend_viewer;
Některé parametry mají implicitní nastavení
position = 0, 0, 300, 150; access = <none> tab_select = <none> legend_title = 'Legenda'; h_grid = 9; v_grid = 9; grid_style = full; content = title, left_axis, right_axis, x_axis; graph_length = 10; date_item_name = 'DATE'; time_item_name = 'TIME'; print margins = 1.5, 1.5, 2, 2; graph = 15, 10; units = centimeters; end_print; statistics range = false, 'Rozsah', 5, 1; sum = false, 'Součet', 5, 1; arithmetic_average = false, 'Průměr', 5, 1; minimum = false, 'Minimum', 5, 1; maximum = false, 'Maximum', 5, 1; span = false, 'Rozpětí', 5, 1; dispersion = false, 'Rozptyl', 5, 1; standard_deviation = false, 'Směr. odch.', 5, 1; average_deviation = false, 'Prům. odch.', 5, 1; relative_deviation = false, 'Rel. odch.', 5, 1; end_statistics; colors text = black; title = black; border = white; grid = dgray; background = black; selected = black; sheet = white; line = black; value = black; end_colors;
Příklad nastavení přístroje
trend_viewer TVI; owner = background; position = 24, 48, 436, 244; title = 'Trend'; title_font = 'Arial', 18, normal; v_grid = 18; grid_style = dot; content = title, left_axis, right_axis, x_axis, legend; file_mask = 'tvi*.dbf'; item name = 'CHANNEL1'; dec_places = 1; label = 'Voltage'; units = 'V'; range_from = 0; range_to = 100; color = lgreen; line_style = full, full; status = select; end_item; item name = 'CHANNEL2'; dec_places = 1; label = 'Current'; units = 'mA'; range_from = 0; range_to = 100; color = lyellow; line_style = full, dot; end_item; item name = 'CHANNEL3'; dec_places = 1; label = 'Power'; units = 'W'; range_from = 0; range_to = 10; color = lred; line_style = full, dashed; end_item; colors title = blue; end_colors; end_trend_viewer;
DataView Trend slouží pro zobrazování, vyhodnocování a tisk historických trendů a statistických hodnot analogových veličin.
Data pro trend lze získávat z jednoho nebo více databázových souborů - v tomto případě jsou soubory napojeny za sebe (jsou seřazeny podle jmen) a k záznamům je přistupováno tak, jakoby byly všechny obsaženy v jednom souboru. Pokud se v databázových souborech vyskytují položky, které obsahují datum a čas, mohou být tyto zobrazovány na x-ové ose. Pomocí časového kursoru se lze pohybovat po jednotlivých záznamech a odečítat hodnoty na pozici kursoru. Pro průběh každé série lze definovat barvu, druh čáry, rozsah, jednotky a název. Kliknutím na název série v legendě lze snadno přepínat cejchování levé y-ové osy. Samozřejmostí je funkce zoom, vyhledání a zobrazení dat v zadaném časovém intervalu a uživatelské nastavení vzhledu DataView v přehledném dialogovém okně. Veškerá nastavení DataView jsou uložena v logicky členěném textovém popisovém souboru.
Rozšířené ovládání DataView Trend pomocí myši
Pokud není zobrazen časový kursor, lze při stisknutém levém tlačítku myši v ploše grafu označit část grafu, která bude po jeho puštění zvětšena do celé plochy grafu. Návrat k původnímu grafu lze provést volbou příkazu 'Zpět' v menu 'Editace'. Pokud je zobrazen časový kursor a podržíme-li stisknuté levé tlačítko myši v průsečíku kursoru a průběhu série, jsou po chvíli zobrazeny dostupné hodnoty bodu. Pokud je zobrazena legenda, lze přepínat popis levé y-ové osy kliknutím levým tlačítkem nad textem série.
Clear()
Vymaže obsah přístroje (resp. DataView) a připraví jej pro nové použití.
Open( Path : string; &Result : boolean )
Načte popisový soubor (*.tvi) Path do přístroje a výsledek operace vrátí v parametru Result.
Save( Path : string; &Result : boolean )
Uloží stávající konfiguraci přístroje do popisového souboru Path a výsledek operace vrátí v parametru Result.
SetDatabase( Path : string; &Result : boolean )
Nastaví databázový soubor nebo masku (podle DOSovských zvyklostí) pro databázové soubory uvedené v parametru Path jako zdroj záznamů a výsledek operace vrátí v parametru Result.
SetContent( Title, LeftAxis, RightAxis, XAxis, Legend, Values, Statistics : boolean )
Určuje vzhled, resp. jednotlivé části přístroje, které budou v přístroji obsaženy.
SetTitle( Title : string )
Zobrazí Title jako nadpis grafu.
SetLegendTitle( Title : string )
Zobrazí Title jako nadpis legendy.
SetTitleFont( FontName : string; FontSize : number; FontType : string )
Nastavení písma pro nadpis grafu. Typ písma je určen třemi parametry. První z nich FontName určuje typ písma (např. Times, Arial, aj.), druhý určuje jeho velikost v tiskových bodech a třetí parametr FontType rozhoduje o tom, zda bude písmo normální (normal), tučné (bold) nebo skloněné (italic).
SetTitleColor( Color : number )
Nastavení barvy nadpisu.
Hodnoty parametru Color a odpovídající barvy:
SetTitleColor( R, G, B : number )
Nastavení barvy nadpisu ve složkách R, G, B.
SetLegendFont( FontName : string; FontSize : number; FontType : string )
Nastavení písma pro popis os a legendu. Hodnoty parametrů viz SetTitleFont.
SetLegendColor( Color : number )
Nastavení barvy písma popisu os a legendy. Hodnoty parametru Color viz SetTitleColor.
SetLegendColor( R, G, B : number )
Nastavení barvy písma popisu os a legendy ve složkách R, G, B. (viz SetTitleColor)
SetGrid( On : boolean )
V závislosti na hodnotě parametru On zapíná nebo vypíná zobrazování mřížky.
SetGridLines( Horizontal, Vertical : number )
Nastavení počtu vodorovných (parametr Horizontal) a svislých (parametr Vertical) čar mřížky.
SetGridColor( Color : number )
Nastavení barvy čar mřížky. Hodnoty parametru Color viz SetTitleColor.
SetGridColor( R, G, B : number )
Nastavení barvy čar mřížky ve složkách R, G, B. (viz SetTitleColor)
SelectSerie( ItemName : string )
Vybere sérii určenou jménem databázové položky ItemName.
SelectSerie( ItemNumber : number )
Vybere sérii určenou pořadím ItemNumber. První sérii odpovídá číslo 1.
SetSerie( ItemName : string; Invisible : boolean )
Podle hodnoty parametru Invisible zobrazí nebo skryje sérii určenou parametrem ItemName. ItemName je jméno databázové položky.
SetSerie( ItemNumber : number; Invisible : boolean )
Podle hodnoty parametru Invisible zobrazí nebo skryje sérii určenou parametrem ItemNumber. ItemNumber je pořadí série. První sérii odpovídá číslo 1.
SetSerieRange( ItemName : string; RangeFrom, RangeTo : real )
Nastavení rozsahu y-ové osy série určené parametrem Item
SetSerieColor( ItemName : string; Color : number )
Nastavení barvy série určené parametrem ItemName. Hodnoty parametru Color viz SetTitleColor.
SetSerieColor( ItemName : string; R, G, B : number )
Nastavení barvy série určené parametrem Item ve složkách R, G, B. (viz SetTitleColor)
SetSerieLabel( ItemName, Label : string )
Nastavení textového popisu série určené parametrem ItemName na hodnotu v parametru Label.
Undo()
Návrat k původnímu (tj. před použitím funkce zoom) zobrazení grafu.
SetZoom( On : boolean )
Pokud má parametr On hodnotu true, je funkce zoom povolena.
GetMaxGraphLength( &Length : real )
V parametru Length vrátí maximální počet zobrazitelných vzorků.
Parametr Length určuje počet zobrazovaných vzorků v grafu.
Zobrazí data v grafu od vzorku FirstSample až do vzorku LastSample.
Zobrazí data v grafu v časovém intervalu určeném parametry FromDate, FromTime, ToDate, ToTime. Formát zadávaného data a času musí odpovídat systémovému nastavení.
V závislosti na hodnotě parametru On zapíná nebo vypíná zobrazování časového kursoru.
Přesun časového kurzoru doleva (ToLeft má hodnotu true) nebo doprava (ToLeft má hodnotu false) o jednu hodnotu. Má-li parametr ByPage hodnotu true, pak je kurzor přesunut o Length vzorků (viz SetGraphLength).
Nastavení barvy pozadí grafu. Hodnoty parametru Color viz SetTitleColor.
Nastavení barvy pozadí grafu ve složkách R, G, B. (viz SetTitleColor)
Nastavení barvy okraje grafu. Hodnoty parametru Color viz SetTitleColor.
Nastavení barvy okraje grafu ve složkách R, G, B. (viz SetTitleColor)
Vrátí v parametru Value statistickou hodnotu určenou parametrem ValueId série určené parametrem ItemName z tabulky statistických hodnot. Pokud je hodnota platná, vrací v parametru Result hodnotu true. Povolí zobrazování statistických hodnot série určené parametrem ValueId v tabulce statistických hodnot. Hodnoty parametru ValueId viz GetStatisticValue.
Zakáže zobrazování statistických hodnot série určené parametrem ValueId v tabulce statistických hodnot. Hodnoty parametru ValueId viz GetStatisticValue.
Nastavení barvy pozadí tabulky statistických hodnot. Hodnoty parametru Color viz SetTitleColor.
Nastavení barvy pozadí tabulky statistických hodnot ve složkách R, G, B. (viz SetTitleColor)
Nastavení barvy dělících čar tabulky statistických hodnot. Hodnoty parametru Color viz SetTitleColor.
Nastavení barvy dělících čar tabulky statistických hodnot ve složkách R, G, B. (viz SetTitleColor)
Nastavení barvy statistických hodnot v tabulce. Hodnoty parametru Color viz SetTitleColor.
Nastavení barvy statistických hodnot v tabulce ve složkách R, G, B. (viz SetTitleColor)
Nastavení orientace tisku. Má-li parametr Landscape hodnotu true, bude se tisknout naležato.
Nastavení rozměrů tiskového výstupu. Má-li parametr Inch hodnotu true, předpokládají se rozměry v palcích. Má-li parametr Inch hodnotu false, předpokládají se rozměry v centimetrech.
Skrytí zobrazeného přístroje.
Zobrazení skrytého přístroje.
Vytiskne obsah přístroje na tiskárnu.
Nastavení nové pozice a rozměrů přístroje. Parametry x a y určují pozici levého horního rohu přístroje vzhledem k jeho vlastníkovi a parametry w a d určují rozměry přístroje.
Zobrazí dialogové okno pro nastavení všech parametrů prohlížeče trendů.
Přístroj může volat standardní událostní procedury:
Podrobnější informace k těmto procedurám lze nalézt v kapitole
Programování a procedury.
SetGraphLength( Length : number )
SetGraphSampleInterval( FirstSample, LastSample : number )
SetGraphTimeInterval( FromDate, FromTime, ToDate, ToTime : string )
SetCursor( On : BOOLEAN )
MoveCursor( ToLeft, ByPage : BOOLEAN )
SetGraphColor( Color : number )
SetGraphColor( R, G, B : number )
SetBorderColor( Color : number )
SetBorderColor( R, G, B : number )
GetStatisticValue( ItemName, ValueId : string; &Value : number; &Result : boolean )
Dostupné statistické hodnoty pro parametr ValueId:
ShowStatisticValue( ValueId : string )
HideStatisticValue( ValueId : string )
SetSheetColor( Color : number )
SetSheetColor( R, G, B : number )
SetLineColor( Color : number )
SetLineColor( R, G, B : number )
SetValueColor( Color : number )
SetValueColor( R, G, B : number )
SetPaperOrientation( Landscape : boolean )
SetGraphPrintSize( Width, Depth : real; Inch : boolean )
Hide()
Show()
Print()
NewRect( x, y, w, d : number )
ShowSettingsBox()
Událostní procedury přístroje
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 )
OnWindowClose()