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!