You are on page 1of 33

Understanding OPC: Basic Overview

Colin Winchester VP Operations


Nathan Pocock Chief Architect & Developer

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Understanding OPC:
Basic Overview
Agenda 60 Minutes
Original problem How to share data
Original solutions
OPC Solution
Open and Industrial
Client/Server Architecture - COM
PC to PC connections DCOM
What can you do with OPC Now
Answers to some common questions
Future Direction
Questions & Answers
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Original Problem:
How to share data?
1) How to share data from 2) How to share data
equipment like PLCs? between programs and
PCs?

Software Software
Application Application

Software Software
Application Application

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Connectivity means.

Enterprise Application
Accessing plant-floor data

User Interface
displaying plant-floor data

Transport Layer
Ethernet, RS232, RS485, Radio etc.

PLC / Device
Allen-Bradley, Siemens, GE, Modbus, Automation Direct etc.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Original Solution

1) How to share data from equipment like PLCs?


Inconsistent
Inconsistent
implementations,
implementations,i.e.
i.e.
features supported
supportedand
Vendor A HMI / SCADA Vendor Bfeatures
HMI /reliability
SCADA and
reliability
Modbus DF1 Other Modbus DF1 Other
Driver Driver Driver Driver Driver Driver

Each
Eachvendor
vendorhas
has
implemented
implementedtheir
their
own
ownProtocol
Protocol
driver.
driver.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Original Problem

2) How to share data between programs and PCs?

Data inaccessible to
Enterprise
other systems System

Self-customization
limitations, or inability
Expensive
customizations often HMI/SCADA
Application
Other
Application
required
Data sharing via Modbus / DF1 etc. Unsupported

*.CSV import/export

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
First Solution, DDE
Protocol drivers were no
longer within HMI
DDE Server contains
HMI / SCADA protocol definition
Application
HMI connected using DDE
Topics
HMI tells DDE Server read
DDE
DDEServer
Server this, write that
(Protocol
(ProtocolConverter)
Converter)
DDE Server responsible for
all I/O
Different HMIs can connect
PLC to a DDE Server
Some Data sharing
possible

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
DDE, Scalable Solution?

Different systems can


connect to a DDE
Server
Accessible over the
Network using NetDDE
Add more DDE Servers
More device support
Load distribution

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
DDE, Good Solution?

Performance issues
Decoupled HMI from
NetDDE reliability
Protocol drivers
No Standards on tag
DDE Server market
database
emerged
No Browsing!
More driver choice
No quality information
HMI vendors could
focus on their core No Client control of Poll
product rates
Accessible to Any DDE No timestamp
Application No security
Not easy for network
configuration and usage
Limited number of
client/topic connections
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
A Standard Was Needed!

Software to Software interface (Problem 2)


Keep Client/Server model used with DDE
Better performance needed
Security needed
Needed to support more sophisticated data
types (variants and structures etc.)
Needed to be more scalable
Internet capable
A more future-proof framework was
needed
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, the new
Standard
OPEN Standards based
The OPC Foundation controls the standards
Automation Industry Organization
Not controlled by any one company managed
by board of directors elected by the membership
Volunteer effort
Created 1996 by 6 founding members
Companies from all over the globe
Software Toolbox - a charter member, joining in
the foundations first year

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, the Promise

Industrial Automation Focus


Timestamp support
Quality flags Ensuring Data Integrity
Interoperability: Testing & Certification
Client/Server architecture
Scalable solution
Flexible means of data access
Easy for end-users
Security using Microsoft standards
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC Solution, Similar
to DDE, but better
Same client/server
HMI / SCADA
architecture
Application OPC Server contains
protocol definition
Tag Database clearly
defined
OPC
OPCServer
Server
(Protocol
(ProtocolConverter)
Converter)
HMI makes OPC calls to tell
the Server saying read
this, write that and how
often
PLC/other Equipment Performance gains
Quality and timestamp
information now accessible
Easy configuration for the
end-user.
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC Solution
HMI/SCADA
OPC Clients
Standard software to
software interface
One connection: OPC
Communications
infrastructure
decoupled from the
HMI/SCADA
Microsoft Security OPC OPC OPC
Server A Server B Server C
Improves performance
Flexibility
Choices
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Whats in a Tag/Item?

