Sie sind auf Seite 1von 94

Exportieren

archivierter Daten aus


WinCC mit dem
OLE DB-Provider
Siemens
SIMATIC WinCC + WinCC/Connectivity Pack Industry
Online
https://support.industry.siemens.com/cs/ww/de/view/38132261 Support
Gewährleistung und Haftung

Gewährleistung und Haftung

Hinweis Die Anwendungsbeispiele sind unverbindlich und erheben keinen Anspruch auf
Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher Eventualitäten.
Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern sollen
lediglich Hilfestellung bei typischen Aufgabenstellungen bieten. Sie sind für den sach-
gemäßen Betrieb der beschriebenen Produkte selbst verantwortlich. Dieses Anwendungs-
beispiel enthebt Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung,
Installation, Betrieb und Wartung. Durch Nutzung dieses Anwendungsbeispiels erkennen
Sie an, dass wir über die beschriebene Haftungsregelung hinaus nicht für etwaige
Schäden haftbar gemacht werden können. Wir behalten uns das Recht vor, Änderungen
an diesem Anwendungsbeispiel jederzeit ohne Ankündigung durchzuführen. Bei
Abweichungen zwischen den Vorschlägen in diesem Anwendungsbeispiel und anderen
Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation
Vorrang.
Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine
Gewähr.
Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung der
in diesem Anwendungsbeispiel beschriebenen Beispiele, Hinweise, Programme,
Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen,
soweit nicht z. B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, der
groben Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der
Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer
Sache, wegen des arglistigen Verschweigens eines Mangels oder wegen
Verletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadens-
© Siemens AG 2019 All rights reserved

ersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den


vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder
grobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpers
oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu
Ihrem Nachteil ist hiermit nicht verbunden.
Weitergabe oder Vervielfältigung dieser Anwendungsbeispiele oder Auszüge
daraus sind nicht gestattet, soweit nicht ausdrücklich von der Siemens AG
zugestanden.

Security- Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den
hinweise sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen.
Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern,
ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und
kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die
Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen
Konzepts.
Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme,
Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten
nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und
soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von
Firewalls und Netzwerksegmentierung) ergriffen wurden.
Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen
beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter
http://www.siemens.com/industrialsecurity.
Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch
sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen,
sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen
Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter
Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.
Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial
Security RSS Feed unter http://www.siemens.com/industrialsecurity.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 2
Inhaltsverzeichnis

Inhaltsverzeichnis
Gewährleistung und Haftung ...................................................................................... 2
1 Einführung .......................................................................................................... 4
1.1 Überblick............................................................................................... 4
1.2 Funktionsweise ..................................................................................... 5
1.3 Beschreibung der WinCC-Applikation .................................................. 6
1.3.1 Übersicht und Beschreibung der Umkehrosmose-Anlage ................... 6
1.3.2 Funktionalität der Umkehrosmose-Anlage ........................................... 9
1.4 Verwendete Komponenten ................................................................. 13
2 Archivdaten exportieren mit WinCC .............................................................. 14
2.1 Funktionsweise ................................................................................... 14
2.2 Konfiguration und Projektierung ......................................................... 15
2.2.1 Konfigurationen im Beispielprojekt ..................................................... 15
2.2.2 Projektierung der Skripte zum Export von Archivdaten ..................... 16
2.2.3 Skript zum Export von archivierten Variablen .................................... 16
2.2.4 Skript zum Export von archivierten Meldungen ................................. 28
2.3 Bedienung .......................................................................................... 40
2.3.1 Export von archivierten Variablen mit VBS-Skript .............................. 40
2.3.2 Export von archivierten Meldungen mit VBS-Skript ........................... 40
3 Archivdaten exportieren mit Excel ................................................................ 41
3.1 Funktionsweise Übersicht .................................................................. 41
© Siemens AG 2019 All rights reserved

3.2 “Osmose”-Client ................................................................................. 43


3.2.1 Funktionsweise Details....................................................................... 43
3.2.2 Konfiguration und Projektierung ......................................................... 50
3.2.3 Bedienung .......................................................................................... 54
3.2.4 Fehlerhandling .................................................................................... 56
3.3 „Universal“-Client ................................................................................ 57
3.3.1 Funktionsweise Details....................................................................... 57
3.3.2 Konfiguration und Projektierung ......................................................... 68
3.3.3 Bedienung .......................................................................................... 72
3.3.4 Fehlerhandling .................................................................................... 79
4 Archivdaten exportieren mit SQL Server ...................................................... 80
4.1 Projektierung ...................................................................................... 80
5 Wissenswertes ................................................................................................. 89
5.1 Grundlagen ......................................................................................... 89
5.1.1 SIMATIC WinCC/Connectivity Pack ................................................... 89
5.1.2 WinCC OLE DB-Provider ................................................................... 89
5.1.3 Voraussetzung für die Verbindung zur WinCC-Datenbank................ 89
5.1.4 Verwendung von String-Variablen ..................................................... 90
5.2 Alternative Lösungen.......................................................................... 91
6 Anhang.............................................................................................................. 92
6.1 Service und Support ........................................................................... 92
6.2 Links und Literatur .............................................................................. 94
6.3 Änderungsdokumentation .................................................................. 94

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 3
1 Einführung

1 Einführung
1.1 Überblick
Motivation
Um Prozesse von modernen Automatisierungsanlagen zu visualisieren, werden
zahlreiche Prozessgrößen benötigt. Während des Prozessablaufs wird der
Anwender mit Hilfe von Meldungen über Ereignisse informiert. Die vergangenen
Prozessgrößen und Meldungen werden in Archiven abgespeichert und stehen
Ihnen somit jederzeit zur Verfügung.
WinCC speichert die Daten komprimiert und binärcodiert in den Archiven ab. Über
WinCC-Controls können die archivierten Prozessgrößen und Meldungen angezeigt
werden.
Das zugrundeliegende Format eignet sich jedoch nicht, um die Daten zu
analysieren und weiterzuverarbeiten.

Aufgabe
Die Anforderung besteht darin, die Daten in andere Formate, z. B. als „*.csv“- oder
„*.xls“-Datei zu exportieren. Die Daten können anschließend in Office-
Anwendungen, ERP- und MES-Systemen bequem weiterverarbeitet werden.

Abbildung 1-1
© Siemens AG 2019 All rights reserved

Visualisierung

Offic e A pplikationen,
ERP-, MES-System e

*.csv
*.xls

Externes Datenformat

Arc hive

Vorausgesetzte Kenntnisse
Grundlegende Kenntnisse zu WinCC V7 werden vorausgesetzt.

Hinweis Grundlagen werden im SITRAIN-Kurs „SIMATIC WinCC, Systemkurs“ vermittelt.


• SIMATIC WinCC, Systemkurs (de)
• SIMATIC WinCC, System Course (en)

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 4
1 Einführung

1.2 Funktionsweise
Zum Export der WinCC-Archivdaten wird die Option
SIMATIC WinCC/Connectivity Pack eingesetzt. Sie stellt den
WinCC OLE DB-Provider zur Verfügung.
Der WinCC OLE DB-Provider ermöglicht den transparenten Zugriff auf die WinCC-
Archivdaten.

Abbildung 1-2

Win CC–
Applikation

Offic e Applikationen,
Arc hive
ERP-, MES-Systeme
Projekt Daten

WinCC /Connec tivity Pac k *.c sv


OLE DB-Provider *.xls

Externes Datenformat
© Siemens AG 2019 All rights reserved

Arc hive Archive


Alarm Logging A rc hive Arc hive
Runtime Daten
Tag Logging FastTag Logging

Arc hive
SlowTag Logging

Dieses Dokument beschreibt Lösungsmöglichkeiten, um mit


Visual Basic (VB)-Skripten und dem SQL-Manager die archivierten Daten zu
exportieren. Genutzt wird hierbei der WinCC OLE DB-Provider.

Folgende Daten werden exportiert:


• Archivierte Prozesswerte
• Archivierte Meldungen

Zur Erstellung der neuen Datenformate werden drei Varianten betrachtet:


• Export der Archivdaten über ein VB-Skript im WinCC Projekt
• Export der Archivdaten über Visual Basic for Applications (VBA) mit Excel
• Export der Archivdaten über MS SQL Server Management Studio

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 5
1 Einführung

1.3 Beschreibung der WinCC-Applikation


In diesem Anwendungsbeispiel wird zur Datengewinnung eine Umkehrosmose-
Anlage zur Aufbereitung von Prozesswasser simuliert, wie sie z. B. in der
Pharmaindustrie oder in Brauereien eingesetzt wird.

Hinweis Die Umkehrosmose-Anlage ist als WinCC-Projekt ausgeführt und als Download
im Anwendungsbeispiel enthalten.

Die Anlage besitzt die Betriebszustände:


• Anfahren
• Produktion
• Abfahren
• Aus

VB-Skripte simulieren vollständig die Betriebszustände. WinCC-Archive speichern


die Prozessgrößen und Meldungen.

1.3.1 Übersicht und Beschreibung der Umkehrosmose-Anlage

Abbildung 1-3
© Siemens AG 2019 All rights reserved

Das Anwendungsbeispiel besitzt mehrere Schaltflächen, welche die Anlage


steuern und Archivdaten exportieren.
Visuell dargestellt sind:
• Ventile
• Diverse Druckanzeigen
• Ein Abfluss und Motor

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 6
1 Einführung

Je nach Betriebszustand werden die zugehörigen HMI-Variablen von Motor und


Ventilen auf „ON“ (1) oder „OFF“ (0) gesetzt. Im aktiven Zustand erfolgt eine
farbliche Änderung der Objekte. Tabelle 1-1 beschreibt kurz die Funktionsweise
der Schaltflächen.

Tabelle 1-1
Schaltflächen Beschreibung

Mit dieser Schaltfläche aktivieren Sie das vorherige Bild.

Mit dieser Schaltfläche aktivieren Sie das Startbild des


Anwendungsbeispiels.

Mit dieser Schaltfläche wechseln Sie zwischen den Sprachen


Deutsch und Englisch.

Mit dieser Schaltfläche beenden Sie die WinCC-Runtime des


Anwendungsbeispiels.

ANFAHREN Versetzt die Anlage in den Betriebszustand „Anfahren“.


ABFAHREN Versetzt die Anlage in den Betriebszustand „Abfahren“.
STOP Versetzt die Anlage in den Betriebszustand „Aus“.
Alarm-Control Öffnet das ActiveX-Control „Alarm Control“. Dieses zeigt die
vergangenen Meldungen zum Status der Anlage.
© Siemens AG 2019 All rights reserved

Trend-Control Öffnet das ActiveX-Control „Trend Control“. Dieses zeigt den


zeitlichen Verlauf der simulierten, analogen Messstellen der Anlage.
Export Variable Startet das VBS-Skript zum Exportieren von Messwerten in eine
„*.csv“-Datei.
Export Meldungen Startet das VBS-Skript zum Exportieren der Meldungen in eine
„*.csv“-Datei.

Tabelle 1-2
Ventile (V) / Pumpe (P) Beschreibung
V700 Ventil Rohwasser
V701 Ventil Prozesswasser
V702 Ventil Tankabfluss
V703 Ventil Konzentrat
V704 Ventil CO2
V705 Ventil Chemikalie
V706 Ventil Abfluss
P800 Motor/Pumpe für das Rohwasser

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 7
1 Einführung

Die aktuellen Zustände der simulierten Prozessgrößen werden über analoge


Messstellen (E/A-Felder) angezeigt. Die Prozessgrößen (Tabelle 1-3) beschreiben:
• Flüsse in den Rohrleitungen
• Leitfähigkeit der Flüssigkeiten
• Die Druckzustände an verschiedenen Messstellen innerhalb des Tanks

Tabelle 1-3
Analoge Einheit Beschreibung
Messstellen
FI100 m3/h Zufluss Rohwasser
FI101 m3/h Abfluss Tank
FI102 m3/h Abfluss außerhalb des Tanks
FI300 l/h Zufluss CO2
FI500 l/h Zufluss Chemikalie
QI901 µs/cm Leitfähigkeit Konzentrat
QI900 µs/cm Leitfähigkeit Prozesswasser
PI200 bar Drucksensor1 Tank
PI201 bar Drucksensor2 Tank
PI202 bar Drucksensor3 Tank
PI203 bar Drucksensor4 Tank
© Siemens AG 2019 All rights reserved

Ablauf der Kernfunktionalität

Tabelle 1-4
Nr. Betriebszustand Hinweis
1. Aus Die Anlage befindet sich nach Start des Anwendungsbeispiels
in der WinCC-Runtime im Betriebszustand „Aus“.
Die Ventile und Motoren befinden sich in Grundstellung
(Zustand: „0“). Analoge Messstellen besitzen entweder ihren
Startwert oder den Wert „0“.
Mit der Schaltfläche „STOP“ wird ein Notfalleingriff in die
laufende Anlage simuliert. Die Anlage wird abgeschaltet und
geht in den Betriebszustand „Aus“ über.
2. Anfahren Nach dem „Anfahren“-Prozess geht die Anlage automatisch in
den „Produktion“-Prozess über.
Die Ventile und der Motor öffnen bzw. starten schrittweise.
Alle analogen Messstellen werden mit simulierten Werten
beschrieben.
3. Produktion Alle Ventile und der Motor sind aktiviert. Die analogen
Messstellen werden weiterhin mit simulierten, leicht
schwankenden Werten beschrieben.
4. Abfahren Nach dem „Abfahren“ der Anlage stellt sich wieder der
Betriebszustand „Aus“ ein.
Die Ventile und der Motor schließen bzw. stoppen
schrittweise. Noch aktive Messstellen werden mit simulierten
Werten beschrieben.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 8
1 Einführung

1.3.2 Funktionalität der Umkehrosmose-Anlage

Nach dem Starten der Runtime werden ereignisgetriggert die Aktionen


„Measurement.bac“ und „SimReverseOsmosis.bac“ aufgerufen, in denen
verschiedene Prozeduren und Funktionen ausgeführt werden. Sie steuern den
Prozessablauf und die Simulation der analogen Messgrößen. Die Skripte wurden
mit VBS erstellt. Der komplette Anlagenprozess wird in zwölf Schritten simuliert.
Fünf Schritte für den Anfahrprozess, sieben für den Abfahrprozess, wobei der
0. Schritt den Status „Aus“ und der 5. Schritt den Staus „Produktion“ widerspiegelt.

Aktionen
Tabelle 1-5
Aktion Aufruf - Trigger Beschreibung
Measurement.bac zyklisch - Steuert die Berechnung von Werten
Timer = 1 s der einzelnen analogen Messstellen,
durch Aufruf der Skripte „MeasMode“
und „Measurement“. Die benötigten
Simulationsparameter werden
innerhalb der Aktion übergegeben.
SimReverseOsmosis.bac zyklisch - Simuliert den Ablauf der
Timer = 1 s Umkehrosmose-Anlage durch Aufruf
der Skripte „StepControl“ und
„ActuatorControl“.
© Siemens AG 2019 All rights reserved

Prozeduren
Tabelle 1-6
Prozedur Aufruf Beschreibung
StepControl.bmo Aktion Simuliert die einzelnen Schritte der
„SimReverseOsmosis“ Anlage über verschiedene
Sequenzen (StartupSequence,
ShutdownSequence,
StopSequence).
MeasMode.bmo Aktion „Measurement“ Simuliert den Zustand der
einzelnen analogen Messstellen.
Measurement.bmo Aktion „Measurement“ Simuliert die Größen der einzelnen
analogen Messstellen.
ActuatorControl.bmo Aktion Simuliert Zustände von Ventilen
“SimReverseOsmosis“ und Motor abhängig vom Zustand
der Anlage.
WriteArchiveToCSV.bmo Trigger Schaltfläche Legt eine „*.csv“-Datei an, greift
„WriteArchiveToCSV“ über den WinCC OLE DB Provider
auf das Archiv zu und schreibt die
Archiveinträge zur Variable
„QI901_ConductivityPermeatIn“ in
diese. Es werden lediglich
Variablennamen, Messzeitpunkt,
die Variablen-ID und Wert
gesichert.
WriteMessagesToCSV. Trigger Schaltfläche Legt eine „*.csv“- Datei an, greift
bmo „WriteMessagesToCSV“ über den WinCC OLE DB Provider
auf das Archiv zu und schreibt die
Archiveinträge, bei denen die
Meldungsnummer <4 ist, in diese.
Es werden lediglich Messzeitpunkt,
Meldungsnummer, -typ und –klasse
gesichert.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 9
1 Einführung

Schaltfläche „Anfahren“
• Der Startzeitpunkt wird ermittelt und in das Ausgabefeld „Start“ eingetragen.
• Die Sequenz „StartupSequence“ wird gestartet.
• Die Betriebszustandsanzeige „Status“ wechselt in die Betriebsart „Anfahren“.
• Die Ventile und Motoren öffnen bzw. starten schrittweise. Alle analogen
Messstellen werden mit simulierten Werten beschrieben. Der „Anfahren“-
Prozess enthält folgende fünf Schritte:

Abbildung 1-4

Status:
Anfahren
1

V703: offen Aktueller Schritt V704: offen Aktueller Schritt


V706 : offen =1 V705: offen =4

Aktueller Schritt Aktueller Schritt


V700: offen V702: offen
=2 =5
© Siemens AG 2019 All rights reserved

Status:
Aktueller Schritt Produktion
P800: aktiv
=3

Alle analogen Messstellen werden mit simulierten Werten beschrieben. Die Werte sind frei
gewählt und können jederzeit im Skript angepasst werden.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 10
1 Einführung

Variablen
Tabelle 1-7
Variablen Startwert Min Max Schrittweite
FI100_FlowRawwater 0 60 150 9
FI101_FlowConcentrate 0 10 7 120
= FI100 –
FI101 +
FI102_SupplyWater - - -
(FI300/1000) +
(FI500/1000)
FI300_FlowCO2 0 1 19 2
FI500_FlowChemicals 0 1 11 1,5
QI900_ConductivityPermeatIn 1511 1310 1556 33
QI901_ConductivityConcentrate 1900 1300 2000 56
PI200_Tank 0 1,1 5,5 0,35
PI201_Tank 0 1,1 5,4 0,32
PI202_Tank 0 1,1 5,3 0,31
PI203_Tank 0 1,1 5,2 0,30

• Die Kurvenaufzeichnung startet ereignisgetriggert mit dem Start der Anlage.


• Der Anfahrprozess dauert ca. 25 s, bis die Anlage in den Betriebszustand
„Produktion“ wechselt.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 11
1 Einführung

Schaltfläche „Abfahren“
Die Betriebszustandsanzeige „Status“ wechselt in die Betriebsart „Abfahren“.
• Die Sequenz „ShutdownSequence“ wird gestartet.
• Die Ventile und Motoren schließen bzw. stoppen schrittweise. Noch aktive,
analoge Messstellen werden weiterhin mit simulierten Werten beschrieben.
Der „Abfahren“-Prozess enthält folgende sieben Schritte (Schritt 6-12).

Abbildung 1-5

Status:
Abfahren
1

Aktueller Schritt V701: offen Aktueller Schritt


V702: zu
=6 V703: offen = 10

V704: zu Aktueller Schritt V701: zu Aktueller Schritt


V705: zu =7 V703: zu = 11

Aktueller Schritt Aktueller Schritt


P800: inaktiv V706: zu
=8 = 12
© Siemens AG 2019 All rights reserved

Status:
Aktueller Schritt Aus
V700: zu
=9

