110 likes | 134 Views
Learn about the Ultra Thin Client architecture, how it works with SVG and Javascript, its limitations, workflow, positives, and questions for future development. Try it now!
E N D
WinCC OA Ultra Thin Client Daniel.Rodrigues@cern.ch
Ultra Thin Client Overview • For delivery in WinCC OA 3.11 • Previewing in 3.10 • Fully Web Based • Uses HTTP + SVG + Javascript • Requires SVG support… • Converted directly from xml Panels • with limitations! WinCC OA UltraThinClient, FWWG, June 2011
What’s SVG • SVG: Scalable Vector Graphics • Specification developed by W3C • www.w3.org/Graphics/SVG • It is “A Markup Language for describing two-dimensional graphics applications and images and a set of related graphic script interfaces” • Native support on most platforms • IE8 and older require a plugin… • But available on IE9 WinCC OA UltraThinClient, FWWG, June 2011
Ultra Thin Client Architecture Basic building blocks: • CtrlXmlToSvg.dll • Converts XML based panels into SVG files • UltraThinClientServer.ctl • The http server • Loads CtrlXmlToSVG and handles http calls • data\http\libs\*.js files • Object specific javascript code • data\http\panels\*.svg • The panels, in SVG format WinCC OA UltraThinClient, FWWG, June 2011
Ultra Thin Client Architecture Event Manager Data Manager iii • Initial process • HTTP request (panel.xml) • CtrlManager creates panel.svg • Ctrl Manager sends panel.svg back to browser • dpSet • HTTP request (dp,value) • CtrlManager does a PVSS dpSet(dp, value) • dpConnect • HTTP request (dp,clientId) • CtrlManager does a dpConnect to the eventManager and adds clientId to list • Sucessive HTTP requests (dp, clientid) CtrlManager eventually receives new value • Browser receives value change Ctrl Manager UltraThinClientServer.ctl 2 b CtrlXmlToSVG.dll ii 3 iv 1 iii a i WinCC OA UltraThinClient, FWWG, June 2011
Workflow • Create a panel and save in xml format • Respecting the limitations and conventions • Start the UltraThinClientServer.ctl • Configurable • Use your SVG enabled browser to see the panels • Try it now! http://pcen33050/SVG?panel=FwwgPresentation.xml WinCC OA UltraThinClient, FWWG, June 2011
Example WinCC OA UltraThinClient, FWWG, June 2011
Limitations • It is not a full fledged UI Manager! • Basic communication with Server • dpSet/ dpConnect / dpToggle/ dpExists/ dpTypeName/ dpGetDescription • Limited number of Objects available • TextEdit (no multiline) • RadioCheckbox • PushButton (Toggle not working) • Basic Trend, Basic Alarm • Limited actions per object • Clicked, Command, Initialize • No double click, mouse*, keyboard*, drag* … • Global ScopeLib but no “#uses” • No redirection when using dot notation “.”. Ex: MyText1.text • Always required to use “getValue/setValue” Ex: getValue(“MyText1”, “text”) • A number of misconversions and bugs • Objects in reference panels • Toggle, Crash on many popups… WinCC OA UltraThinClient, FWWG, June 2011
Positives • It is a real Web Based solution • Unlike WebPlugin • It integrates quite well with the Gedi • A few objects are already automatically converted • CTRL Scripts are translated to javascript • “Hackable” • All SVG and javascript libraries could be customized. • Scalable • One unique dpConnect call on many connected clients! WinCC OA UltraThinClient, FWWG, June 2011
Questions to you • Portable platforms: • Would you envision using Tablets ? • Additional development effort • Does it make sense to develop panels exclusive to the Web? • What objects are a must have? • MultilineEdit / better Alarm Screen / Toggle buttons WinCC OA UltraThinClient, FWWG, June 2011
Thank you for your attention. • Questions? WinCC OA UltraThinClient, FWWG, June 2011