WinCC SCADA –Diagnose - support.industry.siemens.com · Rechtliche Hinweise WinCC SCADA -...

25
WinCC SCADA – Diagnose WinCC V7.4 SP1 https://support.industry.siemens.com/cs/ww/de/view/109757865 Siemens Industry Online Support

Transcript of WinCC SCADA –Diagnose - support.industry.siemens.com · Rechtliche Hinweise WinCC SCADA -...

WinCC SCADA –Diagnose

WinCC V7.4 SP1

https://support.industry.siemens.com/cs/ww/de/view/109757865

Siemens Industry Online Support

Rechtliche Hinweise

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 2

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Rechtliche Hinweise Nutzung der Anwendungsbeispiele

In den Anwendungsbeispielen wird die Lösung von Automatisierungsaufgaben im Zusammen-spiel mehrerer Komponenten in Form von Text, Grafiken und/oder Software-Bausteinen beispielhaft dargestellt. Die Anwendungsbeispiele sind ein kostenloser Service der Siemens AG und/oder einer Tochtergesellschaft der Siemens AG („Siemens“). Sie sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit und Funktionsfähigkeit hinsichtlich Konfiguration und Ausstattung. Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern bieten lediglich Hilfestellung bei typischen Aufgabenstellungen. Sie sind selbst für den sachgemäßen und sicheren Betrieb der Produkte innerhalb der geltenden Vorschriften verantwortlich und müssen dazu die Funktion des jeweiligen Anwendungsbeispiels überprüfen und auf Ihre Anlage individuell anpassen. Sie erhalten von Siemens das nicht ausschließliche, nicht unterlizenzierbare und nicht übertragbare Recht, die Anwendungsbeispiele durch fachlich geschultes Personal zu nutzen. Jede Änderung an den Anwendungsbeispielen erfolgt auf Ihre Verantwortung. Die Weitergabe an Dritte oder Vervielfältigung der Anwendungsbeispiele oder von Auszügen daraus ist nur in Kombination mit Ihren eigenen Produkten gestattet. Die Anwendungsbeispiele unterliegen nicht zwingend den üblichen Tests und Qualitätsprüfungen eines kostenpflichtigen Produkts, können Funktions- und Leistungsmängel enthalten und mit Fehlern behaftet sein. Sie sind verpflichtet, die Nutzung so zu gestalten, dass eventuelle Fehlfunktionen nicht zu Sachschäden oder der Verletzung von Personen führen.

Haftungsausschluss Siemens schließt seine Haftung, gleich aus welchem Rechtsgrund, insbesondere für die Verwendbarkeit, Verfügbarkeit, Vollständigkeit und Mangelfreiheit der Anwendungsbeispiele, sowie dazugehöriger Hinweise, Projektierungs- und Leistungsdaten und dadurch verursachte Schäden aus. Dies gilt nicht, soweit Siemens zwingend haftet, z.B. nach dem Produkthaftungs-gesetz, in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der schuldhaften Verletzung des Lebens, des Körpers oder der Gesundheit, bei Nichteinhaltung einer übernommenen Garantie, wegen des arglistigen Verschweigens eines Mangels oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegen oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist mit den vorstehenden Regelungen nicht verbunden. Von in diesem Zusammen-hang bestehenden oder entstehenden Ansprüchen Dritter stellen Sie Siemens frei, soweit Siemens nicht gesetzlich zwingend haftet. Durch Nutzung der Anwendungsbeispiele erkennen Sie an, dass Siemens über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann.

Weitere Hinweise Siemens behält sich das Recht vor, Änderungen an den Anwendungsbeispielen jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in den Anwendungs-beispielen und anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang. Ergänzend gelten die Siemens Nutzungsbedingungen (https://support.industry.siemens.com).

Securityhinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den 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 Netzwerk-segmentierung) ergriffen wurden. Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter: https://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: https://www.siemens.com/industrialsecurity.

Inhaltsverzeichnis

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 3

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Inhaltsverzeichnis Rechtliche Hinweise .................................................................................................... 2

1 Einführung .......................................................................................................... 4

1.1 Überblick............................................................................................... 4 1.2 Diagnosewerkzeuge ............................................................................. 6 1.3 Verwendete Komponenten ................................................................... 7

2 Skript-Diagnose ................................................................................................. 8

