OPC: Environment for Industrial System Integration.

40
OPC: Environment for Industrial System Integration

Transcript of OPC: Environment for Industrial System Integration.

Page 1: OPC: Environment for Industrial System Integration.

OPC:Environment for Industrial

System Integration

Page 2: OPC: Environment for Industrial System Integration.

Click to edit Master title styleAuthorTruong Dinh Chau

Ho Chi Minh City Univ. of [email protected]

[email protected] (+84) (0)91. 543-74-40

Page 3: OPC: Environment for Industrial System Integration.

Click to edit Master title styleTopics Approaches for connection with control devices:

Direct driver, DDE, OPC I/O driver problem. What is OPC Logical object model OPC Data Access Server OPC client/server interaction Data sources Modes of data exchange between OPC

client/server Structure of demo system Popular SCADA (Citect, Intouch, RSView32) –

OPC C++ application – OPC .NET – OPC Web – OPC MS Excel – OPC

Page 4: OPC: Environment for Industrial System Integration.

Approaches for connection with control

devices

Page 5: OPC: Environment for Industrial System Integration.

Click to edit Master title styleTechnologies

DLL - Dynamic-link Library (Direct drivers)

DDE - Dynamic Data Exchange OPC - OLE for Process Control

Page 6: OPC: Environment for Industrial System Integration.

Click to edit Master title style

SCADA

Specific part

I/O Device ADriver A - DLL

Driver B - DLL

Driver C - DLLGen

era

l p

art

(EX

E) I/O Device B

I/O Device C

Direct driversUser

C/C++ code

Page 7: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDirect drivers

Page 8: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDirect drivers

Tag

Tag

Tag

Tag

Tag

DAQ Tasks

EXEDLL

Tag

Tag

Tag

Tag

Tag

bool DeviceConfig(){

. . .}

float Read( DWORD Channel){

. . .}

bool Write( DWORD Channel, float Data){

. . .}

DAQ Tasks

Page 9: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDDE

I/O DeviceDDE Sever

DDE Server

DDE Server

DD

E C

lien

ts, SC

AD

A

I/O Device

I/O Device

Computer A

Page 10: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDDE

I/O Device

DDE Server

Application

Topic1

Item1 Item2 Item3

Topic2

Item1 Item2 Item3

DDE Client

Ap

plicati

on|T

op

ic1!I

tem

2

Page 11: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo for DDE connection

Excel – Citect Excel – Intouch Intouch - Citect

Page 12: OPC: Environment for Industrial System Integration.

OPC

Page 13: OPC: Environment for Industrial System Integration.

Click to edit Master title styleThe I/O driver problem

C/C++ Application SCADA SCADA

SoftwareDriver C

SoftwareDriver B

SoftwareDriver A

Physical I/O

Device A

Physical I/O

Device B

Physical I/O

Device C

Not allowAllow

Page 14: OPC: Environment for Industrial System Integration.

Click to edit Master title styleHow does OPC solve the problem?

C/C++ Application SCADA

OPC

SCADA

SoftwareDriver C

SoftwareDriver B

SoftwareDriver A

Physical I/O

OPC OPC

OPC OPC OPC

Device A

Physical I/O

Device B

Physical I/O

Device C

Page 15: OPC: Environment for Industrial System Integration.

Click to edit Master title styleThe I/O driver problem

Page 16: OPC: Environment for Industrial System Integration.

Click to edit Master title styleHow does OPC solve the problem?

Page 17: OPC: Environment for Industrial System Integration.

Click to edit Master title styleWhat is OPC?

SCADA

Physical I/O

Devices

OPC

Ser

ver

OPC Interfaces

Software driver

Softw

are

dri

ver

C++, VBA, .NET

Applications OPC Interfaces

MatLab, Excel

OPC Interfaces

OPC is an industry standard created by a number of worldwide leading hardware and software suppliers. The OPC standard specifies an interface between client applications and servers of process data. The standard was purposely limited to the reading and writing of real-time process values (Data Access – DA). Alarm handling, process events (A&E), historical data access (HDA), … were all deferred to subsequent releases of the standard. An OPC compliant client can read and write data to any OPC compliant server.

OPC Foundation (www.opcfoundation.org). OPC is supported 408 companies: Schneider

