Transcript Document
Developing OPC HMI for a Web Browser Colin Winchester VP Operations Nathan Pocock Chief Architect & Developer Developing OPC HMI for a Web Browser You may private chat with the host here Ask questions to panelists here Developing OPC HMI for a Web Browser While we are sharing applications, the toolbar shown below appears in the bottom right corner of your screen. You can access Chat with Host and the Q&A with Presenters Panels by clicking on the icons as shown. Private Chat with Host Q&A with Panelists Developing OPC HMI for a Web Browser Agenda – 60 Minutes Overview of Web based HMI’s Overview of the OPC DataHub Live Demonstration Overview of OPCSystems.NET Live Demonstration Additional Information Questions & Answers OPC to Browsers Why? Availability Portable Access Cell-phone based web browsers Handheld devices Network Access Everyone has a browser Everyone knows how to use one Avoid special software installs, sometimes Standard transport protocols = firewall friendly Usually can handle slower connections better than a “thick client” application Administration & Development Single application updates all clients Development is easier than ever! Web-App Capabilities Display data from OPC Servers Get user-input for writing to OPC Items Trending/Charting live OPC Data Alarm displays and acknowledgements Example Configurations GREEN ZONE Browsers inside the network Browsers outside the network Single Server Solution OPC Systems Tag Repository OPC Server? Web Server Web Application Firewall First-line of defense from outside world. Secure access? Example Configurations OPC Cluster high availability for your OPC Server(s) GREEN ZONE and/or OPC Systems .NET Tag Repository “OPC” Cluster Web Server Cluster high availability for your Web HMI application(s) Web Server Cluster Tolerance Achieved: OPC Layer Web Servers Web Challenges Security/Networking Controlling the number of connections to the server Controlling access Speed – data update rates Aren’t the fastest at executing client side code Aren’t good at remembering “state” or “where I’ve been” Firewall Password Encryption of data (SSL) Cookies, query strings attempt to work around this! Wide variety of versions and service pack levels OPC DataHub Functionality Overview OPC to Web System Monitoring http://www.softwaretoolbox.com/opcdatahub What can you do? Multiple & Varied Data Sources System Data PC uptime Running processes Memory usage Web Server OPC DataHub HMI Client OPC to Web Methods ASP – Active Server Pages Webserver reads some “live” or active data one time, and puts it into the web page No client side plug-ins or ActiveX required Easy to implement Easy on system resources – client and server Requires page reload to refresh data Good for reports or one-shot, one-off data needs OPC Servers (1 to N) Local or Remote/Tunneled OPC DataHub Standard Web Browsers on Desktop or Mobile Devices Processing of data in DataHub on Server Side and value inserted into HTML web page OPC to Web Methods AJAX Polling Asynchronous Javascript And XML Provides live updates in the browser without a page reload No plug-ins or ActiveX required Polling -Mediocre Update Speeds – faster than ASP Can consume a lot of client & server side resources Used in web monitoring and troubleshooting applications OPC Servers (1 to N) Local or Remote/Tunneled OPC DataHub Standard Web Browsers on Desktop or Mobile Devices Processing of data happens on client and client polls the WebServer for data OPC to Web Methods AJAX Streaming Asynchronous Javascript And XML Provides live updates in the browser without a page reload No plug-ins or ActiveX required Streaming – Very fast updates – similar to Java applets Can consumes less resources then polling Used in remote monitoring and diagnostic systems OPC Servers (1 to N) Local or Remote/Tunneled OPC DataHub Standard Web Browsers on Desktop or Mobile Devices Processing of data happens on client and client polls the WebServer for data OPC to Web Methods Java Applets Java Applets are another alternative Very, very fast update rates Very thrifty on server and client side compared to AJAX Speed of AJAX with thriftiness of ASP But you will have to allow the Java Applets to install Used in process control systems for monitoring and HMI displays OPC Servers (1 to N) Local or Remote/Tunneled OPC DataHub OPC DataHub Standard Web Browsers w/ Java on Desktop PCs only Method #2 #1 IIS or Apache WebServer serves up web pages DataHub WebServer serves up web pages Developing OPC HMI for a Web Browser Live Demo OPC DataHub with ASP OPC DataHub with AJAX Polling Streaming OPC DataHub with Java Applets Summary of Web Methods ASP AJAX – Polling AJAX - Streaming Java applets Browsers Desktop and Mobile Desktop and Mobile Desktop and Mobile Desktop Only Plugin/ActiveX required No No No Yes, Java plug-in Slow-manual page refreshes required Fast updates Very Fast updates Very Fast updates Very low on client and server Relatively high Moderate to low Moderate to low Yes Yes Yes Yes Yes – simply open port 80 Yes – simply open port 80 Yes – simply open port 80 Dedicated Port # must be opened Web Server and Node License Web Server and Node License Web Server and Node License + TCP License for each Concurrent connection Web Server and Node License + TCP License for each Concurrent connection VB Script Uses JavaScript Uses JavaScript Requires Java to build custom applets Update Speeds System Resources Security Password/SSL Firewall Friendly Licensing Programming Language Web Development Changed Code-less, no more learning “languages” AJAX delivers dynamic pages, no reload Winform/Webform development = same! Easy debugging with Visual Studio.NET Live OPC data in the Browser is now Easy! Web-HMI, does it make sense? When it makes sense Simple screens with few graphics Data response can be slow Restrict access to users/groups Must be accessible Inside/outside LAN Desktop, Laptop, Phone etc. Not a good fit! High-speed data (sub 1-second) Large quantities of data on-screen. High concurrent user # with above. Continuous process control / monitoring OPC Systems .NET Benefits OPC Systems .NET provides these benefits: Central “always-on” tag repository = faster performance Tag data can come from OPC DA, UA* and/or Databases Multi-Threaded for faster, and more Reliable operations Buffers data, eliminating data-loss for short outages as well as maximizing the performance of your web-link Modular, components available separately or as a suite Affordable, not as expensive as you might think OPC Self-Certified, for assurance in quality * While OPC UA is not yet released, OPC Systems .NET was one of the first to implement OPC UA back in 2006 and will support OPC UA once the OPC Foundation releases the necessary Tools. How it works… Tag repository stores Data, and some history Data can come from OPC Servers (DA, UA etc.) OPC Connection is always ON eliminating connectivity overhead Browsers see OPC Data when page opens Async polling retrieves data to be shown in page, no refresh! AJAX Polling OPC Systems .NET Service (Tag Repository) Data Source OPC Server PLC DCS Other How it works… Browser requests an “update” of the items/tags it needs. OPC Systems .NET Server responds with values that have changed: If value remains same, empty data-set returned If 1-value changed, that value is returned If the value changed multiple times, all updates sent AJAX Polling OPC Systems .NET Service (Tag Repository) Data Source OPC Server PLC DCS Other Live Demo Create a multi-page Web Site Use Visual Studio .NET 2005 Master Pages Display some (almost) real-time data Simple Form Controls Charting page Alarm display and acknowledgement page Tolerance OPC Systems .NET Service (Tag Repository) Queue Queue Queue Local Network Internet Client Application Client Application Client Application Tag Repository individually “caches” data to each client If a client goes temporarily offline, it will “catch-up” on the next update. Applies to ALL OPC Systems .NET Clients (data logging, alarms, WinForms, WebForms etc.) Other Features Available Data Logging (text files and databases) Report generation Alarm logging and notification Windows Forms development tools Recipe management Lightweight HMI developer studio Summary Convenience: Quickly and easily build & deploy HMIs Scalable Framework: allowing your system to grow Reliable: OPC Self-Certified, plus Buffering Alerting: Data Logging, Reporting, Alarming & Notifications Open: API provides interface for your apps to control Affordable: modular, buy what you need. More Information … get through to an expert! Visit www.softwaretoolbox.com/webinars for future events Questions: Nathan Pocock: Email: [email protected] Tel: +1 (704) 708-6482 www.softwaretoolbox.com/opcsystems Colin Winchester Email: [email protected] Tel: 704-849-2773 x1327 www.softwaretoolbox.com/opcdatahub Technical Support: Tel: +1 (704) 849-2773 Web: http://support.softwaretoolbox.com Affordable License the entire system for just $1,995.00 No OPC Server Connection or Tag Counts No Client counts at the OPCSystems Service No Text File or Database Connection Counts Code-less development tools are Runtime-free Fully documented, lots of examples SmartClient Technology ready What Tools are Needed? ASP or AJAX Polling Scenario $995 $3750 Unlimited # of client connections OPC bridging, scripting, aggregation & Excel connections are included! No license limits on # of OPC items you access! No Server Operating system required What Tools are Needed? AJAX Streaming and Java Applets w/DataHub WebServer $995 $595/ea $3750 No Server class Operating System Needed! i.e. Run on Windows XP TCP/Link Licenses are concurrent connection licenses DataHub other features included! No license limits on # of OPC items you access! What Tools are Needed? Java Applets w/IIS or Apache WebServer IIS or Apache WebServer serves up web pages $995 $595/ea $3750 IIS or Webserver may be free, but will require IT involvement IIS is not really “free” – requires a Server Grade Operating System And, IIS & Apache present much bigger attack surface TCP/Link Licenses are concurrent connection licenses OPC bridging, scripting, aggregation & Excel connections included! No license limits on # of OPC items you access!