2.1 VBS-Aktionen ....................................................................................... 8 2.1.1 Trace-Anweisung ................................................................................. 8 2.1.2 Fehlerbehandlung ................................................................................ 9 2.1.3 Skript-Debugger ................................................................................. 10 2.1.4 Debugging mit Visual Studio .............................................................. 13 2.2 C-Aktionen .......................................................................................... 16 2.2.1 printf-Anweisung ................................................................................. 16 2.2.2 Diagnose-Variablen ............................................................................ 17 2.2.3 Applikationsdiagnose (ApDiag) .......................................................... 17 2.2.4 Debugging mit ApDIAG ...................................................................... 18 2.3 Logdateien .......................................................................................... 22 2.4 Global Script Inspector ....................................................................... 23

3 Anhang.............................................................................................................. 24

3.1 Service und Support ........................................................................... 24 3.2 Links und Literatur .............................................................................. 25 3.3 Änderungsdokumentation .................................................................. 25

1 Einführung

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 4

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

1 Einführung

1.1 Überblick

Bei einer technischen Problemlösung ist es in der Regel von Vorteil, systematisch vorzugehen. Für eine SCADA-Anwendung wie WinCC empfehlen sich folgende Schritte:

1. Problembestimmung

2. Problembeschreibung

– Performance

– Verbindungsprobleme

– Installationsproblem

– sporadischer oder reproduzierbarer Fehler

– verschiedene Bereiche, z. B. Skript, Graphic Runtime

3. Diagnose (Ursachenforschung)

– Konfigurationsfehler

– Softwarefehler

– Hardwarefehler

4. Fehlerbehebung

Abbildung 1-1

12

34

Fehlerbehebung

Diagnose

Problembeschreibung

Problembestimmung

Dieses Anwendungsbeispiel konzentriert sich auf den Schritt 3 (Diagnose), insbesondere:

• Wie diagnostizieren Sie die Anwendung?

• Wo finden Sie hilfreiche Informationen?

• Welche Diagnosewerkzeuge stehen Ihnen zur Verfügung?

1 Einführung

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 5

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Hinweis Dieses Anwendungsbeispiel wird sukzessive erweitert. Im ersten Schritt wird das Thema "Skript-Diagnose" behandelt.

Weitere Themen, wie

• Log-Dateien,

• Allgemeine Diagnosewerkzeuge,

• Diagnosewerkzeuge für die Kommunikation,

• Fehler vermeiden durch Vorbeugung,

werden diesem Dokument in loser Folge hinzugefügt.

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)

1 Einführung

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 6

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

1.2 Diagnosewerkzeuge

Für die Diagnose von WinCC kann man sich verschiedener Tools bedienen, welche von den beteiligten Komponenten bereitgestellt werden:

• Betriebssystem (Windows)

• Datenbank (SQL Server)

• WinCC mit seinen Basisfunktionen

• WinCC mit seinen Optionspaketen

Oft ist auch eine Kombination der verschiedenen Tools hilfreich, z. B. in Form von Leistungsüberwachungs- und Protokolldateien.

Abbildung 1-2

WINDOWS WinCC

Diagnose - OPTIONEN

WinCC

Diagnose - BASIC

APDIAG

Logdateien

Performance MonitorSDT

EventViewerLogdateien

Redundancy Control

Channel Diagnose

Script Debug

IIS

ALM

Server-Client-Connection

SQL Server

SQL Profiler

SQL Server

Logdateien

ActivityMonitor

Windows Problem

Steps Recorder (PSR)

Ressource Monitor

… …

Report Runtime Diagnose

PH Console

Statusseite von

WebNavigator

1 Einführung

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 7

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

1.3 Verwendete Komponenten

Dieses Anwendungsbeispiel wurde mit diesen Hard- und Softwarekomponenten erstellt:

Tabelle 1-1

Komponente Anzahl Artikelnummer Hinweis

Engineering Station 1 Entwicklungsrechner

SIMATIC WinCC V7.4 1 6AV63.1-....7-4...

MS SQL Server 2010 1

Dieses Anwendungsbeispiel besteht aus folgenden Komponenten:

Tabelle 1-2

Komponente Dateiname Hinweis

Dokumentation 109757865_WinCC_Diagnostics_de.pdf Dieses Dokument

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 8

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2 Skript-Diagnose

2.1 VBS-Aktionen

2.1.1 Trace-Anweisung

Durch den gezielten Einsatz von Trace-Anweisungen, z. B. zur Ausgabe von Variablenwerten, lässt sich der Ablauf von Aktionen und den darin aufgerufenen Prozeduren verfolgen.

