SIMATIC HMI WinCC V7.2 WinCC/Connectivity Pack Systemhandbuch Ausdruck der Online-Hilfe 02/2013 A5E32315628-AA WinCC/Connectivity Pack Installation Notes 1 WinCC/Connectivity Pack Release Notes 2 WinCC/Connectivity Pack Dokumentation 3 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt. GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. WARNUNG bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. VORSICHT bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. ACHTUNG bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein. Qualifiziertes Personal Das zu dieser Dokumentation zugehörige Produkt/System darf nur von für die jeweilige Aufgabenstellung qualifiziertem Personal gehandhabt werden unter Beachtung der für die jeweilige Aufgabenstellung zugehörigen Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist auf Grund seiner Ausbildung und Erfahrung befähigt, im Umgang mit diesen Produkten/Systemen Risiken zu erkennen und mögliche Gefährdungen zu vermeiden. Bestimmungsgemäßer Gebrauch von Siemens-Produkten Beachten Sie Folgendes: WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulässigen Umgebungsbedingungen müssen eingehalten werden. Hinweise in den zugehörigen Dokumentationen müssen beachtet werden. Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann. Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten. Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG DEUTSCHLAND A5E32315628-AA Ⓟ 02/2013 Änderungen vorbehalten Copyright © Siemens AG 2013. Alle Rechte vorbehalten Inhaltsverzeichnis 1 2 3 WinCC/Connectivity Pack Installation Notes................................................................................................5 1.1 Lizenzierung..................................................................................................................................5 1.2 So installieren Sie Microsoft Message Queuing............................................................................6 1.3 Installation des Connectivity Pack-Servers...................................................................................8 1.4 Installation des Connectivity Pack-Clients...................................................................................10 WinCC/Connectivity Pack Release Notes..................................................................................................13 2.1 Wichtige Hinweise zu Connectivity Pack.....................................................................................13 2.2 2.2.1 2.2.2 2.2.3 Service und Support....................................................................................................................14 Warnhinweise..............................................................................................................................14 Customer Support.......................................................................................................................16 Support Request..........................................................................................................................19 WinCC/Connectivity Pack Dokumentation..................................................................................................23 3.1 WinCC/Connectivity Pack............................................................................................................23 3.2 Übersicht: WinCC/Connectivity Pack..........................................................................................24 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10 Anwendungsfälle.........................................................................................................................28 Anwendungsfall 1: Lokaler Zugriff auf WinCC RT-Datenbank....................................................28 Anwendungsfall 2: Remote-Zugriff auf WinCC RT-Datenbank...................................................29 Anwendungsfall 3: Lokaler Zugriff auf WinCC-Archivdatenbanken.............................................30 Anwendungsfall 4: Remote-Zugriff auf WinCC-Archivdatenbanken............................................31 Anwendungsfall 5: Lokaler Zugriff auf WinCC-Anwenderarchive................................................32 Anwendungsfall 6: Remote-Zugriff auf WinCC-Anwenderarchive...............................................33 Anwendungsfall 7: Zugriff über WinCC OLE DB-Provider...........................................................34 Zugriff über OPC auf WinCC-Archive, Variablen und Meldungen...............................................35 Transparenter Zugriff auf archivierte Daten.................................................................................37 Funktionen des SQL-Servers......................................................................................................39 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.5.3 3.4.5.4 3.4.5.5 3.4.5.6 3.4.5.7 3.4.5.8 3.4.5.9 Zugriff über OLE DB-Provider.....................................................................................................41 Zugriff auf Archivdaten über OLE DB-Provider...........................................................................41 Grundlagen zu OLE DB...............................................................................................................42 WinCC Archive Connector...........................................................................................................43 Verbindung zur Archivdatenbank herstellen................................................................................47 Abfragen der Archivdaten............................................................................................................49 Darstellung der Prozesswertarchive............................................................................................49 Abfragen der Archivdaten............................................................................................................50 Abfrage für Prozesswertarchive..................................................................................................52 Abfrage für Meldearchive............................................................................................................58 Darstellung der Meldearchive......................................................................................................60 Abfrage für Anwenderarchive......................................................................................................62 Darstellung der Anwenderarchive...............................................................................................64 Zugriff über den Wizard "SQL Server Import/Export" projektieren..............................................64 Voraussetzungen für die Nutzung der Reporting Services schaffen...........................................66 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 3 Inhaltsverzeichnis 3.4.6 3.4.6.1 3.4.6.2 Analysefunktionen für Meldungen und Prozesswerte.................................................................68 Analysefunktionen für Meldungen und Prozesswerte.................................................................68 Darstellung von Meldearchiven bei Analyseabfragen.................................................................72 3.5 Sicherheitseinstellungen beim Zugriff auf SQL-Datenbanken über MS OLE DB........................74 3.6 3.6.1 3.6.1.1 3.6.1.2 3.6.1.3 3.6.1.4 3.6.1.5 3.6.1.6 3.6.2 3.6.2.1 3.6.2.2 3.6.2.3 3.6.2.4 3.6.2.5 3.6.2.6 3.6.2.7 3.6.2.8 3.6.2.9 3.6.2.10 3.6.2.11 Zugriff über OPC - Open Connectivity.........................................................................................75 OPC Kanal...................................................................................................................................75 WinCC Kanal "OPC"....................................................................................................................75 OPC-Item-Manager.....................................................................................................................76 Übersicht der unterstützten WinCC Datentypen..........................................................................80 WinCC-OPC-DA-Client................................................................................................................81 WinCC-OPC-XML-Client.............................................................................................................98 WinCC-OPC-UA-Client..............................................................................................................107 OPC - Open Connectivity..........................................................................................................118 OPC - Open Connectivity..........................................................................................................118 Funktionsweise von OPC..........................................................................................................118 OPC Spezifikationen.................................................................................................................118 Kompatibilität.............................................................................................................................119 Verwendung von OPC in WinCC...............................................................................................119 WinCC-OPC-XML-DA-Server....................................................................................................120 WinCC-OPC-DA-Server............................................................................................................124 WinCC-OPC-HDA-Server..........................................................................................................144 WinCC-OPC-A&E-Server..........................................................................................................161 WinCC-OPC-UA-Server............................................................................................................188 Inbetriebnahme..........................................................................................................................200 3.7 3.7.1 3.7.2 3.7.3 3.7.4 3.7.4.1 3.7.4.2 3.7.4.3 3.7.4.4 3.7.4.5 3.7.5 3.7.5.1 3.7.5.2 3.7.5.3 3.7.5.4 Beispiele für den Zugriff über OLE DB-Provider........................................................................208 Beispiele für den Zugriff über OLE DB-Provider........................................................................208 Beispiel: Zugriff auf Archivdaten mit VB projektieren................................................................208 Beispiel: Zugriff auf Archivdaten mit DataConnector Wizard projektieren.................................210 Beispiele: Auswertung von Prozesswertarchiven......................................................................216 Beispiel: Prozesswertarchiv im WinCC-Projekt auswerten.......................................................216 Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen.......218 Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen. .222 Beispiel: Messwertverlauf im WinCC-Projekt vergleichen.........................................................225 Beispiel: Prozesswertarchiv mit einer VB-Applikation auswerten..............................................226 Beispiele: Auswertung von Meldearchiven................................................................................228 Beispiel: Meldearchiv im WinCC-Projekt auswerten.................................................................228 Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen........231 Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen...234 Beispiel: Meldearchiv mit einer VB-Applikation auswerten........................................................237 3.8 Performance-Daten...................................................................................................................241 3.9 3.9.1 3.9.2 3.9.2.1 3.9.2.2 3.9.3 3.9.4 Connectivity Station...................................................................................................................243 Grundlagen zur Connectivity Station.........................................................................................243 Funktionsweise der Connectivity Station...................................................................................245 Verwendung der OPC-Schnittstelle der Connectivity Station....................................................245 Verwendung der OLE DB-Schnittstelle der Connectivity Station..............................................247 Connectivity Station im S7-Projekt projektieren........................................................................248 Mit der Connectivity Station auf WinCC-Daten zugreifen..........................................................250 Index.........................................................................................................................................................253 4 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Installation Notes 1.1 1 Lizenzierung Einleitung Das WinCC/ Connectivity Pack ermöglicht einen lizenzierten Zugriff auf Online- und Archivdaten von WinCC. Das Connectivity Pack enthält Lizenzen für den Zugriff über: ● WinCC OPC-XML-DA-Server ● WinCC OPC-DA-Server ● WinCC OPC-HDA-Server ● WinCC OPC-A&E-Server ● WinCC OPC-UA-Server Seit WinCC/ Connectivity Pack V7.0 wird keine WinCC Client Access License (WinCC/ CAL) mehr benötigt. Hinweis Beim Zugriff auf WinCC User Archives über Microsoft OLE DB ist eine Connectivity PackLizenz auf dem Rechner mit den WinCC User Archives erforderlich. Hinweis ASIA-Lizenz Die lizenzierte ASIA-Version ist durch die Umstellung auf Unicode parallel zur europäischen Version lauffähig. Der mitgelieferte Kopierschutzstecker (Dongle) kontrolliert folgende Bedingungen: ● Die Runtime-Sprache der Benutzeroberfläche (GUI) ● Die Sprachen in der Text Library ● Das Betriebssystem WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 5 WinCC/Connectivity Pack Installation Notes 1.2 So installieren Sie Microsoft Message Queuing 1.2 So installieren Sie Microsoft Message Queuing Einleitung WinCC verwendet die Message Queuing Dienste von Microsoft. Diese Komponente ist Bestandteil des Betriebssystems. MS Message Queuing gehört jedoch nicht zur Standardeinstellung der Windows-Installation und muss gegebenenfalls nachinstalliert werden. Für die Installation benötigen Sie die Windows Installations-CD. Hinweis WinCC ist grundsätzlich für den Betrieb in einer Domäne oder Arbeitsgruppe frei gegeben. Beachten Sie jedoch, dass Domänen-Gruppenrichtlinien und Einschränkungen der Domäne die Installation behindern können. Entfernen Sie in diesem Fall den Rechner vor der Installation von Microsoft Message Queuing, Microsoft SQL Server 2008 und WinCC aus der Domäne. Melden Sie sich an dem betreffenden Rechner lokal mit Administratorrechten an. Führen Sie die Installation durch. Nach der erfolgreichen Installation können Sie den WinCCRechner wieder in die Domäne aufnehmen. Wenn die Domänen-Gruppenrichtlinien und Einschränkungen der Domäne die Installation nicht behindern, dann muss der Rechner während der Installation nicht aus der Domäne entfernt werden. Beachten Sie, dass Domänen-Gruppenrichtlinien und Einschränkungen der Domäne auch den Betrieb behindern können. Wenn Sie diese Einschränkungen nicht aufheben können, dann betreiben Sie die WinCC-Rechner in einer Arbeitsgruppe. Wenden Sie sich gegebenenfalls an den Domänen-Administrator. Vorgehensweise Windows XP 1. Öffnen Sie im Startmenü des Betriebssystems "Einstellungen > Systemsteuerung > Software". 2. Klicken Sie in der linken Menüleiste auf die Schaltfläche "Windows-Komponenten hinzufügen/entfernen". Der "Assistent für Windows-Komponenten" öffnet sich. 3. Wählen Sie die Komponente "Message Queuing". Die Schaltfläche "Details" wird aktiviert. 4. Klicken Sie auf die Schaltfläche "Details". Der Dialog "Message Queuing" öffnet sich. 5. Aktivieren Sie die Unterkomponente "Common". 6. Deaktivieren Sie alle anderen Unterkomponenten und bestätigen Sie mit "OK". 7. Wenn sich der Dialog "Datenträger" öffnet, dann legen Sie die angeforderte Windows Installations-CD ein. Klicken Sie auf die Schaltfläche "OK". MS Message Queuing wird installiert. 8. Schließen Sie den Assistenten über die Schaltfläche "Fertig stellen". 6 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Installation Notes 1.2 So installieren Sie Microsoft Message Queuing Vorgehensweise Windows 7 1. Öffnen Sie im Startmenü des Betriebssystems "Systemsteuerung > Programme und Funktionen". 2. Klicken Sie in der linken Menüleiste auf die Schaltfläche "Windows-Funktionen ein- oder ausschalten". Der Dialog "Windows Funktionen" öffnet sich. 3. Wählen Sie die Komponente "Microsoft Message Queue (MSMQ-Server)". 4. Aktivieren Sie den Eintrag "Microsoft Message Queue (MSMQ-Server) Serverkernkomponenten". 5. Deaktivieren Sie die Unterkomponenten. 6. Bestätigen Sie mit "OK". Vorgehensweise Windows Server 2003 1. Öffnen Sie im Startmenü des Betriebssystems "Einstellungen > Systemsteuerung > Software". 2. Klicken Sie in der linken Menüleiste auf die Schaltfläche "Windows-Komponenten hinzufügen/entfernen". Der "Assistent für Windows-Komponenten" öffnet sich. 3. Wählen Sie die Komponente "Anwendungsserver" und klicken Sie auf die Schaltfläche "Weiter". Der Dialog "Anwendungsserver" öffnet sich. 4. Wählen Sie die Komponente "Message Queuing". Die Schaltfläche "Details" wird aktiviert. 5. Klicken Sie auf die Schaltfläche "Details". Der Dialog "Message Queuing" öffnet sich. 6. Aktivieren Sie die Unterkomponente "Gemeinsame Komponenten". 7. Deaktivieren Sie alle anderen Unterkomponenten und bestätigen Sie mit "OK". 8. Wenn sich der Dialog "Datenträger" öffnet, dann legen Sie die angeforderte Windows Installations-CD ein. Klicken Sie auf die Schaltfläche "OK". MS Message Queuing wird installiert. 9. Schließen Sie den Assistenten über die Schaltfläche "Fertig stellen". Vorgehensweise Windows Server 2008 1. Starten Sie den Server-Manager. 2. Fügen Sie das Feature "Message Queue" hinzu. 3. Aktivieren Sie die Option "Message Queuing" sowie darunter die Optionen "Message Queuing-Dienste" und "Message Queuing Server". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 7 WinCC/Connectivity Pack Installation Notes 1.3 Installation des Connectivity Pack-Servers 1.3 Installation des Connectivity Pack-Servers Einleitung Die Installation des Connectivity Pack-Servers beinhaltet folgende Komponenten: ● WinCC OLE DB-Provider ● SQL Server 2008 ● "Automation License Manager" für die Verwaltung der WinCC-Lizenzen ● WinCC Archive Connector ● WinCC DataConnector ● WinCC-Basiskomponenten ● Dokumentation ● Beispiele Voraussetzung ● i5/ 4GB Hauptspeicher ● Betriebssystem: – Windows XP Professional Service Pack 3 (max. 3 Clients) – Windows 7 SP1 (max. 3 Clients) 32-Bit – Windows Server 2003 Standard Service Pack 2 – Windows Server 2003 Standard R2 Service Pack 2 – Windows Server 2008 Standard Service Pack 2 32-Bit – Windows Server 2008 R2 Standard Service Pack 1 64-Bit ● Microsoft Message Queuing muss installiert sein. ● Internet Explorer ab V7.0 ● Bei Zugriff auf WinCC RT-Archive muss WinCC V7.0 SP3 installiert sein. Hinweis Um mehr als drei Clients zu nutzen, müssen Sie die Server-Version installieren. Bei der Workstation-Version können Sie maximal drei Clients nutzen. Vorgehensweise 1. Um einen Rechner als Connectivity Pack-Server einzurichten, führen Sie auf dem Rechner das Setup für Connectivity Pack-Server aus. 2. Wählen Sie auf der WinCC Produkt-DVD im Dialog "Programm-Pakete" den Eintrag "ConnectivityPack-Server". 8 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Installation Notes 1.3 Installation des Connectivity Pack-Servers Lizenzierung Für den Betrieb des Connectivity Pack-Server wird die Lizenz für die WinCC Option Connectivity Pack benötigt. Zugriffsrechte Alle Benutzer des WinCC/Connectivity Pack müssen in die Windows-Benutzergruppe "SIMATIC HMI" aufgenommen sein. Für den Remote-Zugriff eines Connectivity Pack-Clients muss der Benutzer Mitglied der Benutzergruppe "SIMATIC HMI" auf dem Connectivity PackServer sein. Siehe auch Lizenzierung (Seite 5) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 9 WinCC/Connectivity Pack Installation Notes 1.4 Installation des Connectivity Pack-Clients 1.4 Installation des Connectivity Pack-Clients Einleitung Die Installation des Connectivity Pack-Clients beinhaltet folgende Komponenten: ● WinCC OLE DB-Provider ● WinCC DataConnector ● SQL Connectivity Tools ● Dokumentation Hinweis Um die SQL Connectivity Tools zu installieren, benötigen Sie Administratorrechte auf dem Rechner. Voraussetzung ● Betriebssystem: – Windows XP Professional Service Pack 3 (max. 3 Clients) – Windows 7 SP1 (max. 3 Clients) 32-Bit – Windows Server 2003 Standard Service Pack 2 – Windows Server 2003 Standard R2 Service Pack 2 – Windows Server 2008 Standard Service Pack 2 32-Bit – Windows Server 2008 R2 Standard Service Pack 1 64-Bit ● Microsoft Message Queuing muss installiert sein. ● Internet Explorer ab V7.0 Vorgehensweise 1. Um einen Rechner als Connectivity Pack-Client einzurichten, führen Sie auf dem Rechner das Setup für Connectivity Pack-Client aus. 2. Wählen Sie auf der WinCC Produkt-DVD im Dialog "Programm-Pakete" den Eintrag "ConnectivityPack-Client". 3. Wenn auf dem Client bereits WinCC V7.0 SP3 installiert ist, ist keine zusätzliche Installation des Connectivity Pack-Clients notwendig. Zugriffsrechte Alle Benutzer des WinCC/Connectivity Pack müssen in die Windows-Benutzergruppe "SIMATIC HMI" aufgenommen sein. Für den Remote-Zugriff eines Connectivity Pack-Clients muss der Benutzer Mitglied der Benutzergruppe "SIMATIC HMI" auf dem Connectivity PackServer sein. 10 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Installation Notes 1.4 Installation des Connectivity Pack-Clients Siehe auch Lizenzierung (Seite 5) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 11 WinCC/Connectivity Pack Release Notes 2.1 2 Wichtige Hinweise zu Connectivity Pack Inhalt Diese Release Notes enthalten wichtige Hinweise. Die Aussagen in diesen Release Notes sind den Aussagen in den Handbüchern und in der Online Hilfe in der Verbindlichkeit übergeordnet. Bitte lesen Sie diese Release Notes sorgfältig durch, da dort für Sie hilfreiche Informationen enthalten sind. Einschränkung bei der Nutzung von WinCC OLEDB Provider In WinCC V7.2 ist in Office Excel die Funktion "Import" über die Schnittstelle "WinCC OLEDB Provider" nicht ablauffähig. Aktualisiertes Demoprojekt zum Connectivity Pack Das WinCC-Demoprojekt "OPConPack" im Verzeichnis "Samples\Connectivity Pack \DemoProject" der WinCC-DVD wurde hinsichtlich der Software-Oberfläche überarbeitet. In der WinCC/Connectivity Pack-Dokumentation stimmen in den Beispielen mit Bezug zum Demoprojekt einige Schaltflächen und Bezeichnungen sowie Abbildungen nicht mit dem aktualisierten Demoprojekt überein. Die Funktionalität und die Bedienung des Demoprojekts hat sich aber nicht grundlegend geändert. Beispiele vor Deinstallation sichern Bei der Deinstallation von Connectivity Pack werden auch die mitgelieferten Beispiele im Pfad "<Installationsverzeichnis>\SAMPLES" deinstalliert. Sollen die Beispiele erhalten bleiben, so müssen Sie die Dateien in diesem Pfad in ein anderes Verzeichnis kopieren. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 13 WinCC/Connectivity Pack Release Notes 2.2 Service und Support 2.2 Service und Support 2.2.1 Warnhinweise Sicherheitshinweise Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt. GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. WARNUNG bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. VORSICHT mit Warndreieck bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. ACHTUNG ohne Warndreieck bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. Hinweis bedeutet, dass ein unerwünschtes Ergebnis oder Zustand eintreten kann, wenn der entsprechende Hinweis nicht beachtet wird. Hinweis ist eine wichtige Information über das Produkt, die Handhabung des Produkts oder den jeweiligen Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll. Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein. 14 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Release Notes 2.2 Service und Support Qualifiziertes Personal Das zugehörige Gerät/System darf nur in Verbindung mit dieser Dokumentation eingerichtet und betrieben werden. Inbetriebsetzung und Betrieb eines Gerätes/Systems dürfen nur von qualifiziertem Personal vorgenommen werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieser Dokumentation sind Personen, die die Berechtigung haben, Geräte, Systeme und Stromkreise gemäß den Standards der Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kennzeichnen. Bestimmungsgemäßer Gebrauch Beachten Sie Folgendes: WARNUNG Das Gerät/System darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Einsatzfälle und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgeräten und -komponenten verwendet werden. Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus. Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann. Security-Hinweise Siemens bietet für sein Automatisierungs- und Antriebsproduktportfolio IT-SecurityMechanismen, um einen sicheren Betrieb der Anlage/Maschine zu unterstützen. Unsere Produkte werden auch unter dem Gesichtspunkt IT-Security ständig weiterentwickelt. Wir empfehlen Ihnen daher, dass Sie sich regelmäßig über Aktualisierungen und Updates unserer Produkte informieren und nur die jeweils aktuellen Versionen bei sich einsetzen. Informationen dazu finden Sie unter: ● http://support.automation.siemens.com (http://support.automation.siemens.com) Hier können Sie sich für einen produktspezifischen Newsletter registrieren. Für den sicheren Betrieb einer Anlage/Maschine ist es darüber hinaus jedoch notwendig, die Automatisierungskomponenten in ein ganzheitliches IT-Securitykonzept der gesamten Anlage/ Maschine zu integrieren, das dem aktuellen Stand der IT-Technik entspricht. Hinweise hierzu finden Sie unter: ● http://www.siemens.com/industrialsecurity (http://www.siemens.com/industrialsecurity) Dabei sind auch eingesetzte Produkte von anderen Herstellern zu berücksichtigen. Haftungsausschluss Wir haben den Inhalt der Beschreibung auf Übereinstimmung mit der beschriebenen Hardund Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 15 WinCC/Connectivity Pack Release Notes 2.2 Service und Support wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Beschreibung werden regelmäßig überprüft und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten. Für Verbesserungsvorschläge sind wir dankbar. Die Aussagen in der Online-Dokumentation sind den Aussagen in den Handbüchern und PDFDateien in der Verbindlichkeit übergeordnet. Beachten Sie die Release Notes und Installation Notes. Die Aussagen in den Release Notes und Installation Notes sind den Aussagen in den Handbüchern und in der Online Hilfe in der Verbindlichkeit übergeordnet. Copyright © Siemens AG 2012 Änderungen vorbehalten / All rights reserved Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertung und Mitteilung ihres Inhalts ist nicht gestattet, soweit nicht ausdrücklich zugestanden. Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte vorbehalten, insbesondere für den Fall der Patenterteilung oder GM-Eintragung. Siemens AG Automation and Drives SIMATIC Human Machine Interfaces Postfach 4848 D-90327 Nürnberg Siehe auch http://support.automation.siemens.com (http://support.automation.siemens.com) http://www.siemens.com/industrialsecurity (http://www.siemens.com/industrialsecurity) 2.2.2 Customer Support Customer Support, Technical Support Sie erreichen die SIMATIC Hotlines zu den in der folgenden Tabelle angegebenen Zeiten. Die Sprachen der SIMATIC Hotlines sind generell Deutsch und Englisch. Bei der AutorisierungsHotline wird zusätzlich Französisch, Italienisch oder Spanisch gesprochen. Technical Support Nürnberg Erreichbar Telefon 16 (GMT +1:00) Mo.-Fr. 8:00 bis 17:00 (MEZ/MESZ) +49 (0)911 895 7222 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Release Notes 2.2 Service und Support Fax E-Mail +49 (0)911 895 7223 http://www.siemens.com/automation/support-request (http://www.siemens.de/ automation/support-request) Eine Übersicht zum Technical Support finden Sie unter der folgenden URL: ● http://support.automation.siemens.com/WW/view/de/16605032 (http:// support.automation.siemens.com/WW/view/de/16605032) Automation Value Card (AVC) Die Automation Value Card (AVC) ermöglicht Ihnen einen erweiterten Technical Support, z. B. die 24 h-Erreichbarkeit an sieben Tagen der Woche. Informationen zur AVC finden Sie unter der folgenden URL: ● http://support.automation.siemens.com/WW/view/de/21981898 (http:// support.automation.siemens.com/WW/view/de/21981898) SIMATIC Customer Online Support Service und Support Eine Übersicht des Support-Angebots zu unseren Produkten finden Sie unter der folgenden URL: ● http://www.siemens.com/automation/service&support (http://www.siemens.de/automation/ service&support) Als Downloads stehen im Produkt Support z. B. Firmware-Updates, Service Packs oder hilfreiche Applikationen zur Verfügung. Um das Support-Angebot erfolgreich zu nutzen, steht Ihnen eine Online-Hilfe zur Verfügung. Sie rufen die Online-Hilfe über die Schaltfläche auf der Internetseite auf oder über folgende URL: ● http://support.automation.siemens.com/WW/support/html_00/help/Online_Hilfe.htm (http:// support.automation.siemens.com/WW/support/html_00/help/Online_Hilfe.htm) WinCC FAQs Den WinCC Online-Support mit Informationen zu FAQs (Frequently Asked Questions) finden Sie unter der folgenden URL: ● http://support.automation.siemens.com/WW/view/de/10805548/133000 (http:// support.automation.siemens.com/WW/view/de/10805583/133000) Suche in der Support-Datenbank Die themenbezogene Suche in der Support-Datenbank finden Sie unter der folgenden URL: ● http://www.siemens.com/automation/csi/km (http://www.siemens.de/automation/csi/km) Technisches Forum Das Technische Forum unterstützt den Austausch mit anderen SIMATIC Anwendern. Sie finden es unter der folgenden URL: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 17 WinCC/Connectivity Pack Release Notes 2.2 Service und Support ● http://www.siemens.com/automation/csi/forum (http://www.siemens.de/automation/csi/ forum) Technische Dokumentation für SIMATIC Produkte Einen Wegweiser zur angebotenen technischen Dokumentation für die einzelnen SIMATIC Produkte und Systeme finden Sie unter der folgenden URL: ● http://www.siemens.com/simatic-tech-doku-portal (http://www.siemens.de/simatic-techdoku-portal) Ansprechpartner-Datenbank Ihren Ansprechpartner vor Ort finden Sie über unsere Ansprechpartner-Datenbank im Internet unter der folgenden URL: ● http://www.automation.siemens.com/partner/index.asp (http:// www.automation.siemens.com/partner/index.asp?lang=de) Produkt-Informationen SIMATIC WinCC Allgemeine Informationen zu WinCC erhalten Sie unter der folgenden URL: ● http://www.siemens.com/wincc (http://www.siemens.de/wincc) SIMATIC Produkte Allgemeine Informationen zu SIMATIC Produkten erhalten Sie unter der folgenden URL: 18 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Release Notes 2.2 Service und Support ● http://www.siemens.com/simatic (http://www.siemens.de/simatic) Siehe auch Internet: Support Request (http://www.siemens.de/automation/support-request) Internet: Technical Support (http://support.automation.siemens.com/WW/view/de/16605032) Internet: Automation Validation Card (AVC) (http://support.automation.siemens.com/WW/ view/de/21981898) Internet: Service und Support (http://www.siemens.de/automation/service&support) Internet: WinCC FAQs (http://support.automation.siemens.com/WW/view/de/ 10805583/133000) Internet: Support Technisches Forum (http://www.siemens.de/automation/csi/forum) Internet: Support Suche (http://www.siemens.de/automation/csi/km) Internet: Support Online-Hilfe (http://support.automation.siemens.com/WW/support/html_00/ help/Online_Hilfe.htm) Internet: Technische Dokumentation für SIMATIC Produkte (http://www.siemens.de/simatictech-doku-portal) Internet: Ansprechpartner-Datenbank (http://www.automation.siemens.com/partner/ index.asp?lang=de) Internet: Informationen zu WinCC (http://www.siemens.de/wincc) Internet: SIMATIC Produkte (http://www.siemens.de/simatic) 2.2.3 Support Request Sehr geehrter Kunde, um Ihnen schnell und reibungslos helfen zu können, bitten wir Sie, das Formular "Support Request" im Internet auszufüllen. Beschreiben Sie möglichst genau Ihre Probleme. In vielen Fällen ist es hilfreich, wenn Sie uns Ihre vollständigen Projektdaten zur Verfügung stellen, damit wir einen Fehler reproduzieren oder die Bearbeitungszeit verkürzen können. Überprüfen Sie vor dem Ausfüllen des Support Request, ob Ihr projektiertes Mengengerüst im Rahmen des getesteten Mengengerüsts liegt (siehe Kapitel "Leistungsdaten"). Formular für den Support Request Sie finden das Formular für den Support Request unter der URL: ● http://www.siemens.com/automation/support-request (http://www.siemens.de/automation/ support-request) Sie werden beim Ausfüllen des Formulars durch mehrere Schritte geführt, über die alle benötigten Angaben abgefragt werden. Eine ausführliche Beschreibung des Support Request finden Sie unter der folgenden URL: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 19 WinCC/Connectivity Pack Release Notes 2.2 Service und Support ● http://support.automation.siemens.com/WW/view/de/16605654 (http:// support.automation.siemens.com/WW/view/de/16605654) Vorgehensweise 1. Öffnen Sie das Formular "Support Request" über den Link im Internet. Schritt 1 "Produkt wählen" wird angezeigt. 2. Geben Sie im Feld "Produkt/Bestellnummer" den Produktnamen ein. Groß-/ Kleinschreibung ist nicht relevant. Suchen Sie nach Bestandteilen des Produktnamens oder geben Sie den vollständigen Produktnamen in der korrekten Reihenfolge ein. Sie können z. B. nach folgenden Begriffen suchen: - "WinCC Runtime" - "WinCC DataMonitor" - "wincc webnavigator" - "Connectivity" Die gefundenen Produkte werden im Feld "Produktauswahl" angeboten. 3. Wählen Sie das gewünschte Produkt aus und wechseln Sie durch Klicken auf "Weiter" zum Schritt 2 "Anwendungsfall wählen". 4. Wählen Sie einen Anwendungsfall oder beschreiben Sie im Feld "Sonstiger Anwendungsfall" Ihren konkreten Anwendungsfall. 5. Wechseln Sie über "Weiter" zum Schritt 3 "Unsere Lösungen". In einer Liste werden Lösungsvorschläge und FAQs aufgelistet, die zu den gewählten Stichworten gefunden wurden. Wenn Sie einen Lösungsvorschlag für Ihr Problem gefunden haben, können Sie das Formular im Browser schließen. Wenn Sie keinen zutreffenden Lösungsvorschlag gefunden haben, wechseln Sie über "Weiter" zu Schritt 4 "Problem beschreiben". 6. Beschreiben Sie im Feld "Details" möglichst genau Ihr Problem. Versuchen Sie insbesondere auf die folgenden Fragen und Anmerkungen einzugehen. Überprüfen Sie dabei auch Ihre WinCC-Installation und die Projektierung entsprechend der folgenden Hilfestellung. Geben Sie Ihre eigenen Vermutungen wieder. Lassen Sie keine Details aus, auch wenn Sie diese als unwichtig erachten. - Wurden die Projektierungsdaten mit älteren WinCC Ständen erstellt? - Wie ist der Fehler reproduzierbar? - Laufen andere Programme parallel (gleichzeitig) zu WinCC? - Haben Sie Screen Saver, Virus Checker, Power Management deaktiviert? - Suchen Sie auf Ihrem Rechner nach Logfiles (WinCC\Diagnose\*.log, drwatson.log, drwtsn32.log). Die Logfiles werden für eine Fehleranalyse benötigt. Schicken sie darum die gefundenen Logfiles unbedingt mit. 7. Laden Sie über die Schaltfläche "Durchsuchen" Ihr betroffenes Projekt und die Logfiles (z. B. als Zip-Datei) in den Support Request. Wechseln Sie über "Weiter" zum Schritt 5 "Kontaktdaten angeben". 20 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Release Notes 2.2 Service und Support 8. Geben Sie Ihre Kontaktdaten ein. Lesen Sie die Erklärung zum Datenschutz und wählen Sie, ob Ihre persönlichen Daten dauerhaft gespeichert werden sollen. Wechseln Sie über "Weiter" zum Schritt 6 "Zusammenfassung & Absenden". 9. Drucken Sie gegebenenfalls den Support Request über die Schaltfläche "Drucken". Schließen Sie den Support Request ab über die Schaltfläche "Absenden". Ihre Daten werden an den Customer Support übermittelt und dort bearbeitet. Wir bedanken uns für Ihre Unterstützung und hoffen, dass wir Ihnen bei der Behebung Ihrer Probleme behilflich sein können. Ihr WinCC Team Siehe auch Internet: Fehlerreport (http://www.siemens.de/automation/support-request) Internet: Support Request Übersicht (http://support.automation.siemens.com/WW/view/de/ 16605654) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 21 WinCC/Connectivity Pack Dokumentation 3.1 3 WinCC/Connectivity Pack Inhalt Mit Hilfe des WinCC Connectivity Pack erhalten Sie lizenzierten Zugriff auf WinCC Datenbanken über OPC oder WinCC OLE DB-Provider. Dieses Kapitel zeigt Ihnen, ● wie Sie den Connectivity Pack Server und Client installieren. ● welche OPC-Server WinCC hat. ● wie Sie den Zugriff auf das Meldearchiv projektieren. ● wie Sie den Zugriff auf das Prozesswertarchiv projektieren. ● wie Sie die Connectivity Station projektieren. Zielgruppe dieser Dokumentation Diese Dokumentation richtet sich an Entwickler mit Visual Basic- und SQL Server-Kenntnissen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 23 WinCC/Connectivity Pack Dokumentation 3.2 Übersicht: WinCC/Connectivity Pack 3.2 Übersicht: WinCC/Connectivity Pack Einleitung Mit dem WinCC / Connectivity Pack wird ein lizenzierter Zugriff auf Online- und Archivdaten von WinCC ermöglicht. Über den WinCC OLE DB-Provider wird der Zugriff auf die Prozesswert- und Meldearchive möglich. Daten, die in der Datenbank komprimiert abgelegt sind, können unkomprimiert gelesen werden. Weiterhin bietet der WinCC OLE DB-Provider Analysefunktionen wie beispielsweise Minimum, Maximum von Archivvariablen. OPC ermöglicht über standardisierte Schnittstellen eine herstellerübergreifende Kommunikation im Automatisierungsbereich. WinCC wird durch OPC HDA 1.20 (Historical Data Access) und OPC A&E 1.10 (Alarm & Events) erweitert. Daneben unterstützt WinCC auch OPC DA in den Versionen 2.05a, 3.00 und OPC XML DA 1.00. Damit kann WinCC als OPC-Server aktuelle Prozessdaten an andere OPC-Clients (z.B. Microsoft Excel) weiterleiten. Auch die WinCC Connectivity Station nutzt OPC für den Zugriff auf Daten verschiedener WinCC-Stationen. Das Connectivity Pack umfasst: ● WinCC OLE DB-Provider für den direkten Zugriff auf die Prozesswert- und Meldearchive in der SQL Server-Datenbank auf der WinCC RT-Maschine und auf einem LangzeitArchivserver. ● Das Tool "Archive Connector" für die Konfiguration des Datenbank-Zugriffs. Damit ist es möglich, ausgelagerte WinCC-Archivdatenbanken mit dem SQL-Server zu verbinden bzw. zu trennen. Dabei wird eine Übersicht über einzelne Datenbank-Segmente erstellt. Der Archive Connector kann Verzeichnisse überwachen und einkopierte Archive automatisch verbinden. ● WinCC DataConnector für die Projektierung und den Zugriff auf die Prozesswert- und Meldearchive in Prozessbildern. ● WinCC Connectivity Station ● Die Lizenz für den Server OPC HDA 1.20 (Historical Data Access) für den Zugriff auf historische Daten des WinCC-Archivsystems. ● Die Lizenz für den Server OPC A&E 1.10 (Alarms & Events) für das Weiterleiten bzw. Quittieren von Meldungen. ● Die Lizenz für den Server OPC XML DA 3.00 (OPC eXtensible Markup Language). ● Die Lizenzen für den Zugriff auf die WinCC-Archivdatenbanken über WinCC OLE DBProvider oder WinCC User Archive über Microsoft OLE DB. WinCC OLE DB-Provider Der WinCC OLE DB-Provider steht auf folgenden Systemen zur Verfügung: ● Connectivity Pack-Client ● Connectivity Pack-Server 24 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.2 Übersicht: WinCC/Connectivity Pack ● WinCC-Station ● Connectivity Station Über den WinCC OLE DB-Provider hat ein Connectivity Pack-Client direkten Zugriff auf die WinCC-Archivdaten der Prozesswert- und Meldearchive. Der Zugriff kann unter verschiedenen Konstellationen des Connectivity Pack-Clients erfolgen. ● Auf dem Client-Rechner ist eine WinCC-Software wie z.B. WinCC-Basis, Web NavigatorServer, DataMonitor-Server oder Connectivity Pack-Server vorhanden. Der Connectivity Pack-Client muss nicht explizit installiert werden. Die Lizenzierung erfolgt durch die WinCC-Lizenzen. ● Auf dem Client-Rechner ist keine WinCC-Software installiert. Dann muss auf dem Client-Rechner der Connectivity Pack-Client installiert sein. Gleichzeitiger Zugriff auf Archiv- und Runtime-Datenbanken Das Connectivity Pack stellt die Funktion "ArchiveMonitor" zur Verfügung. Die Funktion fügt automatisch die Daten aus Runtime- und Archiv-Datenbanken des aktivierten WinCC-Projekts zusammen in einer SQL-Datenbank "CC_ExternalBrowsing" und erstellt darin die Views "AMT" und "ARCHIVE". Da diese Views alle erforderlichen Informationen für den WinCC OLE DB-Provider zur Verfügung stellen, kann die Datenbank "CC_ExternalBrowsing" als Datenquelle für den Provider benutzt werden. Beim Deaktivieren von WinCC Runtime werden zusätzlich erstellte Views in "CC_ExternalBrowsing" wieder gelöscht. Da auf einem Langzeit-Archivserver keine Runtime-Datenbanken vorhanden sind, ist der Zugriff auf die Archiv-Datenbanken über die Datenbank "CC_ExternalBrowsing" nicht möglich. WinCC OLE DB-Provider als "Linked Server" Der WinCC OLE DB-Provider kann im SQL-Server in die Liste der "Linked Servers" aufgenommen werden. Dies ist unabhängig davon, ob die Datenbank lokal oder remote liegt. Hinweis Bei der Projektierung von WinCC OLE DB-Provider als "Linked Server" muss im Dialog "Linked Server Properties" im Feld "Provider Name" der Eintrag "WinCC OLE DB-Provider for Archives" ausgewählt werden. Im Dialog "Provider Options" muss das Kontrollkästchen "AllowInProcess" aktiviert werden. Weitere Informationen finden Sie in den "SQL Server Books Online" unter "Configuring OLE DB Providers for Distributed Queries". Beispiel für WINCC OLE DB-Provider als Linked Server mit dem Server-Namen "WinCC": select min(realvalue) from openquery(WINCC,'Tag:R,1,''0000-00-00 00:01:00.000'',''0000-00-00 00:00:00.000''') select * from openquery(WINCC,'Tag:R,1,''0000-00-00 00:01:00.000'',''0000-00-00 00:00:00.000''') WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 25 WinCC/Connectivity Pack Dokumentation 3.2 Übersicht: WinCC/Connectivity Pack WinCC Archive Connector Das Connectivity Pack enthält auch das Tool "Archive Connector" zur Konfiguration des Datenbank-Zugriffs. Damit können bereits ausgelagerte WinCC Archive wieder an einen SQLServer angebunden werden. Die Archivdaten werden über den WinCC OLE DB-Provider wieder verfügbar gemacht. Mit dem Archive Connector sind folgende Funktionen möglich: ● Manuelles Verbinden: Lokal ausgelagerte WinCC Archivdatenbanken werden ausgewählt und mit dem lokalen SQL-Server verbunden. ● Manuelles Trennen der Verbindung: Verbundene Datenbanken werden ausgewählt und die Verbindung von dem SQL-Server getrennt. ● Automatisches Verbinden: Lokale Verzeichnisse zur Auslagerung von WinCC Archiven werden ausgewählt. Alle Archive in den gewählten Verzeichnissen werden automatisch beim Einkopieren mit dem SQL-Server verbunden. Der Archive Connector kann nur mit einem lokalen SQL-Server und mit einer Connectivity Pack Lizenz betrieben werden. Hinweis Wenn Sie mit "CC_ExternalBrowsing" auf Meldearchive oder ausgelagerte Archive zugreifen, kann der Zugriff mehrere Minuten dauern. WinCC DataConnector Der DataConnector stellt die folgenden Funktionen zur Verfügung. ● Mit dem DataConnector Wizard kann im Graphics Designer in einem Prozessbild eine Archivabfrage für Melde- oder Prozesswertarchive projektiert werden. ● Das DataConnector Control führt in Runtime nach dem Öffnen dieses Prozessbildes die Archivabfrage aus und zeigt die gefundenen Daten an. Es sind Abfragen mit relativen oder absoluten Zeitbereichen möglich. Das Abfrageergebnis kann bei Meldungen tabellarisch und bei Prozesswerten tabellarisch oder grafisch angezeigt werden. OPC WinCC stellt historische Daten aus dem Archivsystem über den WinCC-OPC-HDA-Server anderen Anwendungen zur Verfügung. Dabei kann ein OPC-HDA-Client wie z.B. ein ReportWerkzeug, den Start- und Endzeitpunkt eines Zeitintervalls vorgeben und die zugehörigen Daten gezielt anfordern. Außerdem kann der OPC-HDA-Client bereits auf dem WinCC-OPCHDA-Server aufbereitete Daten gezielt anfordern und aktiv eine Datenverdichtung bewirken, bevor die Daten übertragen werden. Beim WinCC-OPC-A&E-Server wird eine WinCC-Meldung als Alarm abgebildet. Der Alarm kann mit seinen Prozessbegleitwerten in die Produktions- oder Leitebene des Unternehmens weitergeleitet und dort quittiert werden. Durch Filtermechanismen werden nur ausgewählte Daten übertragen. 26 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.2 Übersicht: WinCC/Connectivity Pack Der WinCC-OPC-XML-Server stellt dem OPC-XML-Client die OPC-Prozessdaten als WebService zur Verfügung. OPC-XML-Clients beliebiger Plattformen können sowohl über das Intranet wie auch über das Internet auf die WinCC Runtime-Daten zugreifen. Der Zugriff über OPC kann nur auf Rechner erfolgen, auf denen WinCC Runtime läuft. Hinweis Für den Zugriff auf WinCC-Archivdatenbanken mit OPC HDA, Prozesswerte mit OPC XML und Meldungen mit OPC A&E ist auf dem Rechner mit diesen Daten eine Connectivity PackLizenz erforderlich. Eine Installation von Connectivity Pack-Server oder Client ist dazu nicht notwendig. OPC DA wird mit einer gültigen RT-Lizenz von WinCC lizenziert. WinCC Connectivity Station Die Connectivity Station ermöglicht den Zugriff auf die Daten verschiedener WinCC-Stationen z. B. WinCC-Server oder WinCC / Central Archive Server (CAS). Die Connectivity Station wird in den S7-Projekten konfiguriert, in denen auch diese WinCC-Stationen verwaltet werden. Sie greifen mit einem OPC-Client über die OPC-Server der Connectivity Station auf die WinCCStationen zu. Siehe auch Zugriff über OPC auf WinCC-Archive, Variablen und Meldungen (Seite 35) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 27 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle 3.3 Anwendungsfälle 3.3.1 Anwendungsfall 1: Lokaler Zugriff auf WinCC RT-Datenbank Prinzip Eine Anwendung greift über den WinCC OLE DB-Provider auf die lokale WinCC RTDatenbank zu. Sie können lokal die Archivdaten auswerten und beispielsweise berechnen, wie groß die Standardabweichung eines Prozesswerts ist. Software-Voraussetzungen Auf der WinCC-Station müssen folgende Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 28 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle 3.3.2 Anwendungsfall 2: Remote-Zugriff auf WinCC RT-Datenbank Prinzip Der Connectivity Pack-Client greift remote auf die WinCC RT-Datenbank einer WinCC-Station zu. Über den WinCC OLE DB-Provider liest der Connectivity Pack-Client die Daten der Prozesswert- und Meldearchive. Da in diesem Anwendungsfall nicht auf ausgelagerte WinCC-Archive zugegriffen wird, müssen mit dem Archive Connector keine WinCC-Archive mit einem SQL-Server verbunden werden. Sie können auf dem Connectivity Pack-Client die Daten anzeigen, auswerten oder weiterverarbeiten z.B. durch Export in eine CSV-Datei. Software-Voraussetzungen Auf der WinCC-Station müssen folgende Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack Der Zugriff kann unter verschiedenen Konstellationen des Connectivity Pack-Client erfolgen. ● Auf dem Client-Rechner ist eine WinCC-Software wie z.B. WinCC-Basis, Web NavigatorServer, DataMonitor-Server oder Connectivity Pack-Server vorhanden. Der Connectivity Pack-Client muss nicht explizit installiert werden. Die Lizenzierung erfolgt durch die WinCC-Lizenzen. ● Auf dem Client-Rechner ist keine WinCC-Software installiert. Dann muss auf dem Client-Rechner der Connectivity Pack-Client installiert sein. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 29 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 3.3.3 Anwendungsfall 3: Lokaler Zugriff auf WinCC-Archivdatenbanken Prinzip Eine Anwendung greift über den WinCC OLE DB-Provider auf die lokale Archivdatenbank zu. Die älteren Archivdaten werden aus der WinCC RT-Datenbank in ein separates Verzeichnis auf dem gleichen Rechner kopiert. Mit dem Archive Connector werden ausgelagerte WinCC-Archive wieder mit einem SQLServer verbunden. Damit stehen die Archive für den Zugriff mit dem WinCC OLE DB-Provider zur Verfügung. Sie können die lokalen Archivdaten anzeigen, durchsuchen oder auswerten z.B. um Verfahrensfehler zu suchen oder Prozesse zu optimieren. Software-Voraussetzungen Die WinCC-Station benötigt folgende Installationen: ● WinCC-Basissystem ● Eine gültige RT-Lizenz von WinCC ● Lizenz für die WinCC Option Connectivity Pack Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 30 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle 3.3.4 Anwendungsfall 4: Remote-Zugriff auf WinCC-Archivdatenbanken Prinzip Einen Langzeitarchiv-Server setzen Sie ein, um die Datenbanken von Prozesswert- und Meldearchiven z.B. monatlich in einem Backup zu sichern. Mit dem Archive Connector werden ausgelagerte WinCC-Archive wieder mit einem SQLServer verbunden. Damit stehen die Archive für den Zugriff mit dem WinCC OLE DB-Provider zur Verfügung. Der Connectivity Pack-Client greift über den WinCC OLE DB-Provider auf die Archive zu. Sie können z.B. mit einer VB-Applikation die Archive auswerten und die Prozesswerte eines bestimmten Tages anzeigen lassen. Hinweis Wenn Sie mit "CC_ExternalBrowsing" auf Meldearchive oder ausgelagerte Archive zugreifen, kann der Zugriff mehrere Minuten dauern. Software-Voraussetzungen Der Langzeitarchiv-Server benötigt folgende Installationen: ● Connectivity Pack-Server ● Lizenz für das WinCC Connectivity Pack Der Zugriff kann unter verschiedenen Konstellationen des Connectivity Pack-Clients erfolgen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 31 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle ● Auf dem Client-Rechner ist eine WinCC-Software wie z.B. WinCC-Basis, Web NavigatorServer, DataMonitor-Server oder Connectivity Pack-Server vorhanden. Der Connectivity Pack-Client muss nicht explizit installiert werden. Die Lizenzierung erfolgt durch die WinCC-Lizenzen. ● Auf dem Client-Rechner ist keine WinCC-Software installiert. Dann muss auf dem Client-Rechner der Connectivity Pack-Client installiert sein. Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 3.3.5 Anwendungsfall 5: Lokaler Zugriff auf WinCC-Anwenderarchive Prinzip Eine Anwendung greift über den MS OLE DB-Provider auf die lokalen WinCCAnwenderarchive zu. Sie können z.B. mit einer VB-Applikation, die lokalen Archivdaten anzeigen, durchsuchen und geänderte Werte zurückschreiben. Software-Voraussetzungen Die WinCC-Station benötigt folgende Installationen: ● WinCC-Basissystem ● Eine gültige RT-Lizenz von WinCC ● Lizenz für die WinCC Option Connectivity Pack 32 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 3.3.6 Anwendungsfall 6: Remote-Zugriff auf WinCC-Anwenderarchive Prinzip Der Connectivity Pack-Client greift über den MS OLE DB-Provider auf die WinCCAnwenderarchive zu. Sie können z.B. mit einer VB-Applikation die Archivdaten anzeigen, durchsuchen und geänderte Werte zurückschreiben. Software-Voraussetzungen Der WinCC-Server benötigt folgende Installationen: ● WinCC-Basissystem ● Eine gültige RT-Lizenz von WinCC ● Lizenz für das WinCC Connectivity Pack Der Zugriff kann unter verschiedenen Konstellationen des Connectivity Pack-Clients erfolgen. ● Auf dem Client-Rechner ist eine WinCC-Software wie z.B. WinCC-Basis, Web NavigatorServer, DataMonitor-Server oder Connectivity Pack-Server vorhanden. Der Connectivity Pack-Client muss nicht explizit installiert werden. Die Lizenzierung erfolgt durch die WinCCLizenzen. ● Auf dem Client-Rechner ist keine WinCC-Software installiert. Dann muss auf dem Client-Rechner der Connectivity Pack-Client installiert sein. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 33 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) 3.3.7 Anwendungsfall 7: Zugriff über WinCC OLE DB-Provider Prinzip Mit dem WinCC OLE DB-Provider ist der Zugriff auf WinCC-Datenbanken unter Einsatz des Wizard "SQL Server Import/Export" möglich. Der Wizard "SQL Server Import/Export" ermöglicht die Extraktion von Daten aus verschiedenen Quellen und deren Export in andere Formate, z.B. in Excel-Tabellen. Die Anbindung der Datenbanken erfolgt dabei über OLE DB, der Zugriff auf WinCC-Datenbanken 34 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle über den WinCC OLE DB-Provider. Die Abfrage von Daten können Sie in einem DTSXPackage speichern. Die DTSX-Packages können beispielsweise in Skripte eingebunden werden, um eine zeitgesteuerte Abfrage und Übertragung der Daten in das Zielformat zu erreichen. Ebenso können in die Packages so genannte Tasks eingebunden werden, um z.B. nach der Ausführung des Package eine Benachrichtigung per Mail auszulösen. Auf WinCC-Rechnern ist der Zugriff lokal oder remote auf die Runtime- und ArchivDatenbanken möglich. Bei Langzeit-Archivservern kann nur auf die Archiv-Datenbanken lokal oder remote zugegriffen werden, da diese keine Runtime-Datenbank besitzen. Software-Voraussetzungen Die WinCC-Station benötigt folgende Installationen: ● WinCC-Basissystem ● Eine gültige RT-Lizenz von WinCC ● Lizenz für die WinCC-Option Connectivity Pack Weitere Informationen finden Sie im Kapitel "Zugriff über den Wizard SQL Server Import/Export projektieren". Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Lizenzierung (Seite 5) Zugriff über den Wizard "SQL Server Import/Export" projektieren (Seite 64) 3.3.8 Zugriff über OPC auf WinCC-Archive, Variablen und Meldungen Einleitung Mit OPC ist ein lizenzierter Zugriff auf Online- und Archivdaten von WinCC möglich. Die WinCCOPC-Server stellen über die Software-Schnittstelle OPC dem OPC-Client die WinCC-Daten zur Verfügung. Als OPC-Client kann jede Software eingesetzt werden, die auf der jeweiligen OPC-Spezifikation basiert. OPC DA Der WinCC-OPC-DA-Server stellt die Daten des WinCC-Projektes anderen Anwendungen zur Verfügung. Die Anwendungen können dabei lokal oder auf Rechnern in der angeschlossenen Netzwerkumgebung laufen. So können WinCC-Variablen zum Beispiel in Microsoft Excel ausgegeben werden. Der WinCC-OPC-DA-Server und seine Lizenzierung ist Bestandteil des WinCC-Basisystems. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 35 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle OPC XML In einem Verteilten System haben WinCC-Clients Sichten auf mehrere WinCC-Server. Der WinCC-OPC-XML-Server stellt dem OPC-XML-Client die OPC-Prozessdaten als WebService zur Verfügung. Auf den Web-Service wird über das Internet mit HTTP zugegriffen. Der OPC-XML-Client ist nicht mehr auf das lokale Netzwerk begrenzt. So können OPC-XMLClients beliebiger Plattformen sowohl über das Intranet wie auch über das Internet auf die WinCC Runtime-Daten zugreifen. OPC HDA Mit dem Server OPC HDA (Historical Data Access) ist der Zugriff auf historische Daten des WinCC-Archivsystems möglich. Bei der Installation ohne schreibenden Zugriff können die WinCC-Archivdaten nur gelesen und analysiert werden. Beim schreibenden Zugriff können die Daten analysiert, hinzugefügt, gelöscht und aktualisiert werden. Ein OPC-HDA-Client kann z.B. eingesetzt werden zur Analyse und Auswertung von Archivdaten oder zur Prozesskontrolle über Archive aus unterschiedlichen OPC-HDAServern. Hinweis Über OPC HDA ist kein Zugriff auf Meldearchive möglich. Der Einsatz ist nur für den Zugriff auf Prozesswertarchive möglich. OPC A&E Der Server OPC A&E (Alarms & Events) ermöglicht das Weiterleiten bzw. Quittieren von WinCC-Meldungen. Ein OPC-A&E-Client kann z.B. zur Analyse und gemeinsamen Archivierung von Alarmen aus unterschiedlichen OPC-A&E-Servern eingesetzt werden. WinCC-OPC-Server in einem redundanten System In einem redundanten System überwachen sich die WinCC-Server in Runtime gegenseitig, um den Ausfall eines Partners frühzeitig zu erkennen. Die WinCC-OPC-Server stellen über die Softwareschnittstelle OPC dem OPC-Client die WinCC Runtime-Daten zur Verfügung. Ein OPC-Client mit gleichzeitiger Sicht auf mehrere WinCC-OPC-Server kann zur zentralen Überwachung von verschiedenen redundanten Systemen dienen. Als OPC-Client kann jede Software eingesetzt werden, die auf der jeweiligen OPCSpezifikation basiert. 36 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Weitere Informationen finden Sie im Kapitel "OPC" - Open Connectivity. Hinweis Fehler OPC_E_MAXEXCEEDED bei Zugriff auf Archive über OPC Fordert der OPC-Client beim synchronen oder asynchronen Lesen von Daten mehr als 2000 Werte an, so wird der Aufruf mit der Fehlermeldung OPC_E_MAXEXCEEDED abgewiesen. Dieser Grenzwert dient dazu, die Rechnerlast und die Aufrufdauer zu begrenzen. Die Begrenzung gilt nicht, wenn der gesamte Zeitbereich gelesen wird. 3.3.9 Transparenter Zugriff auf archivierte Daten Einleitung Die Archivierung von Prozesswerten und Meldungen dient zur Erfassung, Verarbeitung und Archivierung von Prozessdaten aus einer industriellen Anlage. Die erfassten Prozessdaten werden von den WinCC-Stationen in regelmäßigen Abständen auf den zentralen Archivserver "CAS" ausgelagert. Die archivierten Prozessdaten eines längeren Zeitraums sind also auf zwei Archivdatenbanken verteilt. Der transparente Zugriff sorgt dafür, dass die angeforderten Prozessdaten aus den beiden Archivdatenbanken zusammengestellt werden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 37 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Funktionsweise Das folgende Bild zeigt das Prinzip des transparenten Zugriff am Beispiel einer Benutzeranfrage nach Prozesswerten des letzten Monats: &RQQHFWLYLW\6WDWLRQ %HQXW]HUDQIUDJH 3UR]HVVZHUWHGHV OHW]WHQ0RQDWV (UJHEQLVGHU %HQXW]HUDQIUDJH :LQ&&6WDWLRQ &$6 ODJHUWZ¸FKHQWOLFKDXV 3UR]HVVZHUWDUFKLY HQWK¦OWGLH3UR]HVVZHUWH HLQHU:RFKH /DQJ]HLWDUFKLY HQWK¦OWGLH3UR]HVVZHUWH ¦OWHUDOVHLQH:RFKH Das Ergebnis der Benutzeranfrage stellt sich dem Benutzer so dar, als ob die Prozesswerte aus einer Datenquelle stammen. Hinweis Für den transparenten Zugriff können Sie anstelle einer Connectivity Station auch einen Multiclient verwenden. Transparenter Zugriff in redundanten Systemen Bei redundant ausgelegten Systemen funktioniert der transparente Zugriff nach demselben Prinzip mit folgendem Unterschied: Wenn während einer Benutzeranfrage ein Server ausfällt, wird die Benutzeranfrage automatisch auf den redundanten Partner-Server umgeleitet. Transparenter Zugriff mit OPC Mit OPC haben Sie transparenten Zugriff auf alle Archivdatenbanken der WinCC-Stationen: OPC-Server Serverbezeichnung OPC DA WinCCConnectivity.OPCDAServer OPC HDA WinCCConnectivity.OPCHDAServer.1 OPC A&E WinCCConnectivity.OPCAEServer.1 38 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Transparenter Zugriff über OLE DB-Provider Mit OLE DB-Provider können Sie nur auf Prozesswertarchive transparent zugreifen. Verwenden Sie beim transparenten Zugriff für die Datenbankverbindung die folgende Syntax: Data Source <SYMBOLISCHER RECHNERNAME>::\WinCC Catalog Name des WinCC-Projekts 3.3.10 Funktionen des SQL-Servers Einleitung Nachfolgend finden Sie eine kurze Beschreibung wichtiger Funktionen, die im Microsoft SQL Server bereits implementiert sind. Microsoft bietet die Technische Dokumentation zum SQL Server 2005 zum Download an: http://technet.microsoft.com/de-de/sqlserver/bb331762.aspx Funktionen Wizard "SQL Server Import/Export" Mit dem Wizard "SQL Server Import/Export" extrahieren Sie Daten, die von verteilten Quellen stammen und die Sie auf ein oder mehrere Ziele übertragen können. Eine Beschreibung eines Anwendungsfalles finden Sie in den Kapiteln "Zugriff über WinCC OLE DB-Provider" und "Zugriff mit dem Wizard "SQL Server Import/Export" projektieren". Jobs und Alerts Ein Job ist eine Serie von Operationen, die vom SQL Server Agent sequentiell ausgeführt werden. In einem Job können weitreichende Funktionen ausgeführt werden wie z.B. TransactSQL-Skripte, Kommandozeilen-Applikationen und ActiveX-Skripte. Mit Jobs können regelmäßig zu wiederholende oder zeitgesteuerte Aufgaben ausgeführt werden. Durch die Erstellung von Anzeigen, den "Alerts", kann ein Job den Benutzer automatisch über den Status der Ausführung informieren. Backup Die Komponente "Backup" des SQL-Servers liefert einen wichtigen Schutz für kritische Daten in SQL-Server-Datenbanken. Damit können Schäden durch Speichermedien-Ausfälle, Anwenderfehler oder den dauerhaften Verlust eines Servers vermieden werden. Außerdem kann die Komponente für andere Anwendungsfälle nützlich sein, z.B. das Kopieren von Datenbanken zwischen verschiedenen Servern oder die Herstellung einer Kopie einer Datenbank über Backup und anschließendes Restore auf einen anderen Rechner. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 39 WinCC/Connectivity Pack Dokumentation 3.3 Anwendungsfälle Replication Die Komponente "Replication" ermöglicht das Kopieren, Verteilen und Ändern von Daten innerhalb einer Firma. Dazu enthält der SQL-Server mehrere Methoden und Optionen zum Design einer Replication, Implementierung, Beobachtung und Administration und stellt damit die benötigte Funktionalität zum Verteilen von Daten und erhalten der Datenkonsistenz zur Verfügung. Database Maintenance Plans Nach der Erstellung, der Ergänzung von Objekten und Daten und ihrem Einsatz kann auch eine Wartung einer Datenbank erforderlich sein. So ist es zum Beispiel wichtig, von der Datenbank regelmäßig ein Backup zu erstellen oder zur Leistungssteigerung neue Indizes zu erstellen. Diese Punkte sollten bei der DatenbankErstellung berücksichtigt werden, um die Auswirkung auf die Benutzer sowie die benötigte Zeit und Ressourcen für die Wartung zu minimieren. Mit der Komponente "Database Maintenance Plans" können über einen Wizard ein oder auch mehrere Wartungspläne erstellt werden. Linked Server Mit dem Microsoft SQL Server ist es möglich, mit einem so genannten "Linked Server" eine Verbindung zu OLE-DB-Datenbanken erstellen. Der Einsatz eines "Linked Server" bietet z.B. die folgenden Vorteile. ● Es kann auf Datensätze aus den OLE-DB-Datenbanken zugegriffen und über TransactSQL-Anweisungen in Tabellen dargestellt werden. ● Es können Befehle zu den OLE-DB-Datenquellen übermittelt und die entstehenden Ergebnis-Daten über Transact-SQL-Anweisungen in Tabellen dargestellt werden. Eine Beschreibung eines Anwendungsfalles zu WinCC OLE DB-Provider als "Linked Server" finden Sie im Kapitel "WinCC / Connectivity Pack: Einleitung". Siehe auch Übersicht: WinCC/Connectivity Pack (Seite 24) Zugriff über den Wizard "SQL Server Import/Export" projektieren (Seite 64) Anwendungsfall 7: Zugriff über WinCC OLE DB-Provider (Seite 34) 40 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider 3.4 Zugriff über OLE DB-Provider 3.4.1 Zugriff auf Archivdaten über OLE DB-Provider Einführung Mit OLE DB haben Sie folgende Möglichkeiten, auf WinCC-Archivdaten zuzugreifen und diese über eine externe Schnittstelle anzuzeigen. Zugriff mit WinCC OLE DB-Provider Mit WinCC OLE DB können Sie auf alle WinCC-Archivdaten zugreifen. In Abhängigkeit von der Projektierung werden Prozessdaten von WinCC komprimiert abgelegt. Der WinCC OLE DB-Provider erlaubt einen transparenten Zugriff auch auf diese Daten. Um die Vorteile von Standard-SQL-Abfragen zu nutzen, verwenden Sie den "SQL Server Import / Export Wizard". Die entpackten Daten können Sie mit Hilfe des Wizards in einer Zwischendatenbank ablegen, auf die Sie mit Standard-SQL-Abfragen zugreifen können. Zugriff mit Microsoft OLE DB Mit Microsoft OLE DB können Sie auf WinCC User Archives zugreifen. Hinweis Mit Microsoft OLE DB ist nur der Zugriff auf WinCC User Archives getestet und freigegeben, nicht jedoch auf Melde- und Prozesswertarchive. Verwenden Sie für den Zugriff auf Melde- und Prozesswertarchive den WinCC OLE DBProvider. Möglichkeiten der Projektierung Zum Zugriff auf die Datenbanken mit WinCC OLE DB können Sie eigene Applikationen schreiben. Für die Kommunikation mit dem WinCC OLE DB-Provider wird ADO DB in Applikationen eingesetzt, die z.B. mit Visual Basic, VBScript oder VBA erstellt wurden. Hinweis Sonderzeichen im Variablennamen Beachten Sie bei Variablennamen, dass Programmiersprachen wie Visual Basic, VBScript oder VBA nur folgende Zeichen im Variablennamen erlauben: "A...Z", "a...z", "0...9" sowie "_". Wenn Sie in WinCC in Variablennamen Sonderzeichen wie "," oder ";" verwenden, wird das Skript mit Fehlermeldung abgebrochen. Verwenden Sie in diesem Fall die "Variablen-ID", um eine Variable mit Sonderzeichen im Namen im Skript anzusprechen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 41 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Prinzipielle Vorgehensweise 1. Für den Zugriff auf Archivdaten muss auf dem Rechner WinCC Basis, der Connectivity Pack-Server oder der Connectivity Pack-Client installiert sein. 2. Bei ausgelagerten Archiven stellen Sie die Verbindung zwischen der SQL-Datenbank und den ausgelagerten Archiven mit dem WinCC Archive Connector her. Hinweis Die WinCC RT-Archive im Verzeichnis "<Projektverzeichnis> \ ArchiveManager" und den zugehörigen Unterverzeichnissen dürfen nicht mit dem Archive Connector verbunden oder getrennt werden, da ihre Verbindung mit dem SQL-Server durch das WinCC BasisSystem verwaltet wird. 3. Stellen Sie die Verbindung zur Datenbank her, z.B. über MS Excel oder eine eigene Applikation. Legen Sie die gewünschten Selektionskriterien fest und lesen Sie die Archivdaten. 4. Das Abfrageergebnis können Sie z.B. in MS Excel darstellen oder als Csv-Datei exportieren. Siehe auch Zugriff über den Wizard "SQL Server Import/Export" projektieren (Seite 64) Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) WinCC Archive Connector (Seite 43) Grundlagen zu OLE DB (Seite 42) 3.4.2 Grundlagen zu OLE DB Einleitung Über die von WinCC zur Verfügung gestellte OLE DB-Schnittstelle und den zugehörigen Datenbank-Provider haben Sie die Möglichkeit, auf Prozesswert- und Meldearchive zuzugreifen. OLE DB OLE DB ist ein offener Standard für einen schnellen Zugriff auf unterschiedliche Datenbanken. Dabei spielt es keine Rolle, ob die Datenbank relational ist oder nicht. Die Verbindung zwischen der OLE DB-Ebene und der Datenbank wird durch einen DatenbankProvider hergestellt. OLE DB-Schnittstellen und -Provider werden von unterschiedlichen Herstellern angeboten. 42 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider WinCC OLE DB-Provider Über den WinCC OLE DB-Provider können Sie direkt auf die, in der MS SQL ServerDatenbank abgelegten, WinCC-Archivdaten zugreifen. In Abhängigkeit von der Projektierung werden Prozessdaten von WinCC komprimiert abgelegt. Der WinCC OLE DB-Provider erlaubt einen transparenten Zugriff auch auf diese Daten. Hinweis Wenn WinCC ein volles Archiv schließt und ein neues Archiv öffnet, werden über den OLE DBProvider kurzzeitig keine Daten aus Melde- und Prozesswertarchiven gelesen. Microsoft OLE DB Mit Microsoft OLE DB können Sie nur auf WinCC User Archives zugreifen. Für den Zugriff auf WinCC User Archives über Microsoft OLE DB ist eine Connectivity Pack Lizenz auf dem WinCC-Rechner erforderlich, auf dessen User Archives zugegriffen werden soll. Für den Remote-Zugriff auf die MS SQL-Server-Datenbank wird die WinCC Client Access Licence benötigt. Zum Schutz vor unberechtigten Zugriffen über MS OLE DB können vom Administrator der Datenbanken geeignete Maßnahmen getroffen werden. Weitere Informationen finden Sie im Kapitel "Sicherheitseinstellungen beim Zugriff auf SQL-Datenbanken über MS OLE DB". Hinweis Mit Microsoft OLE DB ist nur der Zugriff auf WinCC User Archives getestet und freigegeben, nicht jedoch auf Melde- und Prozesswertarchive. Verwenden Sie für den Zugriff auf Melde- und Prozesswertarchive den WinCC OLE DBProvider. Siehe auch Sicherheitseinstellungen beim Zugriff auf SQL-Datenbanken über MS OLE DB (Seite 74) Zugriff auf Archivdaten über OLE DB-Provider (Seite 41) Lizenzierung (Seite 5) 3.4.3 WinCC Archive Connector Einleitung Der WinCC "Archive Connector" dient zur Konfiguration des Zugriffs auf die Archivdatenbank. Das Tool ist Bestandteil von WinCC DataMonitor und Connectivity Pack. Mit dem Archive Connector können bereits ausgelagerte WinCC-Archive wieder mit einem SQL-Server WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 43 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider verbunden werden. Danach können der DataMonitor-Client oder der WinCC OLE DB-Provider auf die Archive zugreifen. Funktionen des WinCC Archive Connector: ● Manuelles Verbinden: Lokale Datenbanken können ausgewählt und mit dem lokalen SQLServer verbunden werden. ● Manuelles Trennen der Verbindung: Verbundene Datenbanken können ausgewählt und die Verbindung mit dem SQL-Server getrennt werden. ● Automatisches Verbinden: Es können lokale Verzeichnisse ausgewählt werden, in denen WinCC-Archive ausgelagert werden. Es werden alle Archive automatisch mit dem SQLServer verbunden, die in den gewählten Verzeichnissen ab dem Zeitpunkt der Aktivierung der Änderungsüberwachung hinzugefügt werden. Der Archive Connector kann nur mit einem lokalen SQL-Server und einer Lizenz von WinCC DataMonitor oder WinCC Connectivity Pack betrieben werden. Nach dem Abschluss der Konfiguration kann der Archive Connector beendet werden. Hinweis Die WinCC RT-Archive im Verzeichnis "<Projektverzeichnis> \ ArchiveManager" und den zugehörigen Unterverzeichnissen dürfen nicht mit dem Archive Connector verbunden oder getrennt werden, da ihre Verbindung mit dem SQL-Server durch das WinCC Basis-System verwaltet wird. Der Pfad der ausgelagerten WinCC-Archive wird in WinCC mit dem Archive Configurator z.B. des Tag Logging projektiert, nicht mit dem WinCC Archive Connector. Soll auf ausgelagerte Archive zugegriffen werden, die auf Wechselmedien liegen wie z.B. Band- oder MOD-Laufwerke, so ist bei einem Mediumwechsel im Laufwerk zu beachten, dass zuvor die Verbindung zu den Archiven auf diesem Medium mit Hilfe des Archive Connector getrennt wird. Nach dem Mediumwechsel sollte durch den Benutzer im Archive Connector geprüft werden, ob die Archive auf dem neuen Medium verbunden sind. Die Konfiguration mit dem WinCC Archive Connector sollte nur einem begrenzten Personenkreis möglich sein. Deshalb sollte der Zugriff auf das Tool geschützt werden über das Windows-Benutzerrecht "Administratoren" oder über sonstige WindowsSchutzmechanismen, z. B. Ablage in einem geschützten Verzeichnis. Hinweis Verwenden Sie den Archive Connector, um mit Connectivity Pack oder DataMonitor auf die verbundenen Archive zuzugreifen. Sie haben mit folgenden Objekten keinen Zugriff auf die mit dem Archive Connector verbundenen Archive: ● WinCC Alarm Control ● WinCC Online Trend Control ● WinCC Online Table Control ● WinCC Online Function Control 44 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Registerkarte Konfiguration Auf der Registerkarte Konfiguration werden die Archivierungsverzeichnisse angezeigt und verwaltet, auf die der Zugriff über Web oder über den WinCC OLE DB-Provider möglich sein soll. Über die Schaltflächen können Archivierungsverzeichnisse hinzugefügt oder entfernt werden. Für jedes Archivierungsverzeichnis muss bei der Konfiguration ein symbolischer, eindeutiger Name vergeben werden. Den symbolischen Namen verwenden der DataMonitor-Client oder der WinCC OLE DBProvider für den Zugriff auf das Archiv. Der Name wird auch beim Verwalten und Verbinden ausgelagerter Daten von mehreren Rechnern bzw. Projekten verwendet. Für den symbolischen Namen dürfen nur in der SQL-Syntax zulässige Zeichen verwendet werden. Durch Aktivierung des zugehörigen Kontrollkästchens werden alle Archive automatisch mit dem SQL-Server verbunden, die in dem gewählten Verzeichnis ab dem Aktivierungszeitpunkt hinzugefügt werden. Wenn Sie die Überwachung aktivieren oder deaktivieren, wird die Änderung erst nach dem Schließen des Archive Connectors wirksam. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 45 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Registerkarte Archive verbinden/trennen Auf der Registerkarte Archive verbinden/trennen sind alle Archive aufgeführt, die in den Archivierungsverzeichnissen vorhanden sind. Zu jedem Archiv wird der Verbindungsstatus angezeigt. Die Verbindung zu den Archiven kann über die Schaltflächen aufgebaut oder getrennt werden. Der Archivtyp wird im Feld "Typ" dargestellt. ● "A" = Alarm Logging; ● "TF" = Tag Logging (Fast); ● "TS"= Tag Logging (Slow). 46 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider In den Spalten "Von" und "Bis" erfolgt die Angabe für die lokale Zeitzone. Hinweis Das Verbinden mehrerer ausgelagerter Archive mit dem SQL-Server kann einige Sekunden in Anspruch nehmen. Es ist nicht möglich, eine Datenbankdatei mit dem gleichen Namen zweimal zu verbinden. Der WinCC Archive Connector verbindet abgeschlossene und über Backup ausgelagerte Archive mit dem SQL-Server. Nicht abgeschlossene Archive werden nicht unterstützt. Die Oberflächen-Sprache des Archive Connectors ist abhängig von den Einstellungen in den Regions- und Sprachoptionen von Windows. Hinweis Mit SQL Server 2000 erzeugte Archive können Sie nur dann verbinden, wenn Sie den Schreibschutz des Archivs entfernen. Archive, die einmal verbunden sind, können Sie nicht mehr mit dem Archive Connector des Connectivity Pack unter SQL Server 2000 verbinden. Um auf CD oder DVD ausgelagerte Archive zu verbinden, kopieren Sie die Archive auf einen Datenträger, auf dem Sie den Schreibschutz entfernen können. 3.4.4 Verbindung zur Archivdatenbank herstellen Einleitung Die Verbindung zwischen der Anwendung und der Archivdatenbank wird bei ActiveXDatenobjekten (ADO) über das Connection-Objekt hergestellt. Ein wichtiger Parameter ist dabei der ConnectionString. Der ConnectionString enthält alle benötigten Angaben für den Zugriff über den OLE DB-Provider auf die Datenbank. Aufbau des ConnectionString "Provider = Name des OLE DB-Providers; Catalog=Datenbankname;Data Source=Servername;" WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 47 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Parameter Beschreibung Provider Name des OLE DB-Providers: z.B. WinCCOLEDBProvider Catalog Name der WinCC-Datenbank Bei WinCC RT-Datenbanken verwenden Sie die Datenbanknamen, die mit "R" enden. <Datenbankname_R>. Es kann auch die Datenbank "CC_ExternalBrowsing" benutzt werden. Wenn Sie über den WinCC Archive Connector ausgelagerte WinCC-Archive mit dem SQL-Server verbunden haben, verwenden Sie den symbolischen Namen. Hinweis Geben Sie für den transparenten Zugriff für "Catalog" den Namen des WinCC-Projekts an, z. B.: "Catalog=WinCC_Project_Name". Hinweis Wenn Sie mit "CC_ExternalBrowsing" auf Meldearchive oder ausgelagerte Archive zugreifen, kann der Zugriff mehrere Minuten dauern. Data Source Servername Lokal: ".\WinCC" oder "<Rechnername>\WinCC" Remote: "<Rechnername>\WinCC" Hinweis Geben Sie beim transparenten Zugriff auf den Central Archive Server oder bei redundanten Servern über den OLE DB-Provider für "Data Source" Folgendes ein: <Symbolischer Rechnername>::\WinCC. Hinweis Wenn Sie direkt auf eine Archivvariable auf dem Central Archive Server "CAS" zugreifen, dann verwenden Sie den Namen der Archivvariablen. Der Central Archive Server "CAS" liefert als ID die CAS-ID zurück und nicht die ID der Archivvariablen: <SYMBOLISCHER RECHNERNAME>\\<Achive_Var_Name> Beispiel Prozesswert- oder Meldearchiv: Im folgenden Beispiel wird ein Connection-Objekt erzeugt und anschließend die Verbindung zur WinCC-Datenbank (Prozesswert- oder Meldearchiv) geöffnet. Set conn = CreateObject("ADODB.Connection") conn.open "Provider=WinCCOLEDBProvider. 1;Catalog=CC_OpenArch_03_05_27_14_11_46R;Data Source=.\WinCC" Beispiel Anwenderarchiv: Im folgenden Beispiel wird ein Connection-Objekt erzeugt und anschließend die Verbindung zum WinCC-Anwenderarchiv geöffnet. Set conn = CreateObject("ADODB.Connection") 48 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider conn.open "Provider=SQLOLEDB.1; Integrated Security=SSPI; Persist Security Info=false; Initial Catalog=CC_OpenArch_03_05_27_14_11_46R; Data Source=.\WinCC" Hinweis Um die Performance bei lokalem Zugriff zu verbessern, tragen Sie bei Data Source "<Rechnername>\WinCC" ein anstelle von ".\WinCC" . Siehe auch Beispiel: Zugriff auf Archivdaten mit DataConnector Wizard projektieren (Seite 210) Beispiel: Zugriff auf Archivdaten mit VB projektieren (Seite 208) Abfrage für Anwenderarchive (Seite 62) Abfrage für Meldearchive (Seite 58) Abfrage für Prozesswertarchive (Seite 52) 3.4.5 Abfragen der Archivdaten 3.4.5.1 Darstellung der Prozesswertarchive Einleitung Das Abfrageergebnis wird als Recordset zurückgegeben. In diesem Kapitel wird der Aufbau des Recordsets für Prozesswertarchive beschrieben. Recordset-Aufbau Feldname Typ Kommentar ValueID Integer 4 Byte oder Integer 8 Byte Eindeutige Identifikation des Wertes. Die Länge hängt von der Art der Abfrage ab. TimeStamp Datetime Zeitstempel RealValue Real 8 Byte Variablenwert Quality Integer 4 Byte QualityCode des Werts (z.B. "gut" oder "schlecht") Flags Integer 4 Byte Interner Steuerungsparameter WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 49 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Siehe auch Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) Zugriff auf Archivdaten über OLE DB-Provider (Seite 41) Grundlagen zu OLE DB (Seite 42) 3.4.5.2 Abfragen der Archivdaten Einleitung Die Abfragen werden mit dem Command-Objekt an die Datenbank übergeben. Ein wichtiger Parameter neben dem ConnectionString ist dabei der CommandText. Der CommandText übergibt die Abfrage. Das Ergebnis wird als Recordset zurückgegeben. Hinweis Zeitbereich beim Abfragen der Archive für Meldungen und Prozesswerte Wird beim Abfragen der Archive für Meldungen oder Prozesswerte ein Zeitbereich gewählt, in dem keine Meldungen oder Werte in den Archiven vorhanden sind, so erfolgt keine HinweisMeldung oder sonstige Anzeige dieses Zustands. Soll dieser Zustand angezeigt werden, so muss durch den Anwender eine Fehlerbehandlung erfolgen. Eine einfache Ausführung dieser Fehlerbehandlung ist im Beispielskript unter dem Thema "Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider lesen" gezeigt. In den folgenden Beispielen wird jeweils ein Command-Objekt erzeugt und die Abfrage als CommandText übergeben. Zu den folgenden Aufbaubeispielen für den CommandText gehört auch der ConnectionString, dessen Aufbau unter "Verbindung zur Archivdatenbank herstellen" beschrieben ist. Aufbau des CommandText Prozesswertarchive: Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1 Set oCom.ActiveConnection = conn oCom.CommandText = "TAG:R,'PVArchive\Tag1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'" Meldearchive Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") 50 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider oCom.CommandType = 1 Set oCom.ActiveConnection = conn oCom.CommandText = "ALARMVIEW:Select * FROM AlgViewEnu" Anwenderarchive Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1 Set oCom.ActiveConnection = conn oCom.CommandText = "SELECT * FROM UA#Test" Ort des RecordSet festlegen Um für die Abfrage von Archivdaten den Ort des RecordSet festzulegen, müssen Sie für die Eigenschaft "CursorLocation" den Wert "3" verwenden, z.B. "conn.CursorLocation = 3". Das RecordSet wird auf dem Client erstellt. Siehe auch Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen (Seite 218) Darstellung der Anwenderarchive (Seite 64) Darstellung der Meldearchive (Seite 60) Darstellung der Prozesswertarchive (Seite 49) Abfrage für Anwenderarchive (Seite 62) Abfrage für Meldearchive (Seite 58) Abfrage für Prozesswertarchive (Seite 52) Verbindung zur Archivdatenbank herstellen (Seite 47) WinCC Archive Connector (Seite 43) Grundlagen zu OLE DB (Seite 42) Beispiele für den Zugriff über OLE DB-Provider (Seite 208) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 51 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider 3.4.5.3 Abfrage für Prozesswertarchive Prinzip Mit der folgenden Abfrage können Sie auf ein Prozesswertarchiv zugreifen. Über Filterkriterien können die Daten selektiert werden. Die Abfragen werden mit dem Command-Objekt an die Datenbank übergeben. Hinweis Die Länge der ValueID kann unterschiedlich sein. ● Bei Datenbanken, die auf einem zentralen Archivserver (CAS) verarbeitet wurden, ist die ValueID 8 Byte lang und enthält im HI-DWORD-Bereich eine Serverkennung sowie im LO-DWORD-Bereich die vom jeweiligen Server vergebene ValueID. ● Bei allen anderen Datenbanken ist die ValueID 4 Byte lang und enthält lediglich die vom WinCC Server vergebene, eindeutige ValueID. Die 4-Byte-Abfrage über TAG:R ist zur Kompatibilität in jedem Fall weiterhin möglich. Die hier zurückgelieferte 4-Byte-ValueID ist aber im Fall von CAS-Datenbanken nicht mehr eindeutig. Abfragen auf Prozesswertarchive sind begrenzt auf max. 20 Variablen mit jeweils max. 128 Zeichen pro Variable. Syntax Beachten Sie, dass die Abfrage keine Leerzeichen enthalten darf. Abfrage von 8 Byte langen ValueIDs: TAG_LLVID:R,<ValueID oder ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>][,<TimeStep>] Abfrage von 4 Byte langen ValueIDs: TAG:R,<ValueID oder ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>] [,<TimeStep>] 52 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Parameter Parameter ValueID Beschreibung ValueID aus der Datenbank-Tabelle Mehrfachnennungen sind möglich, z.B. "TAG:R,(ValueID_1;ValueID_2;ValueID_x),<TimeBegin>,<TimeEnd>" ValueName ValueName im Format 'ArchiveName\Value_Name'. Der Parameter <ValueName> muss in einfache Anführungszeichen gesetzt werden. Mehrfachnennungen sind möglich, z.B. "TAG:R,('ValueName_1';'ValueName_2';'ValueName_x'), <TimeBegin>,<TimeEnd>" Hinweis Beachten Sie bei Variablennamen, dass Programmiersprachen wie Visual Basic, VBScript oder VBA nur folgende Zeichen im Variablennamen erlauben: "A...Z", "a...z", "0...9" sowie "_". Wenn Sie in WinCC in Variablennamen Sonderzeichen wie "," oder ";" verwenden, wird das Skript mit Fehlermeldung abgebrochen. Verwenden Sie in diesem Fall die "Variablen-ID", um eine Variable mit Sonderzeichen im Namen im Skript anzusprechen. TimeBegin Startzeitpunkt im Format 'YYYY-MM-DD hh:mm:ss.msc' Bei der Verwendung von <TimeStep> muss <TimeBegin> als absolute Zeit angegeben werden. Es ist keine relative Angabe oder "0000-00-00 00:00:00.000" möglich. TimeEnd Endzeitpunkt im Format 'YYYY-MM-DD hh:mm:ss.msc' SQL_Clause Filterkriterium in SQL-Syntax: [WHERE search_condition] [ORDER BY {order_expression [ASC|DESC] } ] Das Kriterium "ORDER BY" kann nur mit angegebener Sortierfolge "{order_expression [ASC|DESC] }" benutzt werden. Beispiel: Die folgende Abfrage liefert alle Werte der Variablen "ValueName_1" und "ValueName_2" zurück, die unter 50 oder über 100 liegen. "TAG:R,('ValueName_1';'ValueName_2'),<TimeBegin>,<TimeEnd>, 'WHERE RealValue > 100 OR RealValue < 50'" TimeStep Werte im angegebenen Zeitintervall werden zusammengefasst, beginnend mit dem Startzeitpunkt <TimeBegin> Format: 'TIMESTEP=x,y' x = Intervall in Sekunden y = Aggregationstyp, definiert das Intervall-Ergebnis Folgende Werte für den Aggregationstyp sind möglich: Ohne Interpolation WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Mit Interpolation Bedeutung 53 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Parameter Beschreibung 1 (FIRST) 2 (LAST) 3 (MIN) 4 (MAX) 5 (AVG) 6 (SUM) 7 (COUNT) 257 (FIRST_INTERPOLATED) 258 (LAST_INTERPOLATED) 259 (MIN_INTERPOLATED) 260 (MAX_INTERPOLATED) 261 (AVG_INTERPOLATED) 262 (SUM_INTERPOLATED) 263 (COUNT_INTERPOLATED) Erster Wert Letzter Wert Minimalwert Maximalwert Mittelwert Summe Anzahl der Werte Ohne Interpolation bedeutet: Wenn im Intervall keine Werte vorhanden sind, wird kein Intervall-Ergebnis zurückgegeben. Mit Interpolation bedeutet: Wenn im Intervall keine Werte vorhanden sind, wird der Wert durch lineare Interpolation aus den Ergebnissen der nächsten nichtleeren Nachbarintervalle gebildet. Es erfolgt keine Extrapolation. Beispiel: Bei TIMESTEP=60,257 wird für jedes Intervall von 60 Sekunden der erste Wert dieses Intervalls oder - wenn es in dem Intervall keine Werte gibt - der linear interpolierte Wert aus den ersten Werten der Nachbarintervalle zurückgeliefert. "TAG:R,1,'2004-07-09 09:03:00.000','0000-00-00 00:10:00.000','TIMESTEP=60,257'" Hinweis <TimeBegin> und <TimeEnd> dürfen nicht beide "ZERO" = "0000-00-00 00:00:00.000" sein. Um die Performance zu verbessern, verwenden Sie in der Abfrage den Parameter "ValueID" anstelle von "ValueName". Die "ValueID" können Sie aus der Tabelle "Archive" ermitteln. Einige Anwendungen können bei Prozesswerten die Zeit nicht in 1-ms-Schritte auflösen, was zu Ungenauigkeiten führen kann. Ein Beispiel zur Auflösung der Millisekunden aus dem Zeitstempel von Prozesswerten finden Sie im VB-Skript "SplitDateTimeAndMs" im Kapitel "Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider lesen". Das Skript ist auch im Demoprojekt "OpConPack" implementiert. Auswahl eines absoluten Zeitraums Lesen vom Startzeitpunkt <TimeBegin> bis zum Endzeitpunkt <TimeEnd>. Beispiel A1: Liest Werte der ValueID 1 vom Startzeitpunkt 9:03 Uhr bis zum Endzeitpunkt 9:10 Uhr. "TAG:R,1,'2004-07-09 09:03:00.000','2004-07-09 09:10:00.000'" Auswahl eines relativen Zeitraums Lesen vom Beginn der Aufzeichnung: <TimeBegin> = '0000-00-00 00:00:00.000' Lesen bis zum Ende der Aufzeichnung: <TimeEnd> = '0000-00-00 00:00:00.000' 54 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider <TimeBegin> und <TimeEnd> dürfen jedoch nicht beide "ZERO" = '0000-00-00 00:00:00.000' sein. Hinweis Geben Sie einen relativen Zeitraum, den Sie aus einer verbundenen Archivdatenbank abfragen wollen, im folgenden Format an: ● 0000-00-DD hh:mm:ss.msc Bei der Angabe eines Zeitraums in Monaten können die Inhalte fehlerhaft sein, da ein Monat zwischen 28 und 31 Tagen hat. Beispiel B1: Liest ab dem absoluten Zeitpunkt von "TimeBegin" bis zum Ende der Aufzeichnung, also dem letzten archivierten Wert. <TimeBegin> = '2003-02-02 12:00:00.000', <TimeEnd> = '0000-00-00 00:00:00.000' Beispiel B2: Liest ab dem absoluten Zeitpunkt von "TimeBegin" 10 Sekunden weiter. <TimeBegin> = '2003-02-02 12:00:00.000', <TimeEnd> = '0000-00-00 00:00:10.000' Beispiel B3: Liest 10 Sekunden zurück, ab dem absoluten Zeitpunkt von "TimeEnd". <TimeBegin> = '0000-00-00 00:00:10.000', <TimeEnd> = '2003-02-02 12:00:00.000' Beispiel B4: Liest für mehrere ValueIDs (1;3;5;6) die Werte der letzten Stunde, von der Zeit des letzten archivierten Werts ausgehend. "TAG:R,(1;3;5;6),'0000-00-00 01:00:00.000','0000-00-00 00:00:00.000'" Beispiel B5: Liest für die Variable "TAG_2" aus dem Archiv "ArTags" die Werte der letzten fünf Minuten, von der Zeit des letzten archivierten Werts ausgehend. "TAG:R,'ArTags\TAG_2','0000-00-00 00:05:00.000','0000-00-00 00:00:00.000'" Das folgende Bild zeigt ein mögliches Ergebnis dieses Beispiels. Die Abfrage erfolgte im Connectivity Pack Demo-Projekt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 55 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Mehrere Rückgabewerte zu einer Abfrage durch Filter auf Variablenwert Beispiel C1: Die folgende Abfrage benutzt zusätzlich den Parameter <SQL_Clause> und liefert alle Werte der Variablen mit der ValueID "3" und "6" zurück, die unter 50 oder über 100 liegen. "TAG:R,(3;6),<TimeBegin>,<TimeEnd>,'WHERE RealValue > 100 OR RealValue < 50'" Abfrage mit Parameter <TimeStep> Beispiel C2: Die folgende Abfrage benutzt den Parameter <TimeStep> und liefert alle Werte der ValueID "1" zurück, vom Startzeitpunkt "TimeBegin" bis 5 Minuten später, in Intervallen von "60" Sekunden mit dem Aggregationstyp "5" = "Mittelwert ohne Interpolation". "TAG:R,1,'2004-10-13 17:00:00.000','0000-00-00 00:05:00.000', 'TIMESTEP=60,5'" Die folgende Grafik zeigt das Abfrageergebnis. In der linken Tabelle sind die Archivdaten dargestellt, die mit einem Archivierungszyklus von 30 Sekunden archiviert wurden. In der rechten Tabelle ist das Abfrageergebnis dargestellt. Es wird der Mittelwert aus jeweils zwei Archivwerten der Sekunde "0" und der Sekunde "30" gebildet und mit dem ersten Zeitstempel des Berechnungszeitraums, der Sekunde "0", angezeigt. 56 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Beispiel C3: Die folgende Abfrage benutzt den Parameter <TimeStep> und liefert alle Werte der ValueIDs "1" und "2" zurück, vom Startzeitpunkt "TimeBegin" bis 2 Minuten später, in Intervallen von "15" Sekunden mit dem Aggregationstyp "261" = "Mittelwert mit linearer Interpolation". "TAG:R,(1;2),'2004-10-13 17:00:00.000','0000-00-00 00:02:00.000', 'TIMESTEP=15,261'" Die folgende Grafik zeigt das Abfrageergebnis. In der linken Tabelle sind die Archivdaten dargestellt, die mit einem Archivierungszyklus von 30 Sekunden archiviert wurden. In der rechten Tabelle ist das Abfrageergebnis dargestellt. Die Archivwerte der Sekunden "0" und "30" werden unverändert mit ihrem Zeitstempel im Abfrageergebnis angezeigt. Für die Sekunde "15" wird der linear interpolierte Wert aus den Archivwerten der Sekunden "0" und "30" gebildet. Für die Sekunde "45" wird der linear interpolierte Wert aus den Archivwerten der Sekunde "30" der gleichen Minute und der Sekunde "0" der folgenden Minute gebildet. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 57 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Siehe auch Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen (Seite 218) Darstellung der Prozesswertarchive (Seite 49) 3.4.5.4 Abfrage für Meldearchive Einleitung Mit der folgenden Abfrage können Sie auf das Meldearchiv zugreifen. Über Filterkriterien können die Daten selektiert werden. Die Abfrage wird mit dem Command-Objekt an die Datenbank übergeben. Informationen zum Status von Meldungen finden Sie im WinCC Information System unter "Arbeiten mit WinCC > ANSI-C zum Erstellen von Funktionen und Aktionen > ANSI-C Funktionsbeschreibungen > Anhang > Strukturdefinitionen > Strukturdefinition MSG_RTDATA_STRUCT". Bei Abfragen auf die Meldearchive wird das Ergebnis archivweise zusammengefasst, aber es erfolgt keine Sortierung über alle abgefragten Archivsegmente. Soll eine Sortierung erfolgen, so ist die Filterbedingung entsprechend zu erweitern z. B. für zeitfolgerichtige Sortierung mit "ORDER BY DateTime ASC, MS ASC". 58 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Syntax ALARMVIEW:SELECT * FROM <ViewName>[WHERE <Condition>...., optional] Parameter Parameter Beschreibung ViewName Name der Datenbanktabelle. Die Tabelle muss in der gewünschten Sprache angegeben werden. Der "ViewName" für die fünf europäischen Sprachen lautet beispielweise: ALGVIEWDEU: deutsche Meldearchivdaten ALGVIEWENU: englische Meldearchivdaten ALGVIEWESP: spanische Meldearchivdaten ALGVIEWFRA: französische Meldearchivdaten ALGVIEWITA: italienische Meldearchivdaten Der "ViewName" für die asiatischen Sprachen lautet: ALGVIEWCHS: chinesische (simplified) Meldearchivdaten ALGVIEWCHT: chinesische (traditionell) Meldearchivdaten ALGVIEWJPN: japanische Meldearchivdaten ALGVIEWKOR: koreanische Meldearchivdaten Hinweis Es werden die Sprachen unterstützt, die im WinCC-Basissystem installiert bzw. in der WinCC Text Library projektiert sind. Informationen über die möglichen Abfrage-Sprachen bzw. den entsprechenden "ViewName" finden Sie im SQL-Server in den verbundenen Meldearchiven unter "Views". Darin werden alle Sprachen mit ihren Kennungen z.B. "ALGVIEWENU" angezeigt, die im jeweiligen Archiv unterstützt werden. Condition Filterkriterium z.B.: DateTime>'2003-06-01' AND DateTime<'2003-07-01' DateTime>'2003-06-01 17:30:00' MsgNr = 5 MsgNr in (4, 5) State = 2 Bei DateTime können nur absolute Zeitangaben verwendet werden. Beispiel 1: Liest alle Einträge der Meldung Nummer 5, die nach dem 05.07.2003 erfasst wurden. "ALARMVIEW:SELECT * FROM ALGVIEWENU WHERE MsgNr = 5 AND DateTime>'2003-07-05'" Beispiel 2: Liest alle Meldungen mit dem Zeitstempel zwischen 03.07.2003 und 05.07.2003. "ALARMVIEW:SELECT * FROM ALGVIEWENU WHERE DateTime>'2003-07-03' AND DateTime<'2003-07-05'" Das nachfolgende Bild zeigt ein mögliches Ergebnis dieses Beispiels. Die Abfrage erfolgte im Connectivity Pack Demo-Projekt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 59 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Siehe auch Darstellung der Meldearchive (Seite 60) Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen (Seite 231) 3.4.5.5 Darstellung der Meldearchive Einleitung Das Abfrageergebnis wird als Recordset zurückgegeben. In diesem Kapitel wird der Aufbau des Recordset für Meldearchive beschrieben. Informationen zum Status von Meldungen finden Sie im WinCC Information System unter "Arbeiten mit WinCC > ANSI-C zum Erstellen von Funktionen und Aktionen > ANSI-C Funktionsbeschreibungen > Anhang > Strukturdefinitionen > Strukturdefinition MSG_RTDATA_STRUCT". Recordset-Aufbau 60 Position Feldname Typ Kommentar 1 MsgNr Integer 4 Byte Meldenummer 2 State Small Integer 2 Byte Status der Meldung 3 DateTime DateTime 8 Byte Zeitstempel der Meldung (Datum/Uhrzeit ohne Millisekunden) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Position Feldname Typ Kommentar 4 Ms Small Integer 2 Byte Zeitstempel der Meldung (Millisekunden) 5 Instance VarChar(255) Instanzname der Meldung 6 Flags1 Integer 4 Byte (nur interne Verwendung) 7 PValueUsed Integer 4 Byte Verwendete Prozesswerte 8 bis 17 PValue1 bis PValue10 Real 8 Byte numerischer Prozesswert 1 bis 10 18 bis 27 PText1 bis PText10 VarChar(255) Prozesswerttext 1 bis 10 28 Computername VarChar(255) Rechnername 29 Application VarChar(255) Applikationsname 30 Comment VarChar(255) Kommentar 31 Username VarChar(255) Benutzername 32 Counter Integer 4 Byte Fortlaufender Meldezähler 33 TimeDiff Integer 4 Byte Zeitdifferenz zum Zustand "Gekommen" 34 Classname VarChar(255) Name der Meldeklasse 35 Typename VarChar(255) Name der Meldeart 36 Class Small Integer 2 Byte ID der Meldeklasse 37 Type Small Integer 2 Byte ID der Meldeart 38 bis 47 Text1 bis Text10 VarChar(255) Meldetext 1 bis 10 48 AG_NR Small Integer 2 Byte Nummer des AG 49 CPU_NR Small Integer 2 Byte Nummer der CPU 50 CrComeFore Integer 4 Byte Vordergrundfarbe für Status "gekommen" 51 CrComeBack Integer 4 Byte Hintergrundfarbe für Status "gekommen" 52 CrGoFore Integer 4 Byte Vordergrundfarbe für Status "gegangen" 53 CrGoBack Integer 4 Byte Hintergrundfarbe für Status "gegangen" 54 CrAckFore Integer 4 Byte Vordergrundfarbe für Status "quittiert" 55 CrAckBack Integer 4 Byte Hintergrundfarbe für Status "quittiert" 56 LocaleID Integer 4 Byte Ort des Alarms 57 Priority Integer 4 Byte Priorität 58 AP_type Integer 4 Byte Loop in Alarm 59 AP_name VarChar(255) Loop in Alarm Funktionsname 60 AP_PAR VarChar(255) Loop in Alarm Bild 61 InfoText VarChar(255) Infotext 62 TxtCame VarChar(255) Text gekommen 63 TxtWent VarChar(255) Text gegangen 64 TxtCameNWent VarChar(255) Text gekommen und gegangen 65 TxtAck VarChar(255) Text quittiert 66 AlarmTag Integer 4 Byte Meldevariable 67 AckType Small Integer 2 Byte Quittiertyp WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 61 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Position Feldname Typ Kommentar 68 Params Integer 4 Byte Parameter 69 Servername VarChar(255) Servername Siehe auch Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) Zugriff auf Archivdaten über OLE DB-Provider (Seite 41) Grundlagen zu OLE DB (Seite 42) 3.4.5.6 Abfrage für Anwenderarchive Einleitung Mit der folgenden Abfrage können Sie über MS OLE DB-Provider auf WinCC-Anwenderarchive zugreifen. Der Zugriff kann lesend und schreibend erfolgen, um die gespeicherten Daten auszuwerten oder auch zu ändern und zu speichern. Über Filterkriterien können die Daten selektiert werden. Die Abfrage wird mit dem CommandObjekt an die Datenbank übergeben. Hinweis Beachten Sie beim Zugriff über den MS OLE DB-Provider auf WinCC-Anwenderarchive: ● Stellen Sie sicher, dass kein schreibender Zugriff gleichzeitig über MS OLE DB-Provider und über WinCC möglich ist. Dadurch vermeiden Sie Inkonsistenzen in den Archiven. ● Änderungen über MS OLE DB-Provider werden in WinCC Runtime erst nach einer Neuanwahl des User Archive Table Controls durch einen Bildwechsel angezeigt. Die aktuellen Daten der Anwenderarchive werden dabei neu eingelesen. ● Über MS OLE DB-Provider geänderte Anwenderarchive werden in einem redundanten System nicht abgeglichen. ● Beachten Sie, dass WinCC-Updates zu Änderungen im Datenbank-Schema führen können. Schema-Änderungen sind auch bei der Installation von Hotfixes und Service Packs möglich. In diesem Fall müssen Sie den lesenden und schreibenden Zugriff entsprechend anpassen. Syntax Lesen von Werten SELECT * FROM UA#<ArchiveName>[WHERE <Condition>...., optional] Schreiben von Werten UPDATE UA#<ArchiveName> SET UA#<ArchiveName>.<Column_n> = <Value> [WHERE <Condition>...., optional] 62 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Einfügen eines Datensatzes INSERT INTO UA#<ArchiveName> (ID,<Column_1>,<Column_2>,<Column_n>) VALUES (<ID_Value>, Value_1,Value_2,Value_n) Löschen eines Datensatzes DELETE FROM UA#<ArchiveName> WHERE ID = <ID_Number> Parameter Parameter Beschreibung ArchiveName Name des Anwenderarchivs. Condition Filterkriterium z.B.: LastAccess>'2004-06-01' AND LastAccess<'2004-07-01' DateTime>'2004-06-01 17:30:00' ID = 5 ID > 3 Beispiel 1: Liest alle Daten im Anwenderarchiv "Test". SELECT * FROM UA#Test Beispiel 2: Liest alle Daten im Anwenderarchiv "Test", die zwischen 01.06.2004 und 01.07.2004 geändert wurden. SELECT * FROM UA#Test WHERE LastAccess>'2004-06-01' AND LastAccess<'2004-07-01' Beispiel 3: Schreibt den Wert 'New_String' in das Feld F_STRING der ID 3. UPDATE UA#TEST SET F_STRING = 'New_String' WHERE ID = 3 Beispiel 4: Fügt einen Datensatz mit der ID 100 ein. INSERT INTO UA#Test (ID,F_Integer,F_Float,F_Double,F_String) VALUES (100,10,'10.0','AAAA') Beispiel 5: Löscht den Datensatz mit der ID 100. DELETE FROM UA#Test WHERE ID = 100 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 63 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Siehe auch Darstellung der Anwenderarchive (Seite 64) 3.4.5.7 Darstellung der Anwenderarchive Einleitung Jedes Anwenderarchiv besteht aus Datenfeldern mit editierbaren Eigenschaften. Jedes Datenfeld besitzt Eigenschaften wie Name, Aliasname, Typ, Länge, Wert usw. Die Darstellung der Datenfelder und Eigenschaften im Editor User Archives erfolgt in Zeilen und Spalten. Deshalb wird anstelle von Datenfeldern auch von Zeilen und anstelle von Eigenschaften auch von Spalten gesprochen. Nachfolgend wird als Beispiel der Aufbau des Anwenderarchivs "Test" beschrieben. Dieses Anwenderarchiv ist im Connectivity Pack Demo-Projekt "OPConPack" im Verzeichnis "\Samples\Connectivity Pack\DemoProject" enthalten. Aufbau des Anwenderarchives "Test" Feldname Typ Kommentar ID Integer Eindeutige Identifikation des Wertes F_Integer Integer Beispiel für Wert F_Float Float Beispiel für Wert F_Double Double Beispiel für Wert F_String String Beispiel-Zeichenkette Siehe auch Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) Zugriff auf Archivdaten über OLE DB-Provider (Seite 41) Grundlagen zu OLE DB (Seite 42) 3.4.5.8 Zugriff über den Wizard "SQL Server Import/Export" projektieren Einleitung Mit dem WinCC OLE DB-Provider ist der Zugriff auf WinCC-Datenbanken unter Einsatz des Wizards "SQL Server Import/Export" möglich. Die entpackten Daten können Sie mit Hilfe des 64 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Wizards in einer Zwischendatenbank ablegen, auf die Sie mit Standard-SQL-Abfragen zugreifen können. ● Auf WinCC-Rechnern ist der Zugriff lokal oder remote auf die Runtime- und die ArchivDatenbanken möglich. ● Bei Langzeit-Archivservern kann nur auf die Archiv-Datenbanken lokal oder remote zugegriffen werden, da diese keine Runtime-Datenbank besitzen. Vorgehensweise 1. Starten Sie "SQL Server Management Studio" und wählen Sie die gewünschte Datenbank. 2. Wählen Sie im Kontextmenü der Datenbank "Tasks > Export Date...". Der SQL Server Import/Export-Wizard öffnet sich. 3. Projektieren Sie die Datenquelle. Klicken Sie auf "Next". Wählen Sie im Feld "Data source" den Eintrag "WinCC OLE DBProvider for Archives". Klicken Sie auf die Schaltfläche "Properties...". Der Dialog "Data Link Properties" öffnet sich. 4. Projektieren Sie die korrekten Einstellungen des Providers. Geben Sie im Feld "Data Source" folgenden Text als Datenquelle ein: ".\WinCC". Der Eintrag für "Location" bleibt frei. Tragen Sie unter "Enter the initial catalog to use" entweder die gewünschte RuntimeDatenbank oder den symbolischen Namen ein, der im "Archive Connector Tool" konfiguriert wurde. Die korrekte Schreibweise des Namens finden Sie im "SQL Server Management Studio" im Verzeichnis "Databases". Alternativ können Sie auch die Datenbank "CC_ExternalBrowsing" für Runtime-Daten und Archiv-Daten eintragen. Klicken Sie auf die Registerkarte "Advanced". Wählen Sie für die Eigenschaft "Connect timeout" die gewünschte Zeit in Sekunden. Wählen sie in der Eigenschaft "Access permissions" nur das Optionskästchen "ReadWrite". Schließen Sie den Dialog über die Schaltfläche "OK". Hinweis Um die Performance bei lokalem Zugriff zu verbessern, tragen Sie im Feld "Data Source" "<Rechnername>\WinCC" ein statt ".\WinCC". 5. Projektieren Sie das Ziel der Daten. Klicken Sie auf "Next". Wählen Sie im Feld "Destination" z. B. den Eintrag "SQL Native Client" aus. Als Servernamen können Sie jede SQL Server-Instanz verwenden. Im Feld "Database" können Sie jede selbst erstellte Ziel-Datenbank als Datenbank eintragen. Hinweis Sie können das Feld "Database" auch leer lassen. Dann werden keine Ziel-Tabellen erstellt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 65 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider 6. Projektieren Sie die Abfragebedingungen. Klicken Sie auf "Next". Wählen Sie die Option "Write a query to specify the data to transfer". Klicken Sie auf "Next". Geben Sie die gewünschte Abfragebedingung ein. Zum Beispiel werden mit der Abfrage "Tag:R,1,'0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'" von der ValueID "1" die Werte der letzten 10 Minuten der Archivierung gelesen. Weitere Informationen zur Syntax finden Sie im Kapitel "Abfrage für Prozesswertarchive". 7. Beenden Sie den Wizard und exportieren Sie die Daten. Klicken Sie auf "Next" und auf der letzten Seite des Wizards auf "Finish". Der Wizard führt den Datenexport zur Ziel-Datenbank durch. Wenn der Datenexport erfolgreich war, werden die unkomprimierten Daten in der Ziel-Datenbank in der neu erstellten Tabelle "dbo.Query" abgelegt. Sie können den Tabellennamen ändern. Auch wenn Sie den Tabellennamen nicht ändern, werden die Daten bei einem neuen Export nicht überschrieben. Der Wizard legt neue Tabellen mit den Namen "Query1", "Query2" etc. an. Siehe auch Anwendungsfall 7: Zugriff über WinCC OLE DB-Provider (Seite 34) 3.4.5.9 Voraussetzungen für die Nutzung der Reporting Services schaffen Einleitung Mit WinCC können Sie die Reporting Services des SQL-Server 2005 nutzen. Sie können somit mit dem Microsoft Visual Studio erstellte Reports mit Archivdaten im Netz zur Verfügung stellen. Voraussetzungen Die Nutzung der Reporting Services mit WinCC erfordert folgende weitere Softwarevoraussetzungen: ● Internet Information Services ● Workstation Components des MS SQL Server 2005, darunter das Business Intelligence Development Studio ● Reporting Services des MS SQL Server 2005 Hinweis Nehmen Sie die Installationsschritte in genau der angegebenen Reihenfolge vor. 66 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Internet Information Services installieren 1. Wählen Sie "Einstellungen > Systemsteuerung > Software". 2. Klicken Sie links auf die Schaltfläche "Windows-Komponenten hinzufügen/entfernen". 3. Aktivieren Sie im Dialog "Assistent für Windows-Komponenten" das Kontrollkästchen "Internet-Informationsdienste (IIS)". Unter Windows 2003 aktivieren Sie dazu unter "Application Server" die "Details". Business Intelligence Development Studio installieren Sie installieren das Business Intelligence Development Studio als weitere Komponente des MS SQL Server 2005. 1. Wählen Sie "Einstellungen > Systemsteuerung > Software". Die Schaltfläche "Programme ändern oder entfernen" ist aktiv. 2. Selektieren Sie "Microsoft SQL Server 2005" und klicken Sie auf "Ändern". 3. Wählen Sie im Dialog "Microsoft SQL Server 2005 Maintenance" die Option "Workstation Components" und klicken Sie auf "Weiter". Der Microsoft SQL Server Installation Wizard wird geöffnet. 4. Führen Sie den Wizard aus: – Wählen Sie "Change Installed Components". – Öffnen Sie den Zweig "Client Components". – Aktivieren Sie mit der Maus das Festplattensymbol "Will be installed on local hard drive" für das Business Intelligence Development Studio. – Lassen Sie die weiteren Einstellungen unberührt. Das Business Intelligence Development Studio wird installiert. Reporting Services des MS SQL Server 2005 installieren Sie installieren die Reporting Services des MS SQL Server 2005 von der WinCC-DVD oder von deren Platz im Dateisystem. 1. Wählen Sie "Start > Ausführen" und geben Sie folgendes ein: \\<wincc-dvd-pfad>\instdata\SQL\servers\setup.exe SKUUPGRADE=1 Das Microsoft SQL Server 2005 Setup wird ausgeführt. Folgen Sie den Anweisungen. 2. Aktivieren Sie im Dialog "Components to Install" das Kontrollkästchen "Reporting Services". Services" und klicken Sie auf "Next". 3. Klicken Sie im Dialog "Instance Name" auf "Installed instances". 4. Aktivieren Sie im Dialog "Installed instances" den Eintrag "SQL Server (WinCC)" und fahren Sie fort. 5. Konfigurieren Sie im Dialog "Service Account" die Reporting Services entsprechend Ihren Bedürfnissen. Die hier gemachten Einstellungen gelten global für die Reporting Services. 6. Beenden Sie das Setup. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 67 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Service Pack erneut installieren Nach der Installation der Reporting Services müssen Sie das Service Pack 2 für den SQL Server 2005 erneut installieren. 1. Wählen Sie "Start > Ausführen" und geben Sie Folgendes ein: \\<wincc-dvd-pfad>\instdata\SQL\ServicePack\SQLServer2005SP2\setup.exe 2. Folgen Sie den Anweisungen und nehmen Sie keine Änderungen im Setupmenü vor. Rechnerverwaltung konfigurieren In der Rechnerverwaltung konfigurieren Sie die Internet Information Services. 1. Klicken Sie im Windows Explorer mit der rechten Maustaste auf "Arbeitsplatz" und wählen Sie im Kontextmenü den Eintrag "Verwalten". Die Rechnerverwaltung öffnet sich. 2. Wählen Sie unter "Internet Information Services Manager" im Kontextmenü von "Application Pool" den Eintrag "Eigenschaften". 3. Wählen Sie auf der Registerkarte "Identität" die Option "Konfigurierbar" und geben Sie den Benutzernamen in der Form <Domäne oder Rechnername>\<Benutzer> sowie Ihr Passwort ein. 4. Wählen Sie unter "Internet Information Services Manager" im Kontextmenü von "Web Sites" den Eintrag "Eigenschaften". 5. Wählen Sie auf der Registerkarte "Directory Security" unter "Authentication and Access Control" auf "Edit" und geben Sie den Benutzernamen in der Form <Domäne oder Rechnername>\<Benutzer> sowie Ihr Passwort ein. Hinweis Wir empfehlen, nach Abschluss der Installationen den Rechner neu zu starten. Ergebnis Damit sind die Voraussetzungen für die Nutzung der Reporting Services hergestellt. Sie können jetzt Reports erstellen und im Internet zur Verfügung stellen. 3.4.6 Analysefunktionen für Meldungen und Prozesswerte 3.4.6.1 Analysefunktionen für Meldungen und Prozesswerte Einleitung Mit dem WinCC / Connectivity Pack stehen verschiedene Analysefunktionen bei der Abfrage von archivierten Meldungen und Prozesswerten zur Verfügung. Zur Analyse wird eine Abfrage gestartet mit Parametern für verschiedene Aggregatfunktionen. Die Berechnung der 68 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Aggregatfunktionen erfolgt auf dem Connectivity Pack-Server und nur das Ergebnis wird zum Client übertragen. Weitere Informationen zu CommandText und ConnectionString, die in den folgenden Beispielen verwendet sind, finden Sie unter "Verbindung zur Archivdatenbank herstellen" und "Abfragen der Archivdaten". Analysefunktionen für Meldungen Die Analyseabfrage für Meldearchive liefert einen spezifischen Recordset zurück, der zu jeder Meldung Konfigurations- und Runtime-Daten und die Ergebnisse der Aggregatfunktionen enthält. Der zurückgelieferte Recordset von Analyseabfragen von Meldearchiven ist nicht identisch mit dem Recordset normaler Abfragen von Meldearchiven. Weitere Informationen finden Sie im Kapitel "Darstellung von Meldearchiven bei Analyseabfragen". Für jede Meldung werden folgende Aggregatfunktionen berechnet. Die Spaltenbezeichnungen in der Ergebnisliste sind in Klammern gesetzt. ● Summe Meldungshäufigkeit ("FreqOfAlarm") ● Kumulierte Dauer von "Meldung gekommen" bis "Meldung gegangen" ("CumDurationComeGo") ● Durchschnittliche Dauer von "Meldung gekommen" bis "Meldung gegangen" ("AvDurationComeGo") ● Kumulierte Dauer von "Meldung gekommen" bis Erstquittierung ("CumDurationComeAckn1") ● Durchschnittliche Dauer von "Meldung gekommen" bis Erstquittierung ("AvDurationComeAckn1") ● Kumulierte Dauer von "Meldung gekommen" bis Zweitquittierung ("CumDurationComeAckn2") ● Durchschnittliche Dauer von "Meldung gekommen" bis Zweitquittierung ("AvDurationComeAckn2") ● Kumulierte Dauer von "Meldung gekommen" bis "Meldung gekommen" ("CumDurationComeCome") ● Durchschnittliche Dauer von "Meldung gekommen" bis "Meldung gekommen" ("AvDurationComeCome") Syntax Zur Berechnung der Aggregatfunktionen für Meldungen wird der folgende Befehl an den WinCC OLE DB-Provider übergeben. "AlarmHitView: SELECT * FROM <ViewName>[WHERE <Condition>]" Dabei sind : <ViewName> = Name der Datenbanktabelle in der gewünschten Sprache z.B. ALGVIEWENU für Englisch. [WHERE <Condition>] = optionales Filterkriterium als WHERE-Bedingung in SQL-Syntax. Weitere Informationen zur Syntax der Parameter finden Sie im Kapitel "Abfrage für Meldearchive". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 69 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Beispiel Das Beispiel liefert aus der Datenbank "ALGVIEWENU" die Ergebnisse der Aggregatfunktionen für alle Meldungen im Zeitbereich zwischen 15.07.2004 12:00 Uhr und 12:15 Uhr. ConnectionString: "Provider=WinCCOLEDBProvider. 1;Catalog=CC_OpenArch_03_05_27_14_11_46R;Data Source=.\WinCC" CommandText: "AlarmHitView: SELECT * FROM ALGVIEWENU WHERE DateTime>'2004-07-15 12:00:00' AND DateTime<'2004-07-15 12:15:00'" Analysefunktionen für Prozesswerte Die Analyse für Prozesswerte liefert das Ergebnis einer Aggregatfunktion zurück. In einer Abfrage kann nur eine Aggregatfunktion berechnet werden. Für Prozesswerte stehen folgende Aggregatfunktionen zur Verfügung. ● MIN (Minimum) ● MAX (Maximum) ● AVG (Durchschnitt) ● SUM (Summe aller Werte) ● COUNT (Anzahl der Prozesswerte) ● COUNTER (Anzahl der Einträge mit dem Wert "1", z.B. Abfrage binärer Variablen) ● STDEV (Statistische Standard-Abweichung) ● VAR (Statistische Varianz) Syntax Zur Berechnung einer Aggregatfunktion für Prozesswerte wird eine Abfrage an den MS SQL OLE DB-Provider übergeben und die Prozedur "cp_TagStatistic" aus der Datenbank "SQL Server Master" ausgeführt. Hinweis Die Analysefunktionen für Prozesswerte beim transparenten Zugriff funktioniert nur mit der Connectivity Station auf einem Client mit eigenem Projekt. Der Prozedur "cp_TagStatistic" werden folgende Parameter übergeben. cp_TagStatistic @P1,@P2,@P3[,@P4] Dabei sind : "@P1" = Datenbankname (z.B. WinCC Runtime-Datenbank oder der symbolische Name des Verzeichnisses mit den ausgelagerten Archiven). Verwenden Sie beim transparenten Zugriff statt des Datenbanknamens den WinCC-Projektnamen. "@P2" = WinCC OLE DB-Provider String für Prozesswerte. 70 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider "@P3" = gewünschte Aggregatfunktion. "@P4" = <Symbolischer Rechnername>::\WinCC (nur bei transparentem Zugriff erforderlich). Weitere Informationen zur Syntax der Parameter "@P1" und "@P2" finden Sie im Kapitel "Abfrage für Prozesswertarchive". Hinweis Analysefunktionen für Prozesswerte mit asiatischen Archivvariablennamen Wenn Sie Archivvariablennamen mit asiatischen Zeichensätzen für die Berechnung einer Analysefunktion verwenden, dann muss der Aufruf für Unicode-Zeichensatz angepasst werden. Ergänzen Sie vor den ersten beiden Parametern das Prefix "N'". Beispiel: cp_TagStatistic N'TestDB',N'TAG:R,17,''2004-05-17 12:00:00'',''2004-05-17 13:00:00''','AVG' Beispiel Diese Abfrage liefert von der ValueID "17" aus der Datenbank "TestDB" den Durchschnittswert der Prozesswerte im Zeitbereich zwischen 17.05.2004 12:00 Uhr und 13:00 Uhr. ConnectionString: "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master ;Data Source=.\WinCC" CommandText: "cp_TagStatistic 'TestDB','TAG:R,17,''2004-05-17 12:00:00'',''2004-05-17 13:00:00''','AVG'" Beispiel für transparenten Zugriff Diese Abfrage liefert von der ValueID "7" aus dem Projekt "WinCCProj" den Durchschnittswert der Prozesswerte im Zeitbereich zwischen 14.09.2006 10:00 Uhr und 11:00 Uhr. ConnectionString: "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master ;Data Source=.\WinCC" CommandText: "cp_TagStatistic 'WinCCProj','TAG:R,7,''2006-09-14 10:00:00'',''2006-09-14 11:00:00''','AVG','Symb_WinCCProj::\WinCC'" Siehe auch Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) Darstellung von Meldearchiven bei Analyseabfragen (Seite 72) Verwendung der OLE DB-Schnittstelle der Connectivity Station (Seite 247) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 71 WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider 3.4.6.2 Darstellung von Meldearchiven bei Analyseabfragen Einleitung Die Analyseabfrage für Meldearchive liefert einen spezifischen Recordset zurück, der zu jeder Meldung Konfigurations- und Runtime-Daten und die Ergebnisse der Aggregatfunktionen enthält. Dieser Recordset ist nicht identisch mit dem Recordset normaler Abfragen von Meldearchiven. Recordset-Aufbau bei der Analyse von Meldearchiven Bei der Abfrage von Meldearchiven mit der Analysefunktion "AlarmHitView" wird das Ergebnis als Recordset mit dem folgenden Aufbau zurückgegeben. 72 Position Feldname Typ Kommentar 1 MsgNr Integer 4 Byte Meldenummer 2 State Small Integer 2 Byte Status der Meldung 3 DateTime DateTime 8 Byte Zeitstempel der Meldung (Datum/Uhrzeit ohne Millisekunden) 4 Ms Small Integer 2 Byte Zeitstempel der Meldung (Millisekunden) 5 Instance VarChar(255) Instanzname der Meldung 6 Flags1 Integer 4 Byte (nur interne Verwendung) 7 Counter Integer 4 Byte Fortlaufender Meldezähler 8 TimeDiff Integer 4 Byte Zeitdifferenz zum Zustand "Gekommen" 9 Classname VarChar(255) Name der Meldeklasse 10 Typename VarChar(255) Name der Meldeart 11 Class Small Integer 2 Byte ID der Meldeklasse 12 Type Small Integer 2 Byte ID der Meldeart 13 bis 22 Text1 bis Text10 VarChar(255) Meldetext 1 bis 10 23 AG_NR Small Integer 2 Byte Nummer des AG 24 CPU_NR Small Integer 2 Byte Nummer der CPU 25 CrComeFore Integer 4 Byte Vordergrundfarbe für Status "gekommen" 26 CrComeBack Integer 4 Byte Hintergrundfarbe für Status "gekommen" 27 CrGoFore Integer 4 Byte Vordergrundfarbe für Status "gegangen" 28 CrGoBack Integer 4 Byte Hintergrundfarbe für Status "gegangen" 29 CrAckFore Integer 4 Byte Vordergrundfarbe für Status "quittiert" 30 CrAckBack Integer 4 Byte Hintergrundfarbe für Status "quittiert" 31 Priority Integer 4 Byte Priorität 32 AP_type Integer 4 Byte Loop in Alarm 33 AP_name VarChar(255) Loop in Alarm Funktionsname WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.4 Zugriff über OLE DB-Provider Position Feldname Typ Kommentar 34 AP_PAR VarChar(255) Loop in Alarm Bild 35 InfoText VarChar(255) Infotext 36 TxtCame VarChar(255) Text gekommen 37 TxtWent VarChar(255) Text gegangen 38 TxtCameNWent VarChar(255) Text gekommen und gegangen 39 TxtAck VarChar(255) Text quittiert 40 AckType Small Integer 2 Byte Quittiertyp 41 FreqOfAlarm Integer 4 Byte Summe Meldungshäufigkeit 42 CumDurationComeGo Integer 4 Byte Kumulierte Dauer von "Meldung gekommen" bis "Meldung gegangen" 43 AvDurationComeGo Real 8 Byte Durchschnittliche Dauer von "Meldung gekommen" bis "Meldung gegangen" 44 CumDurationComeAck n1 Integer 4 Byte Kumulierte Dauer von "Meldung gekommen" bis Erstquittierung 45 AvDurationComeAckn1 Real 8 Byte Durchschnittliche Dauer von "Meldung gekommen" bis Erstquittierung 46 CumDurationComeAck n2 Integer 4 Byte Kumulierte Dauer von "Meldung gekommen" bis Zweitquittierung 47 AvDurationComeAckn2 Real 8 Byte Durchschnittliche Dauer von "Meldung gekommen" bis Zweitquittierung 48 CumDuration ComeCome Integer 4 Byte Kumulierte Dauer von "Meldung gekommen" bis "Meldung gekommen" 49 AvDurationComeCome Real 8 Byte Durchschnittliche Dauer von "Meldung gekommen" bis "Meldung gekommen" Siehe auch Analysefunktionen für Meldungen und Prozesswerte (Seite 68) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 73 WinCC/Connectivity Pack Dokumentation 3.5 Sicherheitseinstellungen beim Zugriff auf SQL-Datenbanken über MS OLE DB 3.5 Sicherheitseinstellungen beim Zugriff auf SQL-Datenbanken über MS OLE DB Einleitung Mit MS OLE DB können Anwender auf SQL-Datenbanken, z.B. WinCC User Archives, zugreifen und diese verändern. Dabei ist es möglich, dass dies durch nicht autorisierte Personen geschieht. Zum Schutz vor unberechtigten Zugriffen müssen vom Administrator der Datenbanken geeignete Maßnahmen getroffen werden. Prinzip Eine Möglichkeit des Zugriffsschutzes besteht darin, für den Zugriff auf SQL-Datenbanken in SQL-Server einen Benutzer oder eine Benutzergruppe anzulegen. Diesem Benutzer oder der Benutzergruppe werden dann die Rechte zugeordnet für den Zugriff auf die SQLDatenbanken. Dabei können lokale und globale Windows-Benutzergruppen im SQL-Server genutzt werden, um die Zugriffsrechte in SQL zu organisieren. Alternativ können einzelne Windows-Benutzer im SQL-Server übernommen werden, entweder direkt als Windows-Benutzer oder als einzeln definierter SQL-Benutzer. Zur Sicherheitsarchitektur des SQL-Servers gehören die so genannten "Server Roles". Damit werden Benutzer für administrative Zwecke in Gruppen organisiert, ähnlich wie in Windows. "Server Roles" werden benutzt, um serverweite Sicherheitseinstellungen einem Login zuzuordnen oder wenn keine entsprechenden Windows-Benutzergruppen existieren. Microsoft bietet die Technische Dokumentation zum SQL Server 2005 zum Download an: http://technet.microsoft.com/de-de/sqlserver/bb331762.aspx Siehe auch Grundlagen zu OLE DB (Seite 42) 74 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3.6 Zugriff über OPC - Open Connectivity 3.6.1 OPC Kanal 3.6.1.1 WinCC Kanal "OPC" Einleitung WinCC kann als OPC-Server und als OPC-Client eingesetzt werden. Der Kanal "OPC" ist die OPC-Client Anwendung von WinCC. Der OPC Kommunikationstreiber kann als OPC-DA-Client, als OPC-XML-Client und als OPCUA-Client eingesetzt werden. Folgende OPC-Komponenten werden automatisch installiert: ● OPC Kommunikationstreiber ● OPC-Item-Manager Mögliche Verwendung WinCC als OPC-DA-Client Bei der Verwendung von WinCC als OPC-DA-Client muss in das WinCC-Projekt der Kanal "OPC" hinzugefügt werden. Für den Datenaustausch wird dazu im WinCC-Projekt des WinCCOPC-DA-Clients eine Verbindung angelegt, über die der Zugriff auf die WinCC-Variablen des OPC-DA-Servers abgewickelt wird. Für die einfachere Projektierung wird der OPC-Item-Manager verwendet. Ein WinCC-OPC-DAClient kann auf mehrere OPC-DA-Server zugreifen. Dazu muss zu jedem OPC-Server eine Verbindung angelegt werden. So kann der WinCC-OPC-DA-Client als zentrale Bedien- und Beobachtungs-Station eingesetzt werden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 75 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Der WinCC OPC-Kanal baut nur Verbindungen zu OPC-Servern auf, die den Status "OPC_STATUS_RUNNING" haben. Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. 3.6.1.2 OPC-Item-Manager Einleitung Um auf eine Variable eines OPC-Servers zu zugreifen, werden im WinCC-Projekt des WinCCOPC-Clients eine Verbindung und eine WinCC-Variable projektiert. Für die einfachere 76 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Projektierung gibt es den OPC-Item-Manager. Der OPC-Item-Manager wird automatisch mit WinCC installiert. Hinweis Kanal "OPC" Der Name einer Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. Voraussetzungen Damit der OPC-Item-Manager zum Projektieren verwendet werden kann, muss Folgendes erfüllt sein: ● Der OPC-Server ist ein OPC-DA-Server, ein OPC-XML-Server oder ein OPC-UA-Server ● Auf dem OPC-Server ist eine Variable projektiert. ● Bei der Verwendung von WinCC als OPC-Server muss das WinCC Projekt des WinCCOPC-Servers aktiviert sein. Wenn das nicht der Fall ist, kann der OPC-Item-Manager nicht auf den WinCC-OPC-Server zugreifen. ● Der Rechner des OPC-Servers muss über die IP-Adresse oder über HTTP erreichbar sein. ● Der OPC-Server muss die Browse-Funktionalität unterstützen. Wenn das nicht der Fall ist, müssen Sie den Zugriff auf die Variable des OPC-Servers manuell projektieren. Hinweis Wenn Sie beim geöffneten OPC-Item-Manager im WinCC Explorer die Sprache umstellen, werden über die Schaltfläche "Browse Server" keine Variablen angezeigt. Beenden Sie den OPC-Item-Manager, bevor Sie die Sprache umstellen. Aufgaben des OPC-Item-Manager Der OPC-Item-Manager übernimmt folgende Aufgaben: ● OPC-Server auswählen ● Verbindung anlegen ● Variable wählen ● Variable hinzufügen Auswählen des OPC-Servers OPC-DA-Server Mit dem OPC-Item-Manager können Sie die Bezeichnung der im Netzwerk auffindbaren OPCDA-Server abfragen. Dabei können die OPC-DA-Server auf demselben Rechner sowie auf WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 77 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Rechnern in der angeschlossenen Netzwerkumgebung laufen. Nähere Hinweise hierzu finden Sie unter "WinCC-OPC-DA-Client ". OPC-XML-Server Mit dem OPC-Item-Manager können Sie nicht die Bezeichnung der OPC-XML-Server abfragen. Der OPC-XML-Server wird über die Schaltfläche "OPC-Webserver" hinzugefügt. Nähere Hinweise hierzu finden Sie unter "WinCC-OPC-XML-Client ". OPC-UA-Server Mit dem OPC-Item-Manager können Sie nicht die Bezeichnung der OPC-UA-Server abfragen. Der OPC-UA-Server wird über die Schaltfläche "OPC-UA-Server" hinzugefügt. Nähere Hinweise hierzu finden Sie unter "WinCC-OPC-UA-Client ". Symbole des OPC-ItemManager Beschreibung Der Rechner im Netzwerk wurde noch nicht auf installierte OPC-DA-Server untersucht. Der Rechner im Netzwerk nicht gefunden oder auf den Rechner konnte nicht zugegriffen werden. Der Rechner im Netzwerk wurde auf installierte OPC-DA-Server untersucht. Der Rechner im Netzwerk enthält die mit dem OPC-Symbol gekennzeichneten OPCDA-Server. Die Zahl gibt an, welche OPC DA Spezifikation vom WinCC-OPC-DA-Client verwendet wird. \\<LOCAL> Bezeichnet den Rechner, auf dem der OPC-Item-Manager gestartet wurde. Bezeichnet den OPC-XML-Server. http:// Der OPC-XML-Server wird über die Schaltfläche "OPC-Webserver" hinzugefügt. Bezeichnet den OPC-UA-Server. opc.tcp:// 78 Der OPC-UA-Server wird über die Schaltfläche "OPC-UA-Server" hinzugefügt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Verbindung anlegen Beim Anlegen einer Verbindung nimmt der OPC-Item-Manager alle notwendigen Einstellungen vor. Ist schon eine Verbindung zu dem OPC-Server angelegt, wird diese Funktion nicht angeboten. Variable wählen Im Variablenauswahldialog können Sie eine oder mehrere Variablen des OPC-Servers auswählen, auf die der WinCC-OPC-Client zugreifen soll. Durch Eingabe von Filterkriterien können Sie die Anzeige im Variablenauswahldialog einschränken. Variable hinzufügen Im Dialog "Variablen hinzufügen" können Sie den Namen der WinCC-Variablen, die auf die Variablen des OPC-Servers zugreifen, festlegen. Der WinCC-Variablenname setzt sich zusammen aus "Präfix", "Name" und "Suffix". Das Feld "Name" ist durch den Eintrag "ExampleTag" vorbelegt. "ExampleTag" steht stellvertretend für den WinCC-Variablennamen des WinCC-OPC-Servers. Um den WinCC-Variablenname auf dem WinCC-OPC-Client von dem WinCCVariablennamen auf dem WinCC-OPC-Server zu unterscheiden, können Sie ein Präfix oder ein Suffix vergeben. Bei der Projektierung einer Projektüberwachung müssen Sie ein Präfix oder ein Suffix vergeben. Innerhalb eines WinCC-Projektes kann der Variablenname nur einmal vergeben werden. Beispiel WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 79 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Der WinCC-Variablenname auf dem WinCC-OPC-DA-Server heißt "OPC_Server_Tag". Im Feld "Präfix" wird "Client_" und im Feld "Suffix" wird "_xyz" eingetragen. Im WinCC-Projekt des WinCC-OPC-DA-Clients wird die WinCC-Variable "Client_OPC_Server_Tag_xyz" angelegt. Wenn der Variablenname auf dem OPC-Server Sonderzeichen enthält, werden diese durch einen Unterstrich "_" ersetzt, da nicht alle Sonderzeichen im Variablennamen vom OPC-ItemManager unterstützt werden. Über die Schaltfläche "Fertigstellen" werden die WinCC-Variablen in das WinCC-Projekt des WinCC-OPC-DA-Clients eingefügt. Der OPC-Item-Manager bestimmt automatisch den Datentyp, den Namen und die Adressparameter der WinCC-Variable. Siehe auch Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager (Seite 99) Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager (Seite 83) 3.6.1.3 Übersicht der unterstützten WinCC Datentypen Übersicht der unterstützten WinCC Datentypen des WinCC-OPC-DA-Clients und des WinCC-OPC-DAServers ● Binäre Variable ● Vorzeichenbehafteter 8-Bit Wert ● Vorzeichenloser 8-Bit Wert ● Vorzeichenbehafteter 16-Bit Wert ● Vorzeichenloser 16-Bit Wert ● Vorzeichenbehafteter 32-Bit Wert ● Vorzeichenloser 32-Bit Wert ● Gleitkommazahl 32-Bit IEEE 754 ● Gleitkommazahl 64-Bit IEEE 754 ● Textvariable 8-Bit Zeichensatz ● Textvariable 16-Bit Zeichensatz ● Rohdatentyp ● Strukturtypen ● Textreferenz 80 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Beim Strukturtyp werden nur die Strukturelemente unterstützt, aber nicht die Struktur. Die Struktur kann jedoch nachprojektiert werden. Weiterführende Informationen finden Sie unter "Verwendung von Strukturen auf dem WinCC-OPC-DA-Client." Wenn mit dem OPC-Item-Manager eine Textvariable angelegt wird, dann wird der Textvariablen eine Länge von 160 Zeichen zugewiesen. Nachträglich kann diese Länge beliebig verändert werden. Siehe auch Verwendung von Strukturen auf dem WinCC-OPC DA Client (Seite 90) 3.6.1.4 WinCC-OPC-DA-Client Funktionsweise des WinCC-OPC-DA-Clients Einleitung Der Kanal "OPC" benötigt keine separate Kommunikations-Baugruppe. Der Kanal "OPC" ist eine Anwendung, die über die Software-Schnittstelle OPC einen OPC-DA-Server benutzt, um auf Prozessdaten zuzugreifen. Um WinCC als WinCC-OPC-DA-Client einzusetzen, muss in das WinCC Projekt der Kanal "OPC" eingefügt werden. Wird eine Verbindung zu einem WinCC-OPC-DA-Server aufgebaut, so werden die Werte von WinCC-Variablen ausgetauscht. Im WinCC Projekt des WinCC-OPC-DA-Clients wird dazu eine Verbindung angelegt, über die der Zugriff auf den WinCC-OPC-DA-Server abgewickelt wird. Damit der WinCC-OPC-DA-Client auf mehrere OPC-DA-Server zugreifen kann, muss zu jedem OPC-DA-Server eine Verbindung im WinCC Projekt angelegt werden. Weiterführende Informationen zur Diagnose von Kanal und Variablen finden Sie unter "Diagnose". Hinweis Der WinCC OPC-Kanal baut nur Verbindungen zu OPC-Servern auf, die den Status "OPC_STATUS_RUNNING" haben. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 81 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. Verbindungsüberwachung Im WinCC OPC-DA Client sind drei Mechanismen zur Verbindungsüberwachung integriert. So kann auf jede mögliche Netzwerk-Störung oder auf ein Fehlverhalten eines OPC DA Servers, bestmöglich reagiert werden 1. Überschreitet die Bearbeitungsdauer eines DCOM-Aufrufs den Warnungs-Wert von 5 Sekunden, erhält die Variable den Status "Adressierungsfehler". Überschreitet die Bearbeitungsdauer den Abbruchs-Wert von 10 Sekunden, wird die Verbindung zu dem OPC-DA-Server abgebaut. Im Dialog "Verbindungsstatus" des WinCC Explorers wird dies angezeigt. In der OPC DA Spezifikation 3.00 gibt es das Feature "Keep-Alive". Unterstützt der OPC-DAServer die OPC-DA Spezifikation 3.00, wird dieses Feature verwendet. Das Feature veranlasst den OPC-DA-Server zu selbsttätigen, zyklischen Aktualisierungen (OnDataChange-Aufruf), auch wenn sich die Variablenwerte nicht geändert haben. Bleiben diese regelmäßigen Aktualisierungen aus, baut der WinCC OPC-DA-Client die Verbindung ab. Ähnlich verhält es sich mit einem OPC-DA-Server, der die OPC-DA Spezifikation 2.05a unterstützt. Um die Verbindung zum OPC-DA-Server zu überprüfen, fragt der WinCC-OPCDA-Client zyklisch alle 10 Sekunden den Status ab. Liefert die Status-Abfrage einen Fehler, baut der WinCC-OPC-DA-Client die Verbindung ab. Generell baut der WinCC-OPC-DA-Client die Verbindung zum OPC-DA-Server ab, wenn die Verbindung nicht funktionsfähig ist. Der WinCC-OPC-DA-Client versucht danach automatisch alle 10 Sekunden die Verbindung erneut aufzubauen. Siehe auch Verwendung von Strukturen auf dem WinCC-OPC DA Client (Seite 90) Zugriff auf eine WinCC Variable ohne den OPC-Item-Manager (Seite 88) So projektieren Sie den Zugriff mit dem OPC-Item-Manager (Seite 84) Übersicht der unterstützten WinCC Datentypen (Seite 80) OPC-Item-Manager (Seite 76) OPC Spezifikationen (Seite 118) Kompatibilität (Seite 119) Funktionsweise des WinCC-OPC-DA-Servers (Seite 124) 82 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager Einleitung Bei einer OPC-Kopplung von WinCC zu WinCC erfolgt der Datenaustausch über WinCC Variablen. Über eine OPC Verbindung greift der WinCC-OPC-DA-Client auf die WinCC Variable "OPC_Server_Tag" des WinCC-OPC-DA-Servers zu. Zur einfacheren Projektierung wird der OPC-Item-Manager verwendet. Voraussetzungen ● Zwei Rechner mit WinCC Projekten. ● Beide Rechner müssen über ihre IP-Adresse erreichbar sein. Projektierungsschritte Im WinCC Projekt des WinCC-OPC-DA-Clients sind folgende Projektierungen notwendig: Siehe auch So projektieren Sie den Zugriff mit dem OPC-Item-Manager (Seite 84) So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) So projektieren Sie den Zugriff mit dem OPC-Item-Manager (Seite 100) Beispiel für die Kopplung WinCC - WinCC (Seite 127) So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client Einleitung Für die Verwendung von OPC zum Datenaustausch muss im WinCC Projekt der Kanal "OPC" eingebunden werden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 83 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Klicken Sie auf dem WinCC-OPC-DA-Client im Navigationsfenster des WinCC Explorer auf das Symbol "Variablenhaushalt". 2. Wählen Sie im Kontextmenü des "Variablenhaushalt" den Eintrag "Neuen Treiber hinzufügen" aus. Es öffnet sich der Dialog "Neuen Treiber hinzufügen". 3. Wählen Sie den Treiber "OPC.chn" aus und klicken Sie auf die Schaltfläche "Öffnen". Der Kanal wird nun angelegt und der Kommunikationstreiber im Variablenhaushalt angezeigt Siehe auch So projektieren Sie den Zugriff mit dem OPC-Item-Manager (Seite 84) So projektieren Sie den Zugriff mit dem OPC-Item-Manager Einleitung In diesem Abschnitt wird gezeigt, wie der Zugriff auf die WinCC-Variable "OPC_Server_Tag" des WinCC-OPC-DA-Servers mit dem OPC-Item-Manager projektiert wird. Voraussetzungen ● Projektieren Sie im WinCC-Projekt des WinCC-OPC-DA-Servers eine interne Variable "OPC_Server_Tag" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert". ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-DA-Servers. ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Client den Kanal "OPC" hinzu. Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. 84 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter". Der "OPC-Item-Manager" öffnet sich. 2. Klicken Sie im Auswahlfenster auf den Namen des Rechners, der als WinCC-OPC-DAServer eingesetzt wird. Wählen Sie aus der angezeigten Liste den Eintrag "OPCServer.WinCC". 3. Klicken Sie auf die Schaltfläche "Browse Server". Der Dialog "Filterkriterien" öffnet sich. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 85 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 4. Klicken Sie auf die Schaltfläche "Weiter". Der Dialog "OPCServer.WinCC ..." öffnet sich. 5. Wählen Sie die WinCC Variable "OPC_Server_Tag" aus. Klicken Sie auf die Schaltfläche "Items hinzufügen". 6. Wenn schon eine Verbindung zum WinCC-OPC DA Server angelegt ist, fahren Sie mit Schritt 6 fort. Wenn noch keine Verbindung angelegt ist, erscheint eine Meldung. Klicken Sie auf die Schaltfläche "Ja". Der Dialog "Neue Verbindung" öffnet sich. 86 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 7. Tragen Sie den Namen "OPCServer_WinCC" für die Verbindung ein. Klicken Sie auf die Schaltfläche "OK". Der Dialog "Variablen hinzufügen" öffnet sich. 8. Tragen Sie im Feld "Präfix" den Text "Client_" und im Feld "Suffix" den Text "_xyz" ein. 9. Wählen Sie die Verbindung "OPCServer_WinCC". Klicken Sie auf die Schaltfläche "Fertigstellen." 10.Klicken Sie im Dialog "OPCServer.WinCC ..." auf die Schaltfläche "Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf die Schaltfläche "Beenden", um den OPCItem-Manager zu schließen. Siehe auch So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 87 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Zugriff auf eine WinCC Variable ohne den OPC-Item-Manager Einleitung Bei OPC-Servern, welche die Browsefunktionalität nicht unterstützen, muss der Zugriff manuell projektiert werden. Die Projektierung der WinCC Variablen auf dem WinCC-OPC-DAClient wird am Beispiel einer OPC-Kopplung WinCC-WinCC gezeigt. Hinweis Beim Zugriff auf eine WinCC Variable ohne OPC-Item-Manager muss die ItemID manuell projektiert werden. Bei der Adressierung der WinCC Variablen kann der symbolische Rechnername (Serverpräfix) mit angegeben werden. Die ItemID hat folgende Syntax: Serverpräfix::WinCC Variable. Wird die WinCC Variable des lokalen WinCC Projektes adressiert, entfällt das Serverpräfix. Im WinCC Projekt des WinCC-OPC-DA-Clients sind folgende Projektierungen notwendig: 1. Auswahl der WinCC Variable "OPC_Var1" auf die zugegriffen wird. 2. Anlegen einer Verbindung. 3. Projektierung der WinCC Variablen "Client_OPC_Var1_xyz", die auf die WinCC Variable des WinCC-OPC-DA-Servers zugreift. Voraussetzungen ● Zwei Rechner mit WinCC Projekten. ● Die Rechner müssen über Ihre IP-Adresse erreichbar sein. ● Projektieren Sie im WinCC Projekt des WinCC-OPC-DA-Servers eine interne Variable "OPC_Var1" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert". ● Aktivieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Server ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. 88 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Neue Verbindung" aus. Es öffnet sich der Dialog "Eigenschaften Verbindung". Tragen Sie im Feld "Namen" einen Namen für die Verbindung ein. 2. Klicken Sie auf die Schaltfläche "Eigenschaften". Es öffnet sich ein Dialog mit dem Verbindungsnamen als Titel. Bei einer Kopplung zu WinCC V 6 muss im Feld "OPC-Server Name" der Name "OPCServer.WinCC" eingetragen werden. 3. Tragen Sie im Feld "Den Server auf diesem Computer starten" den Namen des Rechners ein, der als OPC-DA-Server eingesetzt wird. Klicken Sie auf die Schaltfläche "Server testen", um die Verbindung zum WinCC-OPC-DA-Server zu testen. 4. Wählen Sie im Kontextmenü der Verbindung den Eintrag "Neue Variable" aus. Es öffnet sich der Dialog "Eigenschaften Variable". 5. Tragen Sie im Feld "Variable" den Namen "Client_OPC_Var1_xyz" ein. Stellen Sie im Feld "Datentyp" den Datentyp "Vorzeichenbehafteter 16-bit Wert" ein. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 89 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 6. Klicken Sie im Dialog "Eigenschaften Variable" auf die Schaltfläche "Wählen". Es öffnet sich der Dialog "Eigenschaften Adresse". Tragen Sie im Feld "Item Name" den Namen der WinCC Variable des WinCC-OPC-DAServers ein. Lassen Sie den Eintrag im Feld "Access-Pfad" unverändert. Stellen Sie im Feld "Datentyp" den Datentyp "Vorzeichenbehafteter 16-bit Wert" ein. 7. Schließen Sie alle geöffneten Dialoge über die Schaltflächen "OK". Verwendung von Strukturen auf dem WinCC-OPC-DA-Client Verwendung von Strukturen auf dem WinCC-OPC DA Client Einleitung Strukturen werden verwendet, um eine größere Anzahl verschiedener Variablen und Variablentypen, die eine logische Einheit bilden, zusammenfassen zu können. Diese können so unter einem Namen angesprochen werden. Strukturen werden von den OPC DA Spezifikation nicht unterstützt. Damit können Strukturen über den OPC-Item-Manager nicht angelegt werden, sondern nur die einzelnen Variablen einer Struktur. Möchten Sie auf dem WinCC-OPC-DA-Client nicht auf Strukturen verzichten, so muss im WinCC Projekt des WinCC-OPC-DA-Clients die Datenstruktur nachprojektiert werden, um sie mit den entsprechenden Itemnamen der Servervariablen zu versorgen. Voraussetzungen ● Zwei Rechner mit WinCC Projekten. ● Die Rechner müssen über ihre IP-Adresse erreichbar sein. 90 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Projektierungsschritte Für die Verwendung von Strukturen auf dem WinCC-OPC-DA-Client sind folgende Projektierungsschritte notwendig: ● Projektieren von Strukturen und Strukturvariablen auf dem WinCC-OPC-DA-Server ● Verwendung von Strukturen im WinCC Projekt auf dem WinCC-OPC-DA-Client Siehe auch So verwenden Sie Strukturen auf dem WinCC-OPC-DA-Client (Seite 92) So projektieren Sie Strukturen und Strukturvariablen auf dem WinCC-OPC-DA-Server (Seite 91) So projektieren Sie Strukturen und Strukturvariablen auf dem WinCC-OPC-DA-Server Einleitung In diesem Abschnitt werden eine Struktur und eine Strukturvariable im WinCC Projekt des OPC-DA-Servers angelegt. Diese Projektierung ist notwendig für den Zugriff des OPC-DAClients auf die Strukturvariable. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 91 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Server im Kontextmenü "Strukturtypen" den Eintrag "Neuer Strukturtyp" aus. Es öffnet sich der Dialog "Struktur-Eigenschaften". 2. Klicken Sie auf Schaltfläche "Neues Element" und legen Sie eine interne Variable "OPCServer_Struct" vom Datentyp SHORT an. Schließen Sie den Dialog über die Schaltfläche "OK". 3. Klicken Sie im Navigationsfenster auf das "Pluszeichen" vor dem Symbol "Variablenhaushalt". Wählen Sie im Kontextmenü "interne Variablen" den Eintrag "Neue Variable" aus. Legen Sie eine WinCC Variable "Var" mit diesem Strukturtyp an. 4. Im Datenfenster des WinCC Explorer wird die projektierte Einzelvariable "Var" und die Strukturvariable "Var.OPCServer_Struct" angezeigt. 5. Aktivieren Sie das WinCC Projekt. Siehe auch So verwenden Sie Strukturen auf dem WinCC-OPC-DA-Client (Seite 92) So verwenden Sie Strukturen auf dem WinCC-OPC-DA-Client nEinleitung Strukturen werden von den OPC DA Spezifikation nicht unterstützt. Damit können Strukturen über den OPC-Item-Manager nicht angelegt werden. In diesem Abschnitt wird im WinCC Projekt des WinCC-OPC-DA-Clients die Struktur, die im WinCC Projekt des WinCC-OPC-DA- 92 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Servers verwendet wird, nachprojektiert. Auf dem WinCC-OPC-DA-Client wird eine WinCC Variable projektiert, die auf die Strukturvariable des WinCC-OPC-DA-Servers zugreift. Voraussetzungen ● Legen Sie im WinCC Projekt des WinCC-OPC-DA-Servers eine Struktur und eine Strukturvariable "Var.OPCServer_Struct" an. ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-DA-Servers. ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü "Strukturtypen" den Eintrag "Neuer Strukturtyp" aus. Es öffnet sich der Dialog "Struktur-Eigenschaften". 2. Klicken Sie auf Schaltfläche "Neues Element" und legen Sie eine externe Variable an. Benennen Sie das Element genauso wie im WinCC Projekt des OPC-DA-Servers. Schließen Sie den Dialog "Struktur-Eigenschaften" über die Schaltfläche "OK". 3. Wenn schon eine Verbindung zum OPC-DA-Server angelegt ist, so fahren mit Schritt 6 fort. Ist noch keine Verbindung angelegt, wählen Sie im Kontextmenü der zugehörigen KanalUnit "OPC" den Eintrag "Neue Verbindung" aus. Es öffnet sich der Dialog "Eigenschaften Verbindung". Tragen Sie im Feld "Namen" einen Namen für die Verbindung ein. 4. Klicken Sie auf die Schaltfläche "Eigenschaften". Es öffnet sich ein Dialog mit dem Verbindungsnamen als Titel. Im Feld "OPC-Server Name" muss bei einer Kopplung zu WinCC V 6 die ProgID "OPCServer.WinCC" eingetragen werden. 5. Tragen Sie im Feld "Den Server auf diesem Computer starten" den Namen des Rechners ein, der als WinCC-OPC-DA Server eingesetzt wird. Klicken Sie auf die Schaltfläche "Server testen", um die Verbindung zum WinCC-OPC-DA-Server zu testen. Schließen Sie den Dialog über die Schaltfläche "OK". 6. Wählen Sie im Kontextmenü der Verbindung den Eintrag "Neue Variable" aus. Es öffnet sich der Dialog " Eigenschaften Variable". Wählen Sie als Datentyp den neu angelegten Strukturtyp aus. 7. Klicken Sie im Dialog " Eigenschaften Variable" auf die Schaltfläche "Wählen". Es öffnet sich der Dialog "Eigenschaften Adresse". Tragen Sie im Feld "Item Name" den Namen der Strukturvariable des WinCC-OPC-DAServers ein "Var.OPCServer_Struct". Lassen Sie den Eintrag im Feld "Access-Pfad" unverändert. 8. Schließen Sie die geöffneten Dialoge über die Schaltflächen "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 93 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) So projektieren Sie Strukturen und Strukturvariablen auf dem WinCC-OPC-DA-Server (Seite 91) Fehlerbehandlung bei gestörter OPC-DA-Kommunikation Fehlerbehandlung bei gestörter OPC Kommunikation Einleitung Die Vorgehensweise zur Prüfung der Kommunikation ist abhängig davon, wie WinCC eingesetzt wird. WinCC wird als OPC-DA-Server eingesetzt Prüfen Sie zu erst mit Hilfe der Kanaldiagnose auf dem WinCC-OPC-DA-Client, ob eine Verbindung zum OPC-DA-Server aufgebaut werden kann. Weiterführende Informationen zur Diagnose des Kanals finden Sie unter "Diagnose". WinCC wird als OPC-DA-Client eingesetzt Prüfen Sie zu erst mit Hilfe der Kanaldiagnose auf dem WinCC-OPC-DA-Client, ob eine Verbindung zum OPC-DA-Server aufgebaut werden kann. Weiterführende Informationen zur Diagnose des Kanals finden Sie unter "Diagnose". Siehe auch WinCC als OPC-DA-Client und die Verbindung wird nicht aufgebaut. (Seite 98) WinCC als OPC-DA-Client und die Verbindung wird aufgebaut. (Seite 97) WinCC als OPC-DA-Server und die Verbindung wird nicht aufgebaut. (Seite 96) WinCC als OPC-DA-Server und die Verbindung wird aufgebaut. (Seite 95) 94 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-DA-Server WinCC als OPC-DA-Server und die Verbindung wird aufgebaut. :LQ&&LVWDOV23&'$6HUYHU HLQJHVHW]W(LQH9HUELQGXQJZLUG DXIJHEDXWDEHUGHU:HUWGHU 9DULDEOHQLVWIHKOHUKDIW 3U¾IHQ6LHGLH3URMHNWLHUXQJGHU ,WHP1DPHQXQGGHU'DWHQW\SHQGHV 23&'$&OLHQWV 6WLPPWGHU ,WHP1DPHXQG GHU'DWHQW\S" 1HLQ .RUULJLHUHQ6LHGLH(LQWU¦JH -D ,VWGHU (LQWUDJLP)HOG $FFHVV3IDGOHHU" -D /¸VFKHQ6LHGHQ(LQWUDJ 1HLQ 6WLPPHQGLH (LQVWHOOXQJHQYRQ '&20" 1HLQ QGHUQ6LHDXIGHP:LQ&&'$23& 6HUYHUGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP -D 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ 3U¾IHQ6LH REMHW]WGHUULFKWLJH :HUWDQJH]HLJWZLUG -D 'LH23&9HUELQGXQJ N¸QQHQ6LHMHW]W]XU 'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&'$&OLHQWSU¾IHQ WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 95 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-DA-Server und die Verbindung wird nicht aufgebaut. :LQ&&LVWDOV23&'$6HUYHUHLQJHVHW]W .HLQH9HUELQGXQJZLUGDXIJHEDXW IIQHQ6LHGHQ5HJLVWULHUXQJVHGLWRU.OLFNHQ6LHLP0HQ¾ 5HJLVWULHUXQJDXI0LW1HW]ZHUNUHJLVWULHUXQJYHUELQGHQ 7UDJHQ6LHLP)HOG&RPSXWHU1DPHGHQ1DPHQGHV 5HFKQHUVHLQDXIGHPGHU23&'$6HUYHUO¦XIW.OLFNHQ6LH DXIGLH6FKDOWIO¦FKH2. 1HLQ ,VWGHU 5HFKQHULP1HW] YHUI¾JEDU" .¸QQHQ6LHVLFKPLW GHU1HW]ZHUNUHJLVWULHUXQJ GHV23&'$6HUYHUV YHUELQGHQ" 1HLQ -D -D ,VW5XQWLPH DXIGHP:LQ&& 23&'$6HUYHUDNWLY" 6WHOOHQ6LHVLFKHU GDVVGHU5HFKQHULP 1HW]YHUI¾JEDULVW 1HLQ $NWLYLHUHQ6LHGDV :LQ&&3URMHNW -D IIQHQ6LHDXIGHP :LQ&&23&'$6HUYHU GHQ7DVNPDQDJHU,VWDXIGHU 5HJLVWHUNDUWH3UR]HVVHGHU 3UR]HVV623&6(59:LQ&& DNWLY" 1HLQ 6WLPPWGLH SURMHNWLHUWH3URJ,' XQGGHU6HUYHUQDPHGHU &OLHQWDSSOLNDWLRQ" -D 1HLQ -D .RUULJLHUHQ6LHGLH(LQWU¦JH QGHUQ6LHDXIGHP:LQ&&'$23& 6HUYHUGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 1HLQ 6WLPPHQ GLH(LQVWHOOXQJHQ YRQ'&20" -D 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ 3U¾IHQ6LHRE VLFKGLH.RPPXQLNDWLRQV YHUELQGXQJMHW]WDXIEDXHQ O¦VVW -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&'$&OLHQWSU¾IHQ 96 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-DA-Client WinCC als OPC-DA-Client und die Verbindung wird aufgebaut. :LQ&&LVWDOV23&'$&OLHQWHLQJHVHW]W (LQH9HUELQGXQJZLUGDXIJHEDXWDEHUGHU:HUWGHU 9DULDEOHQLVWIHKOHUKDIW :HQQGHU23&'$ 6HUYHU¾EHUHLQ%URZVHU ,QWHUIDFHYHUI¾JWZHUGHQLP 23&,WHP0DQDJHUGLH9DULDEOHQGHV 23&'$6HUYHUVDQJH]HLJW" -D 1HLQ $NWLYLHUHQ6LHGDV:LQ&&3URMHNWGHV 23&'$&OLHQWV6WDUWHQ6LH:LQ&& &KDQQHO'LDJQRVLV¾EHUGDV 6WDUWPHQ¾$NWLYLHUHQ6LHGLH 7UDFHIXQNWLRQ IIQHQ6LHLP:LQ&&3URMHNWGHV 23&'$&OLHQWVGLH$GUHVVHLJHQ VFKDIWHQGHU:LQ&&9DULDEOHQGLHDXI GLH9DULDEOHGHV23&'$6HUYHUV ]XJUHLIW 6LQGLP'LDORJ (LJHQVFKDIWHQ$GUHVVHGLH (LQWU¦JHLQGHQ)HOGHUQ,WHP1DPH XQG'DWHQW\SNRUUHNW" -D 1HLQ .RUULJLHUHQ6LHGLH(LQWU¦JH 6WLPPHQ GLH(LQVWHOOXQJHQ YRQ'&20" 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ -D 1HLQ QGHUQ6LHDXIGHP:LQ&&'$ 23&&OLHQWGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 3U¾IHQ6LHRE VLFKGLH.RPPXQLNDWLRQV YHUELQGXQJMHW]WDXIEDXHQ O¦VVW -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&'$6HUYHUSU¾IHQ WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 97 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-DA-Client und die Verbindung wird nicht aufgebaut. :LQ&&LVWDOV23&'$&OLHQWHLQJHVHW]W .HLQH9HUELQGXQJZLUGDXIJHEDXW 3U¾IHQ6LHDXIGHP23&'$ &OLHQWLP'LDORJ(LJHQVFKDIWHQ 9HUELQGXQJGLH(LQWU¦JHDXIGHU 5HJLVWHUNDUWH23&9HUELQGXQJ ,VWGHU 5HFKQHULP1HW] YHUI¾JEDU" 1HLQ 6WHOOHQ6LHVLFKHUGDVVGHU 5HFKQHULP1HW]YHUI¾JEDULVW -D 6WLPPWGLH 3URJ,'XQGGHU 5HFKQHUQDPH" -D 1HLQ 6WLPPHQ GLH(LQVWHOOXQJHQ YRQ'&20" -D 6HW]HQ6LHVLFKPLWGHP &XVWRPHU6XSSRUWYRQ:LQ&&LQ 9HUELQGXQJ 1HLQ .RUULJLHUHQ6LHGLH(LQWU¦JH QGHUQ6LHDXIGHP:LQ&&'$ 23&&OLHQWGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 3U¾IHQ6LHRE MHW]WGHUULFKWLJH:HUW DQJH]HLJWZLUG -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&'$6HUYHUSU¾IHQ 3.6.1.5 WinCC-OPC-XML-Client Funktionsweise des WinCC-OPC-XML-Clients Einleitung Der Kanal "OPC" benötigt keine separate Kommunikations-Baugruppe. Der OPC Kommunikationstreiber kann als OPC-XML-Client eingesetzt werden. Um WinCC als WinCC-OPC-XML-Client einzusetzen, muss in das WinCC Projekt der Kanal "OPC" eingefügt werden. 98 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Dem WinCC-OPC-XML-Client stellt der OPC-XML-Server die OPC-Prozessdaten als Webseite zur Verfügung. Auf die Webseite wird über das Internet / Intranet mit HTTP zugegriffen. Wenn ein WinCC-OPC-XML-Client Daten anfordert, wird der Webservice automatisch durch den Webserver gestartet. Damit der WinCC-OPC-XML-Client auf mehrere OPC-XML-Server zugreifen kann, muss zu jedem OPC-XML-Server eine Verbindung im WinCC-Projekt angelegt werden. Wird eine Verbindung zu einem WinCC-OPC-XML-Server aufgebaut, so werden die Werte von WinCC-Variablen ausgetauscht. Im WinCC-Projekt des WinCC-OPC-XML-Clients wird eine Verbindung angelegt, über die der Zugriff auf den WinCC-OPC-XML-Server abgewickelt wird. Beim WinCC-OPC-XML-Client wird die Verbindungsüberwachung nicht aktiviert. Hinweis Der WinCC OPC-Kanal baut nur Verbindungen zu OPC-Servern auf, die den Status "OPC_STATUS_RUNNING" haben. Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. Siehe auch Übersicht der unterstützten WinCC Datentypen (Seite 80) OPC-Item-Manager (Seite 76) OPC Spezifikationen (Seite 118) Funktionsweise des WinCC-OPC-XML-DA-Servers (Seite 120) Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager Zugriff auf eine WinCC Variable mit dem OPC-Item-Manager Einleitung Bei einer OPC-Kopplung von WinCC zu WinCC werden die Daten über WinCC Variablen ausgetauscht. Über eine OPC-Verbindung greift der WinCC-OPC-DA-Client auf die WinCC WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 99 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Variable "OPC_Server_Tag" des WinCC-OPC-XML-Servers zu. Zur einfacheren Projektierung wird der OPC-Item-Manager verwendet. Voraussetzungen ● Zwei Rechner mit WinCC-Projekten. ● Beide Rechner müssen über HTTP erreichbar sein. Projektierungsschritte Im WinCC Projekt des WinCC-OPC-XML-Clients sind folgende Projektierungen notwendig: Siehe auch So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) So projektieren Sie den Zugriff mit dem OPC-Item-Manager (Seite 100) So projektieren Sie den Zugriff mit dem OPC-Item-Manager Einleitung In diesem Abschnitt wird gezeigt, wie der Zugriff auf die WinCC Variable "OPC_XMLServer_Tag" des WinCC-OPC-XML-Servers mit dem OPC-Item-Manager projektiert wird. Voraussetzungen ● Projektieren Sie im WinCC Projekt des WinCC-OPC-XML-Servers eine interne Variable "OPC_XMLServer_Tag" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert". ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-XML-Servers. ● Fügen Sie im WinCC Projekt des WinCC-OPC-XML-Clients den Kanal "OPC" hinzu. 100 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 101 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-XML-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter" aus. Der "OPC-Item-Manager" öffnet sich. 2. Klicken Sie auf die Schaltfläche "OPC-Webserver". Der Dialog "OPC-Webserver hinzufügen" öffnet sich. Geben Sie im Feld "URL" die URL des WinCC-OPC-XML-Servers in der folgenden Form ein: <http://<xxx>/WinCC-OPC-XML/DAWebservice.asmx>. Für xxx setzten Sie entweder die IP-Adresse oder den Rechnamen des Computers ein, auf dem der OPC-XML-Webservice läuft. Schließen Sie den Dialog über die Schaltfläche "OK". 102 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3. Wählen Sie aus der angezeigten Liste den Eintrag " <http://<xxx>/WinCC-OPC-XML/ DAWebservice.asmx>" aus. Klicken Sie auf die Schaltfläche "Browse Server". Der Dialog "Filterkriterien" öffnet sich. 4. Klicken Sie im Dialog "Filterkriterien" auf die Schaltfläche "Weiter->". Der Dialog "http:// ..." öffnet sich. 5. Wählen Sie im Dialog "http:// ..." die WinCC Variable "XMLOPC_Server_Tag" aus. Klicken Sie auf die Schaltfläche "Items hinzufügen". 6. Wenn schon eine Verbindung zum WinCC-OPC-XML-Server angelegt ist, so fahren Sie mit Schritt 7 fort. Wenn keine Verbindung angelegt ist, erscheint eine entsprechende Meldung. Klicken Sie auf die Schaltfläche "Ja". Der Dialog "Neue Verbindung" öffnet sich. Tragen Sie den Namen "OPCXMLServer_WinCC" für die Verbindung ein. Klicken Sie auf die Schaltfläche "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 103 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 7. Der Dialog "Variablen hinzufügen" öffnet sich. Geben Sie im Feld "Präfix" "XMLClient_" und im Feld "Suffix" "xyz" ein. Wählen Sie die Verbindung "OPCXMLServer_WinCC" aus. Klicken Sie auf die Schaltfläche "Fertigstellen." 8. Klicken Sie im Dialog "http:// ..." auf die Schaltfläche "<- Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf die Schaltfläche "Beenden", um den OPC-Item-Manager zu schließen. Siehe auch So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) 104 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Zugriff auf eine WinCC Variable ohne den OPC-Item-Manager Einleitung Bei OPC-Servern, welche die Browsefunktionalität nicht unterstützen, muss der Zugriff manuell projektiert werden. Die Projektierung der WinCC Variablen auf dem WinCC-OPCXML-Client wird am Beispiel einer OPC-Kopplung WinCC-WinCC gezeigt. Hinweis Beim Zugriff auf eine WinCC Variable ohne OPC-Item-Manager muss die ItemID manuell projektiert werden. Bei der Adressierung der WinCC Variablen kann der symbolische Rechnername (Serverpräfix) mit angegeben werden. Die ItemID hat folgende Syntax: Serverpräfix::<@>WinCC Variable. Wird die WinCC Variable des lokalen WinCC Projekts adressiert, hat die ItemID folgende Syntax <@>WinCC Variable. Projektierungsschritte Im WinCC Projekt des WinCC-OPC-XML-Clients sind folgende Projektierungen notwendig: 1. Anlegen einer Verbindung. 2. Projektierung der WinCC-Variablen "XMLClient_OPC_Var1_xyz" auf dem WinCC-OPCXML-Client, die auf die WinCC Variable des WinCC-OPC-DA-Servers zugreift. Voraussetzungen ● Zwei Rechner mit WinCC Projekten. ● Die Rechner müssen über HTTP erreichbar sein. ● Projektieren Sie im WinCC Projekt des WinCC-OPC-XML-Servers eine interne Variable "XMLOPC_Server_Tag" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert". ● Aktivieren Sie das WinCC Projekt auf dem WinCC-OPC-XML-Server ● Fügen Sie im WinCC Projekt des WinCC-OPC-XML-Clients den Kanal "OPC" hinzu. Hinweis Bei der Projektierung von externen Variablen im Kanal OPC darf im Dialog "Eigenschaften Variable" im Feld "Formatanpassung" die von WinCC vorgegebene Einstellung nicht verändert werden. Der Datentyp der Variable im Prozess wird im Dialog "Eigenschaften Adresse" im Feld "Datentyp" festgelegt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 105 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-XML-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Neue Verbindung" aus. Der Dialog "Eigenschaften Verbindung" öffnet sich. Tragen Sie im Feld "Namen" einen Namen für die Verbindung ein. 2. Klicken Sie auf die Schaltfläche "Eigenschaften". Ein Dialog mit dem Verbindungsnamen als Titel öffnet sich. Aktivieren Sie das Kontrollkästchen "XML-DA-Server". Bei einer Kopplung zum WinCCOPC-XML-Server muss im Feld "OPC-Server Name" die URL des WinCC-OPC-XMLServers eingetragen werden. Die URL hat folgende Syntax: "http://<xxx>/WinCC-OPCXML/DAWebservice.asmx".Für xxx setzten Sie entweder die IP-Adresse oder den Rechnamen des Computers ein, auf dem der OPC-XML-Webservice läuft. 3. Wählen Sie im Kontextmenü der Verbindung den Eintrag "Neue Variable" aus. Der Dialog "Eigenschaften Variable" öffnet sich. 4. Geben Sie im Feld "Variable" den Namen "XMLClient_OPC_Var1_xyz" ein. Stellen Sie im Feld "Datentyp" den Datentyp "Vorzeichenbehafteter 16-bit Wert" ein. 5. Klicken Sie im Dialog "Eigenschaften Variable" auf die Schaltfläche "Wählen". Es öffnet sich ein Dialog mit dem Variablenname als Titel. Geben Sie im Feld "Item Name" das Symbol "<@>" und den Namen der WinCC Variable des WinCC-OPC-XML-Servers ein. Lassen Sie den Eintrag im Feld "Access-Pfad" unverändert. Stellen Sie im Feld "Datentyp" den Datentyp "Vorzeichenbehafteter 16-bit Wert" ein. 6. Schließen Sie alle geöffneten Dialoge über die Schaltflächen "OK". 106 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3.6.1.6 WinCC-OPC-UA-Client Funktionsweise des WinCC-OPC-UA-Clients Einleitung Der WinCC-OPC-UA-Client ermöglicht den Datenzugriff auf beliebige OPC-UA-Server gemäß der OPC Unified-Architecture Spezifikation. OPC Unified Architecture (OPC UA) stellt zusätzliche Mechanismen wie Authentifizierung und Verschlüsselung bereit, um die Kommunikation zwischen beteiligten Partnern abzusichern. Um WinCC als WinCC-OPC-UA-Client einzusetzen, fügen Sie den OPCKommunikationstreiber (OPC-Kanal) in das WinCC-Projekt ein. Es wird keine separate Kommunikations-Baugruppe benötigt. Um auf die OPC-Prozessdaten verschiedener OPC-UA-Server zuzugreifen, projektieren Sie im WinCC-Projekt je eine Verbindung zu einem Server. Die Verbindungen projektieren Sie mit dem OPC-Item-Manager von WinCC. Hinweis Beim Einsatz des OPC-Kanals als OPC-UA-Client wird die Verbindungsüberwachung nicht aktiviert. Es werden nur Verbindungen zu Servern aufgebaut, die den Status "RUNNING" melden. Zugriff auf eine Variable mit dem OPC-Item-Manager Zugriff auf eine OPC Variable mit dem OPC-Item-Manager Einleitung Bei einer OPC-Kopplung von WinCC zu einem OPC-UA-Server werden die Daten des OPCUA-Servers auf eine WinCC-Variable abgebildet. Dabei greift der WinCC-OPC-UA-Client über eine sichere Verbindung auf die Variable "OPC_UAServer_Tag" des WinCC-OPC-UA-Servers zu. Zur Projektierung verwenden Sie den OPC-Item-Manager. Hinweis Beim Projektieren können Sie nur auf Server mit Browse-Support zugreifen. Beim Projektieren unterscheiden Sie zwischen Client- und Server-Zertifikaten. Sichere Kommunikation ist nur möglich, wenn Client und Server die Zertifikate gegenseitig anerkennen. Zertifikate sind an den jeweiligen Rechner gebunden. Wenn das WinCC-Projekt auf einen anderen Rechner verschoben, kopiert oder dupliziert wird, dann muss der Vorgang zum gegenseitigen Vertrauen der Zertifikate wiederholt werden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 107 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Voraussetzungen ● Client-Rechner mit WinCC-Projekt. ● Beide Rechner müssen über TCP erreichbar sein. ● Die Firewall lässt eine beidseitige Kommunikation mit dem UA-Server zu. Projektierungsschritte Im WinCC-Projekt des WinCC-OPC-UA-Clients sind folgende Projektierungen notwendig: ● Projektieren des OPC-Kanals am WinCC-OPC-UA-Client. ● Einrichten eines gültigen Server-Zertifikats. ● Projektieren des Zugriffs mit dem OPC-Item-Manager. So richten Sie ein Server-Zertifikat ein Einleitung In diesem Abschnitt wird gezeigt, wie Sie für den WinCC-OPC-UA-Client ein Server-Zertifikat eines OPC-UA-Servers einrichten. Voraussetzungen ● Der OPC-UA-Server ist aktiviert. ● Die Firewall lässt eine beidseitige Kommunikation mit dem UA-Server zu. ● Im WinCC-Projekt des WinCC-OPC-UA-Clients ist der Kanal "OPC" hinzugefügt. 108 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie in WinCC auf dem WinCC-OPC-UA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter". Der "OPC-Item-Manager" öffnet sich. 2. Klicken Sie auf "OPC-UA-Server". Der Dialog "OPC-UA-Server hinzufügen" öffnet sich. Geben Sie im Feld "Server-URL" die URL des WinCC-OPC-UA-Servers in der folgenden Form ein: <opc.tcp://OPC-UA-Serveradresse> Wählen Sie die gewünschten Sicherheitseinstellungen. Geben Sie gegebenenfalls die Daten zur Authentifizierung ein. Schließen Sie den Dialog mit "OK". 3. Wählen Sie aus der angezeigten Liste den Eintrag " <opc.tcp://OPC-UA-Serveradresse>". 4. Klicken Sie auf "Browse Server". Ein Fehlerdialog öffnet sich. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 109 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 5. Schließen Sie den Fehlerdialog. 6. Öffnen Sie den Windows-Explorer und wechseln Sie im WinCC Installationspfad zum Ordner "OPC". 7. Öffnen Sie den Ordner "PKI/CA/". Der Ordner "rejected" mit dem abgelehnten Server-Zertifikat wurde hinzugefügt. 8. Verschieben Sie das Server-Zertifikat aus "rejected" in den Ordner "certs". Dem Server-Zertifikat wurde vertraut. Zum OPC-UA-Server kann jetzt eine sichere Verbindung aufgebaut werden. So projektieren Sie den Zugriff auf eine Variable mit dem OPC-Item-Manager Einleitung In diesem Abschnitt wird gezeigt, wie Sie den Zugriff auf die WinCC-Variable "OPC_UAServer_Tag" des WinCC-OPC-UA-Servers mit dem OPC-Item-Manager projektieren. Hinweis Beim Projektieren können Sie nur auf Server mit Browse-Support zugreifen. Voraussetzungen ● Der OPC-UA-Server ist aktiviert. ● Die Firewall lässt eine beidseitige Kommunikation mit dem UA-Server zu. ● Das Server-Zertifikat ist eingerichtet. ● Im WinCC-Projekt des WinCC-OPC-UA-Clients ist der Kanal "OPC" hinzugefügt. Hinweis Kanal "OPC" Der Name einer 'Verbindung unterstützt nicht Unicode. Achten Sie darauf, dass in einem Projekt alle Verbindungen in der gleichen Sprache benannt sind. Stellen Sie in der Systemsteuerung des Rechners die Codepage dieser Sprache als Sprache ein, die für nicht unicode-fähige Programme verwendet wird. 110 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-UA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter". Der "OPC-Item-Manager" öffnet sich. 2. Klicken Sie auf "OPC-UA-Server". Der Dialog "OPC-UA-Server hinzufügen" öffnet sich. Geben Sie im Feld "Server-URL" die URL des WinCC-OPC-UA-Servers in der folgenden Form ein: <opc.tcp://OPC-UA-Serveradresse> Wählen Sie die gewünschten Sicherheitseinstellungen. Geben Sie gegebenenfalls die Daten zur Authentifizierung ein. Schließen Sie den Dialog über die Schaltfläche "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 111 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3. Wählen Sie aus der angezeigten Liste den Eintrag " <opc.tcp://OPC-UA-Serveradresse>". Klicken Sie auf "Browse Server". Der Dialog "Filterkriterien" öffnet sich. 4. Klicken Sie auf "Weiter". Der Dialog "opc.tcp:// ..." öffnet sich. 5. Wählen Sie im Dialog "opc.tcp:// ..." die abzubildende Variable aus, z. B. "OPC_UA_Server_Tag". Klicken Sie auf "Items hinzufügen". 112 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 6. Wenn schon eine Verbindung zum WinCC-OPC-UA-Server angelegt ist, fahren Sie mit Schritt 7 fort. Wenn keine Verbindung angelegt ist, erscheint eine entsprechende Meldung. Klicken Sie auf "Ja". Der Dialog "Neue Verbindung" öffnet sich. Tragen Sie den Namen "OPCUAServer" für die Verbindung ein. Klicken Sie "OK". 7. Der Dialog "Variablen hinzufügen" öffnet sich. Geben Sie im Feld "Präfix" den Text "UAClient_" und im Feld "Suffix" den Text "xyz" ein. Wählen Sie die Verbindung "OPCUAServer". Klicken Sie auf "Fertigstellen." 8. Klicken Sie im Dialog "opc.tcp:// ..." auf die Schaltfläche "Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf "Beenden", um den OPC-Item-Manager zu schließen. Fehlerbehandlung bei gestörter Kommunikation Einleitung Die Vorgehensweise zur Prüfung der Kommunikation ist abhängig davon, wie WinCC eingesetzt wird. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 113 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC wird als OPC-UA-Server eingesetzt Prüfen Sie zuerst mit Hilfe der Kanaldiagnose auf dem WinCC-OPC-UA-Client, ob eine Verbindung zum OPC-UA-Server aufgebaut werden kann. Weiterführende Informationen zur Diagnose des Kanals finden Sie unter "Diagnose". WinCC wird als OPC-UA-Client eingesetzt Prüfen Sie zuerst mit Hilfe der Kanaldiagnose auf dem WinCC-OPC-UA-Client, ob eine Verbindung zum OPC-UA-Server aufgebaut werden kann. Weiterführende Informationen zur Diagnose des Kanals finden Sie unter "Diagnose". WinCC als OPC-UA-Server WinCC als OPC-UA-Server und die Verbindung wird aufgebaut. :LQ&&LVWDOV23&8$6HUYHU HLQJHVHW]W(LQH9HUELQGXQJZLUG DXIJHEDXWDEHUGHU:HUWGHU 9DULDEOHQLVWIHKOHUKDIWE]ZGLH 6XEVFULSWLRQOLHIHUQNHLQH'DWHQ 3U¾IHQ6LHGLH3URMHNWLHUXQJGHU 1RGH,GXQGGHU'DWHQW\SHQGHV 23&8$&OLHQWV 6WLPPHQ GLH1RGH,GXQG GHU'DWHQW\S" 1HLQ .RUULJLHUHQ6LHGLH(LQWU¦JH LQ23&8$&OLHQW -D 6WLPPHQGLH (LQVWHOOXQJHQYRQ '&20" 1HLQ -D 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ QGHUQ6LHDXIGHP:LQ&&8$23& 6HUYHUGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 'LH6,0$7,&+0,*UXSSHPXVVXD 6WDUWXQG=XJULIIVEHUHFKWLJXQJDXIGHQ 23&8$6HUYHUKDEHQ 3U¾IHQ6LH REMHW]WGHUULFKWLJH :HUWDQJH]HLJWZLUG -D 'LH23&9HUELQGXQJ N¸QQHQ6LHMHW]W]XU 'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&8$&OLHQWSU¾IHQ 114 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-UA-Server und die Verbindung wird nicht aufgebaut. :LQ&&LVWDOV23&8$6HUYHUHLQJHVHW]W .HLQH9HUELQGXQJZLUGDXIJHEDXW IIQHQ6LHGHQ5HJLVWULHUXQJVHGLWRU.OLFNHQ6LHLP0HQ¾ 5HJLVWULHUXQJDXI0LW1HW]ZHUNUHJLVWULHUXQJYHUELQGHQ 7UDJHQ6LHLP)HOG&RPSXWHU1DPHGHQ1DPHQGHV 5HFKQHUVHLQDXIGHPGHU23&8$6HUYHUO¦XIW.OLFNHQ6LH DXIGLH6FKDOWIO¦FKH2. 1HLQ ,VWGHU 5HFKQHULP1HW] YHUI¾JEDU" -D 6WHOOHQ6LHVLFKHU GDVVGHU5HFKQHULP 1HW]YHUI¾JEDULVW 1HLQ .¸QQHQ6LHVLFKPLW GHU1HW]ZHUNUHJLVWULHUXQJ GHV23&8$6HUYHUV YHUELQGHQ" -D ,VWDXIGHP :LQ&&23&8$ 6HUYHU:LQ&&LQ 5XQWLPH" 6WDUWHQ6LH:LQ&&5XQWLPH DXIGHP :LQ&&23&8$6HUYHU 1HLQ -D IIQHQ6LH'LHQVWH LQGHU&RPSXWHUYHUZDO WXQJ3U¾IHQ6LHREGHU'LHQVW 2SF8$6HUYHU:LQ&&JHVWDUWHWLVW E]ZDXVJHI¾KUWZLUG 1HLQ :HQQGHU'LHQVWGHV :LQ&&23&8$6HUYHU EHHQGHWLVWVWDUWHQ6LHGHQ 'LHQVWPDQXHOO $QVRQVWHQNRQWDNWLHUHQ6LH GHQ&XVWRPHU6XSSRUW YRQ:LQ&& -D 6LQGGLH 1HLQ 6HUYHUE]Z &OLHQW=HUWLILNDWHNRUUHNW HLQJHULFKWHW" .RUULJLHUHQ6LHGLH (LQVWHOOXQJ -D 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ 3U¾IHQ6LHRE VLFKGLH.RPPXQLNDWLRQV YHUELQGXQJMHW]WDXIEDXHQ O¦VVW -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&8$&OLHQWSU¾IHQ WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 115 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-UA-Client WinCC als OPC-UA-Client und die Verbindung wird aufgebaut. :LQ&&LVWDOV23&8$&OLHQWHLQJHVHW]W (LQH9HUELQGXQJZLUGDXIJHEDXWDEHUGHU:HUWGHU 9DULDEOHQLVWIHKOHUKDIW :HQQGHU23&8$ 6HUYHU¾EHUHLQ%URZVHULQWHU IDFHYHUI¾JWZHUGHQLP23&,WHP 0DQDJHUGLH9DULDEOHQGHV23&8$ 6HUYHUVDQJH]HLJW" -D 1HLQ $NWLYLHUHQ6LHGDV:LQ&&3URMHNWGHV 23&8$&OLHQWV6WDUWHQ6LH:LQ&& &KDQQHO'LDJQRVLV¾EHUGDV 6WDUWPHQ¾$NWLYLHUHQ6LHGLH 7UDFHIXQNWLRQ IIQHQ6LHLP:LQ&&3URMHNWGHV 23&8$&OLHQWVGLH$GUHVVHLJHQ VFKDIWHQGHU:LQ&&9DULDEOHQGLHDXI GLH9DULDEOHGHV23&8$6HUYHUV ]XJUHLIW 6LQGLP'LDORJ (LJHQVFKDIWHQ$GUHVVHGLH (LQWU¦JHLQGHQ)HOGHUQ,WHP1DPH XQG'DWHQW\SNRUUHNW" 1HLQ .RUULJLHUHQ6LHGLH(LQWU¦JH -D 6WLPPHQ GLH(LQVWHOOXQJHQ YRQ'&20" 6HW]HQ6LHVLFKPLWGHP&XVWRPHU 6XSSRUWYRQ:LQ&&LQ9HUELQGXQJ -D 1HLQ QGHUQ6LHDXIGHP:LQ&&8$ 23&&OLHQWGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 3U¾IHQ6LHRE MHW]WGHUULFKWLJH:HUW DQJH]HLJWZLUG -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&8$6HUYHUSU¾IHQ 116 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC als OPC-UA-Client und die Verbindung wird nicht aufgebaut. :LQ&&LVWDOV23&8$&OLHQWHLQJHVHW]W .HLQH9HUELQGXQJZLUGDXIJHEDXW 3U¾IHQ6LHDXIGHP23&8$ &OLHQWLP'LDORJ(LJHQVFKDIWHQ 9HUELQGXQJGLH(LQWU¦JHDXIGHU 5HJLVWHUNDUWH23&9HUELQGXQJ ,VWGHU 5HFKQHULP1HW] YHUI¾JEDU" 1HLQ 6WHOOHQ6LHVLFKHUGDVVGHU 5HFKQHULP1HW]YHUI¾JEDULVW -D 6WLPPWGLH 23&8$6HUYHUDGUHVVH XQGGLH3RUWQXPPHU" -D 3U¾IHQ6LHRE 1HLQ GHU23&8$6HUYHU GLH6LFKHUKHLWVHLQVWHOOXQJ XQWHUVW¾W]W -D .RUULJLHUHQ6LHGLH (LQVWHOOXQJHQ 1HLQ 6LQGGLH 1HLQ 6HUYHUE]Z &OLHQW=HUWLILNDWHNRUUHNW HLQJHULFKWHW" .RUULJLHUHQ6LHGLH(LQWU¦JH -D 6WLPPHQ GLH(LQVWHOOXQJHQ YRQ'&20" 6HW]HQ6LHVLFKPLWGHP &XVWRPHU6XSSRUWYRQ:LQ&&LQ 9HUELQGXQJ -D 1HLQ QGHUQ6LHDXIGHP:LQ&&8$ 23&&OLHQWGLH.RQILJXUDWLRQ :HLWHUI¾KUHQGH,QIRUPDWLRQHQILQGHQ 6LHLQGHU'RNXPHQWDWLRQ]XP %HWULHEVV\VWHP 3U¾IHQ6LHRE VLFKGLH.RPPXQLNDWL RQVYHUELQGXQJMHW]W DXIEDXHQ -D 'LH23&9HUELQGXQJN¸QQHQ 6LHMHW]W]XU'DWHQ¾EHUWUDJXQJ HLQVHW]HQ 1HLQ 23&8$6HUYHUSU¾IHQ WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 117 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3.6.2 OPC - Open Connectivity 3.6.2.1 OPC - Open Connectivity Inhalt Über die standardisierte Softwareschnittstelle OPC lassen sich Geräte und Anwendungen unterschiedlicher Hersteller in einheitlicher Weise miteinander kombinieren. WinCC kann als OPC-Server und als OPC Client eingesetzt werden. Der Kanal "OPC" ist die OPC Client Anwendung von WinCC. Dieses Kapitel zeigt Ihnen, ● welche OPC-Server WinCC hat. ● wie Sie OPC in WinCC verwenden. ● wie Sie verschiedene OPC-DA-Kopplungen projektieren. ● wie Sie den Zugriff auf das WinCC Meldesystem projektieren. ● wie das WinCC Meldesystem auf dem OPC-A&E-abgebildet wird. ● wie Sie den Zugriff auf das WinCC Archivsystem projektieren. 3.6.2.2 Funktionsweise von OPC OPC bezeichnet standardisierte herstellerunabhängige Softwareschnittstellen für den Datenaustausch in der Automatisierungstechnik. Über die OPC-Schnittstellen haben sie die Möglichkeit, Geräte und Anwendungen unterschiedlicher Hersteller in einheitlicher Weise miteinander zu verknüpfen. OPC basiert auf den Windows-Technologien von COM (Component Object Model) und DCOM (Distributed Component Object Model). Mit OPC XML DA steht eine weitere Softwareschnittstelle zur Verfügung, die auf den Internetstandards XML, SOAP und HTTP basiert. OPC UA (Unified Architecture) ist die Nachfolgetechnologie von OPC. OPC UA ist plattformunabhängig und kann verschiedene Protokolle als Kommunikationsmedium verwenden. 3.6.2.3 OPC Spezifikationen OPC spezifiziert Schnittstellen für den Zugriff auf folgende Objekte in WinCC: ● Prozesswerte (OPC Data Access 2.05a, 3.0; OPC XML Data Access 1.01; OPC UA 1.01) ● Archivierte Prozesswerte (OPC Historical Data Access 1.20; OPC UA 1.01) ● Historische Meldungen (OPC Historical Alarms and Events v1.10 ● Meldungen (OPC Alarms and Events 1.10) 118 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Detaillierte Informationen zu den einzelnen OPC Spezifikationen finden sie auf der Webseite der OPC Foundation (http://www.opcfoundation.org). 3.6.2.4 Kompatibilität Die Unterstützung der genannten Spezifikationen wird regelmäßig durch das "Compliance Test Tool" (CTT) der OPC Foundation kontrolliert. Die Interoperabilität mit OPC-Produkten anderer Hersteller wird durch die Teilnahme an "OPC Interoperability Workshops" sichergestellt. Die eingereichten Testergebnisse werden auf der Webseite der OPC Foundation veröffentlicht. Sie finden dort die Ergebnisse über den Sucheintrag "OPC Self-Certified Products". Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) 3.6.2.5 Verwendung von OPC in WinCC Einleitung Bei WinCC ab V7.2 stehen Server für folgende OPC-Schnittstellen zur Verfügung: ● OPC Data Access / OPC XML Data Access: Zugriff auf den Datenhaushalt von WinCC ● OPC Historical Data Access: Zugriff auf das WinCC Archivsystem ● OPC Alarms&Events: Zugriff auf das WinCC Meldesystem ● OPC Unified Architecture: Zugriff auf den Datenhaushalt und das Archivsystem von WinCC Zusätzlich ist in WinCC standardmäßig ein OPC-Kanal enthalten. Der OPC-Kanal kann als Client über OPC DA , OPC XML DA oder OPC UA auf entsprechende OPC-Server zugreifen. Lizenzierung OPC-Server Lizenzierung WinCC-OPC-UA-Server Eine gültige RT-Lizenz von WinCC WinCC-OPC-XML-DA-Server Eine gültige RT-Lizenz von WinCC WinCC-OPC-DA-Server WinCC-Option Connectivity Pack WinCC-OPC-HDA-Server WinCC-OPC-A&E-Server WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 119 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC-Kommunikationskonzept von WinCC Das folgende Bild zeigt das OPC-Kommunikationskonzept von WinCC: NXQGHQVSH]LILVFKHU 23&'$&OLHQW NXQGHQVSH]LILVFKHU 23&8$&OLHQW NXQGHQVSH]LILVFKHU 23&+'$&OLHQW NXQGHQVSH]LILVFKHU 23&$(&OLHQW :LQ&&23&+'$ :LQ&&5XQWLPH :LQ&&23&;0/'$ :LQ&&23&$( :LQ&&23&8$ :LQ&&23&6HUYHU :LQ&&23&'$ 3UR]HVVZHUWH9DULDEOHQ $UFKLYLHUWH3UR]HVVZHUWH$UFKLYYDULDEOHQ 0HOGXQJHQ :LQ&&23&.DQDO (WKHUQHW7&3,3 23&'$6HUYHU 23&;0/'$6HUYLFH 23&8$6HUYHU )UHPGV\VWHP =XP%HLVSLHOHLQDQGHUHV$XWRPDWVLHUXQJVV\VWHP 6WHXHUXQJHLQHV'ULWWDQELHWHUVRGHUHLQ/HLWV\VWHP 3.6.2.6 WinCC-OPC-XML-DA-Server Funktionsweise des WinCC-OPC-XML-DA-Servers Einleitung Der OPC-XML-DA-Server von WinCC ist als Webservice des Microsoft Internet Information Servers (IIS) realisiert. Der WinCC-OPC-XML-DA-Server stellt dem OPC-XML-Client die OPC-Prozessdaten als Website zur Verfügung. Auf die Webseite wird über das Internet mit HTTP zugegriffen. Die Adresse des WinCC-OPC-XML-DA-Server lautet: <http://<xxx>/WinCC-OPC-XML/ DAWebservice.asmx>" 120 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Der WinCC-OPC-XML-DA-Server ist in WinCC nicht sichtbar. Wenn ein OPC-XMLClient Daten anfordert, wird der Webservice automatisch durch den Webserver gestartet. Damit eine OPC-Kommunikation erfolgreich aufgebaut werden kann, beachten Sie Folgendes: ● Das WinCC Projekt des WinCC-OPC-XML-DA-Servers muss aktiviert sein. ● Der Rechner des WinCC-OPC-XML-DA-Servers muss über HTTP erreichbar sein. Lizenzierung Für den Betrieb WinCC-OPC-XML-DA-Server müssen auf jedem WinCC-Rechner, der als OPC-XML-DA-Server eingesetzt wird, folgende Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack Besonderheiten bei Variablen vom Datentyp "String" Wenn Sie Variablen vom Typ "String" verwenden, die logisch Gleitkomma-Werte darstellen, können beim Schreiben und Lesen durch OPC-Clients Probleme auftreten. Beschreibung Ein OPC-Client schreibt auf eine String-Variable und gibt den neuen Wert nicht im Format "String" an, sondern als "Float", "Double" oder "Decimal". Problem Das Komma, das die Dezimalstelle angibt, kann verloren gehen. Dadurch wird der Wert verfälscht. Dies betrifft auch den lesenden Zugriff auf String-Variablen, falls der gelesene Wert im Format "Float", "Double" oder "Decimal" angefordert wird. Abhilfe Verwenden Sie für Gleitkomma-Werte nur entsprechende Gleitkomma-Variablen. Greifen Sie auf String-Variablen nur im String-Format zu. Siehe auch Funktionsweise des WinCC-OPC-XML-Clients (Seite 98) Übersicht der unterstützten WinCC Datentypen (Seite 80) www.opcfoundation.org (http://www.opcfoundation.org) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 121 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Installation Installation Einleitung OPC-XML erlaubt den Zugriff auf Prozessvariablen über das Internet. Um OPC XML zu betreiben, müssen zusätzliche Software-Komponenten installiert werden. Hinweis Halten Sie die nachfolgend beschriebene Installationsschrittreihenfolge unbedingt ein. Anderenfalls kann es zu Problemen bei der Installation kommen. Installation des WinCC-OPC-XML-Server unter Windows 2000 und Windows XP 1. Installation des Internet Information Server (IIS) 2. Bei Windows Server 2003 Installation des ASP.NET 3. Installation Microsoft .NET-Framework V2.0 4. Installation des WinCC-OPC-XML-Servers über WinCC-Setup Installation des Internet Information Service (IIS) Einleitung Der Internet Information Service (IIS) muss bei Verwendung von Windows 2000 Professional, Windows 2000 Server, Windows 2003 Server oder Windows XP vor dem WinCC-OPC-XMLServer installiert werden. Hinweis Um den Internet Information Service unter Windows installieren zu können, benötigen Sie Schreibrechte für die Registrierungsdatenbank. Sie müssen dafür über Administratorrechte verfügen. 122 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Klicken Sie im Dialog "Software" auf das Symbol "Windows-Komponenten hinzufügen/ entfernen". Es öffnet sich der folgende Dialog. 2. Aktivieren Sie im Auswahlfenster das Kontrollkästchen vor dem Eintrag "Internet Informationsdienste (IIS)". Bei Windows Server 2003 befindet sich der IIS unter "WindowsKomponenten" > "Anwendungsserver" > "Internet-Informationdienst". Bei Windows Server 2003 müssen Sie auch ASP.NET installieren. 3. Klicken Sie anschließend auf "Weiter". Die benötigten Daten werden nun übertragen und die erforderliche Konfiguration von Windows vorgenommen. 4. Beenden Sie den Sie den Assistenten über die Schaltfläche "Fertigstellen". Microsoft .NET-Framework installieren Das Microsoft .NET-Framework ist die Software zur Unterstützung von .NET-Anwendungen. Sie wird auch zum Betrieb von OPC XML-Webdienst benötigt. Zur Installation sind etwa 80 Mbyte Speicherplatz auf der Festplatte erforderlich. Die Microsoft .NET-Framework 2.0 steht Ihnen wie folgt zur Verfügung: ● Microsoft bietet die .NET-Framework-Software zum Download an: http:// msdn.microsoft.com/downloads. ● Auf der CD des Microsoft Windows 2003 Server. Installieren Sie die Software wie von Microsoft gefordert. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 123 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC-OPC-XML-DA-Server installieren Voraussetzung ● Internet Information Service (IIS) ● Bei Windows Server 2003 Installation des ASP.NET ● Microsoft .NET-Framework 2.0 Installation Der WinCC-OPC-XML-DA-Server kann bei der Installation von WinCC ausgewählt werden. Weitere Informationen finden Sie im WinCC Information System im Kapitel "Installation Notes" > "Installation von WinCC". Folgende Einstellungen werden bei der Installation vorgenommen: ● Erstellen eines virtuellen Verzeichnisses "WinCC-OPC-XML" ● Festlegen der Zugriffsrechte auf das Verzeichnis Siehe auch So testen Sie die Installation (Seite 205) So stellen Sie die Sicherheitseinstellungen mit IIS ein (Seite 203) 3.6.2.7 WinCC-OPC-DA-Server Funktionsweise des WinCC-OPC-DA-Servers Einleitung Der WinCC-OPC-DA-Server unterstützt die Spezifikationen OPC Data Access 2.05a und 3.00. Dies wurde durch den Compliance Test bestätigt. Ab WinCC V6.0 SP2 unterstützt der WinCCOPC-DA-Server die Spezifikation OPC Data Access 3.00. Der WinCC-OPC-DA-Server ist eine DCOM-Anwendung. Unter Verwendung dieser Softwareschnittstelle stellt der WinCC-OPC-DA-Server dem OPC-DA-Client die benötigten Informationen über WinCC Variablen zur Verfügung. Der WinCC-OPC-DA-Server wird aktiv, wenn der WinCC-OPC-DA-Client über eine Verbindung auf den WinCC-OPC-DA-Server zugreift. Damit eine OPC-Kommunikation erfolgreich aufgebaut werden kann, beachten Sie Folgendes: ● Das WinCC Projekt des WinCC-OPC-DA-Servers muss aktiviert sein. ● Der Rechner des WinCC OPC-DA-Servers muss über seine IP-Adresse erreichbar sein. 124 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Installation Der WinCC-OPC-DA-Server kann bei der Installation von WinCC ausgewählt werden. Nach der Installation ist der WinCC-OPC-DA-Server ohne eine Projektierung sofort einsetzbar. Der WinCC-OPC-DA-Server kann auf einem WinCC-Server oder WinCC-Client eingesetzt werden. Projektierungshinweis In Ihrem WinCC-Projekt können Variablen zur Strukturierung in Variablengruppen zusammengefasst werden. Die Variablen dürfen nicht den selben Namen haben, wie eine Gruppe. Hinweis Wenn an einem Rechner bei den Internetoptionen unter "Verbindungen -> LAN Einstellungen" die automatische Suche nach Einstellungen aktiviert ist, wird der Zugriff auf OPC DA per Webservice stark verlangsamt. Siehe auch Kompatibilität (Seite 119) So können Sie den Namen der OPC-DA-Server abfragen (Seite 126) Verwendung mehrerer OPC-DA-Server (Seite 125) Beispiel für die Kopplung WinCC - WinCC (Seite 127) Beispiel für die Kopplung WinCC - SIMATIC NET FMS-OPC-Server (Seite 132) Beispiel für die Kopplung WinCC - SIMATIC NET S7-OPC-Server (Seite 134) Beispiel für die Kopplung von WinCC - Microsoft Excel (Seite 140) Übersicht der unterstützten WinCC Datentypen (Seite 80) www.opcfoundation.org (http://www.opcfoundation.org) Verwendung mehrerer OPC-DA-Server Einleitung Auf einem Rechner können mehrere OPC-DA-Server installiert sein und parallel arbeiten. So kann auf dem gleichen Rechner der OPC-DA-Server von WinCC und der OPC DA Server eines beliebigen Hersteller XYZ unabhängig voneinander betrieben werden. Über den OPC-Server des Herstellers XYZ kann der WinCC-OPC-DA-Client auf die Prozesswerte des Automatisierungsgerätes zugreifen. Über den WinCC-DA OPC-Server kann der OPC-DA-Client von Microsoft Excel auf die Daten von WinCC zugreifen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 125 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Es gibt eine Vielzahl von OPC-DA-Servern unterschiedlicher Hersteller. Jeder dieser OPC-DAServer besitzt zur Identifikation einen eindeutigen Namen (ProgID). Diesen Namen muss der OPC-DA-Client verwenden, um den OPC-Server anzusprechen. Über den OPC-Item-Manager können Sie den Namen des OPC-DA-Servers abfragen. Der Name des OPC-DA-Servers von WinCC V 7 lautet: "OPCServer.WinCC". Siehe auch So können Sie den Namen der OPC-DA-Server abfragen (Seite 126) So können Sie den Namen der OPC-DA-Server abfragen Einleitung Auf einem Rechner können mehrere OPC-DA-Server installiert sein. Der OPC-Item-Manager zeigt in einem Auswahlfenster die Namen der OPC-DA-Server an, die auf dem Rechner verfügbar sind. Dabei können die OPC-DA-Server auf demselben Rechner oder auf Rechnern in der angeschlossenen Netzwerkumgebung laufen. Voraussetzungen Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. 126 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter" aus. Der "OPC-Item-Manager" wird geöffnet. 2. Klicken Sie im Navigationsfenster des OPC-Item-Manager auf den Rechnernamen, auf den Sie zugreifen wollen. 3. Der OPC-Item-Manager zeigt Ihnen in einem Auswahlfenster die Namen der verfügbaren OPC-DA-Server dieses Rechners an. Siehe auch OPC-Item-Manager (Seite 76) Beispiele von OPC-DA-Kopplungen Kopplung WinCC - WinCC Beispiel für die Kopplung WinCC - WinCC Einleitung Bei der Kopplung WinCC - WinCC werden über die WinCC Variable "OPC_Server_Tag" Daten zwischen dem WinCC-OPC-DA-Server und dem WinCC-OPC-DA-Client ausgetauscht. Die WinCC Variable "Client_OPC_Server_Tag_xyz" auf dem WinCC-OPC-DA-Client greift auf die WinCC Variable "OPC_Server_Tag" zu. Ändert sich der Wert der WinCC Variablen "OPC_Server_Tag" auf dem WinCC-OPC-Server, so ändert sich auch der Wert der WinCC WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 127 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Variablen "Client_OPC_Server_Tag_xyz" auf dem WinCC-OPC-DA-Client. Eine Änderung auf dem WinCC-OPC-DA-Client hat auch eine Änderung auf dem WinCC-OPC-DA-Server zur Folge. Die Darstellung der Variablen erfolgt auf beiden Rechnern in EA-Feldern. Voraussetzungen ● Zwei Rechner mit WinCC Projekten. ● Die Rechner müssen über Ihre IP-Adresse erreichbar sein. Projektierungsschritte Für die Kopplung WinCC-WinCC sind folgende Projektierungen notwendig: 1. WinCC Projekt auf dem WinCC-OPC-DA-Server projektieren. 2. WinCC Projekt auf dem WinCC-OPC-DA-Client projektieren. Siehe auch So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Server (Seite 128) So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Client (Seite 129) So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Server Einleitung In diesem Abschnitt wird im WinCC Projekt des WinCC-OPC-DA-Servers eine WinCC Variable angelegt und in einem EA-Feld angezeigt. 128 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Server im Kontextmenü des Symbols "Interne Variablen" den Eintrag "Neue Variable" aus. Legen Sie eine Variable "OPC_Server_Tag" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert" an. 2. Starten Sie den Graphics Designer und öffnen Sie ein neues Bild. 3. Fügen Sie ein EA-Feld in das Bild ein. Wählen Sie dazu aus der Objektpalette unter "Smart Objekte" das Objekt "EA-Feld". Es öffnet sich der Dialog "EA-Feld Konfiguration". 4. Tragen Sie im Feld "Variable" den Namen "OPC_Server_Tag" ein. 5. Wählen Sie dazu als Aktualisierung "2s" und stellen Sie als Feldtyp "EA-Feld" ein. 6. Schließen Sie den Dialog über die Schaltfläche "OK" und speichern Sie das Bild. 7. Aktivieren Sie das WinCC Projekt über die Schaltfläche "Aktivieren" im Graphics Designer. Siehe auch So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Client (Seite 129) So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Client Einleitung In diesem Abschnitt wird auf dem WinCC-OPC-DA-Client eine WinCC Variable angelegt, die auf eine WinCC Variable des WinCC-OPC-DA-Servers zugreift. Diese Variable wird in einem EA-Feld ausgegeben. Voraussetzungen ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. ● Projektieren Sie im WinCC Projekt des WinCC-OPC-DA-Servers eine interne Variable "OPC_Server_Tag" vom Datentyp "Vorzeichenbehafteter 16-Bit Wert". ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-DA-Servers. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 129 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter" aus. Es öffnet sich der "OPCItem-Manager". 2. Klicken Sie im Auswahlfenster auf den Namen des Rechners, der als OPC-DA-Server eingesetzt wird. Wählen Sie aus der angezeigten Liste "OPCServer.WinCC" aus. Klicken Sie auf die Schaltfläche "Browse Server". Es öffnet sich der Dialog "Filterkriterien". 3. Klicken Sie im Dialog "Filterkriterien" auf die Schaltfläche "Weiter ->". Wählen Sie im Dialog "OPCServer.WinCC .." die Variable "OPC_Server_Tag" aus. Klicken Sie auf die Schaltfläche "Items hinzufügen". 4. Wenn schon eine Verbindung zum OPC-DA-Server angelegt ist, so fahren Sie mit Schritt 5 fort. Ist noch keine Verbindung angelegt, erscheint eine entsprechende Meldung. Klicken Sie auf die Schaltfläche "Ja". Es öffnet sich der Dialog "Neue Verbindung". Tragen Sie den Namen "OPCServer_WinCC" für die Verbindung ein. Klicken Sie auf die Schaltfläche "OK". 130 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 5. Es öffnet sich der Dialog "Variablen hinzufügen". Tragen Sie im Feld "Präfix" "Client_" und im Feld "Suffix" "_xyz" ein. Wählen Sie die Verbindung "OPCServer_WinCC" aus. Klicken Sie auf die Schaltfläche "Fertigstellen". 6. Klicken Sie im Dialog "OPCServer.WinCC .." auf die Schalfläche "<- Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf die Schaltfläche "Beenden" um den OPC-ItemManager zu schließen. 7. Starten Sie den Graphics Designer und öffnen Sie ein neues Bild. Fügen Sie ein EA-Feld in das Bild ein. Wählen Sie dazu aus der Objektpalette unter "Smart Objekte" das Objekt "EA-Feld". Es öffnet sich der Dialog "EA-Feld Konfiguration". 8. Tragen Sie im Feld "Variable" den Namen "Client_OPC_Server_Tag_xyz" ein. Wählen Sie als Aktualisierung "2 s". Stellen Sie als Feldtyp "EA-Feld" ein. Schließen Sie den Dialog und speichern Sie das Bild. Aktivieren Sie das WinCC Projekt über die Schaltfläche "Aktivieren" im Graphics Designer. 9. Im EA-Feld auf dem WinCC-OPC-DA-Server und dem WinCC-OPC-DA-Client wird der Wert der projektierten Variablen angezeigt. Geben Sie im EA-Feld auf dem WinCC-OPCDA-Server einen neuen Wert ein. Im EA-Feld des WinCC-OPC-DA-Clients wird der geänderte Wert angezeigt. Siehe auch So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Server (Seite 128) So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 131 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Kopplung WinCC - SIMATIC NET FMS-OPC-Server Beispiel für die Kopplung WinCC - SIMATIC NET FMS-OPC-Server Einleitung Bei der Installation von SIMATIC NET können Sie auswählen welche OPC-Server installiert werden sollen. Im folgenden Beispiel wird die Kopplung WinCC - SIMATIC NET FMS-OPCServer projektiert. Durch den SIMATIC NET FMS-OPC-Server werden die Daten des Automatisierungsgeräts WinCC zur Verfügung gestellt. In diesem Beispiel wird WinCC als WinCC-OPC-DA-Client eingesetzt. Der OPC-Item-Manager zeigt die Indizes der Objektliste, die auf der AG-Seite projektiert sind. Der aktuelle Wert der Variable wird in einem EA-Feld angezeigt. Sobald sich der Wert der Variablen auf dem SIMATIC NET FMS-OPC-Server ändert, wird der geänderte Wert im Prozessbild auf dem WinCC-OPC-DA-Client dargestellt. Umgekehrt kann ein im EA-Feld eingegebener Wert an das AG übergeben werden. Voraussetzungen ● Ein Rechner mit WinCC, SIMATIC NET Software. ● Eingerichteter SIMATIC NET FMS-OPC-Server. Weiterführende Informationen zur Einrichtung des SIMATIC NET S7-OPC-Servers finden Sie bei der Dokumentation zu SIMATIC NET. 132 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Projektierungsschritte Dazu ist folgende Projektierung im WinCC Projekt des WinCC-OPC-DA-Clients notwendig: 1. Kopplung WinCC - SIMATIC NET FMS-OPC-Server projektieren. Communication Manual Hier finden Sie weitere Informationen mit ausführlichen Beispielen zur Projektierung von Kanälen. Dieses Handbuch wird im Internet zum Download angeboten: ● http://support.automation.siemens.com/ Suchen Sie nach der Bestellnummer: ● A5E00391327 So projektieren Sie die Kopplung WinCC - SIMATIC NET FMS-OPC-Server Einleitung In diesem Abschnitt wird im WinCC Projekt des WinCC-OPC-DA-Clients eine WinCC Variable projektiert, die auf einen FMS-Index zugreift. Diese Variable wird in einem EA-Feld angezeigt. Voraussetzungen ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. Vorgehensweise 1. Wählen Sie auf dem WinCC-OPC-DA-Client im Kontextmenü der Kanal-Unit "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter" aus. Es öffnet sich der "OPCItem-Manager". 2. Klicken Sie im Auswahlfenster auf den Namen des Rechners, der als OPC-DA-Server eingesetzt wird. Wählen Sie aus der angezeigten Liste "OPC.SIMATICNet" aus. Klicken Sie auf die Schaltfläche "Browse Server". Es öffnet sich der Dialog "Filterkriterien". 3. Klicken Sie im Dialog "Filterkriterien" auf die Schaltfläche "Weiter ->". Es öffnet sich der Dialog "OPC.SIMATICNet..". Im Auswahlfenster bekommen Sie alle projektieren FMSIndizes angezeigt. Wählen Sie einen Index aus. Klicken Sie auf die Schaltfläche "Items hinzufügen". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 133 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 4. Wenn schon eine Verbindung zum SIMATIC NET FMS-OPC-Server angelegt ist, so fahren Sie mit Schritt 5 fort. Ist noch keine Verbindung angelegt, erscheint eine entsprechende Meldung. Klicken Sie auf die Schaltfläche "Ja". Es öffnet sich der Dialog "Neue Verbindung". Tragen Sie den Namen "OPC_SimaticNET" für die Verbindung ein. Klicken Sie auf die Schaltfläche "OK". 5. Es öffnet sich der Dialog "Variablen hinzufügen". Tragen Sie im Feld "Präfix" "Client_" und im Feld "Suffix" "_xyz" ein. Wählen Sie die Verbindung "OPC_SimaticNET" aus. Klicken Sie auf die Schaltfläche "Fertigstellen". 6. Klicken Sie im Dialog "OPC.SIMATICNet .." auf die Schalfläche "<- Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf die Schaltfläche "Beenden" um den OPC-Item-Manager zu schließen. 7. Starten Sie den Graphics Designer und öffnen Sie ein neues Bild. Fügen Sie ein EA-Feld in das Bild ein. Wählen Sie dazu aus der Objektpalette unter "Smart Objekte" das Objekt "EA-Feld". Es öffnet sich der Dialog "EA-Feld Konfiguration". 8. Tragen Sie im Feld "Variable" den Namen der Variablen ein. Wählen Sie als Aktualisierung "2s". Stellen Sie als Feldtyp "EA-Feld" ein. 9. Schließen Sie den Dialog über die Schaltfläche "OK" und speichern Sie das Bild. Aktivieren Sie das WinCC Projekt über die Schaltfläche "Aktivieren" im Graphics Designer. 10.Im EA-Feld bekommen Sie den aktuellen Wert des FMS-Indizes angezeigt. Der Wert wird alle 2s aktualisiert. Geben Sie einen Wert in das EA-Feld ein. Der geänderte Wert wird an das AG übergeben. Siehe auch So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) Kopplung WinCC - SIMATIC NET S7-OPC-Server Beispiel für die Kopplung WinCC - SIMATIC NET S7-OPC-Server Bei der Installation von SIMATIC NET können Sie auswählen welche OPC-Server installiert werden sollen. Im folgenden Beispiel wird die Kopplung WinCC - SIMATIC NET S7-OPCServer projektiert. Durch den SIMATIC NET S7-OPC-Server werden die Daten des Automatisierungsgerätes dem WinCC Client zur Verfügung gestellt. Der aktuelle Wert der Variable wird auf dem WinCC-OPC Client in einem EA-Feld angezeigt. Sobald sich der Wert der Variablen auf dem SIMATIC NET S7-OPC-Server ändert, wird der 134 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity geänderte Wert im Prozessbild dargestellt. Umgekehrt kann ein im EA-Feld eingegebener Wert an das AG übergeben werden. Voraussetzungen ● Ein Rechner mit WinCC, SIMATIC NET Software. ● Eingerichteter SIMATIC NET S7-OPC-Server. Weiterführende Informationen zur Einrichtung des SIMATIC NET S7-OPC-Servers finden Sie bei der Dokumentation zu SIMATIC NET. Projektierungsschritte Für die Kopplung WinCC - SIMATIC NET S7-OPC-Server sind folgende Projektierungen notwendig: 1. Variablen zum SIMATIC NET S7-OPC-Server hinzufügen 2. Zugriff auf Variablen des SIMATIC NET S7-OPC-Servers projektieren Communication Manual Hier finden Sie weitere Informationen mit ausführlichen Beispielen zur Projektierung von Kanälen. Dieses Handbuch wird im Internet zum Download angeboten: ● http://support.automation.siemens.com/ Suchen Sie nach der Bestellnummer: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 135 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● A5E00391327 So fügen Sie Variablen zum SIMATIC NET S7-OPC-Server hinzu Einleitung Damit der OPC Item Manager die Variablen anzeigen kann, müssen diese in den Adressraum des SIMATIC NET S7-OPC-Server hinzugefügt werden. Zur Projektierung wird das Programm "OPC Scout" verwendet. Der OPC Scout wird über die Installation von SIMATIC NET hinzugefügt. Für dieses Beispiel wird das Merkerwort 0 im AG angesprochen. Tabelle der verwendeten Parameter 136 Parameter Wert Datatype W Range Byte 0 No. Values 1 Itemalias MW0 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Voraussetzungen ● Projektieren Sie eine S7-Verbindung in der SIMATIC NET Software. Weiterführende Informationen dazu finden Sie bei der Dokumentation zu SIMATIC NET. Vorgehensweise 1. Starten Sie den "OPC Scout" über Start "OPCServer" "OPCScout" . "Programme" "SimaticNet" 2. Wählen Sie bei "Local Server(s)" das Element "OPC.SimaticNet" aus. Falls Ihr SIMATIC S7-OPC-Servers nicht auf demselben Rechner ausgeführt wird, wählen Sie im Kontextmenü von "Server(s)" den Eintrag "Add Remote Server(s)". Tragen Sie im Dialog "Add Remote Server(s)" den Namen des Rechners ein, der als OPC-Server eingesetzt wird und schließen Sie den Dialog über die Schaltfläche "OK". 3. Wählen Sie im Kontextmenü von "OPC.SimaticNet" den Eintrag "Connect". Es öffnet sich der Dialog "Add Group". Tragen Sie einen Namen für die Gruppe ein. Schließen Sie den Dialog über die Schaltfläche "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 137 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 4. Wählen Sie im Kontextmenü der hinzugefügten Gruppe den Eintrag "Add Item". Es öffnet sich der "OPC-Navigator ". 5. Wählen Sie im "OPC Navigator" unter "objects" das Element "M" für Merker aus. Mit einem Doppelklick auf "(New Definition)" öffnet sich der Dialog "Define New Variable". 6. Tragen Sie im Dialog "Define New Variable" die Parameter laut Tabelle ein. Schließen Sie den Dialog "Define New Variable" über die Schaltfläche "OK". 7. Markieren Sie im "OPC Navigator" im Bereich "Leaves" die Variable "MW0". Klicken Sie auf die Schaltfläche "--> ". Klicken Sie im "OPC-Navigator" auf die Schaltfläche "OK". 138 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch So projektieren Sie den Zugriff auf Variablen des SIMATIC NET S7-OPC-Servers (Seite 139) So projektieren Sie den Zugriff auf Variablen des SIMATIC NET S7-OPC-Servers Einleitung In diesem Abschnitt wird im WinCC Projekt des WinCC-OPC-DA-Clients eine WinCC Variable projektiert, die auf die Variable MW0 im Adressraum des SIMATIC NET S7-OPC-Servers zugreift. Diese Variable wird in einem EA-Feld angezeigt. Voraussetzungen ● Legen Sie mit dem OPC Scout eine Variable MW0 an. ● Fügen Sie im WinCC Projekt des WinCC-OPC-DA-Clients den Kanal "OPC" hinzu. Vorgehensweise 1. Wählen Sie im Kontextmenü des Symbols "OPC Groups(OPCHN Unit#1)" den Eintrag "Systemparameter" aus. Es öffnet sich der "OPC-Item-Manager". 2. Klicken Sie im Auswahlfenster auf den Namen des Rechners, der als OPC-Server eingesetzt wird. Wählen Sie aus der angezeigten Liste "OPC.SIMATICNet" aus. Klicken Sie auf die Schaltfläche "Browse Server". Es öffnet sich der Dialog "Filterkriterien". 3. Klicken Sie im Dialog "Filterkriterien" auf die Schaltfläche "Weiter ->". Es öffnet sich der Dialog "OPC.SIMATICNet..". Wählen Sie die Variable "MW0" aus. Klicken Sie auf die Schaltfläche "Items hinzufügen". 4. Wenn schon eine Verbindung zum SIMATIC NET FMS-OPC-Server angelegt ist, so fahren Sie mit Schritt 5 fort. Ist noch keine Verbindung angelegt, erscheint eine entsprechende Meldung. Klicken Sie auf die Schaltfläche "Ja". Es öffnet sich der Dialog "Neue Verbindung". Tragen Sie den Namen "OPC_SimaticNET" für die Verbindung ein. Klicken Sie auf die Schaltfläche "OK". 5. Es öffnet sich der Dialog "Variablen hinzufügen". Tragen Sie im Feld "Präfix" "Client_" und im Feld "Suffix" "_xyz" ein. Wählen Sie die Verbindung "OPC_SimaticNET" aus. Klicken Sie auf die Schaltfläche "Fertigstellen", WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 139 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 6. Klicken Sie im Dialog "OPC.SIMATICNet .." auf die Schalfläche "<- Zurück". Klicken Sie im Dialog "OPC-Item-Manager" auf die Schaltfläche "Beenden" um den OPC-Item-Manager zu schließen. 7. Starten Sie den Graphics Designer und öffnen Sie ein Bild. Fügen Sie ein EA-Feld in das Bild ein. Wählen Sie dazu aus der Objektpalette unter "Smart Objekte" das Objekt "EAFeld". Es öffnet sich der Dialog "EA-Feld Konfiguration". 8. Tragen Sie im Feld "Variable" den Namen "Client_MW0_xyz" ein. Wählen Sie als Aktualisierung "2s". Stellen Sie als Feldtyp "EA-Feld" ein. 9. Schließen Sie den Dialog und speichern Sie das Bild. Aktivieren Sie das WinCC Projekt über die Schaltfläche "Aktivieren" im Graphics Designer. 10.Im EA-Feld auf dem WinCC-OPC-DA-Client bekommen Sie den aktuellen Wert der S7Variablen angezeigt. Der Wert wird alle 2s aktualisiert. Geben Sie einen Wert in das EAFeld ein. Der geänderte Wert wird an das AG übergeben. Siehe auch So fügen Sie Variablen zum SIMATIC NET S7-OPC-Server hinzu (Seite 136) So projektieren Sie den OPC Kanal am WinCC-OPC-DA-Client (Seite 83) Kopplung WinCC - Microsoft Excel Beispiel für die Kopplung von WinCC - Microsoft Excel Einleitung In diesem Beispiel wird ein OPC-DA-Client im Visual Basic Editor von Microsoft Excel erstellt. Der OPC-DA-Client greift auf eine WinCC-Variable im WinCC-Projekt des WinCC-OPC-DAServers zu und gibt den Wert in einer Zelle aus. Wird ein neuer Wert in eine Zelle eingegeben, so wird der Wert an den WinCC-OPC-DA-Server übergeben. Für die Kopplung wird ein Rechner verwendet, auf dem WinCC und Microsoft Excel installiert sind. 140 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Projektierungsschritte Dazu sind folgende Projektierungen in Microsoft Excel notwendig: 1. Erstellen eines OPC-DA-Client im Visual Basic Editor von Microsoft Excel 2. Zugriff auf eine WinCC-Variable in Microsoft Excel projektieren Siehe auch So projektieren Sie den Zugriff auf eine WinCC Variable in Microsoft Excel (Seite 143) So erstellen Sie in Microsoft Excel einen OPC-DA-Client (Seite 141) So erstellen Sie in Microsoft Excel einen OPC-DA-Client Einleitung Um Microsoft Excel als OPC-DA-Client zu verwenden, muss im Visual Basic Editor von Microsoft Excel ein entsprechendes Skript erstellt werden. Voraussetzungen Grundkenntnisse im Arbeiten mit Visual Basic Editors von Microsoft Excel. Vorgehensweise 1. Starten Sie Microsoft Excel mit einer neuen Arbeitsmappe. 2. Klicken Sie im Menü "Extras" auf "Makro" Visual Basic Editor von Microsoft Excel. "Visual Basic Editor". Es öffnet sich der 3. Klicken Sie im Menü "Extras" des Visual Basic Editor auf "Verweise". Es öffnet sich der Dialog "Verweise - VBA Projekt". Suchen Sie in der Liste der "Verfügbaren Verweise" den Eintrag "Siemens OPC DAAutomation 2.0". Setzen Sie im Kontrollkästchen ein Häkchen. Klicken Sie auf die Schaltfläche "OK". 4. Kopieren Sie das Skript im nachfolgenden Abschnitt. Dieses Skript ist nur in der OnlineHilfe verfügbar. 5. Öffnen Sie im Projektfenster des Visual Basic Editor durch einen Doppelklick auf den Eintrag "Tabelle1" ein neues Codefenster. 6. Fügen Sie das Skript in das Codefenster ein. 7. Klicken Sie im Menü "Datei" auf "Speichern". Klicken Sie im Menü "Datei" auf "Schließen und zurück zu Microsoft Excel" . Beispiel-Skript Option Explicit WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 141 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Option Base 1 Const ServerName = "OPCServer.WinCC" Dim Dim Dim Dim Dim Dim WithEvents MyOPCServer As OpcServer WithEvents MyOPCGroup As OPCGroup MyOPCGroupColl As OPCGroups MyOPCItemColl As OPCItems MyOPCItems As OPCItems MyOPCItem As OPCItem Dim Dim Dim Dim Dim Dim Dim ClientHandles(1) As Long ServerHandles() As Long Values(1) As Variant Errors() As Long ItemIDs(1) As String GroupName As String NodeName As String '--------------------------------------------------------------------' Sub StartClient() ' Purpose: Connect to OPC_server, create group and add item '--------------------------------------------------------------------Sub StartClient() ' On Error GoTo ErrorHandler '----------- We freely can choose a ClientHandle and GroupName ClientHandles(1) = 1 GroupName = "MyGroup" '----------- Get the ItemID from cell "A1" NodeName = Range("A1").Value ItemIDs(1) = Range("A2").Value '----------- Get an instance of the OPC-Server Set MyOPCServer = New OpcServer MyOPCServer.Connect ServerName, NodeName Set MyOPCGroupColl = MyOPCServer.OPCGroups '----------- Set the default active state for adding groups MyOPCGroupColl.DefaultGroupIsActive = True '----------- Add our group to the Collection Set MyOPCGroup = MyOPCGroupColl.Add(GroupName) Set MyOPCItemColl = MyOPCGroup.OPCItems '----------- Add one item, ServerHandles are returned MyOPCItemColl.AddItems 1, ItemIDs, ClientHandles, ServerHandles, Errors '----------- A group that is subscribed receives asynchronous notifications MyOPCGroup.IsSubscribed = True Exit Sub ErrorHandler: MsgBox "Error: " & Err.Description, vbCritical, "ERROR" End Sub '--------------------------------------------------------------------' Sub StopClient() ' Purpose: Release the objects and disconnect from the server '--------------------------------------------------------------------Sub StopClient() 142 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity '----------- Release the Group and Server objects MyOPCGroupColl.RemoveAll '----------- Disconnect from the server and clean up MyOPCServer.Disconnect Set MyOPCItemColl = Nothing Set MyOPCGroup = Nothing Set MyOPCGroupColl = Nothing Set MyOPCServer = Nothing End Sub '--------------------------------------------------------------------' Sub MyOPCGroup_DataChange() ' Purpose: This event is fired when a value, quality or timestamp in our Group has changed '--------------------------------------------------------------------'----------- If OPC-DA Automation 2.1 is installed, use: Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) '----------- Set the spreadsheet cell values to the values read Range("B2").Value = CStr(ItemValues(1)) Range("C2").Value = Hex(Qualities(1)) Range("D2").Value = CStr(TimeStamps(1)) End Sub '--------------------------------------------------------------------' Sub worksheet_change() ' Purpose: This event is fired when our worksheet changes, so we can write a new value '--------------------------------------------------------------------Private Sub worksheet_change(ByVal Selection As Range) '----------- Only if cell "B3" changes, write this value If Selection <> Range("B3") Then Exit Sub Values(1) = Selection.Cells.Value '----------- Write the new value in synchronous mode MyOPCGroup.SyncWrite 1, ServerHandles, Values, Errors End Sub Siehe auch So projektieren Sie das WinCC Projekt auf dem WinCC-OPC-DA-Server (Seite 128) So projektieren Sie den Zugriff auf eine WinCC Variable in Microsoft Excel Einleitung Der Excel OPC-DA-Client greift auf eine WinCC Variable des WinCC-OPC-DA-Servers zu und gibt den Wert der Variablen in einer Zelle aus. Im WinCC Projekt des WinCC-OPC-DA-Servers wird der Wert der Variablen in einem EA-Feld angezeigt. Ändern Sie den Wert der Variablen in einer Zelle, so ändert sich der Wert im EA-Feld des WinCC-OPC-DA-Servers. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 143 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Voraussetzungen ● Legen Sie im WinCC Projekt des WinCC-OPC-DA-Servers eine interne Variable "OPC_Excel" vom Datentyp "vorzeichenbehafteter 16-Bit Wert" an. ● Geben Sie den Wert der Variablen "OPC_Excel" in einem EA-Feld im WinCC Projekt des WinCC-OPC-DA-Servers aus. ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-DA-Server Vorgehensweise 1. Tragen Sie in "Microsoft Excel" in der Zelle A1 den Namen des Rechners ein, der als OPCServer eingesetzt wird. Tragen Sie in der Zelle A2 den Variablenname "OPC_Excel" ein. 2. Klicken Sie im Menü "Extra" von Microsoft Excel auf "Makro" "Makros". Es öffnet sich der Dialog "Makro". Wählen Sie im Feld "Makronamen" den Eintrag "Tabelle1.StartClient" aus. Klicken Sie auf die Schaltfläche "Ausführen" um den OPC Client zu starten. 3. In der Zelle B2 wird der Wert der Variablen, in C2 der Quality Code und in D2 der Zeitstempel ausgegeben. 4. Geben Sie in der Zelle B3 einen neuen Wert ein. Im EA-Feld des WinCC-OPC-Servers wird der geänderte Wert angezeigt. 5. Klicken Sie im Menü "Extras" in Microsoft Excel auf "Makro" "Makros". Es öffnet sich der Dialog "Makro". Wählen Sie im Feld "Makronamen" den Eintrag "Tabelle1.StopClient" aus. Klicken Sie auf die Schaltfläche "Ausführen" um den OPC Client zu stoppen. 3.6.2.8 WinCC-OPC-HDA-Server Funktionsweise des WinCC-OPC-HDA-Servers Einleitung Der WinCC-OPC-HDA-Server ist eine DCOM-Anwendung und stellt dem OPC-HDA-Client die benötigten Daten des WinCC Archivsystems zur Verfügung. Über Item Handles wird auf die Daten zugegriffen. Auf die Daten können lesend oder schreibend zugegriffen werden. Zusätzlich können die Daten auch analysiert werden. Der WinCC-OPC-HDA-Server unterstützt die Spezifikation OPC Historical Data Access 1.20. Dies wurde durch den Compliance Test bestätigt. Die folgenden Kapitel zeigen den Aufbau der Datenstruktur, sowie die vom WinCC-OPC-HDAServer unterstützten Attribute, Aggregate und Funktionen. Hier erfolgt keine ausführliche Beschreibung, sondern eine Übersicht der spezifischen Informationen. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Historical Data Access 1.20". 144 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Installation Der WinCC-OPC-HDA-Server kann bei der Installation von WinCC angewählt werden. Dabei kann gewählt werden, ob mit oder ohne schreibenden Zugriff auf das WinCC Archivsystem. Nach der Installation ist der WinCC-OPC-HDA-Server ohne eine Projektierung sofort einsetzbar. Bei der Installation ohne schreibenden Zugriff können die Daten des WinCC Archivsystems nur gelesen und analysiert werden. Beim schreibenden Zugriff können die Daten des WinCC Archivsystems analysiert, hinzugefügt, gelöscht und aktualisiert werden. Der WinCC-OPC-HDA-Server kann auf einem WinCC-Server oder WinCC-Client eingesetzt werden. Lizenzierung Für den Betrieb WinCC-OPC-HDA-Server müssen auf jedem WinCC-Rechner, der als OPCHDA-Server eingesetzt wird, folgende Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack OPC-HDA-Client Alle OPC-HDA-Clients der Spezifikation OPC Historical Data Access 1.20 können auf den WinCC-OPC-HDA-Server zugreifen. Der OPC-HDA-Client kann u.a. eigen erstellt sein. Durch Verwendung von eigen entwickelten OPC-HDA-Clients können die Anforderungen bestmöglich erfüllt werden. Ein OPC-HDA-Client kann z.B. eingesetzt werden: ● Zur Analyse und Auswertung von Archivdaten. ● Zur statischen Prozesskontrolle über Archive aus unterschiedlichen OPC-HDA-Server. Wenn Sie mit dem OPC-HDA-Client historische Werte anfordern, dann beachten Sie bei der Projektierung Folgendes: ● Wählen Sie den Zyklus einer Abfrage so, dass der Client die angeforderten Daten empfangen hat, bevor die nächste Abfrage gestellt wird. Zu kurze Zyklen können einen hohen Zeitversatz beim Empfangen der Daten verursachen. ● Die CPU-Last des WinCC-Servers ist abhängig von der Anzahl der Variablen pro Abfrage. Schreibender Zugriff auf Umlaufarchive mit projektierter Auslagerung In Runtime werden die Daten jeweils in den Umlaufarchiven auf dem WinCC-Server geändert. Die Änderungen werden nur dann in das ausgelagerte Archiv übernommen, wenn die Daten zeitnah zur Entstehung geändert werden. Wenn das betroffene Archivsegment des Umlaufarchivs bereits ausgelagert ist, wird die Änderung nicht nachträglich in das ausgelagerte Archiv übernommen. Beim Löschen des Archivsegments auf dem WinCC-Server werden auch die geänderten Daten gelöscht. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 145 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch Kompatibilität (Seite 119) Quality Codes (Seite 151) Datenstruktur des WinCC-OPC-HDA-Servers (Seite 146) www.opcfoundation.org (http://www.opcfoundation.org) Datenstruktur des WinCC-OPC-HDA-Servers Datenstruktur des WinCC-OPC-HDA-Servers Einleitung Die Daten des WinCC-OPC-HDA-Servers sind strukturiert. In diesem Abschnitt wird die Datenstruktur tabellarisch aufgelistet. Hier erfolgt keine ausführliche Beschreibung, sondern eine Übersicht der spezifischen Informationen. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Historical Data Access 1.20". Datenstruktur Beschreibung 146 Attribute Liefert zusätzliche Qualitätsmerkmale der Raw Data. Attribute sind u.a. Datentyp, Angaben zur Archivierung. Weitere Informationen dazu finden Sie unter "Übersicht der unterstützten Attribute". Aggregate Fassen die Raw Data eines bestimmten Zeitintervalls zusammen. Aggregate sind u.a. Mittelwert, Minimum, Maximum. Weitere Informationen dazu finden Sie unter "Übersicht der unterstützten Aggregate". StartTime/ EndTime Legt den Start- und Endzeitpunkt für das Zeitintervall fest. Bounding Values Bounding Values sind die Werte, die am Start- und Endzeitpunkt aufgezeichnet wurden. Wenn das nicht der Fall, werden die Werte, die dem Zeitpunkt am nächsten kommen, als Bounding Values verwendet. Raw Data Raw Data sind die Daten aus dem WinCC Archivsystem für ein angegebenes Zeitintervall. Diese Daten besitzen einen Zeitstempel und eine Qualität. Item Handle Das Item Handle ist die eindeutige Zuordnung zu einer WinCC Archivvariablen. ItemID Die ItemID ist die eindeutige Identifikation der WinCC Archivvariable. Über die ItemID kann ein Item Handle geholt werden WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Übersicht der unterstützten Funktionen (Seite 149) Zeitformat des WinCC-OPC-HDA-Servers (Seite 149) Übersicht der unterstützten Attribute (Seite 147) Übersicht der unterstützten Aggregate (Seite 147) Übersicht der unterstützten Attribute Einleitung Die folgende Tabelle listet die vom WinCC-OPC-HDA-Server unterstützten Attribute auf. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Historical Data Access 1.20". Attribute Attribut Attribut ID Beschreibung ItemID OPCHDA_ITEMID Gibt an, auf welche WinCC Archivvariable zugegriffen wird. Item Datatype OPCHDA_DATA_TYPE Gibt den Datentyp der WinCC Archivvariable an. Description OPCHDA_DESCRIPTIO Gibt die Beschreibung zur WinCC Archivvariable aus. N Die Beschreibung wird im WinCC TagLogging festgelegt. Engineering Units OPCHDA_ENG_UNITS Legt die Beschriftung der Einheit fest, die in der Anzeige dargestellt wird. Die Beschriftung wird im WinCC TagLogging festgelegt. Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Datenstruktur des WinCC-OPC-HDA-Servers (Seite 146) Übersicht der unterstützten Aggregate Einleitung Die folgende Tabelle listet die vom WinCC-OPC-HDA-Server unterstützten Aggregate auf. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Historical Data Access 1.20". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 147 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Aggregate 148 Aggregat Beschreibung OPCHDA_COUNT Ermittelt die Anzahl der Raw Data für das angegebene Zeitintervall. OPCHDA_START Ermittelt den Startwert der Raw Data am Startzeitpunkt. OPCHDA_END Ermittelt den Endwert der Raw Data am Endzeitpunkt. OPCHDA_AVERAGE Ermittelt den Mittelwert der Raw Data für das angegebene Zeitintervall. OPCHDA_TIMEAVERAGE Ermittelt den zeitlich gewichteten Mittelwert der Raw Data für das angegebene Zeitintervall. OPCHDA_TOTAL Ermittelt den totalisierten Wert für das angegebene Zeitintervall. OPCHDA_STDEV Ermittelt die Standardabweichung der Raw Data für das angegebene Zeitintervall. OPCHDA_MINIMUMACTUALTI ME Ermittelt den kleinsten Wert und den Zeitstempel der Raw Data für das angegebene Zeitintervall. OPCHDA_MINIMUM Ermittelt den kleinsten Wert der Raw Data für das angegebene Zeitintervall. OPCHDA_MAXIMUMACTUALTI ME Ermittelt den größten Wert und den Zeitstempel der Raw Data für das angegebene Zeitintervall. OPCHDA_MAXIMUM Ermittelt den größten Wert der Raw Data für das angegebene Zeitintervall. OPCHDA_DELTA Ermittelt die Differenz zwischen dem ersten und dem letzten Wert der Raw Data für das angegebene Zeitintervall. OPCHDA_REGSLOPE Ermittelt die Steigung der Regressionsgeraden der Raw Data für das angegebene Zeitintervall. OPCHDA_REGCONST Ermittelt den Wert der Regressionsgeraden der Raw Data am Startzeitpunkt. OPCHDA_REGDEV Ermittelt die Standardabweichung der Regressionsgeraden der Raw Data für das angegebene Zeitintervall. OPCHDA_VARIANCE Ermittelt die Varianz der Raw Data für das angegebene Zeitintervall. OPCHDA_RANGE Ermittelt die Differenz zwischen OPCHDA_MAXIMUM und OPCHDA_MINMUM der Raw Data für das angegebene Zeitintervall. OPCHDA_DURATIONGOOD Ermittelt die Zeitdauer, in der die Qualität der Raw Data gut war. Die Zeitdauer wird in Sekunden angegeben. OPCHDA_DURATIONBAD Ermittelt die Zeitdauer, in der die Qualität der Raw Data schlecht war. Die Zeitdauer wird in Sekunden angegeben. OPCHDA_PERCENTGOOD Ermittelt den prozentualen Anteil, in der die Qualität der Raw Data gut war. OPCHDA_PERCENTBAD Ermittelt den prozentualen Anteil, in der die Qualität der Raw Data schlecht war. OPCHDA_WORSTQUALITY Ermittelt die schlechteste Qualität der Raw Data für das angegebene Zeitintervall. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Datenstruktur des WinCC-OPC-HDA-Servers (Seite 146) Funktionsweise des WinCC-OPC-HDA-Servers (Seite 144) Übersicht der unterstützten Funktionen Einleitung Die folgenden Tabellen listen die vom WinCC-OPC-HDA-Server unterstützten Funktionen auf. Diese Funktionen können vom OPC-HDA-Client zum Datenaustausch verwendet werden. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Historical Data Access 1.20". Read Funktion Beschreibung ReadRaw Gibt die Raw Data, deren Qualität und deren Zeitstempel für das angegebene Zeitintervall aus. ReadProcessed Gibt den berechneten Wert, die Qualität des Wertes und den Zeitstempel für das angegebene Zeitintervall aus. Der berechnete Wert ist abhängig vom ausgewählten Aggregat. ReadAtTime Gibt die Raw Data, deren Qualität und deren Zeitstempel für einen bestimmten Zeitpunkt aus. Wenn kein Wert vorhanden ist, wird dieser für diesen Zeitpunkt interpoliert. ReadAttribute Gibt die Attribute des Items und den Zeitstempel für das angegebene Zeitintervall aus. Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Funktionsweise des WinCC-OPC-HDA-Servers (Seite 144) Zeitformat des WinCC-OPC-HDA-Servers Einleitung. Das Zeitintervall wird durch den Start- und Endzeitpunkt am WinCC-OPC-HDA-Server festgelegt. Das angegebene Zeitintervall bestimmt den Betrachtungszeitraum für die historischen Daten. Bei der Angabe der Zeitpunkte müssen bestimmte Formate eingehalten werden. Es gibt folgende Möglichkeiten zur Angabe eines Zeitpunktes: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 149 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● absolut nach UTC. ● relativ zur lokalen Zeit des Servers. Absolute Angabe nach UTC Der WinCC-OPC-HDA-Server arbeitet standardmäßig mit der koordinierten Weltzeit UTC als Zeitbasis. Die Uhrzeit entspricht der Zeitzone von Greenwich (= mitteleuropäische Winterzeit minus eine Stunde). Zeitformat YYYY/MM/DD hh:mm:ss.msmsms Parameter YYYY = Jahr MM = Monat DD = Tag hh = Stunde mm = Minute ss = Sekunde ms = Millisekunde Eingabebeispiel 2002/06/10 09:27:30.000 Angabe des Zeitpunktes relativ zur lokalen Zeit Bei dieser Angabe wird der Zeitpunkt relativ zur lokalen Zeit des Servers eingegeben. Die lokale Zeitzone stellen Sie in der Systemsteuerung Ihres Rechners unter "Datum/Uhrzeit" ein. Zeitformat Keyword +/-Offset1 +/-Offset(n) Der Offset ist die Abweichung zur lokalen Zeit des Servers. Keyword NOW = aktuelle lokale Uhrzeit des Servers SECOND = aktuelle Sekunde MINUTE = aktuelle Minute HOUR = aktuelle Stunde DAY = aktueller Tag WEEK = aktuelle Woche MONTH = aktueller Monat YEAR = aktuelles Jahr 150 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Offset +/-S = Abweichung in Sekunden +/-M = Abweichung in Minuten +/-H = Abweichung in Stunden +/-D = Abweichung in Tage +/-W = Abweichung in Wochen +/-MO = Abweichung in Monate +/-Y = Abweichung in Sekunden Beispiele: DAY - 1D = vorhergehender Tag DAY-1D + 7H30 = vorhergehender Tag um 7 Uhr 30 MO-1D+5H = letzter Tag des vorhergehenden Monats um 5:00 Uhr. NOW-1H15M = vor 1 Stunde und 15 Minuten YEAR+3MO= Monat April diesen Jahres Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Funktionsweise des WinCC-OPC-HDA-Servers (Seite 144) Quality Codes Einleitung Der Quality Code wird dazu benötigt, den Status und die Qualität der Raw Data zu prüfen. Die Quality Codes für OPC werden beschrieben in der Spezifikation "Data Access Custom Interface Standard Version 3.00" im Kapitel "6.8 OPC Quality flags". Quality Codes des WinCC-OPC-HDA-Servers Code OPC Beschreibung Quality 0x00040000 OPCHDA_RAW gibt Informationen über die Qualität der Werte-Übertragung von Raw Data. GOOD BAD UNCERTAIN 0x00080000 OPCHDA_CALCULAT ED gibt Informationen über die Qualität der Werte-Übertragung von berechneten Daten. GOOD BAD UNCERTAIN 0x00100000 OPCHDA_NOBOUND Am Start- oder Endzeitpunkt wurden keine Bounding Values gefunden. BAD WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 151 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Code OPC Beschreibung Quality 0x00200000 OPCHDA_NODATA Für das angegebene Zeitintervall wurden keine Raw Data gefunden. BAD 0x00400000 OPCHDA_DATALOST Innerhalb des gewählten Zeitintervalls sind die Raw Data nicht vollständig archiviert. BAD Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Unterstützte Schreibzugriffe Einleitung Die folgende Tabelle listet die vom WinCC-OPC-HDA-Server unterstützten Schreibzugriffe auf. Tabellen-Element: Beschreibung Umlaufarchiv Die zu archivierenden Prozesswerte werden in ein Umlaufarchiv gespeichert. Das Umlaufarchiv besteht aus einer projektierbaren Anzahl von Datenpuffern. Für den Datenpuffer wird eine Größe und ein Zeitraum (z.B. ein Tag) festgelegt. Wenn alle Datenpuffer voll sind, werden die Prozessdaten des ersten Datenpuffers wieder überschrieben. Umlaufarchiv nach Auslagerung Damit Prozessdaten des Datenpuffers durch Überschreiben nicht verloren gehen, können sie ausgelagert werden. Wird von WinCC unterstützt. Wird nicht von WinCC unterstützt. Schreibzugriffe Prozesswerte nachträglich einfügen. Umlaufarchiv Umlaufarchiv nach Auslagerung JA Nein Wenn der Zeitraum im Umlaufarchiv enthalten ist, kann ein Prozesswert nachträglich eingefügt werden. JA JA Der Datenpuffer des entsprechenden Zeitraums ist in ein Archivbackup ausgelagert. In einem Archivbackup können Prozesswerte nicht nachträglich eingefügt werden. Nein Nein Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. Nein JA Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. 152 Unterstützt von WinCC Beschreibung WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Prozesswerte zur Laufzeit einfügen. UmlaufArchiv Umlaufarchiv nach Auslagerung JA Nein Unterstützt von WinCC Beschreibung Der Prozesswert wird in den akutell gültigen Datenpuffer des Umlaufsarchivs eingefügt. Zukünftige Prozesswerte einfügen. Umlaufarchiv Umlaufarchiv nach Auslagerung Unterstützt von WinCC Beschreibung JA Nein Beim schreibenden Zugriff dürfen keine Werte in die Zukunft eingefügt werden. Nein Nein Beim schreibenden Zugriff dürfen keine Werte in die Zukunft eingefügt werden. Prozesswerte löschen Umlaufarchiv Umlaufarchiv nach Auslagerung Unterstützt von WinCC Beschreibung JA Nein Wenn der Zeitraum im Umlaufarchiv enthalten ist, kann ein Prozesswert gelöscht werden. JA JA Der Datenpuffer des entsprechenden Zeitraums ist in ein Archivbackup ausgelagert. In einem Archivbackup können Prozesswerte gelöscht werden. Nein Nein Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. Nein Ja Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. Prozesswerte bearbeiten Umlaufarchiv Umlaufarchiv nach Auslagerung Unterstützt von WinCC JA Nein Wenn der Zeitraum im Umlaufarchiv enthalten ist, kann ein Prozesswert bearbeitet werden. JA JA Der Datenpuffer des entsprechenden Zeitraums ist in ein Archivbackup ausgelagert. In einem Archivbackup können Prozesswerte nicht bearbeitet werden. Nein Nein Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. Nein Ja Das Umlaufarchiv ist nicht verfügbar. Der Prozesswert kann nicht gespeichert werden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Beschreibung 153 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Beispiel einer OPC-HDA-Kopplung Beispiel einer OPC-HDA-Kopplung Einleitung Im folgenden Beispiel wird die Kopplung WinCC - OPC-HDA-Client projektiert. Durch den WinCC-OPC-HDA-Server werden die Daten des WinCC Archivsystems zur Verfügung gestellt. Der OPC-HDA-Client greift über Item Handles auf die Daten zu. Zur einfacheren Projektierung wird der OPC HDA Browser verwendet. Es wird der OPC-HDA-Client der OPC Foundation eingesetzt. Alle OPC-HDA-Clients der Spezifikation OPC Historical Data Access 1.20 können auf den WinCC-OPC-HDA-Server zu greifen. Voraussetzungen ● Legen Sie im WinCC Projekt des WinCC-OPC-HDA-Servers eine interne Variable "OPC_HDA" vom Datentyp "Vorzeichenloser 16-Bit Wert" an. ● Legen Sie im WinCC Archivsystem ein Prozesswertarchiv "HDA_Prozesswertarchiv" an. ● Legen Sie im Prozesswertarchiv "HDA_Prozesswertarchiv" eine WinCC Archivvariable "OPC_HDA_Tag" an. Verknüpfen Sie die WinCC Archivvariable mit der internen Variable "OPC_HDA". ● Aktivieren Sie in der Anlaufliste das Tag Logging Runtime und deaktivieren Sie Graphics Runtime. ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-HDA-Servers. Projektierungsschritte Für die Kopplung WinCC - OPC-HDA-Client sind folgende Projektierungen notwendig: 1. Zugriff auf die WinCC Archivvariable mit dem HDA Server Browser projektieren 2. Lesen von Werten der WinCC Archivvariablen Siehe auch So projektieren Sie den Zugriff auf eine WinCC Archivvariable mit dem HDA Server Browser (Seite 156) HDA Server Browser (Seite 155) So können Sie Werte der WinCC Archivvariable lesen (Seite 157) 154 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity HDA Server Browser Einleitung Der OPC-HDA-Client greift über Item Handles auf die Variablenwerte zu. Zur einfacheren Projektierung unterstützt der WinCC-OPC-HDA-Server die Browsingfunktionalität. Der OPCHDA-Client kann mit dem HDA Server Browser den Adressraum des WinCC-OPC-HDAServers durchsuchen. Die Daten werden nach Prozesswertarchiven hierarchisch aufgelistet. Hinweis Beim Zugriff auf eine WinCC Archivvariable ohne den HDA Browser Server muss die ItemID manuell projektiert werden. Bei der Adressierung der WinCC Archivvariablen wird in der Pfadangabe der symbolische Rechnername (Serverpräfix) mit angegeben. Die ItemID hat folgende Syntax: Serverpräfix::Prozesswertarchiv\WinCC Archivvariable. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 155 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) So projektieren Sie den Zugriff auf eine WinCC Archivvariable mit dem HDA Server Browser (Seite 156) So projektieren Sie den Zugriff auf eine WinCC Archivvariable mit dem HDA Server Browser Einleitung In diesem Abschnitt wird mit dem OPC-HDA-Client auf eine WinCC Archivvariable zugegriffen. Der OPC-HDA-Client der OPC Foundation wird eingesetzt. Der Zugriff wird mit dem HDA Server Browser projektiert Hinweis Bei dem OPC-HDA-Client handelt es sich um den Demo Client der OPC Foundation. Die Quellen dazu finden Sie im Internet unter http://www.opcfoundation.org . Vorgehensweise 1. Kopieren Sie die Datei " SampleClientHDA.exe " in ein beliebiges Verzeichnis. Diese Anwendung ist nur in der Online-Hilfe verfügbar. 2. Klicken Sie die Datei "SampleClientHDA.exe " doppelt. Es öffnet sich das Programm "HDA Client". 3. Wählen Sie im Bereich "Servernamen" den Eintrag "OPCServerHDA.WinCC.1". Klicken Sie auf die Schaltfläche "Connect". Bestätigen Sie den folgenden Dialog. 156 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 4. Klicken Sie im "HDA Client" auf die Schaltfläche "Browse". Es öffnet sich der Dialog "Browse Dialog". Wählen Sie im Feld "OPCHDA_BROWSETYPE" den Eintrag "OPCHDA_FLAT". 5. Wählen Sie im Auswahlfenster den Eintrag "HDA_Prozessswertarchiv\OPC_HDA_TAG". Klicken Sie auf die Schaltfläche "Add" und schließen Sie den Dialog über die Schaltfläche "Done". Weitere Informationen finden Sie im Internet unter Http://www.opcfoundation.org Siehe auch So können Sie Werte der WinCC Archivvariable lesen (Seite 157) www.opcfoundation.org (http://www.opcfoundation.org) So können Sie Werte der WinCC Archivvariable lesen Einleitung In diesem Abschnitt wird gezeigt, wie Sie lesend auf die WinCC Archivvariable zugreifen können. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 157 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Voraussetzungen ● Der OPC-HDA-Client muss gestartet sein. Vorgehensweise 1. Klicken Sie im "HDAClient" auf die Schaltfläche "Show Items". 2. Klicken Sie im "HDAClient" auf die Schaltfläche "Get Item Handles". 3. Klicken Sie im Auswahlfeld "Value" den Eintrag "HDA_Prozesswertarchiv\OPC_HDA_Tag" doppelt. 4. Geben Sie im Feld "Start Time" den Wert "NOW-10S" ein. Geben Sie im Feld "End Time" den Wert "NOW" ein. 5. Klicken Sie auf die Schaltfläche "Read Raw". Im Auswahlfeld "Values" werden die Werte, deren Quality Code und deren Zeitstempel ausgegeben. 158 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Besonderheiten des OPC-HDA-Servers in WinCC bei azyklischer Archivierung Einleitung In WinCC werden TagLogging-Variablen zyklisch oder azyklisch archiviert. In Abhängigkeit der Archivierungsmethode der Variablen arbeitet der WinCC-HDA-OPC-Server unterschiedlich: ● Für alle zyklisch archivierten Werte arbeitet der OPC-HDA-Server konform zur HDASpezifikation der OPC-Foundation. Die OPC-Aggregate werden linear interpoliert. ● Azyklisch archivierte Variablen sind in der HDA-Spezifikation der OPC-Foundation nicht vorgesehen. Die OPC-Aggregate werden stufenweise interpoliert. Insbesondere wenn eine Variable eine lange Zeit keine Änderung erfahren hat, würden in einem Zeitbereich keine Daten verfügbar sein. Um dennoch gültige Daten zu erhalten, sind folgende Besonderheiten zu beachten. Hinweis Für azyklisch archivierte Variablen ist der OPC-HDA-Server nicht OPC-Compliant. Die HDA-Spezifikation der OPC-Foundation kennt keine azyklisch archivierten Variablen und deckt damit auch keine Archivserver für azyklisch archivierte Variablen ab. Die unterstützten Aggregate werden konform zur OPC-HDA-Spezifikation berechnet. Alle nicht explizit aufgeführten Funktionen werden nicht unterstützt. Hinweis Beim schreibenden Zugriff auf Prozesswertarchive dürfen keine Werte in die Zukunft eingefügt werden. Konfiguration von azyklisch archivierten Variablen Bei der Projektierung von azyklisch archivierten Variablen muss bei der Variablen die Einstellung "Archivieren nach Segmentwechsel" gesetzt sein. Damit wird bei jedem Wechsel eines Segments der letzte gültige Wert im neuen Archiv eingetragen. Unterstützte Aggregate des WinCC-OPC-HDA-Servers für azyklisch archivierte Variablen Der OPC-HDA-Server unterstützt ausschließlich folgende Aggregate: ● OPCHDA_MINIMUM ● OPCHDA_MAXIMUM ● OPCHDA_AVERAGE ● OPCHDA_END ● OPCHDA_INTERPOLATIVE ● OPCHDA_TIMEAVERAGE ● OPCHDA_TOTAL WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 159 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● OPCHDA_DURATIONGOOD ● OPCHDA_PERCENTGOOD Unterstützte Funktionen des WinCC-OPC-HDA-Servers für azyklisch archivierte Variablen ● ReadRaw nur mit "Boundings". ReadRaw auf eine Variable muss immer mit "Boundings" ausgeführt werden, um bei einem Bereich ohne archivierte Wertänderung den letzten real gespeicherten Wert zu finden. ● ReadProcessed ● DeleteRaw ● DeleteAtTime ● Insert ● InsertReplace ● Replace Berechnung der Aggregate für azyklisch archivierte Variablen Die Berechnung der Aggregate basiert auf einem erweiterten Datensatz von "RawData", der nicht nur real gespeicherte Werte enthält, sondern für die Berechnung auch virtuelle Datenpunkte enthält. Entsprechend den Anforderungen des "ReadProcessed", bereitet der WinCC-OPC-HDA-Server die erhaltenen "RawData" auf. Die für die Berechnung erforderlichen virtuellen Datenpunkte werden aus den angrenzenden realen Datenpunkten gebildet. Folgende signifikante Punkte werden für virtuelle Datenpunkte berücksichtigt: ● Wert zur "StartTime" ● Wert zur "EndTime" ● Wert auf Intervallgrenzen Beispiel Bei einer azyklischen TagLogging-Variablen sind die Werte für "00:59:00", "01:02:00" und "01:03:00" gespeichert. Ein OPC-HDA-Client fordert mit "ReadProcessed" ein Aggregat mit folgenden Parametern an: ● StartTime = 01:00:00 ● EndTime = 01:04:00 ● Intervall = 00:02:00 Hinweis Bei der Generierung von virtuellen Werten an Grenzen ("EndTime"/"Intervall") ist bei der Berechnung der Zeitbereich immer 1 µs kleiner als der Zeitstempel an der Grenze. Zur besseren Übersicht wird in der folgendenTabelle mit einem Delta von 1 Sekunde gearbeitet. Die nachfolgende Grafik veranschaulicht das Beispiel. Für die Berechnung des Aggregats verwendet der OPC-Server folgende "RawData": 160 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3.6.2.9 Nummer Zeitstempel Real gespeicherte Werte 1 00:59:00 1,00 2 01:00:00 3 01:01:59 4 01:02:00 5 01:02:59 6 01:03:00 7 01:03:59 Generierte virtuelle Werte 1,00 1,00 2,00 2,00 3,00 3,00 WinCC-OPC-A&E-Server Funktionsweise des WinCC-OPC-A&E-Servers Einleitung Der WinCC-OPC-A&E-Server ist eine DCOM-Anwendung. Über Subscriptions wird der OPCA&E-Client über Statusänderungen von WinCC Meldungen benachrichtigt. Mit der Subscription kann der OPC-A&E-Client einen Filter einstellen. Über diesen Filter wird festgelegt, welche Meldungen und Attribute angezeigt werden. Der WinCC-OPC-A&E-Server unterstützt die Spezifikation OPC Alarm&Event 1.10. Dies wurde durch den Compliance Test bestätigt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 161 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Die folgenden Kapitel zeigen die Abbildung des WinCC Meldesystems auf OPC A&E, sowie die vom WinCC-OPC-A&E-Server unterstützten Attribute. Hier erfolgt keine ausführliche Beschreibung, sondern eine Übersicht der spezifischen Informationen. Weiterführende Informationen dazu finden Sie in der Spezifikation zu "OPC Alarm&Event 1.10". Installation Der WinCC-OPC-A&E-Server kann bei der Installation von WinCC ausgewählt werden. Nach der Installation ist der WinCC-OPC-A&E-Serverr ohne eine Projektierung sofort einsetzbar. Ab WinCC V6.2 kann der WinCC-OPC-A&E-Server auf einem WinCC-Server und einem WinCC-Client eingesetzt werden. Lizenzierung Für den Betrieb WinCC-OPC-A&E-Server müssen auf jedem WinCC-Server, der als OPCA&E-Server eingesetzt wird, folgende Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack Serverarten Der WinCC-OPC-A&E-Server unterstützt Conditional Events und Simple Events. Weiterhin gibt es noch Tracking Events. Condition Related Event Server Bei einem Condition Related Event Server ist das Ereignis an eine Bedingung geknüpft. Eine Bedingung kann z.B. die Grenzwertverletzung einer Variablen sein. Bei WinCC erfolgt eine Meldung, sobald eine Grenzwertverletzung auftritt. Diese Meldung wird bei OPC A&E als Alarm abgebildet. Simple Event Server Simple Events sind Meldungen, die den OPC-A&E-Client über Ereignisse informiert. Simple Events sind z.B. das Starten oder Beenden von Programmen. Hinweis Beachten Sie beim Einsatz von redundanten Systemen: Simple Events, die auf interne Variablen verschaltet sind, werden beim Variablenabgleich doppelt gesendet. Die erste Meldung wird vom Master ausgelöst, die zweite vom Standby. Tracking Event Server Wenn im Prozess eine Veränderung auftritt, bekommt der OPC-A&E-Client eine Meldung. Eine Veränderung kann z.B. das Verschieben eines Reglers sein. 162 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC-A&E-Client Alle OPC-A&E-Clients der Spezifikation OPC Alarm&Event 1.10 können auf den WinCC-OPCA&E-Server zugreifen. Der OPC-A&E-Client kann u.a. eigen erstellt sein. Durch Verwendung von eigen entwickelten OPC-Clients können die Anforderungen bestmöglich erfüllt werden. Ein OPC-A&E-Client kann z.B.zur Analyse und gemeinsamen Archivierung von Alarmen aus unterschiedlichen OPC-A&E-Servers eingesetzt werden. Siehe auch Kompatibilität (Seite 119) Quality Codes für OPC A&E (Seite 168) Abbildung des WinCC Meldesystems auf OPC A&E (Seite 163) www.opcfoundation.org (http://www.opcfoundation.org) Abbildung des WinCC Meldesystems auf OPC A&E Abbildung des WinCC Meldesystems auf OPC A&E Einleitung Bei der Projektierung des WinCC Meldesystems legen Sie fest, welches Ereignis im Prozess eine Meldung auslöst. Diese Meldung wird bei OPC A&E als Alarm abgebildet. In der folgenden Tabelle werden die wichtigsten Parameter des Alarms aufgelistet. Es wird auch beschrieben, wie das WinCC Meldesystem die Informationen bereitstellt. Weitere Informationen dazu finden Sie unter "Aufbau des Alarms". Übersicht OPC WinCC Meldesystem Source Gibt die Quelle an, wo die Meldung ausgelöst wurde. Die Source hat die Formatierung "<Serverpräfix>::@LOCALMACHINE::". Time Gibt den Zeitstempel für gekommene, gegangene und quittierte Meldung aus. Der Zeitstempels wird in UTC (Koordinierte Weltzeit ) angegeben. Type Gibt an, ob es sich um ein Simple, Tracking oder Condition Related Event handelt. WinCC-OPC A&E Server unterstützt Simple, Condition Related und Tracking Events. Severity Gibt die Priorität der Meldung von WinCC aus. EventCategory Gibt die Kategorie der Meldungen aus. Weitere Informationen dazu finden Sie unter "Abbildung der Meldeklassen und Meldearten". Message Gibt den Meldetext der entsprechenden Meldungsnummer aus. ConditionName Gibt die Meldungsnummer aus. ChangeMask Gibt den geänderten Status der Meldung aus. Weitere Informationen dazu finden Sie unter "Quittierphilosophie". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 163 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC WinCC Meldesystem NewState Gibt den Status der Meldung aus. Weitere Informationen dazu finden Sie unter "Quittierphilosophie". ConditionQuality Gibt die Qualität der Meldung aus. Weitere Informationen dazu finden Sie unter "Quality Codes". AckRequired Gibt an, ob die Meldung quittierpflichtig ist. ActiveTime Gibt den Zeitstempel für gekommene Meldungen aus. EventAttribute Listet die Attribute auf, die für diese Meldung angefordert wurden. Weitere Informationen dazu finden Sie unter "Attribute des WinCC Meldesystems". Quality Gibt den Quality Code der Meldung wieder. Cookie Gibt das Cookie aus, das vom OPC A&E Server angeboten wird. Der Cookie entspricht der Meldenummer im WinCC Alarmsystem Siehe auch Quittierphilosophie (Seite 167) Attribute des WinCC Meldesystems (Seite 165) Abbildung der Meldeklassen und Meldearten von WinCC (Seite 164) Abbildung der Meldeklassen und Meldearten von WinCC Einleitung Das WinCC Meldesystem informiert über Störzustände und Betriebszustände im Prozess. Eine WinCC-Meldung gehört stets zu einer bestimmten Meldeklasse und Meldeart, die mit der Event Category in Beziehung stehen. Die Abbildung des WinCC Meldesystems auf OPC wird über die Datei "CcAeProvider.ini" konfiguriert. Event Category Jede Kombination aus Meldeklasse und Meldeart wird eine Event Category im WinCC-OPCA&E-Server abgebildet. Eine Event Category wird bestimmt durch eine CategoryID und eine beschreibende "Category Description". Die CategoryID setzt sich aus der WinCC internen ID von Meldeklasse und Meldeart zusammen, die Category Description aus den Namen von Meldeklasse und Meldeart. Hinweis Wenn der OPC A&E-Server auf einem WinCC-Client einer Connectivity Station betrieben wird, müssen die daran verbundenen OS-Server eine identische Konfiguration von Meldeklassen und Meldearten aufweisen. Wenn das nicht gegeben ist, muss der eingesetzte OPC-Client direkt auf den OS-Server zugreifen. Die Namen der Meldeklassen und Meldearten können über die Alarm Attribute "CLASSNAME" und "TYPENAME" explizit ermittelt werden. 164 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Abbildung der Priorität von WinCC-Meldungen Einleitung Die Priorität von WinCC-Meldungen wird durch den OPC-Server auf das Attribut "Severity" abgebildet. Bei der Konfiguration von Alarmen im WinCC-Meldesystem können Sie eine Priorität von 0 bis 16 projektieren. Die OPC A&E Spezifikation definiert für die Severity einen Wertbereich von 1 bis 1000. Dabei steht 1 für die niedrigste und 1000 für die höchste Severity. Deshalb werden die Werte der WinCC-Priorität geeignet auf die OPC-Severity abgebildet. In der Standard-Abbildung wird die WinCC-Priorität 0 zu OPC Severity 1. Alle anderen Prioritätswerte werden linear bis Severity 1000 interpoliert. Andere Abbildungsregeln der Priorität können Sie in der Datei CcAeProvider.ini konfigurieren. Attribute des WinCC Meldesystems Einleitung Die folgende Tabelle listet die OPC-Attribute des WinCC Meldesystems auf. Die Attribute werden im WinCC Meldesystem projektiert. Einige Attribute sind nur für den internen Gebrauch in WinCC vorgesehen und daher für einen OPC-A&E-Client nicht relevant. Diese Attribute sind nicht gelistet. Attribute OPC Attribute WinCC Meldesystem Datentyp CLASSNAME Gibt den Namen Meldeklasse aus. VT_BSTR TYPENAME Gibt den Namen der Meldeart aus. VT_BSTR FORECOLOR Gibt die Textfarbe für gekommene, gegangene oder quittierte Meldungen aus. VT_I4 BACKCOLOR Gibt die Hintergrundfarbe für gekommene, gegangene oder quittierte Meldungen aus. VT_I4 FLASHCOLOR Gibt die Blinkfarbe aus. VT_I4 FLAGS Gibt an ob, die Meldung quittierpflichtig ist. VT_I4 TEXT01 Gibt den Inhalt des Anwendertextblocks01 aus. VT_BSTR TEXT02 Gibt den Inhalt des Anwendertextblocks02 aus. VT_BSTR TEXT03 Gibt den Inhalt des Anwendertextblocks03 aus. VT_BSTR TEXT04 Gibt den Inhalt des Anwendertextblocks04 aus. VT_BSTR TEXT05 Gibt den Inhalt des Anwendertextblocks05 aus. VT_BSTR TEXT06 Gibt den Inhalt des Anwendertextblocks06 aus. VT_BSTR TEXT07 Gibt den Inhalt des Anwendertextblocks07 aus. VT_BSTR TEXT08 Gibt den Inhalt des Anwendertextblocks08 aus. VT_BSTR TEXT09 Gibt den Inhalt des Anwendertextblocks09 aus. VT_BSTR WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 165 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 166 OPC Attribute WinCC Meldesystem Datentyp TEXT10 Gibt den Inhalt des Anwendertextblocks10 aus. VT_BSTR PROCESSVALU E01 Gibt den Inhalt des Prozesswertblocks01 aus. VT_VARIANT PROCESSVALU E02 Gibt den Inhalt des Prozesswertblocks02 aus. VT_VARIANT PROCESSVALU E03 Gibt den Inhalt des Prozesswertblocks03 aus. VT_VARIANT PROCESSVALU E04 Gibt den Inhalt des Prozesswertblocks04 aus. VT_VARIANT PROCESSVALU E05 Gibt den Inhalt des Prozesswertblocks05 aus. VT_VARIANT PROCESSVALU E06 Gibt den Inhalt des Prozesswertblocks06 aus. VT_VARIANT PROCESSVALU E07 Gibt den Inhalt des Prozesswertblocks07 aus. VT_VARIANT PROCESSVALU E08 Gibt den Inhalt des Prozesswertblocks08 aus. VT_VARIANT PROCESSVALU E09 Gibt den Inhalt des Prozesswertblocks09 aus. VT_VARIANT PROCESSVALU E10 Gibt den Inhalt des Prozesswertblocks10 aus. VT_VARIANT STATETEXT Gibt die Statusmeldung aus. VT_BSTR INFOTEXT Gibt den Informationstext zur Meldung aus. VT_BSTR LOOPINALARM Gibt an, ob LoopInAlarm projektiert ist. VT_I4 CLASSID Gibt die ID der Meldeklasse aus. VT_I4 TYPEID Gibt die ID der Meldeart aus. VT_I4 MODIFYSTATE Gibt den Wert der Zustandvariable der Meldung aus. VT_I4 AGNR Gibt die Nummer des AS aus, auf der die Meldung entstanden ist. VT_I2 CPUNR Gibt die Nummer der CPU aus, auf der die Meldung entstanden ist. VT_I2 DURATION Gibt den Zeitraum zwischen kommend, gehend und Quittierung einer Meldung aus. VT_I4 COUNTER Gibt die Anzahl der Meldungen nach dem Start von Runtime aus. VT_I4 QUITSTATETEX T Gibt an, ob die Meldung quittiert worden ist. VT_BSTR QUITCOUNT Gibt die Anzahl der offenen, nichtquittierten Meldungen aus. VT_I4 PARAMETER Gibt den Parameter der Meldung aus. (Abbild der Meldungskonfiguration). VT_BSTR BLOCKINFO Gibt den aktuellen Inhalt des Meldeblocks aus. VT_BSTR ALARMCOUNT Gibt die Anzahl der anstehenden Meldungen aus. VT_I4 LOCKCOUNT Gibt die Anzahl der gesperrten Meldungen aus. VT_I4 PRIORITY Gibt die projektierte Priorität der Meldung an. VT_I4 APPLICATION Gibt die Applikation aus, die die Meldung auslöste. VT_BSTR COMPUTER Gibt den Rechnername aus, der die Meldung bearbeitete. VT_BSTR WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC Attribute WinCC Meldesystem Datentyp USER Gibt den Benutzer aus, der die Meldung bearbeitete. VT_BSTR COMMENT Gibt den Kommentar der Meldung aus. VT_BSTR Quittierphilosophie Einleitung In WinCC ist die Quittierphilosophie die Art und Weise, wie eine Meldung vom "Kommen" bis zum "Gehen" dargestellt und bearbeitet wird. Beim WinCC-OPC-A&E-Server wird dieser Meldungsstatus in den Parametern ChangeMask und NewState verwaltet Conditional, Simple und Tracking Events In der Regel werden Meldungen vom WinCC System als Conditional Events an den Client gesendet. Damit eine Meldung als Simple Event behandelt wird, müssen in der Projektierung der Meldeklasse folgende Voraussetzungen erfüllt sein: ● "Quittierung gekommen" ist nicht aktiviert. ● "Meldung ohne Zustand gegangen" ist aktiviert. Abhängig von der Konfiguration der Abbildung werden Meldungen mit der Meldeklasse "System, ohne Quittierung" und mit der Meldeart "Bedienmeldung" als OPC Tracking Events übertragen. ChangeMask Der Parameter "ChangeMask" hält fest, wo der Meldezustand sich geändert hat. Parameterwerte: ● OPC_CHANGE_ACTIVE_STATE ● OPC_CHANGE_ENABLE_STATE ● OPC_CHANGE_ACK_STATE NewState Der Parameter "NewState" zeigt den Meldungszustand nach Änderung an. Parameterwerte: ● OPC_CONDITION_ACTIVE ● OPC_CONDITION_ENABLED ● OPC_CONDITION_ACKED WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 167 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Übersicht WinCC NewState ChangeState Gekommene Meldung OPC_CONDITION_ACTIVE OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gegangene Meldung mit Quittierung OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gegangene Meldung ohne Quittierung OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Quittierte Meldungen (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Quittierte Meldungen (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Gesperrte Meldung -------------------------------------- OPC_CHANGE_ENABLED_STA TE Freigegebene Meldung OPC_CONDITION_ENABLED OPC_CHANGE_ENABLED_STA TE Gekommene, quittierte Meldung OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gekommene, gegangene Meldung mit Quittierung OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Gekommene, gegangene Meldung ohne Quittierung OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Vom System quittierte Meldung (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Vom System quittierte Meldung (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Notquittierte Meldung (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Notquittierte Meldung (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) Quality Codes für OPC A&E Einleitung Der Quality Code wird dazu benötigt, den Status und die Qualität einer Meldung zu prüfen. Die Quality Codes für OPC werden beschrieben in der Spezifikation "Data Access Custom Interface Standard Version 3.00" im Kapitel "6.8 OPC Quality flags". 168 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Quality Codes Code Quality Status 0xC0 OPC_GOOD OK 0x40 OPC_UNCERTAIN wird bei Unstimmigkeiten ausgegeben z.B. bei verspäteter Quittierung 0x00 OPC_BAD wird ausgegeben, wenn die Verbindung zur Source unterbrochen ist. Beispiel einer OPC-A&E-Kopplung Beispiel einer OPC-A&E-Kopplung Einleitung Im folgenden Beispiel wird die Kopplung WinCC - OPC A&E-Client projektiert. Durch den WinCC-OPC A&E-Server werden die Daten des WinCC Meldesystem zur Verfügung gestellt. Über eine Subscription wird der OPC-A&E-Client über Statusänderungen von WinCC Meldungen benachrichtigt. Alle OPC-A&E-Clients der Spezifikation OPC Alarm&Events 1.10 können auf den WinCCOPC-A&E-Server zugreifen. Projektierungsschritt Für die Kopplung WinCC - OPC-A&E-Client ist folgende Projektierung notwendig: 1. Zugriff auf das WinCC Meldesystem projektieren Siehe auch So projektieren Sie den Zugriff auf das WinCC Meldesystem (Seite 170) www.opcfoundation.org (http://www.opcfoundation.org) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 169 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity So projektieren Sie den Zugriff auf das WinCC Meldesystem Einleitung In diesem Abschnitt wird mit dem OPC-A&E-Client der OPC Foundation auf das WinCC Meldesystem zugegriffen. Hinweis Bei dem OPC-A&E-Client handelt es sich um den Demo Client der OPC Foundation. Die Quellen dazu finden Sie im Internet unter http://www.opcfoundation.org. Voraussetzungen ● Legen Sie im WinCC Projekt des WinCC-OPC-A&E-Servers mehrere interne Variablen vom Datentyp "Binär" an. ● Projektieren Sie im WinCC Projekt des WinCC-OPC-A&E-Servers das WinCC Meldesystem. Verbinden Sie die Meldungen mit den internen Variablen. ● Projektieren Sie mit dem Graphics Designer ein Bild. Fügen Sie in das Bild das WinCC Alarm Control und ein E/A-Feld ein. Verschalten Sie die Grafikobjekte mit den Meldevariablen. ● Aktivieren Sie in der Anlaufliste das "Alarm Logging Runtime". ● Aktivieren Sie das WinCC Projekt des WinCC-OPC-A&E-Servers. Vorgehensweise 1. . Kopieren Sie die Datei "SampleClientAE.exe" in ein beliebiges Verzeichnis. Diese Anwendung ist nur in der Online-Hilfe verfügbar. 2. Wählen Sie in der Menüleiste den Eintrag "OPC" >"Connect.". Wählen Sie im Dialog "OPC Alarm Server" den Eintrag "OPC.WinCC-AlarmsEvent". Schließen Sie den Dialog über die Schaltfläche "OK". 3. Wählen Sie in der Menüleiste den Eintrag "OPC" >"Event Subscription.". Es öffnet sich der Dialog "Event Subscription". 4. Aktivieren Sie im Dialog das Kontrollkästchen "Active". Tragen Sie in den Feldern "Buffer Time" und "Max Size" "1000" ein. Schließen Sie den Dialog "Event Subscription" über die Schaltfläche "OK". 170 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 5. Im "OPC Event Sample Client" werden die Meldungen des WinCC Meldesystems ausgegeben. 6. Wählen Sie in der Menüleiste den Eintrag "OPC" >"Filter ". Es öffnet sich der Dialog "Filter ". Wählen Sie im Auswahlfeld "EventCategory" eine Category. Schließen Sie den Dialog "Filter" über die Schaltfläche "OK". 7. Im "OPC Event Sample Client" werden die Meldungen angezeigt, die dem Filterkriterium entsprechen. Die Parameter "Buffer Time" und "Max Size" Der OPC Spezifikation folgend, werden die Parameter "Buffer Time" und "Max Size" in WinCC wie folgt abgebildet: OPC-Client fordert Rückgabewert WinCC verwendet Buffer Time < 100 OPC_S_INVALIDBUFFERTIME Revised Buffer Time = 100 100 <= Buffer Time <= 600000 S_OK Revised Buffer Time = Buffer Time Buffer Time > 600000 OPC_S_INVALIDBUFFERTIME Revised Buffer Time = 600000 Max Size = 0 OPC_S_INVALIDMAXSIZE Revised Max Size = 1000 0 < Max Size < 10 OPC_S_INVALIDMAXSIZE Revised Max Size = 10 10 <= Max Size <= 1000 S_OK Revised Max Size = Max Size Max Size > 1000 OPC_S_INVALIDMAXSIZE Revised Max Size = 1000 Beim Anlegen einer Subscription können Sie die Parameter festlegen. Sie können jedoch nicht nachträglich eine bestehende Subscription mit SetState() ändern. Weitere Informationen finden Sie im Internet unter Http://www.opcfoundation.org Siehe auch www.opcfoundation.org (http://www.opcfoundation.org) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 171 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC-A&E-Server mit hierarchischem Zugriff Funktionsweise des OPC-A&E-Servers Einleitung Der OPC-A&E-Server nutzt DCOM-Dienste für die Übertragung von Meldungen zwischen OPC-fähigen Anwendungen. Der OPC-A&E-Server unterstützt die Spezifikation OPC Alarm&Event 1.10. Die folgenden Kapitel zeigen die Abbildung des WinCC Meldesystems auf OPC A&E mit hierarchischem Zugriff und die vom OPC-A&E-Server unterstützten Attribute. Diese Dokumentation enthält eine Übersicht der spezifischen Informationen. Weiterführende Informationen finden Sie in der Spezifikation zu "OPC Alarm&Event 1.10". Funktionsweise Der OPC-A&E-Client erhält über Subskriptionen WinCC Meldungen. Sie können die Filter der Subskription verwenden, um die Anzahl der Ereignisse zu reduzieren, die mit einer Subskription übertragen werden. Der OPC-A&E-Client kann für jede Event-Kategorie einstellen, welche Meldeattribute angezeigt werden. Installation Der WinCC-OPC-A&E-Server kann bei der Installation von WinCC ausgewählt werden. Nach der Installation ist der WinCC-OPC-A&E-Serverr ohne eine Projektierung sofort einsetzbar. Ab WinCC V6.2 kann der WinCC-OPC-A&E-Server auf einem WinCC-Server und einem WinCC-Client eingesetzt werden. Lizenzierung Für den Betrieb eines OPC-A&E-Server müssen auf jedem Rechner, auf dem der OPC-A&EServer ausgeführt wird, eine der folgenden Lizenzen installiert sein: ● Eine gültige RT-Lizenz von WinCC ● WinCC Option Connectivity Pack Event-Typen Der OPC-A&E-Server mit hierarchischem Zugriff unterstützt Conditional Events, Simple Events und Tracking Events. Condition Related Events Bei einem Condition Related Event ist das Ereignis an eine Bedingung geknüpft. Eine Bedingung kann z.B. die Grenzwertverletzung einer Variablen sein. Diese Grenzwertverletzung generiert eine Meldung, die bei OPC A&E als Alarm abgebildet wird. 172 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Simple Events Simple Events sind Meldungen, die den OPC-A&E-Client über Ereignisse informieren. Simple Events sind z.B. das Starten oder Beenden von Programmen. Hinweis Beachten Sie beim Einsatz von redundanten Systemen: Simple Events, die auf interne Variablen verschaltet sind, werden beim Variablenabgleich doppelt gesendet. Die erste Meldung wird vom Master ausgelöst, die zweite vom Standby. Tracking Events Ein Tracking Event wird bei einer Bedienmeldung an den OPC-A&E-Client geschickt. Eine Bedienmeldung wird durch das manuelle Eingreifen in den Prozess ausgelöst. OPC-A&E-Client Alle OPC-A&E-Clients der Spezifikation OPC Alarm&Event 1.10 können auf den OPC-A&EServer zugreifen. Der OPC-A&E-Client kann u.a. eigen erstellt sein. Durch Verwendung von eigen entwickelten OPC-Clients können die Anforderungen bestmöglich erfüllt werden. Ein OPC-A&E-Client kann z. B. zur Analyse und gemeinsamen Archivierung von Alarmen aus unterschiedlichen OPC-A&E-Servern eingesetzt werden. Die Quittierung von archivierten Meldungen ist nicht möglich, sondern nur die Quittierung von aktuellen Alarmen und Ereignissen. Hinweis Dokumentation zu OPC Weitere Informationen zu OPC finden Sie im Kapitel "Schnittstellen > OPC - OLE for Process Control". OPC-A&E-Server ab WinCC V6.2 SP2 Unterschiede zwischen OPC A&E und OPC A&E mit hierarchischem Zugriff Darstellung der Meldungen mit OPC A&E Der OPC-A&E-Server unterstützt beim Zugriff auf das Meldesystem "Conditional Events" und "Simple Events". Bei "Conditional Events" werden für jede Quelle die Meldungsnummern angezeigt. Da ein WinCC-Server sehr viele Meldungsnummern enthalten kann, geht schnell der Überblick über die Meldungen verloren. Die folgende Abbildung zeigt ein Beispiel für die Darstellung in einem OPC-Browser: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 173 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Darstellung der Meldungen mit OPC A&E und hierarchischem Zugriff Der OPC-A&E-Server mit hierarchischem Zugriff unterstützt die Event-Typen "Conditional Events", "Simple Events" und "Tracking Events". Bei "Conditional Events" bestimmt der Anwendertextblock 2 die Quelle der Meldungen. Als Standardeinstellung entspricht Anwendertextblock 2 dem Störort. Um Meldungen hierarchisch abzubilden, müssen Sie im Alarm Logging Meldungen in anwenderdefinierten Gruppenmeldungen zusammenstellen. Die Struktur der Gruppenmeldungen bestimmen die Areas in OPC A&E. Tracking Events entstehen, wenn in der Anlage Bedienmeldungen ausgelöst werden. Die folgende Abbildung zeigt ein Beispiel für die Darstellung von Conditional Events in einem OPC-Browser. Neben "Area" und "Source" werden die "Condition" angezeigt: 174 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Empfehlung Setzen Sie beim Anlegen neuer Projekte den OPC-A&E-Server mit hierarchischem Zugriff ein. Wenn Sie ein bestehendes Projekt ab WinCC V6.2 SP2 hochrüsten, können Sie den OPCA&E-Server wie bisher verwenden oder den OPC-A&E-Server auf hierarchischem Zugriff umstellen. Die Umstellung können Sie ohne Datenverlust wieder rückgängig machen. Weitere Informationen finden Sie unter "So rüsten Sie OPC A&E ab WinCC V6.2 SP2 hoch". So rüsten Sie OPC A&E ab WinCC V6.2 SP2 hoch Einleitung Ab WinCC V6.2 SP2 wurde OPC A&E um den hierarchischen Zugriff auf das Meldesystem erweitert. Der Standard ist weiterhin der OPC-A&E-Server mit nicht hierarchischem Zugriff. Hochrüstung von OPC A&E Wenn Sie OPC A&E mit hierarchischem Zugriff verwenden und alle Funktionen nutzen wollen, ist gegebenenfalls eine Anpassung des aktuell verwendeten OPC-A&E-Clients erforderlich. Ausgehend von der WinCC-Version Ihres Projekts werden die möglichen Hochrüstungsszenarien von OPC A&E beschrieben: ● Hochrüsten des Projekts von WinCC V6.2 auf WinCC V6.2 SP2 ● Das Projekt wird mit WinCC V6.2 SP2 oder höher angelegt. Hochrüsten von WinCC V6.2 auf WinCC V6.2 SP2 Sie können ein Projekt mit WinCC V6.2 bezüglich OPC A&E wie folgt auf WinCC V6.2 SP2 hochrüsten: Bisherigen OPC A&E ohne hierarchischem Zugriff beibehalten Wenn Sie mit dem bisher verwendeten OPC-A&E-Server weiter arbeiten wollen, sind folgende Szenarien möglich: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 175 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● Wenn Sie die Standard-Datei"CcAeProvider.ini" nicht geändert haben, müssen Sie keine weitere Einstellungen vornehmen. ● Wenn Sie die Standard-Datei"CcAeProvider.ini" geändert haben und diese behalten wollen, gehen Sie wie folgt vor: – Sichern Sie die Datei "CcAeProvider.ini" aus dem WinCC-Installationspfad im Ordner "OPC\AlarmEvent\bin". Wenn Sie mit einem verteilten System oder in STEP 7 integriert arbeiten, dann sichern Sie die Datei aus dem Projekt auf dem WinCC-Client bzw. auf der OS. – Kopieren Sie nach dem Hochrüsten diese Datei in das WinCC-Projektverzeichnis. Wenn Sie mit einem verteilten System oder in STEP 7 integriert arbeiten, dann kopieren Sie die Datei auf dem WinCC-Server bzw. auf der ES in das Projektverzeichnis der Client-Projekte bzw. der OS-Projekte. ● Wenn Sie die Datei "CcAeProvider.ini" geändert haben und durch die vom Produkt gelieferte Standarddatei "CcAeProvider.ini" ersetzen wollen, löschen Sie vor dem Hochrüsten diese Dateien auf den Servern und Clients bzw. ES-Rechnern und OSRechnern. Auf einer ES befindet sich der Projektordner im Unterordner "wincproj". Umstieg auf OPC A&E mit hierarchischem Zugriff Wenn Sie mit dem OPC-A&E-Server mit hierarchischen Zugriff arbeiten wollen, gehen Sie wie folgt vor: 1. Kopieren Sie nach dem Hochrüsten die Datei "CcAeProvider.ini" in die Projektordner. Die Datei finden Sie im WinCC-Installationspfad im Ordner "OPC\AlarmEvent\HierarchicalAccess". 2. Aktualisieren Sie die Clients bzw. führen Sie bei OS-Servern ein Gesamtladen durch. Anlegen eines Projekts mit WinCC V6.2 SP2 oder höher Projekte, die ab WinCC V6.2 SP2 neu angelegt werden, setzen weiterhin den OPC-A&EServer ohne hierarchischem Zugriff ein. Sie müssen keine weitere Einstellungen vornehmen. Wenn Sie mit dem OPC-A&E-Server mit hierarchischen Zugriff arbeiten wollen, gehen Sie wie folgt vor: 1. Kopieren Sie nach dem Hochrüsten die Datei "CcAeProvider.ini" in die Projektordner der ES-Projekte. Die Datei finden Sie im Ordner "OPC\AlarmEvent\Hierarchical-Access" unterhalb des Installationspfads von WinCC. 2. Aktualisieren Sie die Clients bzw. führen Sie bei OS-Servern ein Gesamtladen durch. 176 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Abbildung des WinCC Meldesystems auf OPC A&E Abbildung des WinCC Meldesystems Einleitung Das sich aus der Projektierung resultierende WinCC-Meldesystem legt fest, welches Ereignis im Prozess eine Meldung auslöst. Diese Meldung wird bei OPC-A&E als Event Notification abgebildet. Abbildung des WinCC-Meldesystems auf OPC-A&E mit hierarischem Zugriff Als Standardeinstellung für die Abbildung des WinCC-Meldesystems wird in WinCC die OPCSource des WinCC Anwendertextblocks "2" und die OPC-Message des WinCC Anwendertextblocks "1" verwendet. Übersicht Die folgende Tabelle zeigt die wichtigsten Attribute der Event Notifications und die zugeordneten Informationen aus dem WinCC-Meldesystem. Welche Events die aufgeführten Attribute verwenden, zeigt die dritte Spalte der Tabelle: ● "S" entspricht dem Simple Event ● "C" entspricht dem Conditional Event ● "T" entspricht dem Tracking Event OPC WinCC Meldesystem Event-Typ Area Die Struktur der Gruppenmeldungen bestimmen die Areas in OPC A&E. Wenn keine Gruppenmeldung für die Meldung projektiert ist, ist nur die OPC Area entsprechend dem Serverpräfix vorhanden. S, C, T Source Gibt die Quelle einer Meldung an. Die Source hat die Formatierung "<Serverpräfix>::Area\Anwendertextblock 2". Das Serverpräfix eines lokalen Rechners ist "@LOCALMACHINE". Die Serverpräfixe stellen stets die obersten Areas in der Hierarchie des Servers dar. S, C, T Time Gibt den Zeitstempel für gekommene, gegangene und quittierte Meldung aus. Der Zeitstempel wird in UTC (Koordinierte Weltzeit ) angegeben. S, C, T Type Gibt an, ob es sich um ein Simple, Tracking oder Conditional Event handelt. S, C, T Severity Gibt die Priorität der Meldung aus. S, C, T EventCategory Gibt die Meldeklasse aus. "Event Category" setzt sich zusammen aus "CategoryID" und "Category Description". "CategoryID" entspricht der internen ID der Meldeklasse. "Category Description" entspricht dem Namen der Meldeklasse. S, C, T Message Gibt den Meldetext der entsprechenden Meldungsnummer aus. S, C, T Condition Gibt die Meldeart aus. C Sub Condition Entspricht dem Parameter "Condition". C ChangeMask Gibt die Änderung der Condition an. Weitere Informationen dazu finden Sie unter "Quittierphilosophie". C WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 177 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC WinCC Meldesystem Event-Typ NewState Gibt den aktuellen Status der Condition aus. Weitere Informationen dazu finden Sie unter "Quittierphilosophie". C ConditionQuality Gibt die Qualität der Meldung aus. Weitere Informationen dazu finden Sie unter "Quality Codes". C AckRequired Gibt an, ob die Meldung quittierpflichtig ist. C EventAttribute Listet die Attribute auf, die für diese Meldung angefordert wurden. Weitere Informationen dazu finden Sie unter "Attribute des WinCC Meldesystems". C Quality Gibt den Quality Code der Meldung wieder. C Cookie Enthält für den Client keine verwertbare Informationen C ActorID Gibt den Benutzer an, der die Meldung quittiert hat. T Hinweis Wenn als Filter für Area ein Text ohne Wildcard angegeben ist, werden nur die Meldungen dieser Area zurückgeliefert. Sollen auch die Sourcen zurückgeliefert werden, die sich in Areas unterhalb der angegebenen Area befinden, müssen Sie Wildcards verwenden. Hinweis Die Meldeklassen und Meldearten müssen auf den verbundenen OS-Servern identisch konfiguriert sein, wenn Sie den OPC-A&E-Server wie folgt betreiben: ● auf einem WinCC Client ● auf einer Connectivity Station Wenn die OS-Server nicht identisch konfiguriert sind, muss der eingesetzte OPC-Client direkt auf den jeweiligen OS-Server zugreifen. Abbildung der Priorität von Meldungen Einleitung Die Priorität von Meldungen wird durch den OPC-A&E-Server auf das Attribut "Severity" abgebildet. Bei der Konfiguration von Alarmen im Meldesystem können Sie eine Priorität von "0" bis "16" projektieren. Die OPC-A&E-Spezifikation definiert für die Severity einen Wertbereich von "1" bis "1000". Dabei steht "1" für die niedrigste und "1000" für die höchste Severity. Deshalb werden die Werte der Priorität geeignet auf die OPC-Severity abgebildet. In der Standard-Abbildung wird Priorität "0" zu OPC-Severity "1" und Priorität "16" zu OPC-Severity "1000". Alle anderen Prioritätswerte werden linear zwischen "0" und "1000" interpoliert. 178 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Attribute des WinCC Meldesystems Einleitung Die folgende Tabelle listet die OPC-Attribute des WinCC Meldesystems auf. Die Attribute werden im WinCC Meldesystem projektiert. Einige Attribute sind nur für den internen Gebrauch in WinCC vorgesehen und daher für einen OPC-A&E-Client nicht relevant. Diese Attribute sind in der Tabelle nicht enthalten. Attribute OPC Attribute WinCC Meldesystem Datentyp CLASSNAME Gibt den Namen Meldeklasse aus. VT_BSTR TYPENAME Gibt den Namen der Meldeart aus. VT_BSTR FORECOLOR Gibt die Textfarbe für gekommene, gegangene oder quittierte Meldungen aus. VT_I4 BACKCOLOR Gibt die Hintergrundfarbe für gekommene, gegangene oder quittierte Meldungen aus. VT_I4 FLASHCOLOR Gibt die Blinkfarbe aus. VT_I4 FLAGS Gibt an ob, die Meldung quittierpflichtig ist. VT_I4 TEXT01 Gibt den Inhalt des Anwendertextblocks01 aus. VT_BSTR TEXT02 Gibt den Inhalt des Anwendertextblocks02 aus. VT_BSTR TEXT03 Gibt den Inhalt des Anwendertextblocks03 aus. VT_BSTR TEXT04 Gibt den Inhalt des Anwendertextblocks04 aus. VT_BSTR TEXT05 Gibt den Inhalt des Anwendertextblocks05 aus. VT_BSTR TEXT06 Gibt den Inhalt des Anwendertextblocks06 aus. VT_BSTR TEXT07 Gibt den Inhalt des Anwendertextblocks07 aus. VT_BSTR TEXT08 Gibt den Inhalt des Anwendertextblocks08 aus. VT_BSTR TEXT09 Gibt den Inhalt des Anwendertextblocks09 aus. VT_BSTR TEXT10 Gibt den Inhalt des Anwendertextblocks10 aus. VT_BSTR PROCESSVALUE01 Gibt den Inhalt des Prozesswertblocks01 aus. VT_VARIANT PROCESSVALUE02 Gibt den Inhalt des Prozesswertblocks02 aus. VT_VARIANT PROCESSVALUE03 Gibt den Inhalt des Prozesswertblocks03 aus. VT_VARIANT PROCESSVALUE04 Gibt den Inhalt des Prozesswertblocks04 aus. VT_VARIANT PROCESSVALUE05 Gibt den Inhalt des Prozesswertblocks05 aus. VT_VARIANT PROCESSVALUE06 Gibt den Inhalt des Prozesswertblocks06 aus. VT_VARIANT PROCESSVALUE07 Gibt den Inhalt des Prozesswertblocks07 aus. VT_VARIANT PROCESSVALUE08 Gibt den Inhalt des Prozesswertblocks08 aus. VT_VARIANT PROCESSVALUE09 Gibt den Inhalt des Prozesswertblocks09 aus. VT_VARIANT PROCESSVALUE10 Gibt den Inhalt des Prozesswertblocks10 aus. VT_VARIANT STATETEXT Gibt die Statusmeldung aus. VT_BSTR INFOTEXT Gibt den Informationstext zur Meldung aus. VT_BSTR LOOPINALARM Gibt an, ob LoopInAlarm projektiert ist. VT_I4 CLASSID Gibt die ID der Meldeklasse aus. VT_I4 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 179 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC Attribute WinCC Meldesystem Datentyp TYPEID Gibt die ID der Meldeart aus. VT_I4 MODIFYSTATE Gibt den Wert der Zustandvariable der Meldung aus. VT_I4 AGNR Gibt die Nummer des AS aus, auf der die Meldung entstanden ist. VT_I2 CPUNR Gibt die Nummer der CPU aus, auf der die Meldung entstanden ist. VT_I2 DURATION Gibt den Zeitraum zwischen kommend, gehend und Quittierung einer Meldung aus. VT_I4 COUNTER Gibt die Anzahl der Meldungen nach dem Start von Runtime aus. VT_I4 QUITSTATETEXT Gibt an, ob die Meldung quittiert worden ist. VT_BSTR QUITCOUNT Gibt die Anzahl der offenen, nichtquittierten Meldungen aus. VT_I4 PARAMETER Gibt den Parameter der Meldung aus. (Abbild der Meldungskonfiguration). VT_BSTR BLOCKINFO Gibt den aktuellen Inhalt des Meldeblocks aus. VT_BSTR ALARMCOUNT Gibt die Anzahl der anstehenden Meldungen aus. VT_I4 LOCKCOUNT Gibt die Anzahl der gesperrten Meldungen aus. VT_I4 PRIORITY Gibt die projektierte Priorität der Meldung an. VT_I4 APPLICATION Gibt die Applikation aus, die die Meldung auslöste. VT_BSTR COMPUTER Gibt den Rechnername aus, der die Meldung bearbeitete. VT_BSTR USER Gibt den Benutzer aus, der die Meldung bearbeitete. VT_BSTR COMMENT Gibt den Kommentar der Meldung aus. VT_BSTR HIDDEN-COUNT Gibt die Anzahl der ausgeblendeten Meldungen aus. VT_I4 BIG COUNTER Gibt die Anzahl der Meldungen nach dem Start von Runtime aus. VT_CY OS-HIDDEN Gibt den Zustand aus, ob die Meldung ausgeblendet ist. VT_BOOL OS-EVENTID Gibt die konfigurierte Meldungsnummer der Meldung aus. VT_I4 Quittierphilosophie Einleitung In WinCC ist die Quittierphilosophie die Art und Weise, wie eine Meldung vom "Kommen" bis zum "Gehen" dargestellt und bearbeitet wird. Beim OPC-A&E-Server wird dieser Meldungsstatus in den Parametern "ChangeMask" und "NewState" dargestellt. Conditional Events, Simple Events und Tracking Events Meldungen mit Quittierung werden vom System als Conditional Events an den Client gesendet. Damit eine Meldung als Simple Event behandelt wird, muss die Meldeklasse der Meldung folgende Voraussetzungen erfüllen: ● "Quittierung gekommen" ist nicht aktiviert. ● "Meldung ohne Zustand gegangen" ist aktiviert. 180 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity In WinCC werden Meldungen der Meldeklasse "System, nicht quittierpflichtig" mit der Meldeart "Bedienmeldung" als Tracking Events übertragen. Hinweis Meldungen mit der Meldeklasse "System, nicht quittierpflichtig" und der Meldeart "Leittechnik" werden als Simple Events mit der EventCategory "Systemmeldung" übertragen. ChangeMask Der Parameter "ChangeMask" hält fest, wo der Meldezustand sich geändert hat. Parameterwerte: ● OPC_CHANGE_ACTIVE_STATE ● OPC_CHANGE_ENABLE_STATE ● OPC_CHANGE_ACK_STATE NewState Der Parameter "NewState" zeigt den Meldungszustand nach Änderung an. Parameterwerte: ● OPC_CONDITION_ACTIVE ● OPC_CONDITION_ENABLED ● OPC_CONDITION_ACKED Übersicht WinCC NewState ChangeState Gekommene Meldung OPC_CONDITION_ACTIVE OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gegangene Meldung mit Quittierung OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gegangene Meldung ohne Quittierung OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Quittierte Meldungen (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Quittierte Meldungen (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Gesperrte Meldung -------------------------------------- OPC_CHANGE_ENABLED_STA TE Freigegebene Meldung OPC_CONDITION_ENABLED OPC_CHANGE_ENABLED_STA TE WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 181 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity WinCC NewState ChangeState Gekommene, quittierte Meldung OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACTIVE_STAT E Gekommene, gegangene Meldung mit Quittierung OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Gekommene, gegangene Meldung ohne Quittierung OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Vom System quittierte Meldung (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Vom System quittierte Meldung (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Notquittierte Meldung (Meldung steht noch an) OPC_CONDITION_ACTIVE OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Notquittierte Meldung (Meldung steht nicht mehr an) OPC_CONDITION_ACKED OPC_CONDITION_ENABLED OPC_CHANGE_ACK_STATE Hinweis Historische Alarme und Events werden nicht quittiert. Die Schnittstelle OPC-A&E historische Events wird nur lesend verwendet. Quality Codes für OPC A&E Einleitung Der Quality Code wird dazu benötigt, den Status und die Qualität einer Meldung zu prüfen. Die Quality Codes für OPC werden beschrieben in der Spezifikation "Data Access Custom Interface Standard Version 3.00" im Kapitel "6.8 OPC Quality flags". Quality Codes 182 Code Quality Status 0xC0 OPC_GOOD OK 0x40 OPC_UNCERTAIN Wird bei Unstimmigkeiten ausgegeben, z.B. bei verspäteter Quittierung. 0x00 OPC_BAD Wird ausgegeben, wenn die Verbindung zur Source unterbrochen ist. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Lesen von archivierten Meldungen Zugriff auf archivierte Ereignisse Einleitung Mit einem OPC-Client können Sie über den OPC-A&E-Server auf archivierte Meldungen zugreifen. Beim Zugriff auf archivierte Meldungen werden zwei Methoden unterstützt: ● Ausgabe von archivierten Meldungen aus einem Zeitbereich in der Vergangenheit ● Ausgabe von archivierten Meldungen ab einem Zeitbereich in der Vergangenheit ohne Endzeitpunkt. Nach der Ausgabe der archivierten Meldungen werden alle weiteren neu erzeugten Meldungen automatisch an den OPC-Client gesendet. Hinweis Nach dem Lesen von archivierten Meldungen, dürfen Sie die zurückgelieferte "ActiveTime" einer Meldung weder für die Quittierung der Meldung noch für die Verfolgung der Transitionen der Meldung verwenden. Damit dieses sichergestellt ist, muss der OPCA&E-Client den "EventType" einer Meldung auf das zusätzliche Flag "OPC_HAE_HISTORICAL_EVENTFLAG" überprüfen. Die "ActiveTime" ist bei archivierten Meldungen nicht korrekt. Informationen zu dem zusätzlichen Flag finden Sie unter "Identifizieren von archivierten Meldungen". Abfrage der Funktionalität "Historische Alarme und Events" Neben den Standardfiltern werden bei dem erweiterten OPC-A&E-Server von WinCC folgende Filter angeboten: Filter Werte der Filter Beschreibung OPC_HAE_FILTER_BY_TIMEFRAME 0x80000000 Entspricht der Funktion "ReadRaw" bei OPC Historical Data Access OPC_HAE_FILTER_BY_STARTTIME 0x40000000 Entspricht der Funktion "AdviseRaw" bei OPC Historical Data Access Source Filter und Anforderung der historischen Alarme Damit Sie archivierte Meldungen anfordern können, muss der OPC-Client die Funktionalität "SetFilter" an einer Subscription unterstützen. Wenn Sie den Array des "Source Filter" einer Subscription zusätzlich das Schlüsselwort "OPCHAEServer" einfügen, sendet der OPCServer auch archivierte Meldungen. Neben diesem Schlüsselwort legen Sie mit weiteren Parametern fest, wie Meldungen gelesen werden: ● Methode ● Zeitraum ● Mit oder ohne Grenzen Die Liste der Sourcen, die im Filter angegeben werden, kann neben der Source "OPCHAEServer" weitere Source-Namen enthalten. In diesem Fall liefert die Subscription nur WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 183 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity die historischen Ereignisse der angegebenen Sourcen. Die Reihenfolge der Source-Namen hat keine Auswirkung. Nach dem Konfigurieren des Source Filters können Sie den gewählten Zeitbereich vom Client mit einem "Refresh"-Aufruf abrufen. Syntax für Zugriff auf archivierte Meldungen mit OPC Syntax OPCHAEServer hMode=(read|advise) htStartTime=szTime [htEndTime=szTime] [bBounds=(TRUE|FALSE)] Parameter hMode = [read|advise] Der Parameter ist erforderlich. Legt fest, wie die archivierten Meldungen und Ereignisse gelesen werden. read: Gibt archivierte Meldungen und Ereignisse eines definierten Zeitraums der Vergangenheit aus (vergleichbar mit ReadRaw bei OPC Historical Data Access). Im Folgenden das Beispiel für das Setzen eines Filters zum Lesen über die letzten 30 Minuten: OPCHAEServer hMode=read htStartTime=NOW-30M bBounds=TRUE advise: Gibt archivierte Meldungen und Ereignisse ab einem definierten Zeitpunkt aus. Nach dem Empfangen aller archivierten Meldungen werden neue Meldungen wie bei einer aktiven Subscription gesendet (vergleichbar mit AdviseRaw bei OPC Historical Data Accesss). Im folgenden Beispiel werden die Meldungen ab den letzten 30 Minuten gelesen (Subscription muss aktiv sein): OPCHAEServer hMode=advise htStartTime=NOW-30M Hinweis Für die Parameter "htStartTime" und "htEndTime" wird folgende Notation unterstützt: ● Relative Notationen, z.B. NOW ● Symbolische Werte, z.B. NOW, YEAR, MONTH ● Angabe von absoluten UTC Datum-/Uhrzeit Werten entsprechend der XML-Notation: 2006-09-01T10:00:00.000Z Die Verwendung der symbolischen Notation entspricht der Syntax von OPC Historical Data Access. htStartTime = Der Parameter ist erforderlich. Legt den Zeitpunkt fest, ab dem die Meldungen und Ereignisse aus dem Archiv gelesen werden. 184 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity htEndTime = Der Parameter ist optional. Legt den Zeitpunkt fest, bis zu dem die Meldungen und Ereignisse aus dem Archiv gelesen werden. Wenn "hMode = read" ist, wird als Standardeinstellung "NOW" verwendet. bBounds = [TRUE|FALSE] Der Parameter ist optional. Legt fest, wie Meldungen nahe der Start- und Endzeit behandelt werden. Die Funktion ist identisch zu OPC Historical Data Access. bBounds=FALSE: ● Der Zeitstempel der ersten übertragenen Meldung >= htStartTime ● Der Zeitstempel der letzten übertragenen Meldung < htEndTime bBounds=TRUE: ● Der Zeitstempel der ersten übertragenen Meldung <= htStartTime ● Der Zeitstempel der letzten übertragenen Meldung >= htEndTime Standardeinstellung ist FALSE. Lesemethoden für archivierte Meldungen Einleitung Beim Lesen von archivierten Meldungen können Sie eine der beiden Lesemodi verwenden: ● read ● advise Lesemodus "read" Mit dem Lesemodus "read" werden archivierte Meldungen aus einem definierten Zeitbereich in der Vergangenheit gelesen. Die Reihenfolge der gelesenen Meldungen ist immer chronologisch bezogen auf jeden OS Server, von dem Alarme gelesen werden. Sie können durch das Setzen der Start- und Endzeit festlegen, ob die älteste Meldung zuerst oder zuletzt ausgegeben wird. Wenn die Startzeit kleiner als die Endzeit ist, wird die älteste Meldung zuletzt ausgegeben. Wenn Sie den Lesemodus "read" anwenden wollen, führen Sie auf die Subscription folgende Funktionen aus: 1. SetFilter 2. Refresh Ein "SetFilter" während des "Refresh" wird verworfen. Wenn Sie während des "Refresh" die Subscription aktivieren, dann wirkt sich das nicht auf den Ablauf des Refresh aus. Die historischen Ereignisse werden weiterhin mit der Refresh-Kennung übertragen. Die neu erzeugten Ereignisse werden entsprechend dem Standardverhalten einer aktiven Subscription übertragen: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 185 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● Berücksichtigung der gesetzten Filterwerte, mit Ausnahme der "historischen" Source "OPCHAEServer" ● Ohne Refresh-Kennung Dadurch kann der Client die empfangenen Ereignisse anhand der Refresh-Kennung unterscheiden. Ein Ereignis-Paket enthält nie historische und neue Ereignisse gleichzeitig. ● Ereignis-Pakete mit der Refresh-Kennung enthalten ausschließlich historische Ereignisse. Diese Ereignisse können auch noch anstehen. ● Ereignis-Pakete ohne Refresh-Kennung enthalten ausschließlich neu erzeugte Ereignisse. Lesemodus "advise" Mit dem Lesemodus "advise" werden archivierte Meldungen ab einem definierten Zeitpunkt in der Vergangenheit gelesen. Nach dem Lesen aller archivierten Meldungen werden neue Meldungen wie bei einer aktiven Subscription gesendet. Die archivierten Meldungen werden chronologisch, bezogen auf jeden OS Server, übertragen: Zuerst werden die archivierten Meldungen ab der Startzeit übertragen. Danach werden die neuen archivierten Meldungen übertragen. Beachten Sie, dass Sie bei "advise" keine Endzeit angeben dürfen. Für Lesemodus "advise" wird eine aktive Subscription verwendet. Wenn Sie die Funktion "SetFilter" auf eine aktive Subscription ausführen, werden die historischen Alarme sofort übertragen. Wenn Sie die Funktion "SetFilter" auf eine inaktive Subscription ausführen, werden die archivierten Meldungen erst nach dem Aktivieren der Subscription übertragen. Wenn Sie den Lesemodus "advise" bei einem inaktive Subscription verwenden wollen, gehen Sie wie folgt vor: 1. SetFilter 2. Mit SetState Subscription auf Active setzen Wenn Sie die Subscription deaktivieren, wird die Übertragung unterbrochen. Wenn Sie die Subscription auf "inactive" setzen, wird die Übertragung beendet. Ein "SetFilter" wird verworfen, während die Subscription aktiv ist. Ein "Refresh" auf eine aktive "historische" Subscription im "advise"-Modus funktioniert genauso wie bei einer Standard-Subscription: Alle anstehenden Condition Related Ereignisse werden in Paketen mit Refresh-Kennung übertragen. Das letzte Paket enthält zusätzlich die Kennung "Last Refresh". Ein "Refresh"-Aufruf hat im Modus "advise" keinen Einfluss auf das Lesen von historischen Alarmen. 186 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Identifizieren von archivierten Meldungen Prinzip Archivierte Meldungen werden über ein zusätzliches Flag im EventType unterschieden. Dieses Flag ist mit dem realen EventType über eine ODER-Verknüpfung verbunden: Bezeichnung EventType EventType (archivierte Meldung) OPC_SIMPLE_EVENT 0x01 0x81 OPC_CONDITION_EVENT 0x04 0x84 OPC_TRACKING_EVENT 0x02 0x82 OPC_HAE_HISTORICAL_EVENTFLAG 0x80 Beispiele Beispiel 1 Mit dem folgenden Source-Filter werden die archivierten Meldungen und Ereignisse der vergangenen 30 Minuten im "read"-Modus ausgegeben. Die älteste Meldung pro OS-Server wird als Erstes ausgegeben. Außerdem wird der untere Grenzwert geliefert. OPCHAEServer hmode=read htStartTime=NOW-30M bBounds=TRUE Beispiel 2 Mit dem folgenden Source-Filter werden die archivierten Ereignisse des 1. September 2006 von 10:00 Uhr bis 12:00 Uhr im "read"-Modus ausgegeben. Die neueste Meldung pro OSServer wird als Erstes ausgegeben. Außerdem werden die Grenzwerte dieses Zeitbereichs geliefert. OPCHAEServer hMode=read htStartTime=2006-09-01T12:00:00.000Z htEndTime=2006-09-01T10:00:00.000Z bBounds=TRUE Beispiel 3 Mit dem folgenden Source-Filter werden die archivierten Meldungen und Ereignisse der vergangenen 30 Minuten im "advise"-Modus ausgegeben. Nach dem Lesen der archivierten Meldungen werden die neu erzeugten Meldungen wie bei einer aktiven Subscription übertragen: OPCHAEServer hmode=advise htStartTime=NOW-30M WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 187 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 3.6.2.10 WinCC-OPC-UA-Server Funktionsweise des WinCC OPC-UA-Servers Funktionsweise Der WinCC-OPC-UA-Server stellt folgende Werte zur Verfügung: ● Prozesswerte ● Werte aus Variablenarchiven Der WinCC-OPC-UA-Server wird als Windows-Dienst installiert und automatisch gestartet. Der WinCC-OPC-UA-Server unterstützt ausschließlich das Kommunikationsprofil "UA-TCP UA-SC UA Binary". Die verwendete Portnummer ist einstellbar. Unterstützte Spezifikationen OPC Unified Architecture ist eine Spezifikation zur Übertragung von Prozesswerten und Archivdaten. Der WinCC-OPC-UA-Server unterstützt die Übertragung von Prozesswerten und Archivdaten. Weitere Informationen über die unterstützten UA-Funktionalitäten finden Sie unter "Unterstützte OPC-UA-Services (Seite 191)". Installation Nach der Installation von WinCC ist der WinCC-OPC-UA-Server ohne eine Projektierung sofort einsetzbar. Der WinCC-OPC-UA-Server kann auf einem WinCC-Server oder WinCC-Client eingesetzt werden. URL des WinCC-OPC-UA-Servers Sie erreichen den WinCC-OPC-UA-Server über folgenden URL: ● "opc.tcp://[HostName]:[Port]" Parameter Beschreibung HostName Platzhalter für den Computernamen. Wird automatisch eingesetzt Port Portnummer. Voreingestellt ist "4862". Discovery Server Der "Discovery Server" wird von der OPC Foundation zur Verfügung gestellt. Der "Discovery Server" ist standardmäßig auf dem Bediengerät als Windows-Dienst installiert. Der "Discovery Server" stellt UA-Clients Informationen über OPC-UA-Server zur Verfügung, die am "Discovery Server" angemeldet sind. 188 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Der WinCC-OPC-UA-Server meldet sich bei Runtime-Start abhängig von seiner Konfiguration an keinem, einem oder allen verfügbaren "Discovery Servern" an. Wenn Sie Runtime beenden, wird der WinCC-OPC-UA-Server automatisch vom "Discovery Server" abgemeldet. Unterstützte Sprachen im WinCC-Adressraum Der WinCC-OPC-UA-Server unterstützt den WinCC-Adressraum in folgenden Sprachen: ● Deutsch ● Englisch ● Französisch ● Italienisch ● Spanisch Sicherheitskonzept von OPC UA Einleitung Der WinCC-OPC-UA-Server verwendet zum Austausch von Daten das TCP/IP-Protokoll. Zur Autorisierung zwischen WinCC-OPC-UA-Server und OPC-UA-Client werden Zertifikate ausgetauscht. Den Datenverkehr können Sie zusätzlich verschlüsseln. Sicherheitskonzept Der WinCC-OPC-UA-Server und jeder OPC-UA-Client autorisieren sich gegenseitig, indem Sie Zertifikate austauschen. Der WinCC-OPC-UA-Server erzeugt bei der Installation standardmäßig ein selbst signiertes Instanzzertifikat. Alternativ können Sie dieses Instanzzertifikat durch ein projektspezifisches Instanzzertifikat ersetzen. Hinweis Privater Schlüssel und eigene Zertifikate Wenn Sie eine eigene Zertifizierungsstelle besitzen, können Sie Zertifikate selber erzeugen und allen Kommunikationspartnern zur Verfügung stellen. Löschen Sie in diesem Fall das vom WinCC-OPC-UA-Server selbst erzeugte Instanzzertifikat. Das Instanzzertifikat wird im Zertifikatspeicher abgelegt. Abhängig von der Konfiguration des WinCC-OPC-UA-Servers wird einer der folgenden Zertifikatspeicher verwendet: ● Zertifikatspeicher des WinCC-OPC-UA-Servers unter: "<WinCC-Installationsordner>\OPC\UAServer\PKI" ● Zertifikatspeicher des Betriebssystems im Ordner "UA Applications" Damit der WinCC-OPC-UA-Server und ein OPC-UA-Client miteinander kommunizieren können, müssen die Zertifikate gegenseitig bekannt sein: WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 189 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● Verwenden Sie den gemeinsamen Zertifikatspeicher des Betriebssystems. Oder ● Kopieren Sie die Zertifikate in den Zertifikatsspeicher der beteiligten Kommunikationspartner: – WinCC-OPC-UA-Server – OPC-UA-Client – Discovery-Server (optional) Sicherheitseinstellungen Die folgende Tabelle zeigt die Sicherheitseinstellungen, die vom WinCC-OPC-UA-Server unterstützt werden: Security Policy Message Security Mode None1 Basic128Rsa15 None 2 Basic2563 None4 Sign5 SignAndEncrypt6 None4 Sign5 SignAndEncrypt6 1: Der Zertifikatsaustausch ist ausgeschaltet. Jeder OPC-UA-Client kann sich am WinCC-OPC-UA-Server anmelden. 2: Zertifikatsaustausch mit Verschlüsselungstiefe von 128 Bit. 3: Zertifikatsaustausch mit Verschlüsselungstiefe von 256 Bit. 4: Die Datenpakete werden nach Zertifikatsprüfung ungesichert zwischen Client und Server ausgetauscht 5: Die Datenpakete werden mit den Zertifikaten signiert, aber nicht verschlüsselt 6: Die Datenpakete werden mit den Zertifikaten signiert und verschlüsselt Hinweis Ungesicherte Kommunikation zwischen Client und Server Verwenden Sie die Einstellung "none" ausschließlich zu Test- oder Diagnosezwecken. Verwenden Sie im Produktivbetrieb für eine sichere Kommunikation zwischen Client und Server mindestens folgende Einstellungen: ● SecurityPolicy: Basic128Rsa15 ● Message Security Mode: Sign Die Verwendung der SecurityPolicy "none" können Sie über die Konfigurationsdatei des WinCC-OPC-UA-Servers deaktivieren. Weitere Hinweise hierzu finden Sie im Kapitel "WinCC-OPC-UA-Server konfigurieren". Benutzeridentifizierung Zur Identifizierung des Benutzerkontos eines OPC-UA-Clients unterstützt der WinCC-OPCUA-Server die Methoden "Anonym" und "Windows-Benutzername / Kennwort". Dazu muss am WinCC-OPC-UA-Server das jeweilige Benutzerkonto in der Windows-Benutzerverwaltung bekannt sein. 190 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Die Benutzeridentifizierung wird ausschließlich zum Aufbau einer Kommunikationssitzung verwendet. Unterschiedliche Zugriffsrechte werden nicht unterstützt. Sie können die Unterstützung anonymer Benutzer in den Konfigurationseinstellungen des WinCC-OPC-UA-Servers deaktivieren. Unterstützte OPC-UA-Services Einleitung Der WinCC-OPC-UA-Server unterstützt die nachfolgend beschriebene Funktionalität. OPC UA Service Sets Die folgende Tabelle zeigt die unterstützten OPC UA Service Sets: OPC UA Service Sets Services Kommentar Discovery Service Alle - Secure Channel Service Alle - Browse Ermitteln der abgebildeten WinCC-Daten: Prozesswerte und archivierte Prozesswerte Session Service View Service BrowseNext RegisterNodes UnregisterNodes Attribute Service Read nur WinCC-Variablen Write nur WinCC-Variablen HistoryRead HistoryUpdate* nur Archivvariablen ) nur Archivvariablen Subscription Service Alle nur "Value"-Attribut von WinCC-Variablen MonitoredItem Service Alle nur "Value"-Attribut von WinCC-Variablen *): Mit Einschränkungen, siehe "Unterstützte Schreibzugriffe (Seite 152)" OPC-UA-Profile und Conformance Units Hinweis Da die OPC-UA-Profile für "Historical Access" noch nicht frei gegeben sind, sind sie in der folgenden Aufzählung nicht berücksichtigt. Der WinCC-OPC-UA-Server unterstützt die folgenden OPC-UA-Profile ohne Einschränkungen: ● 6.5.17 SecurityPolicy - Basic128Rsa15 ● 6.5.18 SecurityPolicy - Basic256 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 191 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity ● 6.5.19 SecurityPolicy - None ● 6.5.21 Base Server Behaviour Facet ● 6.5.22 Standard DataChange Subscription Server Facet ● 6.5.28 Enhanced DataChange Subscription Server Facet ● 6.5.39 UA-TCP UA-SC UA Binary Der WinCC-OPC-UA-Server unterstützt die in der folgenden Tabelle gezeigten OPC-UAProfile, jedoch mit Einschränkungen: Profile "Group" Nicht unterstüzte "Conformance Unit" 6.5.25 Core Server Facet Attribute Services Attribute Write Index 6.5.26 Data Access Server Facet Data Access Data Access Analog Data Access Multistate Data Access PercentDeadBand Data Access Semantic Changes Data Access Two State 6.5.35 Standard UA Server Attribute Services Attribute Write StatusCode & TimeStamp Namensraum des WinCC-OPC-UA-Servers Einleitung Der WinCC-OPC-UA-Server stellt OPC-UA-Clients einen hierarchischen Namensraum zum Darstellen folgender Runtime-Daten zur Verfügung: ● Prozesswerte (WinCC-Variablen und WinCC-Variablengruppen) ● Variablenarchive inklusive Archivvariablen Der Namensraum des WinCC-OPC-UA-Servers wird unter dem Standard-Ordner "Objects" eingehängt. Das folgende Bild zeigt den Namensraum des WinCC-OPC-UA-Servers eines aktiven WinCCProjekts auf dem lokalen PC ("@LOCALMACHINE::"): 192 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 1 2 3 ① ② Startknoten des spezifischen Namensraums von WinCC. ③ Abbildung der Variablenarchive Abbildung der WinCC-Variablen; die Struktur entspricht der Strukturierung der Variablen in WinCC. Abbildung der WinCC-Variablen Variablengruppen, Kommunikationstreiber und Verbindungen werden durch OPC-UA-Objekte vom Typ "FolderType" abgebildet. Jeder dieser Ordner hat Referenzen vom Typ "Organizes" zu den unterlagerten Objekten und Variablen. Interne und externe WinCC-Variablen werden mit OPC-UA-Variablen vom Typ "DataItemType" abgebildet. Wenn eine WinCC-Variable zusätzlich archiviert wird, besitzt die abgebildete OPC-UA-Variable zusätzlich eine Referenz vom Typ "HasHistoricalConfiguration" zu einer Archivkonfiguration. Die Attribute "Historizing" und "AccessLevel" werden entsprechend gesetzt. Die folgende Tabelle zeigt die wichtigsten Attribute der OPC-UA-Variablen, die eine WinCCVariable darstellen. Eine vollständige Auflistung der Attribute finden Sie im Dokument "OPC UA Part 3 - Address Space Model 1.01 Specification" unter "§5.6": Attribut Beschreibung Kommentar NodeId Eindeutige Bezeichnung der WinCCVariable - BrowseName Name der WinCC-Variable - DisplayName Name der WinCC-Variable - Value Variablenwert und -status - WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 193 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Attribut Beschreibung Kommentar DataType OPC-UA-Datentyp, der dem WinCCVariablentyp entspricht, z. B.: - ● Int32; vorzeichenbehafteter 32-BitWert ● UInt32; vorzeichenloser 32-Bit-Wert AccessLevel ValueRank "CurrentRead" / "CurrentWrite" "HistoryRead" / "HistoryWrite" je nach Projektierung der WinCC-Variable Immer "Scalar" - Abbildung der Archivvariablen Prozesswert- und Verdichtungsarchive werden durch OPC-UA-Objekte vom Typ "FolderType" abgebildet. Jeder dieser Ordner hat auch Referenzen vom Typ "Organizes" zu den zugehörigen Archivvariablen. Archivvariablen aus Prozesswert- oder Verdichtungsarchiven werden mit OPC-UA-Variablen vom Typ "BaseDateVariableType" abgebildet. Eine Archivvariable hat immer eine Referenz vom Typ "HasHistoricalConfiguration" zu einer Archivkonfiguration. Die folgende Tabelle zeigt die wichtigsten Attribute der OPC-UA-Variablen, die eine WinCCArchivvariable darstellen. Eine vollständige Auflistung der Attribute finden Sie im Dokument "OPC UA Part 3 - Address Space Model 1.01 Specification" unter "§5.6": Attribut Beschreibung Kommentar NodeId Eindeutige Bezeichnung der Archivvariable - BrowseName Name der Archivvariable - DisplayName Name der Archivvariable - Description Knotenbeschreibung - Value Nicht vorhanden Bei einer Archivvariablen ist dieses Attribut weder lesbar noch änderbar. DataType OPC-UA-Datentyp, der dem WinCCVariablentyp entspricht, z. B.: - ● Double; 64-Bt-Gleitkommazahl ● UInt32; vorzeichenloser 32-Bit-Wert AccessLevel "HistoryRead" / "HistoryWrite" - ValueRank Immer "Scalar" - OPC UA Data Access Die WinCC-Variablen werden auf OPC-UA-Variablen vom Typ "DataItemType" abgebildet. Andere DataAccess-Variablentypen wie "AnalogItem" oder "DiscreteType" werden nicht unterstützt. Der WinCC-OPC-UA-Server unterstützt den lesenden Zugriff auf die OPC-UAVariablenattribute wie "DataType" oder "AccessLevel". Schreibender Zugriff und Subscriptions werden nur für das "Value"-Attribut unterstützt. 194 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity OPC UA Historical Access Einleitung "OPC Historical Access" ermöglicht den Zugriff auf Archive und umfasst die Dienste "Historical Data" und "Alarms & Events". Der WinCC-OPC-UA-Server unterstützt nur den Dienst "Historical Data". Der WinCC-OPC-UA-Server bietet OPC-Clients den Zugriff auf die Rohdaten von Variablenarchiven über folgende Services an: ● HistoryRead (READRAW) ● HistoryUpdate (INSERTDATA, REPLACEDATA, UPDATEDATA, DELETE_RAW) Mit einem OPC-UA-Client können Sie in Variablenarchiven die Werte von Archivvariablen lesen und eingeschränkt schreiben. Abhängig von der Projektierung des Variablenarchivs kann die Archivvariable entweder Rohdaten oder bereits verarbeitete Prozesswerte enthalten. Besonderheiten bei Archivvariablen Gemäß des OPC-Dokuments "OPC UA Part 11 - Historical Access 1.00 Specification" müssen zu archivierende Variablen genau eine Referenz zu einer Archivkonfiguration ("HistoricalConfiguration") haben. In WinCC kann eine Prozessvariable aber in mehreren Variablenarchiven enthalten sein. In diesem Fall wird die Prozessvariable mit einer der jeweiligen Archivvariablen willkürlich verknüpft. Eigenschaften / Properties von Archivkonfigurationen Die folgende Tabelle zeigt die Properties einer OPC-UA-Archivkonfiguration vom Typ "HistoricalConfigurationType". In der Eigenschaft "Description" wird der in WinCC projektierte Kommentar der Archivvariablen abgebildet. Eine vollständige Auflistung der Eigenschaften finden Sie im Dokument "OPC UA Part 11 - Historical Access 1.00 Specification" unter "§4.7.1.4": Property Beschreibung / Wert Kommentar Definition Name der WinCCProzessvariable Bei einem Prozesswertarchiv Stepped True - Folgende optionale Properties werden nicht unterstützt: ● MaxTimeInterval ● MinTimeInterval ● ExceptionDeviation ● ExceptionDeviationFormat Einschränkungen beim Service "HistoryUpdate" Den Service "HistoryUpdate" können Sie nur auf Prozesswertarchive anwenden. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 195 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Die folgende Tabelle zeigt die Funktionen, die vom WinCC-OPC-UA-Server unterstützt werden. Welche Funktionen unterstützt werden, ist von der Konfiguration des WinCC-OPCUA-Servers sowie der Projektierung des Prozesswertarchivs abhängig. Weiterführende Informationen finden Sie im Dokument "OPC UA Part 11 - Historical Access 1.00 Specification" unter "§5.5": Service Funktion Beschreibung HistoryUpdate INSERTDATA Neue Archivwerte einfügen REPLACEDATA Existierende Archivwerte ersetzen UPDATEDATA Archivwerte ersetzen oder einfügen DELETE_RAW Archivwerte löschen WinCC-OPC-UA-Server konfigurieren Konfigurationsdatei Einleitung Über die Konfigurationsdatei "OPCUAServerWinCC.xml" wird der WinCC-OPC-UA-Server konfiguriert. Dieses Kapitel beschreibt den Aufbau der Konfigurationsdatei. Wie Sie den WinCC-OPC-UA-Server konfigurieren, beschreibt das Kapitel "So konfigurieren Sie den OPCUA-Server (Seite 197)". Ablageort Die projektspezifische Konfigurationsdatei "OPCUAServerWinCC.xml" wird im WinCCDateisystem abgelegt unter: "<WinCC-Projektordner>\OPC\UAServer" Aufbau Die Konfigurationsdatei ist in mehrere Abschnitte unterteilt. Abschnitt <Secured Application> In diesem Abschnitt wird gemäß OPC UA Specification / Part 6 / § "Security Settings Management" die OPC-UA-Applikationssicherheit eingestellt. <Secured Application> 196 <BaseAddresses> Konfiguration der URL des WinCC-OPC-UA-Servers. <...></...> </BaseAddresses>. Weitere Informationen zur URL erhalten Sie unter "Sicherheitskonzept von OPC UA (Seite 189)". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity <SecurityProfileUris> <SecurityProfile> <...></...> </SecurityProfile> ... </SecurityProfileUris> Konfiguration der unterstützten Security Policies <ApplicationCertificate> Änderung der standardmäßigen Zertifikatskonfiguration gemäß OPC UA Specification / Part 6. <TrustedCertificateStore> <TrustedCertificates> Verwenden Sie die Einstellung "none" ausschließlich zu Test- oder Diagnosezwecken Weitere Informationen zu Security Policies erhalten Sie unter "Sicherheitskonzept von OPC UA (Seite 189)". (optional) <...> </Secured Application> Abschnitt <Server Configuration> In diesem Abschnitt werden weitere serverspezifische Parameter eingestellt. <Server Configuration> <SecurityPolicies> <SecurityPolicy> <...></...> </SecurityPolicy> ... </SecurityPolicies> <UserTokenPolicies> <UserTokenPolicy> <...></...> </UserTokenPolicy> ... </UserTokenPolicies> <FastInsert> <Users> <...></...> </Users> <Clients> <...></...> <Clients> </FastInsert> Konfiguration der Message Security Modes. Verwenden Sie die Einstellung "none" ausschließlich zu Test- oder Diagnosezwecken Weitere Informationen zu Message Security Modes erhalten Sie unter "Sicherheitskonzept von OPC UA (Seite 189)". Konfiguration der Benutzeridentifizierung Verwenden Sie die Einstellung "Anonymous" ausschließlich zu Testoder Diagnosezwecken Weitere Informationen zu Message Security Modes erhalten Sie unter "Sicherheitskonzept von OPC UA (Seite 189)". Konfiguration des optimierten WinCC-Archiv-Schreibzugriffs <Server Configuration So konfigurieren Sie den OPC-UA-Server Voraussetzung Ein·WinCC-Projekt·ist·angelegt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 197 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Konfigurationsdatei öffnen 1. Öffnen·Sie·den·Windows-Explorer.·Navigieren·Sie·in·das·Verzeichnis· "<WinCCProjektordner>\OPC\UAServer". 2. Öffnen·Sie·die·Konfigurationsdatei·"OPCUAServerWinCC.xml". Weitere Informationen dazu finden Sie unter "Konfigurationsdatei (Seite 196)" Portnummer des WinCC-OPC-UA-Servers ändern 1. Ändern·Sie·bei·Bedarf unter <BaseAdresses>·die·Portnummer 4862. Verwenden Sie keine Portnummer, die durch eine andere Anwendung belegt ist. Der Parameter [HostName] ist Platzhalter für den Computernamen und wird zur Laufzeit ermittelt. Beispiel: <BaseAdresses> <ua:String>opc.tcp://[HostName]:5210</ua:String> <BaseAdresses> Sicherheitseinstellungen festlegen 1. Legen Sie die Sicherheitseinstellungen für die Kommunikation fest .·Weitere Informationen dazu finden Sie unter "Sicherheitskonzept von OPC UA (Seite 189)" 2. Konfigurieren Sie unter <SecurityProfileUris> die unterstützten "Security·Policies". – Mit "true" aktivieren Sie die Einstellung. – Mit "false" deaktivieren Sie die Einstellung. Beispiel: <SecurityProfile> <ProfileUri>http://opcfoundation.org/UA/SecurityPolicy#None</ ProfileUri> <Enabled>false</Enabled> </SecurityProfile> 3. Konfigurieren Sie·unter <SecurityPolicies> die·dazugehörigen·"Message·security· modes". Um eine Einstellung zu deaktivieren, löschen Sie den kompletten Eintrag <SecurityPolicy>... </SecurityPolicy>. Beispiel: <SecurityPolicy> <ProfileUri>http://opcfoundation.org/UA/SecurityPolicy#None</ ProfileUri> <MessageSecurityModes>None</MessageSecurityModes> </SecurityPolicy> 198 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Hinweis Ungesicherte Kommunikation zwischen Client und Server Verwenden Sie die Einstellung "none" ausschließlich zu Test- oder Diagnosezwecken. Verwenden·Sie·im·Produktiv-Betrieb·für·eine·sichere·Kommunikation·zwischen·Client·und· Server·mindestens·folgende·Einstellungen: ● SecurityPolicy:·Basic128Rsa15 Message·Security·Mode:·Sign WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 199 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Benutzeridentifizierung festlegen 1. Legen·Sie·unter <UserTokenPolicies> die·Benutzeridentifizierung für den Verbindungsaufbau fest. Weitere Informationen dazu finden Sie unter "Sicherheitskonzept von OPC UA (Seite 189)" Um eine Einstellung zu deaktivieren,·löschen·Sie·den kompletten Eintrag. Beispiel <UserTokenPolicy> <TokenType>Anonymous</TokenType> </UserTokenPolicy> Optimierten WinCC-Archiv-Schreibzugriff konfigurieren 1. Konfigurieren Sie bei Bedarf unter <FastInsert> den optimierten WinCC-ArchivSchreibzugriff. – Mit "true" aktivieren Sie den optimierten WinCC-Archiv-Schreibzugriff für alle OPC UAClients. – Mit "false" können Sie festlegen, ob bestimmte Windows-Benutzer oder OPC UAClients den optimierten WinCC-Archiv-Schreibzugriff nutzen dürfen. Unter <Users> legen Sie die Windows-Benutzer fest. Unter <Clients> legen Sie die OPC-UA-Clients fest. Verwenden Sie als ClientName den "Common Name", der im Client-Zertifikat eingetragen ist. Beispiel: <EnabledByDefault>false</EnabledByDefault> <Users> <User>domain\user1</User> </Users> <Clients> <Client>ClientName1</Client> </Clients> 3.6.2.11 Inbetriebnahme Inbetriebnahme - OPC Einleitung Der Datenaustausch zwischen einem WinCC-OPC-Server und OPC-Client läuft über die Softwareschnittstelle DCOM. Nach der Installation von WinCC sind die DCOM-Einstellungen des OPC-Servers von WinCC richtig konfiguriert. Wenn ein WinCC-OPC-Server oder Client mit einem Fremd OPC-System kommuniziert, sind entsprechende Anpassungen vorzunehmen. Auf dem Client müssen für den Benutzer in der Benutzerverwaltung in "DCOM/Arbeitsplatz/ COM-Sicherheit/Zugriffsberechtigung/Standard bearbeiten" die Berechtigungen "Lokaler Zugriff" und "Remotezugriff" eingetragen sein. 200 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Konfiguration von Windows So konfigurieren Sie Windows-Konten für die Benutzung von WinCC-OPC Einleitung OPC-Client und OPC-Server sind DCOM-Anwendungen. Eine verteilte DCOM-Anwendung kann nur unter dem gleichen Benutzerkonto ausgeführt werden. Dazu muss auf dem OPCServer das Benutzerkonto des OPC-Clients bekannt sein und umgekehrt. Wenn die WinCC-OPC-Server mit WinCC-OPC-Clients eingesetzt werden, ist die richtige Konfiguration bereits durch die Installation gewährleistet. Bekanntmachen des Benutzerkontos, wenn ein Fremd OPC-Server oder Client eingesetzt wird Weiterführende Informationen zur Vergabe von Benutzerrechten finden Sie in der Dokumentation zu Windows XP. Voraussetzungen Melden Sie sich für die Konfiguration von Benutzerrechten als Administrator jeweils am WinCCOPC-Server und am OPC- Client an. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 201 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Gehen Sie zu "Systemsteuerung > Verwaltung > Computerverwaltung > Lokale Benutzer und Gruppen". 2. Wählen Sie im Kontextmenü "Benutzer" den Eintrag "Neuer Benutzer" aus. Tragen Sie im Dialog "Neuer Benutzer" die Daten des Benutzerkontos des Kommunikationspartners ein. Klicken Sie auf die Schaltfläche "Erstellen" und schließen Sie den Dialog. 3. Klicken Sie auf das Symbol "Benutzer". Klicken Sie die entsprechende Benutzer doppelt. Der Eigenschaftsdialog des Benutzers öffnet sich. 4. Klicken Sie auf die Registerkarte "Mitgliedschaft". Klicken Sie auf die Schaltfläche "Hinzufügen". Der Dialog "Gruppe auswählen" öffnet sich 5. Fügen Sie die Gruppe "Benutzer" hinzu. Wenn Sie sich auf einem Rechner befinden auf dem WinCC installiert ist, fügen Sie außerdem die Gruppe "SIMATIC HMI" hinzu. Schließen Sie alle offenen Dialoge über die Schaltfläche "OK". So passen Sie die Windows Firewall-Einstellungen an Einleitung Nach der Installation von WinCC sind die Windows Firewall-Einstellungen für die OPC-Server von WinCC richtig konfiguriert. Wenn OPC-Clients auf OPC Server in unterschiedlichen Subnetzen zugreifen, müssen Sie die Konfiguration der erlaubten Netzwerkbereiche für die OPC-Server anpassen. 202 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity XML Inbetriebnahme - OPC XML Einleitung Der OPC-XML-Server von WinCC ist als Webdienst realisiert. Dadurch machen Sie Ihren PC vom Internet aus zugänglich. Deshalb ist es notwendig, entsprechende Zugriffsrechte festzulegen. So stellen Sie die Sicherheitseinstellungen mit IIS ein Einleitung Die Internet-Informationsdienste machen Ihren PC vom Internet aus zugänglich. Deshalb ist es notwendig, entsprechende Zugriffsrechte festzulegen. Hinweis Falls Sie Fragen bzw. Schwierigkeiten mit den folgenden Einstellungen haben, wenden Sie sich an Ihren Intra-/Internet Administrator in Ihrer Abteilung. Vorgehensweise 1. Bei Windows 2003 starten Sie über "Systemsteuerung" > "Verwaltung" > "Internetinformationsdienste-Manager" die Management Console. Bei Windows XP starten Sie über "Systemsteuerung" > "Verwaltung" > "Internet Informationdienste" die Management Console. 2. Wählen Sie das virtuelle Verzeichnis "WinCC-OPC-XML" aus. Wählen Sie im Kontextmenü den Eintrag "Eigenschaften". Der Dialog "Eigenschaften von "WinCC OPC-XML" öffnet sich. 3. Klicken Sie auf die Registerkarte "Verzeichnissicherheit". In dieser Registerkarte werden die Sicherheitsfunktionen des Web-Servers eingestellt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 203 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity 4. Bei dem Eintrag "Steuerung des anonymen Zugriffs und der Authentifizierung" auf die Schaltfläche "Bearbeiten" klicken. Der Dialog "Authentifizierungsmethoden" öffnet sich. 5. Aktivieren Sie im Bereich "Authentifizierter Zugriff" den Eintrag "Integrierte WindowsAuthentifizierung". Der anonyme Zugriff auf den Webservice ist möglich, sollte aus Sicherheitsgründen jedoch nicht aktiviert werden. 6. Schließen Sie alle geöffneten Dialoge. Siehe auch So testen Sie die Installation (Seite 205) 204 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity So stellen Sie die korrekte Version von ASP.NET ein Einleitung Wenn Sie WinCC-OPC-XML-DA nutzen wollen, achten Sie bei der Installation auf die korrekte Version von "ASP.NET" der Web-Site, unter der der WinCC-OPC-XML-Webservice eingebunden ist. Hinweis Falls Sie Fragen bzw. Schwierigkeiten mit den folgenden Einstellungen haben, wenden Sie sich an Ihren Intra-/Internet Administrator in Ihrer Abteilung. Vorgehensweise 1. Bei Windows 2003 starten Sie über "Systemsteuerung" > "Verwaltung" > "Internetinformationsdienste-Manager" die Management Console. Bei Windows XP starten Sie über "Systemsteuerung" > "Verwaltung" > "Internet Informationdienste" die Management Console. 2. Wählen Sie das virtuelle Verzeichnis "WinCC-OPC-XML" aus. Wählen Sie im Kontextmenü den Eintrag "Eigenschaften". Der Dialog "Eigenschaften von "WinCC OPC-XML" öffnet sich. 3. Klicken Sie auf die Registerkarte "ASP.NET". In dieser Registerkarte nehmen Sie die Einstellungen für "ASP.NET" des Web-Servers vor. 4. Klicken Sie beim Eintrag "ASP.NET-Version" auf das Textauswahlfeld. Wenn die Version "2.x" noch nicht eingestellt ist, wählen Sie die Version "2.x". 5. Schließen Sie alle geöffneten Dialoge. 6. Nach Änderungen muss der Webservice neu gestartet werden. So testen Sie die Installation Einleitung OPC XML-DA stellt die OPC-Prozessdaten als Webseite zur Verfügung. Auf die Webseite wird über das Internet mittels HTTP zugegriffen. Der folgende Abschnitt zeigt, wie Sie die Installation testen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 205 WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Vorgehensweise 1. Starten Sie den Internet Explorer auf dem Rechner, der als WinCC-OPC-XML-Server eingesetzt wird. 2. Tragen Sie in der Adressleiste die URL "http://localhost/WinCC-OPC-XML/ DAWebservice.asmx" ein. Bestätigen Sie die Eingabe mit <Return>. 3. Wenn Ihnen die OPC XML-DA-Funktionsaufrufe angezeigt werden, war die Installation erfolgreich. Siehe auch So stellen Sie die Sicherheitseinstellungen mit IIS ein (Seite 203) 206 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.6 Zugriff über OPC - Open Connectivity Trace Einleitung Mit dem Trace können Variablenwerte und Funktionsaufrufe für Testzwecke und zur Fehlersuche protokolliert werden. Die Einträge werden in einer Trace-Datei gespeichert. Die Trace-Datei zeigt z.B. Schritt für Schritt den Vorgang des Verbindungsaufbaus und erleichtert so die Lokalisierung eines Verbindungsproblems. Einstellung Die Ausgabe des Traces muss in der Registry des Betriebssystem eingestellt werden. Weitere Informationen dazu erhalten Sie beim SIMATIC Customer Support . WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 207 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 3.7 Beispiele für den Zugriff über OLE DB-Provider 3.7.1 Beispiele für den Zugriff über OLE DB-Provider Überblick Die folgenden Beispiele zeigen, wie Sie Archivdaten unterschiedlich darstellen und auswerten können. Siehe auch Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen (Seite 231) Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen (Seite 218) Beispiel: Zugriff auf Archivdaten mit DataConnector Wizard projektieren (Seite 210) Beispiel: Zugriff auf Archivdaten mit VB projektieren (Seite 208) Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen (Seite 234) Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen (Seite 222) 3.7.2 Beispiel: Zugriff auf Archivdaten mit VB projektieren Einleitung Das folgende Beispiel zeigt, wie Sie eine tabellarische Anzeige mit Microsoft Controls projektieren. Sie können alternativ andere Controls verwenden oder eigene Controls programmieren. Voraussetzungen Archivdateien liegen lokal auf dem Rechner und müssen mit dem SQL-Server verbunden sein, z.B. über den WinCC Archive Connector. Vorgehensweise 1. Erstellen Sie im Visual Basic Editor ein neues Formular, das Sie für die Darstellung der Archivdaten verwenden wollen. 2. Wählen Sie im Visual Basic Editor den Menübefehl "Projekt" > "Komponenten". 208 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 3. Aktivieren Sie die Controls, die Sie verwenden wollen, z.B. ein "MS Data Grid Control" und ein "MS ADO Data Control". Die zugehörigen Symbole erscheinen in der Werkzeugsammlung. 4. Erstellen Sie in Ihrem Formular ein "MS Data Grid Control" zur tabellarischen Anzeige der Archivdaten und ein "MS ADO Data Control" zur Navigation in der tabellarischen Anzeige. 5. Markieren Sie das MS Data Grid Control und wählen Sie im Eigenschaftenfenster unter "DataSource" den Eintrag "Adoc1" aus, um die beiden Controls miteinander zu verknüpfen. 6. Markieren Sie das MS ADO Data Control und klicken Sie im Eigenschaftenfenster unter "Connection String" auf die Schaltfläche "...". Der Dialog "Eigenschaftenseiten" öffnet sich. 7. Klicken Sie neben dem Eintrag "Verbindungszeichenfolge verwenden" auf die Schaltfläche "Erstellen...". Der Dialog "Data Link Properties" öffnet sich. 8. Wählen Sie auf der Registerkarte Provider den "WinCC OLE DB-Provider for Archives" aus und klicken Sie auf "Next". 9. Geben Sie auf der Registerkarte Connection unter "DataSource" die Datenquelle ein: <Rechnername>\WinCC. Testen Sie die Verbindung mit der Schaltfläche "Test Connection". Wählen Sie die Registerkarte Extended an. Wechseln Sie danach ohne weitere Änderungen auf die Registerkarte All. Dieser Schritt ist erforderlich, damit in der nachfolgend erstellten Verbindungszeichenfolge alle Parameter richtig gesetzt werden. 10.Geben Sie auf der Registerkarte All unter "Catalog" den Namen der WinCC-Datenbank ein. Den Datenbanknamen finden Sie im SQL-Enterprise-Manager unter "SQL Server Group" > "<Rechnername>\WinCC" > "Databases" > "<Datenbankname_R>". Wenn das Projekt aktiviert ist, verwenden Sie nur die Datenbanknamen, die mit "R" enden. Wenn Sie über den WinCC Archive Connector ausgelagerte WinCC-Archive mit dem SQLServer verbunden haben, verwenden Sie den symbolischen Namen der Datenbank bzw. des Auslagerungsverzeichnisses. Bestätigen Sie Ihre Eingaben mit "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 209 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 11.Markieren Sie das MS ADO Data Control und klicken Sie im Eigenschaftenfenster unter "RecordSource" auf die Schaltfläche "...". Der Dialog "Eigenschaftenseiten" öffnet sich. Wählen Sie bei Befehlstyp die Einstellung "1 - adCmdText" aus und geben Sie im Feld "Befehlstext (SQL)" ein gültiges Statement ein z.B. TAG:R,1,'0000-00-00 00:10:00.000','0000-00-00 00:00:00.000' . 12.Bestätigen Sie Ihre Eingaben mit "OK" und starten Sie Visual Basic Runtime. 3.7.3 Beispiel: Zugriff auf Archivdaten mit DataConnector Wizard projektieren Einleitung Das folgende Beispiel zeigt, wie Sie eine tabellarische Anzeige von Prozesswerten mit dem DataConnector Wizard im WinCC Graphics Designer projektieren. Sie können mit dem DataConnector Wizard alternativ auch die Anzeige von Meldungen oder die grafische Anzeige von Prozesswerten projektieren. Voraussetzungen ● WinCC Basissystem und Connectivity Pack sind installiert. ● Archivdateien sind mit dem gewünschten SQL-Server verbunden, z.B. über den WinCC Archive Connector. 210 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Vorgehensweise 1. Öffnen Sie den Graphics Designer und wählen Sie im Menü "DataConnector" den Eintrag "Neues Bild erzeugen". Ein neues Prozessbild wird geöffnet und der Dialog "DataConnector - Objekt auswählen" angezeigt. 2. Wählen Sie für dieses Beispiel die Option "Tagwerte tabellarisch anzeigen" und klicken Sie danach auf die Schaltfläche "Weiter". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 211 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 3. Der Dialog "DataConnector - Verbindungseigenschaften" öffnet sich. Tragen Sie im Feld "Server" den Namen des Servers ein, auf dem die gewünschten Datenbanken liegen und verbunden sind. Vorgegeben wird der Name des lokalen Rechners. Wählen Sie im Feld "Datenbank" die gewünschte Datenbank aus. Zur Auswahl stehen alle aktuell verbundenen Datenbanken des gewählten Servers. Klicken Sie auf die Schaltfläche "Weiter". 212 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 4. Der Dialog "DataConnector - Zeitfenster" öffnet sich. Wählen Sie die gewünschte Zeitspanne aus, aus der Daten angezeigt werden sollen, z.B. "Relatives Zeitfenster". Vorgegeben wird ein Zeitfenster für die zurückliegende Stunde. Ändern Sie die Vorgaben bei Bedarf, z.B. im Feld "Startpunkt vor" auf den Wert "0000-00-00 01:00:00" und im Feld "Dauer" auf den Wert "0000-00-00 01:00:00", um die zurückliegende Stunde anzuzeigen. Der Wert im Feld "Dauer" kann nicht größer sein als der Wert im Feld "Startpunkt vor". Klicken Sie auf die Schaltfläche "Weiter". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 213 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 5. Der Dialog "DataConnector - Archivvariable auswählen" öffnet sich. Wählen Sie mindestens eine Archivvariable aus. Klicken Sie auf die Schaltfläche "Fertig". 214 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 6. Der DataConnector Wizard fügt im geöffneten Prozessbild mehrere Elemente ein. In den statischen Textfeldern oben werden der gewählte Server, die Datenbank und der Zeitraum angezeigt. Daneben erscheint ein Text mit den ausgewählten Archivvariablen und das Auswahlfeld für die Archivvariable. Bestimmt durch die Auswahl "Tagwerte tabellarisch anzeigen" sind darunter noch ein Data Grid Control, ein ADO Data Control und eine Schaltfläche eingefügt. Speichern Sie das Prozessbild. Um die projektierten Werte zu ändern, öffnen Sie dieses Prozessbild und wählen im Menü "DataConnector" den Eintrag "Bestehende Verbindung ändern". Der Wizard wird erneut gestartet und Sie können die projektierten Werte ändern. 7. Starten Sie WinCC Runtime und öffnen Sie dieses Prozessbild mit der Datenbankabfrage. Die Abfrage wird direkt beim Öffnen des Prozessbildes erstmals ausgeführt. In Runtime werden im Data Grid Control die gefundenen Daten in einer Tabelle angezeigt und Sie können mit dem ADO Data Control in der Tabelle navigieren. Mit dem Auswahlfeld kann bei mehreren projektierten Archivvariablen diejenige ausgewählt werden, deren Werte angezeigt werden sollen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 215 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Über die Schaltfläche "Aktualisieren" können die angezeigten Daten aktualisiert werden, wenn z.B. als relativer Zeitraum die zurückliegende Stunde angegeben wurde. Hinweis Abfragen der Archive über DataConnector-Control auf Web-Client Soll auf einem Web Navigator-Client eine Archivabfrage über das DataConnector-Control in einem Prozessbild erfolgen, so muss auf dem Web-Client auch Connectivity PackClient installiert sein. Siehe auch Abfrage für Meldearchive (Seite 58) Abfrage für Prozesswertarchive (Seite 52) 3.7.4 Beispiele: Auswertung von Prozesswertarchiven 3.7.4.1 Beispiel: Prozesswertarchiv im WinCC-Projekt auswerten Einleitung Dieses Beispiel zeigt die Bedienung des WinCC-Projekts "OPConPack". Im WinCC-Projekt sind die verwendeten Prozesswertarchive enthalten. Die Abfragen sind für diese Archivdaten erstellt. Das Abfrageergebnis wird mit Zeitstempel, Wert, und Quality Code tabellarisch dargestellt. Dabei werden in einer Statistik die Anzahl, der Mittelwert, die Summe und die Standardabweichung der Prozesswerte ausgegeben. Das Ergebnis kann in eine CSV-Datei exportiert werden. Das WinCC-Projekt "OPConPack" können Sie von der WinCC-DVD aus dem Verzeichnis "Samples\Connectivity Pack\DemoProject" auf die Festplatte Ihres Rechners kopieren. Voraussetzung ● Der Rechner ist in der Rechnerliste des WinCC-Projekts als Server eingetragen. ● Das WinCC-Projekt "OPConPack" ist aktiviert. ● Das Verzeichnis "D:\out" ist angelegt. 216 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Vorgehensweise 1. Klicken Sie auf die Schaltfläche "Simulator on". Der Simulator versorgt die Variablen mit Werten. 2. Klicken Sie auf die Schaltfläche "Tags archive 1x". Der Dialog "Database Taglogging1" öffnet sich. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 217 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider So werten Sie die Prozesswertarchive aus 1. Klicken Sie auf die Schaltfläche "Q:1,Now-1h". Die Schaltflächen "Q:,.." sind mit Abfragen verknüpft. Die entsprechende Abfrage wird jeweils im Feld unter den Schaltflächen angezeigt. "Q:1" bzw. "Q:2" steht jeweils für die abgefragte ValueID. - "Q:1,Now-5m" und "Q:2,Now -5m" liefern als Ergebnis die Prozesswerte der letzten 5 Minuten. - "Q:1,Now-1h" liefert als Ergebnis die Prozesswerte der letzten Stunde. - "Q:2,Date" liefert als Ergebnis die Prozesswerte eines bestimmten Tages. 2. Klicken Sie auf die Schaltfläche "Execute". Bestätigen Sie den folgenden Dialog. Die Abfrage wird ausgeführt. Die Daten werden mit Zeitstempel (DateTime und Ms), Prozesswert(RealValue) und QualityCode (Quality) in einer Tabelle dargestellt. Das Feld "Count" liefert die Anzahl der selektierten Prozesswerte. Das Feld "Sum" liefert die Summe aller Prozesswerte. Das Feld "Avg" liefert den Mittelwert der Spalte RealValue und das Feld "Std" die Standardabweichung. 3. Klicken Sie auf die Schaltfläche "Export Csv". Bestätigen Sie den folgenden Dialog. Das Abfrageergebnis wird im Verzeichnis "D:\out" in der CSV-Datei "OutTAGEXP1.csv" abgelegt. 3.7.4.2 Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen Einleitung Im Beispiel werden von der Variablen "Tag_1" die Werte der letzten 10 Minuten aus der lokalen WinCC RT-Datenbank ausgelesen. Die Daten werden mit: Zeitstempel, Wert, Quality Code in einem ListView dargestellt. Die Ausgabe der Werte ist auf 100 begrenzt (Konstante NMAX = 100). Das Beispiel enthält keine Fehlerbehandlung. Vorgehensweise 1. Erstellen Sie eine WinCC Variable mit dem Namen 'Tag_1'. 2. Erstellen Sie ein Prozesswertarchiv mit dem Namen "ArTags". Verbinden Sie die WinCC Variable "Tag_1" mit dem Prozesswertarchiv. 3. Erstellen Sie ein Visual Basic Projekt. Verbinden Sie ein MS Windows Common Controls 6.0 ListView-Control mit dem Namen "ListView1". Die Spalten in dem ListView werden durch das Skript angelegt. Stellen Sie am ListView-Control die Eigenschaft "View" auf die Option "3 - lvwReport" ein. 4. Erstellen Sie einen CommandButton. Kopieren Sie das folgende Skript aus dem Abschnitt "Beispiel-Skript" ein. 5. Passen Sie im Skript den Namen der WinCC Runtime-Datenbank 'CC_OpConPac_04_10_01_10_36_36R' an das eigene Projekt an. Den Datenbanknamen finden Sie im SQL-Enterprise-Manager unter "SQL Server Group" > "<Rechnername>\WinCC" > "Databases" > "<Datenbankname_R>". 218 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 6. Aktivieren Sie WinCC Runtime und starten Sie die VB-Applikation. 7. Klicken Sie auf den CommandButton. Beispiel-Skript Option Explicit Const NMAX = 100 Private Sub Command1_Click() Dim sPro As String Dim sDsn As String Dim sSer As String Dim sCon As String Dim sSql As String Dim conn As Object Dim oRs As Object Dim oCom As Object Dim oItem As ListItem Dim m, n, s, nRec Dim strDateTime As String Dim iMS As Long '1.1 Make connection string for ADODB sPro = "Provider=WinCCOLEDBProvider.1;" sDsn = "Catalog=CC_OpConPac_04_10_01_10_36_36R;" sSer = "Data Source=.\WinCC" sCon = sPro + sDsn + sSer '1.2 Define command text in sSql (relative time) sSql = "TAG:R,'ArTags\Tag_1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'" MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr ' 2.1 Make connection Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = sCon conn.CursorLocation = 3 conn.Open ' 2.2 Use command text for query Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 219 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider oCom.CommandType = 1 Set oCom.ActiveConnection = conn oCom.CommandText = sSql ' 2.3 Fill the recordset Set oRs = oCom.Execute m = oRs.Fields.Count nRec = NMAX ' 3.0 Fill standard listview object with recordset ListView1.ColumnHeaders.Clear ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 2500 ' DateTime ListView1.ColumnHeaders.Add , , "MS", 1500 ' Milisecond ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(0).Name), 1500 ' VarID ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 1500 ' RealValue ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 1500 ' Quality ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(4).Name), 1500 ' Flags If (m > 0) Then oRs.MoveFirst n = 0 Do While (Not oRs.EOF And n < nRec) n = n + 1 SplitDateTimeAndMs oRs.Fields(1).Value, strDateTime, iMS 'Split Milisecond from DateTime s = FormatDateTime(strDateTime, 2) & " " & FormatDateTime(strDateTime, 3) Set oItem = ListView1.ListItems.Add() oItem.Text = s oItem.SubItems(1) = iMS oItem.SubItems(2) = oRs.Fields(0).Value oItem.SubItems(3) = FormatNumber(oRs.Fields(2).Value, 4) oItem.SubItems(4) = Hex(oRs.Fields(3).Value) oItem.SubItems(5) = Hex(oRs.Fields(4).Value) oRs.MoveNext Loop oRs.Close Else End If Set oRs = Nothing conn.Close Set conn = Nothing End Sub 220 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Sub SplitDateTimeAndMs(dtDateTimeWithMs_in, strDateTime_out, strMs_out) Dim diff Dim dtTemp Dim lTemp As Long lTemp = 86400000 '24 * 60 * 60 * 1000 diff = (CDbl(dtDateTimeWithMs_in) - CDbl(CDate(CStr(dtDateTimeWithMs_in)))) * lTemp If (diff < 0) Then diff = 1000 + diff dtTemp = CDbl(dtDateTimeWithMs_in) - diff / lTemp strDateTime_out = CDate(dtTemp) Else strDateTime_out = CDate(dtDateTimeWithMs_in) End If strMs_out = "00" & Round(diff) strMs_out = Right(strMs_out, 3) End Sub Hinweis Um die Performance zu verbessern, beachten Sie folgende Hinweise: ● Ersetzen Sie die Anweisung "Data Source=.\WinCC" durch die Anweisung "Data Source=<Rechnername>\WinCC". ● Verwenden Sie in der Abfrage die "ValueID" statt "<Archivname>\<Variablenname>". Im Beispiel-Skript wäre unter Punkt 1.2 der Ausdruck 'ArTags\Tag_1' zu ersetzen durch eine "ValueID". Siehe auch Darstellung der Prozesswertarchive (Seite 49) Abfrage für Prozesswertarchive (Seite 52) Abfragen der Archivdaten (Seite 50) Verbindung zur Archivdatenbank herstellen (Seite 47) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 221 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 3.7.4.3 Beispiel: Prozesswertarchiv mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen Einleitung Im Beispiel werden von der Variablen "Tag_1" die Werte der letzten 10 Minuten aus der lokalen WinCC RT-Datenbank ausgelesen. Die Daten werden mit: Zeitstempel, Wert und Quality Code in einem ListView dargestellt. Die Ausgabe der Werte ist auf 100 begrenzt (Konstante MaxRows = 100). Das Beispiel enthält eine einfache Fehlerbehandlung. Vorgehensweise 1. Erstellen Sie eine WinCC--Variable mit dem Namen "Tag_1". 2. Erstellen Sie ein Prozesswertarchiv mit dem Namen "ArTags". 3. Verbinden Sie die WinCC-Variable "Tag_1" mit dem Prozesswertarchiv. 4. Erstellen Sie im Visual Studio 2005 ein neues Visual-Basic-Projekt vom Typ "Windows Application". 5. Wechseln Sie in den Designer-View-Modus und vergrößern Sie das Windows Form "Form1" auf eine Größe von ca. 500x600. 6. Ziehen Sie aus der Toolbox ein "ListView Control" in die linke obere Ecke des Forms und vergrößern Sie es auf ca. 400x450. 7. Ziehen Sie aus der Toolbox einen Button in die Mitte des Forms unter das Control. Der Button bekommt automatisch den Namen und die Beschriftung "Button1". 8. Doppelklicken Sie auf den Button und fügen Sie in der Methode "Private Sub Button1_Click" den untenstehenden VB.NET Beispielcode VOR der Anweisung "End Sub" ein. 9. Wählen Sie im Menü "Build > Build Solution" oder drücken Sie <Strg+Shift+B>, um das fertiggestellte VB.NET-Projekt zu compilieren. 10.Passen Sie im Skript den Namen der WinCC Runtime-Datenbank "CC_CPSample_07_10_09_13_44_26R" an das eigene Projekt an. Den Datenbanknamen finden Sie im SQL-Server-Management Studio unter "Object Explorer > <Rechnername>\WinCC > Databases > <Datenbankname_R>". 11.Aktivieren Sie WinCC Runtime und wählen Sie im Menü "Debug->Start Debugging" oder drücken Sie <F5>, um die VB-Applikation zu starten. 12.Klicken Sie auf den Button "Button1". Beispielcode Const MaxRows = 100 ' 1.1 Create connection string for ADO.NET access Dim ProviderName As String Dim CatalogName As String 222 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Dim DataSourceName As String Dim ConnectionString As String Dim CommandString As String ProviderName = "Provider=WinCCOLEDBProvider.1;" CatalogName = "Catalog=CC_CPSample_07_10_09_13_44_26R;" DataSourceName = "Data Source=.\WinCC" ConnectionString = ProviderName + CatalogName + DataSourceName ' 1.2 Define command string for OLE DB access (relative time range, last 10 minutes) CommandString = "TAG:R,'ArTags\Tag_1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'" Try Dim DBConnection As System.Data.OleDb.OleDbConnection Dim DBCommand As System.Data.OleDb.OleDbCommand Dim DBReader As System.Data.OleDb.OleDbDataReader ' 2.1 Open an OLE DB connection DBConnection = New System.Data.OleDb.OleDbConnection(ConnectionString) DBConnection.Open() ' 2.2 Execute command DBCommand = New System.Data.OleDb.OleDbCommand(CommandString, DBConnection) DBReader = DBCommand.ExecuteReader() ' 3.1 Prepare list view control Dim DBTimeStamp As System.DateTime Dim DBValue As System.Double Dim DBQualityCode As Integer Dim DBFlags As Integer Dim ColumnEntry As String Me.ListView1.View = View.Details Me.ListView1.GridLines = True Me.ListView1.TabIndex = 0 Me.ListView1.Width = 400 Me.ListView1.Columns.Add("TimeStamp",HorizontalAlignment.Center) Me.ListView1.Columns(0).Width = 150 Me.ListView1.Columns(0).Text = "Time Stamp" WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 223 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Me.ListView1.Columns.Add("Value", HorizontalAlignment.Center) Me.ListView1.Columns(1).Width = 60 Me.ListView1.Columns(1).Text = "Value" Me.ListView1.Columns.Add("QC", HorizontalAlignment.Center) Me.ListView1.Columns(2).Width = 60 Me.ListView1.Columns(2).Text = "Quality Code" Me.ListView1.Columns.Add("Flags", HorizontalAlignment.Center) Me.ListView1.Columns(3).Width = 60 Me.ListView1.Columns(3).Text = "Flags" Dim SingleRow As ListViewItem Dim Count As Integer Count = 0 ' 3.2 Fetch subsequent rows of the result set While (DBReader.Read And Count < MaxRows) DBTimeStamp = DBReader.GetDateTime(1) DBValue = DBReader.GetDouble(2) DBQualityCode = DBReader.GetInt32(3) DBFlags = DBReader.GetInt32(4) ' 3.3 Fill list view columns ColumnEntry = String.Format("{0:dd.MM.yy HH:mm:ss.}{1:D2}", DBTimeStamp, DBTimeStamp.Millisecond) SingleRow = New ListViewItem(ColumnEntry) ColumnEntry = String.Format("{0:F}", DBValue) SingleRow.SubItems.Add(ColumnEntry) ColumnEntry = String.Format("{0:X2}", DBQualityCode) SingleRow.SubItems.Add(ColumnEntry) ColumnEntry = String.Format("{0:X4}", DBFlags) SingleRow.SubItems.Add(ColumnEntry) Me.ListView1.Items.Add(SingleRow) Count = Count + 1 End While 224 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider ' 4 Clean up DBReader.Close() DBConnection.Close() ' 5 Exception (error) handling Catch ex As Exception MessageBox.Show(ex.Message, "Error Occured !") End Try 3.7.4.4 Beispiel: Messwertverlauf im WinCC-Projekt vergleichen Einleitung Dieses Beispiel zeigt, wie ein Vergleich von Messwert-Verläufen projektiert werden kann. Um das WinCC-Projekt einfach zu halten, werden nicht die Messwertverläufe von zwei Prozesswertarchiven verglichen, sondern nur von einem Archiv. Aus der lokalen WinCC-RTDatenbank werden die Prozesswerte von der Variablen mit der ID=1 selektiert. Damit der Vergleich deutlich wird, werden die Prozesswerte zeitversetzt ausgelesen. Die Abfrageergebnisse werden in zwei CSV-Dateien exportiert. Das WinCC-Projekt "OPConPack" können Sie von der WinCC-DVD aus dem Verzeichnis "Samples\Connectivity Pack\DemoProject" auf die Festplatte Ihres Rechners kopieren. Voraussetzung ● Im WinCC-Projekt ist in der Rechnerliste Ihr Rechner als verfügbarer Server eingetragen. ● Das WinCC-Projekt "OPConPack" ist aktiviert. ● Der Ordner "D:\out" ist angelegt. Vorgehensweise 1. Klicken Sie auf die Schaltfläche "Simulator on". Der Simulator versorgt die Variablen mit Werten. 2. Klicken Sie auf die Schaltfläche "Tags archive 2x". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 225 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider So werten Sie die Prozesswertarchive aus 1. Klicken Sie im Bereich "Database Taglogging1" auf die Schaltfläche "Q:1,Now-1h". Klicken Sie auf die Schaltfläche "Execute". 2. Klicken Sie im Bereich "Database Taglogging2" auf die Schaltfläche "Q:1,Now-5m". Klicken Sie auf die Schaltfläche "Execute". Die Daten werden mit Zeitstempel (DateTime und Ms), Prozesswert (RealValue) und QualityCode (Quality) in Tabellen dargestellt. 3. Das Feld "Std" liefert die Standardabweichung. Sie können nun die Standardabweichung von Database TagLogging1 und Database TagLogging2 miteinander vergleichen. 4. Klicken Sie auf die Schaltfläche "Export Csv". Bestätigen Sie den folgenden Dialog. Das Abfrageergebnis von Database TagLogging1 wird in die CSV-Datei "OutTAGEXP1.csv" exportiert. Das Abfrageergebnis von Database TagLogging2 wird in die CSV-Datei "OutTAGEXP2.csv" exportiert. 3.7.4.5 Beispiel: Prozesswertarchiv mit einer VB-Applikation auswerten Einleitung Dieses Beispiel zeigt die Bedienung der VB-Applikation "WinCCDBPr". Diese Applikation enthält mehrere Abfragebeispiele. Das Abfrageergebnis wird mit Zeitstempel, Wert und Quality Code in einem ListView dargestellt. Dabei werden in einer Statistik die Anzahl, der Mittelwert, die Summe und die Standardabweichung der Prozesswerte ausgegeben. Die Ergebnisse werden in eine CSV-Datei exportiert. Die VB-Applikation "WinCCDBPr" können Sie von der WinCC-DVD installieren. Doppelklicken Sie im Verzeichnis "Samples\Connectivity Pack\VB_Sample" die Datei "setup.exe". 226 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Die Sourcen zu dem Beispiel finden Sie im Verzeichnis "Samples\Connectivity Pack \VB_Sample\Sourcecode". Das Verzeichnis "Samples\Connectivity Pack\VB_Sample \DATABASES" enthält Tag Logging Datenbanken zum Testen. Voraussetzung ● Das Verzeichnis "D:\out" ist angelegt. ● Die gewünschten, ausgelagerten Datenbanken des Tag Logging müssen mit dem SQLServer verbunden sein, z.B. über den Archive Connector. ● Die VBA-Applikation "WinCCDBPr" ist installiert und gestartet. Vorgehensweise 1. Wählen Sie im Menü "Database" den Eintrag "1.Connect". Der Dialog "Enter Server and Database" öffnet sich. Für den lokalen Zugriff aktivieren Sie die Option "Localhost". Für den Remote-Zugriff aktivieren Sie die Option "Remote". Tragen Sie im Feld "Remote" den Servernamen ein. 2. Im Bereich "Connect to database" können Sie die Datenbank direkt eingeben oder danach suchen. Aktivieren Sie die Option "Search for backup database". Klicken Sie auf die Schaltfläche "Search". Der Dialog "WinCC Database Example - [Select the Data ...]" öffnet sich. 3. Markieren Sie die Archivdatenbank und klicken Sie auf die Schaltfläche "Connect". 4. Wählen Sie im Menü "Database" den Eintrag "2.TagLogging". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 227 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 5. Über die Schaltfläche "Next Example" können Sie verschiedene Abfragebeispiele auswählen. Die Abfrage wird im Feld über der Schaltfläche angezeigt. Folgende Abfragebeispiele stehen zur Verfügung: TAG:R,1,'0000-00-00 00:01:00','0000-00-00 00:00:00' TAG:R,(1;2),'0000-00-00 00:30:00.000','0000-00-00 00:00:00.000' TAG:R,1,'0000-00-00 01:00:00.000','0000-00-00 00:00:00.000' TAG:R,2,'0000-00-00 00:05:00.000','0000-00-00 00:00:00.000' TAG:R,3,'0000-00-00 00:05:00.000','0000-00-00 00:00:00.000' Zusätzlich erscheint noch ein Beispiel zur Abfrage des aktuellen Tages, wobei die VBAApplikation automatisch das Datum des aktuellen und des folgenden Tages vorschlägt. (Format: TAG:R,1,'<Date>','<Date+1>' ) 6. Klicken Sie auf die Schaltfläche "Execute". Die Abfrage wird ausgeführt. Die Daten werden in einer Tabelle dargestellt. Im Anzeigefeld über den Schaltflächen wird die Anzahl der selektierten Prozesswerte angezeigt. Um zu prüfen, ob die Abfrage fehlerfrei ausgeführt wurde, klicken Sie auf die Schaltfläche "Show ERR". Im Ausgabefeld werden eventuell aufgetretene Fehler angezeigt. 7. Klicken Sie auf die Schaltfläche "Statistics". Im Anzeigefeld werden statistische Werte zur ausgeführten Abfrage angezeigt: – N = die Anzahl der selektierten Prozesswerte – Sum = Summe aller Prozesswerte – Avg: = Mittelwert der Prozesswerte – Sta = Standardabweichung 8. Klicken Sie auf die Schaltfläche "Export(csv)". Das Abfrageergebnis wird im Verzeichnis "D:\out" in die Datei "WCCTAG.csv" exportiert. 9. Klicken Sie auf die Schaltfläche "Show Connection". Im Ausgabefeld wird der ConnectionString und die Abfrage angezeigt. 3.7.5 Beispiele: Auswertung von Meldearchiven 3.7.5.1 Beispiel: Meldearchiv im WinCC-Projekt auswerten Einleitung Dieses Beispiel zeigt die Bedienung des WinCC-Projekts "OpConP". Das WinCC-Projekt enthält die verwendeten Archivdatenbanken. Die Abfragen sind für diese Archivdaten erstellt. Das Abfrageergebnis wird tabellarisch dargestellt. Das Ergebnis kann in eine CSV-Datei exportiert werden. Eine Liste enthält die Angaben, wie häufig eine Meldung vorgekommen ist und wie lange sie in Summe anstand. Das WinCC-Projekt "OPConPack" können Sie von der WinCC-DVD aus dem Verzeichnis "Samples\Connectivity Pack\DemoProject" auf die Festplatte Ihres Rechners kopieren. 228 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Voraussetzung ● Der Rechner ist in der Rechnerliste des WinCC-Projekts als verfügbarer Server eingetragen. ● Das WinCC-Projekt "OPConPack" ist aktiviert. ● Das Verzeichnis "D:\out" ist angelegt. Vorgehensweise 1. Klicken Sie auf die Schaltfläche "Simulator on". Der Simulator versorgt die Variablen mit Werten. 2. Klicken Sie auf die Schaltfläche "Alarms archive". Der Dialog "Database Alarms" öffnet sich. 3. Im Eingabefeld "DSN" steht der Name der WinCC RT-Datenbank. Im Eingabefeld "Server" steht der Servername. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 229 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider So werten Sie die Meldearchivdaten aus 1. Klicken Sie auf die Schaltfläche ""F:'Date1'<D<'Date2'". Die Schaltflächen "F:..." sind mit Abfragen verknüpft. Die entsprechende Abfrage wird jeweils im Feld unter den Schaltflächen angezeigt. - "F:All" liefert als Ergebnis alle Meldungen. - "F:MsgNr=5" liefert als Ergebnis die Meldungen der Meldungsnummer 5. - "F:State=2" liefert als Ergebnis die Meldungen, die den Meldestatus 2 besitzen. - "F:'Date1'<D<'Date2'" liefert als Ergebnis die Meldungen, die zwischen dem 03.07.2003 und dem 05.07.2003 angestanden sind. 2. Klicken Sie auf die Schaltfläche "Execute".Der folgende Dialog öffnet sich. In diesem Dialog werden der verwendete ConnectionString und die verwendete Abfrage ausgegeben. Schließen Sie den Dialog über die Schaltfläche "OK". Die Abfrage wird ausgeführt. 3. Die Daten werden mit Zeitpstempel (DateTime), Meldungsnummer (MsgNr), Status der Meldung (State) und Name der Meldeklasse (TypeName) in einer Tabelle dargestellt. 4. Das Feld "Count" liefert die Anzahl der Meldungen. Die Felder "Avg", "Sum" und "Std" werden angezeigt, sind aber für dieses Beispiel nicht relevant. 230 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 5. Klicken Sie auf die Schaltfläche "Csv + Hitlist". Bestätigen Sie den folgenden Dialog. Das Abfrageergebnis wird im Verzeichnis "D:\out" in der CSV-Datei "ALGEXP.csv" abgelegt. 6. In der Tabelle werden die Daten in einer Liste dargestellt. Die Spalte "CNT" zeigt an, wie häufig die Meldung angestanden ist. Die Spalte "Total" zeigt an, wie lange die Meldung in Summe angestanden ist. 3.7.5.2 Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic 6 lesen Einleitung In diesem Beispiel wird ein Zeitraum von 10 min aus den Meldearchivdaten gelesen. Die Daten werden mit Zeitstempel, Meldungsnummer, Status und Meldungstyp in einem ListView Control dargestellt. Das Beispiel enthält eine einfache Fehlerbehandlung. Vorgehensweise 1. Erstellen Sie ein Visual Basic Projekt. Binden Sie ein MS Windows Common Controls 6.0 ListView-Control mit dem Namen 'ListView1' ein. 2. Die Spalten in dem ListView werden durch das Skript angelegt. 3. Erstellen Sie einen CommandButton. Kopieren Sie das Skript aus dem Abschnitt "BeispielSkript" ein. 4. Passen Sie im Script den Namen der WinCC Runtime-Datenbank 'CC_OpenArch_03_05_27_14_11_46R' an das eigene Projekt an. Den Datenbanknamen finden Sie im SQL-Enterprise-Manager unter "SQL Server Group" > "<Rechnername>/WinCC" > "Databases" > "<Datenbankname_R>". 5. Das Beispiel verwendet die englische Datenbanktabelle "AlgViewEnu". Wenn Sie die Meldearchivdaten einer anderer Sprache lesen wollen, müssen die den Eintrag anpassen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 231 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 6. Aktivieren Sie WinCC Runtime. Starten Sie die VB Applikation. 7. Klicken Sie auf den CommandButton. Beispiel-Skript Dim sPro As String Dim sDsn As String Dim sSer As String Dim sCon As String Dim sSql As String Dim conn As Object Dim oRs As Object Dim oCom As Object Dim oItem As ListItem Dim m, n, s On Error GoTo ErrorHandlerA ' 1.1 Make connection string for ADODB sPro = "Provider=WinCCOLEDBProvider.1;" sDsn = "Catalog=CC_OpenArch_03_05_27_14_11_46R;" sSer = "Data Source=.\WinCC" sCon = sPro + sDsn + sSer ' 1.2 Define command text in sSql sSql = "ALARMVIEW:Select * FROM AlgViewEnu WHERE DateTime>'2003-07-30 11:30:00' AND DateTime<'2003-07-30 11:40:00'" 'sSql = "ALARMVIEW:Select * FROM AlgViewEnu WHERE MsgNr = 5" 'sSql = "ALARMVIEW:Select * FROM AlgViewEnu" MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr ' 2.1 Make connection Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = sCon conn.CursorLocation = 3 conn.Open ' 2.2 Use command text for query Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1 Set oCom.ActiveConnection = conn 232 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider oCom.CommandText = sSql ' 2.3 Fill the recordset Set oRs = oCom.Execute m = oRs.Fields.Count ' 3.0 Fill standard listview object with recordset ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 140 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(0).Name), 60 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 60 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(34).Name), 100 If (m > 0) Then oRs.MoveFirst n = 0 Do While Not oRs.EOF n = n + 1 If (n < 100) Then s = Left(CStr(oRs.Fields(1).Value), 23) Set oItem = ListView1.ListItems.Add() oItem.Text = CStr(oRs.Fields(2).Value) oItem.SubItems(1) = CStr(oRs.Fields(0).Value) oItem.SubItems(2) = CStr(oRs.Fields(1).Value) oItem.SubItems(3) = CStr(oRs.Fields(34).Value) End If oRs.MoveNext Loop oRs.Close Else End If Set oRs = Nothing conn.Close Set conn = Nothing ErrorHandlerA: MsgBox Err.Description WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 233 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Hinweis Um die Performance zu verbessern, ersetzen Sie die Anweisung "Data Source=.\WinCC" durch die Anweisung "Data Source=<Rechnername>\WinCC". Die Ausgabe der Werte ist auf 100 begrenzt (n > 100). Die Zeitangaben beziehen sich auf die Systemzeit. Siehe auch Verbindung zur Archivdatenbank herstellen (Seite 47) Darstellung der Meldearchive (Seite 60) Abfrage für Meldearchive (Seite 58) Abfragen der Archivdaten (Seite 50) 3.7.5.3 Beispiel: Meldearchivdaten mit dem WinCC OLE DB-Provider und Visual Basic.NET lesen Einleitung In diesem Beispiel wird ein Zeitraum von 10 min aus den Meldearchivdaten gelesen. Die Daten werden mit Zeitstempel, Meldungsnummer, Status und Meldungstyp in einem ListView Control dargestellt. Das Beispiel enthält eine einfache Fehlerbehandlung. Vorgehensweise 1. Erstellen Sie im Visual Studio 2005 ein neues Visual-Basic-Projekt vom Typ "Windows Application". 2. Wechseln Sie in den Designer-View-Modus und vergrößern Sie das Windows Form "Form1" auf eine Größe von ca. 600x600. 3. Ziehen Sie aus der Toolbox ein "ListView Control" in die linke obere Ecke des Forms und vergrößern Sie es auf ca. 500x450. 4. Ziehen Sie aus der Toolbox einen Button in die Mitte des Forms unter das Control. Der Button bekommt automatisch den Namen und die Beschriftung "Button1". 5. Doppelklicken Sie auf den Button und fügen Sie in der Methode "Private Sub Button1_Click" den untenstehenden VB.NET-Beispielcode VOR der Anweisung "End Sub" ein. 6. Wählen Sie im Menü "Build > Build Solution" oder drücken Sie <Strg+Shift+B>, um das fertiggestellte VB.NET-Projekt zu compilieren. 7. Passen Sie im Skript den Namen der WinCC Runtime-Datenbank "CC_CPSample_07_10_09_13_44_26R" an das eigene Projekt an. Den Datenbanknamen finden Sie im SQL-Server-Management Studio unter "Object Explorer > <Rechnername>\WinCC > Databases > <Datenbankname_R>". 234 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 8. Aktivieren Sie WinCC Runtime und wählen Sie im Menü "Debug > Start Debugging" oder drücken Sie <F5>, um die VB-Applikation zu starten. 9. Klicken Sie auf den Button "Button1". Beispielcode Const MaxRows = 100 ' 1.1 Create connection string for ADO.NET access Dim ProviderName As String Dim CatalogName As String Dim DSN As String Dim ConnectionString As String Dim CommandString As String ProviderName = "Provider=WinCCOLEDBProvider.1;" CatalogName = "Catalog=CC_CPSample_07_10_09_13_44_26R;" DSN = "Data Source=.\WinCC" ConnectionString = ProviderName + CatalogName + DSN ' 1.2 Define command string for ADO.NET access CommandString = "ALARMVIEW:Select * From AlgViewEnu WHERE DateTime > '2007-10-10 12:00:00' AND DateTime > '2007-10-10 12:10:00'" 'CommandString = "ALARMVIEW:Select * From AlgViewEnu WHERE MsgNr = 1" 'CommandString = "ALARMVIEW:Select * From AlgViewEnu" Try Dim DBConnection As System.Data.OleDb.OleDbConnection Dim DBCommand As System.Data.OleDb.OleDbCommand Dim DBReader As System.Data.OleDb.OleDbDataReader ' 2.1 Open an OLE DB connection DBConnection = New System.Data.OleDb.OleDbConnection(ConnectionString) DBConnection.Open() ' 2.2 Execute command DBCommand = New System.Data.OleDb.OleDbCommand(CommandString, DBConnection) DBReader = DBCommand.ExecuteReader() ' 3.1 Prepare list view control WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 235 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Dim ColumnEntry As String Me.ListView1.View = View.Details Me.ListView1.GridLines = True Me.ListView1.TabIndex = 0 Me.ListView1.Width = 500 Me.ListView1.Columns.Add("Number", HorizontalAlignment.Center) Me.ListView1.Columns(0).Width = 90 Me.ListView1.Columns(0).Text = "Number" Me.ListView1.Columns.Add("Date/Time", HorizontalAlignment.Center) Me.ListView1.Columns(1).Width = 130 Me.ListView1.Columns(1).Text = "Date/Time" Me.ListView1.Columns.Add("State", HorizontalAlignment.Center) Me.ListView1.Columns(2).Width = 60 Me.ListView1.Columns(2).Text = "State" Me.ListView1.Columns.Add("Type", HorizontalAlignment.Center) Me.ListView1.Columns(3).Width = 150 Me.ListView1.Columns(3).Text = "Type" Dim SingleRow As ListViewItem Dim MsgDateTime As DateTime Dim MsgMilliSecs As Integer Dim MsgNumber As Integer Dim MsgState As Integer Dim MsgTypeName As String Dim Count As Integer Count = 0 ' 3.2 Fetch subsequent rows of the result set While (DBReader.Read And Count < MaxRows) MsgNumber = DBReader.GetInt32(0) MsgDateTime = DBReader.GetDateTime(2) MsgMilliSecs = DBReader.GetInt16(3) MsgState = DBReader.GetInt16(1) MsgTypeName = DBReader.GetString(34) ' 3.3 Fill list view columns ColumnEntry = String.Format("{0:D10}", MsgNumber) 236 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider SingleRow = New ListViewItem(ColumnEntry) ColumnEntry = String.Format("{0:dd.MM.yy HH:mm:ss.}{1:D2}", MsgDateTime, MsgMilliSecs) SingleRow.SubItems.Add(ColumnEntry) ColumnEntry = String.Format("{0:D5}", MsgState) SingleRow.SubItems.Add(ColumnEntry) ColumnEntry = MsgTypeName SingleRow.SubItems.Add(ColumnEntry) Me.ListView1.Items.Add(SingleRow) Count = Count + 1 End While ' 4 Clean up DBReader.Close() DBConnection.Close() ' 5 Exception (error) handling Catch ex As Exception MessageBox.Show(ex.Message, "Error Occured !") End Try 3.7.5.4 Beispiel: Meldearchiv mit einer VB-Applikation auswerten Einleitung Dieses Beispiel zeigt die Bedienung der VB-Applikation "WinCCDBPr". Diese Applikation enthält mehrere Abfragebeispiele. Das Abfrageergebnis wird tabellarisch dargestellt. Das Ergebnis kann in eine CSV-Datei exportiert werden. Eine Liste enthält die Angaben, wie häufig eine Meldung vorgekommen ist und wie lange sie in Summe anstand. Die VB-Applikation "WinCCDBPr" können Sie von der WinCC-DVD installieren. Doppelklicken Sie im Verzeichnis "Samples\Connectivity Pack\VB_Sample" die Datei "setup.exe". Die Sourcen zu dem Beispiel finden Sie im Verzeichnis "Samples\Connectivity Pack \VB_Sample\Sourcecode". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 237 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider Voraussetzung ● Das Verzeichnis "D:\out" ist angelegt. ● Die gewünschten, ausgelagerten Datenbanken des Alarm Logging müssen mit dem SQLServer verbunden sein, z.B. über den Archive Connector. ● Die VBA-Applikation "WinCCDBPr" ist installiert und gestartet. Vorgehensweise 1. Wählen Sie im Menü "Database" den Eintrag "1.Connect". Der Dialog "Enter Server and Database" öffnet sich. Für den lokalen Zugriff aktivieren Sie die Option "Localhost". Für den Remote-Zugriff aktivieren Sie die Option "Remote". Tragen Sie im Feld "Remote" den Servernamen ein. 2. Im Bereich "Connect to database" können Sie die Datenbank direkt eingeben oder danach suchen. Aktivieren Sie die Option "Search for backup database". 238 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 3. Klicken Sie auf die Schaltfläche "Search". Der Dialog "WinCC Database Example - [Select the Data ...]" öffnet sich. 4. Markieren Sie die Archivdatenbank und Klicken Sie auf die Schaltfläche "Connect". 5. Wählen Sie im Menü "Database" den Eintrag "3.Alarms". 6. Über die Schaltfläche "Next Example" können Sie verschiedene Abfragebeispiele auswählen. Die Abfrage wird im Feld unter der Schaltfläche angezeigt. Sie können die Zeiträume jeweils anpassen. Es gibt folgende Abfragebeispiele: – ALARMVIEW:SELECT * FROM ALGVIEWDEU – ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE DateTime>'2003-07-01' AND DateTime<'2003-08-01' – ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE State=2 – ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE DateTime>'2003-08-01' – ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE TimeDiff>100 7. Klicken Sie auf die Schaltfläche "Execute". Die Abfrage wird ausgeführt. Die Daten werden in einer Tabelle dargestellt. Im oberen Feld wird die Anzahl der selektierten Meldungen angezeigt. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 239 WinCC/Connectivity Pack Dokumentation 3.7 Beispiele für den Zugriff über OLE DB-Provider 8. Klicken Sie auf die Schaltfläche "Statistic". Im oberen Feld wird angezeigt, wie häufig und wie lange in Summe die Meldenummer 2 angestanden ist. 9. Klicken Sie auf die Schaltfläche "Export(csv)". Das Abfrageergebnis wird im Verzeichnis "D:\out" in die Datei "WCCALA.csv" exportiert. 10.Klicken Sie auf die Schaltfläche "Show Connection". Im oberen Feld werden der ConnectionString und die Abfrage angezeigt. 11.Wählen Sie im Menü "Database" den Eintrag "Statistic/Csv". Klicken Sie auf die Schaltfläche "HitList". In der Tabelle werden die Daten in einer Liste dargestellt. Die Spalte "CNT" zeigt an, wie häufig die Meldung angestanden ist. Die Spalte "Total" zeigt an, wie lange die Meldung in Summe angestanden ist. Als Datenbasis wird die CSV-Datei "WCCALA.csv" verwendet. 240 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.8 Performance-Daten 3.8 Performance-Daten Einleitung Die nachfolgenden Tabellen zeigen die benötigten Zeiten für den Zugriff auf ArchivDatenbanken über WinCC OLE DB-Provider. Die Werte wurden auf einem Testsystem mit einem Connectivity Pack-Server und einem verbundenen Client gemessen. Die auf dem Server liegenden Archiv-Datenbanken wurden mit dem Archive Connector verbunden. ● Server: Intel Pentium 4; 3,2GHz; Windows Server 2003; 1024 MB RAM Client: Intel Pentium 4; 3,2GHz; Windows XP SP1; 1024 MB RAM ● Gelesen wurde aus einer Visual Basic Applikation über ADO. ● Netzwerkverbindung: Ethernet 100MBit/s ● Die gemessenen Zeiten beinhalten nicht das Darstellen der Daten. Die Angabe der Zeitwerte erfolgt in Millisekunden. Hinweis Durch unterschiedlichen Aufbau und Komprimierung der Daten oder durch die Anzahl und Größe der Datenbank-Segmente kann es zu anderen Zugriffszeiten kommen. Ebenso wirkt sich die Anzahl der Archivvariablen und das Lesen der Variablenwerte aus verschiedenen Archiven auf die Zugriffszeiten aus. Archiv "Tag Logging Fast" Anzahl Messwerte Zugriffszeit lokal (Server) Zugriffszeit remote (Client) 100 63 188 1000 78 219 5000 93 234 10000 140 266 20000 219 360 50000 421 563 100000 765 937 Archiv "Tag Logging Slow" Anzahl Messwerte Zugriffszeit lokal (Server) Zugriffszeit remote (Client) 100 62 79 1000 98 125 5000 219 234 10000 328 328 20000 562 563 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 241 WinCC/Connectivity Pack Dokumentation 3.8 Performance-Daten Anzahl Messwerte Zugriffszeit lokal (Server) Zugriffszeit remote (Client) 40000 1047 1227 50000 1289 1621 100000 2515 2678 Anzahl Meldungen Zugriffszeit lokal (Server) Zugriffszeit remote (Client) 100 109 125 1000 203 206 10000 1073 1093 50000 5118 4964 100000 16160 10330 Archiv "Alarm Logging" 242 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station 3.9 Connectivity Station 3.9.1 Grundlagen zur Connectivity Station Einleitung Mit der Connectivity Station haben Sie von einem zentralen Rechner ohne WinCC-Installation aus Zugriff auf WinCC-Stationen mit Server-Packages. Sie haben folgende Möglichkeiten, auf die WinCC-Stationen zuzugreifen: ● OPC-Schnittstellen der Connectivity Station ● OLE DB-Schnittstelle des Connectivity Pack Die beiden Zugriffsvarianten stellen eigenständige Zugriffsmöglichkeiten mit unterschiedlichem Funktionsumfang dar. OPC-Schnittstellen der Connectivity Station Die Connectivity Station stellt Schnittstellen zur Verfügung, über die Sie mit einem OPC-Client auf die folgenden Inhalte zugreifen können: ● OPC-DA-Server: Variablen, z. B. Prozesswerte ● OPC-HDA-Server: Archivierte Prozesswerte ● OPC-A&E-Server: Meldungen Lizenzierung Um die OPC-Schnittstellen der Connecitivity Station auf einem Rechner ohne WinCCInstallation zu nutzen, benötigen Sie die Lizenz "WinCC Connectivity Station". Wenn Sie nur die OPC-Schnittstellen einer WinCC-Installation nutzen, benötigen Sie nur die Lizenz "Connectivity Pack". Die folgende Tabelle zeigt den Zusammenhang: Neu: WinCC-unabhängige Installation bei Connectivity Station OPC DA Herkömmliche Installation: OPC mit WinCC Lizenz "WinCC Connectivity Station" Lizenzfrei OPC HDA Lizenz "WinCC Connectivity Station" Lizenz "WinCC Connectivity Pack" OPC A&E Lizenz "WinCC Connectivity Station" Lizenz "WinCC Connectivity Pack" OLE DB-Schnittstelle des Connectivity Pack Das für den Betrieb der Connectivity Station notwendige Connectivity Pack Server oder Connectivity Pack Client stellt zusätzlich eine OLE DB-Schnittstelle zur Verfügung. Über diese OLE DB-Schnittstellen können Sie auf Meldungen und Variablen zugreifen. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 243 WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Transparenter Zugriff auf archivierte Daten Die Connectivity Station unterstützt den transparenten Zugriff auf die Archivdatenbanken von WinCC-Stationen. Installation und Projektierung Um die Connectivity Station zu installieren, benötigen Sie Folgendes: ● PC mit Connectivity Pack Server oder Connectivity Pack Client Um einen Rechner als Connectivity Station einzurichten, führen Sie auf dem Rechner das Setup für Connectivity Pack-Client aus. Wählen Sie auf der Installations-DVD im Menü "Software installieren" den Eintrag "Connectivity Station". Nach der Installation können Sie den Zugriff auf die WinCC Stationen mit einem der folgenden Programme einrichten: ● SIMATIC Manager von STEP 7 oder ● SIMATIC NCM PC Manager der aktuellen SIMATIC NET Edition. Das folgende Bild zeigt die Projektierungsschritte für die Connectivity Station im Überblick: %HWULHEVV\VWHP 3URMHNWLHUXQJVVFKULWWH 6\VWHPUHDNWLRQ &RQQHFWLYLW\3DFN &OLHQW6HUYHU LQVWDOOLHUHQ &RQQHFWLYLW\6WDWLRQ LQVWDOOLHUHQ ,QVWDOOLHUW)UHLJDEH $XWRPDWLRQ3URMHFWV 67(33URMHNW ¸IIQHQ 6,0$7,&0DQDJHU :LQ&&6WDWLRQ DQOHJHQRGHU LPSRUWLHUHQ 244 &RQQHFWLYLW\6WDWLRQ DQOHJHQ &RQQHFWLYLW\6WDWLRQ LP+:.RQILJ NRQILJXULHUHQ :LQ&&26GHU &RQQHFWLYLW\6WDWLRQ ]XRUGQHQ HU]HXJW'&)'DWHLPLW $QODJHQNRQILJXUDWLRQ &RQQHFWLYLW\6WDWLRQ ¾EHUWUDJHQ HU]HXJWH'&)'DWHL ZLUGLQ$XWRPDWLRQ 3URMHFWVNRSLHUW WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Einstellungen beim Betrieb mit mehreren Netzwerkkarten Stellen Sie sicher, dass in den Einstellungen der SIMATIC Shell die richtige Netzwerkkarte gewählt ist. Klicken Sie auf das SIMATIC Shell-Symbol und wählen Sie im Kontextmenü "Einstellungen der SIMATIC Shell". Ändern Sie gegebenenfalls unter "Auswahl des Terminalbusses" die Netzwerkkarte. Siehe auch Grundlagen zu OLE DB (Seite 42) Lizenzierung (Seite 5) Transparenter Zugriff auf archivierte Daten (Seite 37) Funktionsweise von OPC (Seite 118) Verwendung der OPC-Schnittstelle der Connectivity Station (Seite 245) Verwendung der OLE DB-Schnittstelle der Connectivity Station (Seite 247) 3.9.2 Funktionsweise der Connectivity Station 3.9.2.1 Verwendung der OPC-Schnittstelle der Connectivity Station Prinzip In der Connectivity Station sind WinCC OPC-Server integriert, über die Sie mit einem OPCClient auf WinCC-Stationen mit Server-Packages zugreifen können. Den OPC-Client können Sie lokal auf der Connectivity Station oder auf einem separaten PC einsetzen. Der OPC-Client benötigt DCOM-Zugriffsrechte auf die Connectivity Station. WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 245 WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station (6 PLW3URMHNW :LQ&&&$6 'DWHQDXVWDXVFK ¾EHU23& 23&&OLHQW (6 $6 &$6 :LQ&&6WDWLRQ :LQ&&6WDWLRQ Q ,QWHUQH .RPPXQLNDWLRQ &RQQHFWLYLW\6WDWLRQ PLW23&6HUYHU $6Q (QJLQHHULQJ6WDWLRQ PLW67(3RGHU1&03&0DQDJHU $XWRPDWLVLHUXQJVV\VWHP :LQ&&&HQWUDO$UFKLYH6HUYHU Serverbezeichnungen der OPC-Server Der Datenaustausch zwischen OPC-Client und der Connectivity Station findet über OPC statt. In der Connectivity Station integriert sind die folgenden WinCC OPC-Server. WinCC OPC-Server Serverbezeichnung OPC DA WinCCConnectivity.OPCDAServer OPC HDA WinCCConnectivity.OPCHDAServer.1 OPC A&E WinCCConnectivity.OPCAEServer.1 Unterstützte OPC-Standards Die Connectivity Station unterstützte folgende OPC-Standards: ● OPC DA 2.05a Specification ● OPC DA 3.00 Specification ● OPC XML DA 1.00 Specification ● OPC AE 1.10 Specification ● OPC HDA 1.20 Specification Transparenter Zugriff auf archivierte Daten Mit OPC haben Sie transparenten Zugriff auf alle Archivdatenbanken der WinCC-Stationen. 246 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Zentraler Restart der OPC-Server Das Tool "ConfigureSposa" ermöglicht einen zentralen Restart der OPC-Server. "ConfigureSposa" finden Sie im Installationsordner der ConnectivityStation. Nach dem Start erscheint ein Symbol in der Symbolleiste, über das Sie die OPC-Server aussteuern können. Siehe auch Grundlagen zur Connectivity Station (Seite 243) Verwendung von OPC in WinCC (Seite 119) Zugriff über OPC auf WinCC-Archive, Variablen und Meldungen (Seite 35) Transparenter Zugriff auf archivierte Daten (Seite 37) 3.9.2.2 Verwendung der OLE DB-Schnittstelle der Connectivity Station Prinzip Sie benötigen entweder Connectivity Pack Server oder Connectivity Pack Client, um die Connectivity Station zu nutzen. Connectivity Pack Server/Client stellt mit dem WinCC OLE DB‑Provider eine OLE DB-Schnittstelle zur Verfügung. Über diese OLE DBSchnittstellen können Sie auf Meldungen und Variablen zugreifen. (6 PLW3URMHNW :LQ&&&$6 :LQ&&6WDWLRQ :LQ&&6WDWLRQ Q 'DWHQDXVWDXVFK ¾EHU2/('% &RQQHFWLYLW\6WDWLRQ YHUZHQGHW2/('%6FKQLWWVWHOOHGHV &RQQHFWLYLW\3DFN (6 $6 &$6 $6Q (QJLQHHULQJ6WDWLRQ PLW67(3RGHU1&03&0DQDJHU $XWRPDWLVLHUXQJVV\VWHP :LQ&&&HQWUDO$UFKLYH6HUYHU WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 247 WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Zugriff auf Datenbanken mit OLE DB Zum Zugriff auf die Datenbanken mit WinCC OLE DB können Sie eigene Applikationen schreiben. Für die Kommunikation mit dem WinCC OLE DB-Provider wird ADO DB in Applikationen eingesetzt, die z.B. mit Visual Basic, VBScript oder VBA erstellt wurden. Hinweis Einsatz der Connectivity Station auf einem Client mit eigenem Projekt Wenn Sie die Connectivity Station auf einem Client mit eigenem Projekt einsetzen und die OLE DB-Schnittstelle verwenden, dann beachten Sie Folgendes: Sie können nur auf die WinCC-Stationen zugreifen, die Sie bei der Konfiguration der Connectivity Station eingetragen haben. Die auf dem Client verfügbaren Server-Packages werden von der Connectivity Station nicht verwendet. Transparenter Zugriff auf archivierte Daten Mit OLE DB können Sie nur auf Prozesswertarchive transparent zugreifen. Beim transparenten Zugriff über WinCC OLE DB-Provider darf in einem Projekt nur ein WinCC CAS eingesetzt werden. Wenn Sie eine Connectivity Station in zwei Projekten einsetzen wollen, die beide einen WinCC CAS enthalten, dann müssen Sie vor dem Projektwechsel jeweils die DCF-Datei des vorherigen Projekts entfernen. Die DCF-Datei finden Sie auf der Connectivity Station in folgendem Pfad: ● Installationsverzeichnis\Siemens\AutomationProjects \<PROJEKTNAME_ConnectivityStationName>.DCF Hinweis Geben Sie für den transparenten Zugriff für "Catalog" den Namen des WinCC-Projekts an, z. B.: "Catalog=WinCC_Project_Name". Siehe auch Grundlagen zur Connectivity Station (Seite 243) Transparenter Zugriff auf archivierte Daten (Seite 37) Analysefunktionen für Meldungen und Prozesswerte (Seite 68) 3.9.3 Connectivity Station im S7-Projekt projektieren Einleitung Um die Connectivity Station einzurichten, fügen Sie in der Anlagenkonfiguration eine neue "SIMATIC PC-Station" hinzu. Diese "SIMATIC PC-Station" erhält durch die Projektierung der Applikation "SPOSA Appl." die Eigenschaften der Connectivity Station. 248 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Abhängig vom Projekttyp wird unter der "SPOSA Appl." eines der folgenden Objekte angelegt. ● Beim Projekttyp "STEP 7" das Objekt "Connectivity Station_(n)". ● Beim Projekttyp "PCS 7" das Objekt "Open_PCS7_Station_(n)". In der nachfolgenden Beschreibung wird der Projekttyp "STEP 7" und die zugehörige ObjektBezeichnung verwendet. Voraussetzungen ● Auf dem PC der Connectivity Station ist die erforderliche Software für die Connectivity Station installiert. ● Die Anlagenkonfiguration enthält WinCC-Stationen mit Server-Packages. Vorgehensweise Die Projektierung der Connectivity Station gliedert sich in folgende Schritte: 1. SIMATIC PC-Station anlegen und konfigurieren 2. WinCC-Stationen zuordnen 3. Connectivity Station übertragen SIMATIC PC-Station anlegen und konfigurieren 1. Wählen Sie im SIMATIC Manager im Navigationsfenster das Projektverzeichnis an. Wählen Sie im Kontextmenü den Menübefehl "Neues Objekt einfügen > SIMATIC PCStation". Ein neues Objekt "SIMATIC PC-Station" wird im Navigationsfenster eingefügt und bleibt selektiert. 2. Wählen Sie im Kontextmenü der SIMATIC PC-Station den Menübefehl "Objekt öffnen". Der Editor "HW Konfig" wird geöffnet und die neue PC-Station als leerer Baugruppenträger dargestellt. 3. Wählen Sie im Baugruppenkatalog im Verzeichnis "SIMATIC PC Station > HMI" den Eintrag "SPOSA Appl.". Fügen Sie die gewählte Baugruppe per Drag&Drop auf einem freien Steckplatz des Baugruppenträgers ein. 4. Wählen Sie den Menübefehl "Station > Speichern und übersetzen". 5. Wählen Sie den Menübefehl "Station > Beenden", um "HW Konfig" zu schließen. WinCC-Stationen zuordnen 1. Navigieren Sie im Navigationsfenster im Verzeichnis der neuen PC-Station über die Applikation "SPOSA Appl." zum Symbol "Connectivity Station". Wählen Sie im Kontextmenü der "Connectivity Station" den Menübefehl "OS-Server zuordnen…". Der Dialog "Zuordnung OS-Server für Connectivity Station" wird geöffnet. 2. Wählen Sie in der Tabelle in der Spalte "OS Information" die WinCC-Stationen aus, auf deren Daten die Connectivity Station Zugriff erhalten soll. Schließen Sie den Dialog über die Schaltfläche "OK". WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 249 WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station 3. Selektieren Sie im Navigationsfenster das Symbol "Connectivity Station". Wählen Sie im Kontextmenü den Menübefehl "Objekteigenschaften". Der Dialog "Eigenschaften - TIA-Applikation: Connectivity Station" wird geöffnet. 4. Wechseln Sie auf die Registerkarte "Zielsystem" und geben Sie im Feld "Pfad" den Pfad zum PC der Connectivity Station ein. Alternativ können Sie über die Schaltfläche "Durchsuchen…" einen Auswahldialog öffnen und den PC im Netzwerk suchen. Wenn sie den PC-Namen eingegeben haben, klicken Sie auf die Schaltfläche "Übernehmen". Das Verzeichnis "Automation Projects" wird an den PC-Namen angehängt. Schließen Sie den Dialog über die Schaltfläche "OK". Connectivity Station übertragen 1. Prüfen Sie, ob im Navigationsfenster im Verzeichnis der neuen PC-Station das Symbol "Connectivity Station" selektiert ist. 2. Wählen Sie im Kontextmenü den Menübefehl "Zielsystem > Laden". Quittieren Sie die Meldung nach Abschluss des Vorgangs. Ergebnis Für die Connectivity Station ist ein PC in der Hardwarekonfiguration im S7-Projekt ergänzt und konfiguriert. Die erforderlichen Projektdaten sind auf diesen PC übertragen. 3.9.4 Mit der Connectivity Station auf WinCC-Daten zugreifen Einleitung Die Connectivity Station ermöglicht den Zugriff auf die Daten von verschiedenen WinCCStationen mithilfe eines OPC-Clients. Dazu muss sich der OPC-Client nur mit der Connectivity Station verbinden. Der Datenaustausch zwischen OPC-Client und der Connectivity Station findet über OPC statt. In der Connectivity Station integriert sind die folgenden WinCC OPC-Server. OPC-Server Serverbezeichnung OPC DA WinCCConnectivity.OPCDAServer OPC HDA WinCCConnectivity.OPCHDAServer.1 OPC A&E WinCCConnectivity.OPCAEServer.1 Voraussetzungen ● Auf dem PC der Connectivity Station ist die Software für die Connectivity Station installiert. ● Die Connectivity Station ist im S7-Projekt projektiert und die Projektdaten auf den PC der Connectivity Station übertragen. ● Ein OPC-Client entsprechend den OPC-Spezifikationen ist verfügbar. 250 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA WinCC/Connectivity Pack Dokumentation 3.9 Connectivity Station Prinzipielle Vorgehensweise Die folgende Beschreibung beschreibt das prinzipielle Vorgehen. 1. Starten Sie den OPC-Client auf dem PC. 2. Wählen Sie den OPC-Server entsprechend der gewünschten Daten aus. Für die WinCC-OPC-Server gelten die Bezeichnungen wie in der oben stehenden Tabelle. 3. Definieren Sie, welche Daten übertragen werden sollen z. B. Variablen. Ergebnis Der OPC-Client ist mit der Connectivity Station verbunden und erhält die WinCC-Daten. Siehe auch Beispiele für den Zugriff über OLE DB-Provider (Seite 208) Zugriff über OPC auf WinCC-Archive, Variablen und Meldungen (Seite 35) Verbindung zur Archivdatenbank herstellen (Seite 47) OPC - Open Connectivity (Seite 118) WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA 251 Index A&E-Server Abbilden der WinCC Meldeklassen und Meldearten, 177 Fehlerreport , (Siehe Support) Kopplung WinCC - OPC A&E Client Beispiel zu OPC-A&E, 169 OPC-A&E-Server , 164, 177 SQL Server Import/Export-Wizard, 64 A A&E-Server, 161, 163, 172, 173, 177 abbilden des WinCC Meldesystems, 163 Abbilden des WinCC Meldesystems, 177 Condition Related Event, 161 Conditional Event, 172 Hierarchischer Zugriff, 173 Simple Event, 172 Tracking Event, 161, 172 Abfragen, 52, 58, 62 Anwenderarchiv, 62 Meldearchiv, 58 Prozesswertarchiv, 52 Aggregatfunktionen zur Analyse, 68 AlarmHitView, 68, 72 ALARMVIEW, 58 Analysefunktionen, 68 Meldearchive, 68, 72 Prozesswertarchive, 68 Recordset bei der Analyse von Meldearchiven, 72 Anwenderarchiv, 62, 64 Archivdaten abfragen, 62 Daten darstellen, 64 Anwendungsfall, 28, 29, 30, 31, 32, 33 Remote-Zugriff auf WinCC RT-Datenbank, 29 Remote-Zugriff auf WinCC-Anwenderarchive, 33 Remote-Zugriff auf WinCC-Archivdatenbanken, 31 Zugriff auf lokale WinCC Archivdatenbank, 30 Zugriff auf lokale WinCC RT-Datenbank, 28 Zugriff auf lokale WinCC-Anwenderarchive, 32 Zugriff über OPC, 35 Zugriff über WinCC OLE DB-Provider, 34, 39 Archivdaten, 41, 50, 58, 62 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Abfrage, 50, 58, 62 als Reports im Netz, 66 über WinCC OLE DB-Provider zugreifen, 41 Zugriff mit DataConnector Wizard projektieren, 210 Zugriff mit Visual Basic .NET projektieren, 222, 234 Zugriff mit Visual Basic projektieren, 208 Zugriff über WinCC OLE DB-Provider, 34 Archivdatenbank, 47 Verbinden, 47 Archive Connector, 24 Ausgelagerte WinCC-Archive auf Wechselmedien, 43 B Beispiel, 208, 216, 218, 225, 226, 228, 231, 237 Auswerten im WinCC-Projekt, 216, 228 Auswerten mit VB-Applikation, 226, 237 Meldearchiv lesen, 231 Prozesswertarchiv lesen, 218 Benutzerkonto, 201 OPC-Rechnern bekannt machen, 201 Bounding Values, 146 Buffer Time, 170 C CAL, 5 Client Access Licence, 5 CommandText, 50 ConnectionString, 47 Connectivity Pack, 24 Archive Connector, 24, 43 Datenbank-Zugriff, 43 Lizenzierung, 5 MS OLE DB-Provider, 24 OLE DB-Schnittstelle verwenden, 247 OPC, 24 Performance-Daten, 241 WinCC OLE DB-Provider, 24 Connectivity Station auf WinCC-Stationen zugreifen, 251 Grundlagen, 243 installieren, 244 Lizenz, 243 OPC-Schnittstelle verwenden, 245 253 Index projektieren, 249 Unterstützte OPC-Standards, 246 cp_TagStatistic, 68 Customer Support, (Siehe Support) D DataConnector, 24 Datenbank-Zugriff, 43 Datentyp, 80 unterstützte WinCC Datentypen, 80 unterstützte WinCC Datentypen Übersicht, 80 Define New Variable, 136 Beispiel zu OPC-DA, 136 E EA-Feld Konfiguration, 128 Beispiel zu OPC DA, 128 Eigenschaften Adresse, 88, 105 E-Server Funktionsweise des WinCC-OPC-A&OPC, 120 F K Kompatibilität, 119 Konfigurationsdatei Ablageort, 196 Aufbau, 196 Benutzeridentifizierung, 197 Portnummer, 196 Sicherheitseinstellungen, 196 URL des WinCC-OPC-UA-Servers, 196 WinCC-Archiv-Schreibzugriff, 197 konfigurieren Benutzeridentifizierung, 200 Optimierten WinCC-Archiv-Schreibzugriff, 200 Portnummer, 198 Sicherheitseinstellungen, 198 WinCC-OPC-UA-Server, 198 Kopplung WinCC - Microsoft Excel, 140 Beispiel zu OPC DA, 140 Kopplung WinCC - OPC A&E Client, 169 Kopplung WinCC - OPC-HDA-Client, 154 Beispiel zu OPC HDA, 154 Kopplung WinCC - SIMATIC NET FMS-OPC-Server, 132 Beispiel zu OPC DA, 132 Kopplung WinCC - SIMATIC NET S7-OPC-Server, 135 Beispiel zu OPC DA, 135 Kopplung WinCC - WinCC, 127 Beispiel zu OPC DA, 127 FAQ, (Siehe Support) Filterkriterien, 84 Funktionsweise des OPC-A&E-Server Conditional Event, 172 Simple Event, 172 Tracking Event, 172 Funktionsweise des WinCC-OPC-A&E-Server Simple Event, 161 L G Linked Server, 24 Lizenzierung Connectivity Station, 243 Grundlagen Connectivity Station, 243 I Inbetriebnahmen, 200, 207 Installation, 8, 10 Connectivity Pack Client, 10 Connectivity Pack Server, 8 Installieren Connectivity Station, 244 Item Handles, 146 Item ID, 146 254 M Max Size, 170 Meldearchiv, 50, 58, 228, 231, 237 Archivdaten abfragen, 50, 58, 231 Auswerten im WinCC-Projekt, 228 Auswerten mit VB-Applikation, 237 Daten darstellen, 60 Recordset, 60 Zugriff mit DataConnector Wizard, 210 Zugriff mit Visual Basic, 208, 231 Zugriff mit Visual Basic .NET, 234 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Index Meldearchivdaten Zugriff mit Visual Basic .NET, 234 Meldearten auf OPC-A&E-Server, 177 Meldeklassen auf OPC-A&E-Server, 177 Microsoft Message Queue, 6 MSMQ-Server, 6 Microsoft Message Queuing, 6 MS Message Queuing, 6 MS OLE DB, 42 MSMQ-Server, 6 N Neue Verbindung, 84 Neuer Benutzer, 201 O OLE DB transparenter Zugriff, 248 OLE DB-Schnittstelle Connectivity Pack, 247 Online-Support, (Siehe Support) OPC, 24 Abfrage der ProgID, 76 Beispiel, 127, 128, 129, 132, 133, 135, 136, 139, 140, 141, 143, 154 Benutzerkonto auf den OPC-Rechnern bekannt machen, 201 Eigenschaften Adresse, 88, 105 Fehlerbehandlung bei gestörter OPC Kommunikation, 94, 113 Filterkriterien, 84 Funktionsweise des OPC-A&E-Server, 172 Funktionsweise des WinCC-OPC-A&E-Server, 161 Funktionsweise des WinCC-OPC-DA-Clients, 81 Funktionsweise des WinCC-OPC-DA-Servers, 124 Funktionsweise des WinCC-OPC-HDA-Servers, 144 Funktionsweise des WinCC-OPC-UA-Clients, 107 Funktionsweise des WinCC-OPC-UA-Server, 188 Funktionsweise des WinCC-OPC-XML-Clients, 98 Funktionsweise des WinCC-OPC-XML-Servers, 120 HDA Server-Browser, 155 Inbetriebnahme, 200 Kommunikationskonzept, 120 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Kompatibilität, 119 Neue Verbindung, 84 Neuer Benutzer, 201 OPC in WinCC, 75, 119 OPC Kanal am WinCC-OPC-DA-Client projektieren, 83 OPC1, 88, 105 OPC-Item-Manager, 76 OPCServer.WinCC-(DPC_4001), 84 ProgID, 126 Spezifikationen, 118 Struktur Eigenschaften, 91 Struktur projektieren, 91 Strukturen auf dem WinCC-OPC-DA-Client, 90 Strukturen auf dem WinCC-OPC-DA-Client verwenden, 92 Strukturvariable projektieren, 91 Trace, 207 transparenter Zugriff, 246 Übersicht der Aufgaben des OPC-Item-Managers, 76 unterstützte WinCC Datentypen, 80 unterstützte WinCC Datentypen Übersicht, 80 Variable hinzufügen, 76, 84 Variable wählen, 76 Verbindung anlegen, 76 Verwendung mehrerer OPC-DA-Server, 125 WinCC als OPC-DA-Client, 75, 94 WinCC als OPC-UA-Client, 113 WinCC als OPC-XML-Client, 75 Zugriff auf das WinCC Meldesystem projektieren, 170 Zugriff auf eine Variable, 83 Zugriff auf eine WinCC Archivvariable mit HDA Server Browser projektieren, 156 Zugriff auf eine WinCC Variable mit dem OPCItem-Manager projektieren, 84 Zugriff auf eine WinCC Variable ohne den OPCItem-Manager projektieren, 88, 105 OPC A&E-Server Quality Codes, 168 Zugriff auf das WinCC Meldesystem projektieren, 170 OPC Kanal OPC Kanal am WinCC-OPC-DA-Client projektieren, 83 OPC Kommunikation, 94, 113 Fehlerbehandlung bei gestörter OPC DA Kommunikation, 94 Fehlerbehandlung bei gestörter OPC UA Kommunikation, 113 255 Index OPC UA OPC UA Service Sets , 191 Abbildung der Archivvariablen, 194 Abbildung der WinCC-Variablen, 193 Conformance Units, 191 Profile, 191 Zugriff auf eine Variable, 107 OPC UA Data Access, 194 OPC UA Historical Access, 195 OPC XML Zugriff auf eine Variable, 99 OPC1, 88, 105 OPC-A&E Client Beispiel zu OPC-A&E, 169 OPC-A&E-Server, 161, 169, 170, 172, 173 Quality Codes, 182 OPC-A&E-Servers, 120 OPC-A&Raw Data, 168 OPC-DA-Client, 81 Funktionsweise des WinCC-OPC-DA-Clients, 81 OPC-DA-Server, 124 Funktionsweise des WinCC-OPC-DA-Servers, 124 Verwendung mehrerer OPC-DA-Server, 125 OPC-HDA-Server, 144 Aggregate, 147 Attribute, 147 Bounding Values, 146 Datenstruktur, 146, 147 Funktionsweise, 144 Item Handles, 146 Item ID, 146 Quality Codes, 151, 168 Raw Data, 144 Schreibzugriffe, 152 Unterstützte Funktionen, 149 Zeitformat des WinCC-OPC-HDA-Servers, 149 OPC-Item-Manager, 76, 84, 126 Übersicht der Aufgaben des OPC-Item-Managers, 76 OPC-Schnittstelle Connectivity Station, 245 OPCScout-New Project1 Beispiel zu OPC DA, 136 OPC-Server Serverbezeichnungen, 246 OPCServer.WinCC-(DPC_4001), 84 OPC-Standards unterstützte ~ von Connectivity Station, 246 OPC-UA-Client, 107 Funktionsweise des WinCC-OPC-UA-Clients, 107 256 OPC-UA-Server Benutzeridentifizierung, 190 Funktionsweise, 188 Kommunikationsprofil, 188 Konfigurationsdatei, 196 Sicherheitseinstellungen, 190 Sicherheitskonzept, 189 unterstützte Spezifikationen, 188 URL, 188 OPC-XML, 203, 205 Installation testen, 205 Sicherheitseinstellung im IIS, 203 OPC-XML-Client, 98 Funktionsweise des WinCC-OPC-XML-Clients, 98 OPC-XML-Server, 120 Installation, 122, 124 Installation .NET-Framework 1.1, 123 P ProgID, 76 Abfrage der ProgID, 76 abfragen, 126 Projekt Beispiel zu OPC-DA, 129 Projektieren Connectivity Station, 249 Prozesswertarchiv, 49, 50, 52, 216, 218, 225, 226 Abfragen, 52 Archivdaten abfragen, 50 Auswerten im WinCC-Projekt, 216 Auswerten mit VB-Applikation, 226 Daten darstellen, 49 in Visual Basic Runtime darstellen, 218 Recordset, 49 Vergleichen von Messwertverläufen, 225 Zugriff mit DataConnector Wizard projektieren, 210 Zugriff mit Visual Basic, 208, 218 Zugriff mit Visual Basic .NET, 222 Q Quality Codes, 151, 168, 182 Quittierphilosophie, 167, 180 R Raw Data, 144 Recordset, 49, 60 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Index Reporting Services Voraussetzungen, 66 Reports mit Archivdaten verfügbar im Netz, 66 S Serverbezeichnungen WinCC OPC Server, 246 SQL Server Import/Export, 34 SQL-Abfragen auf WinCC-Datenbanken, 64 SQL-Datenbank, 74 Standard-SQL-Abfragen auf WinCC-Datenbanken, 64 Struktur Struktur projektieren, 91 Strukturen auf dem WinCC-OPC-DA-Client, 90 WinCC-OPC-Client verwenden, 92 Struktur Eigenschaften, 91 Strukturvariable, 91 Strukturvariable projektieren, 91 Support, 16, 19 Support Request, 19 T Tag R, 52 Technical Support, (Siehe Support) TIMESTEP, 52 Transparenter Zugriff mit OLE DB, 248 mit OPC, 246 U URL OPC-UA-Server, 188 V Variable Beispiel zu OPC DA, 136, 139, 143 Beispiel zu OPC HDA, 156, 157 HDA Server Browser, 155 HDA Server Browser projektieren, 156 OPC-Item-Manager, 84 OPC-Item-Manager projektieren, 84, 88, 105 Variable hinzufügen, 76 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA Variable wählen, 76 Variable hinzufügen, 76, 84 Beispiel zu OPC DA, 129 Verbindung Verbindung anlegen, 76 Verbindungsüberwachung, 81 Verwenden OLE DB-Schnittstelle des Connectivity Pack, 247 OPC-Schnittstelle der Connectivity Station, 245 Visual Basic, 208 Zugriff auf Archivdaten, 208 Visual Basic .NET, 222, 234 Zugriff auf Archivdaten, 222, 234 W WinCC als OPC-DA-Client, 75, 94 als OPC-UA-Client, 113 als OPC-XML-Client, 75 OPC in WinCC, 75, 94, 113, 119 WinCC Archive Connector, 24, 43 WinCC DataConnector, 24 WinCC Explorer-OPC_Client.MPC, 126 WinCC Meldesystem Abbilden der WinCC Meldeklassen und Meldearten, 164 Attribute, 165, 179 auf OPC A&OPC-A&WinCC Meldesystem, 163 WinCC Meldearten auf OPC A&E-Server, 164 WinCC Meldeklassen auf OPC A&E-Server, 164 Zugriff auf das WinCC Meldesystem projektieren, 170 WinCC OLE DB, 42 Grundlagen, 42 Microsoft, 42 WinCC, 42 WinCC OLE DB-Provider, 24, 41 Linked Server, 24 SQL-Server, 24 Zugriff auf Archivdaten, 41 WinCC OPC-Server Serverbezeichnungen, 246 WinCC-OPC-A&E-Server Hierarchischer Zugriff, 173 WinCC-OPC-UA-Server, 188 Discovery Server, 188 konfigurieren, 198 WinCC-Station mit Connectivity Station auf ~ zugreifen, 251 Windows Microsoft Message Queuing, 6 257 Index Z Zugreifen mit Connectivity Station auf WinCC-Station, 251 Zugriff über WinCC OLE DB, 64 Zugriffsschutz für SQL-Datenbank, 74 258 WinCC/Connectivity Pack Systemhandbuch, 02/2013, A5E32315628-AA