GRAFICKÉ PROGRAMOVÁNÍ VE VÝVOJOVÉM PROSTŘEDÍ LabVIEW Výuková skripta Doc. Ing. Jan Žídek, CSc. Ostrava, říjen 2002 Doc. Ing. Jan Žídek, CSc. 1-1
OBSAH OBSAH... 1-2 Seznam obrázků... 1-7 1. Základní principy virtuální instrumentace... 1-10 1.1. Úvod... 1-10 1.2. Vývoj měřicí techniky... 1-10 1.3. Měřicí přístroje z období klasické instrumentace... 1-11 1.4. Měřicí přístroje vybavené komunikačním rozhraním... 1-11 1.4.1. Měřicí přístroje s komunikačním rozhraním RS-232... 1-11 1.4.2. Měřicí přístroje s komunikačním rozhraním GPIB... 1-12 1.4.3. Měřicí přístroje s komunikačním rozhraním Ethernet... 1-12 1.5. Fáze virtuální instrumentace... 1-13 1.6. Srovnání klasické a virtuální instrumentace... 1-15 1.7. Proces měření a jeho fáze... 1-16 1.8. Systémová integrace... 1-18 2. Úvod do vývojového prostředí LabVIEW... 2-21 2.1. Filosofie a součásti vývojového systému LabVIEW... 2-21 2.2. Základní části virtuálního přístroje... 2-22 2.2.1. Čelní panel... 2-22 2.2.2. Blokové schéma... 2-24 2.2.3. Ikona a konektor... 2-26 2.3. Popis prostředí LabVIEW... 2-26 2.3.1. Roletová menu... 2-28 2.3.2. Paletové menu s objekty čelního panelu... 2-38 2.3.3. Položky menu pro práci s textem... 2-39 2.3.4. Nástroje pro zarovnávání a volbu rozestupů... 2-40 2.4. Nástroje pro práci ve vývojovém prostředí LabVIEW... 2-40 3. Cesty vedoucí k snadnému zvládnutí vývojového prostředí LabVIEW... 3-43 3.1. Tutoriál... 3-43 3.2. Dokumentace v elektronické podobě... 3-43 3.3. Interaktivní kurz LabVIEW... 3-45 3.4. Příklady obsahující řešení standardních situací... 3-46 3.5. Standardní nápověda... 3-48 3.6. Generátory standardních řešení... 3-48 4. Ladicí prostředky... 4-50 4.1. Krokování běhu virtuálního přístroje... 4-51 4.2. Vizualizace toku dat... 4-51 4.3. Užití sond... 4-52 Doc. Ing. Jan Žídek, CSc. 1-2
4.4. Nasazování bodu přerušení... 4-53 5. Prvky čelního panelu... 5-55 5.1. Typy prvků čelního panelu... 5-55 5.2. Volba a umístění prvku... 5-56 5.3. Roletové menu prvku... 5-57 5.4. Zobrazitelné části prvku čelního panelu... 5-58 5.5. Reprezentace proměnné v paměti počítače... 5-58 5.6. Volba rozsahu hodnot... 5-59 5.7. Volba formátu a přesnosti... 5-60 5.8. Práce s fyzikálními jednotkami... 5-60 5.9. Další prvky typu Numeric... 5-61 5.10. Prvky Numeric pro práci s barvou... 5-63 5.11. Prvky typu Boolean... 5-63 5.12. Prvky pro práci s textem... 5-64 5.13. Výběrové prvky List & Table... 5-65 5.14. Datová struktura pole... 5-66 5.15. Datová struktura Cluster... 5-67 6. Knihovní funkce LabVIEW... 6-69 6.1. Základní členění... 6-69 6.2. Programové struktury... 6-71 6.3. Lokální proměnné... 6-73 6.4. Globální proměnné... 6-75 6.5. Konstanty... 6-76 6.6. Numerické funkce... 6-78 6.7. Nápověda k funkcím... 6-78 6.8. Polymorfismus funkcí... 6-79 6.9. Úprava počtu vstupních parametrů funkce... 6-80 6.10. Úprava typu vstupních parametrů... 6-81 6.11. Vypínání indexace ve vstupním parametru... 6-82 7. Struktura událostmi řízené aplikace v LabVIEW... 7-83 7.1. Analýza požadavků koncového uživatele... 7-83 7.1.1. Návrh grafických rozhraní k uživateli... 7-83 7.1.2. Základní struktura aplikace... 7-83 7.1.3. Sdílená datová oblast... 7-86 7.1.4. Volby pro běh virtuálního přístroje... 7-89 8. Ikona, konektor, volby pro běh virtuálního přístroje... 8-90 8.1. Konektor virtuálního přístroje... 8-91 8.2. Možnosti nastavení efektů pro mód běhu programu virtuálního přístroje... 8-92 8.3. Synchronní, asynchronní a reentrantní provádění bloků aplikace... 8-98 Doc. Ing. Jan Žídek, CSc. 1-3
8.3.1. Asynchronní provádění bloků aplikace... 8-98 8.3.2. Synchronní bloky... 8-98 8.3.3. Priorita... 8-98 8.3.4. Reentrantní provádění bloků... 8-99 8.3.5. Řízení několika identických přístrojů pomocí obslužného programu... 8-99 8.3.6. VI, který čeká specifikovaný časový interval... 8-101 8.3.7. Použití dat, která nemohou být sdílena... 8-101 9. Práce s grafy... 9-103 9.1. Základní pojmy... 9-103 9.1.1. Rozdělení grafů... 9-103 9.2. Datové struktury pro indikátory grafů... 9-104 9.3. Registrační grafy (Waveform chart)... 9-104 9.3.1. Registrační graf zobrazující jeden průběh... 9-105 9.3.2. Registrační graf zobrazující více průběhů... 9-106 9.3.3. Volitelné části indikátorů registračních grafů:... 9-107 9.3.4. Operace s daty v registračních grafech... 9-108 9.3.5. Další položky roletového menu pro práci s registračními grafy... 9-109 9.3.6. Volby dosažitelné přes roletové menu v legendě registračního grafu... 9-110 9.4. Statické grafy (GRAPHS)... 9-111 9.4.1. Časové statické grafy zobrazující jeden průběh... 9-112 9.4.2. Kartézské statické grafy zobrazující jeden průběh... 9-113 9.4.3. Statické časové grafy zobrazující více průběhů... 9-115 9.4.4. Statické kartézské grafy zobrazující více průběhů... 9-116 9.4.5. Volitelné části indikátorů statických grafů:... 9-117 9.4.6. Operace s daty ve statických grafech... 9-118 9.4.7. Další položky roletového menu pro práci s registračními grafy... 9-119 9.4.8. Volby dosažitelné přes roletové menu v legendě statického grafu... 9-120 9.4.9. Kurzory... 9-121 9.4.10. Paleta nástrojů pro práci s grafy... 9-122 10. Pravidla multitaskingu v LabVIEW... 10-124 10.1. Základní filozofie... 10-124 10.2. Multitasking a multithreading v programovacím jazyku G... 10-124 10.2.1. Základní multitasking v aplikaci vytvořené ve vývojovém prostředí LabVIEW. 10-124 10.2.2. Funkce čekání... 10-126 10.2.3. Priorita VI... 10-128 10.2.4. Priorita Subroutine... 10-129 10.3. Multithreading... 10-129 10.4. Mechanické akce na prvcích typu Boolean... 10-130 11. Synchronizační mechanismy v LabVIEW... 11-132 Doc. Ing. Jan Žídek, CSc. 1-4
11.1. Základní filozofie... 11-132 11.2. Sekvenční provádění částí aplikace... 11-132 11.2.1. Programová struktura sekvence... 11-132 11.2.2. Umělá datová závislost... 11-133 11.3. Synchronizační mechanismy... 11-134 11.3.1. Occurrence - událost... 11-136 11.3.2. Semafor... 11-137 11.3.3. Rendezvous - setkání... 11-139 11.3.4. Notification - oznámení... 11-141 11.3.5. Queue fronta... 11-144 12. Práce se soubory v LabVIEW... 12-146 12.1. Rychlé ukládání... 12-146 12.2. Interaktivní prohlídka dat z rychlého ukládání... 12-147 12.3. Programová prohlídka dat z rychlého ukládání... 12-148 12.4. Struktura nabídky funkcí pro práci se soubory... 12-150 12.5. Komplexní funkce pro práci se soubory... 12-152 12.5.1. Funkce pro zápis a čtení do textového souboru ve formátu tabulkového procesoru 12-154 12.5.2. Ukládání textu do textového pole... 12-156 12.6. Zápis a čtení číselných polí do binárních souborů... 12-158 12.7. Elementární funkce pro práci se soubory... 12-159 12.8. Soubory typu Byte stream a Datalog... 12-159 12.9. Průběžné proměnné... 12-161 12.10. Absolutní a relativní cesta k souboru... 12-162 13. SW podpora zásuvných multifunkčních karet v LabVIEW... 13-163 13.1. Konfigurace a první test systému se zásuvnou multifunkční kartou... 13-163 13.2. Organizace knihovny Data Acquisition v systému LabVIEW a kde začít... 13-169 13.3. Funkce vyšší úrovně - Easy I/O... 13-175 13.3.1. Obecná pravidla:... 13-175 13.3.2. Parametry nastavitelné pro kartu LabPC... 13-175 13.4. Analogový vstup... 13-176 13.5. Analogový výstup... 13-178 13.6. Digitální vstup a výstup... 13-179 13.7. Příklad použití funkce z úrovně Easy I/O... 13-182 13.8. Intermediate VIs... 13-183 13.8.1. Ošetření chyb ve VI úrovně Intermediate... 13-183 13.9. Asynchonní funkce sběru dat využívající dvojité vyrovnávací paměti... 13-183 14. Uzly vlastností... 14-186 14.1. Vlastnosti prvku Numeric... 14-188 Doc. Ing. Jan Žídek, CSc. 1-5
14.2. Vlastnosti indikátoru grafu... 14-190 14.3. Ukázka použití uzlů vlastností... 14-191 15. Komunikace s měřicími přístroji... 15-195 15.1. Obslužné programy pro měřicí přístroje... 15-196 15.2. Použití funkcí z obslužného programu... 15-199 15.3. Vytvoření vlastního obslužného programu pro měřicí přístroj... 15-201 15.4. Softwarová podpora sériového rozhraní... 15-204 16. Rozšířená knihovna analýz... 16-205 16.1. Generování signálu... 16-206 16.2. Funkce pro zpracování měřených signálů... 16-208 17. Distribuce aplikací vytvořených v LabVIEW... 17-212 Doc. Ing. Jan Žídek, CSc. 1-6
SEZNAM OBRÁZKŮ OBR. 1.: VÝVOJ MĚŘICÍ TECHNIKY V ČASE Z HLEDISKA NARŮSTAJÍCÍ FLEXIBILITY... 1-10 OBR. 2.: PŘÍKLAD GRAFICKÉHO ROZHRANÍ ČELNÍHO PANELU VIRTUÁLNÍHO PŘÍSTROJE... 1-14 OBR. 3.: NAZNAČENÍ FYZICKÉ PODOBY VXI MĚŘICÍHO SYSTÉMU... 1-15 OBR. 4.: KOMPONENTY MĚŘICÍHO ŘETĚZCE PRO VYTVOŘENÍ VIRTUÁLNÍHO MĚŘICÍHO SYSTÉMU... 1-19 OBR. 5.: ČELNÍ PANEL VIRTUÁLNÍHO PŘÍSTROJE... 2-22 OBR. 6.: PALETOVÉ MENU PRVKŮ ČELNÍHO PANELU... 2-23 OBR. 7.: PALETOVÉ MENU FUNKCÍ A STRUKTUR BLOKOVÉHO DIAGRAMU... 2-24 OBR. 8.: PŘÍKLAD BLOKOVÉHO DIAGRAMU VIRTUÁLNÍHO PŘÍSTROJE... 2-25 OBR. 9.: MÍSTO PRO IKONU A KONEKTOR VIRTUÁLNÍHO PŘÍSTROJE... 2-26 OBR. 10.: SKUPINA APLIKACÍ PRO SPOUŠTĚNÍ VÝVOJOVÉHO SYSTÉMU LABVIEW... 2-27 OBR. 11.: OKNO VÝBĚRU AKCE PO SPUŠTĚNÍ VÝVOJOVÉHO PROSTŘEDÍ LABVIEW... 2-28 OBR. 12.: DIALOGOVÉ OKNO PRO VYTVOŘENÍ NOVÉHO OBJEKTU... 2-29 OBR. 13.: PALETOVÁ NABÍDKA PRVKŮ ČELNÍHO PANELU... 2-38 OBR. 14.: PALETOVÁ NABÍDKA NÁSTROJŮ... 2-41 OBR. 15.: VÝVOJ MĚŘICÍ TECHNIKY V ČASE Z HLEDISKA NARŮSTAJÍCÍ FLEXIBILITY... 3-43 OBR. 16.: OKNO ACROBAT READERU PRO PROCHÁZENÍ MANUÁLŮ V ELEKTRONICKÉ PODOBĚ.... 3-44 OBR. 17.: OKNO ACROBAT READERU PRO VÝBĚR MANUÁLU.... 3-45 OBR. 18.: VSTUP DO INTERAKTIVNÉHO KURZU LABVIEW... 3-46 OBR. 19.: ZÁKLADNÍ ÚROVEŇ VÝBĚRU ŘEŠENÝCH PŘÍKLADŮ... 3-47 OBR. 20.: STRUKTUROVANÝ SEZNAM ŘEŠENÝCH PŘÍKLADŮ V LABVIEW... 3-47 OBR. 21.: POMOCNÉ OKNO INTERAKTIVNÍ NÁPOVĚDY.... 3-48 OBR. 22.: DIALOGOVÉ OKNO GENERÁTORU HOTOVÝCH ŘEŠENÍ... 3-48 OBR. 23.: ČELNÍ PANEL VYGENEROVANÉHO OSCILOSKOPU.... 3-49 OBR. 24.: ČÁST BLOKOVÉHO DIAGRAMU AUTOMATICKY VYGENEROVANÉHO OSCILOSKOPU... 3-49 OBR. 25.: OKNO SEZNAMU SYNTAKTICKÝCH CHYB... 4-50 OBR. 26.: NÁSTROJE PRO KROKOVÁNÍ BĚHU VI... 4-51 OBR. 27.: BĚH VI SE ZAPNUTOU VIZUALIZACÍ... 4-52 OBR. 28.: NASAZENÍ SONDY DO BLOKOVÉHO DIAGRAMU... 4-53 OBR. 29.: NASAZOVÁNÍ BODU PŘERUŠENÍ... 4-54 OBR. 30.: PALETOVÁ NABÍDKA PRVKŮ ČELNÍHO PANELU... 5-55 OBR. 31.: ROLETOVÉ MENU PRVKU TYPU NUMERIC... 5-57 OBR. 32.: REPREZENTACE PROMĚNNÉ V PAMĚTI POČÍTAČE... 5-59 OBR. 33.: OMEZENÍ DOVOLENÉHO ROZSAHU VKLÁDANÝCH ČÍSEL... 5-60 OBR. 34.: DIALOGOVÉ OKNO VOLBY FYZIKÁLNÍ JEDNOTKY... 5-61 OBR. 35.: JEDNA Z GRAFICKÝCH PODOB TAHOVÉHO POTENCIOMETRU... 5-62 OBR. 36.: ZÁKLADNÍ PALETOVÁ NABÍDKA PRVKŮ BOOLEAN... 5-63 OBR. 37.: PŘÍKLAD VYSVĚTLUJÍCÍ MECHANICKÉ AKCE NA PRVCÍCH TYPU BOOLEAN.... 5-64 OBR. 38.: PALETOVÉ MENU PRVKŮ PRO PRÁCI S TEXTEM... 5-64 OBR. 39.: PALETOVÉ MENU PRVKŮ VÝBĚRU... 5-65 OBR. 40.: PALETOVÉ MENU PRO VOLBU DATOVÉ STRUKTURY POLE... 5-66 OBR. 41.: GRAFICKÁ PODOBA PRVKU PRO JEDNOROZMĚRNÉ POLE PRVKŮ TYPU NUMERIC... 5-67 OBR. 42.: RÁMEC DATOVÉ STRUKTURY CLUSTERU... 5-67 OBR. 43.: ZÁKLADNÍ PODOBA PALETOVÉ NABÍDKY FUNKCÍ... 6-70 OBR. 44.: GRAFICKÁ PODOBA PROGRAMOVÝCH STRUKTUR VE VÝVOJOVÉM PROSTŘEDÍ LABVIEW... 6-71 OBR. 45.: POUŽITÍ LOKÁLNÍ PROMĚNNÉ PRO PŘÍSTUP K TÉŽE PROMĚNNÉ Z VÍCE MÍST BLOKOVÉHO DIAGRAMU... 6-74 OBR. 46.: POUŽITÍ LOKÁLNÍ PROMĚNNÉ PŘI POTŘEBĚ PROGRAMOVÉHO ZÁPISU DO OVLÁDACÍHO PRVKU... 6-74 OBR. 47.: ROLETOVÉ MENU LOKÁLNÍ PROMĚNNÉ... 6-74 OBR. 48.: ZMĚNA REPREZENTACE DATOVÉHO TYPU U ČÍSELNÉ KONSTANTY... 6-76 OBR. 49.: DALŠÍ ČÍSELNÉ KONSTANTY... 6-77 OBR. 50.: VYTVOŘENÍ KONSTANTY PŘIPOJENÉ KE VSTUPNÍMU PINU FUNKCE... 6-78 OBR. 51.: NUMERICKÉ FUNKCE... 6-78 OBR. 52.: ZÁKLADNÍ NÁPOVĚDA K FUNKCI... 6-79 OBR. 53.: ZVĚTŠENÍ POČTU VSTUPNÍCH PARAMETRŮ FUNKCE POUŽITÍM ROLETOVÉHO MENU... 6-80 OBR. 54.: ZVĚTŠENÍ POČTU VSTUPNÍCH PARAMETRŮ FUNKCE ROZTAŽENÍM JEJÍ IKONKY... 6-80 OBR. 55.: NĚKTERÉ MOŽNÉ KOMBINACE TYPU VSTUPNÍCH PARAMETRŮ U FUNKCE BUILD ARRAY... 6-81 OBR. 56.: VYPNUTÍ INDEXACE VE VSTUPNÍM PARAMETRU FUNKCE INDEX ARRAY... 6-82 OBR. 57.: STRUKTURA UDÁLOSTMI ŘÍZENÉ APLIKACE... 7-83 OBR. 58.: ČELNÍ PANEL HLAVNÍHO VI V HIERARCHII... 7-84 OBR. 59.: PRVNÍ VARIANTA BLOKOVÉHO DIAGRAMU... 7-84 OBR. 60.: MODIFIKOVANÁ PODOBA ČELNÍHO PANELU... 7-85 OBR. 61.: MODIFIKOVANÁ PODOBA BLOKOVÉHO DIAGRAMU HLAVNÍHO VI V HIERARCHII... 7-86 OBR. 62.: VYTVOŘENÍ GLOBÁLNÍ PROMĚNNÉ... 7-87 OBR. 63.: ČELNÍ PANEL GLOBÁLNÍ PROMĚNNÉ SDÍLENÉ PAMĚŤOVÉ OBLASTI... 7-88 OBR. 64.: POUŽITÍ GLOBÁLNÍ PROMĚNNÉ JAKO SDÍLENÉ DATOVÉ OBLASTI... 7-88 OBR. 65.: MÍSTO PRO EDITACI IKONY, KONEKTORU A NASTAVENÍ VOLEB PRO BĚH VI... 8-90 OBR. 66.: GRAFICKÝ EDITOR PRO ÚPRAVU A VYTVOŘENÍ IKONY VIRTUÁLNÍHO PŘÍSTROJE... 8-90 OBR. 67.: DIALOGOVÉ OKNO PRO VÝBĚR NASTAVENÍ CHOVÁNÍ VI... 8-92 OBR. 68.: VOLBY PRO NASTAVENÍ CUSTOM... 8-94 OBR. 69.: VOLBY PRO BĚH VI VYVOLANÉ Z ROLETOVÉHO MENU NA IKONCE VI V NADŘAZENÉ VRSTVĚ HIERARCHIE... 8-97 OBR. 70.: OKNO PRO VYTVÁŘENÍ HISTORIE VÝVOJE DANÉHO VI... 8-97 OBR. 71.: ŘÍZENÍ DIGITÁLNÍHO VOLTMETRU Z APLIKACE... 8-99 Doc. Ing. Jan Žídek, CSc. 1-7
OBR. 72.: SÉRIOVÁ OBSLUHA DVOU DIGITÁLNÍCH VOLTMETRŮ V ČASE... 8-100 OBR. 73.: PARALELNÍ VYUŽITÍ JEDNOHO OBSLUŽNÉHO PROGRAMU S VYUŽITÍM REENTRANTNOSTI SPOUŠTĚNÍ VI... 8-100 OBR. 74.: VI, KTERÝ ČEKÁ SPECIFIKOVANÝ INTERVAL... 8-101 OBR. 75.: VÍCENÁSOBNÉ POUŽITÍ VI, KTERÝ ČEKÁ SPECIFIKOVANÝ ČASOVÝ INTERVAL... 8-101 OBR. 76.: VI PRO VÝPOČET PRŮMĚRU TŘÍ ČÍSEL... 8-102 OBR. 77.: VÍCENÁSOBNÉ POUŽITÍ VI PRO PRŮMĚROVÁNÍ TŘÍ ČÍSEL... 8-102 OBR. 78.: PALETOVÁ NABÍDKA VOLBY DRUHU GRAFU... 9-103 OBR. 79.: ZÁKLADNÍ PODOBA REGISTRAČNÍHO GRAFU... 9-104 OBR. 80.: VOLBA HLOUBKY VYROVNÁVACÍ PAMĚTI PRO ZAPAMATOVÁNÍ ČÁSTI DAT REGISTRAČNÍHO GRAFU... 9-105 OBR. 81.: UKÁZKA POUŽITÍ REGISTRAČNÍHO GRAFU PRO JEDEN PRŮBĚH... 9-106 OBR. 82.: DÁVKOVÁ AKTUALIZACE REGISTRAČNÍHO GRAFU PO DESETI BODECH... 9-106 OBR. 83.: ZOBRAZENÍ VÍCE PRŮBĚHŮ V REGISTRAČNÍM GRAFU... 9-107 OBR. 84.: UKÁZKA VOLITELNÝCH ČÁSTÍ GRAFU... 9-108 OBR. 85.: OPERACE S DATY PROSTŘEDNICTVÍM ROLETOVÉHO MENU... 9-109 OBR. 86.: POLOŽKY ROLETOVÉHO MENU PRO POPIS OSY X... 9-110 OBR. 87.: POLOŽKY ROLETOVÉHO MENU LEGENDY REGISTRAČNÍHO GRAFU... 9-111 OBR. 88.: STANDARDNÍ PODOBA STATICKÉHO GRAFU... 9-112 OBR. 89.: PROGRAMOVÉ VYTVOŘENÍ POLE PRO ZOBRAZENÍ VE STATICKÉM GRAFU (PŘEDPOKLAD X0=0, DX=1)... 9-113 OBR. 90.: PROGRAMOVÉ VYTVOŘENÍ DAT PRO STATICKÝ GRAF X0=5, DX=3... 9-113 OBR. 91.: STATICKÝ KARTÉZSKÝ GRAF Z POLÍ HODNOT X A Y... 9-114 OBR. 92.: STATICKÝ KARTÉZSKÝ GRAF Z POLE CLUSTERŮ OBSAHUJÍCÍCH X A Y SOUŘADNICI... 9-114 OBR. 93.: DVA PRŮBĚHY VE STATICKÉM ČASOVÉM GRAFU... 9-116 OBR. 94.: DVA PRŮBĚHY V KARTÉZSKÉM STATICKÉM GRAFU... 9-116 OBR. 95.: ČÁSTI STATICKÉHO GRAFU... 9-117 OBR. 96.: OPERACE S DATY VE STATICKÉM GRAFU... 9-119 OBR. 97.: VOLBY PRO OSU X VE STATICKÉM GRAFU... 9-120 OBR. 98.: KURZOROVÝ DISPLAY STATICKÉHO GRAFU... 9-121 OBR. 99.: PALETA NÁSTROJŮ PRO AKCE S GRAFEM... 9-122 OBR. 100.: FORMÁT POPISU OS... 9-122 OBR. 101.: VARIANTY PRO ZOOMING GRAFU... 9-122 OBR. 102.: FRONTA AKTIVNÍCH ÚLOH... 10-125 OBR. 103.: DVA PARALELNÍ DATOVĚ NEZÁVISLÉ CYKLY... 10-126 OBR. 104.: FRONTA AKTIVNÍCH A SPÍCÍCH ÚLOH... 10-127 OBR. 105.: VYUŽITÍ FUNKCE ČEKÁNÍ... 10-127 OBR. 106.: PŘIDĚLOVÁNÍ PRIORITY PROVÁDĚNÍ VI... 10-128 OBR. 107.: FRONTA AKTIVNÍCH ÚLOH PŘI RŮZNÝCH PRIORITÁCH VI... 10-128 OBR. 108.: PŘÍKLAD NA MECHANICKÉ AKCE PRVKU TYPU BOOLEAN... 10-131 OBR. 109.: PROGRAMOVÁ STRUKTURA SEKVENCE... 11-133 OBR. 110.: POUŽITÍ UMĚLÉ DATOVÉ ZÁVISLOSTI PRO ZAJIŠTĚNÍ SEKVENČNOSTI... 11-134 OBR. 111.: NESYNCHRONIZOVANÝ BĚH DVOU CYKLŮ... 11-135 OBR. 112.: SYNCHRONIZACE SEMAFOREM NA ÚROVNI KLASICKÝCH PROSTŘEDKŮ LABVIEW... 11-135 OBR. 113.: FUNKCE PRO OVLÁDÁNÍ UDÁLOSTI... 11-136 OBR. 114.: SYNCHRONIZACE DVOU CYKLŮ POMOCÍ OCCURRENCE... 11-136 OBR. 115.: UKÁZKA VYTVOŘENÍ SEMAFORU... 11-137 OBR. 116.: VI VYUŽÍVAJÍCÍ SEMAFORU PRO VSTUP DO KRITICKÉ SEKCE... 11-138 OBR. 117.: FUNKCE PRO PRÁCI SE SEMAFORY... 11-138 OBR. 118.: FUNKCE PRO PRÁCI SE SETKÁNÍMI... 11-139 OBR. 119.: ZŘÍZENÍ RENDEZVOUS... 11-139 OBR. 120.: ÚLOHA VYUŽÍVAJÍCÍ RENDEZVOUS... 11-140 OBR. 121.: VYTVOŘENÍ OZNÁMENÍ PRO SYNCHRONIZACI ÚLOH... 11-141 OBR. 122.: UKÁZKA ÚLOHY VYUŽÍVAJÍCÍ OZNÁMENÍ... 11-142 OBR. 123.: FUNKCE PRO PRÁCI S OZNÁMENÍMI... 11-142 OBR. 124.: ČELNÍ PANEL VIRTUÁLNÍHO PŘÍSTROJE VYUŽÍVAJÍCÍHO FRONTU... 11-144 OBR. 125.: FUNKCE PRO PRÁCI S FRONTOU... 11-144 OBR. 126.: BLOKOVÝ DIAGRAM VIRTUÁLNÍHO PŘÍSTROJE VYUŽÍVAJÍCÍHO FRONTU... 11-145 OBR. 127.: ZAPNUTÍ UKLÁDÁNÍ PO DOKONČENÍ BĚHU VI... 12-147 OBR. 128.: PROHLÍDKA DAT ULOŽENÝCH PŘI RYCHLÉM UKLÁDÁNÍ... 12-148 OBR. 129.: ROLETOVÉ MENU K POVOLENÍ DATABÁZOVÉHO PŘÍSTUPU... 12-149 OBR. 130.: ÚPRAVA BLOKOVÉHO DIAGRAMU PRO PROGRAMOVÉ VYČTENÍ DAT... 12-149 OBR. 131.: ČELNÍ PANEL VI PRO PROGRAMOVÉ VYČÍTÁNÍ DAT Z RYCHLÉHO UKLÁDÁNÍ... 12-150 OBR. 132.: PALETOVÁ NABÍDKA FUNKCÍ PRO PRÁCI SE SOUBORY... 12-151 OBR. 133.: TŘI FÁZE PRÁCE SE SOUBORY... 12-152 OBR. 134.: UKÁZKA OKNA NÁPOVĚDY PRO FUNKCI ZÁPIS ZNAKŮ DO TEXTOVÉHO SOUBORU... 12-152 OBR. 135.: FUNKCE PRO ZÁPIS DO SOUBORU S FORMÁTEM PRO IMPORT DO TABULKOVÉHO PROCESORU... 12-154 OBR. 136.: NEJJEDNODUŠŠÍ POUŽITÍ FUNKCE WRITE TO SPREADSHEET FILE... 12-154 OBR. 137.: FORMÁT ULOŽENÝCH DAT... 12-155 OBR. 138.: TATÁŽ DATA IMPORTOVANÁ DO EXCELLU... 12-155 OBR. 139.: FUNKCE PRO VYČTENÍ DAT Z TEXTOVÉHO SOUBORU FORMÁTU TABULKOVÉHO PROCESORU... 12-155 OBR. 140.: VYČTENÍ DAT DO DVOUROZMĚRNÉHO POLE... 12-156 OBR. 141.: FUNKCE PRO ZÁPIS TEXTU DO SOUBORU... 12-156 OBR. 142.: FUNKCE PRO ČTENÍ ZNAKŮ Z TEXTOVÉHO SOUBORU... 12-157 OBR. 143.: POSTUPNÉ VYČTENÍ TEXTOVÉHO SOUBORU PO ŘÁDCÍCH... 12-157 OBR. 144.: FUNKCE PRO ULOŽENÍ POLE HODNOT SGL REPREZENTACE DO BINÁRNÍHO SOUBORU... 12-158 OBR. 145.: FUNKCE PRO ČTENÍ 2D/1D POLE SGL HODNOT Z BINÁRNÍHO SOUBORU... 12-158 OBR. 146.: FUNKCE PRO KONVERZI DATOVÉHO TYPU NA A Z STRINGU... 12-160 Doc. Ing. Jan Žídek, CSc. 1-8
OBR. 147.: ZÁPIS DO DATALOG SOUBORU... 12-160 OBR. 148.: ČTENÍ Z DATALOG SOUBORU... 12-161 OBR. 149.: POUŽITÍ CHYBOVÉHO CLUSTERU... 12-161 OBR. 150.: CESTA K SOUBORU NEZÁVISLÁ NA JEHO ABSOLUTNÍM UMÍSTĚNÍ... 12-162 OBR. 151.: SPRÁVCE ZAŘÍZENÍ V OVLÁDACÍCH PANELECH... 13-164 OBR. 152.: NASTAVENÍ VLASTNOSTÍ PŘEVODNÍKOVÉ KARTY... 13-164 OBR. 153.: PROHLÍDKA POLOŽKY MEASUREMENT&AUTOMATION V PRŮZKUMNÍKOVI... 13-165 OBR. 154.: PROHLÍDKA POLOŽKY DEVICES AND INTERFACES V PRŮZKUMNÍKU... 13-166 OBR. 155.: PROHLÍDKA PŘIDĚLENÝCH SYSTÉMOVÝCH PROSTŘEDKŮ... 13-166 OBR. 156.: NASTAVENÍ VLASTNOSTÍ A/D PŘEVODNÍKU... 13-167 OBR. 157.: DIALOG ÚSPĚŠNÉHO ZAVRŠENÍ TESTU KOMUNIKACE... 13-167 OBR. 158.: TESTOVACÍ PANEL... 13-168 OBR. 159.: ZÁKLADNÍ USPOŘÁDÁNÍ MENU V KNIHOVNĚ DATA ACQUISITION... 13-169 OBR. 160.: ZÁKLADNÍ NABÍDKA POLOŽKY MENU HELP SEARCH EXAMPLES... 13-170 OBR. 161.: ZÁKLADNÍ ČLENĚNÍ PŘÍKLADŮ PRO DAQ KNIHOVNU... 13-171 OBR. 162.: UPŘESNĚNÍ VOLBY PŘÍKLADŮ PRO ANALOGOVÉ VSTUPY... 13-172 OBR. 163.: NABÍDKA KONKRÉTNÍCH PŘÍKLADŮ... 13-172 OBR. 164.: ČELNÍ PANEL VI PRO KONTINUÁLNÍ SBĚR DAT S VYKRESLENÍM DO GRAFU... 13-173 OBR. 165.: BLOKOVÝ DIAGRAM S FUNKCÍ MY DATA PROCESSING... 13-174 OBR. 166.: FUNKCE MY DATA PROCESSING... 13-174 OBR. 167.: POUŽITÍ SYNCHRONNÍ FUNKCE PRO SNÍMÁNÍ TISÍCE DAT Z OSMI KANÁLŮ RYCHLOSTÍ 1000 VZORKŮ ZA SEKUNDU... 13-182 OBR. 168.: ASYNCHRONNÍ FUNKCE SBĚRU DAT PRO KONTINUÁLNÍ SBĚR DAT S VYUŽITÍM DVOJITÉ VYROVNÁVACÍ PAMĚTI... 13-184 OBR. 169.: MINIMALIZACE ČASOVÉ REŽIE VYČÍTÁNÍ DAT PŘI POUŽITÍ DVOJITÉ VYROVNÁVACÍ PAMĚTI... 13-185 OBR. 170.: VYTVOŘENÍ UZLU VLASTNOSTÍ... 14-186 OBR. 171.: PRVOTNÍ PODOBA UZLU VLASTNOSTÍ... 14-186 OBR. 172.: ROLETOVÉ MENU UZLU VLASTNOSTÍ... 14-187 OBR. 173.: PŘIDÁNÍ POLOŽKY DO SEZNAMU VLASTNOSTÍ ROZTAŽENÍM TERMINÁLU UZLU VLASTNOSTÍ... 14-188 OBR. 174.: MNOŽINA VLASTNOSTÍ PRVKU TYPU NUMERIC... 14-189 OBR. 175.: ZAKÁZÁNÍ AKCE NA NĚKTERÝCH PRVCÍCH... 14-191 OBR. 176.: ROZBLIKÁNÍ PRVKU NA ČELNÍM PANELU... 14-192 OBR. 177.: ČELNÍ PANEL VI PRO PŘENESENÍ DAT Z HISTORIE REGISTRAČNÍHO GRAFU DO STATICKÉHO... 14-192 OBR. 178.: BLOKOVÝ DIAGRAM VI PRO PŘENESENÍ HISTORIE REGISTRAČNÍHO GRAFU DO STATICKÉHO GRAFU... 14-193 OBR. 179.: ČELNÍ PANEL VI PRO PROGRAMOVÉ VYČTENÍ POZICE KURZORU STATICKÉHO GRAFU... 14-193 OBR. 180.: BLOKOVÝ DIAGRAM VI PRO PROGRAMOVÉ VYČTENÍ POZICE KURZORU STATICKÉHO GRAFU... 14-194 OBR. 181.: PALETOVÁ NABÍDKA FUNKCÍ PRO KOMUNIKACI S MĚŘICÍMI PŘÍSTROJI... 15-195 OBR. 182.: STRUKTURA SOUVISLOSTÍ JEDNOTLIVÝCH VRSTEV SW... 15-196 OBR. 183.: PALETOVÉ MENU OBSLUŽNÝCH PROGRAMŮ PRO MĚŘICÍ PŘÍSTROJE... 15-197 OBR. 184.: PALETOVÁ NABÍDKA OBSLUŽNÉHO PROGRAMU PRO MULTIMETR HP 34401A... 15-198 OBR. 185.: ČELNÍ PANEL FUNKCE INITIALIZE... 15-199 OBR. 186.: BLOKOVÝ DIAGRAM APLIKACE PO PRVNÍM KROKU... 15-200 OBR. 187.: ČELNÍ PANEL APLIKACE PO DRUHÉM KROKU... 15-200 OBR. 188.: BLOKOVÝ DIAGRAM APLIKACE PO TŘETÍM KROKU... 15-201 OBR. 189.: IKONY POUŽITELNÉ PRO TVORBU OBSLUŽNÝCH PROGRAMŮ... 15-202 OBR. 190.: ČELNÍ PANEL ŠABLONY FUNKCE INITIALIZE S INSTRUKCEMI PRO TVORBU TÉTO FUNKCE... 15-202 OBR. 191.: KOMUNIKAČNÍ MONITOR PRO ROZHRANÍ GPIB... 15-203 OBR. 192.: ČELNÍ PANEL MONITORU PRO OVĚŘOVÁNÍ KOMUNIKACE PŘES SÉRIOVÉ ROZHRANÍ... 15-204 OBR. 193.: PALETOVÁ NABÍDKA FUNKCÍ PATŘÍCÍCH DO ROZŠÍŘENÉ KNIHOVNY ANALÝZ... 16-205 OBR. 194.: PALETOVÁ NABÍDKA FUNKCÍ PRO GENEROVÁNÍ SIGNÁLŮ... 16-206 OBR. 195.: POUŽITÍ FUNKCE PRO GENEROVÁNÍ SINUSOVÉHO PRŮBĚHU... 16-207 OBR. 196.: POUŽITÍ FUNKCE GENEROVÁNÍ SIGNÁLU PRO SIMULACI MĚŘENÝCH DAT VE FÁZI LADĚNÍ APLIKACE BEZ PŘIPOJENÍ NA HW 16-207 OBR. 197.: GENERÁTOR FUNKCÍ... 16-208 OBR. 198.: ČELNÍ PANEL APLIKACE VYUŽÍVAJÍCÍ FUNKCE AMPLITUDE AND PHASE SPECTRUM.VI... 16-209 OBR. 199.: BLOKOVÝ DIAGRAM APLIKACE VYUŽÍVAJÍCÍ FUNKCE AMPLITUDE AND PHASE SPECTRUM.VI... 16-210 OBR. 200.: JEDNODUCHÝ SPEKTRÁLNÍ ANALYZÁTOR... 16-211 OBR. 201.: PALETOVÁ NABÍDKA S VOLBOU NÁSTROJE PRO VYTVÁŘENÍ APLIKACÍ... 17-212 OBR. 202.: DIALOGOVÉ OKNO PRŮVODCE VYTVÁŘENÍM APLIKACE... 17-213 Doc. Ing. Jan Žídek, CSc. 1-9
SCXI- 1001 SCXI MAINFRAM E SCXI 1140 SCXI 1140 SCXI 1140 SCXI 1140 Katedra elektrických měření, Fakulta elektrotechniky a informatiky, VŠB-TU Ostrava 1. ZÁKLADNÍ PRINCIPY VIRTUÁLNÍ INSTRUMENTACE 1.1. ÚVOD Slovo virtuální se díky nástupu nových technologií spojených s rychlým rozvojem výpočetní techniky objevuje v našem slovníku čím dál častěji. Lze se setkat s virtuální realitou ať už jako součástí zábavního průmyslu (film, počítačové hry), nebo jako prostředkem usnadňujícím zvládnutí složitých situací v některých odvětvích lidské činnosti (nácvik složitých operací na virtuálním modelu lidského těla, simulátory pro výcvik pilotů v letectví ). Do našeho každodenního života vstupuje nabídka zboží ve virtuálních obchodních domech nabízejících své zboží prostřednictvím Internetu. Tato úvodní kapitola by měla vysvětlit další oblast spojenou se slovem virtuální a s nástupem nových technologií, tentokrát ve spojení s problematikou měření a měřicí techniky. Touto oblastí je virtuální instrumentace. 1.2. VÝVOJ MĚŘICÍ TECHNIKY Výrobci měřicí techniky se v tržním hospodářství řídí stejnými pravidly jako kdokoliv jiný na trhu. Jejich snahou je maximalizovat svůj zisk ovládnutím co největší části trhu svými výrobky. Pro dosažení tohoto cíle musí získat co nejvíce zákazníků se zájmem o své výrobky. Tento zájem bude narůstat tím strměji, čím lepší bude uspokojení potřeb těchto zákazníků právě prostřednictvím produkce těchto výrobců. Definujme si pojem flexibility měřicího systému jako jeho schopnost uspokojit potřeby koncového uživatele. Vývoj měřicí techniky obecně a v celosvětovém měřítku sleduje trend zvyšující se flexibility měřicích systémů. Názorně lze tento vývoj měřicí techniky v čase ukázat v grafickém vyjádření na následujícím obrázku: Flexibilita Virtuální měřicí přístroje - fáze virtuální instrumentace PC Zásuvné měřicí desky VXI Měřicí přístroje vybavené rozhraním (RS 232, GPIB-IEEE488) Klasické analogové měřicí přístroje Čas Obr. 1.: Vývoj měřicí techniky v čase z hlediska narůstající flexibility Doc. Ing. Jan Žídek, CSc. 1-10
1.3. MĚŘICÍ PŘÍSTROJE Z OBDOBÍ KLASICKÉ INSTRUMENTACE U klasických analogových měřicích přístrojů bez komunikačního rozhraní (voltmetry, ampérmetry, multimetry, osciloskopy, ) definuje funkce měřicího přístroje jednoznačně jeho výrobce a koncový uživatel může využít pouze těch funkcí, které měl od výrobce v přístroji implementovány - flexibilita takovéhoto měřicího systému je tedy nízká, narazí-li potřeba uživatele na funkci, kterou přístroj nemá implementovánu, zůstává jeho potřeba neuspokojena. V této fázi vývoje měřicí techniky je i způsob přebírání naměřených hodnot koncovým uživatelem omezen obvykle na opisování naměřených dat z displeje měřicího přístroje, což je dalším potenciálním zdrojem chyb měření. 1.4. MĚŘICÍ PŘÍSTROJE VYBAVENÉ KOMUNIKAČNÍM ROZHRANÍM Zejména posledně jmenovaný aspekt klasické měřicí techniky vedl asi v počátcích ke snaze zefektivnit přebírání naměřených hodnot s vyloučením lidského činitele přímou komunikací měřicího přístroje s počítačem. Každý proces měření se vyznačuje dvěma etapami interakce uživatele s měřicím přístrojem oddělenými od sebe vlastním měřením. V první etapě dochází ke konfiguraci měřicího přístroje, tj. nastavení všech parametrů přístroje na hodnoty vyžadované daným měřením. Převládající směr toku informace je v této fázi od uživatele k přístroji a na čelním panelu měřicího přístroje jsou k tomuto účelu připraveny ovládací prvky v podobě tlačítek, přepínačů a otočných nastavovacích prvků. Ve druhé etapě interakce dochází k vlastnímu vyčítání naměřených hodnot. Převládající směr toku informace je v této fázi od měřicího přístroje k uživateli a na čelním panelu jsou k tomuto účelu připraveny indikační prvky v podobě stupnic s ručičkami, číselných či grafických displejů. V obou fázích komunikace uživatele s měřicím přístrojem lze uvažovat o náhradě koncového uživatele počítačem, což přináší dvě zásadní výhody: možnost automatizace celého měření a tím jeho zefektivnění z hlediska časové náročnosti celého procesu. Počítač zvládá mnohem rychlejší toky dat, což ve svém důsledku zkracuje jak dobu konfigurace měřicího přístroje, tak dobu vyčítání naměřených hodnot vyloučením lidského faktoru z měřicího řetězce lze eliminovat další zdroj chyb, které zatěžují výsledek měření, a to chyby osobní S rostoucími výkonnostními parametry a s klesající cenou výpočetní techniky začíná její masivní průnik i do oblastí, pro které dříve nebyla určena, včetně oblasti měřicí techniky. Výrobci měřicí techniky reagují na tento průnik vybavováním svých měřicích přístrojů komunikačním rozhraním umožňujícím interakci počítače a měřicího přístroje. V dnešní době se u měřicích přístrojů nejčastěji vyskytují tři typy rozhraní využívané pro komunikaci s personálním počítačem (PC). 1.4.1. Měřicí přístroje s komunikačním rozhraním RS-232 Výhody komunikace přes toto rozhraní jsou následující: jednoduchá a levná kabeláž (pro vzájemnou komunikaci vystačí se dvěmi i jedním signálovým a společným zemním vodičem) Doc. Ing. Jan Žídek, CSc. 1-11
standardní vybavení tímto rozhraním na straně počítače (připojuje se k němu obvykle myš, souřadnicové zapisovače a další periférie) poměrně velká vzdálenost, na kterou lze takto měřicí přístroj ovládat nevýhody komunikace přes toto rozhraní: omezení na dva komunikující protějšky (počítač a jeden měřicí přístroj) malá propustnost (omezená přenosová rychlost, nutnost sériového řazení informace po bitech a nutnost redundantní informaci pro synchronizaci přenosu start bit, paritní bit, stop bit) 1.4.2. Měřicí přístroje s komunikačním rozhraním GPIB Paralelní rozhraní GPIB (General Purpose Interface Bus) zavedené v roce 1965 firmou Hewlett Packard pod označením HP-IB a zdokonalené v roce 1975 do podoby IEEE standardu 488 a v roce 1987 do podoby ANSI/IEEE 488.1 standardu, později rozšířeného na ANSI/IEEE 488.2 standard. Firma National Instruments, která je přední firmou rozvíjející dále toto rozhraní pod označením GPIB. Výhody komunikace přes toto rozhraní: vysoká přenosová rychlost (přes 1 MB/s, s využitím protokolu HS488 až 8 MB/s), možnost připojit na jeden řídící počítač více měřicích přístrojů, v případě IEEE 488.2 existence standardizovaného protokolu pro řízení přístrojů akceptovaného všemi výrobci, kteří tímto rozhraním své přístroje vybavují nevýhody komunikace přes toto rozhraní: omezená vzdálenost komunikujících přístrojů (max. celková délka kabelu 20 m), nutností dovybavit počítač modulem tohoto rozhraní (zásuvná karta GPIB nebo konvertor stávajícího rozhraní Centronics nebo RS 232) dražší kabeláž 1.4.3. Měřicí přístroje s komunikačním rozhraním Ethernet Rozhraní Ethernet je v poslední době se objevující alternativou ke dvěma předchozím rozhraním. Výhody komunikace přes toto rozhraní: připojení měřicího přístroje na standardní médium lokální počítačové sítě (koaxiální kabel, kroucená dvoulinka) v místě měření přes standardní vstup do této sítě možnost konfigurace měřicího přístroje a zpracování naměřených dat v jiném místě lokální počítačové sítě popřípadě odkudkoliv z Internetu velká propustnost tohoto rozhraní (standardně 10/100 Mbitů/s, je definovaná i rychlost 1 Gb/s) možnost využití standardních protokolů známých z komunikace mezi počítači (TCP/IP) nevýhoda komunikace přes toto rozhraní Doc. Ing. Jan Žídek, CSc. 1-12
velmi málo výrobců měřicí techniky zatím vybavuje své přístroje tímto rozhraním standardní obslužné programy jsou zatím uzpůsobeny pro využití rozhraní RS 232 nebo GPIB Propojení počítače s měřicím přístrojem umožňuje doplnit funkce definované jeho výrobcem funkcemi, které lze naprogramovat do řídicího počítače. Funkce měřicího přístroje lze v tomto případě obvykle omezit pouze na sejmutí měřených dat a jejich přenos přes rozhraní do počítače, kde proběhne jejich následné zpracování, při kterém lze softwarově realizovat i funkce, které do měřicího přístroje nebyly implementovány. Takto lze např. z digitálního osciloskopu jednoduchým způsobem udělat frekvenční analyzátor, který je obvykle o řád dražší (osciloskop pouze sejme měřený průběh a pošle jej přes sběrnici do počítače, kde lze podrobit tato data frekvenční analýze např. algoritmem rychlé Fourierovy transformace FFT). Flexibilita měřicího systému je zde výrazně vyšší. Narazí-li potřeba uživatele na funkci, kterou nemá přístroj implementovánu výrobcem, lze ji následně realizovat softwarovými prostředky na připojeném počítači. Vývojáři výpočetní i měřicí techniky dnes používají stejných koncepcí a komponentů při návrhu zapojení vyvíjených zařízení (využití mikroprocesorů, pamětí, sběrnic ). Moderní složitější měřicí přístroj je obvykle multiprocesorový systém vybavený základní vrstvou softwaru, která řídí jeho činnost této vrstvě se říká firmware. Tato koncepce umožňuje v určitých omezených mezích měnit chování přístroje a umožňuje použití pružně programovatelných ovládacích prvků na čelním panelu. Rostoucí počet funkcí, které výrobci měřicích přístrojů implementují do svých výrobků by při klasické koncepci (jedna funkce jeden ovládací prvek) vedla k velmi rozměrným a nepřehledným panelům těchto přístrojů. Proto je dnes mnohem obvyklejší umístění ovládacích tlačítek na okraj displeje, na kterém je v každé fázi konfigurace daného přístroje přiřazena tomuto tlačítku jiná funkce popsaná proměnným nápisem na displeji. Při analýze propojení měřicího přístroje přes komunikační rozhraní na počítač přišli výrobci měřicí techniky na to, že se z měřicího přístroje někdy využije pouze vstupních obvodů a paměti dat, což vedlo k dalšímu kroku vývoje této techniky směrem k tzv. virtuálním měřicím přístrojům. 1.5. FÁZE VIRTUÁLNÍ INSTRUMENTACE Podstatou virtuálního přístroje je doplnění otevřené architektury personálního počítače tím, co mu chybí, aby mohl plnit úlohu měřicího přístroje. V oblasti hardwaru je to zásuvná multifunkční karta (zásuvná měřicí deska) vybavena konektorem pro zasunutí této karty do systémové desky personálního počítače (ISA, EISA, PCI sběrnice). V oblasti softwaru je to vhodný program pro počítač, který realizuje všechny funkce měřicího přístroje a plní tak úlohu firmwaru měřicího přístroje. Zabraňuje se tak i duplicitě, která se objevuje při propojení měřicího přístroje a počítače. Nedílnou součástí aplikace představující virtuální přístroj je grafické rozhraní k uživateli čelní panel virtuálního přístroje. Koncový uživatel na něm má k dispozici: ovládací prvky pro nastavení parametrů přístroje indikační prvky informující ho o výsledcích měření Na následujícím obrázku je příklad virtuálního přístroje plnícího funkci dvoukanálového osciloskopu. Ovládacími prvky na něm uživatel volí kanál, nastavení časové základny a vertikálního zesilovače a podmínku spuštění časové základny (trigger). Indikačním prvkem je grafický displej znázorňující naměřený časový průběh. Oproti klasickému přístroji si virtuální přístroj ponechává všechny výhody personálního počítače standardní média pro ukládání naměřených dat (pevný disk, dis- Doc. Ing. Jan Žídek, CSc. 1-13
keta), snadné připojení periférií (tiskárna, modem), snadná konektivita do počítačových sítí, a tím možnost sdílení naměřených dat či dálkové ovládání přístroje. Kromě toho se dá jeho funkce snadno změnit modifikací vytvořené aplikace. Obr. 2.: Příklad grafického rozhraní čelního panelu virtuálního přístroje Zásuvné multifunkční karty doplňující pro účely měření architekturu personálního počítače mají omezení hlavně v parametru dosažitelné vzorkovací frekvence a současnosti snímání z více kanálů. Běžné měřicí karty pro ISA sběrnici dosahují maximální vzorkovací frekvence řádu stovek tisíc až miliónů vzorků za sekundu (100 ks/s 1 MS/s, interval mezi vzorky 1 10 mikrosekund) pro signál, který není periodický. Špičkové osciloskopy dnes mají tento parametr až o čtyři řády lepší (10 GS/s - t.j. deset miliard vzorků za sekundu - interval mezi dvěma vzorky 100 ps). Toto omezení rychlosti měření je u zásuvných multifunkčních karet dáno především použitou architekturou A/D převodníku a šířkou a časováním sběrnice mezi kartou a počítačem. Pro překonání tohoto omezení se začíná rozšiřovat speciální architektura měřicích systémů - systémy na bázi VXI sběrnice. Architektura těchto systémů je tvořena tzv. mainframem (tj. rámem s napájecím zdrojem a sběrnicí o šířce 32 bitů propojující až 13 pozic v tomto rámu). Na pozici 0 se do tohoto rámu nasazuje buď jednodeskový počítač nebo konvertor VXI sběrnice na protokol GPIB s následným propojením na řídící počítač vybavený kartou GPIB. Do zbývajících pozic v rámu se zasouvají měřicí přístroje v redukované podobě zásuvných modulů (nemají tudíž ani čelní panel s ovládacími prvky, pouze konektory pro připojení měřených signálů). Sběrnice VXI se vyznačuje velkou propustností a přesným časováním (spouštěním měření), malými rozměry, menší náchylností k ovlivnění měření rušivými signály, delší střední dobou mezi opravami a kratší dobou opravy. Doc. Ing. Jan Žídek, CSc. 1-14
Obr. 3.: Naznačení fyzické podoby VXI měřicího systému 1.6. SROVNÁNÍ KLASICKÉ A VIRTUÁLNÍ INSTRUMENTACE Zásuvné karty a VXI měřicí systémy tvoří nejvyšší stupeň nového přístupu k měření - tzv. virtuální instrumentace. Srovnání klasických měřicích přístrojů a virtuálních měřicích přístrojů ukazuje následující tabulka: Hledisko Tradiční přístroj Virtuální přístroj Funkce definuje výrobce uživatel Orientace přístrojů a jejich propojitelnost specifické podle funkcí, hlavně používané samostatně s omezenou propojitelností Klíčový komponent hardware software Náklady na výrobu a opakovatelnost použití Architektura Návaznost na technologický proces vysoké uzavřená, pevná množina funkcí pomalá - doba obměny 5-10 let specifické podle aplikace, propojitelnost s návazností na počítačové sítě a periférie nízké, opakovatelně použitelné otevřená, pružná funkčnost odrážející výkonnost výpočetní techniky rychlá doba obměny 1-2 roky Náklady na vývoj a údržbu vysoké, horší poměr výkon/cena nízké, dobrý poměr výkon/cena Filosofie virtuálních měřicích přístrojů je velmi progresivní, neboť umožňuje při zachování výkonnostních parametrů klasické měřicí techniky vytvářet přístroje, jejichž funkce přesně odpovídají Doc. Ing. Jan Žídek, CSc. 1-15
požadavkům uživatele, neboť jsou tyto funkce realizovány softwarově. Navíc tato koncepce umožňuje doplňovat další funkce podle narůstajících a měnících se potřeb koncového uživatele. Cena takto vytvářených měřicích přístrojů bývá nižší, než je cena klasické analogové měřicí techniky. Navíc je možno kdykoliv změnou programu vytvořit jiný měřicí přístroj nebo upravit vlastnosti stávajícího. Při spojení měřicího přístroje a počítače přes rozhraní nebo při vytváření virtuálních měřicích přístrojů hraje vedle hardwarových prostředků v podobě počítače a přídavných karet čím dál významnější roli software - stává se klíčovým komponentem měřicího systému. 1.7. PROCES MĚŘENÍ A JEHO FÁZE Analýzou procesu měření a zpracování měřených dat lze dojít k následujícímu obecnému schématu procesu měření jako navazujících tří fází. fáze sběru dat či řízení technologického procesu - v podstatě se používají následující typické způsoby sběru dat přes: o o o o o o o zásuvné multifunkční karty přístroje vybavené rozhraním RS 232 nebo jiným sériovým rozhraním přístroje vybavené rozhraním GPIB VXI, PXI měřicí systémy PLC průmyslové I/O systémy systémy snímání obrazu V této první fázi procesu měření se jedná o získání tzv. surových dat - obvykle se zde v měřicích systémech moderní koncepce jedná o převod měřené veličiny na elektrický signál nesoucí informaci o měřené veličině a jeho převod na číselnou hodnotu. Následně je tato informace předána počítači a uložena do paměti či zobrazena na displeji. fáze analýzy naměřených dat o o o o digitální zpracování signálu například digitální filtrace či výpočet frekvenční analýzy statistika operace s datovými poli V této druhé fázi procesu měření obvykle vyvstává potřeba odstranění nežádoucích složek měřených signálů (odstranění rušení), statistického vyhodnocení (např. výpočet střední či efektivní hodnoty), výpočet nepřímo měřených veličin z veličin měřených (např. nepřímé měření odporu měřením napětí a proudu) atp. Doc. Ing. Jan Žídek, CSc. 1-16
fáze prezentace naměřených a analyzovaných dat o o o o grafické rozhraní k uživateli síťové aplikace archivace v souborech tisk V této poslední fázi je potřeba naměřené a analyzované hodnoty prezentovat ve tvaru např. protokolu z měření, grafů, uložením do textových datových souborů atp. Je-li ve virtuálním měřicím systému vyjasněna otázka použitého hardwaru (měřicí přístroj s rozhraním, počítač se zásuvnou měřicí kartou, VXI měřicí systém), je potřeba zvolit optimální softwarový prostředek tvorby měřicí aplikace. Pro tento účel lze využít i standardních programovacích jazyků: Basic - křivka charakterizující použití tohoto programovacího jazyka je dnes již za svým vrcholem - tento jazyk však dnes prožívá svou renesanci v podobě tzv. Visual Basicu, kterého lze opět využít pro efektivní tvorbu objektově orientovaných aplikací pro oblast měření. C jazyk - dnes nejčastěji používaný jazyk v technické praxi v různých podobách CVI, C++, Visual C++ Použití standardního programovacího jazyka pro vytvoření aplikace z oblasti měření naráží na dvě úskalí: tvorba aplikace je časově náročná, syntaxe jazyka je složitá a výsledný produkt může být těžko čitelný i pro samotného autora, vrátí-li se k němu po delším čase od jeho tvorby je zde velká náročnost na detailní znalost hardwarového řešení měřicího řetězce - musí se napsat všechny funkce pro podporu protokolů na jednotlivých rozhraních, které obvykle nejsou součástí implementace těchto programovacích jazyků (obsluha požadavků na přerušení, přímý přístup do paměti atp.) Tato úskalí pomáhají překonat dnes stále častěji používané produkty, které lze zařadit do kategorie tzv. CASE (Computer Aided Software Engineering) produktů, tj systémů pro vytváření koncových aplikací s podporou počítače. Produkcí těchto softwarových systémů - vývojových prostředí, které v sobě obvykle integrují mnoho pomocných nástrojů pro automatizaci tvorby softwarové aplikace - se dnes zabývá na světovém trhu celá řada firem. Mnohé pomocné nástroje integrované do těchto vývojových prostředí vycházejí ze skutečnosti, že obecná struktura aplikace bývá shodná a dá se popsat jako soubor grafických rozhraní, přes která koncový uživatel s programem komunikuje. Vlastní program je založen na opakované kontrole, zda na těchto grafických rozhraních nedošlo k události interakci uživatele s ovládacím prvkem a v následném programovém ošetření těchto událostí. Vývojové prostředí tedy může základní kostru programu vygenerovat automaticky a ušetřit tak jeho tvůrci čas. Do takto připravené kostry programu se pak vkládají jednotlivé funkce z knihoven, které v těchto vývojových prostředích mají i funkce pro podporu jednotlivých fází procesu měření a oprošťují tak uživatele od nutnosti znát např. detaily komunikace měřicí karty s počítačem. Softwarové prostředky, které se používají pro tuto oblast lze rozdělit Doc. Ing. Jan Žídek, CSc. 1-17
podle fáze procesu měření, kterou podporují (sběr, analýza, prezentace) podle funkcí, které uživateli nabízejí (otevřené systémy, uzavřené systémy) Ze standardních softwarových prostředků lze pro oblast měření použít např. i tabulkové procesory, které pokryjí fázi prezentace a částečně fázi analýzy měřených dat). Dnes se však v této kategorii objevují i produkty s podporou zásuvných karet pro vstup dat do tabulkového procesoru - např. Excel Meassure od firmy National Instruments. Kromě nich nabízí řada firem speciální programové balíky, pokrývající jednu, dvě, nebo všechny tři fáze zpracování měřených dat (např. knihovny funkcí podporujících sběr dat ze zásuvných multifunkčních karet). Podle druhého hlediska lze na trhu softwarových prostředků nalézt uzavřené systémy, které uživateli poskytují omezenou množinu funkcí, které naprogramoval jejich tvůrce a kterou již nelze dále jednoduchým způsobem rozšiřovat (sem patří např. různé nadstavby tabulkových procesorů nebo speciální softwarové balíky podpory některých měřicích karet). Kromě těchto systémů lze nalézt i otevřené systémy, které poskytují uživateli celou řadu funkcí, aniž by ho omezovaly, neboť se dají jednoduchým způsobem rozšiřovat podle potřeb uživatele - jsou to tedy tzv. vývojová prostředí (Development Environment). Na světovém trhu vývojových prostředí pro oblast měření lze nalézt mnoho produktů, patřících do kategorie otevřených systémů: HP VEE - od firmy Hewlett-Packard (grafické programování v prostředí Windows) Test Point - od firmy Keithley (grafické programování v prostředí Windows) Dasy Lab - jednoduchý systém grafického programování v prostředí Windows, původně od firmy DasyTech, dnes patří do rodiny produktů firmy National Instruments Control Panel - Alcor Zlín - grafické programování v prostředí DOSu a Windows (systém vytvořen v jazyce Modula 2) LabWindows-CVI TM - textově orientovaný vývojový systém pro platformu Windows LabVIEW TM - grafické programování v prostředí Windows a na různých platformách (MacIntosh, PC Windows 3.11, Windows 95, Windows 98, Windows NT, Sun, HP Unix, LI- NUX) Použití některého z těchto vývojových prostředí umožňuje efektivní a rychlou tvorbu aplikací pro oblast testování, měření a průmyslové automatizace. 1.8. SYSTÉMOVÁ INTEGRACE V dnešní době je výuce virtuální instrumentace věnována pozornost i při studiu technických předmětů na vysokých školách. Autoři tohoto cyklu článků pedagogicky působí na Katedře elektrických měření VŠB-Technické univerzity v Ostravě. Tato katedra velmi úzce již osm let spolupracuje s americkou firmou National Instruments, která je světovou špičkou v této oblasti a poskytuje uživatelům v celosvětovém měřítku velmi kvalitní produkty jak z oblasti hardwaru (zásuvné měřicí karty, karty GPIB rozhraní, VXI a PXI měřicí systémy, komunikační karty pro různé protokoly, karty sběru obrazové informace), tak i z oblasti softwaru (textově i graficky orientovaná vývojová prostředí, knihovny funkcí pro specializované oblasti). Šíře nabídky těchto komponentů se rok od roku rozšiřuje o čemž svědčí například přes devět set stran katalogu této firmy z roku 2001. V podstatě lze ke tvorbě měřicích virtuálních systémů přistupovat dvojím způsobem: Doc. Ing. Jan Žídek, CSc. 1-18
SCXI-1001 SCXI S CXI 1140 SCXI MAINFRAME 1100 SCXI 1140 SCXI 1140 S CXI 1140 Temperature NATIONAL INSTR UMENTS bus Flow Control Panel Katedra elektrických měření, Fakulta elektrotechniky a informatiky, VŠB-TU Ostrava koncový uživatel si koupí všechny potřebné komponenty měřicího řetězce včetně vhodného vývojového prostředí a vytvoří si svůj systém vlastními silami využije služeb takzvaného systémového integrátora, který ovládá práci s komponenty nabízenými výrobcem a sestaví celý měřicí systém koncovému uživateli na klíč. V České republice stejně jako na celém světě existuje řada firem, které se zabývají systémovou integrací a lze tedy zvolit jednu z obou nabízených variant řešení. První varianta se hodí spíše pro uživatele, který potřebuje větší počet měřicích systémů s častým požadavkem na jejich modifikaci. Potom se mu vyplatí pověřit svého pracovníka zvládnutím vývojového prostředí a ten je schopen následně vyvíjet, udržovat a modifikovat vytvořené měřicí systémy. Druhý přístup se hodí spíše v situaci, kdy je požadavek na tvorbu měřicího systému spíše ojedinělý, nebo kdy hraje roli faktor času zkušenému systémovému integrátorovi bude trvat kratší dobu vytvoření systému na klíč a jeho odladění a patrně i parametry vytvořeného systému budou na vyšší úrovni, než by tomu bylo u začínajícího tvůrce těchto systémů. K dispozici je dnes ucelená řada komponentů, ze kterých lze vytvořit měřicí řetězec ať už v měřicím či testovacím systému, nebo v systému z oblasti průmyslové automatizace. Velkou výhodou je, je-li možno sestavit celý systém z komponentů jednoho výrobce, nebo z komponentů využívajících zavedených a osvědčených standardů rozhraní je tak zaručena lepší kompatibilita jednotlivých článků řetězce a méně problémů při jeho oživování a uvádění do provozu. Následující obrázek znázorňuje hrubé schéma jednotlivých článků řetězce, ze kterých lze vytvořit virtuální měřicí systém: Pressure Alarm Conditions STOP A B C D Obr. 4.: Komponenty měřicího řetězce pro vytvoření virtuálního měřicího systému Doc. Ing. Jan Žídek, CSc. 1-19
V levé části obrázku jsou znázorněny dva zdroje měřených veličin technologický proces a testovaný výrobek. V obou případech se používá obousměrné komunikace do technologického procesu vstupují veličiny představující akční veličiny regulačních obvodů, žádané hodnoty parametrů apod., do testovaného výrobku vstupují stimulační signály. V opačném směru, tj. do systému jdou měřené veličiny. Ve střední části obrázku jsou znázorněny některé ze standardních možnosti používaných ve fázi sběru měřených dat: A zásuvná měřicí karta s předřazeným modulem úpravy měřeného signálu B programovatelný logický automat (PLC) s komunikačním rozhraním C měřicí přístroj s komunikačním rozhraním (GPIB, RS 232) D VXI měřicí systém V této části systému dochází k úpravě měřených veličin na elektrický signál, převodu do digitální podoby a jeho sjednocení podle použitého rozhraní. V pravé části obrázku je zobrazen personální počítač s aplikací realizující funkce virtuálního přístroje. Rostoucí výkonové parametry dnešních personálních počítačů umožňují vytvářet i velmi sofistikované systémy, které si zachovávají základní přednost směrem ke koncovému uživateli vysokou míru flexibility danou možností modifikací softwarové aplikace upravit chování systému podle měnících se potřeb koncového uživatele. Doc. Ing. Jan Žídek, CSc. 1-20
2. ÚVOD DO VÝVOJOVÉHO PROSTŘEDÍ LABVIEW 2.1. FILOSOFIE A SOUČÁSTI VÝVOJOVÉHO SYSTÉMU LABVIEW Základním záměrem vývojových pracovníků firmy National Instruments bylo dát do rukou inženýrů nástroj podobné efektivity pružnosti a síly jako je tabulkový procesor v rukou finančního manažera. Myšlenka, na níž stojí efektivita vývojového prostředí LabVIEW I daného na trh v roce 1986 pro platformu počítačů Macintosh je jednoduchá a vznikla původně na půdě Texaské univerzity ve skupince nadšenců kolem duchovního otce tohoto systému Jeffa Kodovského. Vychází se zde z poznatku, že tím, kdo ví, co měřit, jak analyzovat a jak prezentovat data, je technik, který nemusí být sám zkušeným programátorem. Své představy tedy předává programátorovi obvykle v podobě blokového schématu. Programátor toto schéma potom převádí do syntaxe zvoleného programovacího jazyka, což je činnost poměrně zdlouhavá a náročná na přesnost a nepřináší již do procesu měření obvykle žádné další nové informace. Cílem vývojového prostředí LabVIEW je to, aby blokové schéma bylo koncovým tvarem aplikace, který se již dále nebude převádět do textové podoby. LabVIEW (Laboratory Virtual Instruments Engineering Workbench) je obecným vývojovým prostředím s bohatými knihovnami pro vytváření aplikací zaměřených do oblasti měření ve všech fázích tohoto procesu - tj. sběru, analýzy a prezentace naměřených dat. Podporuje všechny čtyři základní způsoby sběru dat do počítače (z měřicích přístrojů přes rozhraní RS 232 nebo GPIB, ze zásuvných multifunkčních karet a ze systému na bázi VXI sběrnice). Poskytuje uživateli plnohodnotný programovací jazyk se všemi odpovídajícími datovými a programovými strukturami v grafické podobě - tzv. G jazyk (Graphical language). LabVIEW je tedy vývojovým prostředím na úrovni např. C jazyka, ale na rozdíl od něj není orientován textově, ale graficky.. Výsledný produkt tohoto vývojového prostředí se nazývá virtuálním přístrojem (Virtual Instrument), protože svými projevy a činností připomíná klasický přístroj ve své fyzické podobě. Virtuální přístroj jako základní jednotka aplikace vytvořené v tomto vývojovém prostředí obsahuje: interaktivní grafické rozhraní (Graphical User Interface - GUI) ke koncovému uživateli - tzv. čelní panel (Front Panel), který simuluje čelní panel fyzického přístroje. Obsahuje prvky pro ovládání a indikaci (knoflíky, tlačítka, LED indikátory, grafy...). Tento čelní panel ovládá uživatel myší nebo z klávesnice. činnost virtuálního přístroje je dána jeho blokovým schématem (Block Diagram). Toto blokové schéma je vytvořeno ikonami reprezentujícími v koncových blocích ovládací a indikační prvky čelního panelu a ve svých uzlových blocích jsou to bloky zpracovávající procházející data. Tento blokový diagram je zdrojovou podobou každé aplikace. virtuální přístroj má hierarchickou a modulární strukturu. Lze jej používat jako celý program nebo jeho jednotlivé podprogramy, které se nazývají podřízenými virtuálními přístroji (Sub- VI). Součástí každého virtuálního přístroje je jeho ikona, kterou je prezentován v blokovém schématu a konektor s přípojnými místy pro vstupní a výstupní signály. Těmito charakteristickými rysy naplňuje vývojové prostředí LabVIEW podmínky modulárního programování. Svou aplikaci dělí uživatel na jednotlivé úlohy, pro které vytváří dílčí virtuální přístroje (subvi) a z nich potom buduje celou aplikaci jejich spojováním do výsledného virtuálního přístroje. Na závěr lze celou aplikaci přeložit do EXE tvaru a provozovat nezávisle na vývojovém prostředí. Díky možnosti vyzkoušet funkci každého dílčího virtuálního přístroje nezávisle na jiných a díky bohaté škále ladicích prostředků je ladění aplikace velmi snadné. Doc. Ing. Jan Žídek, CSc. 2-21