![Page 1: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/1.jpg)
OPC:Environment for Industrial
System Integration
![Page 2: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/4.jpg)
Approaches for connection with control
devices
![Page 5: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/7.jpg)
Click to edit Master title styleDirect drivers
![Page 8: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/9.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/10.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/11.jpg)
Click to edit Master title styleDemo for DDE connection
Excel – Citect Excel – Intouch Intouch - Citect
![Page 12: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/12.jpg)
OPC
![Page 13: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/15.jpg)
Click to edit Master title styleThe I/O driver problem
![Page 16: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/16.jpg)
Click to edit Master title styleHow does OPC solve the problem?
![Page 17: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/20.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/21.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/22.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/23.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/24.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/25.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/26.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/27.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/28.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/29.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/30.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/31.jpg)
Click to edit Master title styleDemo system
![Page 32: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/32.jpg)
Click to edit Master title styleDemo system
![Page 33: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/33.jpg)
Click to edit Master title styleDemo: PLC
![Page 34: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/34.jpg)
Click to edit Master title styleDemo: SCADAs – OPC ServerCitect, Schneider ElectricIntouch, WonderwareRSView32, Rockwell Automation
![Page 35: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/35.jpg)
Click to edit Master title styleDemo: C++ Application – OPC Server
![Page 36: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/36.jpg)
Click to edit Master title styleDemo: Excel as OPC Client
![Page 37: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/37.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/38.jpg)
Click to edit Master title styleDemo: C# OPC client
![Page 39: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/39.jpg)
Click to edit Master title styleDemo: Web-based OPC Client
![Page 40: OPC: Environment for Industrial System Integration](https://reader038.vdocuments.mx/reader038/viewer/2022103006/56649e7c5503460f94b7dbaf/html5/thumbnails/40.jpg)
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