OPC-OLE for Process Control A Case Study April 15 th, 2003 Tom Albrechttom@hertzler.com Byron Shetlerbyron@hertzler.com.

Post on 17-Dec-2015

219 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

OPC-OLE for Process Control A Case Study

OPC-OLE for Process Control A Case Study

April 15th, 2003

Tom Albrecht tom@hertzler.com

Byron Shetler byron@hertzler.com

Presentation outlinePresentation outline 1. What is OPC?

2. Why is OPC important?3. Introduction to OPC technology4. OPC success story:

Data acquisitionData analysis Improving business outcomes

5. Questions and answers

What is OPC?What is OPC?

OPC is open connectivity

OPC is a series of standards specifications.

OPC is based on Microsoft’s OLE technology

OPC foundation and Annual OPC Foundation meeting - currently has 300 member companies

Why is OPC important?Why is OPC important?

A standard for interoperability

Allows the use of software components to request and utilize plant floor data

There are now hundreds of OPC Data Access servers and clients

The benefits of OPCThe benefits of OPC Eliminate the costly development of

proprietary drivers

Speed up setup time for acquiring data from automation equipment

Allows the use of software components to communicate with the plant floor

Process owners can make critical business decisions based on knowledge provided by process data

More benefits of OPCMore benefits of OPC

Taking advantage of OPC interoperability, OPC solutions today include...

Process alarms, operator actions, informational messages, and tracking/auditing messages.

Defects can be stored from OPC Server tags for control charting, pareto, DPU analysis and drill down OPC client applications can apply business rules

to tag information and store defects real-time.

Introduction to OPCIntroduction to OPC

Where Does OPC Fit In?Where Does OPC Fit In?

Co m3

Ethernet port

Ethernet protocol

Network hub

PLC with

I

E

OPC Client

Windows Driver(Allen-Bradley)

Other WindowsDrivers

Tag 1: Temp.

Tag 2: Pressure

Kepware Iconics

OPC SERVER(S)

Technical Aspects of OPCTechnical Aspects of OPC OPC clients and servers use COM and

DCOM for program interoperability An OPC server has to make at least

three entries in the registry: Program Identifier (ProgID) ClassID (CLSID) ApplicationID (AppID)

Program Interoperability -Before OPC

Program Interoperability -Before OPC

PC withsoftware

package A

PLCproprietory

software

PWR

OK

WIC0ACT/CH0

ACT/CH1

WIC0ACT/CH0

ACT/CH1

ETHACT

COL

Device A

PWR

OK

WIC0ACT/CH0

ACT/CH1

WIC0ACT/CH0

ACT/CH1

ETHACT

COL

Device B

PWR

OK

WIC0ACT/CH0

ACT/CH1

WIC0ACT/CH0

ACT/CH1

ETHACT

COL

Device C

DCS withproprietory

software

Program Interoperability - OPC

Program Interoperability - OPC

OPCClinet A

OPCClient B

OPCClient C

OPCServer A

OPCServer B

OPCServer C

Applicationdatabase

Applicationsoftware

Case Study – Pollak APDCase Study – Pollak APD

Introduction to Pollak APD

Case StudyCase Study

Pollak couldn’t rely on the data, they recognized that there had to be a better way

Pollak needed a way to automate the acquisition and analysis of large quantities of data.

From experience they knew they had to find an open systems standard

Name: Process system diagramAim: Define the process flow and pinpoint variation

+

-

© Aptleadership 2002

Processsteps

ProcessInputs Positive Output

Negative output

Call Status Dashboard

ProcessInputs

ProcessInputs

Name: Process system diagramAim: Define the Process flow and pinpoint variation

+

-

© Aptleadership 2002

IncomingMaterials

Processdata

LabIS

QCIS

Product information

Process events

Downtime

Defects

Cycle time

Reduced downtime

Call Status Dashboard

OPC client

Application Database

PLC PLC PLCPLC

Process trends

Process control application

SPC

OPC Server

Dashboard

ResultsResults

Pollak APD states "We have to be that much better than our competition to enable us to continue to manufacture in this highly paid labor market."

By analyzing downtime they were able to boost OEE from 65% to 75%, representing more than $130K increase in throughput.

How OPC Data is AcquiredHow OPC Data is Acquired