Um Trace-Anweisungen anzeigen zu können, benötigen Sie ein spezielles Applikationsfenster in Ihrem Bild. Dieses Applikationsfenster, die GSC-Diagnose, gibt die in den VBS-Aktionen enthaltenen Trace-Anweisungen in der Reihenfolge aus, in der sie aufgerufen werden. Dies gilt auch für Trace-Anweisungen in Prozeduren, die in Aktionen aufgerufen werden.

Hinweis Sie geben die Trace-Anweisung im Format "HMIRuntime.Trace <Variable> .Value" an. Aus Leistungsgründen sollten Sie die Trace-Anweisungen löschen, nachdem Sie die Skripte getestet haben.

1. Fügen Sie aus der Objektpalette "Smart-Objekte" ("Smart Objects") das "Applikationsfenster" ("Application Window") in Ihr Bild ein.

2. Wählen Sie aus dem Dialog "Fensterinhalt" ("Window Contents") den Eintrag "Global Script" und bestätigen Sie mit "OK".

3. Wählen Sie aus dem Dialog "Vorlage" ("Template") den Eintrag "GSC-Diagnose" ("GSC Diagnostics").

4. Bestätigen Sie mit "OK", um das Diagnosefenster einzufügen.

Abbildung 2-1

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 9

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.2 Fehlerbehandlung

Allgemein

Die Fehlerbehandlung in VBS ist nicht so komfortabel wie in anderen Hochsprachen. So können z. B. keine Sprungmarken oder Goto-Anweisungen verwendet werden.

Möchte man in VBS eine Fehlerbehandlung realisieren, so muss diese selbst programmiert werden. Das Error-Objekt stellt dafür folgende Eigenschaften und Methoden zur Verfügung:

Tabelle 2-1

Eigenschaften

Err.Number Fehlernummer des letzten Skriptfehlers (kein Fehler = 0)

Err.Source Liefert den Namen der Fehlerquelle (Anwendung)

Err.Description Fehlerbeschreibung als Klartext

Tabelle 2-2

Methoden

Err.clear Fehlerobjekt zurücksetzen (Err.Number = 0)

Umsetzung

Um mögliche Skriptfehler zur Laufzeit auszuwerten, implementieren Sie folgende Fehlerbehandlungsroutine in Ihren Code:

1. Am Anfang des Codes verwenden Sie die Anweisung "On Error Resume Next". Damit verhindern Sie das Stoppen der weiteren Skriptabarbeitung bei einem eventuellen Laufzeitfehler.

2. Danach schreiben Sie den eigentlichen Code, der ausgeführt werden soll.

3. Am Ende des Codes erfolgt dann die Fehlerbehandlung:

– Mit "IF Err.Number <> 0 THEN" fragen Sie ab, ob ein Laufzeitfehler auftrat.

– Ist dies der Fall, wird in die IF-Anweisung verzweigt und mit "Err.Description" der Laufzeitfehler im Klartext ausgegeben.

– Mit "Err.clear" wird das Fehlerobjekt wieder zurückgesetzt.

– Mit "END IF" schließen Sie die IF-Anweisung.

Abbildung 2-2

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 10

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.3 Skript-Debugger

WinCC unterstützt Laufzeit-Debugging für globale Skripte und Skripte in Bildern. Um Ihre VB-Skripte in Runtime zu testen, können Sie den Debugger von "Microsoft Visual Studio 2008" verwenden.

Hinweis Der Debugger von "Microsoft Visual Studio 2008" wird mit dem WinCC-Setup mitgeliefert. Wenn bereits eine andere Visual Studio-Version installiert ist, z. B. "Microsoft Visual Studio 2010", verwenden Sie den Debugger dieser Version.

Installation

Um den Debugger in WinCC einzusetzen, müssen Sie das Setup starten und die Instanz "Visual Studio 2008" als Standard festlegen:

1. Bei der WinCC-Installation wird der Ordner "VS 2008 Shell Redist" auf einem Laufwerk des PC angelegt, z. B. als "D:\VS 2008 Shell Redist". Starten Sie das Setup über folgende Datei: "D:\VS 2008 Shell Redist\Integrated Mode\Vside.enu.exe". Sollte sich der Ordner "D:\VS 2008 Shell Redist" nicht auf Ihrem PC befinden, so können Sie diesen nachträglich anlegen. Starten Sie hierzu die Anwendung "vs_ideredist.exe " im Ordner "...\InstData\VSRedist\Setup" der WinCC-Installations-DVD.

2. Folgen Sie den Anweisungen und übernehmen Sie die Standard-Einstellungen.