OPC Server exposes OPC Client

PLC memory
addresses as Tags Dev1.Tag1 Dev2.Tag1
Tags are a friendly 4001 obj1.prop.val
Dev1.Tag2 Dev2.Tag2
name, that maps to a 4001 obj2.prop.val
memory register in the
PLC. OPC Server

Decouples the OPC


Client from the Modbus / DF1 etc. BACNet, Profibus etc.

underlying Device
Protocol and Memory
Register knowledge. PLC specific PLC specific
addresses addresses
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC Data Access
Capabilities

Browse computer for available OPC Servers


Browse the server for available Tags
Read 1..x Tags in a single call
Write 1..x Tags in a single call
Subscribe to Tags and receive updates
when their value(s) change.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC DA, Data Acquisition
Read
Read these
Readthese 1x
these1x1x
Read these 1x
Tag(s)
Tag(s)
Tag(s)oneone time,
onetime,
time,
Synchronous I/O Tag(s)
TELL
one
ME
time,
when
andTELL
and I Iwill
ME
will wait
when
wait for
for
Blocking call you
you
the have results
theresponse
have results
response
Good for round-robin OPC
polling-type Client

applications
Asynchronous I/O
Faster method,
compared to OPC
Synchronous Server

Development requires
different way of
thinking
Different Locations
Cache
Device
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC DA, Data Acquisition

Subscriptions offer
These
Thesetags
tagshave
have
best optimization changed
changed
values.
values.
OPC client OPC
Client

requests a
subscription
OPC Server does
OPC
the polling Server

OPC Server sends


change
notifications to the
client
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC Quality Codes

Specifies if the Tag value is something you


can trust or not.
16-bit Bitmask of values (low 8 bits):
0 = Bad (00000000)
64 = Uncertain (01000000)
128 = Reserved (10000000)
192 = Good (1100000)
High word is reserved for Vendor use.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, How does it Work?

OPC Server
Any OPC Client OPC Group
OPC
HMI/SCADA OPC Item
OPC Group
Custom Application
OPC Item OPC Item

OPC Client connects to an OPC OPC Item OPC Item


Server.
Client adds a Group.
Client adds Tags to Group. Hardware specific networks and
The poll-rate is set in the Group. protocols
You can add multiple Groups.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Client/Server and OPC DA
Ethernet/IP The Client
Consumes data
Ethernet Human
Defined as services
Machine
the OPC
Interface
Client
The Server Provides
data services
OPC DA
Modbus RTU Client Side COM is the Middle
Man
Microsoft COM
OPC Servers and
OPC DA Defined as Clients in most cases
Server Side the OPC are separate
Server programs now
Communications OPC Servers only
Drivers act on commands
from an OPC Client

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, Dependent upon
COM
An OPC Client connects to an OPC Server through COM
An OPC Client connecting to an OPC Server on a different
machine connects through DCOM and must be authenticated.

I Iwant
want
Tell meto
to your
connect
connect
login to
to you
nameyouand
My user
Letuser
My me name
check
name my
isis password!
fred
fredand
Access Control
and
PC 1 OPC Client password is on PC 1 OPC Client
you isare
Yes,List.
password
*****
my list I will
*****
OPC Client COM run-time grant you access! OPC Client COM run-time

Security Security
Provider Provider

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC DA, Scalable Architecture

A server can
OPC Server
support multiple
OPC Client
OPC Client
Visualization &
OPC Client/ Clients,
Database Logging OPC Server
Alarming etc.
concurrently
OPC Server Many servers can
exist on the
network
Enterprise
System Attach OPC
Systems to other
HMI/SCADA
Application
Other
Application
OPC Systems

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Answers to common
Questions
Can I use OPC across different Domains?
Does re-configuring DCOM open security holes
on my computer?
Does a Tunneller help get OPC data through a
firewall and over the internet?
How do I know if my PLC/Device is offline?
Can OPC work on Linux?
Is OPC DA still valid now OPC UA is coming?
How much data can an OPC Server transfer?
Can OPC Servers run as Windows Services?
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, more than 1 standard