Data Acquisition - Introduction

Data Acquisition - Introduction

Ability to apply logic

Store measurement and defect data, notes, events, etc.

Real-time feedback

Data Acquisition OptionsData Acquisition Options

Option 1: Use high-level commands to write data collection programs in hours

Option 2: Write low-level custom code (pick your flavor: C++, etc.) that takes months to complete and is difficult to update

Let’s take a look at option 1…

Data Acquisition-Initialize Server

Data Acquisition-Initialize Server

OPC_Connect Server_Number, “OPC_Prog_or_CLS_ID”, “Server_IP_or_Name” Example: OPC_Connect 1, “KEPware.KEPServerEx.V4”, “Csd-sql-srv”

Data Acquisition- Initialize Item Names

Data Acquisition- Initialize Item Names

OPC_Init Server_Number, Channel_Number, “Item_Name”, “Asynchronous” Example: OPC_Init 1, 1, “N73:DataReady”, “Y” Example: OPC_Init 1, 2, “N73:Pressure”, “N”

Data Acquisition - Item Browser

Data Acquisition - Item Browser

Data Acquisition - Start Collection

Data Acquisition - Start Collection

OPC_ReceiveValue Server_Number, Channel_Number Example: OPC_ReceiveValue 1, 1 Use Receive (asynchronous) to reduce network traffic Code:

While OPC_ReceiveValue 1, 1 = 0

Loop

Go_Get_Data

Data Acquisition - Start Collection II

Data Acquisition - Start Collection II

OPC_TriggerValue Server_Number, Channel_Number Example: OPC_TriggerValue 1, 2 Code:

Pressure = OPC_TriggerValue 1, 2

Temperature = OPC_TriggerValue 1, 3

Data Acquisition - Data Quality

Data Acquisition - Data Quality

OPC_TriggerQuality Server_Number, Channel_Number Example: OPC_TriggerQuality 1, 2 Check data validity (192 = Good) Code:

If OPC_TriggerQuality 1, 2 = 192 Then

Pressure = OPC_TriggerValue 1, 2

Else

Message “OPC Data Problems: ” + …

Data Acquisition - Misc.Data Acquisition - Misc.

OPC_ WriteValue Server_Number, Channel_Number, “Value” “Value” can be a number or text

OPC_Debug State Turn on/off a status window that helps you monitor all of the OPC activity and debug the OPC connections

Data Acquisition - Disconnect

Data Acquisition - Disconnect

OPC_Disconnect Server_Number Example: OPC_Disconnect 1

Data Acquisition –Data Storage

Data Acquisition –Data Storage

Use built-in functionality and high-level commands to store measurements and defect information Commands include the ability to save data, look up defects from the master list, connect to any data source, and query any table

Data Acquisition –Real-Time FeedbackData Acquisition –

Real-Time Feedback

Use built-in functionality and high-level commands to check many categories of real-time failures Output notifications to screen, printer, email, file, any database, pager, flashing lights, etc. Closed-loop feedback is simple to implement via DDE, RS-232, TCP/IP, or OPC

OPC Success Story -Data Analysis

OPC Success Story -Data Analysis

OPC data drill down

OPC data drill down - slide 1

Group data by anchor point - slide 2

OPC data groups - stepped control limits - slide 3

Grouped data - Zoom group 2 - slide 4

Group 2 data - slide 5

Group 2

Understand root cause of common cause variation- slide 6

OPC data drill down - slide 7

Group by shift

OPC data drill down - slide 8

OPC data drill down - slide 9

Group by employee

OPC data drill down - slide 10

Group by process

OPC-OLE for Process Control

A Case Study

OPC-OLE for Process Control

A Case Study

Purpose: Vision of how OPC technology

can enhance your quality system

Insight into OPC technology for data acquisition

Locate sources of OPC information

To learn more..To learn more..Links: www.opcfoundation.org www.hertzler.com and search on OPC

Books:OPC - Fundamentals, Implementation

and Application, by Frank Iwanitz, Jürgen Lange

The PowerPoint slides are available at www.hertzler.com/html/opc_qei_2003.asp References

W. Edwards Deming. Out of the Crisis. MIT CAES. 1086. Pp354fwww.opcfoundation.org

Questions?Questions?

top related