3. Das folgende Programm wird installiert: "Microsoft Visual Studio 2008 Shell (Integrated Mode) – NEU".

4. Beim ersten Starten des Debuggers wird der Dialog "Visual Studio Just-In-Time Debugger" geöffnet.

5. Wählen Sie den Eintrag "New instance of Visual Studio 2008".

6. Um "Visual Studio 2008" als Standard-Debugger festzulegen, aktivieren Sie die Einstellung "Set the currently selected debugger as the default."

Folgende Funktionen werden unterstützt:

• Sichtung des Quellcodes des zu debuggenden Skripts.

• Kontrolle bei der schrittweisen Abarbeitung der Skripte.

• Ändern der Variablen und Eigenschaftenwerte.

• Sichtung und Kontrolle des Skript-Ablaufs.

Hinweis Beachten Sie, dass im Debugger Ihr Code schreibgeschützt dargestellt wird. Sie können den Code nicht direkt im Debugger ändern, sondern nur die durchgeführten Änderungen testen.

Sie haben mehrere Möglichkeiten, den Debugger zu aktivieren:

• Automatischer Aufruf des Debuggers bei Auftreten eines Fehlers in Runtime.

• Einblenden einer Fehlerbox in Runtime, über die der Debugger aufgerufen werden kann.

• Starten des Debuggers aus dem Startmenü und öffnen eines laufenden Runtime-Skriptes.

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 11

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Automatischer Aufruf, Einblenden einer Fehlerbox

1. Wählen Sie im Kontextmenü des Rechners im WinCC Explorer den Befehl "Eigenschaften" ("Properties"). Der Dialog "Eigenschaften Rechner" ("Computer properties") öffnet sich.

2. Wählen Sie die Registerkarte "Runtime".

3. Aktivieren Sie die gewünschten Debug-Optionen. Sie können das Debug-Verhalten für Aktionen im Global Script und im Graphics Designer unabhängig voneinander einstellen:

Abbildung 2-3

4. Wählen Sie "Debugger starten" ("Start debugger"), wenn bei Auftreten eines Fehlers in der Runtime direkt der Debugger gestartet werden soll.

5. Wählen Sie "Fehlerdialog anzeigen" ("Display error dialog"), wenn nicht direkt der Debugger gestartet werden soll, sondern stattdessen eine Fehlerbox mit Informationen zum Fehler erscheinen soll. Von der Fehlerbox aus können Sie über eine Schaltfläche den Debugger starten.

Abbildung 2-4

4

5

6. Bestätigen Sie Ihre Eingabe mit "OK".

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 12

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Starten des Debuggers aus dem Startmenü

Wenn Sie statt der automatischen Aktivierung in WinCC den Microsoft Script Debugger über Windows aufrufen, während die Runtime läuft, können Sie ein laufendes Skript zur Bearbeitung auswählen.

Stellen Sie dazu im Debugger eine Verbindung mit den jeweiligen Prozessen "pdlrt.exe" für das Graphische Runtime-System und "gscrt.exe" für das Globale Runtime-System her:

• Starten Sie Microsoft Visual Studio 2008: "START > Programme > Microsoft Visual Studio 2008"

• Erstellen Sie ein neues Skript-File: "File > New > File… > Skript-Template "Windows Script Host".

• Starten Sie das Debuggen über "Debug > Attach to Process" und wählen Sie z. B. gscrt.exe oder pdlrt.exe.

Abbildung 2-5

DF FA S SUP HMI

Hinweis • Zum Debuggen eines Bildes müssen folgende Voraussetzungen gegeben sein:

– Die Runtime ist aktiviert.

– Das Bild, das Sie debuggen möchten, ist aktiv.

• Sie können den Debugger jederzeit beenden, ohne dass WinCC-Runtime beendet wird.

• Beim ersten Starten des Debuggers wird der Dialog "Visual Studio Just-In-Time Debugger" geöffnet. Wählen Sie den Eintrag "New instance of Visual Studio 2008". Um "Visual Studio 2008" als Standard-Debugger festzulegen, aktivieren Sie die Einstellung "Set the currently selected debugger as the default."

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 13

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.4 Debugging mit Visual Studio

Skripte schrittweise abarbeiten

Um die Auswirkungen jeder einzelnen Skriptzeile in der Runtime zu testen, oder logische Fehler einzugrenzen, können Sie Ihre Skripte Schritt für Schritt abarbeiten.

1. Aktivieren Sie das zu debuggende Dokument in der Runtime.

