OPC

Transcrição

OPC
Dienste
Grundlagen zum Internet
Dienste: Offene Schnittstellen der
Automatisierung
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Systementwurf SE02 1
SS 05- Bra
OPC
OPC
-
OLE for Process Control
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC - OLE for Process Control
• 1994 gründet Microsoft die Gruppe WINSEM (Windows in Science, Engineering
and Manufacturing)
• einige Vertreter der Industriekommunikation (Intellution, Rockwell, USDATA, LabTech)
gliedern sich aus und beginnen einen Standard für die Automatisierungstechnik zu
entwerfen
• 1995 Entscheidung für OLE
• August 1996 erster Entwurf zu OPC auf der Basis des COM/DCOM (Component
Object Model) von Microsoft
• auf dem Markt sind heute die Versionen 1,2 z.T. 3 von OPC
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
Das Ziel von OPC = Standardisierte, universelle Schnittstelle
PC
Applikation
Treiber1
Anzeige
Applikation
OPC
Trei- Treiber2 ber3
Treiber1
Bus 1
Station 1
Bus 2
Bus 2
Bus 3
Station 2
Station 3
TECHNISCHE
UNIVERSITÄT
DRESDEN
Trei- Treiber2 ber3
Bus 1
Station 1
Station 2
PC
Bus 3
Station 3
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC Client-Server Modell
• ein Client kann beliebig viele Server nutzen
• ein Server kann von beliebig vielen Clients angesprochen werden
• durch einheitliche Schnittstelle kann der Server eines Herstellers gegen
den eines anderen ausgetauscht werden
• Server haben Namen, die ein Client wissen muß (ProgID)
Steuerung
OPC-Server
OPC-Client
Feldgerät
OPC-Server
OPC-Client
Feldbus
TECHNISCHE
UNIVERSITÄT
DRESDEN
OPC-Server
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC - Schichtenmodell
OPC-Schnittstelle
DCOM/COM
TCP/IP
Treiber
Spezifische
Ethernet
HW/SW-
Profibus
TECHNISCHE
UNIVERSITÄT
DRESDEN
.....
.....
CAN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
COM/DCOM - Distributed Component Object Model
• DCOM muß installiert und freigegeben sein
• COM/DCOM ist fester Bestandteil von Windows-Betriebssystemen
• COM/DCOM ist Quasi-Standard
• Schnittstelle ist durch 128 Bit langen Identifier (Global Unique Identifier) beschrieben
nach Definition und Veröffentlichung dürfen GUID nicht mehr verändert werden
• DCOM Objekte liegen in DCOM Servern, (DLL oder EXE); DCOM-Objekte werden über
Class-Identifier (CLSID) gefunden
• RPC muß als Netzwerkdienst installiert sein
• Client und Server müssen in der Registrierdatenbank registriert sein
⇒ bevor ein Rechner auf einen OPC-Server zugreifen kann muß Registrierung erfolgen
• Zugriff auf einen Server nur durch einen OPC-Client
(ist kein Standard-Produkt wie z.B. Browser)
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
Custom und Automation Interface
Custom Interfaces für Programmiersprachen, die das Konzept von Funktionszeigern
unterstützen (C/C++, Delphi,...)
Automation Interfaces für Programmiersprachen, die Methoden nicht über
Funktionszeiger, sondern über Namen aufrufen (Visual Basic)
OPC Client
C++ Applikation
Custom Interface
OPC Server
OPC Client
Visual Basic
Applikation
TECHNISCHE
UNIVERSITÄT
DRESDEN
Automation
Interface
Automation
Wrapper
Custom
Interface
OPDDA.dll
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
Objektmodell Custom Interface
OPC-Server
OPC-Group
OPC-Group
OPC-Item
OPC-Item
OPC-Item
TECHNISCHE
UNIVERSITÄT
DRESDEN
OPC-Item
OPC-Item
OPC-Item
Lehrstuhl für Automatisierungstechnik
OPC-Group
OPC-Item
OPC-Item
OPC-Item
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
Objektmodell Automation Interface
OPCServer
OPCGroups
(Collection)
OPCGroup
OPCItems
(Collection)
OPC-Item
OPC-Item
OPCItem
TECHNISCHE
UNIVERSITÄT
DRESDEN
OPCGroup
OPCItems
(Collection)
OPC-Item
OPC-Item
OPCItem
Lehrstuhl für Automatisierungstechnik
OPCGroup
OPCItems
(Collection)
OPC-Item
OPC-Item
OPCItem
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
Objektmodell Automation Interface
Object
Description
OPCServer
An instance of an OPC Server. You must create an OPCServer object
before you can get references to other objects. It contains the OPCGroups
Collection and creates OPCBrowser objects.
OPCGroups
An Automation collection containing all of the OPCGroup objects this client
has created within the scope of the OPCServer that the Automation
Application has connected to via the OPCServer.Connect()
OPCGroup
An instance of an OPCGroup object. The purpose of this object is to
maintain state information and provide the mechanism to provide data
acquisition services for the OPCItem Collection object that the OPCGroup
object references.
OPCItems
An Automation collection containing all of the OPCItem objects this client
has created within the scope of the OPCServer, and corresponding
OPCGroup object that the Automation Application has created.
OPCItem
An automation object that maintains the item’s definition, current value,
status information, last update time. Note the Custom Interface does not
provide a separate Item Object.
OPCBrowser
An object that browses item names in the server’s configuration. There
exists only one instance of an OPCBrowser object per instance of an OPC
Server object.
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Server-Object: Automation Interface
1.1.1 Summary of Properties
StartTime
CurrentTime
LastUpdateTime
MajorVersion
MinorVersion
BuildNumber
VendorInfo
ServerState
LocaleID
Bandwidth
OPCGroups
PublicGroupNames
ServerName
ServerNode
ClientName
1.1.2 Summary of Methods
GetOPCServers
Connect
Disconnect
CreateBrowser
GetErrorString
QueryAvailableLocaleIDs
QueryAvailableProperties
GetItemProperties
LookupItemIDs
1.1.3 Summary of Events
ServerShutDown
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Server-Object: Programmbeispiel
Private Sub ServerStarten_Click()
Dim error As Long
Dim Server As String
Dim Node As String
'Servereinstellungen
Server = "Schneider-Aut.OFS.2"
Node = "141.30.119.27“
Set MyServer = New OPCServer
MyServer.Connect (Server, Node)
`Fehlerbehandlung
MsgBox ("ServerStart: " + MyServer.GetErrorString(error))
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Groups-Object: Automation Interface
1.1.1 Summary of Properties
Parent
DefaultGroupIsActive
DefaultGroupUpdateRate
DefaultGroupDeadband
DefaultGroupLocaleID
DefaultGroupTimeBias
Count
1.1.2 Summary of Methods
Item
Add
GetOPCGroup
Remove
RemoveAll
ConnectPublicGroup
RemovePublicGroup
1.1.3 Summary of Events
GlobalDataChange
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Group-Object: Automation Interface
1.1.1 Summary of Properties
Parent
Name
IsPublic
IsActive
IsSubscribed
ClientHandle
ServerHandle
LocaleID
TimeBias
DeadBand
UpdateRate
OPCItems
1.1.2 Summary of Methods
SyncRead
SyncWrite
AsyncRead
AsyncWrite
AsyncRefresh
AsyncCancel
1.1.3 Summary of Events
DataChange
AsyncReadComplete
AsyncWriteComplete
AsyncCancelComplete
x
Max
Glättungsbereich: Totband * (Max-Min)
Min
TECHNISCHE
UNIVERSITÄT
DRESDEN
t
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Group-/Groups- Object : Pogrammbeispiel
' Gruppen initialisieren
'Groups als Sammelobjekt für alle Gruppen des Servers "Quantum"
Dim MyGroups As OPCGroups
Set MyGroups = MyServer.OPCGroups
'dann die Gruppen
Set Gr1 = MyGroups.Add("Anlage1")
Set Gr2 = MyGroups.Add("Anlage2")
MyGroups.DefaultGroupIsActive = True
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Items-Object: Automation Interface
1.1.1 Summary of Properties
Parent
DefaultRequestedDataType
DefaultIsActive
Count
DefaultAccessPath
1.1.2 Summary of Methods
Item
GetOPCItem
AddItem
AddItems
Remove
Validate
SetActive
SetClientHandles
SetDataTypes
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Item-Object: Automation Interface
1.1.1 Summary of Properties
Parent
ClientHandle
ServerHandle
AccessPath
AccessRights
ItemID
IsActive
RequestedDataType
Value
Quality
TimeStamp
CanonicalDataType
EUType
EUInfo
1.1.2
Summary of Methods
Read
TECHNISCHE
UNIVERSITÄT
DRESDEN
Write
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Item-/Items- Object : Pogrammbeispiel
Dim MyItems1 As OPCItems
Dim MyItems2 As OPCItems
Dim Item1 As OPCItem
Dim Item2 As OPCItem
Dim Item3 As OPCItem
Dim Item4 As OPCItem
Dim Item5 As OPCItem
Dim Item6 As OPCItem
Set MyItems1 = Gr1.OPCItems
Set MyItems2 = Gr2.OPCItems
‘ dann die Items für die Gruppe1 definieren
' ein ClientHandle ist eine fortlaufende Nummer (index)
Set Item1 = MyItems1.AddItem("Quantum!LL1", 1)
Set Item2 = MyItems1.AddItem("Quantum!LH1", 2)
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC-Item
• eigentliche Prozeßvariable (z.B. Meßwert )
• Attribute:
• ID:
Name (muß eindeutig im Adreßraum des Servers sein)
• Wert:
Meßwert
• Quality :
Gültigkeit eines Wertes
• Zeitstempel: Zeit der Wertabfrage
IUnknown
IOPCItemDisp
OPC - Item
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC Namensraum
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC -Ein Überblick
OPC Security
Custom Interface
OPC Common Definition
OPC and
XML
OPC Security
Automation Interface
OPC Data Access
Custom Interface
OPC Alarms and
Events
Custom Interface
OPC Historical
Data Access
Custom Interface
OPC Batch Custom
Interface
OPC Data Access
Automation Interface
OPC Alarms and
Events
Automation Interface
OPC Historical
Data Access
Automation Interface
OPC Batch
Automation Interface
TECHNISCHE
UNIVERSITÄT
DRESDEN
Iwanitz: OLE for Process Control. S. 5
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra
OPC
OPC -Ein Überblick
OPC-Specifikation
Bedeutung
Freigabe
OPC Overview
Allg. Beschreibung der Einsatzgebiete
Release 1.00
Common Definitions and
Interface
Festlegung von Sachverhalten, die viele Spezif. Betreffen
Release 1.00
Data Access Specification
Schnittstelle für das Lesen und Schreiben von
Echtzeitdaten
Release 2.04
Alarms and Events
Specification
Schnittstelle zur Überwachung von Ereignissen
Release 1.01
Historical Data Access
Specification
Schnittstelle zum Zugriff auf historische Daten
Release 1.1
Batch Specification
Schnittstelle zum Zugriff auf Daten, die bei der
Rezeptverarbeitung benötigt werden
Schnittstelle zum Einstellen und Nutzen von
Sicherheitsaspekten
Spezifikation einer horizontalen Kommunikation zwischen
Servern
Umsetzung der Data Access Spezifikation auf XML zur
Nutzung von OPC im Web
Schnittstelle für das Übergeben von Kommandos und das
Überwachen der Abarbeitung
Release 2.0
Security Specification
OPC (Data Exchange) DX
OPC and XML
OPC Command Execution
Interface
TECHNISCHE
UNIVERSITÄT
DRESDEN
Lehrstuhl für Automatisierungstechnik
Dr.-Ing. A. Braune
Release 1.0
in Erarbeitung
In Erarbeitung
Draft V. 0.10
Internet in der AT
SS05 - Bra
OPC
OPC und WWW
Web-Client
Standard-Browser
OPC-Client
OPC-Server
Web-Server
DCOM/COM
Spezifische
HW/SWEthernet
Treiber
TECHNISCHE
UNIVERSITÄT
DRESDEN
TCP/IP
.....
Lehrstuhl für Automatisierungstechnik
.....
Dr.-Ing. A. Braune
Internet in der AT
SS05 - Bra