17. Wonderware konference ČR/SR - 2011
Tipy & triky technick é podpory technické Často kladené dotazy na Wonderware software Pavel Průša, Tomáš Petříček, Jaroslav Jarka
Obsah prezentace Co stojí za to zopakovat Jak zvýšit výkon aplikací Wonderware System Platform / Wonderware Application Server Důležité změny v nových OS Zamezení přístupu do Windows 7 Zabezpečení vůči USB diskům Wonderware a Hyper-V Technické tipy
Tipy & triky technické podpory 2010 Většina stále aktuální ke stažení z www.pantek.cz Nastavení OS a PC, antivirová problematika, virtualizace, instalace SQL Serveru atd. Kde hledat technické dokumenty … aj.
Podpora - Tipy a triky
Tipy technické podpory 2011
Co stoj stojíí za to zopakovat
Vypnutí Data Execution Prevention DEP standardní součást operačního systému Zabraňuje spuštění podezřelého kódu U programů využívajících více systémových zdrojů (průmyslové systémy) možnost falešného vyhodnocení nebezpečí Vysoké zatížení CPU, zpomalení běhu programu
Vypnutí Data Execution Prevention Windows XP / 2003 Server - soubor BOOT.INI Změnit parametr /noexecute=optin na /noexecute=Alwaysoff
Windows Vista / 7 / 2008 Server – příkazová řádka: bcdedit.exe /set {current} nx AlwaysOff
Pořadí síťových rozhraní pro Aplikační server Důležité pro PC se dvěma a více síťovými rozhraními Pořadí určuje, přes kterou síť se bude primárně komunikovat, pokud se používá název PC (host name) InTouch
Na prvním místě musí být síť pro komunikaci mezi GR, AOS, InTouch aplikacemi a Historian serverem
InTouch
InTouch
RMC AOS 1
InTouch
AOS 2 Historian
PLC
Nastavení hlavní sítě ve Windows 2008 (R2) 1.
3.
2.
Nastavení hlavní sítě ve Windows 2008 (R2)
HLAVNÍ SÍŤ NA PRVNÍ POZICI
POZNÁMKA: Nastavení pro starší operační systémy naleznete v dokumentu Tipy a triky technické podpory 2010
Instalace Microsoft SQL Serveru Postup instalace popsán v dokumentech Tech Note 484 „Installing Microsoft® SQL Server 2005 for Use with Wonderware® Products“ Tech Note 682 „Installing Microsoft® SQL Server 2008 for Wonderware Historian v10.0“ Na 64 bitový OS nutno instalovat 32 bitový SQL Server
Zkontrolovat tzv. Server Collation: SQL_Latin1_General_CP1_CI_AS Nastaví se správně s národním prostředím English (United States)
Tipy technické podpory 2011
Jak zvý šit výkon aplikac zvýšit aplikacíí WW System Platform / W W Application Server WW
Rozložení Wonderware System Platform Rozdělit projekt na samostatná PC dle jejich funčknosti Lze využít i virtualizaci Visualization Node
Visualization Node
AutomationObject Server
I/O Data Server
Engineering Station
Galaxy Repository
Engineering Station
Historian
Workstation
Information Server
Rozložit zátěž Application Serveru Rozdělit objekty pod více AppEngine objektů Využití vícejádrových procesorů Na 1 jádro se doporučují 1-2 instance AppEngine Příklad: Na jednom QUAD procesoru použít 2 až 8 AppEngine instancí
Rozdělit aplikaci Application Server mezi více PC (uzly Automation Object Server) Využití virtuálních operačních systémů Větší flexibilita pro rozložení aplikace Rychlejší nasazení celé aplikace Snadnější realizace aktualizace softwaru
Komunikace přes DI Objekty – I. Nekomunikovat všechny IO přes jeden DI nebo RDI objekt Maximum 5 000 I/O na komunikační objekt
Lépe větší počet DI objektů s menším počtem Topiců než naopak Výpadek komunikace přes jeden Topic u RedundantDI objektu způsobí přepnutí komunikace na záložní DI objekt i u ostatních Topiců Jednodušší provádění změn vyžadujících Deploy
Vykonávat DI objekty pod stand. AppEnginem a RDI objekty pod redundantním AppEnginem
Přepínání redundantního AppEngine Přepnutí redundantního AppEngine by mělo proběhnout do 45 sekund Minimalizovat používání OnScan a StartUp skriptů Vykonávají se při přepínání redundantního AppEngine
Tech Note 401: Fine-Tuning AppEngine Redundancy Settings
Složitost objektů Nevytvářet složitý Containment („vnořování“) Maximum 10 úrovní Využívat jen tolik úrovní, kolik je opravdu potřeba
Nepoužívat objekty s více než 5 000 atributy Komunikační DI a RDI objekty
Jak zjistit velké zatížení AppEngine? Diagnostické atributy Engine.ProcessCPULoad < 40% Scheduler.TimeIdleAvg > 50% Scheduler.ScanOverrunsCnt Engine.ExternalReferenceCnt pro redundantní AppEngine < 25.000 ideální stav < 90.000 doporučené maximum Engine.ProcessPrivateBytes Engine.SubscriptionLocalCnt a SubscriptionRemoteCnt Engine.AsyncScriptsRunningCnt Engine.ProcessIODataBytes
Tipy technické podpory 2011
D ůležité zm ěny Důležité změny v nových OS Windows Vista, Windows 7, Windows Server 2008 a Windows Server 2008 R2
Důležité změny v nových OS Nástup nových operačních systémů a z nich plynoucí změny chování SW od Wonderware Vista, Windows 7 a Windows 2008 (R2)
Zásadní změna architektury Vyhrazení SESSION 0 pro systémové procesy, ovladače a služby OS a její izolace SESSION 0 nemá přístup na Desktop Místně spuštěné programy běží mimo SESSION 0
=> Dopady na SW od Wonderware
Dopady na SW Wonderware v nových OS InTouch již nelze spustit jako službu Služby již nemají přístup na desktop
Změněna syntaxe pro adresaci konzolové relace (terminálové služby) Konzolová aplikace již neběží v Session 0, ale ve vyšší Session \\JmenoHRVP:\InTouch!AlarmniSkupina
Změny ve vlastnostech služby AlarmDBLogger Spuštěna jako služba nemůže adresovat místní zdroj alarmů
Automatický náběh InTouch jako aplikace Přidat view.exe do nabídky Start Po spuštění Zkonfigurovat automatický login ve Windows V registru Windows najít klíč HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Winlogon
Vytvořit a zadat řetězcové hodnoty „AutoAdminLogon“ = reg_sz: 1 „DefaultPassword“ = reg_sz: heslo k účtu „DefaultUsername“ = reg_sz: název uživatele
Platí pro Windows 7 a Windows 2008 Popsáno v Tech Note 781
Automatické přihlášení Nastavení automatického přihlášení v registru
Provoz aplikace Alarm DB Logger Provoz se samostatnou InTouch aplikací Zkonfigurovat standardně pomocí utility Alarm DB Logger Manager Při startu PC spustit přímo ukládací proces wwalmlogger.exe (viz. Tech Note 725) start C:\PROGRA~2\Wonderware\InTouch\view.exe start C:\PROGRA~2\Wonderware\InTouch\wwalmlogger.exe
Od verze InTouch 10.1 SP3 Patch01 Alarm DB Logger lze spustit jako službu pro aplikační nebo terminálový server \\NodeName\Galaxy!Area (Aplikační server) \\JmenoHRVP:\InTouch!$System (TS)
Tipy technické podpory 2011
Za mezení ppřístupu řístupu Zamezení do Windows 7
Zamezení přístupu do Windows 7 Problém Windows 7 – hlavní panel nelze skrýt do pozadí
Řešení Skriptová funkce EnableDisableKeys Zakáže klávesy Alt, Esc, Win
Nastavení vlastnosti „Always Maximize“ Překryje hlavní panel Windows
Zamezení přístupu do Windows 7 Volba „Always Maximize“ překryje hlavní panel Windows
Zamezení přístupu do Windows 7 Problém EnableDisableKeys nezablokuje ve Windows 7 stisk kláves Ctrl + Alt + Del
Řešení Upravit nabídku, která se po stisku kláves zobrazí HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Policies\System "HideFastUserSwitching"=dword:00000001 v nabídce zůstane pouze tlačítko Storno
Tipy technické podpory 2011
Zabezpe čení vvůči ůči Zabezpečení USB disk ům diskům
Problematika USB disků USB disky Poskytují prostor jak obejít zabezpečení aplikace InTouch a dostat se do systému Windows Nebezpečí šíření počítačových virů
Možnosti zabezpečení přístupu USB Mechanické odstranění nebo odpojení USB portů z boxu PC Zákaz automatického přehrávání Zákaz aktivace ovladače velkokapacitních paměťových zařízení (dále jen UMS) v registru Windows Odebrání a zákaz instalace ovladače UMS UMS = USB Mass Storage
Zakáz automatického přehrávání Konfigurace Start Ovládací Panely Přehrát automaticky Zrušit volbu Použít funkci Přehrát automaticky pro všechna média a zařízení
Důsledek USB disk se přidá do systému, ale neprovede se žádná akce Uživatel nemá příležitost se ze zabezpečené aplikace InTouch dostat do operačního systému
Zákaz aktivace ovladače UMS v registru Konfigurace Ovladač UMS již musí být nainstalován HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ UsbStor\Start - nastavit hodnotu 4 (Zakázáno)
Důsledek USB disk se nepřidá do systému
V případě potřeby načtení USB disku zavolat Z příkazové řádky - net start usbstor Z aplikace InTouch - WWServiceControl( "UsbStor", "start" ) Po vysunutí USB disku se služba automaticky vypne
!!! Přeinstalace ovladače UMS změní chování USB disku do výchozí podoby !!!
Odebrání a zákaz instalace ovladače UMS Konfigurace Pokud je UMS ovladač nainstalován – odinstalovat Uživatelům odepřít přístup na soubory Usbstor.pnf a Usbstor.inf Vlastnosti Zabezpečení vybrat skupinu nebo uživatele Úplné řízení zvolit “Odepřít” Výše uvedené nastavit i pro SYSTEM account
Důsledek Systém zařízení nenainstaluje
Tipy technické podpory 2011
Wonderware a Hyper −V Hyper−V
Wonderware a virtualizace Základní údaje o virtualizaci viz Tipy a triky technické podpory 2010 (www.pantek.cz) Problémy s připojením HW klíčů USB huby – ne všechny fungují bez problémů Dobré zkušenosti z praxe: Digi International Anywhere USB
Hyper-V Nastupující virtuální platforma pro produkty od Wonderware Plná podpora od System Platform 2012
Série dokumentů Wonderware TechNote k Hyper-V 734 – Configuring the PowerShell Environment for Hyper-V and Dynamic Data Centers 736 – Working with Hyper-V Snapshots 737 – Troubleshooting Image Importing in Hyper-V 745 – Creating a Virtual Image Using a Hyper-V Console 749 – Converting a VMware Image to Microsoft Hyper-V 750 – Installing Hyper-V Integration Services
Manuál pro Hyper-V od Wonderware Dokument ASP (ArchestrA System Platform) Virtual Implementation Součástí dokumentace k Wonderware System Platform 2012, InTouch 2012
Veškeré postupy, obrázky Práce s vlastnostmi Windows Server 2008 R2 Vysoká dostupnost (High Availability) Obnovení systému (Disaster Recovery) Virtualizace Hyper-V Služby vzdálené plochy – InTouch jako RemoteApp Implementace strategií horké zálohy Strategie horké zálohy ve virtuálním prostředí
Tipy technické podpory 2011
Technick é tipy Technické
Technické tipy – přehled DAServery Alarmní databáze Spouštění reportů ArchestrA Reports Archestra Graphics v praxi
Technické tipy
DAServery
Nastavení „Reconnect Attempts“ Výchozí nastavení je 3 Systém se 3x pokusí připojit zdroj dat a poté skončí
DAServery verze 2.x 0 = žádné pokusy o reconnect -1 = trvalé opakování
DAServery verze 1.x 0 = trvalé opakování
Technické tipy
Alarmn áze Alarmníí datab databáze
Alarmní databáze Různé způsoby dotazování Prohlížení z InTouch aplikace (AlarmDBViewControl) Reportování (ArchestrA Reports / MS Reporting Services) Provázané tabulky Wonderware Information Serveru - analytická aplikace
Problém: Alarmní DB neuchovává hierarchii alarmních skupin Při dotazu na alarmní skupinu jsou vráceny pouze alarmy této skupiny, nikoliv alarmy podskupin
Alarmní databáze Řešení Zahrnout hierarchii alarmních skupin do jejich názvu Dotazovat pomocí LIKE ‘%%’
Příklad:
SELECT ... WHERE AlarmGroup LIKE “Hala1%”
Technické tipy
Spou štění report ů Spouštění reportů ArchestrA Reports
Spouštění reportů z aplikačního serveru ArchestrA Reports (Wonderware Information Server) ArchestrAReportsScripts.DLL GetParameterizedReport, GetSnapshotReport Možnost generovat report v různých formátech CSV, Excel, MHTML, PDF, XML
Zpětná informace o stavu reportu NotStarted, InProgress, Success, Fail
Příklady – WIS Admin Guide
Podobně lze spouštět reporty od události Wonderware Historianu
Technické tipy
ArchestrA Graphics v praxi
ArchestrA Graphics Pokročilá prezentace informací Gradienty, průhlednosti, stínování Inteligence uvnitř symbolu Dědění vlastností Knihovna „graficky dokonalých“ symbolů
ALE Bohatá grafika = více prostředků pro její vykonávání %CPU, paměť, čas
Co je v ArchestrA grafice vhodné a co ne?
Inicializace okna s grafikou ArchestrA
Nahrání definic
Doba inicializace
Vykreslení
Zatížení CPU
Vazba na data
Vytížení paměti
Kontinuální aktualizace Uzavření
INICIALIZACE Retrieve
Render
Bind
Continuous
Close
Optimalizace Wonderware 15% úspora paměti => rychlejší nahrání Nový management paměti Odolnost vůči nestabilitě v případě naplnění wwHeap
SetCustomPropertyValue o 80% rychlejší Vazba přes Custom Property 44% zlepšení I tak je potřeba hospodařit se zdroji INICIALIZACE Nahrání
Vykreslení
Datové vazby
Kontinuální aktualizace
Uzavření
Gradienty, stínování, transparence Všechny barevné odstíny se počítají za běhu Runtime při každé změně animované hodnoty Je třeba více paměti než pro základní výplně Pozor na velká množství malých objektů s gradienty To, že je objekt malý, neznamená, že je výpočtů gradientů méně !
Nahrání
Vykreslení
Datové vazby
Kontinuální aktualizace
Uzavření
Příklad 1 Ten samý symbol Ty samé detaily a výpočty Stejná režie systému Vypovídací hodnota?
Příklad 2
Je nutné u malého symbolu stínování lopatek?
Uživatelsky definované vlastnosti Někteří uživatelé měli až 20 tisíc vlastností na symbol ! Způsobeno vkládáním symbolů na různých úrovních
Nemohla by se daná logika vykonávat na straně serveru? Má daná vlastnost skutečně vliv na grafickou prezentaci symbolu?
Nahrání
Vykreslení
Datové vazby
Kontinuální aktualizace
Uzavření
Vícehodnotové podmínky Každá proměnná se musí zvlášť navázat a hodnota přečíst Není možné výpočty přemístit na server?
Nahrání
Vykreslování
Vazby
Kontinuální aktualizace
Uzavření
Rastrové obrázky – bitmapy apod. Bitmapa vložená do okna a tam zmenšená zabírá to samé místo na disku i v paměti! Přepočítat na menší formát Uložit s kompresí JPG, PNG, GIF…
Skriptování Velká flexibilita (OnShow, WhileShowing, DataChange…) … … ale doporučujeme zvážit Musí se skript vykonávat opravdu každých 50ms? Musí se tentýž výsledek počítat pořád dokola? Kolik skriptů je v symbolu? Kolik instancí bude symbol mít? Má výpočet vliv na grafické chování? Nešlo by výpočet přemístit na server?
Nahrání
Vykreslení
Datové vazby
Kontinuální aktualizace
Uzavření
Seskupování neanimovaných částí Objekt vlevo zatíží systém 2x méně než objekt vpravo Optimalizace seskupováním
Nahrání
Vykreslení
Datové vazby
Kontinuální aktualizace
Uzavření
Seskupování neanimovaných částí
Volba hardware pro vizualizační stanice Rychlé CPU 1 instance InTouch využije pouze jedno jádro Rychlý DualCore je lepší než pomalejší QuadCore Vhodný TurboBoost – přetaktování jádra CPU
3 GB RAM pro každou relaci s InTouch Možnost využít více jader CPU při terminálovém provozu Rychlý harddisk SolidState je lepší než 7200 ot. rotační
Ot ázky Otázky (... a odpovědi)