• Der Abfahrprozess dauert ca. 25 s bis die Anlage in den Betriebszustand „Aus“
wechselt.
• Die Kurvenaufzeichnung stoppt ereignisgetriggert mit „Aus“ der Anlage.
• Der Stoppzeitpunkt wird ermittelt und in das Ausgabefeld „Aus“ eingetragen.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 12
1 Einführung

Schaltfläche „Stopp“
• Die Betriebszustandsanzeige „Status“ wechselt in die Betriebsart „Aus“.
• Die Sequenz „StopSequence“ wird gestartet.
• Die Ventile und Motoren schließen bzw. stoppen sofort, analoge Messstellen
werden auf ihren Startwert zurückgesetzt.
• Die Kurvenaufzeichnung stoppt ereignisgetriggert mit dem „Stop“ der Anlage.
• Der Stoppzeitpunkt wird ermittelt und in das Ausgabefeld „Aus“ eingetragen.
• Die Anlage geht in den Betriebszustand „Aus“ über.

Schaltfläche „Produktion“
Alle Ventile und der Motor sind aktiv (Zustand: „1“). Die analogen Messstellen werden weiterhin
mit simulierten und leicht schwankenden Werten beschrieben (siehe Tabelle 1-7).

Schaltfläche „Aus“
Die Ventile und Motoren befinden sich in Grundstellung (Zustand: „0“). Analoge Messstellen
besitzen entweder ihren Startwert (siehe Tabelle 1-7) oder den Wert „0“.

1.4 Verwendete Komponenten


Dieses Anwendungsbeispiel wurde mit diesen Hard- und Softwarekomponenten
erstellt:
© Siemens AG 2019 All rights reserved

Tabelle 1-8
Komponente Anzahl Artikelnummer Hinweis
Engineering Station 1 Entwicklungsrechner mit
Windows 7x64 SP1
SIMATIC WinCC V7.4 SP1 1 6AV63.1-....7-4...
SIMATIC
WinCC/Connectivity Pack 1 6AV6371-1DR07-4...
V7.4 SP1
MS SQL Server 2008 R2 1
MS Excel 2007, 2010,
1
2013

Dieses Anwendungsbeispiel besteht aus folgenden Komponenten:

Tabelle 1-9
Komponente Dateiname
WinCC-Projekt 38132261_Application_Reverse_Osmosis_PROJ.zip
Excel-Dateien 38132261_Application_Reverse_Osmosis.xls
38132261_Application_Universal_Client.xls
Dokumentation 38132261_ Application_Reverse_Osmosis_DOC_de.pdf

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 13
2 Archivdaten exportieren mit WinCC

2 Archivdaten exportieren mit WinCC


2.1 Funktionsweise
• Der Datenzugriff auf das Runtime-Archiv erfolgt über VBS-Skripte in WinCC.
• Die Archivdaten werden in CSV-Dateien exportiert.

Abbildung 2-1
© Siemens AG 2019 All rights reserved

WinCC/Connectivity Pack
OLE DB Provider
*.csv
Exportierte Daten

• Variable
„QI900_ConductivityPermeatIn“
• Alle Meldungen in den letzten
24 h mit MsgNr. < 4

Archive

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 14
2 Archivdaten exportieren mit WinCC

2.2 Konfiguration und Projektierung


Dieses Kapitel beschreibt, welche Konfigurationen Sie im eigenen Projekt
durchführen müssen, um Archivdaten mit Hilfe des WinCC OLE DB-Providers in
eine csv-Datei zu exportieren.

Hinweis Die im Kapitel 2 gezeigten Skripte dienen lediglich der Illustration und wurden im
WinCC-Projekt bereits angelegt. Das WinCC-Projekt ist daher nach dem
Anpassen des Rechnernamens sofort lauffähig.

2.2.1 Konfigurationen im Beispielprojekt

Rechnername anpassen
1. Entpacken Sie die Datei mit dem Namen
„38132261_Application_Reverse_Osmosis_PROJ.zip“ in ein beliebiges
WinCC-Projektverzeichnis auf Ihrem Rechner.
2. Öffnen Sie das WinCC-Projekt mit dem Namen
„WinCC73_SE_UPD8_Connectivity_Pack.MCP“ und passen Sie im Projekt
den Rechnernamen in den Rechnereigenschaften an. Übernehmen Sie hierfür,
über das Kontextmenü unter „Rechner > Eigenschaften“, den
Windows-Rechnernamen ihres PC.
3. Starten Sie WinCC neu.
© Siemens AG 2019 All rights reserved

Hinweis Die eingestellte Auflösung beträgt 1520 x 900 Pixel.


Das Projekt ist zweisprachig (umschaltbar deutsch/englisch) erstellt und besitzt
daher eine Sprachumschaltung.

Script-Debugger
Wenn Sie die VB-Skripte debuggen möchten, können Sie einen Script-Debugger
verwenden. Ab SIMATIC WinCC V6.2 ist er aus lizenzrechtlichen Gründen nicht
mehr im Lieferumfang von SIMATIC WinCC enthalten.
Um die Anzeige und das Debugging von Script-Fehlern zu aktivieren, setzen Sie
unter den Rechnereigenschaften im Register „Runtime“ die folgenden
Einstellungen:
Abbildung 2-2

Hinweis Den MS Script-Debugger können Sie über Ihren WinCC-Installationsdatenträger


nachinstallieren. Weitere Hinweise dazu finden Sie in der Online-Hilfe zu WinCC
im Kapitel „Testen mit dem Debugger“.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 15
2 Archivdaten exportieren mit WinCC

Debugger starten
Wenn Sie die Funktion "Debugger starten" aktivieren, wird beim Start des ersten
Skripts in der Runtime der Debugger gestartet. Die Funktion dient zur raschen
Fehlersuche während der Projektierungsphase.
Die Funktion "Debugger starten" projektieren Sie für VBS-Skripte in Bildern des
Graphics Designer und für VBS-Skripte in Global Script separat. Aktivieren Sie
dazu das jeweilige Optionskästchen „Starte Debugger“.

Hinweis Weitere Hinweise finden Sie in der Dokumentation „WinCC V7.4 Scripting: VBS,
ANSI-C, VBA“, im Kapitel „So aktivieren Sie den Debugger“
https://support.industry.siemens.com/cs/ww/de/view/109736230/70687471243

Fehlerdialog anzeigen
Ist die Funktion "Fehlerdialog anzeigen" aktiviert, so wird beim Auftreten eines
Fehlers in einem VB-Skript ein Fehlerdialog mit Informationen zu dem
aufgetretenen Fehler angezeigt. Über eine Schaltfläche im Fehlerdialog kann ein
Debugger gestartet werden. Voraussetzung ist ein installierter Debugger für Visual
Basic.
Die Funktion "Fehlerdialog anzeigen" kann für VB-Skripte in Bildern des Graphics
Designer und für VB-Skripte in Global Script separat projektiert werden. Aktivieren
Sie dazu das jeweilige Kontrollkästchen.
© Siemens AG 2019 All rights reserved

2.2.2 Projektierung der Skripte zum Export von Archivdaten

Nach Beendigung eines Produktionszyklus der Umkehrosmose-Anlage werden die


zwischen Start- und Stoppzeitpunkt archivierten Messwerte in eine „*.csv“-Datei
eingetragen.
Der Stopp-, Anfahr- und Abfahrzeitpunkt der Osmose-Anlage wird als
Betriebsmeldung in das Meldearchiv eingetragen. Sie besitzen die Meldenummer
1, 2 und 3. In diesem Anwendungsbeispiel sollen die Anfahr-, Abfahr-, und
Stoppmeldungen der vergangen 24 Stunden in eine „*.csv“-Datei geschrieben
werden.
Die Lösung dieser Aufgabe wird anhand eines Skripts gezeigt. Es wurde mit dem
Global Script Editor von WinCC erstellt. Ereignisgetriggert (per Tastendruck oder
Variablentrigger) kann es aufgerufen werden.

2.2.3 Skript zum Export von archivierten Variablen

Zur besseren Veranschaulichung wird in diesem Beispiel nur die Messstelle QI900
(Leitfähigkeit des erzeugten Prozesswassers) betrachtet. Deren archivierte Werte
werden per Tastendruck in eine „*csv“-Datei geschrieben.
Die gleichzeitige Abfrage mehrerer Messwerte ist alternativ auch in VBS-Code
möglich.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 16
2 Archivdaten exportieren mit WinCC

Anlegen des VBS-Moduls

Tabelle 2-1
Nr. Aktion
1. Starten Sie den Global Script VBS-Editor.

2. Wählen Sie das Register „Project Module“ und erstellen Sie einen neuen Ordner
mit dem Namen „WriteArchiveToCSV“.
© Siemens AG 2019 All rights reserved

3. Legen Sie in diesem Ordner ein neues Projekt-Modul an.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 17
2 Archivdaten exportieren mit WinCC

Nr. Aktion
4. Ändern Sie die Sub-Prozedur in eine Funktion. Ergänzen Sie diese um die
Parameter „ArchiveName“ und „MeasuringPoint“. Speichern Sie das Projekt-
Modul unter dem Namen „WriteArchiveValuesToCSV“ ab.

Archivname (Parameter Archivname) und Messstellenname (Parameter


MeasuringPoint) werden erst bei Aufruf der Funktion übergeben.

VBS-Code: Erzeugen der „*.csv“-Datei


Im ersten Schritt des VBS-Codes wird zunächst die „*.csv“-Datei im Ordner
„C:\Temp\“ angelegt. Der Dateiname soll sich zusammensetzen aus dem
Anlagennamen „Osmosis“, dem Startzeitpunkt der Osmose-Anlage und dem
Messstellennamen der zu archivierenden Messstelle.
© Siemens AG 2019 All rights reserved

(Z. B.: C:\Temp\Osmosis_15.02.2015 10:30:00 QI900.csv)

Tabelle 2-2
Nr. Aktion
1. Beginnen Sie den Code mit der Deklaration der folgenden Variablen:
'Declaration of local Tags
Dim fso 'FileSystemObject
Dim f 'File
Dim ts 'TextStream
Dim path 'Path
Dim StartArchive 'Starttime of Archiving
Dim StopArchive 'Stoptime of Archiving
Dim TimeStamp 'Timestamp for bulding filename
2. Lesen Sie mit nachfolgendem Code den Start- und Stoppzeitpunkt der
Umkehrosmose-Anlage aus. Die internen WinCC-Variablen hierfür sind
„DateTimeLastStart“ und „DateTimeLastStop“. Bei Start und Stopp der Anlage
werden die jeweiligen Zeitpunkte (Format: tt.mm.jjjj hh:mm:ss) in diese
abgespeichert.
'Read Start- and Stoptime of Osmosis
Set StartArchive = HMIRuntime.Tags("DateTimeLastStart")
Set StopArchive = HMIRuntime.Tags("DateTimeLast")
Sofern Start- oder Stoppzeitpunkt fehlen, soll eine Meldung ausgegeben und die
Bearbeitung der Funktion beendet werden.
If StartArchive.Read = "" Or StopArchive.Read = "" Then
MsgBox "Start- or Stoptime of Archiving is missing"
Exit Function
End If

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 18
2 Archivdaten exportieren mit WinCC

Nr. Aktion
3. Legen Sie den Pfad und Dateinamen fest. Die Variable „path“ beinhaltet den
kompletten Dateinamen mit Pfad in der Form:
C:\Temp\Osmosis_+ Startzeitpunkt +_Messstellenname
Der Startzeitpunkt wird im Anwendungsbeispiel zur Bildung des Dateinamens
verwendet und muss zuvor in ein geeignetes Format gebracht werden.
'Generate String for the *.csv filename and replace ":" with
'"_"
TimeStamp = FormatDateTime(StartArchive.Read, vbGeneralDate)
TimeStamp = Replace(TimeStamp,":", "_")
'Path and name for the *.csv -File
path = "C:\Temp\" & "Osmosis_" & TimeStamp & "_" &
MeasuringPoint & ".csv"
4. Anschließend nutzen Sie den nachfolgenden Code, um das Dateisystem-Objekt
(fso) und das Datei-Objekt (f) unter Verwendung des zuvor gebildeten Pfad- und
Dateinamens (path) zu erzeugen. Zuvor wird geprüft, ob die Datei bereits existiert
und für diesen Fall die Bearbeitung der Funktion nach Ausgabe einer Meldung
beendet werden.
'Create FileSystemObject and *.csv file if it not exist:
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(path) Then
fso.CreateTextFile(path)
Else
© Siemens AG 2019 All rights reserved

MsgBox "File already exist:" & vbCrLf & path


Exit Function
End If
Im Abschluss wird die „*.csv“-Datei mit dem TextStream-Objekt (ts) für das
Schreiben geöffnet.
'Create File-Object and open this File
Set f = fso.GetFile(path)
'iomode = 2, Writing
'format = -2, TristateUseDefault
Set ts = f.OpenAsTextStream(2,-2)
'*.csv file is now ready for Writing
Das Skript ist fertig. Die Datei wird erst erzeugt, wenn das Skript ausgeführt wurde.

Verbindung zur Datenbank


Im zweiten Schritt der Funktion wird die Verbindung zur Datenbank über den
WinCC OLE DB-Provider hergestellt. Die Messwert-Archivdaten werden in einem
RecordSet (einer Kopie mehrerer Datensätze) eingetragen. Pro Datensatz werden
folgende Felder übergeben:

Tabelle 2-3
Feld-Nr. Feldname Typ Bedeutung
0 ValueID Integer (4 Byte) ID des Prozesswerts
1 TimeStamp DateTime Zeitstempel des Prozesswerts
2 RealValue Real (8 Byte) Prozesswert
3 Quality Integer (4 Byte) QualityCode des Prozesswerts

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 19
2 Archivdaten exportieren mit WinCC

Aufbau der Verbindung


Für den Verbindungsaufbau zur Datenbank wird ein Connection-Objekt erzeugt
und der ConnectionString übergeben. Der ConnectionString benötigt:
• Den Providernamen
• Die Providerinstanznummer
• Die Benutzer-Data Source Name (DSN, GUID des WinCC-Projektes)
• Als Datenquelle WinCC inkl. des Rechnernamens

Allgemeines Format des „ConnectionString”:


ConnectionString = „Provider=<Providernamen>.<Instanznr.>;Catalog=<DSN der
Datenbank>R;Data Source=<Rechnername>\WinCC“

Hinweis Ein Zugriff ist auch ohne Angabe des Rechnernamens möglich (.\WinCC).
Jedoch sinkt dabei die Zugriffsgeschwindigkeit.
Geben Sie beim transparenten Zugriff für „Catalog“ den Namen des WinCC-
Projekts an, z. B.: „Catalog = WinCC_Project_Name“.

Abfrage der Daten


Die Daten werden über ein Command-Objekt abgefragt, dem dann ein
„CommandText“ zur Abarbeitung übergeben wird. Im „CommandText“ müssen
übergeben werden:
© Siemens AG 2019 All rights reserved

• Die Aktion (R = Lesezugriff)


• Die ValueID oder der symbolische Name der Archivvariablen
• Der Start- und Stoppzeitpunkt („Starttime“ und „Endtime“)

Format des „CommandText“:


CommantText = „Tag:<Aktion>,< ValueID oder ArchiveName\Tagname>',
'<Startzeitpunkt>,'<Stoppzeitpunkt>‘“

Hinweis Geben Sie, um mehrere archivierte Werte gleichzeitig abzufragen, die ValueIDs
oder Variablennamen in Klammern und durch Semikolon getrennt, an (z. B.
„TAG:R,('ValueName_1';'ValueName_2';'ValueName_x'), <TimeBegin>,
<TimeEnd>“).

Die Startzeit- bzw. Stoppzeitpunkte können absolut oder relativ übergeben werden.

Tabelle 2-4
Startzeitpunkt Stoppzeitpunkt Abgefragter Zeitbereich

2016-02-15 14:10:00:000 2016-02-15 14:30:00:000 15.02.2016 14:10 bis 14:30

2016-02-15 14:10:00:000 0000-00-00 01:00:00:000 15.02.2016 14:10 bis 15:10

0000-00-00 01:00:00:000 2016-02-15 14:30:00:000 15.02.2016 13:30 bis 14:30

0000-00-00 00:00:00:000 0000-00-00 00:01:00:000 Archiv-Anfang bis Archiv-Ende


plus 1 min.

0000-00-00 00:01:00:000 0000-00-00 00:00:00:000 Archiv-Ende minus 1 min bis


Archiv-Ende

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 20
2 Archivdaten exportieren mit WinCC

Hinweis Der Zeitstempel der Prozesswerte wird in UTC (koordinierte Weltzeit) abgelegt.
Daher muss bei Angabe der Startzeit- und Endzeitpunkte in absoluter Form die
regionale Zeitzone und ggf. Sommer- und Winterzeit berücksichtigt werden.
Hinweise zum Umrechnen der lokalen Rechnerzeit in UTC finden Sie unter:
https://support.industry.siemens.com/cs/ww/de/view/24201113

Hinweis Die Abfrage mit „ValueID“ ist performanter als die Abfrage über
„ArchiveName\Tagname“. Die ValueID ist jedoch nicht mit der Reihenfolge der
Variablen im Tag-Logging-Editor identisch. Die ValueID eines Tags kann über
den SQL Server Management Studio ermittelt werden. Öffnen Sie die Tabelle
„dbo.Archive“ in der Runtime-Datenbank des Projekts über das SQL Server
Management Studio. Die ValueID ist in der ersten Spalte der Tabelle aufgelistet.

Herstellen der Verbindung und Abfrage der Daten

Tabelle 2-5
Nr. Aktion
1. Deklarieren Sie die weiteren Variablen:
Dim Pro 'Provider
© Siemens AG 2019 All rights reserved

Dim DSN 'Data Source Name


Dim DS 'Data Source
Dim ConnString 'Connection String
Dim MachineNameRT 'Name of the PC from WinCC-RT
Dim DSNRT 'Data Source Name from WinCC-RT
Dim Conn 'Connection to ADODB
Dim RecSet 'RecordSet
Dim Command 'Query
Dim CommandText 'Command-Text
Dim CommandTextStart 'Starttime for SQL-String
Dim Duration 'Duration of Production-Cycle
Dim DurationSec 'Duration of Production-Cycle
Dim DurationMin 'Duration of Production-Cycle
Dim DurationHour 'Duration of Production-Cycle
Dim DurationDay 'Duration of Production-Cycle
Dim Language 'Language tag

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 21
2 Archivdaten exportieren mit WinCC

Nr. Aktion
2. Lesen Sie mit dem nachfolgenden Code den Rechnernamen und die GUID des
Projekts aus den Umgebungsvariablen „@LocalMachineName“ und
„@DataSourceNameRT“, in die zuvor deklarierten, lokalen Variablen ein.
'Read the name of the PC-Station and the DSN-Name from
'WinCC-RT
Set MachineNameRT = HMIRuntime.Tags("@LocalMachineName")
Set DSNRT = HMIRuntime.Tags("@DatasourceNameRT")
Mit Hilfe dieser Variablen bilden Sie den „ConnectionString“.
'Preparing the Connection-String
'First instance of WinCCOLEDB
Pro="Provider=WinCCOLEDBProvider.1;"
'Name of Runtime-Database
DSN="Catalog=" & DSNRT.Read & ";"
'Data Source
DS= "Data Source=" & MachineNameRT.Read & "\WinCC"
'Build the complete String:
ConnString = Pro + DSN + DS
3. Bauen Sie mit der Anwendung des „ConnectionString“ die Verbindung zur
Datenbank auf:
'Make Connection
© Siemens AG 2019 All rights reserved

Set Conn = CreateObject("ADODB.Connection")


