OPC: Environment for Industrial System Integration.
-
Upload
phyllis-doyle -
Category
Documents
-
view
221 -
download
3
Transcript of OPC: Environment for Industrial System Integration.
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
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
Approaches for connection with control
devices
Click to edit Master title styleTechnologies
DLL - Dynamic-link Library (Direct drivers)
DDE - Dynamic Data Exchange OPC - OLE for Process Control
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
Click to edit Master title styleDirect drivers
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
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
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
Click to edit Master title styleDemo for DDE connection
Excel – Citect Excel – Intouch Intouch - Citect
OPC
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
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
Click to edit Master title styleThe I/O driver problem
Click to edit Master title styleHow does OPC solve the problem?
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
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.
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
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
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
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
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
Click to edit Master title styleOPC DA Specification ver. 1.0
IOPCBrowseServerAddressSpace
IOPCServer
OPCServer
IDataObject
IOPCAsyncIO
IOPCGroupStateMgt
IOPCItemMgt
IOPCSyncIOOPCGroup
IOPCAdviseSinkOPC
Client
Click to edit Master title styleData sources in OPC ServersRead from server’s internal cache.Read directly from device.Write directly to the device.
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
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).
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)
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)
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)
Click to edit Master title styleDemo system
Click to edit Master title styleDemo system
Click to edit Master title styleDemo: PLC
Click to edit Master title styleDemo: SCADAs – OPC ServerCitect, Schneider ElectricIntouch, WonderwareRSView32, Rockwell Automation
Click to edit Master title styleDemo: C++ Application – OPC Server
Click to edit Master title styleDemo: Excel as OPC Client
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
Click to edit Master title styleDemo: C# OPC client
Click to edit Master title styleDemo: Web-based OPC Client
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