O společnostiProduktyObchodPodpora
Moravské přístroje
Hlavní stránka
O společnosti
Stažení software
Stažení dokumentů
Produkty
Control Web
Strojové vidění VisionLab
Kamery DataCam a osvětlovače DataLight
Průmyslový počítačový systém DataLab
Vědecké kamery
Speciální technika
Ceník
Aktivace produktů
Služby
Školení
Zakázková řešení
Podpora
Volba kamery a objektivu pro Strojové vidění
Control Web - Ukázkové aplikace

Hlavní stránkaProduktyProgramový systém Control WebPředchozí verze systému Control Web

Control Web 5 Service Pack 3
Service Pack 3 pro Control Web nejen opravuje problémy nalezené v systému Control Web, ale přidává řadu významných rozšíření a vylepšení. Service Pack 3 lze stáhnout ze sekce Stažení software nebo můžete objednat CD-ROM se Service Pack 3 za režijní cenu.

Opravy chyb

  • Virtuální přístroje gl_pump, gl_mixer, gl_gauge a gl_ventilator při zadání blink_rate hlásily neznámý identifikátor a neumožňovaly definovat blink_color.

  • V datově řízených aplikacích byly odstraněny chyby, které mohly způsobit, že se aplikace nerozběhla, zastavila při běhu, nebo že neaktivovala po změně dat přístroje.

  • V datově řízených aplikacích byla odstraněna chyba, která způsobila, že aktivace přístrojů sledovaly i změny lokálních datových elementů (tj. elementů definovaných v procedurách a přístrojích).

  • V datově řízených aplikacích byla odstraněna chyba, který způsobila, že se v některých případech nečetly z ovladačů kanály.

  • Ve vývojovém prostředí byla opravena chyba, která způsobila pád po přejmenování panelu, pokud již jiný panel s tímto jménem v aplikaci existoval.

  • Při přerušované komunikaci procedur se mohlo stát, že Control Web čekal na dokončení komunikace, i když žádná komunikace nebyla rozpracována.

  • Přístroj pid_regulator při použití parametru condition nepracoval.

  • Při zápisu do obousměrných kanálů se do zapsaná hodnota nemusela zapsat ovladače, ovladač mohl získat předešlou zapisovanou hodnotu.

  • Atribut send_same_data zapsaný v datové sekci neovlivnil chování elementů.

  • V přístroji data_viewer byly opraveny chyby při výpočtu y-souřadnic grafu a zobrazování popisů os při určitém poměru plochy os a plochy grafu.

  • Dovezené (klientské) sekce se sledovanými elementy nevolaly událostní procedury spojené s aktivitou mezí (On*Limit, ...).

  • Bylo odstraněno několik chyb, které po rozpadu spojení neumožnily klientu opakovaně navázat spojení se serverem.

  • V přístroji draw mohlo při vkládání určitých kreseb s procedurami do knihovny k pádu systému.

  • Dovezené sekce se sledovanými elementy nezobrazovaly a neposkytovaly správné jméno operátora, atribut alarm_head a atribut warning_head.

  • Datové elementy bez definované barvy (atribut color) se v dovezených sekcích chovají, jakoby měly zadánu barvu black.

  • Byly opraveny chyby vykreslování přístroje listbox zařazeného do panelu v módech off_screen a window_less.

  • Při vložení přístroje gl_panel do přístroje gl_scene ve vývojovém prostředí může dojít k pádu.

  • Místně dovážená sekce sledovaných elementů chybně potvrzuje sledované události.

  • Nativní procedury přístroje sql rozběhnuté v asynchronním režimu mohly ve vývojové verzi způsobit pád systému.

  • Při zastavení klientského modulu mohlo dojít k pádu serverového modulu.

  • Dovezené sekce se sledovanými elementy chybně při větším počtu elementů míchaly události mezí mezi elementy.

  • Byly odstraněny chyby, které v přístroji data_viewer mohly zamezit zobrazování historických dat dovezených datových sekcí.

Úpravy chování