Electric (France), Iconics (USA), Wonderware (USA), Rockwell Automation (USA), Adastra (Russia), Siemens (Germany), Intellution (USA), Indusoft Russia (Russia), Fastwel (Russia), ABB Automation (USA), Fieldbus Foundation (USA), Toshiba (Japan), Hitachi (Japan), National Instruments (USA), Advantech (Taiwan)… SCADA Company Country

Vijeo Citect Schneider Electric FranceInTouch Wonderware USARSView32 Rockwell

AutomationUSA

iFIX Intellution USAWinCC Siemens GermanyGenesis32 Iconics USACimplicity GE Fanuc USAGenieDAQ Advantech TaiwanTrace Mode AdAstra RussiaVijeo Look Schneider Electric FranceLabView National

InstrumentsUSA

Master SCADA InSAT RussiaContour Obedinenie Uig UcrainaWizcon Axeda USACrug-2000 Crug RussiaElipse SCADA Elipse Software USA

Page 18: OPC: Environment for Industrial System Integration.

Click to edit Master title styleWhat is OPC?

OPC – OLE for Process Control

OPC – OLE for Production Control

OPC – Openness, Productivity and

Connectivity

OPC – OLE COM for Process Control

Object Linking & Embedding

COM – “Component Object Model” provides interfaces and inter-component communication. Through COM, an application may use features of any other application object. COM is the core of DCOM (Distributed COM), ActiveX.

Page 19: OPC: Environment for Industrial System Integration.

Click to edit Master title styleOPC components

I/O Device

I/O DeviceOPC Server(DLL)

OPC Server(EXE)

OPC Server(EXE)

OPC

Clie

nt

(SC

AD

A)

I/O Device

Page 20: OPC: Environment for Industrial System Integration.

Click to edit Master title styleLogical object model OPC Server

OPC GroupOPC GroupOPC Item OPC GroupOPC GroupOPC ItemOPC GroupOPC GroupOPC Item

OPCInterfaces

OPCInterfaces OPC GroupOPC GroupOPC Group

Device

OPC Server

Tag Tag Tag

Device

Tag Tag Tag

Page 21: OPC: Environment for Industrial System Integration.

Click to edit Master title styleOPC Item

Connection to a data source. Properties:

Data value (v)VARIANT type: boolean, integer, float, string, …

Quality (q) UNCERTAIN, GOOD, BAD, … Time stamp (t)

- FILETIME: {yyyy:mm:dd:hh:mm:ss:…}- The Timestamp should indicate the time that the value and quality was obtained by the device.

Item i

Tag j

Page 22: OPC: Environment for Industrial System Integration.

Click to edit Master title styleTimestamp of real-time data in the integrated control system

Supervision

Upper controller level

Controller levelPLC

Passive I/O boards

Instrumentation

PLC

SCADA station

OPC Server OPC Server

SCADA station

v – value, q – quality, t – timestamp

v5, q5, t

OPC Server

v1, q1, t v4, q4, t v6, q6, t

v6, q6, tv4, q4, t v3, q3, tv1, q1, t

v1, t v2, t v6, tv4, tv3, t

v5, q5, t

v5, t

3.1, OK, 03:54:01

3.1, 03:54:01

3.1, GOOD, 03:54:01

3.2, OK, 03:54:02

3.2, 03:54:02

3.2, GOOD, 03:54:02

3.5, OK, 03:54:03

3.5, 03:54:03

3.5, GOOD, 03:54:03

3.8, OK, 03:54:04

3.5, 03:54:04

3.8, GOOD, 03:54:04

3.8, OK, 03:54:05

3.8, 03:54:05

3.8, GOOD, 03:54:05

4.1, BAD, 03:54:06

4.1, 03:54:06

4.1, BAD, 03:54:06

4.3, BAD, 03:54:07

4.3, 03:54:07

4.3, BAD, 03:54:07

4.0, GOOD, 03:54:08

4.0, 03:54:08

4.0, GOOD, 03:54:08

3.9, GOOD, 03:54:09

3.9, 03:54:09

3.9, GOOD, 03:54:09

4.2, BAD, 03:54:10

4.2, 03:54:10

4.2, BAD, 03:54:10

4.0, GOOD, 03:54:11

4.0, 03:54:11

4.0, GOOD, 03:54:11

4.5, BAD, 03:54:12

4.5, 03:54:12

4.5, BAD, 03:54:12

4.3, BAD, 03:54:13

4.3, 03:54:13

4.3, BAD, 03:54:13