2. Starten Sie den Debugger manuell aus dem Startmenü und öffnen die gewünschte Skript-Datei, oder aktivieren Sie den Debugger in WinCC. Bei der Aktivierung in WinCC öffnet sich der Debugger automatisch, wenn ein fehlerhaftes Skript ausgeführt wird.

3. Setzen Sie in der Skript-Datei einen Haltepunkt. Haltepunkte setzen Sie typischerweise vor Codezeilen, in denen Sie Fehler vermuten.

4. Wechseln Sie zu WinCC Runtime und lösen Sie eine Aktion aus, die das Skript zum Ablaufen bringt. Der Debugger hält am ersten Haltepunkt und markiert die aktuelle Zeile.

5. Um schrittweise durch das Skript-Dokument zu gehen, wählen Sie einen der folgenden Menübefehle:

– "Debug > Step Into": Geht zur nächsten Codezeile.

– Wenn das Skript in dieser Zeile eine Prozedur aufruft, springen Sie mit dem Befehl "Step Into" zu dieser Prozedur. Sie können die aufgerufene Prozedur dann schrittweise abarbeiten.

– "Debug > Step Over": Überspringt die gerufene Prozedur. Die Prozedur wird ausgeführt, aber der Debugger führt Sie nicht durch die einzelnen Zeilen der Prozedur. Stattdessen führt er Sie zur nächsten Zeile des aktuellen Skriptes, nachdem die Prozedur ausgeführt wurde.

6. Um das schrittweise Abarbeiten einer Prozedur abzubrechen, wählen Sie den Menübefehl "Debug > Step Out". Der Debugger springt dann zur nächsten Aktion.

7. Gehen Sie schrittweise bis zum Ende des Dokumentes, oder wählen Sie den Menübefehl "Debug > Run", um das Skript in der Runtime erneut zu starten.

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 14

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Haltepunkte setzen

1. Starten Sie den Debugger und wählen Sie das Skript aus. Wenn Sie die automatische Aktivierung des Debuggers in WinCC gewählt haben, wird der Debugger aufgerufen, sobald ein fehlerhaftes Skript ausgeführt wird.

2. Setzen Sie den Cursor in die Aktion, in der Sie einen Haltepunkt setzen möchten.

3. Wählen Sie aus dem Menü "Debug" den Eintrag "Toggle Breakpoint" oder das entsprechende Symbol aus der Symbolleiste. Die nächste ausführbare Zeile wird mit einem roten Punkt markiert.

Abbildung 2-6

4. Wechseln Sie in die WinCC Runtime und führen Sie die Aktion aus, die Sie debuggen möchten. Der Debugger stoppt am ersten Haltepunkt, den er im Skript findet. Die aktuelle Zeile wird gelb hinterlegt dargestellt. Sie können nun das Skript schrittweise durchgehen.

Abbildung 2-7

– Mit <F11> kann der Code Zeile für Zeile durchlaufen werden.

– Im Fenster "Watch" können Variablenwerte beobachtet werden.

– Der gelbe Pfeil (aktuelle Skriptposition) kann mit der Maus zu einer anderen Codezeile verschoben werden (z. B. um die Schleife zu verlassen).

– Mit <F5> läuft das Skript bis zum nächsten Haltepunkt weiter.

Haltepunkte löschen

1. Setzen Sie den Cursor in die Zeile, dessen Haltepunkt Sie löschen möchten.

2. Wählen Sie aus dem Menü "Debug" den Eintrag "Toggle Breakpoint".

3. Die Zeile wird wieder ohne Markierung angezeigt.

4. Um alle Haltepunkte in einem Skript zu löschen, wählen Sie aus dem Menü "Debug" den Eintrag "Clear all Breakpoints".

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 15

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Lesezeichen setzen und löschen

Während des Debuggens können Sie Lesezeichen an Codezeilen setzen, um eine Zeile später leichter wiederzufinden.

• Setzen Sie dazu den Mauszeiger in die Zeile, in der Sie ein Lesezeichen setzen möchten.

• Drücken Sie <Strg+F9> um ein Lesezeichen zu setzen.

• Drücken Sie <Strg+Shift+F9> um ein Lesezeichen zu löschen.

• Mit <F9> gelangen Sie zum nächsten Lesezeichen im Skript.

• Mit <Shift+F9> gelangen Sie zum vorhergehenden Lesezeichen im Skript.

Variablen und Objekte überwachen

