Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=128&lang=405, vytištěno: 01.05.2025 7:46:37
Hlavní stránka▹Produkty▹Programový systém Control Web▹Předchozí verze systému Control Web▹Control Web 2000▹Control Web 2000 pro Windows CE | 2.8.2004 |
---|
Platnost tohoto pořekadla zjevně není omezena jen na průmysl oděvní konfekce, ale vztahuje se prakticky na všechna průmyslová odvětví. Různé tržní segmenty a různé oblasti použití mění kritéria užitečnosti a kvality každého výrobku a tím nutí výrobce modifikovat své produkty pro různé zákazníky. V oblasti informačních technologií existují také různá kritéria vhodnosti a užitečnosti - u stolního počítače preferujeme maximální výkon téměř bez ohledu na spotřebu energie a hmotnost, u přenosného počítače se raději spokojíme s menším výkonem, ale vyžadujeme nízkou hmotnost a dlouhý provoz na baterie, u osobního organizéru je nízká hmotnost a spotřeba téměř vším... |
Platnost tohoto pořekadla zjevně není omezena jen na průmysl oděvní konfekce, ale vztahuje se prakticky na všechna průmyslová odvětví. Různé tržní segmenty a různé oblasti použití mění kritéria užitečnosti a kvality každého výrobku a tím nutí výrobce modifikovat své produkty pro různé zákazníky. V oblasti informačních technologií existují také různá kritéria vhodnosti a užitečnosti - u stolního počítače preferujeme maximální výkon téměř bez ohledu na spotřebu energie a hmotnost, u přenosného počítače se raději spokojíme s menším výkonem, ale vyžadujeme nízkou hmotnost a dlouhý provoz na baterie, u osobního organizéru je nízká hmotnost a spotřeba téměř vším. Podobná diverzifikace panuje i v softwarovém průmyslu, i když v této oblasti jsou rozdíly v očích veřejnosti méně patrné. Přesto pro odborníky představují různá nasazení operačních systémů a aplikací naprostou změnu kritérií, podle nichž jsou softwarové projekty konstruovány i hodnoceny. Pomiňme rozdílnost konceptů klientských aplikací, zaměřených stále více na snadnost a bezproblémovost obsluhy a současně na estetickou stránku produktu a serverových aplikací, které často poskytují pouze spartánské uživatelské rozhraní, neboť předpokládají, že je budou obsluhovat lidé znalí, a soustředí se na vlastní funkčnost, efektivitu využití zdrojů počítače apod. Namísto toho se soustřeďme na kritéria důležitá pro schopnost systémů a aplikací pracovat ve strojích, rozvaděčích a jiných zabudovaných aplikacích, tedy na velikost potřebných zdrojů počítače (především velikosti paměti, ale i výkonu procesoru) pro práci systému, na schopnost systému pracovat v reálném čase, zotavit se z náhlých vypnutí apod. Pracovní stanice a serveryNikdo se již nediví nepřetržitému nárůstu výkonu procesorů a kapacit pamětí ve stolních i přenosných počítačích a serverech. A tak zatímco první PC/XT mělo problémy s dostatečně rychlým obnovením textové obrazovky a první PC/AT jen obtížně překreslovalo okna s jednoduchým grafickým uživatelským rozhraním, dnešní uživatelská rozhraní oplývají efekty animací, průhlednosti apod. Dlouhodobým vývojem se vytříbila kritéria pro návrh počítačů, operačních systémů i aplikací pro osobní počítače i servery:
Všechny zde uvedené body platí i pro nejrozšířenější operační systémy řady Windows NT/2000 firmy Microsoft. Ačkoliv systémy přepínání procesů a mezi-procesové synchronizace jsou v prostředí Win32 navrženy z hlediska kancelářských, inženýrských i serverových aplikací velice dobře, jejich reakční doby nejsou deterministicky určitelné a tedy není možné zaručit reakci aplikace na události do určité doby. Typickým architektonickým rysem operačních systémů Windows NT/2000 znemožňujícím deterministické určení doby přepnutí výpočetního kontextu z jednoho procesu na druhý je tzv. inverze priorit. Veškerá činnost aplikací v systémech Win32 je prováděna tzv. prováděcími toky. Každý proces (aplikace) má alespoň jeden takový tok, ale může jich být i více. Na počítači vybaveném jediným procesorem sice může v každém okamžiku běžet právě jediný prováděcí tok, ale systém jejich vykonávání po krátkých časových intervalech řádu desítek až stovek milisekund střídá, takže pro uživatele vytváří dojem jejich současné činnosti. O změnu kontextu vykonávání z jednoho prováděcího toku na druhý se stará část operačního systému zvaná plánovač. Aby bylo možné práci více toků účinně řídit, operační systém nabízí aplikacím řadu programových rozhraní umožňující synchronizaci jejich provádění. Tak může jeden prováděcí tok zastavit svou činnost (plánovač mu nebude přidělovat čas procesoru) do doby, než jiný prováděcí tok ukončí nějakou činnost. Jinými slovy jeden prováděcí tok čeká na jiný tok. Co se ale stane, pokud prováděcí tok s vysokou prioritou čeká na tok s nízkou prioritou? Může vzniknou paradoxní situace, že prováděcí tok s vysokou prioritou stojí, neboť čeká na jiný prováděcí tok s nízkou prioritou, který se nemůže dostat ke slovu, neboť plánovač přiděluje procesor dalšímu toku se střední prioritou. Toto situaci řeší operační systém tak, že dočasně zvětší prioritu prováděcímu toku, na který čeká jiný tok s vysokou prioritou, aby byla splněna podmínka že toky s vysokou prioritou se provádí přednostně před toky s nízkou prioritou. Problém vyvstane ve chvíli, kdy se stejná situace opakuje rekurzívně - i prováděcí tok s právě zvýšenou prioritou může čekat na další tok s nízkou prioritou. Systémy Windows NT/2000 na takovou situaci pamatují a prohledávají tyto řetězce závislostí s předem neurčenou délkou. V důsledku toho sice systém ctí prioritu prováděcích toků, ale doba přepnutí kontextu z jednoho prováděcího toku na druhý je v principu nedeterministická. Windows CE - předefinování požadavků na operační systémV historii firmy Microsoft existuje několik snah proniknout na trh zabudovaných aplikací, například projekt Windows At Work, který zcela neuspěl především díky požití nespolehlivého 16 bitového kódu systémů MS-DOS a Windows v3.1 a naprosté závislosti na architektuře Intel x86. Po dalších neúspěšných pokusech vyvinout zcela nový objektový operační systém (projekt Pulsar) dostal podporu systém Windows CE (podle neoficiální interpretace písmena CE značí Consumer Electronics, česky spotřební elektronika), určený právě pro práci v zabudovaných aplikacích bez pevného disku a s omezenými zdroji. Hlavní předností systému Windows CE (a také částečně jeho nedostatkem) je snaha o zachování kompatibility aplikačního programového rozhraní s ostatními systémy Windows. Ačkoliv je systém napsán zcela znovu (není v něm obsažen kód převzatý z jiných implementací Windows), Syntaxe a chování funkcí jeho programového rozhraní je až na pár výjimek shodná s jinými systémy. Tak je sice řada parametrů různých funkcí nevyužita a parametry jsou předávány zbytečně (Windows CE kupříkladu nepodporují zabezpečení, jak je známe z Windows NT/2000), ale na druhé straně programátoři API systémů Windows znají a tyto znalosti mohou zužitkovat při vývoji aplikací pro Windows CE, což se ukazuje jako velmi silná zbraň v boji za získání popularity. Celou architekturu ovlivnila sada základních požadavků:
Některé cíle se podařilo splnit lépe, jiné hůře.
Přes všechny nedostatky představují Windows CE univerzální platformu, která díky své dostupnosti, podobnosti s jinými systémy Windows, relativní bezproblémovosti implementace (ve srovnání s úsilím nutným k implementaci jiných platforem) a široké podpoře vývojových nástrojů získává na popularitě a stále častěji se stává volbou výrobců systémů pro průmyslovou automatizaci. Windows CE před jinými systémy pomáhá mimo popularity platformy Windows a síly firmy Microsoft také jejich robustní návrh a otevřenost k aplikacím třetích stran. Jiné systémy reálného času jsou často navrhovány spíše jako sada knihoven pro plánováni času a podporu periferií a aplikace bývá zaintegrována do celého obrazu systému ve fázi jeho překladu a chyby aplikace ohrožují celý systém. Kupříkladu podpora pro oddělené paměťové prostory jednotlivých procesů bývá často dodávána jako volitelná komponenta, pokud je vůbec k dispozici. Control Web Runtime pro Windows CEPřes dostupnost vývojových prostředků Microsoft Embedded Visual C++ a Visual Basic bývá největším problémem nasazení Windows CE tvorba programového vybavení. Řada výrobců začíná nabízet systém Windows CE pro zabudované aplikace na platformě PC. Oproti jiným verzím Windows to přináší řadu výhod, například schopnost práce bez pevného disku, možnost bezproblémového vypnutí bez nebezpečí poškození souborů na disku a ohrožení dalšího startu systému, rychlý start aplikace po zapnutí apod. Probléme ale je jak vytvořit aplikaci samotnou. Začít psát aplikaci přímo v jazyce C nebo C++, přitom studovat programové rozhraní systému a jeho zvláštnosti, ladit ji a testovat, to si mohou dovolit jen velké společnosti, které mají potřebné programátorské zázemí a které předpokládají nasazení aplikace ve velkých objemech schopných uhradit vysoké vývojové náklady. Pro jednotlivá navzájem se dosti lišící nasazení je použití základních vývojových nástrojů krajně nevhodné a neekonomické. Řešením problému jak Windows CE v průmyslovém PC oživit je systém rychlého vývoje průmyslových vizualizačních a řídicích aplikací Control Web 2000. Control Web je široce rozšířen v prostředí systémů Windows NT/2000 v průmyslu i ve středních a vysokých školách. Řada techniků, aplikačních inženýrů i studentů jej zná a dokáže efektivně využívat jeho bohatých možností. Ačkoliv aplikace systému Control Web pracují ve velmi velkých systémech skládajících se z řady počítačů propojených lokálními i vzdálenými sítěmi a k dispozici je i verse spolupracující se systémy Windows 2000 Advanced Server zapojenými do clusteru, na druhé straně minimální požadavky na počítač schopný provozovat aplikaci odpovídají požadavkům pro běh alespoň systémů Windows 95/98 (pro spolehlivý dlouhodobý chod aplikací je vždy lépe použít Windows 2000). Verse Control Web Runtime pro Windows CE umožňuje nasadit aplikaci na všech počítačích na nichž pracuje systém Windows CE verze 3.0. Tedy nejen na počítačích s architekturou PC a FLASH pamětí namísto pevného disku, ale i na počítačích s procesory ARM či MIPS. Zvláštnosti systému Windows CE se do jisté míry promítají i do návrhu Control Web Runtime pro Windows CE. Především Windows CE není možné koupit jako maloobchodní produkt, systém je vždy dodáván prostřednictvím OEM partnerů jako součást počítačů. Tím vzniká problém s velkou variantností konfigurace Windows CE, neboť OEM výrobce rozhoduje, které komponenty do systému zabuduje a které ne. Další problém je s instalací produktu. Jen několik implementací Windows CE (například Pocket PC a H/PC) podporuje standardní způsob instalace přes stolní počítač a rozhraní ActiveSync, řada dalších implementací toto rozhraní nemá k dispozici. Na rozdíl od stolního počítače, kdy zákazník vloží CD-ROM do mechaniky a o další se postará systém, v případě Windows CE je to složitější. Distribuce Control Web Runtime pro Windows CE se snaží situaci maximálně ulehčit i zákazníkům bez hlubších znalostí operačních systémů Windows.
Jak už bylo řečeno, Control Web Runtime pro Windows CE nepodporuje úplně všechny vlastnosti dostupné ve verzi pracující ve Windows NT/2000. V naprosté většině je to dáno přímo omezeními Windows CE. K typickým omezením patří absence permanentního přepisovatelného paměťového média. V zabudovaných aplikacích bývá často k dispozici jen paměť FLASH, na níž je emulován IDE disk. Ovšem takový disk je omezen množstvím zápisových cyklů, které bývá v řádech tisíců až desítek tisíců. Velmi rychlý zápis může takový disk zničit během relativně krátké doby. Z tohoto důvodu jsou v Control Web Runtime pro Windows CE omezeny zápisy na disk, např. nejsou tvořeny .log soubory apod. Rovněž nedostupné ve Windows CE jsou virtuální přístroje, které závisí na programových komponentách Windows, které ve Windows CE nemají ekvivalent. Například knihovny pro DDE a NetDDE, ODBC ovladače nebo plnohodnotné OLE. Další omezení zůstávají na zvážení aplikačního inženýra, protože je není možno obecně ošetřit na úrovni systému Control Web. I když je typické nasazovat Windows CE na počítačích s malými zobrazovači s rozlišením 320x240 nebo 640x480 bodů, existují i zabudované PC s obrazovkou s rozlišením 800x600 bodů s plnobarevnou grafikou. Několik obrázků s takovým rozlišením dokáže snadno zaplnit mnoho MB paměti a protože Windows CE nemá kde vytvořit odkládací soubor, který by dokázal překlenout momentální nedostatek fyzické paměti, aplikace je ukončena. Control Web 2000 běžící na Advantech TPC-650 s Windows CE jste mohli poprvé spatřit na MSV 2001 v Brně Přesto naprostá většina funkčnosti systému Control Web zůstává zachována i ve verzi pro Windows CE. K dispozici je kompletní sada přístrojů pro vizualizaci, grafickou animaci, zabudovaný dynamický HTTP server apod. Zachována je i plná programovatelnost celého prostředí. Rovněž verze pro Windows CE podporuje síťovou konektivitu s jinými systémy Control Web s výměnou dat, vzdálené aktivace přístrojů apod. V prostředí Windows CE je také možno použít celou řadu ovladačů pro průmyslové automaty, měřicí a akční jednotky apod. Windows CE na běžném kancelářském PC pro účely testování Control Web Runtime pro Windows CE prakticky eliminuje nesnáze s tvorbou programového vybavení pro zabudované průmyslové počítače a tím umožňuje jejich široké nasazení. Jediná architektura aplikací a vzájemná konektivita využívá investice firem do vývojových prostředí i znalostí pracovníků a umožňuje jim nasazovat aplikace od clusterů s více počítači až po malá zabudovaná zařízení. |