3.8, GOOD, 03:54:14

3.8, 03:54:14

3.8, GOOD, 03:54:14

3.2, GOOD, 03:54:15

3.2, 03:54:15

3.2, GOOD, 03:54:15

3.2, BAD, 03:54:16

0.9, 03:54:16

0.9, BAD, 03:54:16

1.7, GOOD, 03:54:17

1.7, 03:54:17

1.7, GOOD, 03:54:17

2.0, GOOD, 03:54:18

2.0, 03:54:18

2.0, GOOD, 03:54:18

2.6, GOOD, 03:54:19

2.6, 03:54:19

2.6, GOOD, 03:54:19

4.3, BAD, 03:54:20

4.3, 03:54:20

4.3, BAD, 03:54:20

4.1, BAD, 03:54:21

4.1, 03:54:21

4.1, BAD, 03:54:21

4.0, GOOD, 03:54:22

4.0, 03:54:22

4.0, GOOD, 03:54:22

4.5, BAD, 03:54:23

4.5, 03:54:23

4.5, BAD, 03:54:23

5.1, BAD, 03:54:24

5.1, 03:54:24

4.5, BAD, 03:54:24

3.9, GOOD, 03:54:25

3.9, 03:54:25

3.9, GOOD, 03:54:25

4.3, BAD, 03:54:26

4.3, 03:54:26

4.3, BAD, 03:54:26

4.2, BAD, 03:54:27

4.2, 03:54:27

4.2, BAD, 03:54:27

4.0, GOOD, 03:54:28

4.0, 03:54:28

4.0, GOOD, 03:54:28

3.9, GOOD, 03:54:29

3.9, 03:54:29

3.9, GOOD, 03:54:29

4.0, GOOD, 03:54:30

4.0, 03:54:30

4.0, GOOD, 03:54:30

4.3, BAD, 03:54:31

4.3, 03:54:31

4.3, BAD, 03:54:31

4.6, BAD, 03:54:32

4.6, 03:54:32

4.6, BAD, 03:54:32

4.4, BAD, 03:54:33

4.4, 03:54:33

4.4, BAD, 03:54:33

4.1, BAD, 03:54:34

4.1, 03:54:34

4.1, BAD, 03:54:34

3.5, GOOD, 03:54:35

3.5, 03:54:35

3.5, GOOD, 03:54:35

2.9, GOOD, 03:54:36

2.9, 03:54:36

2.9, GOOD, 03:54:36

2.7, GOOD, 03:54:38

2.7, 03:54:38

2.7, GOOD, 03:54:38

2.0, GOOD, 03:54:39

2.0, 03:54:39

2.0, GOOD, 03:54:39

1.9, GOOD, 03:54:40

1.9, 03:54:40

1.9, GOOD, 03:54:40

2.0, GOOD, 03:54:41

2.0, 03:54:41

2.0, GOOD, 03:54:41

1.8, GOOD, 03:54:42

1.8, 03:54:42

1.8, GOOD, 03:54:42

1.9, GOOD, 03:54:43

1.9, 03:54:43

1.9, GOOD, 03:54:43

1.8, GOOD, 03:54:44

1.8, 03:54:44

1.8, GOOD, 03:54:44

1.7, GOOD, 03:54:45

1.7, 03:54:45

1.7, GOOD, 03:54:45

1.7, GOOD, 03:54:46

1.7, 03:54:46

1.7, GOOD, 03:54:46

1.7, GOOD, 03:54:47

1.7, 03:54:47

1.7, GOOD, 03:54:47

1.7, GOOD, 03:54:48

1.7, 03:54:48

1.7, GOOD, 03:54:48

1.8, GOOD, 03:54:49

1.8, 03:54:49

1.8, GOOD, 03:54:49

1.7, GOOD, 03:54:50

1.7, 03:54:50

1.7, GOOD, 03:54:50

1.8, GOOD, 03:54:51

1.8, 03:54:51

1.8, GOOD, 03:54:51

2.0, GOOD, 03:54:52

2.0, 03:54:52

2.0, GOOD, 03:54:52

2.1, GOOD, 03:54:53

2.1, 03:54:53

2.1, GOOD, 03:54:53

1.9, GOOD, 03:54:54

1.9, 03:54:54

1.9, GOOD, 03:54:54

1.8, GOOD, 03:54:55

1.8, 03:54:55