Während ein Skript in der Runtime läuft, können Sie das "Watch Window" des Debuggers verwenden, um Werte von Variablen oder Objekten zu ermitteln.

1. Setzen Sie mindestens einen Haltepunkt im aktuellen Skript.

2. Wechseln Sie zu WinCC Runtime und führen Sie eine Aktion aus, die das Skript zur Ausführung bringt.

3. Aktivieren Sie im Menü "Debug" den Eintrag " Windows > Watch > Watch 1". Das "Watch Window" öffnet sich.

4. Um den Wert einer Variablen oder Eigenschaft zu ermitteln, geben Sie ein "?" ein, gefolgt von einem Leerzeichen sowie den Namen der Variablen oder Eigenschaft, die Sie ermitteln möchten, z. B. "? myTag". Drücken Sie <Return>, um den Befehl auszuführen.

Abbildung 2-8

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 16

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2 C-Aktionen

2.2.1 printf-Anweisung

Durch gezielten Einsatz von printf-Anweisungen, z. B. zur Ausgabe von Variablenwerten, lassen sich der Ablauf von Aktionen und der darin aufgerufenen Funktionen verfolgen.

Um printf-Anweisungen anzeigen zu können, benötigen Sie ein spezielles Applikationsfenster in Ihrem Bild. Dieses Applikationsfenster, die GSC-Diagnose, gibt die in den C-Aktionen enthaltenen printf-Anweisungen in der Reihenfolge aus, in der sie aufgerufen werden. Dies gilt auch für printf-Anweisungen in Funktionen, die in Aktionen aufgerufen werden.

Hinweis Sie geben die printf-Anweisung im Format "printf ("\ r \ n Wert1:% d", Summe);" an. Aus Leistungsgründen sollten Sie die printf -Anweisungen löschen, nachdem Sie die Skripte getestet haben. Die printf()-Anweisung kann maximal 360 Zeichen enthalten.

1. Fügen Sie aus der Objektpalette "Smart-Objekte" ("Smart Objects") das "Applikationsfenster" ("Application Window") in Ihr Bild ein.

2. Wählen Sie aus dem Dialog "Fensterinhalt" ("Window Contents") den Eintrag "Global Script" und bestätigen Sie mit "OK".

3. Wählen Sie aus dem Dialog "Vorlage" ("Template") den Eintrag "GSC-Diagnose" ("GSC Diagnostics").

4. Bestätigen Sie mit "OK", um das Diagnosefenster einzufügen.

Abbildung 2-9

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 17

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2.2 Diagnose-Variablen

WinCC bietet eine Reihe von Systemvariablen an, darunter auch drei Diagnosevariablen zur Statusanzeige der Skriptbearbeitung.

Tabelle 2-3

Variablenname Bedeutung

@SCRIPT_COUNT_TAGS Diese Variable enthält die aktuelle Anzahl der über Skript angeforderten Variablen.

@SCRIPT_COUNT_REQUESTS_IN_QUEUES Diese Variable enthält die aktuelle Anzahl an Aufträgen.

@SCRIPT_COUNT_ACTIONS_IN_QUEUES Diese Variable enthält die aktuelle Anzahl an Aktionen, die zur Bearbeitung anstehen.

Hinweis Die Diagnosevariablen werden aus Performancegründen standardmäßig nicht mit aktuellen Werten versorgt.

Es gibt zwei Wege, die Aktualisierung für Diagnosezwecke einzuschalten:

• Im Skript mit der Funktion "void FillDiagnoseInTags(BOOL bFill);"

• Mit ApDiag im Menü "Diagnostics > FillTags... > OnTags ON"

Parameter "bFill": TRUE = Versorgung der Diagnosevariablen einschalten. FALSE = Versorgung der Diagnosevariablen ausschalten.

Weitere Hinweise zur Applikationsdiagnose (ApDiag) finden Sie im Kapitel 2.2.3.

2.2.3 Applikationsdiagnose (ApDiag)

Das Diagnosewerkzeug "ApDiag.exe" unterstützt die Analyse von Fehlern und Leistungsproblemen. "ApDiag.exe" befindet sich im Ordner "...\Siemens\WinCC\uTools" des WinCC-Installationspfads.

Die Applikationsdiagnose bietet folgende Funktionen:

• Ausgabe von Trace-Einträgen

• Speichern aller Diagnosedaten in Dateien

• Skript-Runtime-Monitoring

• Ausgabe von Trace- & Skriptfehlern

• Detaillierte Information über laufende Aktionen

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 18

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2.4 Debugging mit ApDiag