Conn.ConnectionString = ConnString
Conn.CursorLocation = 3
Conn.open
Hinweis:
Um für die Abfrage von Archivdaten den Ort des RecordSet festzulegen, weisen
Sie der Eigenschaft „CursorLocation“ einen Wert zu. Im Beispiel wird der Wert „3“
vergeben. Der RecordSet wird somit auf dem Client erstellt.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 22
2 Archivdaten exportieren mit WinCC

Nr. Aktion
4. Für die Abfrage der Daten in der WinCC-Datenbank wird der „Command-Text“
benötigt.
In diesem Anwendungsbeispiel wird für die Abfrage die relative Zeitangabe
verwendet. Der Startzeitpunkt ist die Differenz zwischen Startzeit- und
Endzeitpunkt. Die Abfrage umfasst dadurch den Zeitraum „Archiv-Ende minus
Zeitdifferenz bis Archiv-Ende“ (siehe Tabelle 2-4).
Die volle Zeitdifferenz wird zunächst in der Einheit Sekunden gebildet und erst
anschließend in das Zeitformat „Tage:Stunden:Minuten:Sekunden“ umgerechnet.
Bei der Formatierung werden auch die führenden Nullen bei Zahlenwerten größer
10 erzeugt.
'Duration between Start an Stop in seconds:
Duration = DateDiff ("s",StartArchive.Read,StopArchive.Read)
'Split the Duration in days, hours, minutes and seconds:
DurationMin = Fix(Duration/60)
DurationSec = Duration - (DurationMin * 60)
DurationHour = Fix(DurationMin/60)
DurationMin = DurationMin -(DurationHour * 60)
DurationDay = Fix(DurationHour/ 24)
DurationHour = DurationHour - (DurationDay * 24)
'Creating leading zeros:
DurationSec = Right("00" & DurationSec,2)
DurationMin = Right("00" & DurationMin,2)
© Siemens AG 2019 All rights reserved

DurationHour = Right("00" & DurationHour,2)


DurationDay = Right("00" & DurationDay,2)
5. Bilden Sie aus dem Archivnamen, der Archivvariable, die Sie auslesen möchten,
sowie dem Startzeitpunkt und der berechneten Zeitdifferenz den „CommandText“.
'Formating Starttime:
CommandTextStart = "'0000-00-" & DurationDay & " " &
DurationHour & ":" & DurationMin & ":" & DurationSec &
".000'"
'Building the complete String:
CommandText="Tag:R,'" & Archivename & "\" & MeasuringPoint &
"'," & CommandTextStart & ",'0000-00-00 00:00:00.000'"
6. Erzeugen Sie das Command-Objekt und legen Sie den „CommandType“ fest.
Danach folgt die Abfrage mit dem zuvor erzeugten CommandText. Der RecordSet
wird anschließend auf den ersten Datensatz gestellt, in dem der zuerst erfasste,
und somit älteste, Prozesswert gespeichert ist.
'Create the recordset, read the records and set to first
‘redcordset:
Set Command = CreateObject("ADODB.Command")
Command.CommandType = 1
Set Command.ActiveConnection = Conn
Command.CommandText=CommandText
Set RecSet = Command.Execute
RecSet.MoveFirst

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 23
2 Archivdaten exportieren mit WinCC

Hinweis Beachten Sie im Umgang mit Zeit- und Datumsformat in WinCC und Visual
Basic, dass das Datumsformat von der in Windows eingestellten Region
abhängig ist. Der VBS-Code ist so gestaltet, dass Datum und Uhrzeit
unabhängig von diesen rechnerspezifischen Einstellungen ausgewertet werden.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 24
2 Archivdaten exportieren mit WinCC

Schreiben der „*.csv“-Datei


Die Datensätze aus dem zuvor geöffneten RecordSet werden in die „*.csv“-Datei
geschrieben.

Tabelle 2-6
Nr. Aktion
1. Die nachfolgende Schleife schreibt die Datensätze (Messstellennamen, Variablen-
ID, den Zeitstempel (UTC), den Prozesswert) zeilenweise in die „*.csv“-Datei. Zuvor
wird einmalig eine Zeile mit den Spaltenüberschriften erzeugt. Hierbei wird die
aktuelle Runtime-Spracheinstellung berücksichtigt (HMIRuntime.Language; 1031 =
deutsch, 1033 = englisch).
Das RecordSet wird bei jedem Durchlauf auf den nächsten Datensatz gestellt.
'write recordsets To *.csv-File
'Header in *.csv-File
Language = HMIRuntime.Language
Select Case Language
Case 1031 'German = 1031
ts.WriteLine ("Tag-Name;ValueID;Datum/Zeit;Prozesswert")
'MsgBox "Tag-Name;ValueID;Datum/Zeit;Prozesswert"
Case 1033 'English = 1033
ts.WriteLine ("Tag-Name;ValueID;Date/Time;Process-Value")
© Siemens AG 2019 All rights reserved

'MsgBox "Tag-Name;ValueID;Date/Time;Process-Value"
End Select

Do While Not RecSet.EOF


ts.WriteLine (MeasuringPoint & ";" &
RecSet.Fields("ValueID").Value & ";" &
RecSet.Fields("TimeStamp").Value & ";" &
RecSet.Fields("RealValue").Value)
RecSet.MoveNext
Loop

Select Case Language


Case 1031 'German = 1031
MsgBox "Schreiben der Datei" & vbCrLf &
“C:\Users\os\Documents\" & "Osmosis_" & TimeStamp & "_" &
MeasuringPoint & ".csv" & vbCrLf & "erfolgreich!"
Case 1033 'English = 1033
MsgBox "Writing of File" & vbCrLf & "C:\Users\os\Documents\"
& "Osmosis_" & TimeStamp & "_" & MeasuringPoint & ".csv" &
vbCrLf & "successful!"
End Select

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 25
2 Archivdaten exportieren mit WinCC

Nr. Aktion
2. Am Ende des Skriptes wird die Verbindung zur Datenbank beendet und die Objekte
freigegeben.
' Close all
ts.Close
RecSet.Close
Set ReCset = Nothing
Set Command = Nothing
conn.Close 'Close connection
Set Conn = Nothing
Set fso = Nothing
Set f = Nothing
Set ts = Nothing
End Function
3. Speichern Sie das Skript. Das Skript steht nun zum Aufruf zur Verfügung.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 26
2 Archivdaten exportieren mit WinCC

Aufruf der Funktion im Prozessbild


Die erstellte Funktion „WriteArchiveValuesToCSV“ benötigt für den Aufruf die
beiden Parameter „Archivename“ und „MeasuringPoint“.
Der Parameter „Archivename“ entspricht dabei dem Namen des Archivs, in dem
sich die auszulesende Variable befindet. Im vorliegenden Anwendungsbeispiel ist
das Archiv „Prozesswertarchiv“.
Der „MeasuringPoint“ entspricht dem Namen der zu lesenden Archivvariable (Tag),
beispielhaft soll die Variable „QI900_ConductivityPermeatIn“ verwendet werden.
Im Bild „ReverseOsmosis.Pdl“ wird das Skript über die zugehörige Schaltfläche
aufgerufen.

Tabelle 2-7
Nr. Aktion
1. Öffnen Sie das Bild „ReverseOsmosis.Pdl“ im Graphics Designer.
2. Öffnen Sie den Eigenschaften-Dialog der Schaltfläche „Export Variable“ und öffnen
Sie unter „Ereignisse > Maus > Mausklick > VBS-Aktion“ den VBS-Editor.
© Siemens AG 2019 All rights reserved

3. Rufen Sie das zuvor erstellte Skript mit dem folgenden Code auf.
Sub OnClick(Byval Item)
Dim ArchiveName
Dim MeasuringPoint
ArchiveName = "Prozesswertarchiv"
MeasuringPoint = "QI900_ConductivityPermeatIn"
Call WriteArchiveValueToCSV (ArchiveName, MeasuringPoint)
End Sub
4. Speichern Sie das Bild.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 27
2 Archivdaten exportieren mit WinCC

2.2.4 Skript zum Export von archivierten Meldungen

Die An- und Abfahrzeitpunkte, sowie der Stoppzeitpunkt der Osmose-Anlage


werden als Betriebsmeldung in das Meldearchiv eingetragen. Sie besitzen die
Meldenummer 1-3. In diesem Anwendungsbeispiel sollen die Anfahr- ,Abfahr- und
Stoppmeldungen, welche die letzten 24 Stunden aufgetreten sind, in eine
„*.csv“-Datei geschrieben werden.
Die Verfahrensweise entspricht hier im Wesentlichen dem Schreiben von
Messwertarchiven (Kapitel 2.2.3) in eine „*.csv-Datei“. Unterschiede bestehen
lediglich im Aufbau des RecordSets und in der Abfrage der Datensätze.

Anlegen des VBS-Moduls

Tabelle 2-8
Nr. Aktion
1. Starten Sie im WinCC-Anwendungsbeispiel den Global VBS-Editor.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 28
2 Archivdaten exportieren mit WinCC

Nr. Aktion
2. Sofern Kapitel 2.2.3 bereits bearbeitet wurde, kann Schritt Nr. 2 entfallen.
Wählen Sie das Register „Project Module“ und erstellen Sie einen neuen Ordner mit
dem Namen „WriteArchiveToCSV“.

3. Legen Sie in diesem Ordner ein neues Projekt-Modul an.


© Siemens AG 2019 All rights reserved

4. Ändern Sie den Namen der Prozedur und speichern Sie das Projekt-Modul unter
dem Namen „WriteArchiveMessagesToCSV“.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 29
2 Archivdaten exportieren mit WinCC

VBS-Code: Erzeugen der „*.csv“-Datei


Im ersten Schritt des VBS-Codes wird zunächst die „*.csv“-Datei im Ordner
„C:\Temp\“ angelegt. Der Dateiname soll sich zusammensetzen aus dem
Anlagennamen „Osmosis“, dem Startzeitpunkt der Osmose-Anlage und dem
Zusatz „Messages“.
Z. B.: C:\Temp\Osmosis_15.02.2015 10:30:00_Messages.csv

Tabelle 2-9
Nr. Aktion
1. Deklarieren Sie die folgenden Variablen:
'Declaration of local Tags
Dim fso 'FileSystemObject
Dim f 'File
Dim ts 'TextStream
Dim path 'path
Dim StartTime 'Date and Time when writing is triggerd
Dim TimeStamp 'Timestamp for bulding filename
2. Legen Sie den Pfad und Dateinamen fest. Die Variable „path“ beinhaltet den
kompletten Dateinamen mit Pfad in der Form:
C:\users\<Benutzername>\Documents\Osmosis_ + Startzeitpunkt + _Messages.csv
Lesen Sie mit nachfolgendem Code die aktuelle Systemzeit aus und legen Sie
© Siemens AG 2019 All rights reserved

diese als Startzeitpunkt fest. Der Startzeitpunkt wird im Anwendungsbeispiel zur


Bildung des Dateinamens verwendet und muss zuvor in ein geeignetes Format
gebracht werden.
'Date and Time when writing is triggerd
StartTime = Now
'Generate String for the *.csv filename and replace ":" with
"_"
TimeStamp = FormatDateTime(StartTime, vbGeneralDate)
TimeStamp = Replace(TimeStamp,":", "_")
'Path and name for the *.csv file
path ="C:\Temp\" & "Osmosis_" & TimeStamp & "_Messages.csv"

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 30
2 Archivdaten exportieren mit WinCC

Nr. Aktion
3. Nutzen Sie den nachfolgenden Code um das Dateisystem-Objekt (fso) und das
Datei-Objekt (f) unter Verwendung des zuvor gebildeten Pfad- und Dateinamens
(path) zu erzeugen. Zuvor wird geprüft, ob die Datei bereits existiert. Für diesen Fall
die Bearbeitung der Funktion nach Ausgabe einer Meldung beendet.
'Create FileSystemObject and *.csv file if it not exist:
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(path) Then
fso.CreateTextFile(path)
Else
MsgBox "File already exist:" & vbCrLf & path
Exit Sub
End If
Im Anschluss wird die „*csv“-Datei mit dem TextStream-Objekt (ts) für das
Schreiben geöffnet.
'Create File-Object and open this File
Set f = fso.GetFile(path)
Set ts = f.OpenAsTextStream(2,-2)
'iomode = 2, Writing
'format = -2, TristateUseDefault
'*.csv-File is now ready for Writing
© Siemens AG 2019 All rights reserved

Verbindung zur Datenbank


Im zweiten Schritt der Sub-Prozedur wird die Verbindung zur Datenbank über den
WinCC OLE DB-Provider hergestellt. Für die Verbindung wird mindestens einer der
nachfolgenden Punkte vorausgesetzt.
• Das Archiv, aus dem gelesen werden soll, ist Bestandteil eines
WinCC-Runtime Projektes.
• Das Archiv, aus dem gelesen werden soll, ist im SQL-Manager über
„Attach Database“ angebunden.
• Das Archiv, aus dem gelesen werden soll, ist über den „Archive-Connector“
angebunden.

Für die Abfrage der Meldearchivdaten wird ein SQL-Befehlssatz gebildet. Ein
Meldearchivdatensatz ist entsprechend Tabelle 2-10 aufgebaut. Die Feldnamen
können in der SQL-Abfrage direkt angesprochen werden.

Tabelle 2-10
Feld-Nr. Feldname Typ Bedeutung
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 PValueUsed Integer 4 Byte Verwendete Prozesswerte

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 31
2 Archivdaten exportieren mit WinCC

Feld-Nr. Feldname Typ Bedeutung


8-17 PValue1 bis Real 8 Byte Numerischer Prozesswert 1 bis
PValue10 10
18-28 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“
© Siemens AG 2019 All rights reserved

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 Prioritiy 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
68 Params Integer 4 Byte Parameter
69 Servername VarChar(255) Servername

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 32
2 Archivdaten exportieren mit WinCC

Aufbau der Verbindung


Für den Aufbau der Verbindung zur Datenbank wird ein Connection-Objekt erzeugt
und der „ConnectionString“ übergeben. Der „ConnectionString“ benötigt die
folgenden Parameter.
• Den Providernamen
• Die Providerinstanznummer
• Die Benutzer-DSN (GUID des WinCC-Projektes)
• Als Datenquelle WinCC inkl. des Rechnernamens.

Allgemeines Format des “ConnectionString”:


ConnectionString = „Provider=<Providernamen>.<Instanznr.>;Catalog=<DSN der
Datenbank>R;Data Source=<Rechnername>\WinCC“

Hinweis Ein Zugriff ist auch ohne Angabe des Rechnernamens möglich (.\WinCC).
Jedoch erfolgt er dabei mit geringerer Performance.
Geben Sie beim transparenten Zugriff für "Catalog" den Namen des WinCC-
Projektes an, z. B.: "Catalog=WinCC_Project_Name".

Abfrage der Daten


Zur Abfrage der Daten wird ein Command-Objekt erzeugt, dem ein
© Siemens AG 2019 All rights reserved

„CommandText“ zur Abarbeitung übergeben wird. Der „CommandText“ enthält die


nachfolgenden Parameter.
• Ein Befehlssatz (ALARMVIEWEX:Select)
• Der Name der Datenbanktabelle (ViewName)
• Die Bedingung (Condition)

Allgemeines Format des „CommandText“:


CommantText = "<Befehlssatz> * FROM <Name der Datenbanktabelle> WHERE
<Bedingung>“

Tabelle 2-11
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:

ALGVIEWEXDEU: deutsche Meldearchivdaten


ALGVIEWEXENU: englische Meldearchivdaten
ALGVIEWEXESP: spanische Meldearchivdaten
ALGVIEWEXFRA: französische Meldearchivdaten
ALGVIEWEXITA: italienische Meldearchivdaten

Der "ViewName" für die asiatischen Sprachen lautet:


ALGVIEWEXCHS: chinesische (simplified) Meldearchivdaten
ALGVIEWEXCHT: chinesische (traditionell) Meldearchivdaten
ALGVIEWEXJPN: japanische Meldearchivdaten
ALGVIEWEXKOR: koreanische Meldearchivdaten

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 33
2 Archivdaten exportieren mit WinCC

Parameter Beschreibung
Condition Gibt die Bedingung(en) für die Meldearchiv-Abfrage an.
Beispiele für Abfragen:
DateTime>'2003-06-01' AND DateTime<'2003-07-01'
DateTime>'2003-06-01 17:30:00'
MsgNr = 5
MsgNr in (4, 5)
State = 2

Hinweis
Bei DateTime können nur absolute Zeitangaben verwendet werden.
Beispiel:
Der „CommandText“ liest alle deutschen Einträge der Meldung Nummer 5, die
nach dem 01.01.2016 erfasst wurden:
“ALARMVIEWEX:Select * FROM ALGVIEWEXDEU WHERE MsgNr=5 and DateTime >
‘2016-01-01’“

Ab WinCC V7.2 wird UNICODE unterstützt. Daher hat sich der Archivzugriff von
Hinweis
Alarmen geändert. Bei älteren Versionen von WinCC (kleiner V7.2) wird über
ALARMVIEW (anstatt ALARMVIEWEX) auf das Alarmarchiv zugegriffen.

Die gleichzeitige Abfrage mehrerer Bedingungen ist möglich. Strings müssen


© Siemens AG 2019 All rights reserved

dabei mit einem „&“-Zeichen verknüpft werden. Bedingungsaufzählung durch


„AND“, z. B.:
CommandText = "<Befehlssatz> * FROM <Spracheinstellung> WHERE“ &
“<Bedingung 1>“ & “AND <Bedingung 2>“ & “AND <Bedingung 2>“

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. „ALGVIEWEXENU“ angezeigt, die im
jeweiligen Archiv unterstützt werden.

Hinweis Der Startzeit- und Stoppzeitpunkt können absolut oder relativ übergeben werden
(siehe Tabelle 2-4).

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 34
2 Archivdaten exportieren mit WinCC

Verbindungsherstellung und Abfrage der Daten

Tabelle 2-12
Nr. Aktion
1. Deklarieren Sie die weiteren Variablen:
'Declaration of Script Tags
Dim Pro 'Provider
Dim DSN 'Data Source Name
Dim DS 'Data Source
Dim ConnString 'Connection String
Dim MachineNameRT 'Name of the PC from WinCC-RT
Dim DSNRT 'Data Source Name from WinCC-RT
Dim Conn 'Connection to ADODB
Dim CommandText 'Command-Text
Dim SqlSec 'Duration of Production-Cycle
Dim SqlMin 'Duration of Production-Cycle
Dim SqlHour 'Duration of Production-Cycle
Dim SqlDay 'Duration of Production-Cycle
Dim SqlMonth 'Duration of Production-Cycle
Dim SqlYear 'Duration of Production-Cycle
© Siemens AG 2019 All rights reserved

Dim RecSet 'RecordSet


Dim Command 'Query
Dim Language 'Language Tag
2. Lesen Sie mit dem nachfolgenden Code den Rechnernamen und die GUID des
Projekts aus den Umgebungsvariablen „@LocalMachineName“ und
„@DataSourceNameRT“ in die zuvor deklarierten, lokalen Variablen ein.
'Read the name of the PC-Station and the DSN-Name from
'WinCC-RT
Set MachineNameRT = HMIRuntime.Tags("@LocalMachineName")
Set DSNRT = HMIRuntime.Tags("@DatasourceNameRT")
Mit Hilfe dieser Variablen bilden Sie den „ConnectionString“.
'Preparing the Connection-String
'First instance of WinCCOLEDB
Pro = "Provider=WinCCOLEDBProvider.1;"
'Name of Runtime-Database
DSN = "Catalog=" & DSNRT.Read & ";"
'Data Source
DS = "Data Source=" & MachineNameRT.Read & "\WinCC"
'Build the complete String:
ConnString = Pro + DSN + DS
3. Anschließend bauen Sie die Verbindung zur Datenbank auf.
'Connection based on ODB-Provider
Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString = ConnString
Conn.CursorLocation = 3
Conn.open

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 35
2 Archivdaten exportieren mit WinCC

