OPC-OLE for Process Control A Case Study April 15 th , 2003 Tom Albrecht [email protected] Byron Shetler [email protected]
Dec 17, 2015
OPC-OLE for Process Control A Case Study
OPC-OLE for Process Control A Case Study
April 15th, 2003
Tom Albrecht [email protected]
Byron Shetler [email protected]
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?