Beschreibung

Sobald WinCC geöffnet ist, können Sie die Anwendung ApDiag wie gewohnt starten (Doppelklick). Es spielt dabei keine Rolle, ob die Runtime aktiviert ist oder nicht. Ist kein Projekt geöffnet, kann keine Verbindung zur Aktionssteuerung hergestellt werden.

Bei einem Projektwechsel und beim Schließen von WinCC wird ApDiag beendet.

Um unabhängig von Bedienung und Navigation in der Anlage immer Sicht auf die Diagnoseinformationen zu bieten, liegt ApDiag im Vordergrund. Stellen Sie daher Position und Fenstergröße so ein, dass ApDiag am wenigsten stört. Diese Einstellungen werden gespeichert und beim nächsten Start wieder hergestellt.

Menüeinträge

Die Menüleiste ist folgendermaßen aufgebaut:

Abbildung 2-10

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 19

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

• File

• Diagnostics

– Über "Start", "Change" und "Stop" kann das Mitschreiben von Diagnoseinformationen (Trace) gesteuert werden. Es sind verschiedene Trace-Stufen definierbar.

– Über den Dialog "OnFile" können Diagnoseinformationen (z. B. "OnErrorExecute", "printf") in ein Textfile konvertiert werden. Alle Einstellungen werden in der Registry gespeichert und nach einem Neustart wiederhergestellt.

Abbildung 2-11

– Der Befehl "Profile" ermöglicht eine frühzeitige Erkennung des Anwachsens oder Überlaufens der Warteschlange. Die Laufzeit von Aktionen kann gemessen, sowie ein Anwachsen der Warteschlange überprüft werden.

– Über den Befehl "FillTags" wird das Abspeichern von wichtigen Diagnoseinformationen in interne Variablen ein- und ausgeschaltet.

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 20

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

• Output

– Mit dem Menübefehl "Output On Screen" wird das Diagnosefenster geöffnet. Die bisher gesammelten Trace-Einträge werden darin ausgegeben. Im Gegensatz zum Output Window wird das Diagnosefenster nur beim Öffnen und durch die Taste "Refresh" aktualisiert. Die Inhalte werden erst gelöscht, wenn "Reset" angewählt wird oder der Diagnose-Puffer vollgeschrieben ist. Abbildung 2-12

Hinweis Der Diagnosepuffer ist als Umlaufpuffer realisiert. Der unterste Eintrag ist daher nicht unbedingt der älteste Eintrag.

– Mit dem Menübefehl "Output To File" können die bisher gesammelten Trace-Einträge einmalig in eine Textdatei abgelegt werden.

– Mit dem Menübefehl "Reset Buffer" können die bisher angesammelten Trace-Einträge gelöscht werden. Diese Funktionalität entspricht der Schaltfläche "Reset" im Diagnosefenster.

• Info

– Der Menübefehl "FirstAction" liefert Informationen über die gerade laufende Aktion und bietet somit die Möglichkeit zu erkennen, welche Aktion in der Warteschlange an erster Stelle steht und z. B. durch eine Schleife die Abarbeitung anderer Aktionen blockiert.

– Der Menübefehl "Count of Connections" listet alle Applikationen auf, die eine Verbindung zur Aktionssteuerung aufgebaut haben.

– Der Menübefehl "Count of Actions in RequestQueue" gibt die aktuelle Anzahl an Aktionen aus, die zur Bearbeitung anstehen. Es wird dabei zwischen Aufträgen aus Global Script, zyklischen Aufträgen aus Bildern und ereignisgesteuerten Aufträgen aus Bildern unterschieden.

– Der Menübefehl "Count of TransAction" listet für jede angemeldete Applikation die aktuelle Anzahl der Transaktionen auf. Eine Transaktion wird z. B. für jede ereignisgesteuerte Aktion, für jedes Bildfenster, das mindestens eine zyklische Aktion enthält, und für globale Aktionen gebildet.

– Der Menübefehl "Count of Actions of each Transaction" listet die Anzahl der in den Transaktionen enthaltenen Aktionen auf. Die Ausgabe setzt sich dabei wie folgt zusammen: - Name der Applikation - Nummer der Transaktion - Anzahl der Aktionen

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 21

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

– Der Menübefehl "Count of Tags in each Transaction" listet die Anzahl der in den Transaktionen angeforderten Variablen auf. Die Ausgabe setzt sich dabei wie folgt zusammen: - Name der Applikation - Nummer der Transaktion - Zykluszeit, mit der die Variablen angemeldet sind - Anzahl der Variablen Am Ende der Auflistung wird die Gesamtsumme der in Transaktionen angeforderten Variablen ausgegeben.

