Download as pdf or txt
Download as pdf or txt
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 equipment like PLCs? 2) How to share data between programs and PCs?
Software Application Software Application

Software Application

Software 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 and Vendor Bfeatures HMI / SCADA reliability reliability
Modbus Driver DF1 Driver Other Driver

Vendor
Modbus Driver

A HMI / SCADA
DF1 Driver Other 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 other systems Self-customization limitations, or inability Expensive customizations often required Data sharing via *.CSV import/export

Enterprise System

HMI/SCADA Application

Other Application

Modbus / DF1 etc.

Unsupported

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

First Solution, DDE



(Protocol )) (ProtocolConverter Converter

HMI / SCADA Application

DDE DDEServer Server

PLC

Protocol drivers were no longer within HMI DDE Server contains protocol definition HMI connected using DDE Topics HMI tells DDE Server read this, write that DDE Server responsible for all I/O Different HMIs can connect 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?


Decoupled HMI from Protocol drivers DDE Server market emerged More driver choice HMI vendors could focus on their core product Accessible to Any DDE Application

Performance issues NetDDE reliability No Standards on tag database No Browsing! No quality information No Client control of Poll rates No timestamp 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


HMI / SCADA Application
(Protocol )) (ProtocolConverter Converter

OPC OPCServer Server

PLC/other Equipment

Same client/server architecture OPC Server contains protocol definition Tag Database clearly defined HMI makes OPC calls to tell the Server saying read this, write that and how often 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 Improves performance Flexibility Choices
Content is Copyright Software Toolbox, 2008 No re-use or copying without written permission

OPC Server A

OPC Server B

OPC Server C

Whats in a Tag/Item?

OPC Server exposes PLC memory addresses as Tags Tags are a friendly name, that maps to a memory register in the PLC. Decouples the OPC Client from the underlying Device Protocol and Memory Register knowledge.

OPC Client

Dev1.Tag1 4001 Dev1.Tag2 4001


OPC Server

Dev2.Tag1 obj1.prop.val Dev2.Tag2 obj2.prop.val

Modbus / DF1 etc.

BACNet, Profibus etc.

PLC specific addresses

PLC specific 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


Synchronous I/O

Blocking call Good for round-robin polling-type applications

Read these 1x Read Read these these 1x 1x Read these 1x Tag(s) one time, Tag(s) Tag(s) one one time, time, Tag(s) one time, TELL ME when and TELL I Iwill ME wait when for and will wait for you have results you the have results theresponse response
OPC Client

Asynchronous I/O

Faster method, compared to Synchronous Development requires different way of thinking Cache Device

OPC Server

Different Locations

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

OPC DA, Data Acquisition


Subscriptions offer best optimization OPC client requests a subscription OPC Server does the polling OPC Server sends change notifications to the client

These Thesetags tagshave have changed changed values. values.

OPC Client

OPC Server

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 HMI/SCADA Custom Application

OPC OPC Group OPC Item

OPC Group OPC Item OPC Item OPC Item

OPC Client connects to an OPC Server. Client adds a Group. Client adds Tags to Group. The poll-rate is set in the Group. You can add multiple Groups.

OPC Item

Hardware specific networks and protocols

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

Client/Server and OPC DA


Ethernet/IP Ethernet Human Machine Interface


Defined as the OPC Client

The Client Consumes data services The Server Provides data services COM is the Middle Man OPC Servers and Clients in most cases are separate programs now OPC Servers only act on commands from an OPC Client

Modbus RTU

OPC DA Client Side Microsoft COM OPC DA Server Side Communications Drivers

Defined as the OPC Server

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 to want to your Tell me connect to you connect to youand login name My user Letuser me name check My name my password! is fred Access Control is fredand and password PC 1 OPC Client Yes, you is are List. password is on PC 1 OPC Client ***** my list I will ***** OPC Client OPC Client grant you access! COM run-time COM run-time Security Provider Security Provider

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

OPC DA, Scalable Architecture



OPC Server OPC Client Visualization & Alarming etc.

OPC Client Database Logging

OPC Client/ OPC Server

OPC Server

Enterprise System

HMI/SCADA Application

Other Application

A server can support multiple Clients, concurrently Many servers can exist on the network Attach OPC Systems to other 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
OPC(DCOM)

SCADA

OPC (DCOM)

OPC(DCOM)

Adv. Control

Batch

PC-Based Control
OPC(DCOM)

PLC PLC DCS DCS

Industrial IndustrialNetworks Networks

Data Data Acquisition Acquisition

Other. Other.(DB, (DB,SQL SQL

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 Management Management Inventory Inventory Management Management

Production Production Control Control

Purchasing Purchasing

UA

HMI HMI Visualization Visualization


DA, HDA, A&E

SCADA SCADA

The The Automation Automation paradigm paradigm

The The Enterprise Enterprise paradigm paradigm

Production Production Management ManagementSystems Systems

UA UADoesnt DoesntReplace Replace OPC OPCDA/HDA/A&E DA/HDA/A&E It ItComplements 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