Mimo označené body SP3 nezpůsobuje žádnou změnu chování aplikačních programů.

  • V SP2 byla pro 3D virtuální přístroje přidána událostní procedura On3DMouseClick( GroupName : string ), která je vyvolána při kliku levým tlačítkem myši na dotyčný přístroj. Ve svém parametru GroupName procedura poskytuje jméno skupiny, na kterou kliknutí mířilo. Tato procedura je (v případě, že se kliknutí trefilo na nějaký přístroj) zavolána také mateřské 3D scéně. Mechanismus je nyní rozšířen tak, že v parametru procedury zavolané 3D scéně je předáno jméno klikem zasaženého přístroje a v parametru procedury zavolané dotyčnému přístroji je naplněno jméno zasažené skupiny uvnitř tohoto virtuálního přístroje.

  • Průvodce novou aplikací nyní již pro inicializační kód nevytváří zvláštní startup program, ale využívá proceduru OnStartup hlavního panelu.

  • Na grafických kartách NVidia (a asi i na nových ATI) se objevovaly problémy s velmi pomalým výběrem skupiny po kliku myší. Tyto potíže byly ošetřeny a výběr většinou funguje o poznání rychleji.

  • Číselné meze u sledovaných datových elementů jsou nyní vyhodnocovány neostře: mez o hodnotě 50 je nyní aktivní již při hodnotě elementu 50. Původní chování mezí vyžadovalo překročení nebo podkročení hodnoty meze.

  • Nativní procedura datových sekcí archive Archive(*) byla upravena tak, aby došlo k vyhodnocení výrazu elementu i při volání této procedury (a ne pouze v rytmu aktivací elementu).

Rozšíření

  • U virtuálního přistroje switch_label byla doplněna možnost samostatného zadávání barvy inkoustu a papíru pro každou položku.

  • Do datových sekcí schedule, archive, alarm a alarm_and_archive přibyl atribut (výraz) condition, který je vždy před akcemi elementů vypočten a podle výsledku tohoto výpočtu pak datové elementy vykonají, nebo nevykonají svou činnost. Není-li atribut condition zapsán, elementy svou vykonávají (to je počáteční stav).

    V datových sekcích alarm_and_archive navíc přibyl atribut archive_condition, který ovlivňuje pouze archivování hodnot elementů — sledování tímto atributem není dotčeno.

  • Do datových sekcí alarm a alarm_and_archive přibyla nativní procedura EvaluateAlarms(*), která umožňuje asynchronně vyhodnotit sledované meze elementů.

Rozšíření 3D vykreslovacího systému

