České vysoké učení technické v Praze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE. OPC Server
|
|
- Markéta Konečná
- před 8 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE OPC Server Praha, 2006 Autor: Ondřej Šťavík
2
3 Prohlášení Prohlašuji, že jsem svou diplomovou ( bakalářskou) práci vypracoval samostatně a použil jsem pouze podklady ( literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. V Praze dne podpis i
4 Poděkování Děkuji především vedoucímu diplomové práce Ing. Richardu Šustovi, PhD. za pomoc a cenné připomínky. ii
5 Abstrakt Tato diplomová práce se zabývá využitím specifikace OPC Data Access k přístupu na fyzické zařízení. Hlavní náplní je vývoj OPC serveru pro I/O kartu Advantech PCI Server podporuje povinné části OPC Data Access Z volitelných částí je implementováno rozhraní IOPCBrowseAddressSpace. K demonstraci funkcí serveru byl vytvořen i jednoduchý OPC klient. Dalším úkolem této práce je vývoj konfiguračního prostředí (manažera) k serveru. Ten má za úkol zpřístupnit uživateli některá globální nastavení serveru, nedostupná z OPC klientů. V teoretické části práce je stručný úvod do některých typů meziprocesové komunikace ve Windows. Od těch jednodušších až po model COM, který je základem technologie OPC. Dále se teoretická část zabývá popisem specifikace OPC Data Access. Praktická část se pak věnuje konkrétním aplikacím. iii
6 Abstract This master thesis deals with the usage of OPC Data Access specification for access to physical device. Main task is to develop OPC server for I/O card Advantech PCI Server supports required parts of OPC Data Access As for the optional parts, IOPCBrowseAddressSpace interface is implemented. A simple OPC client was also developed to demonstrate basic functionality of the server. Another task of this thesis is to develop configuration interface (manager) for the server. Manager serves users in accessing some global options of the server. Those options are unavailable from OPC clients. The theoretic part of this thesis contains a brief introduction to some types of interprocess communication in Windows. From the simpler ones to the COM model, which the OPC technology stands upon. Description of OPC Data Access specification is another theme of the theoretic part. The practical part pays attention to concrete applications. iv
7 České vysoké učení technické v Praze - Fakulta elektrotechnická Katedra řídicí techniky Školní rok: 2004/2005 Z A D Á N Í D I P L O M O V É P R Á C E Student: Ondřej Š ť a v í k Obor: Technická kybernetika Název tématu: OPC Server Z á s a d y p r o v y p r a c o v á n í: 1. Prostudujte si OPC protokol a způsob tvorby klienta a serveru. 2. Navrhněte systémovou službu OPC server, který bude obsluhovat I/O kartu Advantech PCI. 3. Prostudujte otázku rozšíření OPC serveru o možnost zpracovávat periodické přerušení. 4. Server realizujte a vytvořte k němu i konfigurační prostředí pro něj v.net C# a ukázkového klienta. Seznam odborné literatury: Dodá vedoucí práce. Vedoucí diplomové práce: Ing. Richard Šusta, Ph. D. Termín zadání diplomové práce: zimní semestr 2004/2005 Termín odevzdání diplomové práce: leden 2006 L.S. prof. Ing. Michael Šebek, DrSc. vedoucí katedry prof. Ing. Vladimír Kučera, DrSc. děkan V Praze dne: v
8 Obsah Seznam obrázků Seznam tabulek x xiii 1 Úvod 1 2 Základní typy meziprocesové komunikace Namapované soubory Poštovní schránky Sockety Roury Pojmenované roury Jméno roury Základní funkce Neblokovací režim RPC Schránka DDE OLE Technologie COM Úvod Komponenty, rozhraní Rozhraní COM Návratové kódy IUnknown GUID Jazyk IDL vi
9 3.5 Realizace COM serveru Apartmenty Marshalování parametrů Registrace komponent Řízení životnosti COM serveru Class Object Založení instance komponenty klientem Connection Points Alokace paměti Standard OPC Úvod Pozadí COM v OPC Data Access Typová knihovna a marshalování parametrů Automation COM server pro OPC Data Access Komponenta OPC Server IOPCServer IOPCCommon IOPCBrowseServerAddressSpace IOPCItemProperties IConnectionPointContainer a IConnectionPoint Komponenta OPC Group IOPCGroupStateMgt IOPCItemMgt IConnectionPointContainer a IConnectionPoint IOPCSyncIO IOPCASyncIO OPC Item COM klient pro OPC Data Access IOPCDataCallback IOPCShutdown Interoperabilita s prostředím.net Funkce uložené ve Win32 DLL vii
10 5.2 COM Popis realizovaného OPC serveru Server Parametry COM modelu Kritické sekce Události Hlavní části aplikace COPCHead (OPCHead.h) Přerušení CTag (Tag.h) COPCClassFactory (OPCClassFactory.h) COPCServer (OPCServer.h) COPCGroup (OPCGroup.h) COPCItem (OPCItem.h) CManagerIO (ManagerIO.h) CLog (Log.h) Manažer serveru Hlavní části aplikace MainForm (MainForm.cs) FormAddTag (FormAddTag.cs) FormInterrupt (FormInterrupt.cs) FormLogging (FormAddTag.cs) FormSelectDevice (FormSelectDevice.cs) FormMaxClients (FormMaxClients.cs) FormMinUpdateRate (FormMinUpdateRate.cs) NamedPipeNative (NamedPipeNative.cs) PipeIO (PipeIO.cs) RegistryInterface (RegistryInterface.cs) FileIO (FileIO.cs) OPC Klient Závěr 72 Literatura 73 viii
11 A Karta Advantech PCI A.1 Vstupy A.2 Výstupy A.3 Čítače, časovače A.4 Přerušení A.5 Vybrané funkce DLL ovladače A.6 Advantech DEMO karta A.7 Záznamy v registrech Windows o zařízeních Advantech B Ovládání aplikací 84 B.1 Manažer serveru B.2 Klient B.3 Server C Testy aplikací 94 C.1 Server C.1.1 OPC Compliance Test C.1.2 MATLAB C Advantech DEMO C Advantech PCI C.1.3 Ostatní klienti C.2 Klient a manažer D CD-ROM, Instalace aplikací 100 ix
12 Seznam obrázků 2.1 Použití UDP socketů Ilustrační schéma roury Komunikace serveru a klienta pomocí pojmenované roury Komunikace serveru a klienta pomocí pojmenované roury s použitím události Využití DDE v OPC Historie komponentových modelů Monolitická a komponentová aplikace Spojení klienta s instancí komponenty Realizace spojení klienta a instance komponenty Struktura kódu HRESULT Schematická značka komponenty CRetezec Přehled identifikačních čísel Spojení klienta a out-of-process serveru Obousměrné spojení klienta s komponentou Model klasické komunikace se zařízením Model komunikace s využitím OPC Obálky pro OPC klienty různých programovacích jazyků Komponenta OPC Group Komponenta OPC Server Příklad uspořádání OPC serveru Příklad struktury adresního prostoru Komunikace klienta prostředí.net a komponenty COM Komunikace COM klienta a komponenty prostředí.net Využití kritických sekcí Založení instance komponenty OPC server x
13 6.3 Zpracování požadavku na počet max. klientů Založení skupiny Založení položky Struktura chybového záznamu Výběr zařízení pro OPC server Obecná struktura zprávy s požadavkem Obecná struktura zprávy s výsledkem Struktura konfiguračního souboru Založení skupiny A.1 Blokové schéma PCI A.2 Blokové schéma vstupu karty PCI A.3 Blokové schéma výstupu karty PCI A.4 Blokové schéma zapojení čítačů karty PCI A.5 Blokové schéma zapojení zdroje přerušení PCI B.1 Hlavní okno manažera B.2 Hlavní menu manažera - File B.3 Hlavní menu manažera - Actions B.4 Okno pro nastavení max. počtu klientů B.5 Okno pro nastavení max. počtu klientů B.6 Okno pro založení nového tagu B.7 Okno pro změnu zařízení pro OPC server B.8 Okno pro nastavení přerušení B.9 Okno pro nastavení záznamu chyb B.10 Kontextové menu pro adresní prostor B.11 Kontextové menu pro záznam chybových výsledků uživatelských požadavků 88 B.12 Hlavní okno klienta B.13 Hlavní menu klienta B.14 Okno pro zadání ProgID serveru B.15 Okno pro zadání ProgID serveru B.16 Okno pro založení skupiny B.17 Okno ze základními parametry serveru B.18 Kontextové menu pro skupinu B.19 Okno pro založení nové položky B.20 Kontextové menu pro položku xi
14 B.21 Okno pro zadání nové hodnoty položky B.22 Kontextové menu pro tabulku chyb C.1 Hlavní okno OPC Compliance testu C.2 Simulační schéma pro testy C.3 Výsledek asynchronního čtení C.4 Výsledek synchronního čtení bez aktualizace tagů C.5 Výsledek asynchronního čtení z karty PCI xii
15 Seznam tabulek 2.1 Základní funkce pro práci s rourami Seznam metod rozhraní IUnknown Základní typy parametrů pro deklarace metod v jazyce IDL Funkce pro založení apartmentu Seznam OLE Automation kompatibilních typů Seznam metod rozhraní IClassFactory Metody klienta pro založení komponenty Alokace paměti podle typu parametru COM funkce pro správu paměti Seznam metod rozhraní IOPCServer Seznam metod rozhraní IOPCCommon Seznam metod rozhraní IOPCBrowseServerAddressSpace Seznam metod rozhraní IOPCItemProperties Seznam metod rozhraní IOPCGroupStateMgt Seznam metod rozhraní IOPCItemMgt Seznam metod rozhraní IOPCSyncIO Seznam metod rozhraní IOPCASyncIO Seznam metod rozhraní IOPCDataCallback Skupiny metod třídy COPCHead Skupiny metod třídy COPCServer Skupiny metod třídy COPCGroup Označení možných uživatelských požadavků Struktura datových polí pro uživatelské požadavky Struktura datových polí pro odpovědi na uživatelské požadavky Možné kódy HRESULT pro odpovědi na uživatelské požadavky xiii
16 6.8 Význam a hodnoty kódů HRESULT A.1 Tabulka dosažitelných frekvencí z různých zdrojů přerušení A.2 Vybrané funkce DLL ovladače pro kartu Advantech PCI C.1 Výsledky OPC Compliance testu xiv
17 Kapitola 1 Úvod Využití řídících systémů v průmyslu se neustále rozrůstá. S nárůstem automatizace řídících procesů narůstá množství dat jak o řízeném procesu, tak o samotných zařízeních. Tyto data je potřeba předat klientům, tj. pracovním stanicím, které je budou využívat např. pro vizualizaci či řídící algoritmy. Technicky existuje více možností jak zařídit tento proces přenosu dat. Obvyklým způsobem bylo využití specifických ovladačů pro každé zařízení. To sebou přinášelo mnoho nevýhod. Mezi největší z nich patří neslučitelnost ovladačů od různých výrobců díky různým podporovaným hardwarovým funkcím. konflikty v přístupu k zařízením. Dvě různé aplikace většinou nemohly přistupovat najednou k jednomu zařízení, protože používaly různé ovladače. Ve snaze co nejvíce eliminovat nejenom tyto nevýhody vznikly specifikace OPC (Ole for Process Control). O jejich údržbu a pravidelné aktualizace se stará organizace OPC Foundation, sdružující spoustu výrobců produktů pro řídící techniku. Tato diplomová práce se zabývá jednou z těchto specifikací, známou pod názvem OPC Data Access. Ta se využívá pro přístup k měřícím zařízením, akčním členům a dalším částem podílejících se na přímém řízení technologického procesu. Specifikací OPC Data Access se blíže zabývá kapitola 4. OPC Data Access verze 2.05, popisovaná v této práci, funguje na operačním systému Windows. Využívá tedy metod meziprocesové komunikace navržené právě pro tento systém firmou Microsoft. Konkrétně se jedná o model COM (Component Object Model). Model COM, hojně využívaný nejen v řídící technice, ale obecně v každé složitější aplikaci pro systém Windows, je stručně popsán v kapitole 3. 1
18 KAPITOLA 1. ÚVOD 2 OPC Data Access v zásadě popisuje komunikaci dvou stran - serveru a klienta. Server se stará o spolupráci s konkrétním zařízením a distribuci dat z tohoto zařízení klientům, kteří tyto data dále zpracovávají. Server může ale poskytovat uživatelům další výhody, které specifikace OPC Data Access nezahrnuje. Řešením může být vlastní rozšíření specifikace. Tato diplomová práce řeší tuto situaci jinak. Používá speciální rozhraní obsahující všechna dostupná nastavení serveru s vlastním komunikačním protokolem. Toto rozhraní, tzv. manažer, využívá jednu z jednodušších metod meziprocesové komunikace, konkrétně pojmenované roury. O pojmenovaných rourách a jim příbuzných metodách komunikace pojednává kapitola 2. Kapitola 6 se věnuje konkrétním aplikacím této práce. OPC specifikace je v těchto aplikacích využita pro komunikaci s kartou Advantech PCI Tato měřící karta se hojně využívá v mnoha průmyslových aplikacích. Popis karty, instalace aplikací, jejich testy a ovládání je uvedeno v přílohách.
19 Kapitola 2 Základní typy meziprocesové komunikace ve Windows Při komunikaci na bázi klient/server se musí obě zúčastněné strany domluvit jakým způsobem spolu budou komunikovat. Ne jinak tomu je při využití specifikace OPC v automatizaci. Komunikace COM, na které je OPC specifikace postavena, je jednou z metod meziprocesové komunikace v systému Windows. Existuje ale i řada dalších, jednodušších metod, které jsou ve Windows dostupné. Těmito metodami se zabývá tato kapitola. Od nejzákladnějších metod se postupně dostává až k předchůdcům modelu COM. Ten je pak detailněji popsán v kap. 3. Ostatní vyšší metody meziprocesové komunikace, jakými jsou hlavně v poslední době technologie navržené pro platformu.net, popisuje lit. [2]. 2.1 Namapované soubory Technika namapovaných souborů (Memory Mapped Files) umožňuje procesu přístup do části paměti (na disku, v operační paměti...), jako kdyby byla součástí jeho adresního prostoru. Proces dostane ukazatel na tuto namapovanou oblast a pomocí něj může číst nebo měnit její obsah. Aby mohlo dojít k meziprocesní komunikaci, je tato oblast samozřejmě namapovatelná taky ostatními procesy. V případě přístupu více procesů současně je nutné použítí synchronizačních objektů, aby nedocházelo k porušení integrity dat. Namapované soubory jsou efektivní metodou lokální meziprocesové komunikace. Nelze je použít po síti. Více v lit. [13]. 3
20 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE Poštovní schránky Poštovní schránky jsou určeny pro pro posílání krátkých zpráv (dat) kratších než 424 bytů. Proces, který založí poštovní schránku je poštovním serverem a může číst zprávy které jsou mu doručeny poštovním klientem. Poštovní schránky se hodí hlavně k hromadnému rozesílání zpráv po jedné doméně v síti, ale mohou být použity i lokálně. Důvodem je fakt, že poštovní schránka je identifikována pomocí jména, pod tímto jménem však může existovat více jiných poštovních schránek na různých počítačích ve stejné doméně. Poštovní klient, který zná jenom jméno schránky, pak rozešle zprávu na všechny schránky pod tímto jménem. Poštovní server může být také zároven poštovním klientem, komunikaci lze tedy provozovat v obou směrech. Síťová komunikace je založena na aplikačním protokolu SMB (Service Message Block) viz lit. [13]. Nevýhodou poštovních schránek je, že protokol SMB v tomto případě interně využívá transportní protokol UDP (User Datagram Protocol), viz lit. [8]. Klient tedy nemá žádnou záruku, zda server skutečně obdržel zprávu. Jinak je tomu v případě pojmenovaných rour, viz podkap Více v lit. [13]. 2.3 Sockety Komunikace pomocí socketů je také založena na posílání zpráv mezi klientem a serverem. Délka zprávy není při této komunikaci omezena, zprávy jsou ale transportním protokolem rozděleny na menší fragmenty, tzv. packety. Ty mívají max. velikost okolo 64kB. Je primárně určena pro komunikaci po nejrozsáhlejších sítích WAN (World Area Network), lze ji ale použít i na lokálním počítači. Obrovskou výhodou je nezávislost na síťovém transportním protokolu. Může běžet na TCP (Transmission Control Protocol), UDP, IPX (Internetwork Packet EXchange) apod. Klient a server také mohou běžet v odlišných operačních systémech, jako je např. Linux. Socket je komunikační kanál, podobný rouře, viz podkap Může být založený na lokálním počítači, nebo mezi dvěma počítači v síti. Každý konec socketu je jednoznačně identifikován IP adresou, transportním protokolem a portem, viz lit. [9]. Klient a server pak pracují ze socketem podobně jako z obyčejným souborem. Posílání krátkých zpráv pomocí socketů může být využito při řízení jednoduchých procesů a je použita např. při řízení modelu vlaku na katedře řízení FEL ČVUT, viz obr. 2.1.
21 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 5 Příklad 2.1 (Řízení modelu vlaku pomocí UDP socketů): Rozhraní RS232 IP: XX Port: AA UDP UDP UDP Nádra í I UDP UDP Nádra í II IP: YY Port: BB Dispeèer IP: ZZ Port: CC IP: VV Port: DD Obrázek 2.1: Použití UDP socketů Dispečer, obě nádraží a rozhraní mají dohodnutou strukturu zpráv posílaných UDP sockety. Dispečer určuje jízdní řád. Nádraží si ho od něj přejímají a koordinují navzájem polohu jedoucích a odstavených vlaků. Výsledné nastavení semaforů a výhybek posílají do rozhraní, které ovládá model vlaku. 2.4 Roury Pod pojmem roura si lze představit část sdílené operační paměti, které se dá použít k výměně dat mezi procesy. Tento kus paměti je tzv. pseudo souborem. Operační systém se k němu chová tak jako by se jednalo o normální soubor, pouze některé I/O funkce pro práci se soubory mají v případě práce s rourou lehce odlišné chování. Na jednom konci roury do ní zapisuje jeden proces a na druhém z ní čte jiný proces. Data jsou čtena ve stejném pořadí jako byla zapsána, roura má tedy FIFO (First In, First Out) architekturu.
22 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 6 Existují dva základní druhy rour anonymní (Anonymous) - pouze pro komunikaci v jednom směru. Nejsou identifikovány pomocí jména, ale pomocí handles (čísel). Pokud má komunikace běžet v obou směrech, je potřeba vytvořit roury dvě. Nelze je používat při komunikaci na vzdálených počítačích. pojmenované (Named) - identifikovány podle jména. Možnost použití na vzdálených počítačích a v obousměrném režimu. Pro přístup k vzdáleným počítačům je použit aplikační protokol SMB, který interně využívá transportní protokol TCP/IP. Pro spojení manažera a OPC serveru jsem si vybral pojmenované roury, z důvodů uvedených v podkap Pojmenované roury Pojmenované roury fungují podobně jako telefonování. Rouru založí jeden proces (server), z druhé strany se k ní připojí jiný proces (klient). Tyto dva procesy pak mezi sebou přenáší data přes komunikační kanál. Informace o poloze začátku a konce roury se nastaví při jejím vytvoření a nemusí být posílány s každým kusem přenášených dat. Klient a server při komunikaci používají standardní I/O funkce Win API pro práci se soubory a dále funkce dedikované jen pro roury Jméno roury Jméno pojmenované roury má předepsaný formát \\servername\pipe\pipename Klient vyplní pole Servername jménem vzdáleného počítače. Je-li server na stejném počítači, vloží.. Server při vytváření roury vloží vždy., jelikož nelze vytvářet roury na vzdálených počítačích. Jméno roury (pipename) může obsahovat jakékoliv znaky kromě zpětného lomítka a může být dlouhé max. 256 znaků.
23 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 7 Klient Server Obrázek 2.2: Ilustrační schéma roury Základní funkce Základní funkce Win API pro roury jsou uvedeny v tabulce 2.1. Funkce CreateNamedPipe ConnectNamedPipe CreateFile WaitNamedPipe ReadFile WriteFile DisconnectNamedPipe CloseHandle Popis Vytvoří instanci roury na straně serveru. Pomocí této funkce server čeká na příchozí spojení. Pokusí se navázat spojení se serverem. Klient volá tuto funkci v čekací smyčce na spojení. Jestliže obdrží pozitivní odezvu od serveru, opustí čekací smyčku. Přečte data z roury. Zapíše data do roury. Odpojí rouru na straně serveru. Zruší instanci roury. Tabulka 2.1: Základní funkce pro práci s rourami Na obr. 2.3 je postup klienta a serveru při komunikaci pojmenovanou rourou.
24 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 8 Server CreateNamedPipe() odblokuje Klient CreateFile() while ERROR_PIPE_BUSY ConnectNamedPipe() odblokuje WaitNamedPipe() while connected ReadFile() WriteFile() Vytvoøení spojení Pøenos dat ReadFile() WriteFile() while connected DisconnectNamedPipe() Konec spojení CloseHandle() CloseHandle() Obrázek 2.3: Komunikace serveru a klienta pomocí pojmenované roury Neblokovací režim Vlákna na straně serveru/klienta se mohou dostat do nepříjemné situace. Pokud na klientské straně nedojde k volání CreateFile, funkce ConnectNamedPipe blokuje vlákno serveru na nekonečně dlouhou dobu. Podobná situace nastane u funkce Read, když v rouře nejsou žádná data, nebo u funkce Write, když je roura plná. Tato situace se dá obejít použitím speciální datové struktury OVERLAPPED. Pomocí této struktury si v systému zaregistrujeme událost (event). Tato událost bude signalizovat, zda došlo na klientské straně k připojení. Výhodou použití události je, že se na ni dá čekat konečně dlouhou dobu a pak pokračovat v dalším kódu programu. K čekání na události a podobné synchronizační objekty se v systému Windows používá funkce WaitForSingleObject. Řízení iniciace připojení pomocí události je ilustrováno na obr Více v lit. [13].
25 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 9 Server CreateNamedPipe() while ERROR_PIPE_BUSY Klient CreateFile() registrace události ConnectNamedPipe() odblokuje WaitNamedPipe() WaitForSingleObject (ud álost, èas) signalizuje událost je ANO signalizována událost NE while connected ReadFile() WriteFile() Vytvoøení spojení Pøenos dat ReadFile() WriteFile() while connected DisconnectNamedPipe() Konec spojení CloseHandle() CloseHandle() CloseHandle() Obrázek 2.4: Komunikace serveru a klienta pomocí pojmenované roury s použitím události 2.5 RPC RPC (Remote Procedure Call) umožňuje jednomu procesu (klientovi) vzdáleně volat funkce jiného procesu (serveru) na lokálním či vzdáleném počítači. Tato technologie se využívá také v modelu DCOM, což je nadstavba modelu COM, viz kap. 3. RPC server a klient opět mohou pracovat na jiných platformách (UNIX, MacOS...) a využívat různé transportní protokoly. Více v lit. [13].
26 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE Schránka Schránka (Clipboard) je sdílená paměť mezi všemi oknovými aplikacemi Windows. Přístup ke schránce umožňují aplikacím Windows zprávy. Aplikace nemůže použít tento typ komunikace bez toho, aniž by o tom uživatel aplikace věděl. Vývojář aplikace, která podporuje schránku, implementuje pouze funkce potřebné pro přenos povelů uživatele (např. Copy, Paste, apod.) do formy Windows zpráv. Jelikož různé aplikace používají různé formáty dat, obsah schránky pro ně nemusí být vždy čitelný. Uživatel řídící komunikaci by si měl být vědom toho, zda aplikace, která čte data ze schránky podporuje formát dat aplikace, která data do schránky uložila. Schránku lze použít jen lokálně. Více v lit. [13]. 2.7 DDE DDE (Dynamic Data Exchange) je vylepšením schránky. Je tedy založen čistě na posílání Windows zpráv. Aplikace, která inicializuje spojení, je DDE klientem. Aplikace, která odpovídá, je DDE serverem. Klient a server jsou účastníci DDE konverzace. Klient, resp. server mohou vézt více než jednu konverzaci s různými servery resp. klienty. Pro každou z nich ale musí vytvořit jedno okno. Mezi konverzacemi lze podle potřeby přepínat. Komunikace mezi oběma stranami může probíhat v obou směrech. Každou konverzaci charakterizují tři objekty jméno aplikace (application) - identifikuje server, např. Excel. téma konverzace (topic) - určuje objekt v rámci kterého se budou data přenášet, např. pro aplikace operující s dokumenty je to obvykle jméno souboru. Spolu se jménem aplikace jednoznačně indentifikuje konverzaci. položka (item) - konkrétní data vztahující se ke konverzaci. Lze použít jakýkoliv z předdefinovaných formátů dat používaných pro schránku, nebo nadefinovat vlastní formát dat. Klient také může realizovat jedno nebo více permanentních spojení. Permanentní spojení slouží pro automatické obeznámení klienta o změně datové položky. Toto spojení může být realizováno dvěma způsoby
27 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 11 server pošle pouze oznámení o změně dat ale konkrétní data posílá až na vyžádání klientem. server pří změně dat posílá automaticky vše. Komunikaci pomocí DDE lze použít i na vzdálených počítačích pomocí služby NetDDE (NETDDE.EXE), která musí běžet na obou počítačích účastnících se konverzace. DDE po síti využívá transportní protokol TCP/IP. DDE protokol našel také široké uplatnění v řídící technice, kde se používá hlavně k přístupu k hardware. DDE server pak pomocí ovladače konkrétního hardware zprostředkovává data klientům. V dnešní době se již DDE protokol v řízení samostatně příliš nevyužívá. Byl překonán standardem OPC založeném na komponentovém modelu COM, o kterém pojednávají další kapitoly. Bývá ale využíván v řadě OPC serverů jako mezičlánek komunikace, viz obr Více o DDE v lit. [13] a [14]. Aplikace (visualizace, øídící algoritmy) OPC OPC OPC OPC Server 1 OPC Server 2 OPC Server 3 DDE Zaøízení Server 1 1 DDE Server 2 DDE Server 3 Zaøízení 1 Zaøízení 2 Zaøízení 3 Obrázek 2.5: Využití DDE v OPC 2.8 OLE Technologie OLE (Object Linking and Embedding) byla uvedena ve dvou dost odlišných verzích.
28 KAPITOLA 2. ZÁKLADNÍ TYPY MEZIPROCESOVÉ KOMUNIKACE 12 Verze OLE 1.0 je založena na protokolu DDE, tedy další posílání Windows zpráv. Byl navržen pro vkládání objektů (dokumentů, obrázků...) do objektů jiných aplikací (např. tabulka Excelu do dokumentu Word). Při pokusu o editaci vloženého objektu je automaticky spuštěna instance původního programu (Excel), pokud již neběží. Objekt pak šlo editovat ve své mateřské aplikaci. To by bylo teoreticky možné i pomocí samotného DDE. Ten ale vyžaduje, aby instance původní aplikace byla již aktivní. Využití DDE se ale následně ukázalo jako velice nevhodné a pomalé. Proto byla technologie OLE přepracována. Filozofie OLE 2.0 obsahovala již myšlenku komponentového software. Klient (Word) již mohl využívat služby serveru (Excel) ve svém vlastním prostředí. Tuto funkcioanalitu umožňovaly už předtím také klasické DLL (Dynamic Linked Library) knihovny, které ukrývaly funkce serveru. U nich se ale naráželo na mnoho problémů, viz lit. [7]. Technologie OLE 2.0 všechny tyto problémy řešila. Byla ale dost komplikovaná a vhodná pouze pro určitý typ úloh. Proto byly základní principy zjednodušeny, zobecněny a vznikl model COM, viz. kap. 3.
29 Kapitola 3 Technologie COM 3.1 Úvod Komponentový model COM (Component Object Model) je jednou z možných metod meziprocesové komunikace ve Windows. Použití COM má také další výhodu, kterou je rozdělení původně pouze monolitické aplikace, tj. aplikace tvořené jedním spustitelným souborem obsahující veškerý kód, na jednoznačně oddělitelné části. Jistým způsobem jak vyřešit modularitu programu jsou dynamicky linkované knihovny DLL, se kterými přišla firma Microsoft poprvé v 16bitových Windows. Z důvodů různých nekompatibilit, viz lit. [7], toto řešení přestalo vyhovovat. Nebude-li doplněno jinak, detailnější informace o technikách popsaných v této kapitole lze přehledně najít v lit. [1]. Komponentový objektový model COM se poprvé objevil v roce Jeho předchůdci byly modely OLE a OLE2, viz podkap COM se stal základem vývoje programového vybavení pro platformu Windows. Rozvoj komponentové tvorby softwaru ale tímto krokem neustal. COM technologie se stala také základem pro mnoho dalších jako jsou např. DCOM (Distributed COM ), poskytuje nadstavbové služby pro pro zavádění a komunikaci s komponentami na vzdálených počítačích. COM+, postavena na COM a DCOM s využitím dalších služeb : MTS (Microsoft Transaction Server), prostředí řešící problémy současné obsluhy více klientů, řízení bezpečnosti, administrace a robustního ošetření chybových stavů a MSMQ (Microsoft Message Queue Server), produkt který umožňuje zaznamenávat požadavky na straně klienta do tzv. front zpráv a spolehlivě je přenášet na stranu serveru i při poruchách sítě. 13
30 KAPITOLA 3. TECHNOLOGIE COM 14 OPC (OLE for Process Control) průmyslový standard postavený na COM, používaný pro zprostředkování a archivaci dat v řízení procesů. Tomuto standardu a jeho implementaci i konkrétní aplikaci se věnuje tato práce v pozdějších kapitolách. Management komponent, transaktní slu by MSMQ Technologie volání vzálených funkcí RPC Podpora odpojených aplikací MTS OLE OLE2 COM DCOM COM Vlo ené dokumenty inteligentní editace In-place aktivace zalo ená na komponentové technologii Samostatná komponentová technologie Podpora distribuce komponent v síti Konfigurovatelné komponenty Obrázek 3.1: Historie komponentových modelů 3.2 Komponenty, rozhraní Pod pojmem komponenta se rozumí jednoznačně oddělitelná část aplikace. Ve srovnání s monolitickými aplikacemi lze komponentovou aplikaci schématicky znázornit třeba jako na obr Každá komponentová aplikace, neboli COM server, poskytuje pomocí instancí svých komponent služby jedné nebo více jiným aplikacím, tzv. COM klientům. To, co musí splňovat klient a server, i zajištění mechanismu jejich vzájemného propojení, popisuje právě model COM. Každou komponentu COM lze logicky rozdělit na dvě části, Rozhraní (Interface) a Implementaci. Komponenta může obsahovat více rozhraní a k nim odpovídajících implementací. Z pohledu programovacích jazyků je interface seznamem metod a implementace definicí výkonných těl těchto metod. Rozhraní nesmí obsahovat ani žádná
31 KAPITOLA 3. TECHNOLOGIE COM 15 Monolitická aplikace Komponentová aplikace Komponenta A Komponenta B Komponenta C Obrázek 3.2: Monolitická a komponentová aplikace členská data, která by mohla způsobit nekompatibilitu komponentové aplikace (jako se tomu často stává u klasických DLL knihoven, kde je vše dohromady). Klientská aplikace pak získává pouze ukazatel na rozhraní dané instance komponenty uvnitř serveru, aniž by něco věděla o implementaci tohoto rozhraní. Klient ukazatel na rozhraní rozhraní Komponenta A implementace Obrázek 3.3: Spojení klienta s instancí komponenty Příklad rozhraní a implementace je uveden níže. Příklad je napsaný v jazyce C++, jakož i většina budoucích příkladů, jelikož je tento jazyk použit při tvorbě konkrétních COM komponent v této práci. V jazyce C++ lze nejlépe popsat rozhraní pomocí abstraktní třídy Příklad 3.1 (Deklarace a implementace rozhraní komponenty): class IRetezec { public: virtual int Delka() = 0; }
32 KAPITOLA 3. TECHNOLOGIE COM 16 Implementace rozhraní může vypadat takto : class CRetezec : public IRetezec { int ilen; public: int Delka() {return ilen;}; //konstruktor, destruktor... } Interně je tato komunikace založena na tabulkách virtuálních funkcí. Tabulku virtuálních funkcí má každá abstraktní třída. Pro každou třídu existuje pouze jedna a je sdílena všemi instancemi třídy. Každá instance pak vlastní na tabulku ukazatel. Samotná tabulka obsahuje ukazatele na implementace všech virtuálních metod dané třídy. Klient pak ve skutečnosti získává ukazatel na ukazatel na tabulku virtuálních funkcí. Situace je na obr Komponenta CRetezec Klient Instance tøídy CRetezec vptr Tabulka virtuálních funkcí &CRetezec::Delka Implementace CRetezec::Delka ilen Obrázek 3.4: Realizace spojení klienta a instance komponenty V každém programovacím jazyce umožňujícím tvořit komponenty se deklarace rozhraní provádí různě a ostatní jazyky této deklaraci nerozumí. Proto je nutno vytvořit tzv. binárně kompatibilní rozhraní. Binární kompatibilita znamená, že komponenty mohou být po svém přeložení využívány i klienty vytvořenými v jiných programovacích jazycích. O tom, jak generovat binárně kompatibilní rozhraní pojednává podkap. 3.4.
33 KAPITOLA 3. TECHNOLOGIE COM Rozhraní COM Příklad 3.1 ukazuje jak může vypadat deklarace rozhraní komponenty. Aby tato deklarace vyhovovala pravidlům COM, musí být ještě upravena. Příklad 3.2 (Deklarace rozhraní COM): class IRetezec : public IUnknown { public: virtual HRESULT stdcall Delka( int *pivysledek) = 0; } Základními rozdíly jsou volací konvence stdcall. návratová hodnota funkce typu HRESULT. podmínka implementace rozhraní IUnknown. Volací konvence stdcall říká, jak budou funkci předávány parametry a dále pak, kdo bude parametry odstraňovat(volající, nebo volaná strana). V jazyce C++ je nutno ji použít, pokud chceme zajistit kompatibilitu s ostatními programovacími jazyky Návratové kódy Návratová hodnota funkce typu HRESULT je 32bitové číslo obsahující kód, který popisuje úspěšnost metody. Všechny kódy používané v systému Microsoft Windows lze najít v hlavičkovém souboru winerror.h. Pokud nevyhovují, nebo je potřeba některé dodefinovat, lze vytvořit vlastní hlavičkové soubory, např. v OPC je to OPCError.h. Struktura čísla HRESULT je na obr Sev C R Facility 15 Code 0 Obrázek 3.5: Struktura kódu HRESULT
34 KAPITOLA 3. TECHNOLOGIE COM 18 Bity C (Customer Code Flag), resp. R (Reserved Bit) jsou rezervovány pro Microsoft a mají konstantní hodnotu 1, resp. 0. Bity Sev (Severity Code) můžou nabývat 4 hodnot : Success(0), Informational(1), Warning(2), Error(3). Bity zdroje události (Facility) musí být pro uživatelské kódy nastaveny na hodnotu FACILITY ITF(4), zbytek je rezervován pro Microsoft. Z bitů pro vyjádření konkrétní chyby (Code), lze pro vlastní návratové hodnoty použít rozsah 0x0200-0xFFFF. Každý návratový kód by měl mít nadefinovanou symbolickou hodnotu, která obvykle obsahuje první písmeno nebo dokonce celé slovo z hodnot Sev, např. S OK (0x ), E NOINTERFACE (0x ). Tyto návratové hodnoty používá většina metod, ale jsou i výjimky, např. metody AddRef a Release o kterých se píše v podkap Původní návratovou hodnotu funkce typu int (integer) z příkladu 3.1 lze nyní předat odkazem přes parametr pivysledek IUnknown Rozhraní IUnknown je základním rozhraním každé komponenty. Řídí životnost instance komponenty a umožňuje klientům dotázat se na rozhraní, která komponenta podporuje. Každá komponenta musí implementovat metody IUnknown uvedené v tab Metoda AddRef Release QueryInterface Popis Inkrementuje počítadlo referencí, neboli počet odkazů na instanci komponenty od všech připojených klientů. Metoda vrací aktuální počet referencí. Dekrementuje počítadlo referencí. Pokud počítadlo klesne na hodnotu 0, komponenta se může sama odstranit z paměti. Metoda vrací aktuální počet referencí. Slouží k dotazu na existující rozhraní implementované komponentou. Tabulka 3.1: Seznam metod rozhraní IUnknown Nyní lze rozvést příklad implementace rozhraní z př. 3.2.
35 KAPITOLA 3. TECHNOLOGIE COM 19 Příklad 3.3 (Implementace rozhraní COM): class CRetezec : public IRetezec { int ilen; ULONG ulrefcount; public: //metody rozhrani IRetezec HRESULT stdcall Delka( int *pivysledek); //metody rozhrani IUnknown ULONG stdcall AddRef( VOID); ULONG stdcall Release( VOID); HRESULT stdcall QueryInterface ( REFIID riid, LPVOID *ppvobject); //konstruktor, destruktor... } Implementace konstruktoru a destruktoru je závislá na realizaci komponenty a na jejím apartmentu, viz podkap Ostatní metody lze implementovat třeba takto : HRESULT stdcall CRetezec::Delka ( int *pivysledek) { if (!pivysledek) return E_INVALIDARG; *pivysledek = ilen; return S_OK; } ULONG stdcall CRetezec::AddRef ( VOID) { ++ulrefcount; return ulrefcount; }
36 KAPITOLA 3. TECHNOLOGIE COM 20 ULONG stdcall CRetezec::Release( VOID) { if (--ulrefcount!= 0) return ulrefcount; delete this; return 0; } HRESULT stdcall CRetezec::QueryInterface( IID riid, LPVOID *ppvobject) { if (!ppvobject) return E_INVALIDARG; } if (riid == IID_IRetezec) { *ppvobject = (IRetezec*) this; } else if (riid == IID_IUnknown) { *ppvobject = (IUnknown*) this; } else { *ppvobject = NULL; return E_NOINTERFACE; } AddRef(); return S_OK; Metoda QueryInterface (nezávsile na apartmentu a realizaci) musí splňovat následující požadavky rozhraní IUnknown je jedinečné, tzn. vždy získáme stejné rozhraní IUnknown. pokud se nám podaří pomocí QueryInterface získat ukazatel na rozhraní, musí se to
37 KAPITOLA 3. TECHNOLOGIE COM 21 podařit znovu i v budoucnu. Naopak, pokud jednou metoda při dotazu na rozhraní skončí neúspěšně, ani v budoucnu úspěšná nebude. metoda je reflexivní, tzn. že si můžeme vyžádat ukazatel na rozhraní, které již máme. metoda je symetrická, tzn. že se vždy můžeme vrátit k rozhraní ze kterého jsme vyšli. Máme-li např. ukazatel na rozhraní IUnknown a pomocí jeho metody Query- Interface získáme rozhraní IRetezec, musíme být schopni pomocí rozhraní IRetezec a jeho metody QueryInterface získat zpátky ukazatel na rozhraní IUnknown. metoda je tranzitivní, tzn. že se vždy můžeme dostat k danému rozhraní z jiného libovolného rozhraní téhož objektu, pokud jsme se k němu již odněkud dostali. metoda automaticky inkrementuje počitadlo referencí voláním metody AddRef. O dekrementaci počitadla se pak musí postarat klient voláním Release. IUnknown IRetezec CRetezec Obrázek 3.6: Schematická značka komponenty CRetezec GUID Příklad 3.3 používá v metodě QueryInterface parametr riid, který je typu IID. IID (Interface IDentifier) je datová struktura zastupující celosvětově jedinečné 128bitové číslo. Obecně se takovému číslu říká GUID (Globally Unique IDentifier) či UUID (Universally Unique IDentifier). Zkratka IID se většinou používá v kontextu s identifikací rozhraní. Nejen rozhraní, ale i komponenty a další objekty musí mít své GUID, pro každý z nich se ale číslu GUID říká jinak. Záleží jen na typu objektu, jaká zkratka se použije (viz obr. 3.7), struktura čísla je ale stejná. Firma Microsoft nabízí různé nástroje, které umí generovat GUID. Jsou to např. programy guidgen.exe nebo uuidgen.exe.
38 KAPITOLA 3. TECHNOLOGIE COM 22 GUID/UUID IID Interface IDentifier GUID pro rozhraní CLSID ClasS IDentifier GUID pro komponenty LIBID LIBrary IDentifier GUID pro typové knihovny 3.4 Jazyk IDL Obrázek 3.7: Přehled identifikačních čísel Jazyk IDL (Interface Definition Language) byl původně navržen organizací OSF (Open Software Foundation), která ho využívala pro metody vzdáleného spouštění funkcí RPC, viz podkap IDL i RPC byly firmou Microsoft přejaty, rozšířeny a využity v technologiích COM a DCOM. IDL není programovacím jazykem v pravém smyslu slova. Slouží pouze k popisu rozhraní komponenty a k přeložení tohoto rozhraní do binárně kompatibilní formy. Vlastní implementace rozhraní komponenty se již provede v C++, Java, VB apod. Následující příklad ukazuje jak lze definici rozhraní z př. 3.2 přepsat v jazyce IDL. Příklad 3.4 (Deklarace rozhraní COM v jazyce IDL): import "unknnw.idl"; [object,uuid ( abcd )] interface IRetezec:IUnknown { HRESULT Delka ([out, retval] int *pivysledek); } Definice se skládá z těchto hlavních částí výraz import unknnw.idl ; vloží do souboru obsah souboru unknnw.idl, což je IDL popis rozhraní IUnknown. atributy rozhraní uvedené v hranatých závorkách : object - říká že definujeme rozhraní, uuid - IID identifikující rozhraní, viz podkap
39 KAPITOLA 3. TECHNOLOGIE COM 23 klíčové slovo interface, název rozhraní, dvojtečka a jméno rodičovského rozhraní. složené závorky obsahující deklarace jednotlivých metod rozhraní, doplněných atributy. Základní z nich jsou uvedeny v tab Atribut [in] [out] [in, out] [out, retval] Význam Data jsou naplněna volající stranou a jsou přenesena pouze v jednom směru - od klienta ke komponentě Data jsou naplněna volanou stranou a přenáší se od komponenty ke klientovi Parametr je přenášen oběma směry Stejné jako out, jen s bližším označením návratové hodnoty pro jazyky jako VB, Java Tabulka 3.2: Základní typy parametrů pro deklarace metod v jazyce IDL Takový obsah IDL souboru ale ještě nestačí k vygenerování binárně kompatibilního rozhraní, tzv. typové knihovny. Do souboru je ještě nutno přidat následující řádky Příklad 3.5 (Deklarace typové knihovny v jazyce IDL): [uuid ( ), helpstring("retezec Type Library"), version (1.0)] library Retezec { importlib("stdole32.tlb"); interface IRetezec; } [uuid( ] coclass CGenerator { interface IGenerator; }
40 KAPITOLA 3. TECHNOLOGIE COM 24 Hlavní části jsou tyto skupina atributů knihovny v hranatých závorkách: uuid - LIBID, viz podkap , identifikující typovou knihovnu, helpstring - výraz blíže definující jméno typové knihovny. Tento výraz se pak zobrazuje v různých OLE prohlížečích, version - výraz definující verzi knihovny, taktéž zobrazovaný v OLE prohlížečích. klíčové slovo library a název souboru knihovny - typová knihovna pak bude uložena v souboru Retezec.tlb, vše pod tímto řádkem bude součástí knihovny. klíčové slovo importlib s názvem již hotové knihovny - vloží knihovnu stdole32.tlb, která obsahuje definice standardních rozhraní (IUnknown apod.). klíčové slovo interface s názvem rozhraní - vloží do knihovny definici rozhraní. atributy komponenty v hranatých závorkách: uuid - CLSID identifikující komponentu. klíčové slovo coclass definující komponentu CGenerator, ve složených závorkách je pak seznam rozhraní, která komponenta implementuje. Toto samozřejmě nejsou jediné příkazy, které může IDL soubor implementovat. Další klíčová slova lze najít v lit. [10]. K vygenerování typové knihovny již stačí jen zkompilovat IDL soubor kompilátorem MIDL. Kompilátor vygeneruje tyto soubory Retezec.h - hlavičkový soubor pro C/C++. Retezec i.c - definice GUID konstant, viz podkap Retezec p.c - kód pro objekty proxy/stub, viz podkap dlldata.c - data marshalling kód. Retezec.tlb - typová knihovna. První dva soubory se obvykle používají pří implementaci rozhraní komponenty v C/C++. Všechny čtyři soubory se taktéž dají použít k vytvoření standardní marshalovací DLL knihovny, viz podkap Typová knihovna tak vlastně určuje, jak bude vypadat virtuální tabulka funkcí pro dané rozhraní. Pro rozhraní IRetezec by vypadala jako na obr Existují programovací jazyky, které nedokáží před zpracováním kódu typovou knihovnu načíst. Jedná se hlavně
41 KAPITOLA 3. TECHNOLOGIE COM 25 o skriptovací jazyky (VBScript, JScript apod.), dále VBA (Visual Basic for Applications), ale i rané verze Visual Basicu. Aby i tyto jazyky mohly využít metod komponenty, musí komponenta implementovat rozhraní automation. Automation rozhraní je dobře popsáno v lit. [1]. 3.5 Realizace COM serveru COM server může být realizován jako takzvaný in-process (DLL, OCX, AX,... soubor) nebo out-of-process (EXE soubor). In-process server ke svému životu potřebuje vždy nějaký hostitelský proces. Běží-li in-process server na stejném počítači jako klientská aplikace, je tímto procesem klientská aplikace, běží-li na vzdáleném počítači, vytvoří se speciální proces zvaný surrogate. Out-of-process server má vždy svůj vlastní proces Apartmenty Každá komponenta potřebuje ke svému životu Apartment, tedy jakýsi byteček. Pro Apartmenty platí apartment je skupina objektů(instancí komponent) v rámci procesu. každý objekt náleží právě do jednoho procesu. každý proces může obsahovat několik apartmentů. apartmenty se používají pro mapování vláken k objektům. Objektový model COM definuje dva základní typy apartmentů STA (Single-Threaded Apartment) - může obsahovat pouze jedno výkonné vlákno. Kód jednotlivých komponent umístěných v tomto apartmentu není vykonáván pararelně a volání metod komponent jsou serializovány do formy Windows zpráv. Tak je automaticky zajištěno jejich postupné vykonávání a synchronizace. MTA (Multi-Threaded Apartment) - metody komponent v tomto apartmentu můžou být vykonávány více vlákny zároveň. Na komponenty jsou v tomto případě kladeny větší požadavky a musí být více-vláknově bezpečné.
42 KAPITOLA 3. TECHNOLOGIE COM 26 Můj COM server je realizován jako out-of-process a využívá MTA apartment. Důvody jsou uvedeny v podkap Každý proces může obsahovat pouze jeden MTA apartment. První vlákno procesu, které chce vstoupit do MTA apartmentu, zároveň tento apartment založí. Pro práci s apartmentem existují funkce Win API uvedené v tab Atribut CoInitializeEx CoUninitialize Význam Přiřadí vláknu apartment. V dalším kódu pak musí být někdy volaná párová inverzní operace CoUninitialize. Odebere vláknu apartment. Tabulka 3.3: Funkce pro založení apartmentu Předávání ukazatelů a parametrů mezi klientskou aplikací a out-of-process serverem není jednoduchá záležitost, jelikož mají oba procesy různý adresový prostor. Dochází zde k přeměně parametrů do nezávislé přenositelné podoby, tzv. marshalování parametrů. Obecně k je potřeba zajistit marshalování parametrů i v rámci jednoho procesu (v případě in-process komponent) vždy když je klientské vlákno umístěno v apartmentu, který není kompatibilní s apartmentem, v němž byla vytvořena instance komponenty. Kompatibilita apartmentů je pěkně popsána v lit. [1] Marshalování parametrů Při marshalování parametrů je spojení klienta a serveru zajišťováno pomocí dvou mezičlánků - proxy a stub. Proxy zastupuje instanci komponenty na straně klienta a stub je prostředníkem na straně instance komponenty. Klient pak ve skutečnosti místo volání metod rozhraní komponenty, volá metody rozhraní proxy, které je předává objektu stub. Ten tyto klientské požadavky realizuje voláním metod skutečné instance komponenty. V závislosti na typu přenášených parametrů máme 3 možnosti jak je převést do nezávislé přenositelné podoby, neboli jak realizovat marshalování marshalování typovou knihovnou (Type Library Marshaling) - využívá knihovnu oleaut32.dll, která je standardní součástí operačního systému. Tato knihovna obsahuje potřebný marshalovací kód pro objekty proxy a stub. Podporuje ale pouze parametry které jsou OLE Automation kompatibilní, viz tab standardní marshalování (Standard Marshaling) - marshalovací knihovna je vytvořena ze souborů generovaných MIDL kompilátorem. Podporuje všechny typy
Architektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.
Architektura COM doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Historie Component Object Model (COM)
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
Common Object Request Broker Architecture
Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services
13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -
Sdílení dokumentů ve stávajícím informačním systému
VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky Sdílení dokumentů ve stávajícím informačním systému 2006 Prohlášení diplomanta Prohlašuji, že jsem
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
RMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
java remote method invocation Kateřina Fricková, Matouš Jandek
java remote method invocation Kateřina Fricková, Matouš Jandek Distribuovaný systém počítačový systém, ve kterém jsou jednotlivé komponenty propojeny počítačovou síťí komponenty systému sdílí cíl, kterého
ČÁST 1. Základy 32bitového programování ve Windows
Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25
CAL (CAN Application Layer) a CANopen
CAL (CAN Application Layer) a CANopen J. Novák České vysoké učení technické v Praze Fakulta elektrotechnická Katedra měření Průmyslový distribuovaný systém na bázi sběrnice CAN Pressure sensor Stepper
Instalace a konfigurace web serveru. WA1 Martin Klíma
Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/
Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA
Common Object Request Broker Architecture FJFI ČVUT 9. 12. 2010 Osnova 1 2 3 4 5 Standard umožňující propojení aplikací psaných v různých jazycích a běžících na různých strojích a architekturách. Definuje
Úvod do Web Services
Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Identifikátor materiálu: ICT-3-03
Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace
Komunikace s automaty MICROPEL správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace MICROPEL 02/2014 Základní správu automatu tvoří činnosti: Nastavení základních
Komponenty v.net. Obsah přednášky
doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování
Nové jazykové brány do Caché. Daniel Kutáč
Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM
SSL Secure Sockets Layer
SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou
Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno
Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Diplomová práce Průmyslová automatizace s využitím OPC
České vysoké učení technické v Praze fakulta elektrotechnická katedra řídicí techniky Diplomová práce 2003 i Zadávací formulář ii Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
Real Time programování v LabView. Ing. Martin Bušek, Ph.D.
Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití
SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.
SIMATIC S7-200 243-1 2005, Page 1 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server (SINAUT MICRO SC,
Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux
KONTAKT 2011 Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux Autor: Rostislav Lisový (lisovy@gmail.com) Vedoucí: Ing. Pavel Píša, Ph.D. (pisa@cmp.felk.cvut.cz) Katedra řídicí techniky
STRUČNÝ NÁVOD K POUŽITÍ
STRUČNÝ NÁVOD K POUŽITÍ REPOTEC RP-IP0613 Úvod Bandwidth manager REPOTEC (dále jen BM) je levný a jednoduchý omezovač rychlosti pro jakékoliv sítě založené na protokolu TCP/IP. Velice snadno se ovládá
Windows a real-time. Windows Embedded
Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé
Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.
Aplikační vrstva http-protokol, díky kterému je možné zobrazovat webové stránky. -Protokol dokáže přenášet jakékoliv soubory (stránky, obrázky, ) a používá se také k různým dalším službám na internetu
TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.
Katalogový list www.abetec.cz Software WinWedge Professional pro sběr dat 15-1003E Obj. číslo: 106001285 Výrobce: Mark-10 Corporation Anotace Přenáší data do libovolného programu Windows. Poskytuje plný
Počítačové sítě. Lekce 4: Síťová architektura TCP/IP
Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol
Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13
Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace
Popis programu EnicomD
Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry
SNMP Simple Network Management Protocol
SNMP Simple Network Management Protocol Vypracoval: Lukáš Skřivánek Email: skrivl1@fel.cvut.cz SNMP - úvod Simple Network Management Protocol aplikační protokol pracující nad UDP (porty 161,162) založený
Souborové systémy Mgr. Josef Horálek
Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Softwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
EFEKTIVNÍ NÁVRH FUZZY SYSTÉMŮ V PROSTŘEDÍ FUZZYDESIGNER, MATLAB A SIMULINK. Renata Pytelková, Jan Kolínský, Petr Horáček. ProTyS a.s.
EFEKTIVNÍ NÁVRH FUZZY SYSTÉMŮ V PROSTŘEDÍ FUZZYDESIGNER, MATLAB A SIMULINK Renata Pytelková, Jan Kolínský, Petr Horáček ProTyS a.s. Abstrakt: FuzzyDesigner je nový programový balík určený pro návrh a implementaci
Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.
Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení
Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou
Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním
9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,
9. Sítě MS Windows MS Windows existoval ve 2 vývojových větvích 9x a NT, tyto později byly sloučeny. V současnosti existují aktuální verze Windows XP a Windows 2003 Server. (Očekává se vydání Windows Vista)
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory
Uživatelský modul. DF1 Ethernet
Uživatelský modul DF1 Ethernet APLIKAC NÍ PR ÍRUC KA POUŽITÉ SYMBOLY Použité symboly Nebezpečí Důležité upozornění, jež může mít vliv na bezpečí osoby či funkčnost přístroje. Pozor Upozornění na možné
QAD CRM. Vladimír Bartoš. konzultant
QAD CRM Vladimír Bartoš konzultant Integrace QAD CRM QAD EA Artikly Adresy Nabídky Prodejní objednávky Instalovaná báze Servisní volání Servisní kontrakty Servisní nabídky Nabídky volání Měny Uživatelé
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
Administrace služby - GTS Network Storage
1. Návod k ovládání programu Cisco VPN Client (IP SECový tunel pro přístup GTS Network Storage) Program Cisco VPN client lze bezplatně stáhnout z webových stránek GTS pod odkazem: Software ke stažení http://www.gts.cz/cs/zakaznicka-podpora/technicka-podpora/gtspremium-net-vpn-client/software-ke-stazeni.shtml
Internet Information Services (IIS) 6.0
Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se
C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí
C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow
Programování v jazyce C a C++
Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace
Seznámení s Quidy. vstupní a výstupní moduly řízené z PC. 2. srpna 2007 w w w. p a p o u c h. c o m
vstupní a výstupní moduly řízené z PC 2. srpna 2007 w w w. p a p o u c h. c o m Seznámení s Quidy Katalogový list Vytvořen: 1.8.2007 Poslední aktualizace: 2.8 2007 12:16 Počet stran: 16 2007 Adresa: Strašnická
Popis B2B rozhraní pro elektronickou neschopenku
Popis B2B rozhraní pro elektronickou neschopenku Historie dokumentu Verze Datum Změny 0.9 30. 4. 2019 Vytvoření dokumentu Obsah 1 Účel dokumentu... 3 2 Charakteristika rozhraní... 3 2.1 Způsob komunikace...
Zajištění kvality služby (QoS) v operačním systému Windows
VŠB TU Ostrava Směrované a přepínané sítě Zajištění kvality služby (QoS) v operačním systému Windows Teoretické možnosti aplikace mechanismů zabezpečení kvality služby (QoS) v nových verzích MS Windows
OPERAČNÍ SYSTÉM. Informační a komunikační technologie
OPERAČNÍ SYSTÉM Informační a komunikační technologie Operační systém počítače Definice - charakteristika Je soubor programů, které zajišťují základní činnosti počítače (vstup a výstup dat, zpracování uživatelského
Obsah SLEDOVÁNÍ PRÁCE... 4
Co je nového Obsah SLEDOVÁNÍ PRÁCE...... 4 Konfigurace souboru... 5 Globální konfigurace... 6 Soubory... 6 Projekty... 6 Uživatelské rozhraní... 7 Synchronizace... 7 Typ serveru... 8 Test připojení...
Copyright 2001, COM PLUS CZ a.s., Praha
Základní informace: CP Call je CTI (Computer Telephony Integration) aplikace. Jedná se tedy o vzájemné propojení osobního počítače a telefonního přístroje. Je vytvořena podle standardu CSTA (Computer Supported
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Jihočeská univerzita v Českých Budějovicích
Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra informatiky Propojení.NET s MS Office Bakalářská práce Daniel Domin Vedoucí práce : Ing. Petr Vaněček, Ph.D. České Budějovice 2007
K8055D.DLL v5.0.0.0. Technická příručka. Úvod. Obecné. Konvence volání. Nastavení adresy karty
K8055D.DLL v5.0.0.0 Technická příručka Úvod Obecné Experimentální USB deska K8055N má 5 digitálních vstupních kanálů a 8 digitálních výstupních kanálů. Kromě toho jsou na desce dva analogové vstupy, dva
Profilová část maturitní zkoušky 2014/2015
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
Internetový obchod ES Pohoda Web Revolution
Internetový obchod ES Pohoda Web Revolution Uživatelský manuál propojení na ES Pohoda Verze 1.0 Web Revolution s.r.o. 2010 Internetový obchod ES Pohoda Uživatelský manuál na propojení na ES Pohoda Přehled
Více o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.
Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Operační systém TCP/IP TCP spojení TCP/IP Pseudo terminal driver Operační systém
Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25
Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci
3.17 Využívané síťové protokoly
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.
Vstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS Pro přístup do administrace služby GTS Bezpečný Internet používejte zákaznický WebCare GTS Czech, který je přístupny přes webové
Wonderware Information Server 4.0 Co je nového
Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat
EXTRAKT z technické normy ISO
EXTRAKT z technické normy ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Kooperativní ITS Zkušební architektura ISO/TS 20026
PROPOJENÍ EASY-OPC SERVER A MICROSOFT EXCEL
PROPOJENÍ EASY-OPC SERVER A MICROSOFT EXCEL 1.Úvod V průmyslu dochází k mohutnému rozšiřování řídících systémů, čímž narůstá množství dat, která musíme přenášet mezi jednotlivými částmi technologického
DÁLKOVÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ V PROSTŘEDÍ CONTROL WEB 5
1 DÁLKOVÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ V PROSTŘEDÍ CONTROL WEB 5 VŠB - Technická Univerzita Ostrava, Katedra automatizační techniky a řízení Příspěvek popisuje způsoby přístupů k řídicím systémům na nejnižší
ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím)
Object 12 3 Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Obor: Mechanik Elektronik Ročník: 4. Zpracoval(a): Bc. Martin Fojtík Střední
l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci
l Kontakt s klientem SSP automatizované komunikace s ÚP ČR v součinnosti a exekuci Obsah: 1. SEZNAM POUŽITÝCH ZKRATEK... 3 2. POPIS SLUŽBY... 4 2.1 Forma a struktura rozhraní... 4 2.2 Dostupnost služby...
úvod Historie operačních systémů
Historie operačních systémů úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován
Kapitola 1: Co je Delphi 19. Překlad projektu 23
Obsah Úvod 15 Pro koho je tato kniha 15 Obsah jednotlivých kapitol knihy 16 Typografické konvence 17 Použité ikony 17 Kontakt na autora 17 Poděkování 18 Kapitola 1: Co je Delphi 19 Verze Delphi 19 Co je
Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.
Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common
Konstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP
Elektronická pošta Schéma e-pošty odesilatel UA disk SMTP fronta dopisů disk MTA SMTP MTA adresát UA disk POP IMAP poštovní schránka disk MTA SMTP UA (User Agent) rozhraní pro uživatele MTA (Message Transfer
Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI
1 Architektura SCSI 2 ParalelnírozhraníSCSI Sběrnice typu multimaster. Max. 8 resp. 16 zařízení. Různé elektrické provedení SE (Single Ended) HVD (High Voltage Differential) LVD (Low Voltage Differential)
Požadavky pro výběrová řízení TerraBus ESB/G2x
Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu
Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
SIMATIC S7-200 - GPRS. Micro Automation. Promoters Meeting October 2005. Aplikace pro GPRS. Vzdálená stanice. Server SINAUT MICRO SC.
SIMATIC S7-200 - GPRS 2005, Page 1 WORKSHOP S7-200 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server
Nastavení DCOM. Uživatelský manuál
Nastavení DCOM Uživatelský manuál Obsah Úvod... 2 Nastavení DCOM pro počítač Hostitel... 3 Operační systém Windows XP... 3 Nastavení vlastností DCOM na Windows XP... 3 Rozšířená nastavení DCOM na Windows
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.
Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící
Vytvoření.NET komponenty (DLL) ve Visual Studiu
Jak vytvořit.net komponentu (DLL, COM Class) pro Excel? A proč? A co k tomu budeme potřebovat? Velký Visual Basic (dnes VB.NET) se rozešel s Visual Basicem pro aplikace (VBA) před cca 16 lety. A i když