Nr. Aktion
4. Die Abfrage der Daten in der Datenbank erfolgt über den „ CommandText“.
In diesem Beispiel wird der zuvor gespeicherte Startzeitpunkt der Abfrage
(Betätigung der Schaltfläche) erfasst. Dieser Zeitpunkt muss in die Darstellungsform
“YYYY-MM-DD hh:mm:ss“ umformatiert werden.
Auch hier müssen bei der Formatierung die führenden Nullen bei Zahlenwerten
kleiner 10 erzeugt werden.
'FormatStarttime for SQL-Statement
'Fomat needed for StartTime: jjjj-mm-dd hh:mm:ss
'Date and time 24 hours before
StartTime = DateAdd("h", -24, StartTime)
'Split in years, months, days, hours, minutes, seconds
SqlSec = Second(StartTime)
SqlMin = Minute(StartTime)
SqlHour = Hour(StartTime)
SqlDay = Day(StartTime)
SqlMonth = Month(StartTime)
'Creating leading zeroes
SqlSec = Right("00" & sqlSec,2)
SqlMin = Right("00" & sqlMin,2)
SqlHour = Right("00" & sqlHour,2)
© Siemens AG 2019 All rights reserved

SqlDay = Right("00" & sqlDay,2)


SqlMonth = Right("00" & sqlMonth,2)
SqlYear = Right("00" & sqlYear,2)
'Create string
StartTime = "'" & SqlYear & "-" & SqlMonth & "-" & SqlDay & "
" & SqlHour & ":" & SqlMin & ":" & SqlSec & "'"
5. Die komplette Abfrage wird in der Variablen „CommandText“ für die weitere
Bearbeitung abgebildet.
In diesem Beispiel werden alle im Melde-Archiv gespeicherten Meldungen mit
Meldenummer < 4 ausgelesen. Wenn die Runtime-Sprache auf Deutsch eingestellt
(HMIRuntime.Language=1031) ist, wird für den Parameter „ViewName“
ALGVIEWEXDEU eingetragen. Bei aktiver englischer Runtime-Sprache
HMIRuntime.Language=1033) wird „ALGVIEWEXENU“ ausgewählt.
'Building the complete string
Language = HMIRuntime.Language
Select Case Language
Case 1031 'German = 1031
CommandText="ALARMVIEWEX:Select*FROM ALGVIEWEXDEU WHERE
DateTime >" & StartTime& "MsgNr< 4 AND STATE = 1"
Case 1033 'English = 1033
CommandText="ALARMVIEWEX:Select*FROM ALGVIEWEXENU WHERE
DateTime >" & StartTime& "MsgNr< 4 AND STATE = 1"
End Select

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 36
2 Archivdaten exportieren mit WinCC

Nr. Aktion
6. Anschließend wird das Command-Objekt erzeugt und die Abfrage mit dem zuvor
erzeugten „CommandText“ ausgeführt.
Der RecordSet wird auf das Command-Objekt gesetzt und anschließend auf den
ersten Datensatz gestellt, in dem die zuerst erfasste und somit älteste Meldung
gespeichert ist.
'Create the recordset, read the records and set the first
recordset:
Set Command = CreateObject("ADODB.Command")
Command.CommandType = 1
Set Command.ActiveConnection = Conn
Command.CommandText = CommandText
Set RecSet = Command.Execute
RecSet.MoveFirst

Hinweis Beim Arbeiten mit Zeit und Datum in WinCC und Visual Basic ist zu beachten,
dass das Datumsformat von den in Windows aktuellen Regioneneinstellungen
abhängt. Der VBS-Code sollte so gestaltet werden, dass Datum und Uhrzeit
unabhängig von diesen rechnerspezifischen Einstellungen ausgewertet werden
können.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 37
2 Archivdaten exportieren mit WinCC

Schreiben der „*.csv“-Datei


Die Datensätze werden anschließend aus dem zuvor geöffneten RecordSet in die
„*.csv“-Datei geschrieben werden.

Tabelle 2-13
Nr. Aktion
1. Das Schreiben der Datensätze wird mit folgender Schleife erledigt. Im Beispiel
werden die folgenden Recordset-Felder aus dem Datensatz gelesen und in die
„*.csv“-Datei geschrieben.
• DateTime (Zeitstempel)
• MsgNr (Meldenummer)
• Text1 (Ereignistext1)
• Classname (Meldeklasse)
• Typename (Meldetyp)
Zuvor wird einmalig eine Zeile mit den Spaltenüberschriften erzeugt, auch hier wird
die aktuell eingestellte Runtime-Sprache berücksichtigt.
Das RecordSet wird bei jedem Durchlauf auf den nächsten Datensatz gestellt.
'write recordsets To *.csv-File
'Header in CSV-File
Language = HMIRuntime.Language
Select Case Language
© Siemens AG 2019 All rights reserved

Case 1031 'German = 1031