– Der Menübefehl "Count of Actions in Cycle" listet die Anzahl der zyklischen Aktionen nach Trigger sortiert auf.

– Der Menübefehl "Count of Functions" gibt die Anzahl der Standard-Funktionen und Projekt-Funktionen aus und listet die Funktionen namentlich auf.

• Trace Points

– Mit dem Menübefehl "Change Level" können die Level bestimmter Tracepoints verändert werden. Erwarten Sie z. B. nur einen bestimmten Tracepoint, so können Sie sein Level hoch setzen und werden dann nicht mehr von einer Vielzahl anderer Tracepoints gestört. Sie ändern das Level, indem Sie auf das "Actual Level" des gewünschten Tracepoints doppelklicken, in der Dialogbox das gewünschte Level einstellen und die Box mit "OK" verlassen. Durch "Reset" werden die ursprünglichen Level wieder hergestellt.

• Output Window

– Öffnet oder schließt das Ausgabefenster. Das Ausgabefenster entspricht dem Applikationsfenster GSC-Diagnose, bietet jedoch folgende Vorteile: Es ist unabhängig von der Projektierung. Besonders bei fremden Projekten braucht nicht in die Projektierung eingegriffen zu werden. Es bleibt auch bei einem Bildwechsel sichtbar. Es lässt sich bereits vor dem Aktivieren der Runtime öffnen und kann somit Fehlermeldungen beim Hochlauf anzeigen, die dem Applikationsfenster GSC-Diagnose verborgen bleiben.

Abbildung 2-13

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 22

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.3 Logdateien

Bei Zugriffsverletzung in C- oder VB-Skripten wird die Datei "Script.log" generiert. Die Datei "ApDiag.exe" befindet sich im Ordner "...\Siemens\WinCC\Diagnose " des WinCC-Installationspfads.

Sie enthält z. B.:

• Bildnamen

• Objektnamen

• Eigenschaften / Ereignisse

• Skriptnamen

• Zeilennummer des Fehlers im Skript

Die entsprechenden Informationen werden auch im WinCC-Diagnosefenster oder in APDiag angezeigt

Abbildung 2-14

Im Fall von Skriptfehlern kann WinCC auch Alarmmeldungen erzeugen, die im Meldungsnummernkreis von 1007000 bis 1007009 liegen.

Voraussetzung dafür ist die Aktivierung der entsprechenden Systemalarme:

Abbildung 2-15

2 Skript-Diagnose

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 23

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.4 Global Script Inspector

Das Diagnosewerkzeug "CCScriptInspector.exe" untersucht den Quellcode der globalen Skripte und weist auf mögliche Fehler zur Laufzeit hin.

"CCScriptInspector.exe" befindet sich im Ordner "...\Siemens\WinCC\ uTools" des WinCC-Installationspfads.

1. Über "Action > Check All" (1) können alle globalen Skripte untersucht werden.

2. Im Ausgabefenster erhält man Warnungen (2) und eventuell Fehler der globalen Skripte, die im Servicemode zu Problemen führen könnten.

Abbildung 2-16

1

2

3 Anhang

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 24

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

3 Anhang

3.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: https://www.siemens.de/industry/supportrequest

SITRAIN – Training for Industry

Mit unseren weltweit verfügbaren Trainings für unsere Produkte und Lösungen unterstützen wir Sie praxisnah, mit innovativen Lernmethoden und mit einem kundenspezifisch abgestimmten Konzept.

Mehr zu den angebotenen Trainings und Kursen sowie deren Standorte und Termine erfahren Sie unter: https://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 Fehlersuche und Diagnose werden, neben vielen weiteren Themen, in dem Kurs "SIMATIC WinCC, Aufbaukurs" vermittelt.

• SIMATIC WinCC, Aufbaukurs (de)

• SIMATIC WinCC, advanced course (en)

3 Anhang

WinCC SCADA - Diagnose Beitrags-ID: 109757865, V1.0, 09/2018 25

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

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

3.2 Links und Literatur

Tabelle 3-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/109757865

\3\ Anwendungsbeispiel "Diagnose von SIMATIC IPCs" https://support.industry.siemens.com/cs/ww/de/view/109478242

3.3 Änderungsdokumentation

Tabelle 3-2

Version Datum Änderung

V1.0 09/2018 Erste Ausgabe