Do 3D vykreslovacího systému bylo doplněno několik drobností, které byly inspirovány tvorbou reálných vizualizačních aplikací:

  • Do virtuálního přístroje gl_model byla přidána schopnost načítání 3D modelů ve formátu Autodesk '*.DXF'.

    Poznámka:

    Z DXF souboru jsou načítány veškeré použitelné entity ze sekcí 3DFACE a POLYFACE. Pro načtené povrchy jsou uměle vytvořeny patřičné skupiny, aby s modelem bylo možné v aplikaci dále neomezeně manipulovat. Povrchy 3DFACE jsou shromážděny do skupin pojmenovaných podle jmen vrstev, ve kterých se tyto povrchy nacházení. Pro každý POLYFACE mesh je vytvořena vlastní skupina. V DXF souborech jsou časté duplicitně nebo i mnohonásobně zadané shodné vertexy. Po načtení jsou proto v modelu shodné vertexy filtrovány (jsou "svařeny" do jednoho sdíleného vertexu) a dotýkající se povrchy jsou správně napojeny na shodné sdílené vertexy. Toto je podstatné nejen pro algoritmy detekce hran při vrhání prostorových stínů, ale obecně pro úspory paměti a zrychlení vykreslování. Pro každou skupinu je automaticky vytvořen také patřičný materiál.

  • 3D přístrojům přibyly parametry runtime_selection_mode, instrument_selection_mode, group_selection_mode:

    ParametrVýznam
    runtime_selection_mode

    specifikace způsobu hledání místa ve scéně, do kterého směřovalo kliknutí levým tlačítkem myši. Mechanismus výběru za běhu je využíván pouze tehdy, jsou-li ve scéně takové virtuální přístroje, které reagují na kliky myší za běhu aplikačního programu (např. 3D knoflík, vodní hladina atd.). Během editace nebo při nepřítomnosti dotyčných přístrojů ve scéně nejsou mechanismy hledání za běhu aktivovány.

    instrument_selection_mode

    specifikace způsobu hledání místa ve scéně, do kterého směřovalo kliknutí levým tlačítkem myši. Mechanismus výběru přístroje je využívám pouze během editace scény.

    group_selection_mode

    specifikace způsobu hledání místa ve scéně, do kterého směřovalo kliknutí levým tlačítkem myši. Mechanismus výběru skupiny je využíván během editace scény i za běhu aplikačního programu. Pro aktivaci hledacích mechanismů za běhu aplikace je třeba zapnout parametr solve_mouse_clicks ve scéně. Pak jsou zasaženým přístrojům i scéně volány událostní procedury On3DMouseClick( GroupName : string ).

    Parametry mohou nabývat jedné ze tří hodnot:

    HodnotaVýznam
    normal

    při hledání míst zasažených kliknutím myší jsou testovány veškeré povrchy ve všech viditelných skupinách virtuálního přístroje

    bounding_box

    při hledání míst zasažených kliknutím myší jsou testovány pouze povrchy okrajových krychlí všech viditelných skupin virtuálního přístroje. U složitých modelů je tak dosaženo dramatického zrychlení výběrového mechanismu.

    Poznámka:

    Ne všechny skupiny ve všech virtuálních přístrojích tento způsob výběru podporují. V některých případech by nahrazení skutečné geometrie povrchů okrajovou krychlí mohlo zkreslit „vzdušnou“ strukturu přístroje a někdy by dokonce vykreslování okrajové krychle bylo pomalejší než normální vykreslení (např. u přístroje gl_poster a podobných). Okrajové krychle jsou v tomto módu s velkou pravděpodobností automaticky použity všude tam, kde je to vzhledem ke struktuře geometrie povrchů vhodné.

    skip

    povrchy přístroje jsou v výběrových mechanismů vyřazeny a skupiny takového virtuálního přístroje jsou pro kliky myší „průhledné“. Zrychlení je sice maximální, ale je nutno si promyslet případná rizika „prokliknutí“ do nižších vrstev struktury scény.

    Upozornění:

    Tyto parametry můžeme nastavovat u jednotlivých přístrojů ve scéně nebo je můžeme nastavit i samotné scéně. V tomto případě se bude vybírací mechanismus chovat tak, jako by byl zvolený vybírací mód nastaven všem přístrojům ve scéně. Tyto parametry lze nastavit samostatně i jednotlivým skupinám uvnitř virtuálního přístroje (uvnitř sekce group .. end_group). Nastavení skupiny má vždy přednost před nastavením v rámci virtuálního přístroje.

  • 3D přístrojům přibyl parametr bounding_box_mode, specifikace druhu okrajové krychle,

    parametr může nabývat tří hodnot:

    HodnotaVýznam
    oriented

    okrajová krychle je vytvořena v závislosti na rozložení vertexů skupiny v prostoru tak, aby byly povrchy skupiny krychlí co nejtěsněji obaleny

    orientovaný okrajový kvádr

    Upozornění:

    Výpočet se nemusí pro veškerá rozložení vertexů v prostoru vždy podařit (výpočet může narazit na řadu nestabilit matematického algoritmu způsobenými převážně omezenou přesností výpočtů). V takovýchto případech je použit osově přilehlý okrajový kvádr, který se musí podařit vytvořit vždy.

    axis_aligned

    okrajová krychle je orientována podle os souřadného systému virtuálního přístroje

    osově přilehlý okrajový kvádr

    Tento parametr lze nastavit samostatně i jednotlivým skupinám uvnitř virtuálního přístroje (uvnitř sekce group .. end_group). Nastavení skupiny má vždy přednost před nastavením v rámci virtuálního přístroje.
  • Přibyl nový virtuální přístroj gl_tree jako rychlý a přitom vizuálně přijatelný model stromu

    model stromu s prostorovým stínem

    Poznámka:

    Praxe ukazuje, že stromy jsou při vizualizacích docela často používány. Zdálo by se, že stromy nemohou představovat žádný problém, na internetu je volně k dispozici spousta modelů stromů a rostlin a dokonce existují i programy pro generování takových modelů. Potíž je ale v tom, že modely buď mají přijatelný počet povrchů a jsou nehezké, nebo jsou hezké, ale pak mají příliš mnoho tisíc povrchů (nebo často mají mnoho povrchů a přitom jsou stále hodně nehezké :-)). Většinou také modely stromů nemají uzavřené povrchy a nejsou schopny rychlé tvorby siluet pro prostorové stíny. Proto doplněný model stromu sestává pouze z několika mála povrchů a navíc je schopen vrhat rychlý prostorový stín.

 
 | O společnosti | Produkty | Podpora | Stažení software | Stažení dokumentů | 
Moravské přístroje, a.s., Masarykova 1148, Zlín-Malenovice, 76302