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