1.8, GOOD, 03:54:55

1.7, GOOD, 03:54:56

1.7, 03:54:56

1.7, GOOD, 03:54:56

1.6, GOOD, 03:54:57

1.6, 03:54:57

1.6, GOOD, 03:54:57

1.6, GOOD, 03:54:58

1.6, 03:54:58

1.6, GOOD, 03:54:58

1.6, GOOD, 03:54:59

1.6, 03:54:59

1.6, GOOD, 03:54:59

1.7, GOOD, 03:54:60

1.7, 03:54:60

1.7, GOOD, 03:54:60

Page 23: OPC: Environment for Industrial System Integration.

Click to edit Master title styleOPC Group Object

Collection of items. Clients must use group to access

items. Properties:

Requested update rate; Percent dead-band; Time bias;

Group i

Item 1

Item 2

Item 3

Page 24: OPC: Environment for Industrial System Integration.

Click to edit Master title styleOPC DA Specification ver. 1.0

IOPCBrowseServerAddressSpace

IOPCServer

OPCServer

IDataObject

IOPCAsyncIO

IOPCGroupStateMgt

IOPCItemMgt

IOPCSyncIOOPCGroup

IOPCAdviseSinkOPC

Client

Page 25: OPC: Environment for Industrial System Integration.

Click to edit Master title styleData sources in OPC ServersRead from server’s internal cache.Read directly from device.Write directly to the device.

Page 26: OPC: Environment for Industrial System Integration.

Click to edit Master title styleClient/server interaction

Group 2

Client 2

Server 2

Item 2

Item 1Item 1

Group 1Group 2

Client 1

Server 1

Device 1

Tag 1 Tag 2 Tag 3

Device 2

Tag 1 Tag 2

Group 1

Item 3

Item 2

Item 1Item 1

OPC

Serv

er

Page 27: OPC: Environment for Industrial System Integration.

Click to edit Master title styleModes of data exchange between OPC Server/Client

Synchronous read/write.Asynchronous read/write.Subscription (for read).Refresh (for read).

Page 28: OPC: Environment for Industrial System Integration.

Click to edit Master title styleSynchronous mode

Group 2

Client 1O

PC

Serv

er

Server 1

Device 1

Tag 1 Tag 2 Tag 3

Device 2

Tag 1 Tag 2

Group 1

Item 3

Item 2

Item 1Item 1

Dat

a

Group1.Read(DEVICE, ItemHandles, Results)

Page 29: OPC: Environment for Industrial System Integration.

Click to edit Master title styleAsynchronous mode

Group 2

Client 1O

PC

Serv

er

Server 1

Device 1

Tag 1 Tag 2 Tag 3

Device 2

Tag 1 Tag 2

Group 1

Item 3

Item 2

Item 1Item 1Item 1

Item 2

Group1.Read(DEVICE, ItemHandles) Client1.ReadComplete(Results)

Page 30: OPC: Environment for Industrial System Integration.

Click to edit Master title styleSubscription

Group 2

Client 1O

PC

Serv

er

Server 1

Device 1

Tag 1 Tag 2 Tag 3

Device 2

Tag 1 Tag 2

Group 1

Item 3

Item 2

Item 1Item 1Item 1

Item 2

Item 3

Data changed

Data changed

Client1.DataChanged(Data)

Page 31: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo system

Page 32: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo system

Page 33: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: PLC

Page 34: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: SCADAs – OPC ServerCitect, Schneider ElectricIntouch, WonderwareRSView32, Rockwell Automation

Page 35: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: C++ Application – OPC Server

Page 36: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: Excel as OPC Client

Page 37: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: .NET OPC client. OPC.NET wrapper

ASP .NET + AJAX

OPC .NET wrapper

Connect()AddGroup()AddItems()…Read()Write()

C# script

OPC Server

OPC

Inte

rfac

es

Periodic execution

C# Application

.NET platform interface

C++ object

C# thread

COM interface

Page 38: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: C# OPC client

Page 39: OPC: Environment for Industrial System Integration.

Click to edit Master title styleDemo: Web-based OPC Client

Page 40: OPC: Environment for Industrial System Integration.

Click to edit Master title style

Thank you for your attention•

Truong Dinh Chau, Ph.DHo Chi Minh City Univ. of Tech.

[email protected]@hcmutedu.vn

[email protected](+84) (0)91. 543-74-40