OPC Data Access (DA)


OPC Historical Data Access (HDA)
OPC Alarms & Events (A&E)
OPC XML Data Access (XMLDA)
OPC Data Exchange (DX)
OPC Complex Data
OPC Commands
OPC Security
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC Provides Industry-Standard
interOperability Performance & Connectivity

ERP, SAP Corporate Enterprise


OPC

Manufacturing, Production and Maintenance


OPC
HMI MES SCADA
OPC (DCOM)

OPC(DCOM)
Adv.
OPC(DCOM) Batch
Control
PC-Based Control
OPC(DCOM)

PLC Data
Data
PLC Other.
DCS
Industrial
IndustrialNetworks
Networks Acquisition Other.(DB,
(DB,SQL
SQL
DCS Acquisition
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
OPC, Quality Assurance!

OPC Compliance Testing


Interoperability Testing
Annual event
Vendors attend with source code
OPC Self-Certification
Independent Test Lab Certification

Learn more about OPC Certification:


http://www.opcfoundation.org/Certification.aspx
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Future Direction

OPC UA
Single, abstract set of objects
Backward compatible with all existing OPC
standards
Service Oriented Architecture (SOA)
Embeddable, within a PLC/Device
Security and encryption built-in
Designed to take plant-floor data to the
Enterprise.

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
What Does OPC UA
Mean for OPC DA?

Asset
Asset Production Inventory
Inventory
Production Purchasing
Control Purchasing
Management
Management Control Management
Management

UA
HMI
HMI
SCADA
SCADA
Visualization
Visualization The
The The
The
Automation
Automation Enterprise
Enterprise
paradigm
paradigm paradigm
paradigm
DA, HDA,
A&E Production
Production
Management UA
UADoesnt
DoesntReplace
ManagementSystems
Systems Replace
OPC
OPCDA/HDA/A&E
DA/HDA/A&E
ItItComplements
ComplementsThem!
Them!
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Want to learn more?
Using OPC Webinars

Using OPC DA Applications:


www.softwaretoolbox.com/opcdawebinar

Building OPC Applications in


Visual Studio.NET
www.softwaretoolbox.com/opcvsnetwebinar

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
More Information

get through to an expert!


Visit www.softwaretoolbox.com/webinars for future events

Questions: Nathan Pocock:


Email: npocock@softwaretoolbox.com
Tel: +1 (704) 708-6482

Colin Winchester
Email: cwinchester@softwaretoolbox.com
Tel: 704-849-2773 x1327

Technical Support:
Tel: +1 (704) 849-2773
Web: http://support.softwaretoolbox.com
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
Some Terminology

HMI Human Machine Interface


SCADA Supervisory Control & Data Acquisition
DDE Dynamic Data Exchange a method of software to
software data exchange created in 1988 by Microsoft in
Windows 2.0.
OPC
OLE for Process Control (circa 1996)
Openness, Productivity, Connectivity
Today, the acronym underlying words is meaningless OPC a
standardized technology is for open software connectivity in
industrial automation
COM Component Object Model circa mid 90s Microsoft
term for the way Windows software parts talk to each other
under the hood
DCOM Distributed COM same concept but allowing
software parts on different computers to talk to each other
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission
More Terminology

PLC Programmable Logic Controller hardware used to control


many industrial processes and machinery
DCS Distributed Control System used for same purposes as a
PLC, but highly optimized for process control, i.e. chemicals, oil/gas,
food/beverage, pharmaceutical
RTU Remote Terminal Unit traditionally proprietary hardware
today PLCs can be used for RTUs any device put in a remote
location that controls and/or gathers data for collection at a central
host usually a SCADA system
Protocol as set of defined instructions or commands used to
exchange data with a device over a serial or Ethernet connection
Register a memory location in a PLC or DCS. To some a register
is a 16 bit word of data. Often used generically to refer to a memory
location in any type of device you are exchanging data with
Tag, or Item a single unit of data can be digital or analog values,
in some cases can even be arrays of digital or analog values

Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission

You might also like