ts.WriteLine
("Datum/Zeit;Meldenr.;Ereignis;Meldeklasse;Meldetyp")
Case 1033 'English = 1033
ts.WriteLine ("Date/Time;MsgNr.;Event;Messages Class;Messages
Typ")
End Select

'writing recordsets
Do While Not RecSet.EOF
ts.WriteLine(RecSet.Fields("DateTime").Value & ";" &
RecSet.Fields("MsgNr").Value & ";" &
RecSet.Fields("Text1").Value & ";" &
RecSet.Fields("Classname").Value & ";" &
RecSet.Fields("Typename").Value)
RecSet.MoveNext
Loop

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 38
2 Archivdaten exportieren mit WinCC

Nr. Aktion
2. Am Ende des Skriptes wird die Verbindung zur Datenbank beendet und die Objekte
freigegeben.
' Close all
ts.Close
RecSet.Close
Set RecSet=Nothing
Set Command = Nothing
conn.Close 'Close connection
Set Conn = Nothing
Set fso = Nothing
Set f = Nothing
Set ts = Nothing
3. Speichern Sie dieses Skript.
4. Das Script ist anschließend für den Aufruf verfügbar. Das Skript benötigt keine
Parameter.

Aufruf der Funktion im Prozessbild


Die erstellte Prozedur „WriteArchiveMessagesToCSV“ benötigt für den Aufruf keine
Übergabeparameter. Im Bild „ReverseOsmosis.Pdl“ wird das Script über die
zugehörige Schaltfläche aufgerufen.
© Siemens AG 2019 All rights reserved

Tabelle 2-14
Nr. Aktion
1. Öffnen Sie das Bild „ReverseOsmosis.Pdl“ im Graphics Designer.
2. Öffnen Sie den Eigenschaften-Dialog der Schaltfläche „Export Meldungen“ und
öffnen Sie unter „Ereignisse > Maus > Mausklick > VBS-Aktion“ den VBS-Editor.

3. Erstellen Sie nachfolgenden Code für den Aufruf des zuvor erstellten VBS-Skripts:
Sub OnClick(ByVal Item)
WriteArchiveMessagesToCSV
End Sub
4. Speichern Sie das Bild.

Hinweis Die Funktion „WriteArchiveMessageToCSV“ kann alternativ auch automatisiert


aufgerufen werden. Erstelle Sie dafür im VBS-Editor eine zeit- oder variablen-
getriggert Aktion.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 39
2 Archivdaten exportieren mit WinCC

2.3 Bedienung
2.3.1 Export von archivierten Variablen mit VBS-Skript

Tabelle 2-15
Nr. Aktion Anmerkung
1. Starten Sie die Runtime.

2. Klicken Sie die Schaltfläche („Umkehr-Osmose“), um das Bild


„ReverseOsmosis.Pdl“ zu öffnen.
3. Starten Sie hier die Umkehrosmose-Anlage über die
Schaltfläche („ANFAHREN“), im Bedienfeld auf der linken
Seite.
4. Warten Sie bis die Anlage den Status „Produktion“ erreicht hat.

5. Nach kurzer Laufzeit fahren Sie die Anlage mit der


Schaltfläche „ABFAHREN“ herunter.
6. Nachdem die Anlage den Status „Aus“ erreicht hat und unter
„Stop“ der Stoppzeitpunkt automatisch eingetragen wurde,
betätigen Sie die Schaltfläche „Export Variable“.
7. Öffnen Sie anschließend die auf dem Laufwerk unter
„C:\Temp\“ erzeugte „*.csv“-Datei.
© Siemens AG 2019 All rights reserved

2.3.2 Export von archivierten Meldungen mit VBS-Skript

Nr. Aktion Anmerkung


1. Starten Sie die Runtime.

2. Klicken Sie die Schaltfläche „Umkehr-Osmose“, um das Bild


„ReverseOsmosis.Pdl“ zu öffnen.
3. Starten Sie hier die Osmose-Anlage über die Schaltfläche
(„ANFAHREN“), im Bedienfeld auf der rechten Seite.
4. Warten Sie bis die Anlage den Status „Produktion“ erreicht hat.

5. Nach kurzer Laufzeit fahren Sie die Anlage mit der


Schaltfläche („ABFAHREN“) herunter.
6. Nachdem die Anlage den Status „Aus“ erreicht hat und unter
„Stop“ der Stoppzeitpunkt automatisch eingetragen wurde,
betätigen Sie die Schaltfläche „Export Meldungen“.
7. Öffnen Sie anschließend die auf dem Laufwerk unter
„C:\Temp\“ erzeugte „*.csv“-Datei.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 40
3 Archivdaten exportieren mit Excel

3 Archivdaten exportieren mit Excel


3.1 Funktionsweise Übersicht
Dem Anwender wird mit den Excel-Applikationen dieses Anwendungsbeispiels
einfache Tools zur Verfügung gestellt, mit denen er auf die von WinCC archivierten
Prozesswerte und Meldedaten zugreifen kann.
• Der Datenzugriff auf das Runtime-Archiv erfolgt mit VBA-Skripten in Excel.
• Die Archivdaten werden dabei über den OLE DB Provider nach Excel
übertragen.

Abbildung 3-1
© Siemens AG 2019 All rights reserved

WinCC/Connectivity Pack
OLE DB Provider
*.XLS
Excel Client

Archive

Projekt Daten Runtime Daten

In diesem Anwendungsbeispiel stellen wir Ihnen zwei Excel-Clients als Download


zur Verfügung:
• Den “Osmose”-Client
• Den “Universal”-Client

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 41
3 Archivdaten exportieren mit Excel

“Osmose”-Client
• Der Excel-Client „38132261_Application_Reverse_Osmosis.xls” weist eine
ähnliche Darstellung wie das zugehörige WinCC-Projekt auf.
• Das Zeitintervall bei der Abfrage (Prozesswerte und Meldungen) ist frei
einstellbar.
• Das gleichzeitige Auslesen aller relevanter Prozesswerte der Osmose-Anlage
und deren übersichtliche Darstellung ist möglich.
• Die enthaltenen Skripte sind auf leichte Nachvollziehbarkeit hin optimiert. Auf
Plausibilitätsabfragen und UTC-Zeitanpassungen wurde daher bewusst
verzichtet, um die Übersichtlichkeit zu bewahren.
• Vor dem Einsatz des Clients müssen im jeweiligen Skriptaufruf der Name des
Servers und der Name der WinCC RT-Datenbank angepasst werden.

„Universal“-Client
• Der Excel-Client „38132261_Application_Universal_Client.xls“ ist unabhängig
vom jeweiligen WinCC-Projekt einsetzbar.
• Das Auslesen der Daten aus der WinCC-Runtime-Datenbank eines OS-
Servers als auch eines SIMATIC Process Historian ist möglich.
• Die individuelle Zusammenstellung der Prozesswert- und
Meldungsinformationen ist möglich.
© Siemens AG 2019 All rights reserved

• Die freie Wahl der Interpolation von fehlenden Werten (Prozesswerte) wird
unterstützt.
• Das Zeitintervall bei der Abfrage (Prozesswerte und Meldungen) ist frei
einstellbar.
• Die Konvertierung zwischen UTC (WinCC-Runtime-Datenbank) und lokaler
Zeit (Excel-Client) wird automatisch vorgenommen.
• Der Zugriff auf die Archive verschiedener Sprachen (Meldungen) wird
unterstützt.
• Die Nutzung von Filtern wie Zeitspanne und Meldungstyp (Meldungen) werden
unterstützt.
• Eine Interpretation der Platzhalter in den Meldungstexten (Meldungen) ist
möglich.
• Anpassungen von Skripten im Excel-Client sind nicht erforderlich, der Excel-
Client ist für jedes WinCC-Projekt nutzbar.
• Plausibilitätsabfragen bezüglich Falscheingaben (z. B. Zeitformat) im Excel-
Client erfolgen automatisch.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 42
3 Archivdaten exportieren mit Excel

3.2 “Osmose”-Client
3.2.1 Funktionsweise Details

In diesem Kapitel erhalten Sie Informationen, die es Ihnen erleichtern, die Excel-
Applikation zu erweitern, oder an Ihre individuellen Bedürfnisse anzupassen.

Hinweis Dieses Kapitel ist für Sie nur relevant, wenn Sie die programmtechnische
Umsetzung interessiert, oder wenn Sie Änderungen am Excel-Client vornehmen
möchten.
Es werden Grundkenntnisse der VBA-Programmierung vorausgesetzt.

Der SQL-Befehl
Dieser Abschnitt wird Ihnen helfen, die Funktion des SQL-Befehls für das Auslesen
der Daten zu verstehen. Sollten Sie über grundlegende Kenntnisse der
Programmierung in VBA und der Datenbanksprache SQL verfügen, werden Sie
nach der Lektüre in der Lage sein, die Applikation bei Bedarf in verschiedenen
Punkten zu erweitern.

Hinweis Der hier verwendete SQL-Befehl enthält eine Modifikation, welche speziell für die
© Siemens AG 2019 All rights reserved

Kommunikation mit dem WinCC OLE DB-Provider erforderlich ist. Dadurch


weicht der Befehl teilweise vom festgelegten Standard ab.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 43
3 Archivdaten exportieren mit Excel

Auslesen des Variablenarchivs


Der Aufruf durch die Schaltfläche „ReadValues“:
'Execute writing archive values to excel sheet
1 MeasuringPoint = "FI100_FlowRawwater"
2 ExcelSheetName = "FI100"
3 ErrorNumber = WriteArchiveValue(MeasuringPoint, ExcelSheetName)
4 If ErrorNumber > 0 Then GoTo ErrorHandler

Tabelle 3-1
Schritt Erläuterung
1. MeasuringPoint = "FI100_FlowRawwater"
Geben Sie hier den Namen der WinCC-Variable an, deren Werte aus WinCC Runtime
ausgelesen werden soll; hier: FI100_FlowRawwater.
2. ExcelSheetName = "FI100"
Geben Sie hier den Namen des Excel-Arbeitsblatts an, in das die ausgelesenen Werte
geschrieben werden sollen; hier: FI100.
3. ErrorNumber = WriteArchiveValue(MeasuringPoint, ExcelSheetName)
Die Funktion “WriteArchiveValue” wird mit den zuvor definierten Parametern aufgerufen.
Als Rückgabewert dient die Variable „ErrorNumber“.
4. If ErrorNumber > 0 Then GoTo ErrorHandler
Ist der Rückgabewert größer 0, wird die weitere Verarbeitung abgebrochen und das
© Siemens AG 2019 All rights reserved

Fehlerhandling aufgerufen.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 44
3 Archivdaten exportieren mit Excel

Die Funktion „WriteArchiveValue“ (in Auszügen):


'Preparing the Connection-String
1
Pro = "Provider=WinCCOLEDBProvider.1;" 'First instance of WinCCOLEDB
DSN = "Catalog=" & cDSNRT & ";" 'Name of Runtime-Database
DS = "Data Source=" & cMachineNameRT & "\WinCC" 'Data Source

2 'Building the complete connection string


ConnString = Pro + DSN + DS

3 'Make Connection
Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString = ConnString
Conn.CursorLocation = 3
Conn.Open

4 'Building the complete command string:


CommandText = "TAG:R,'" & cArchiveName & "\" & MeasuringPoint &
"','" & StartArchive & ".000','" & StopArchive & ".000','TIMESTEP="
& TimeStep & ",5'"

5 'Create the recordset, read the records and set to first redcordset
© Siemens AG 2019 All rights reserved

Set Command = CreateObject("ADODB.Command")


Command.CommandType = 1
Set Command.ActiveConnection = Conn
Command.CommandText = CommandText
Set RecSet = Command.Execute
RecSet.MoveFirst

6 'Write recordset To Excel-Sheet


With Worksheets(ExcelSheetName)
.Range(.Rows(FirstLine), .Rows(.Rows.Count)).ClearContents
End With
ActualRow = FirstLine

Do While Not RecSet.EOF


'Sequence: MeasuringPoint | ValueID | TimeStamp | RealValue
With Worksheets(ExcelSheetName)
.Cells(ActualRow, 1).Value = MeasuringPoint
.Cells(ActualRow, 2).Value = RecSet.Fields("ValueID").Value
.Cells(ActualRow, 3).Value =
RecSet.Fields("TimeStamp").Value
.Cells(ActualRow, 4).Value =
RecSet.Fields("RealValue").Value
End With

RecSet.MoveNext
ActualRow = ActualRow + 1
Loop

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 45
3 Archivdaten exportieren mit Excel

Tabelle 3-2
Schritt Erläuterung
1. Pro = "Provider=WinCCOLEDBProvider.1;"
Der Provider-Variablen wird eine Instanz des WinCC OLE DB-Providers zugewiesen;
hier: Provider=WinCCOLEDBProvider.1;
DSN = "Catalog=" & cDSNRT & ";"
Der Data Source Name-Variablen wird der Datenquellenname zugewiesen;
hier: Catalog=CC_WinCC73__17_09_14_13_34_26R;
DS = "Data Source=" & cMachineNameRT & "\WinCC"
Der Data Source-Variablen wird die MS SQL Server-Instanz als Datenquelle zugewiesen;
hier: Data Source=HMI-1\WinCC
2. ConnString = Pro + DSN + DS
Der Connection String-Variablen werden die definierten Einzelvariablen als ganze
Zeichenkette zugewiesen; hier:
Provider=WinCCOLEDBProvider.1;Catalog=CC_WinCC73__17_09_14_13_34_26R;Data
Source=HMI-1\WinCC
3. Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString = ConnString : Conn.CursorLocation = 3 : Conn.Open
Über den Abstraktions-Layer von ADODB wird eine Verbindung zur SQL-Datenbank von
WinCC geöffnet.
4. CommandText = "TAG:R,'" & cArchiveName & "\" & MeasuringPoint & "','" &
StartArchive & ".000','" & StopArchive & ".000','TIMESTEP=" & TimeStep & ",5'"
Definition der zu lesenden Variablen, mit folgenden Angaben:
• Archivname („cArchivename“)
© Siemens AG 2019 All rights reserved

• Archivvariable („MeasuringPoint“)
• Startzeit („StartArchive“) des auszulesenden Zeitraums im Archiv im UTC-Format
• Endzeit („StopArchive“) des auszulesenden Zeitraums im Archiv im UTC-Format
• Angabe des Zeitraums („TimeStep“) zwischen zwei Variablenwerten und des
Aggregationstyps zur Verdichtung
Hinweis:
Weitere Angaben zur Verdichtung („TimeStep“) und dem Aggregationstyp („5“) finden Sie
unter „Optionale Anpassungen zum Auslesen des Variablenarchivs“.
5. Set Command = CreateObject("ADODB.Command")
Command.CommandType = 1 : Set Command.ActiveConnection = Conn
Command.CommandText = CommandText : Set RecSet = Command.Execute
RecSet.MoveFirst
Über den Abstraktions-Layer von ADODB („Command“) werden über die geöffnete
Verbindung zur SQL-Datenbank („Conn“) die Werte der definierten Variablen
(„CommandText“) ausgelesen, und einem Feld („RecSet“) zugewiesen.
6. Do While Not RecSet.EOF
With Worksheets(ExcelSheetName)
.Cells(ActualRow, 1).Value = MeasuringPoint
.Cells(ActualRow, 2).Value = RecSet.Fields("ValueID").Value
.Cells(ActualRow, 3).Value = RecSet.Fields("TimeStamp").Value
.Cells(ActualRow, 4).Value = RecSet.Fields("RealValue").Value
End With
RecSet.MoveNext : ActualRow = ActualRow + 1
Loop
Das gesamte Feld („RecSet“) wird über eine Schleife zeilenweise in das Excel-Arbeitsblatt
(„ExcelSheetName“) geschrieben. Dabei werden für jede Zeile vier Spalten beschrieben:
• der Variablenname („ExcelSheetName”)
• die Variablenkennung ("ValueID")
• der Zeitstempel ("TimeStamp") im UTC-Format
• der Variablenwert ("RealValue")

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 46
3 Archivdaten exportieren mit Excel

Auslesen des Meldearchivs


Der Aufruf durch die Schaltfläche „ReadAlarms“:
'Execute writing archive values to excel sheet
1 ExcelSheetName = "Alarms"
2 Call WriteAlarms(ExcelSheetName)

Tabelle 3-3
Schritt Erläuterung
1. ExcelSheetName = "Alarms"
Geben Sie hier den Namen des Excel-Arbeitsblatts an, in das die ausgelesenen Meldungen
geschrieben werden sollen; hier: Alarms.
2. Call WriteAlarms(ExcelSheetName)
Das Unterprogramm “WriteAlarms” wird mit dem zuvor definierten Parameter aufgerufen.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 47
3 Archivdaten exportieren mit Excel

Das Unterprogramm „WriteAlarms“ (in Auszügen):


1 'Preparing the Connection-String
Pro = "Provider=WinCCOLEDBProvider.1;" 'First instance of WinCCOLEDB
DSN = "Catalog=" & cDSNRT & ";" 'Name of Runtime-Database
DS = "Data Source=" & cMachineNameRT & "\WinCC" 'Data Source

2 'Building the complete connection string


ConnString = Pro + DSN + DS

3 'Make Connection
Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString = ConnString
Conn.CursorLocation = 3
Conn.Open

4 'Building the complete command string:


CommandText = "ALARMVIEWEX:Select * FROM ALGVIEWEXENU WHERE DateTime
>'" & StartArchive & "' AND DateTime <'" & StopArchive & "'"

5 'Create the recordset, read the records and set the first recordset
Set Command = CreateObject("ADODB.Command")
© Siemens AG 2019 All rights reserved

Command.CommandType = 1
Set Command.ActiveConnection = Conn
Command.CommandText = CommandText
Set RecSet = Command.Execute
RecSet.MoveFirst

6 'Write recordset To Excel-Sheet


With Worksheets(ExcelSheetName)
.Range(.Rows(FirstLine), .Rows(.Rows.Count)).ClearContents
End With
ActualRow = FirstLine

Do While Not RecSet.EOF


'Sequence in Excel-Sheet: Date/Time | MsgNr. | Event | Message
Class | Message Typ
With Worksheets(ExcelSheetName)
.Cells(ActualRow, 1).Value = RecSet.Fields("DateTime").Value
.Cells(ActualRow, 2).Value = RecSet.Fields("MsgNr").Value
.Cells(ActualRow, 3).Value = RecSet.Fields("Text1").Value
.Cells(ActualRow, 4).Value =
RecSet.Fields("Classname").Value
.Cells(ActualRow, 4).Value = RecSet.Fields("Typename").Value
End With

RecSet.MoveNext
ActualRow = ActualRow + 1
Loop

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 48
3 Archivdaten exportieren mit Excel

Tabelle 3-4
Schritt Erläuterung
1. Pro = "Provider=WinCCOLEDBProvider.1;"
Der Provider-Variablen wird eine Instanz des WinCC OLE DB-Providers zugewiesen;
hier: Provider=WinCCOLEDBProvider.1;
DSN = "Catalog=" & cDSNRT & ";"
Der Data Source Name-Variablen wird der Datenquellenname zugewiesen;
hier: Catalog=CC_WinCC73__17_09_14_13_34_26R;
DS = "Data Source=" & cMachineNameRT & "\WinCC"
Der Data Source-Variablen wird die MS SQL Server-Instanz als Datenquelle zugewiesen;
hier: Data Source=HMI-1\WinCC
2. ConnString = Pro + DSN + DS
Der Connection String-Variablen werden die definierten Einzelvariablen als ganze
Zeichenkette zugewiesen; hier:
Provider=WinCCOLEDBProvider.1;Catalog=CC_WinCC73__17_09_14_13_34_26R;Data
Source=HMI-1\WinCC
3. Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString = ConnString : Conn.CursorLocation = 3 : Conn.Open
Über den Abstraktions-Layer von ADODB wird eine Verbindung zur SQL-Datenbank von
WinCC geöffnet.
4. CommandText = "ALARMVIEWEX:Select * FROM ALGVIEWEXENU WHERE DateTime
>'" & StartArchive & "' AND DateTime <'" & StopArchive & "'"
Definition der zu lesenden Meldungen, mit folgenden Angaben:
• Sprache der auszulesenden Meldungen („ALGVIEWEXENU“)
© Siemens AG 2019 All rights reserved

• Startzeit („StartArchive“) des auszulesenden Zeitraums im Archiv im UTC-Format


• Endzeit („StopArchive“) des auszulesenden Zeitraums im Archiv im UTC-Format
Hinweis:
Weitere Angaben zur Sprache der auszulesenden Meldungen finden Sie unter „Optionale
Anpassungen zum Auslesen des Meldearchivs“.
5. Set Command = CreateObject("ADODB.Command")
Command.CommandType = 1 : Set Command.ActiveConnection = Conn
Command.CommandText = CommandText : Set RecSet = Command.Execute
RecSet.MoveFirst
Über den Abstraktions-Layer von ADODB („Command“) werden über die geöffnete
Verbindung zur SQL-Datenbank („Conn“) die Werte der definierten Variablen
(„CommandText“) ausgelesen, und einem Feld („RecSet“) zugewiesen.
6. Do While Not RecSet.EOF
With Worksheets(ExcelSheetName)
.Cells(ActualRow, 1).Value = RecSet.Fields("DateTime").Value
.Cells(ActualRow, 2).Value = RecSet.Fields("MsgNr").Value
.Cells(ActualRow, 3).Value = RecSet.Fields("Text1").Value
.Cells(ActualRow, 4).Value = RecSet.Fields("Classname").Value
.Cells(ActualRow, 4).Value = RecSet.Fields("Typename").Value
End With
RecSet.MoveNext : ActualRow = ActualRow + 1
Loop
Das gesamte Feld („RecSet“) wird über eine Schleife zeilenweise in das Excel-Arbeitsblatt
(„ExcelSheetName“) geschrieben. Dabei werden für jede Zeile fünf Spalten beschrieben:
• der Zeitstempel („DateTime ”) im UTC-Format
• die Meldenummer ("MsgNr ")
• der Meldetext (“Text1”)
• die Meldeklasse ("Classname ")
• der Meldetyp ("Typename ")

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 49
3 Archivdaten exportieren mit Excel

3.2.2 Konfiguration und Projektierung

Speicherort
Die Applikation muss nicht gesondert installiert werden. Kopieren Sie die Datei
„38132261_Application_Reverse_Osmosis.xls“ direkt an den von Ihnen
gewünschten Speicherort. Diese Excel-Datei enthält den gesamten Quellcode in
Form von Makros, welche im Hintergrund ausgeführt werden.

Applikationsaufruf
Starten Sie die Applikation durch Doppelklicken auf die Excel-Datei.
Sobald sich die Applikation geöffnet hat, kann, abhängig von Ihren Excel-
Einstellungen, die folgende Warnung erscheinen:

Abbildung 3-2
© Siemens AG 2019 All rights reserved

Die Ursache hierfür liegt dann darin, dass Ihre Makro-Sicherheit in Excel auf „High“
gesetzt ist. Ändern Sie diese Einstellung entsprechend.

Übersicht
Die Abbildung 3-3 zeigt die Applikation direkt nach ihrem ersten Aufruf. Welche
Oberfläche angezeigt wird, ist abhängig davon, welches Register während des
letzten Speichervorgangs aktiv war. Die Eintragungen sind ebenfalls jene, die beim
letzten Speichern vorlagen.

Abbildung 3-3

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 50
3 Archivdaten exportieren mit Excel

Erforderliche Anpassungen zum Auslesen der Archive


Zum Auslesen der Archive sind rechnerspezifische Anpassungen im
Deklarationsbereich des Excel-Clients erforderlich:
1. Öffnen Sie den Skript-Editor von Excel über die Tastenkombination <ALT> +
<F11>.
2. Klicken Sie im Navigationsbereich das Modul „Constants“ (1) an.
Abbildung 3-4

3. Ändern Sie den Namen des PCs (2), auf dem die WinCC Runtime läuft;
hier: HMI-1.

Hinweis Der Name kann in WinCC Runtime auch über die Systemvariable
"@LocalMachineName" ausgelesen werden.
© Siemens AG 2019 All rights reserved

4. Ändern Sie den Data Source Name der WinCC Runtime-Datenbank (2);
hier: CC_WinCC73__17_09_14_13_34_26R.

Hinweis • Achten Sie darauf, dass der Data Source Name der WinCC Runtime-Datenbank mit
einem „R“ endet.
• Der Data Source Name kann in WinCC Runtime auch über die Systemvariable
„@DatasourceNameRT" ausgelesen werden.
• Alternativ können Sie auch den Schritten 2 bis 4 in Tabelle 4-1 folgen, um unter
„Databases“ den Data Source Name der WinCC Runtime-Datenbank auszulesen.
• Alternativ können Sie auch den Namen „CC_ExternalBrowsing“ verwenden.
5. Geben Sie den Namen des Variablenarchivs (2) der WinCC Runtime an;
hier: Prozesswertarchiv.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 51
3 Archivdaten exportieren mit Excel

Optionale Anpassungen zum Auslesen des Variablenarchivs


Für die Verdichtung der Datenmenge eines abgefragten Zeitraums einer Variablen
können Sie im Skript „WriteArchiveValue“ entsprechende Änderungen
vornehmen.
Scrollen Sie bis zum Eintrag „Building the complete command string“:
Abbildung 3-5

Für die Verdichtung sind zwei Parameter im Format „TIMESTEP= TimeStep,5“


erforderlich:
• Der erste Parameter „TimeStep“ wird als Intervall in Sekunden über die
Benutzeroberfläche des Excel-Clients vorgegeben.
Beispiel:
Liegen die Archivwerte in einem Aufzeichnungs-Intervall von zwei Sekunden
vor und das Abfrage-Intervall (TimeStep) ist mit „4“ angegeben, dann wird nur
jeder zweite Wert gelesen (4 Sekunden Abstand zwischen den einzelnen
Werten)
• Der zweite Parameter, hier: „5“, wurde fest im Skript hinterlegt und muss
entweder dort geändert werden, oder ebenfalls in die Benutzeroberfläche
überführt werden. Dieser Parameter wird auch als Aggregationstyp bezeichnet
und ist für die Zwischenwertbildung verantwortlich.
© Siemens AG 2019 All rights reserved

Folgende Werte für den Aggregationstyp sind möglich:

Tabelle 3-5
Ohne Interpolation Mit Interpolation Bedeutung
1 (FIRST) 257 (FIRST_INTERPOLATED) Erster Wert
2 (LAST) 258 (LAST_INTERPOLATED) Letzter Wert
3 (MIN) 259 (MIN_INTERPOLATED) Minimalwert
4 (MAX) 260 (MAX_INTERPOLATED) Maximalwert
5 (AVG) 261 (AVG_INTERPOLATED) Mittelwert
6 (SUM) 262 (SUM_INTERPOLATED) Summe
7 (COUNT) 263 (COUNT_INTERPOLATED) Anzahl der Werte

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 52
3 Archivdaten exportieren mit Excel

Optionale Anpassungen zum Auslesen des Meldearchivs


Je nach gewünschter Sprache der abgefragten Meldungen können Sie im Skript
„WriteAlarms“ entsprechende Änderungen vornehmen.
Scrollen Sie bis zum Eintrag „Building the complete command string“:
Abbildung 3-6

Für den ViewName sind folgende Parameter reserviert:

Tabelle 3-6
ViewName (europäische Sprachen) Sprache der Meldetexte
ALGVIEWEXDEU Deutsche Meldearchivdaten
ALGVIEWEXENU Englische Meldearchivdaten
ALGVIEWEXESP Spanische Meldearchivdaten
ALGVIEWEXFRA Französische Meldearchivdaten
ALGVIEWEXITA Italienische Meldearchivdaten
© Siemens AG 2019 All rights reserved

Tabelle 3-7
ViewName (asiatische Sprachen) Sprache der Meldetexte
ALGVIEWEXCHS chinesische (simplified) Meldearchivdaten
ALGVIEWEXCHT chinesische (traditionell) Meldearchivdaten
ALGVIEWEXJPN japanische Meldearchivdaten
ALGVIEWEXKOR 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. "ALGVIEWEXENU" angezeigt, die im
jeweiligen Archiv unterstützt werden

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 53
3 Archivdaten exportieren mit Excel

3.2.3 Bedienung

Basisschritte
1. Setzen Sie das WinCC-Projekt
„38132261_Application_Reverse_Osmosis_PROJ.zip“, wie in Kapitel 2.2.1
„Konfigurationen im Beispielprojekt“ beschrieben, in die Runtime.
2. Öffnen Sie den mitgelieferten Excel-Client
„38132261_Application_Reverse_Osmosis.xls“.
3. Nehmen Sie die Einstellungen entsprechend dem Kapitel 3.2.2 „Konfiguration
und Projektierung“ am Excel-Client vor.

Variablenwerte lesen
1. Wählen Sie das Register „Plant“ an.
2. Geben Sie den Startzeitpunkt der Archivabfrage im Format „YYYY-MM-DD
hh:mm:ss“ an. Die Uhrzeit wird dabei im UTC-Format angegeben.
Hinweis:
Es erfolgt keine Plausibilitätsprüfung.
3. Geben Sie den Endzeitpunkt der Archivabfrage im Format „YYYY-MM-DD
hh:mm:ss“ an. Die Uhrzeit wird dabei im UTC-Format angegeben.
Hinweis:
Es erfolgt keine Plausibilitätsprüfung.
4. Geben Sie das Abfrage-Intervall in Sekunden an.
© Siemens AG 2019 All rights reserved

5. Klicken Sie auf die Schaltfläche „ReadValues“

Abbildung 3-7

2
3
4
5

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 54
3 Archivdaten exportieren mit Excel

Meldungen lesen
1. Wählen Sie das Register „Alarms“ an.
2. Geben Sie den Startzeitpunkt der Archivabfrage im Format „YYYY-MM-DD
hh:mm:ss“ an. Die Uhrzeit wird dabei im UTC-Format angegeben.
Hinweis:
Es erfolgt keine Plausibilitätsprüfung.
3. Geben Sie den Endzeitpunkt der Archivabfrage im Format „YYYY-MM-DD
hh:mm:ss“ an. Die Uhrzeit wird dabei im UTC-Format angegeben.
Hinweis:
Es erfolgt keine Plausibilitätsprüfung.
4. Klicken Sie auf die Schaltfläche „ReadAlarms“

Abbildung 3-8

2
4
3
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 55
3 Archivdaten exportieren mit Excel

3.2.4 Fehlerhandling

Tabelle 3-8
Fehler Mögliche Ursache
Zugriff auf Variablenarchiv und/oder Meldearchiv
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber das WinCC-Projekt wurde
nicht gestartet (RT nicht aktiv).
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber für den abgefragten
Zeitraum existieren keine Werte.
• Der Excel-Client versucht das Meldearchiv
auszulesen, aber für den abgefragten
Zeitraum existieren keine Werte.
Folgemeldung Zugriff auf Variablenarchiv
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber das WinCC-Projekt wurde
nicht gestartet (RT nicht aktiv).
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber für den abgefragten
Zeitraum existieren keine Werte.
Zugriff auf Meldearchiv
• Der Excel-Client versucht das Meldearchiv
auszulesen, aber das WinCC-Projekt wurde
© Siemens AG 2019 All rights reserved

nicht gestartet (RT nicht aktiv).


• Der Excel-Client versucht das Meldearchiv
auszulesen, aber der PC-Name im
Skriptaufruf ist falsch.
• Der Excel-Client versucht das Meldearchiv
auszulesen, aber der DataSourceName (DSN)
im Skriptaufruf ist falsch.
Zugriff auf Variablenarchiv
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber der PC-Name im
Skriptaufruf ist falsch.

Folgemeldung Zugriff auf Variablenarchiv


• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber der PC-Name im
Skriptaufruf ist falsch.
• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber der DataSourceName (DSN)
im Skriptaufruf ist falsch.

Zugriff auf Variablenarchiv


• Der Excel-Client versucht das Variablenarchiv
auszulesen, aber der DataSourceName (DSN)
im Skriptaufruf ist falsch.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 56
3 Archivdaten exportieren mit Excel

3.3 „Universal“-Client
3.3.1 Funktionsweise Details

In diesem Kapitel erhalten Sie Informationen, die es Ihnen erleichtern, das Register
„Alarms“ der bestehenden Anwendung zu erweitern oder es an Ihre individuellen
Bedürfnisse anzupassen.

Hinweis Dieses Kapitel ist für Sie nur relevant, wenn Sie die programmtechnische
Umsetzung interessiert oder wenn Sie Änderungen an der Applikation
vornehmen möchten.
Es werden Grundkenntnisse der VBA-Programmierung vorausgesetzt.

Der SQL-Befehl
Dieser Abschnitt wird Ihnen helfen, die Funktion des SQL-Befehls für das Auslesen
der Daten zu verstehen. Sollten Sie über grundlegende Kenntnisse der
Programmierung in VBA und der Datenbanksprache SQL verfügen, werden Sie
nach der Lektüre in der Lage sein, die Applikation bei Bedarf in verschiedenen
Punkten zu erweitern.
© Siemens AG 2019 All rights reserved

Hinweis Der hier verwendete SQL-Befehl enthält eine Modifikation, welche speziell für die
Kommunikation mit dem WinCC OLE DB-Provider erforderlich ist. Dadurch
weicht der Befehl teilweise vom festgelegten Standard ab.

Bestandteile des SQL-Befehls


Die Erläuterung der Bestandteile des SQL-Befehls wird anhand eines Beispiels
erfolgen und verdeutlichen, wie der SQL-Befehl in voller Länge zusammengesetzt
ist. Das Hauptaugenmerk wird bei der Beschreibung darauf liegen, die variablen
Parameter aufzuzeigen.
In den nachfolgenden Punkten wird dann genauer darauf eingegangen, wie diese
variablen Parameter festgelegt werden.

SQL-Beispiel
Folgendes Beispiel zeigt einen SQL-Befehl, welcher alle Filteroptionen der
Applikation verwendet.
"ALARMVIEW: SELECT TOP 65000 * FROM AlgViewEnu WHERE DateTime >
'2009-3-17 0:0:0' AND DateTime < '2009-3-17 23:59:59' AND (CLASS = 1
OR CLASS = 10) AND (Text2 = 'WEIGHT' OR (Text2 = '@2%s@' AND PText2
= 'WEIGHT') ) ORDER BY DateTime ASC"

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 57
3 Archivdaten exportieren mit Excel

Erklärung der Befehlselemente


Um die Funktion der verschiedenen Elemente des Befehls besser verstehen zu
können, werden diese nun im Einzelnen erklärt.

Tabelle 3-9
Befehlselement Erklärung Var1 Opt2
ALARMVIEW: Bei der relevanten Datenbank handelt es sich um diejenige (-) (-)
für den Alarmview (provider-spezifischer Zusatz).
SELECT * Gesucht sind alle Datenfelder (Spalten) in der noch zu (-) -
bestimmenden Tabelle bzw. dem View.
TOP 65000 Die Anzahl der von der Abfrage zurück gelieferten (-) (-)
Meldungen beträgt 65000.
FROM AlgViewEnu Die Datensätze befinden sich in dem View x -
„AlgViewEnu“.
Dieser Name enthält wiederum mehrere Informationen:
• Alg: Präfix für AlarmLogging
• View: Es handelt sich um einen View (nicht um eine
Tabelle).
• Enu: Es handelt sich um die Alarme der englischen
Projektierung.
Hinweis:
Ein View enthält, im Gegensatz zu einer Tabelle, keine
© Siemens AG 2019 All rights reserved

Datensätze. Er stellt lediglich durch Verweise auf


verschiedene Tabellen die gewünschten Informationen
zusammen.
WHERE DateTime > Die gesuchten Meldungen sind im angegebenen Zeitraum x (-)
'2009-3-17 0:0:0' (UTC) aufgetreten.
AND DateTime < Hinweis:
'2009-3-17 23:59:59' Die Umrechnung von Lokalzeit auf UTC und zurück
übernimmt die Applikation automatisch.
AND (CLASS = 1 Es werden Meldungen der Art „Alarm“ (innerhalb der x x
OR CLASS = 10) Datenbank codiert als Klasse 1) und „Bedienmeldung“
(Klasse 10) gesucht.
AND (Text2 = Es werden nur Meldungen zurückgeliefert, die im x x
'WEIGHT' …) Anlagenbereich (intern direkt unter „Text2“ gespeichert
oder von dort referenziert auf den Begleitwert „PText2“) mit
dem projektierten Namen „WEIGHT“ entstanden sind.
ORDER BY DateTime Die Meldungen werden aufsteigend nach ihrem (-) (-)
ASC Entstehungsdatum geordnet.

1 Verändert sich das Befehlselement, abhängig von den vorgenommenen Einstellungen?


2 Kann das Befehlselement, abhängig von den vorgenommenen Einstellungen, entfallen?
x – Ja
- – Nein
(-) – Nein (bezogen auf die Applikation in unveränderter Form)

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 58
3 Archivdaten exportieren mit Excel

Meldesprachen hinzufügen
In der vorliegenden Applikation können Sie zwischen den archivierten Meldungen
in fünf verschiedenen Sprachen wählen. Da WinCC aber weltweit eingesetzt wird,
ist es denkbar, dass Sie auf Meldungen weiterer Sprachen zugreifen möchten.
In diesem Abschnitt wird beschrieben, wie die Sprachauswahl momentan realisiert
wird und wie Sie sie bei Bedarf Ihren Wünschen entsprechend anpassen können.
Es kann nicht gewährleistet werden, dass das im Nachfolgenden beschriebene
Vorgehen in jedem Fall zum Erfolg führt. Dies hängt vor allem davon ab, ob Name
und Aufbau des zur Sprache gehörenden Views mit der Struktur der bereits
implementierten Sprachen übereinstimmt.

Übersicht
Zum Ändern der Meldesprache geht der Anwender vor, wie unter „Bedienung –
Grundeinstellungen bearbeiten“ beschrieben. Die Sprache wird über die Klappliste
„Language“ ausgewählt, welche die Applikation bei der Erstellung des SQL-Befehls
abfragt.
In folgender Tabelle wird ein Überblick über die aktuell verfügbaren Sprachen, die
zugehörigen Einträge in der Klappliste und die Namen der jeweiligen Views
gegeben.

Tabelle 3-10
Sprache Klapplisteneintrag Name des Views
© Siemens AG 2019 All rights reserved

Deutsch Deutsch AlgViewDeu


Englisch English AlgViewEnu
Französisch Français AlgViewFra
Italienisch Italiano AlgViewIta
Spanisch Español AlgViewEsp

Erläuterung
Wie Sie der obigen Übersicht entnehmen können, unterscheiden sich die Namen
der Views stets nur in ihren letzten drei Buchstaben, welche dazu verwendet
werden, die Meldesprache festzulegen.
Des Weiteren wird deutlich, dass die ersten drei Buchstaben der
Klapplisteneinträge in fast allen Fällen den letzten drei Buchstaben der View-
Namen entsprechen.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 59
3 Archivdaten exportieren mit Excel

Vorgehen
Um den SQL-Befehl in der benötigten Form zu erstellen, wird folgender Code
verwendet (VBAProject > Microsoft Excel Objects > Sheet2 >
cmdAlarmRead_Click):

'Select all columns


strSQL = "ALARMVIEW: SELECT * FROM AlgView"
'Select the table according to the project language
If Left(cmbAlarmLang.Text, 3) = "Eng" Then
strSQL = strSQL & "Enu"
Else
strSQL = strSQL & Left(cmbAlarmLang.Text, 3)
End If

Nach der Zuweisung des konstanten Teils des SQL-Befehls wird überprüft, ob der
selektierte Eintrag der Klappliste mit „Eng“ beginnt. Ist dies der Fall, so wird dem
Befehl „Enu“ angehängt. Andernfalls werden die ersten drei Buchstaben des
Klapplisteneintrags angehängt.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 60
3 Archivdaten exportieren mit Excel

Sprache hinzufügen
Um eine Meldesprache zur bestehenden Auswahl hinzuzufügen, gehen Sie wie
folgt vor:

Tabelle 3-11
Schritt Beschreibung
1. Erweitern der Um die Klappliste zu erweitern, bearbeiten Sie die
Klappliste Initialisierungsanweisungen im Modul „VBAProject >
Microsoft Excel Objects > ThisWorkBook >
Workbook_Open“.
Fügen Sie den bestehenden Befehlszeilen eine weitere
Meldesprache in der Form cmbAlarmLang.AddItem
"English" hinzu.
2. Überprüfen der Ermitteln Sie mit Hilfe Ihres SQL Server Management
Bezeichner Studios, welchen Namen der zu dieser Sprache
gehörende View hat.
3. Fall 1: Keine weitere Sollten die ersten drei Buchstaben Ihres
Änderung erforderlich Klapplisteneintrags mit den letzten drei Buchstaben des
View-Namens übereinstimmen, so ist keine weitere
Änderung erforderlich.
4. Fall 2: Erweitern der Wenn sich die Buchstaben unterscheiden, erweitern Sie
If-Anweisung im oben vorgestellten Code-Auszug die If-Anweisung um
ein geeignetes ElseIf-Glied.
© Siemens AG 2019 All rights reserved

Meldearten hinzufügen
Die Applikation ist in der vorliegenden Version in der Lage, die archivierten
Meldungen nach bis zu sechs verschiedenen Meldearten zu filtern.
In WinCC existieren neben diesen sechs, am häufigsten auftretenden Arten
allerdings noch sieben weitere. Zusätzlich besteht die Möglichkeit, eigene
Meldearten zu erstellen.
Somit ist es möglicherweise erforderlich, den Filter um diese zu erweitern.
Analog zum vorangegangenen Abschnitt wird hier zunächst die aktuelle
Umsetzung vorgestellt, um anschließend eine Änderungsmöglichkeit aufzuzeigen.

Übersicht
Die Verwendung des Filters für Meldearten werden unter „Bedienung –
Filtereinstellungen bearbeiten“ eingehend beschrieben. Mit Hilfe der
Optionskästchen werden die einzelnen Arten ausgewählt und beim Erstellen des
SQL-Befehls an diesen angefügt.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 61
3 Archivdaten exportieren mit Excel

Vorgehen
Folgender Code realisiert die erforderliche Erweiterung des SQL-Befehls
„VBAProject > Microsoft Excel Objects > Sheet2 >
cmdAlarmRead_Click“:
'Apply filter
If chkAlarmAlarms.Value = True Or _
chkAlarmWarnings.Value = True Or _
chkAlarmASPLCMessages.Value = True Or _
chkAlarmOSPLCMessages.Value = True Or _
chkAlarmOperatingMessages.Value = True Or _
chkAlarmSystemMessages.Value = True Then

'Flag to signalize that a part of the filter has


already been entered
'Depending on the flag, further parts of the filter
will be added in a different format
Dim boolIsFirst As Boolean
boolIsFirst = True

'If EventCategories are filtered a prefix is


necessary
strSQL = strSQL & "AND ("
© Siemens AG 2019 All rights reserved

If chkAlarmAlarms.Value = True Then


strSQL = strSQL & "CLASS = 1"
boolIsFirst = False
End If
If chkAlarmWarnings.Value = True Then
If Not boolIsFirst Then
strSQL = strSQL & " OR CLASS = 2"
Else
strSQL = strSQL & "CLASS = 2"
boolIsFirst = False
End If
End If
(…)
If chkAlarmSystemMessages.Value = True Then
If Not boolIsFirst Then
strSQL = strSQL & " OR CLASS = 18"
Else
strSQL = strSQL & "CLASS = 18"
boolIsFirst = False
End If
End If

'If EventCategories are filtered a suffix is


necessary
strSQL = strSQL & ") "
End If

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 62
3 Archivdaten exportieren mit Excel

Der in Abbildung 3-9 dargestellte Programmablaufplan beschreibt die Struktur des


obigen Code-Auszugs. Der grau hinterlegte Bereich wird in der Applikation für jede
filterbare Meldeart, mit Ausnahme der Alarme, einmal ausgeführt. Zur
Verbesserung der Übersichtlichkeit ist dieser Ausschnitt jedoch repräsentativ nur
einmal enthalten.

Abbildung 3-9

Start

Is
No
filter selected
?
Yes
boolIsFirst = True
Append prefix to strSQL

Are Yes Append string to strSQL


alarms filtered
boolIsFirst = False
© Siemens AG 2019 All rights reserved

?
No
Is
No
element selected
?
Yes

boolIsFirst No Append string2 to strSQL


= False boolIsFirst = False
?
Yes
Append string1 to strSQL

Add suffix to
strSQL

End

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 63
3 Archivdaten exportieren mit Excel

Sprache hinzufügen
Um die Filterelemente um eine weitere Meldeart zu erweitern, folgen Sie den
Anweisungen der nachstehenden Tabelle:

Tabelle 3-12
Schritt Beschreibung
1. Blattschutz Bevor Sie das für die Erweiterung notwendige Steuerelement
aufheben einfügen können, müssen sie den Blattschutz von Excel
aufheben.
Dies ist versionsabhängig und in der Hilfe von Excel
beschrieben.
2. Steuerelement Fügen Sie den bereits vorhandenen Optionsfeldern ein
einfügen weiteres hinzu und geben Sie diesem einen repräsentativen
Namen.

Hinweis:
Um Layoutprobleme zu vermeiden, entkoppeln Sie die
Positions- und Größeneigenschaften des Steuerelements von
den Zelleneigenschaften:
1. Öffnen Sie den Menupunkt „Format > Control…“.
2. Wechseln Sie zum Reiter „Properties“.
3. Wählen Sie „Dont move or size with cells“.
4. Bestätigen Sie die Änderungen.
© Siemens AG 2019 All rights reserved

3. Erweitern des Erweitern Sie den oben vorgestellten Code-Abschnitt um ein


Quellcodes Element der Form:

If chkAlarmSystemMessages.Value = True Then


If Not boolIsFirst Then
strSQL = strSQL & " OR CLASS = 18"
Else
strSQL = strSQL & "CLASS = 18"
boolIsFirst = False
End If
End If

Ändern Sie dabei den Namen des Optionsfeldes und die


Nummer der Meldeart.
Fügen Sie der übergeordneten Abfrage
(If chkAlarmAlarms.Value = True Or …)
eine entsprechende Bedingung hinzu
(… Or chkAlarmSystemMessages.Value = True …).

Hinweis:
Sie finden eine Übersicht über die Codierung der im aktuellen
Projekt verwendeten Meldearten mit Hilfe des SQL Server
Management Studio.
1. Wählen Sie beim Start der Applikation Ihren WinCC
Server.
2. Navigieren Sie zu folgender Tabelle (Beispiel):
„Databases > CC_OS_1__09_03_19_18_33_31 > Tables
> dbo.MSMsgGroup“
3. Entnehmen Sie dieser Tabelle die entsprechende
Kodierung aus der Spalte „GROUPDAT“. Die relevanten
Einträge sind vom „TYPE“ 3.
4. Blattschutz Stellen Sie den Blattschutz wieder her. Dies ist
setzen versionsabhängig und in der Hilfe zu Excel beschrieben.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 64
3 Archivdaten exportieren mit Excel

Erweiterbarkeit der Meldungsstruktur


Die vorliegende Applikation bietet die Möglichkeit, alle Meldeinformationen
(Spalten) anzuzeigen, die auch unter WinCC verfügbar sind. Die archivierten
Meldungen enthalten allerdings noch weitere Informationen wie „AlarmTag“,
„AckType“ and „Servername“, welche mit den vorliegenden Einstellungen nicht zur
Auswahl stehen.
Um das Verständnis zu erleichtern, wird zunächst die gegenwärtige Umsetzung
erläutert. Auf dieser Basis wird dann eine schrittweise Anleitung gegeben, wie die
Meldungsstruktur angepasst werden kann.

Übersicht
Der Vorgang zur Anpassung der Meldungsstruktur wird unter „Bedienung –
Meldungsstruktur anpassen“ ausführlich beschrieben. Die Einstellungen werden in
einem eigenen Fenster vorgenommen. Nach Bestätigung der Änderungen wird der
Arbeitsbereich der Anwendung automatisch angepasst.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 65
3 Archivdaten exportieren mit Excel

Vorgehen
Die Meldungsstruktur beeinflusst die Applikation in den verschiedensten
Bereichen. Für die Erweiterung ist dabei lediglich wichtig zu wissen, wie die
notwendigen Basisinformationen initialisiert werden. Alle weiteren Abläufe passen
sich den jeweiligen Einstellungen an (solange diese der Programmlogik
entsprechen).
Die Grundlage für die Meldungsstruktur bilden drei Arrays:

Tabelle 3-13
Array Inhalt
strAlarmDataNames Enthält die Namen, die dem Benutzer zur Auswahl
angezeigt werden. Die gegenwärtigen Einträge
entsprechen den Namen, die auch bei der Bearbeitung der
WinCC-Meldungsstruktur im Graphics Designer verwendet
werden.

Hinweis:
Diese Namen unterscheiden sich von denen, die in der
Datenbank verwendet werden. Sie dienen dazu, dem
Benutzer ein möglichst intuitives Verständnis zu
ermöglichen.
intAlarmRecordSetID Enthält die Position einer jeden Meldeinformation innerhalb
des Record-Set.
© Siemens AG 2019 All rights reserved

Hinweis:
Nach der Anforderung der Meldungen über den SQL-Befehl
werden diese als Record-Set zurückgeliefert.
Ein Record-Set ist in seinem Aufbau immer gleich, solange
sich weder die Datenquelle (der View), noch die abgefragte
Struktur (SELECT *) ändern. Aufgrund dieser Tatsache hat
jede Information in diesem Record-Set eine feste Position.
dblAlarmColumnWidth Enthält die Spaltenbreite, die einer Meldeinformation
standardmäßig zugeordnet ist.

Hinweis:
Bei der Anpassung der Meldestruktur wird für jede
ausgewählte Meldeinformation die Breite der zugewiesenen
Spalte automatisch angepasst (siehe unter „Bedienung –
Meldungsstruktur anpassen“). Dies geschieht, um eine
möglichst optimale Darstellung der Meldungen zu
gewährleisten.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 66
3 Archivdaten exportieren mit Excel

Die Deklaration der Arrays wird mit Hilfe einer Konstanten vorgenommen, sodass
eine einheitliche Struktur sichergestellt werden kann „VBA-Project > Modules >
MngAlarmPositions“:
Public strAlarmDataNames(1 To MAX_ALARM_DATA_COLUMNS) As String
Diese Konstante entspricht der Anzahl der Meldeinformationen, welche
standardmäßig bei 38 liegt.
Das Ansprechen der Arrays, z. B. bei ihrer Initialisierung, erfolgt über weitere
Konstanten, von denen jede jeweils einer Meldeinformation entspricht „VBA-Project
> Modules > MngAlarmPositions > InitializeAlarmArrays“:
strAlarmDataNames(C_DATE_TIME) = "Date / Time"
Dies führt zur Verbesserung der Lesbarkeit des Quellcodes und zu
Vereinfachungen bei der Vornahme von Änderungen.

Die Konstanten für die Meldeinformationen enthalten, entsprechend ihrer Funktion


als Index der Arrays, fortlaufende Zahlen „VBA-Project > Modules > Constants“ für
gemeinsam genutzte Konstanten bzw. „VBA-Project > Modules > ConstantsAlarm“
für Alarm-spezifische Konstanten:
Public Const C_DATE_TIME = 1
Public Const C_MS = 2
Public Const C_PRIORITY = 3
Die Standardinformationen sind entsprechend ihrer Reihenfolge im WinCC
Graphics Designer geordnet.
© Siemens AG 2019 All rights reserved

Meldungsstruktur erweitern
Um die Meldungsstruktur zu erweitern, ist lediglich die Anpassung der Konstanten
und Array-Initialisierungen erforderlich. Gehen Sie dazu, wie in folgender Tabelle
beschrieben, vor:

Tabelle 3-14
Schritt Beschreibung
1. Anpassen der Geben Sie unter „VBA-Project > Modules > ConstantsAlarm“
Maximalwert- für die Konstante MAX_ALARM_DATA_COLUMNS die neue
konstante Anzahl der Meldeinformationen ein.

Hinweis:
Über die Konstante passt sich die Applikation an die
geänderten Gegebenheiten an. Ein korrekter Wert für diese
Konstante ist daher essentiell.
2. Hinzufügen der Fügen Sie im selben Modul zu den bereits vorhandenen
Index-Konstanten Index-Konstanten (z. B. C_PRIORITY) so viele hinzu, wie
erforderlich.

Hinweis:
Achten Sie darauf, dass Sie die neuen Nummern fortlaufend
vergeben und Sie dabei nicht über den in
MAX_ALARM_DATA_COLUMNS festgelegten Wert kommen.
3. Erweitern der Im Modul „VBA-Project > Modules > MngPositions >
Array- InitializeArrays“ findet die Initialisierung der vorgestellten
Initialisierung Arrays statt.
Fügen Sie in jedes der drei Arrays so viele Elemente ein, wie
Sie Meldeinformationen hinzufügen möchten und füllen Sie
diese mit den zugehörigen Daten (siehe Tabelle 3-13).

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 67
3 Archivdaten exportieren mit Excel

3.3.2 Konfiguration und Projektierung

Speicherort
Die Applikation muss nicht gesondert installiert werden. Kopieren Sie die Datei
„38132261_Application_Universal_Client.xls“ direkt an den von Ihnen gewünschten
Speicherort. Diese Excel-Datei enthält den gesamten Quellcode in Form von
Makros, welche im Hintergrund ausgeführt werden.

Applikationsaufruf
Starten Sie die Applikation durch Doppelklicken auf die Excel-Datei.
Sobald sich die Applikation geöffnet hat, kann, abhängig von Ihren Excel-
Einstellungen, die folgende Warnung erscheinen:

Abbildung 3-10
© Siemens AG 2019 All rights reserved

Die Ursache hierfür liegt dann darin, dass Ihre Makro-Sicherheit in Excel auf „High“
gesetzt ist. Ändern Sie diese Einstellung entsprechend.

Aufbau der Applikationsfenster


Abbildung 3-11 und Abbildung 3-12 zeigen die Applikation direkt nach ihrem
Aufruf. Welche Oberfläche angezeigt wird ist abhängig davon, welches Register
während des letzten Speichervorgangs aktiv war. Die Eintragungen sind ebenfalls
jene, die beim letzten Speichern vorlagen.

Abbildung 3-11

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 68
3 Archivdaten exportieren mit Excel

Abbildung 3-12

Hinweis Die Bedienoberfläche ist komplett in Englisch.


Die Auswahl in der Klappliste „Alarm Language“ im Register „Alarms“ bezieht
sich auf die Sprache der auszulesenden Meldungen.
© Siemens AG 2019 All rights reserved

Die Umschaltung zwischen „Tags“ und „Alarms“ erfolgt über die Auswahl des
entsprechenden Registers am unteren Rand des Excel-Fensters.

Abbildung 3-13

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 69
3 Archivdaten exportieren mit Excel

Gliederung des Arbeitsbereiches


Stellvertretend für beide Register wird hier die Gliederung des Arbeitsbereichs
anhand des Registers „Alarms“ dargestellt.

Abbildung 3-14
© Siemens AG 2019 All rights reserved

Jeder der drei markierten Bereiche erfüllt seine eigene Funktion, die Sie der
nachfolgenden Tabelle 3-15 entnehmen können.

Tabelle 3-15
Bereich Funktion
Bedienleiste Über die Bedienleiste nehmen sie alle erforderlichen
Einstellungen vor. Hierzu gehören unter anderem die Auswahl
der Datenquelle und die Festlegung des Meldungs- bzw.
Prozesswertfilters.
Eine genauere Beschreibung dieses Bereiches finden Sie
unter „Konfiguration und Projektierung – Aufbau der
Bedienleiste“.
Spaltenüberschriften Die Spaltenüberschriften bestimmen den Aufbau der
dargestellten Meldungen.
Hinweis:
Sie können sowohl die Reihenfolge, als auch die
Zusammensetzung Ihren Wünschen entsprechend anpassen.
Das genaue Vorgehen ist unter „Bedienung –
Meldungsstruktur anpassen“ beschrieben.
Meldungen Dieser Bereich enthält die ausgelesenen Meldungen bzw.
(Register „Tags“: Prozesswerte mit dem von Ihnen gewählten Aufbau.
Prozesswerte)

Hinweis Die Felder der Bereiche „Bedienleiste“ und „Spaltenüberschriften“ sind


geschützt, um ungewollte Änderungen zu vermeiden. Es wird empfohlen, diesen
Schutz nicht aufzuheben, um die Funktionsfähigkeit der Applikation nicht zu
beeinträchtigen.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 70
3 Archivdaten exportieren mit Excel

Aufbau der Bedienleiste


In der Bedienleiste nehmen Sie alle Einstellungen vor, die erforderlich sind, um die
von Ihnen gewünschten Daten in einem Format Ihrer Wahl anzuzeigen. Der
Aufbau der Bedienleiste kann in drei Bereiche unterteilt werden (beispielhaft in
Abbildung 3-15 für das Register „Alarms dargestellt“):
• Die Grundeinstellungen, welche, einmal eingestellt, in den meisten Fällen für
die gesamte Sitzung gleichbleiben.
• Der Filter, welcher es ermöglicht, die gesuchten Archivdaten genauer zu
beschreiben und somit das Suchergebnis zu verbessern.
• Der Aktionsbereich, von welchem aus die Strukturanpassung der angezeigten
Meldungen (Auswahl der Meldeblöcke) bzw. Prozesswerte (Auswahl
statistischer Werte) und der eigentliche Lesevorgang gestartet werden können.

Jeder dieser Bereiche enthält wiederum mehrere Kontrollelemente, auf welche im


Zuge der Anleitung zur Bedienung der Applikation in Abschnitt 3.3.3 genauer
eingegangen wird.

Abbildung 3-15
© Siemens AG 2019 All rights reserved

Die Tabellenansicht
Die Darstellung der empfangenen Archivdaten ist variabel und ermöglicht es Ihnen,
eine für Sie optimale Struktur festzulegen. Für Prozesswerte können
beispielsweise verschiedene statistische Funktionen ausgeführt und deren
Ergebnis angezeigt werden.
Die Tabellenansicht für die Darstellung der Meldungen ist der Chronikliste des
WinCC-Meldesystems nachempfunden. Die Anzeige der verschiedenen
Meldeblöcke kann, ähnlich dem Original, individuell gestaltet werden (siehe unter
„Bedienung – Meldungsstruktur anpassen“).

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 71
3 Archivdaten exportieren mit Excel

3.3.3 Bedienung

Dieser Abschnitt beschreibt wie Prozesswerte und Meldungen aus den Archiven
ausgelesen werden können. Mit Ausnahme der Erläuterung des Filters wird dies
beispielhaft anhand des Vorgehens für Meldungen geschehen, da die
Unterschiede zur Behandlung von Prozesswerten sehr gering sind.

Applikationsaufruf
Tabelle 3-16
Nr. Beschreibung
1. Starten Sie die Applikation.

Hinweis:
Nach dem Start der Applikation ist es möglich, dass diese kurze Zeit nicht reagiert.
Dies liegt dann daran, dass das Netzwerk ausgelastet ist und die Auflistung der
verfügbaren Rechner nur langsam voranschreitet.

Bei Vorhandensein mehrerer Subnetze werden nur Mitglieder der eigenen


Arbeitsgruppe ermittelt.
Dennoch können Sie auch auf nicht angezeigte Rechner zugreifen, solange zu
diesen eine gültige Verbindung besteht.
Hierzu müssen Sie lediglich den Namen des Zielrechners in das Textfeld der
Klappliste „Host“ eintragen.
2. Falls erforderlich, aktivieren Sie die Makros.
© Siemens AG 2019 All rights reserved

Grundeinstellungen bearbeiten
In den Grundeinstellungen nehmen Sie Einstellungen vor, die in den meisten
Fällen für die gesamte Sitzung gleichbleiben. Hierzu gehört die Festlegung des
Quellrechners und der Meldesprache.

Tabelle 3-17
Beschreibung Bedienelement
1. Wählen Sie das Register „Alarms“ aus.

2. Wählen Sie in der Klappliste „Host“ den


Rechner aus, der als Informationsquelle
dient.
Nach dem Programmstart ist der Name des
aufrufenden Rechners eingetragen.

Hinweis:
Es ist erforderlich, dass auf dem hier
angegebenen Rechner die WinCC-Runtime
gestartet ist, da der WinCC-OLEDB-Provider
mit deren Diensten kommuniziert.
Zusätzlich ist zu beachten, dass nur die auf
diesem Rechner lokal vorhandenen Daten
gelesen werden. Sollten Sie einen CAS
(Central Archive Server) verwenden, so
müssen Sie zwischen diesem
(Langzeitarchiv) und dem OS-Server
(Kurzzeitarchiv) wählen, um die Meldungen
eines bestimmten Zeitbereichs zu erhalten.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 72
3 Archivdaten exportieren mit Excel

Beschreibung Bedienelement
3. Wählen Sie in der Klappliste die Sprache aus,
in der die zu exportierenden Meldungen
projektiert wurden.
Folgende Sprachen stehen dabei zur
Auswahl:
• Deutsch
• Englisch
• Französisch
• Italienisch
• Spanisch

Hinweis:
Die Sprachauswahl ist für Prozesswerte nicht
verfügbar.

Ist eine dieser Meldesprachen nicht


gesondert projektiert, so enthalten die
Meldungen dieser Sprache Standardtexte.

Filtereinstellungen bearbeiten
Mithilfe der Filtereinstellungen sind Sie in der Lage, die zurück gelieferten
Archivdaten auf diejenigen zu reduzieren, die Sie bezüglich Tag, Zeitbereich und
Zeitintervall (Prozesswerte) bzw. Zeit, Art und Herkunft (Meldungen) tatsächlich
© Siemens AG 2019 All rights reserved

interessieren. Unterschiede zwischen dem Vorgehen für Prozesswerte und


Meldungen werden in parallelen Schritten erläutert.

Tabelle 3-18
Beschreibung Bedienelement
1. Legen Sie in den beiden Eingabefeldern den
Zeitbereich fest, in welchem die gesuchten
Archivdaten entstanden sind.
Achten Sie hierbei darauf, dass die Start- vor
der Endzeit liegt.
Standardmäßig ist das aktuelle Datum von
0 – 24 Uhr eingestellt.

Hinweis:
Die Eingabe von Zeit und Datum muss in
einer festgelegten Form erfolgen:
YYYY-MM-DD hh:mm:ss
Zusätzlich muss sichergestellt sein, dass die
Eingabe in sich logisch ist (z. B. keinen 30.
Februar, keine 70 Minuten, u.ä.). Ist der Wert
beim Verlassen des Eingabefeldes ungültig,
so wird eine Warnung erscheinen und der
zuvor eingetragene Wert wiederhergestellt.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 73
3 Archivdaten exportieren mit Excel

Beschreibung Bedienelement
2. Für das Register „Tags“:
Klicken Sie zum Auslesen der archivierten
Prozesswerte (Tags) bzw. der projektierten
(Anlagen-) Bereiche auf die Schaltfläche
„Read Tags“ / „Areas“.

Hinweis:
Um das Auslesen durchführen zu können,
muss zuvor der entsprechende Host
ausgewählt worden sein.
Fehlerbehandlung:
Wenn Sie folgende Meldung erhalten, so ist
die Kommunikation mit der Datenbank
fehlgeschlagen:
„Area“ / „Tag determination failed“ +
Fehlerbeschreibung.
Mögliche Ursachen hierfür sind:
• Netzwerkprobleme (Host nicht
erreichbar)
• Fehlende Rechte (Gleicher Benutzer und
gleiche Passwörter erforderlich)
• OS nicht in Runtime
Sobald Sie die Informationen ausgelesen
haben, stellt Ihnen die entsprechende
© Siemens AG 2019 All rights reserved

Klappliste diese zur Verfügung.


3. Für das Register „Tags“:
Wählen Sie in der Klappliste „Archive Tags“
den Prozesswert aus, dessen archivierte
Werte Sie auslesen möchten.
4. Für das Register „Tags“:
Geben Sie das gewünschte Zeitintervall in
Sekunden ein, über welches die ursprünglich
aufgetretenen Werte („native“)
zusammengefasst werden sollen. Soll kein
Intervall verwendet werden (Werte bleiben
„native“), so tragen sie „0“ ein.

Hinweis:
Um die Zahl der ausgelesenen Prozesswerte
ohne großen Informationsverlust zu senken,
kann das Zeitintervall verwendet werden.
Das Zeitintervall erlaubt es, alle
Prozesswerte, die in jeweils einem
bestimmten Zeitraster aufgetreten sind (z.B.
alle Werte in einer Minute oder Stunde)
zusammenzufassen. Für diese Menge von
Werten können dann Auswertungen (z.B.
Maximalwert, Minimalwert, Summe)
vorgenommen werden. Dieses Prinzip wird in
Abbildung 3-16 veranschaulicht.
Für das Register „Alarms“:
Zum Filtern nach verschiedenen Arten
(Klassen) von Meldungen stehen Ihnen
insgesamt sechs Optionskästchen zur
Verfügung, die Sie beliebig kombinieren
können. Wenn Sie hier keine Auswahl treffen,
dann wird das Filtern nach Meldungen
deaktiviert.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 74
3 Archivdaten exportieren mit Excel

Beschreibung Bedienelement
5. Für das Register „Tags“:
Wählen Sie aus, ob eine Interpolation
stattfinden soll.

Hinweis:
Die Interpolation erfordert ein Zeitintervall
ungleich null.

Mithilfe der Interpolation wird sichergestellt,


dass der zeitliche Abstand zwischen zwei
empfangenen Werten stets gleich bleibt. Ist
für einen Zeitpunkt kein Wert archiviert, so
wird aus dem direkt vorangehenden und dem
direkt nachfolgenden archiviertem Wert ein
entsprechender Zwischenwert ermittelt.
Interpolation findet nur zwischen jeweils zwei
archivierten Werten innerhalb des
Zeitbereiches statt. Zwischen einem Wert
innerhalb und einem Wert außerhalb des
Zeitbereiches wird nicht interpoliert.

Hinweis Sie sollten die Möglichkeiten des Filters nutzen, um die Auswahlkriterien so weit
wie möglich einzugrenzen. Dadurch reduzieren Sie die Menge der relevanten
© Siemens AG 2019 All rights reserved

Archivdaten und somit die Zugriffszeit auf die Datenbank und die anschließende
Verarbeitungszeit.
Für Meldungen wird die Zahl der zurück gelieferten Datensätze zusätzlich durch
den SQL-String auf 65000 begrenzt.

Erläuterung des Zeitintervalls


Die nachfolgende Abbildung stellt den Verlauf eines Prozesswertes über mehrere
Stunden dar. Mit Hilfe der vertikalen, gestrichelten Linien wird die Kurve in die
einzelnen Stunden unterteilt.

Abbildung 3-16

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 75
3 Archivdaten exportieren mit Excel

Angenommen die Archivierung der Prozesswerte sei im Sekundentakt erfolgt, dann


wäre die Auflistung von bis zu 18000 Werten (für 5 Stunden) recht unübersichtlich.
Wenn man nun aber ein Zeitintervall von einer Stunde angibt, so werden
insgesamt nur noch maximal fünf Werte pro Spalte angegeben.
Damit man dennoch eine gute Vorstellung vom eigentlichen Kurvenverlauf erhält,
kann man über die Menge der Betroffenen Werte verschiedene Informationen
ermitteln lassen. Dies wird in der Detailansicht der Abbildung verdeutlicht. Man
kann die Extremwerte der Kurve, den ersten und letzten Wert, den Durchschnitt
und (nicht dargestellt) die Summe über alle in diesem Intervall aufgetretenen Werte
und deren Anzahl bestimmen.
Weist ein Intervall nach diesen Kriterien ein besonders auffälliges Verhalten auf, so
kann man anschließend den Zeitbereich entsprechend eingrenzen und das
Zeitintervall verkleinern, sodass alle Informationen bereitstehen um die Ursache
genau zu untersuchen.

Meldungsstruktur anpassen
Das Anpassen der Meldungsstruktur (Auswahl der Meldeblöcke) erlaubt es Ihnen,
die empfangenen Meldungen individuell in einer für Sie optimalen Weise
darzustellen.
Sollte die Meldungsstruktur bereits Ihren Wünschen entsprechen, können Sie
diesen Punkt überspringen.
© Siemens AG 2019 All rights reserved

Abbildung 3-17

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 76
3 Archivdaten exportieren mit Excel

In der nachfolgenden Tabelle wird beschrieben, wie Sie die Meldungsstruktur Ihren
individuellen Bedürfnissen anpassen können.

Tabelle 3-19
Beschreibung Bedienelement
1. Klicken Sie auf die Schaltfläche „Adapt
Structure“.
Das Dialogfeld „Data Selection" wird geöffnet.
2. Selektieren Sie in der linken Liste „Available
Data“ das Element, welches Sie zu der
Auswahl hinzufügen möchten, und klicken Sie
auf die Schaltfläche „->“.
Neue Elemente der rechten Liste „Selected
Data“ werden stets hinter dem aktuell
angewählten Element in dieser Liste
eingefügt.

3. Zum Entfernen eines Elements aus der


Auswahl selektieren Sie dieses in der rechten
© Siemens AG 2019 All rights reserved

Liste und klicken auf die Schaltfläche „<-“.


Entfernte Elemente werden in der linken Liste
unten angefügt.

4. Durch Klicken auf die Schaltfläche "OK"


werden Ihre Einstellungen übernommen.
Zum Verwerfen der Änderungen klicken Sie
auf die Schaltfläche „Exit“.

Hinweis:
Das Anpassen der Datenstruktur führt zur
Löschung aller aktuell aufgelisteten
Meldungen. Es erfolgt keine zusätzliche
Abfrage nach Bestätigung der Änderungen.
5. Nachdem Sie die Änderungen bestätigt
haben, werden alle Spaltenüberschriften und
Meldungen gelöscht. Anschließend werden
die neuen Spaltenüberschriften eingetragen
und die Spaltenbreiten angepasst.

Hinweis:
Wenn Sie keine Spalten zur Anzeige
ausgewählt haben, wird der spätere
Lesevorgang vorzeitig abgebrochen. In der
Statuszeile wird der Text „No Data to be read“
angezeigt.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 77
3 Archivdaten exportieren mit Excel

Hinweis Beim Starten der Applikation ermittelt diese aus den Einträgen im Teilbereich
„Spaltenüberschriften“ des Arbeitsbereiches automatisch die zuletzt
verwendeten Einstellungen für die Meldungsstruktur.
Achten Sie bei der Auswahl der Informationen für Prozesswerte darauf, dass
dort jede Information außer dem Zeitstempel und dem Quality-Code einen
eigenen Lesevorgang auslöst. Die Ursache hierfür liegt in der Funktionsweise
der zugehörigen SQL-Abfrage.

Meldungen lesen
Nachdem Sie nun alle Einstellungen vorgenommen haben, können Sie die
gewünschten Meldungen nun aus dem Archiv lesen.

Tabelle 3-20
Beschreibung Bedienelement
1. Klicken Sie auf die Schaltfläche „Read“, um
die Meldungen, die dem Filter entsprechen,
aus dem Archiv auszulesen.

Achtung:
Die Betätigung der Schaltfläche „Read“ führt
© Siemens AG 2019 All rights reserved

zur Löschung aller aktuell aufgelisteten


Meldungen. Es erfolgt keine zusätzliche
Abfrage.
Hinweis:
Das Auflisten der Meldungen können Sie
durch Drücken der Taste ESC vorzeitig
beenden.
2. Sichern Sie sich gegebenenfalls die
gelesenen Daten separat.

Hinweis Nach dem Auslösen des Lesebefehls wird zunächst die SQL-Abfrage erstellt und
ausgeführt. In dieser Zeit ist die Applikation nicht reaktionsfähig, da sie auf eine
Antwort des SQL-Servers warten muss. Je nach Anzahl der angeforderten
Meldungen kann dies bis zu einigen Minuten dauern.
Anschließend wird die Aufbereitung (Ersetzen der Platzhalter) und Auflistung der
einzelnen Meldungen durchgeführt. Während dieses Vorgangs ist die
Aktualisierung des Arbeitsbereiches deaktiviert, um den Meldungsdurchsatz zu
erhöhen und in der Statusleiste wird der Fortschritt des Prozesses angezeigt.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 78
3 Archivdaten exportieren mit Excel

3.3.4 Fehlerhandling

Im Folgenden sind alle Fehlerkategorien aufgeführt, die dem Lesevorgang


zugeordnet werden können:
• Verbindungsfehler
– Vorgang:
Verbinden mit der Datenbank
– Meldung:
„Error during Connect“ + Fehlerbeschreibung
– Mögliche Ursachen:
Netzwerkprobleme (Host nicht erreichbar); fehlende Rechte; fehlende
Installation des WinCC OLE DB-Providers auf dem Client

• Lesefehler
– Vorgang:
Öffnen der Datenbank und Auslesen der Meldungen
– Meldung:
„Error during Open“ + Fehlerbeschreibung
– Mögliche Ursache:
WinCC ist auf dem Server nicht in Runtime.
© Siemens AG 2019 All rights reserved

• Verarbeitungsfehler
– Vorgang:
Ordnen und Interpretieren der Meldeblöcke; Eintragen der Meldungen
– Meldung:
„Error during Processing“ + Fehlerbeschreibung
– Mögliche Ursache:
Die Struktur der Datenbank und somit auch die der zurück gelieferten
Meldungen hat sich geändert.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 79
4 Archivdaten exportieren mit SQL Server

4 Archivdaten exportieren mit SQL Server


4.1 Projektierung
• Der Export von Archivwerten aus SQL heraus wird mit Hilfe des „SQL Server
Import/Export Wizards“ direkt im „SQL Server Management Studio“
parametriert. Er wird nach Abschluss an die Parametrierung aus dem Wizard
angestoßen.
• Zusätzlich besteht die Möglichkeit, die erstellte Parametrierung als SSIS-
Package (.DTSX-Datei) im Windows-Dateisystem abzuspeichern. Die Datei
ermöglicht den Export zu einem späteren Zeitpunkt. Die SQL-Abfrage und
somit der Umfang der zu exportierenden Daten ist dabei fest im SSIS-Package
hinterlegt.
• Beim Zugriff auf WinCC-Archivdaten ist als Quelle der WinCC OLE DB-
Provider anzugeben, als Datenziel kann z. B. eine neu angelegte, separate
SQL-Datenbank dienen oder auch eine „*.xls“, “*.xlsx“, „*.txt“ oder „*.csv“-Datei.
• In den nachfolgenden Anleitungen wird die Parametrierung des „SQL Server
Import/Export Wizards“ für den Export von archivierten Messwerten in eine
„*.csv“-Datei beschrieben.
• Die folgende Anleitung gilt für den SQL Server 2008 R2.

Tabelle 4-1
© Siemens AG 2019 All rights reserved

Nr. Aktion
1. • Starten Sie WinCC-Explorer. Öffnen Sie das WinCC-Projekt. Aktivieren Sie die
Runtime.
• Wechseln Sie über die Schaltfläche „Umkehr-Osmose“ in das Bild
„ReverseOsmosis.Pdl“.
• Starten Sie die Umkehrosmose-Anlage über die Schaltfläche „ANFAHREN“.
Warten Sie, bis die Anlage den Status „Produktion“ erreicht hat.
• Nach wenigen Minuten Laufzeit fahren Sie die Anlage über die Schaltfläche
„ABFAHREN“ herunter.
• Legen Sie eine inhaltslose Datei „TagsToCSV.csv“ und „AlarmsToCSV.csv“ im
Verzeichnis Ihrer Wahl an.
2. Starten Sie unter „Start > Programme > Microsoft SQL Server“ das „SQL Server
Management Studio“.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 80
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
3. • Melden Sie sich an.
• Wählen Sie dafür als Server type „Database Engine“, als Servername „<Ihr
Computername>\WINCC“ und als Authentication „Windows Authentication“ (es
wird ihr aktueller Benutzer verwendet).
• Verbinden Sie sich über die Schaltfläche „Connect“ mit dem SQL Server.

4. • Klicken Sie mit der rechten Maustaste auf die Datenbank für Runtime- und
© Siemens AG 2019 All rights reserved

Archiv-Daten. Verwenden Sie hierzu entweder


– „Databases > CC_WinCC73__16_02_15_16_22_51R“, oder
– „Databases > CC_ExternalBrowsing“.
• Starten Sie mit „Tasks > Export Data“ den SQL Server Import und Export
Wizard.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 81
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
5. Klicken Sie die Schaltfläche „Next“.

6. Wählen Sie als Datenquelle den „WinCC OLE DB-Provider for Archives“ und klicken
Sie anschließend auf die Schaltfläche „Properties“.
© Siemens AG 2019 All rights reserved

7. • Geben Sie als Data Source „.\WinCC“ und als Katalog den Namen der WinCC
Runtime-Datenbank ein.
• Geben Sie als WinCC Runtime-Datenbank entweder
– „CC_WinCC73__16_02_15_16_22_51R“, oder
– „CC_ExternalBrowsing“ an.
• Verlassen Sie anschließend die Masken mit den Schaltflächen „OK“ und
„Next“.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 82
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
8. • Wählen Sie als Datenziel „Flat File Destination“ und die Datei
„TagsToCSV.csv“ (für Variablenexport).
• Aktivieren Sie das Häkchen „Column names in first data row“, um die
Spaltenüberschriften in die erste Zeile der „*.csv“-Datei zu schreiben.
• Verlassen Sie die Maske mit der Schaltfläche „Next“.
© Siemens AG 2019 All rights reserved

9. • Aktivieren Sie die Option „Write a query to specify the data to transfer“, um in
der nächsten Maske die SQL-Abfrage anzugeben.
• Setzen Sie den Wizard über die Schaltfläche „Next“ fort.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 83
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
10. • Tragen Sie hier die gewünschte SQL-Abfrage ein. Der Aufbau der Abfrage
entspricht der Beschreibung in Kapitel 2.2.3 bzw. Kapitel 2.2.4.
• In diesem Beispiel wird das Archiv-Tag „QI900_ConductivityPearmeatIn“ aus
dem Prozesswertarchiv aus dem Zeitraum der letzten 30 Minuten abgefragt:

„TAG:R,‘Prozesswertarchiv\QI900_ConductivityPermeatIn‘,’0000-00-00
00:30:00.000’, ’0000-00-00 00:00:00.000’”

Achtung
Achten Sie bei der Eingabe des Textstrings auf die amerikanische
Schreibweise bei Hochkomma und Anführungszeichen (siehe Bild).
• Verlassen Sie die Maske über die Schaltfläche „Next“.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 84
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
11. Stellen Sie als Spaltenbegrenzung „Column delimiter“ das Semikolon ein.
© Siemens AG 2019 All rights reserved

12. • Das Ergebnis der Abfrage können Sie über „Preview“ prüfen.
• Schließen Sie den Dialog mit der Schaltfläche „OK“.
Vorschau Variable QI900:

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 85
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
13. Aktiveren Sie anschließend das Speichern des „SSIS-Package“ im Windows-
Dateisystem ohne Schutzfunktion und verlassen Sie die Maske mit „Next“.
© Siemens AG 2019 All rights reserved

Hinweis
Für das Beispielprojekt wird keine Schutzfunktion benötigt. Im Produktivbetrieb
sollte diese, je nach Anwendung, eingerichtet werden.
14. Geben Sie Dateiname und Speicherort für das „SSIS-Package“ an und klicken Sie
auf die Schaltfläche „Next“.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 86
4 Archivdaten exportieren mit SQL Server

Nr. Aktion
15. In der Folgemaske werden die eingestellten Parameter zusammengefasst. Mit der
Schaltfläche „Finish“ wird der Export gestartet.
© Siemens AG 2019 All rights reserved

16. • Das Ergebnis des Exports wird abschließend protokolliert.


• Mit der Schaltfläche „Reports“ haben Sie die Möglichkeit das Protokoll als
Textdatei zu speichern.

17. Kontrollieren Sie die erzeugte „*.csv“-Datei.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 87
4 Archivdaten exportieren mit SQL Server

Hinweis Es kann auch über die ValueID anstatt des Variablennamens auf das Archiv
zugegriffen werden. Dies ist performanter als der symbolische Name (z. B.
„TAG:R,4,’0000-00-00 00:30:00.000’, ’0000-00-00 00:00:00.000’”).

Eine Abfrage mehrerer Archivvariablen mit einer SQL-Anweisung ist mit einer
Auflistung von ValueIDs möglich. Diese wird in der SQL-Abfrage in Klammern
gesetzt, die ValueIDs werden mit Semikolon getrennt angegeben.
(z. B. „TAG:R,(4,8,12),’0000-00-00 00:30:00.000’, ’0000-00-00 00:00:00.000’”).

Die ValueID der Archiv-Tags können Sie der Tabelle „dbo.Archive“ entnehmen.
Öffnen Sie dieses „Tables>dbo.Archive“ über das Kontextmenü „Select Top
1000 Rows“

Hinweis Achten Sie bei der Eingabe des Textstrings auf die amerikanische Schreibweise
bei Hochkomma und Anführungszeichen.

Aufruf der „DTSX-Packages“


Um den Export zu wiederholen, führen Sie das „SSIS-Packages“ (DTSX-Datei)
durch Doppelklick aus und bestätigen Sie anschließend die „Execute“-Schaltfläche.
Das Ergebnis wird in einem Progress-Fenster angezeigt.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 88
5 Wissenswertes

5 Wissenswertes
5.1 Grundlagen
5.1.1 SIMATIC WinCC/Connectivity Pack

Das SIMATIC WinCC/Connectivity Pack ist eine Option zu WinCC. Es ermöglicht


den lizenzierten Zugriff auf Online- und Archivdaten von WinCC. Dafür stehen
folgende standardisierte Schnittstellen zur Verfügung:
• OPC UA (Unified Architecture)
Mit OPC UA unterstützt WinCC die plattformunabhängige
Nachfolgetechnologie von OPC.
• OPC HDA (Historical Data Access)
Zugriffsmöglichkeit auf archivierte Prozesswerte.
• OPC A&E (Alarm & Events)
Zugriffsmöglichkeit auf Meldeereignisse und archivierte Meldungen.
• OPC XML DA (Web-basierter Datenaustausch, plattformübergreifend)
• Archive Connector
Damit ist es möglich, ausgelagerte WinCC-Archivdatenbanken mit dem SQL-
Server zu verbinden bzw. zu trennen. Dabei wird eine Übersicht über einzelne
Datenbanksegmente erstellt. Der Archive Connector kann Verzeichnisse
© Siemens AG 2019 All rights reserved

überwachen und einkopierte Archive automatisch verbinden.


• WinCC OLE DB-Provider
Provider für den direkten Zugriff auf die Prozess- und Meldearchive in der
SQL-Server-Datenbank auf der WinCC RT-Maschine und auf einem
Langzeitarchivserver. Über den WinCC OLE DB-Provider ist auch ein Zugriff
auf die mit Archive Connector verbundenen Archive möglich.

5.1.2 WinCC OLE DB-Provider

In diesem Dokument und dem zugehörigen Beispielprojekt wird speziell Nutzen


und Anwendung des WinCC OLE DB-Providers beschrieben. Neben dem Zugriff
auf Prozesswert- und Meldearchive, bietet dieser zusätzliche Analysefunktionen,
um z. B. Extrema von Archivvariablen zu bestimmen.
Seit WinCC V6.0 werden die WinCC-Archivdatenbanken segmentiert und dabei in
binärer, verschlüsselter Form abgelegt. Mit dem WinCC OLE DB-Provider stellen
Sie diese Daten transparent und in lesbarer Form zur Verfügung. Sie müssen beim
Zugriff auf diese Daten keine Maßnahmen zur Entschlüsselung vornehmen bzw.
die Segmentierung berücksichtigen.
Über den Provider hat ein WinCC/Connectivity Pack-Client direkten Zugriff auf die
Archivdaten. Ob die Daten in komprimierter oder dekomprimierter Form vorliegen,
spielt somit keine Rolle.

5.1.3 Voraussetzung für die Verbindung zur WinCC-Datenbank

Um sich mit einem WinCC-Archiv verbinden zu können, ist eine der nachfolgenden
Bedingungen zu erfüllen.
• Bestandteil eines WinCC Runtime-Projekts
• Im SQL-Manager über „Attach Database“ angebunden
• Über den Archive Connector angebunden

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 89
5 Wissenswertes

5.1.4 Verwendung von String-Variablen

Ab WinCC V7.4 SP1 können auch String-Variablen ins Variablenarchiv


geschrieben werden. Der WinCC OLE DB-Provider benötigt allerdings zum Lesen
der String-Variablen einen speziellen SQL-Ausdruck:
Statt
"TAG:R, 1, '0000-00-00 00:10:00.00', '0000-00-00 00:00:00.000'"
muss
"TAG_EX:R, 1, '0000-00-00 00:10:00.00', '0000-00-00 00:00:00.000'"
verwendet werden.
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 90
5 Wissenswertes

5.2 Alternative Lösungen


Um Daten zwischen SIMATIC WinCC und Applikationen (z. B. Office-
Anwendungen, MES- und ERP-Systemen) auszutauschen, stehen Ihnen mehrere
Optionen und Add-Ons zur Verfügung. Basis ist hierbei eine WinCC-Applikation.
Zu unterscheiden ist dabei zwischen dem Zugriff auf Online-Werte (aktuelle Werte
aus dem Variablenhaushalt) von SIMATIC WinCC und historischen Daten (z. B.
archivierte Variablen oder Meldungen).
Die nachfolgende Aufstellung gibt einen Überblick über die Möglichkeiten, die
SIMATIC WinCC mit seinen zugehörigen Optionen und Add-Ons bietet. Die
Tabelle legt dabei keinen Anspruch auf Vollständigkeit.

Tabelle 5-1
WinCC Funktion für
Produkt Option Add-on2
integriert1 Datenaustausch
SIMATIC WinCC x - - Zugriffsmöglichkeit über:
• OPC DA
SIMATIC - x - Zugriffsmöglichkeit über:
WinCC/Connectivity • OPC UA
Pack
Der Nachfolger von OPC mit
allen Zugriffsmöglichkeiten,
wie DA, HDA und A&E
© Siemens AG 2019 All rights reserved

• OPC XML DA
Online-Werte der Variablen
• OPC HDA
Archivierte Prozesswerte
• OPC A&E
Meldungen und Alarme
• WinCC OLE DB-Provider
Archivierte Prozesswerte/-
meldungen
SIMATIC - x - Konfigurationstool und
WinCC/IndustrialData Laufzeitumgebung für den
Bridge Datenaustausch zwischen
verschiedenen Datenquellen
(Providern) und Datenzielen
(Consumern). Auch
Standalone einsetzbar.

Hinweis:
Ab WinCC V7.4 „*.txt“-,
„*.csv“-, „*.html“-, „*.xml“-
Formate zulässig.
SIMATIC Information - - x Ermöglicht den Report in
Server verschiedenen Formaten
abzuspeichern, darunter
auch „*.xls“-Format.
PM-OPEN EXPORT - - x Export von Online-Werten
und Archivdaten in
Textdateien („*.ascii“,
„*.csv“, „*.html“, „.*xml“).

1 SIMATIC WinCC RT / RC – Lizenz ausreichend


2 Add-Ons sind Produkte von unseren Premium Add-On Partnern

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 91
6 Anhang

6 Anhang
6.1 Service und Support
Industry Online Support
Sie haben Fragen oder brauchen Unterstützung?
Über den Industry Online Support greifen Sie rund um die Uhr auf das gesamte
Service und Support Know-how sowie auf unsere Dienstleistungen zu.
Der Industry Online Support ist die zentrale Adresse für Informationen zu unseren
Produkten, Lösungen und Services.
Produktinformationen, Handbücher, Downloads, FAQs und Anwendungsbeispiele
– alle Informationen sind mit wenigen Mausklicks erreichbar:
https://support.industry.siemens.com

Technical Support
Der Technical Support von Siemens Industry unterstützt Sie schnell und kompetent
bei allen technischen Anfragen mit einer Vielzahl maßgeschneiderter Angebote
– von der Basisunterstützung bis hin zu individuellen Supportverträgen.
Anfragen an den Technical Support stellen Sie per Web-Formular:
www.siemens.de/industry/supportrequest
© Siemens AG 2019 All rights reserved

SITRAIN – Training for Industry


Mit unseren weltweit verfügbaren Trainings für unsere Produkte und Lösungen
unterstützen wir Sie mit innovativen Lernmethoden.
Mehr zu den angebotenen Trainings und Kursen sowie deren Standorte und
Termine erfahren Sie unter:
www.siemens.de/sitrain

Hinweis Grundlagen werden im SITRAIN-Kurs „SIMATIC WinCC, Systemkurs“ vermittelt.


• SIMATIC WinCC, Systemkurs (de)
• SIMATIC WinCC, System Course (en)
Themen zur systemübergreifenden Kommunikation mit dem WinCC/Connectivity
Pack werden, neben vielen weiteren Themen, in dem Kurs "SIMATIC WinCC,
Aufbaukurs" vermittelt.
• SIMATIC WinCC, Aufbaukurs (de)
• SIMATIC WinCC, advanced course (en)

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 92
6 Anhang

Serviceangebot
Unser Serviceangebot umfasst folgendes:
• Plant Data Services
• Ersatzteilservices
• Reparaturservices
• Vor-Ort und Instandhaltungsservices
• Retrofit- und Modernisierungsservices
• Serviceprogramme und Verträge
Ausführliche Informationen zu unserem Serviceangebot finden Sie im
Servicekatalog:
https://support.industry.siemens.com/cs/sc

Industry Online Support App


Mit der App "Siemens Industry Online Support" erhalten Sie auch unterwegs die
optimale Unterstützung. Die App ist für Apple iOS, Android und Windows Phone
verfügbar:
https://support.industry.siemens.com/cs/ww/de/sc/2067
© Siemens AG 2019 All rights reserved

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 93
6 Anhang

6.2 Links und Literatur


Tabelle 6-1
Nr. Thema
\1\ Siemens Industry Online Support
https://support.industry.siemens.com
\2\ Link auf die Beitragsseite des Anwendungsbeispiels
https://support.industry.siemens.com/cs/ww/de/view/38132261
\3\ Handbuch SIMATIC WinCC/Connectivity Pack V7.4 SP1
https://support.industry.siemens.com/cs/ww/de/view/109746336
\4\ Anwendungsbeispiel „Export von WinCC/CAS-Archivdaten mit einer eigenständigen
Applikation“
https://support.industry.siemens.com/cs/ww/de/view/35840700
\5\ Anwendungsbeispiel „WinCC/IndustrialDataBridge: Daten aus SIMATIC WinCC
oder aus SIMATIC Steuerungen in Office-Dateien schreiben“
https://support.industry.siemens.com/cs/ww/de/view/109483465

6.3 Änderungsdokumentation
Tabelle 6-2
© Siemens AG 2019 All rights reserved

Version Datum Änderung


V1.0 08/2009 Erste Ausgabe, WinCC 7.0 + ConnPack
V2.0 02/2016 WinCC 7.3 + ConnPack, neues Layout des
Anwendungsbeispiels + überarbeitete Skripte. Änderungen
in der Dokumentation.
V3.0 03/2018 WinCC 7.4 SP1 + ConnPack, Überarbeitete Skripte +
Export der Archivdateien nach Excel. Änderungen in der
Dokumentation.
V4.0 06/2019 WinCC 7.5 + ConnPack, zusätzlicher Excel-Client mit
Basisfunktionalität in Anlehnung an das WinCC-Projekt.
Änderungen in der Dokumentation.

Archivdaten-Export mit dem WinCC OLE DB-Provider


Beitrags-ID: 38132261, V4.0, 06/2019 94

Das könnte Ihnen auch gefallen