Professional Documents
Culture Documents
___________________
Vorwort
Benutzerhandbuch
SIMATIC
Voraussetzungen und
Einrichten der
Kommunikation
S7
SIMATIC Automation Tool V2.1
Benutzerhandbuch
Gertehandbuch
2
___________
3
___________________
Toolfunktionen
Speichern der
4
___________________
Gertetabelleninformationen
Mens, Symbolleiste und
___________________
5
Tastenkombinationen
SIMATIC Automation Tool
___________________
6
API fr .NET Framework
Untersttzte Gerte im
___________________
7
SIMATIC Automation Tool
Netzwerkbeispiel und API___________________
A
Schnittstellen
V2.1.1 07/2016
A5E36151946 AB
Rechtliche Hinweise
Warnhinweiskonzept
Dieses Handbuch enthlt Hinweise, die Sie zu Ihrer persnlichen Sicherheit sowie zur Vermeidung von
Sachschden beachten mssen. Die Hinweise zu Ihrer persnlichen Sicherheit sind durch ein Warndreieck
hervorgehoben, Hinweise zu alleinigen Sachschden stehen ohne Warndreieck. Je nach Gefhrdungsstufe
werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.
GEFAHR
bedeutet, dass Tod oder schwere Krperverletzung eintreten wird, wenn die entsprechenden
Vorsichtsmanahmen nicht getroffen werden.
WARNUNG
bedeutet, dass Tod oder schwere Krperverletzung eintreten kann, wenn die entsprechenden
Vorsichtsmanahmen nicht getroffen werden.
VORSICHT
bedeutet, dass eine leichte Krperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmanahmen
nicht getroffen werden.
ACHTUNG
bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmanahmen nicht getroffen
werden.
Beim Auftreten mehrerer Gefhrdungsstufen wird immer der Warnhinweis zur jeweils hchsten Stufe verwendet.
Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschden gewarnt wird, dann kann im selben
Warnhinweis zustzlich eine Warnung vor Sachschden angefgt sein.
Qualifiziertes Personal
Das zu dieser Dokumentation zugehrige Produkt/System darf nur von fr die jeweilige Aufgabenstellung
qualifiziertem Personal gehandhabt werden unter Beachtung der fr die jeweilige Aufgabenstellung zugehrigen
Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist
auf Grund seiner Ausbildung und Erfahrung befhigt, im Umgang mit diesen Produkten/Systemen Risiken zu
erkennen und mgliche Gefhrdungen zu vermeiden.
Marken
Alle mit dem Schutzrechtsvermerk gekennzeichneten Bezeichnungen sind eingetragene Marken der
Siemens AG. Die brigen Bezeichnungen in dieser Schrift knnen Marken sein, deren Benutzung durch Dritte fr
deren Zwecke die Rechte der Inhaber verletzen kann.
Haftungsausschluss
Wir haben den Inhalt der Druckschrift auf bereinstimmung mit der beschriebenen Hard- und Software geprft.
Dennoch knnen Abweichungen nicht ausgeschlossen werden, so dass wir fr die vollstndige bereinstimmung
keine Gewhr bernehmen. Die Angaben in dieser Druckschrift werden regelmig berprft, notwendige
Korrekturen sind in den nachfolgenden Auflagen enthalten.
Siemens AG
Division Digital Factory
Postfach 48 48
90026 NRNBERG
DEUTSCHLAND
A5E36151946 AB
07/2016 nderungen vorbehalten
Vorwort
Service & Support
Zustzlich zu unserem Dokumentations-Angebot bietet Siemens Ihnen im Internet
technisches Know-how auf der Kundensupport-Website
(https://www.siemens.com/automation/) an.
Falls Sie technische Fragen haben, eine Schulung bentigen oder S7-Produkte bestellen
wollen, wenden Sie sich bitte an Ihre Siemens-Vertretung. Das technisch geschulte
Vertriebspersonal verfgt ber sehr spezifische Kenntnisse zu Einsatzmglichkeiten und
Prozessen sowie zu den verschiedenen Siemens-Produkten und kann Ihnen deshalb am
schnellsten und besten weiterhelfen, wenn Probleme auftreten.
Security-Hinweise
Siemens bietet Produkte und Lsungen mit Industrial Security-Funktionen an, die den
sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken untersttzen.
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 Lsungen von Siemens formen nur einen Bestandteil eines solchen Konzepts.
Der Kunde ist dafr 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 Schutzmanahmen (z.B. Nutzung von Firewalls und
Netzwerksegmentierung) ergriffen wurden.
Zustzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmanahmen
beachtet werden. Weiterfhrende Informationen ber Industrial Security finden Sie unter
(http://www.industry.siemens.com/topics/global/de/industrial-security/Seiten/default.aspx).
Die Produkte und Lsungen von Siemens werden stndig weiterentwickelt, um sie noch
sicherer zu machen. Siemens empfiehlt ausdrcklich, Aktualisierungen durchzufhren,
sobald die entsprechenden Updates zur Verfgung stehen und immer nur die aktuellen
Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr untersttzter
Versionen kann das Risiko von Cyber-Bedrohungen erhhen.
Um stets ber Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial
Security RSS Feed unter (https://support.industry.siemens.com/cs/ww/de/).
Vorwort
Inhaltsverzeichnis
Vorwort ................................................................................................................................................... 3
1
1.2
Netzwerkzugriff .......................................................................................................................13
1.3
Netzwerkoptionen ...................................................................................................................15
1.4
PG/PC-Betriebssystemvoraussetzungen ...............................................................................19
2.2
2.3
2.4
2.5
Toolfunktionen ...................................................................................................................................... 27
3.1
CPU-Passwrter .....................................................................................................................27
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
4.2
Inhaltsverzeichnis
Hauptmen............................................................................................................................. 65
Men "File" ............................................................................................................................. 65
Men "Edit" ............................................................................................................................ 66
Men "Network" ..................................................................................................................... 67
Men "Tools" .......................................................................................................................... 68
Men "Help" ........................................................................................................................... 70
5.2
5.3
Tastenkombinationen ............................................................................................................. 72
6.2
6.3
6.4
6.4.1
6.4.2
6.4.3
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.6
6.6.1
6.6.2
6.6.2.1
6.6.2.2
6.6.2.3
6.6.3
6.6.3.1
6.6.3.2
6.6.4
6.6.4.1
6.6.4.2
6.6.4.3
6.7
6.7.1
6.7.2
6.7.2.1
6.7.2.2
6.7.2.3
6.7.2.4
6.7.2.5
6.7.2.6
6.7.3
6.7.3.1
Inhaltsverzeichnis
6.7.3.2
6.8
6.8.1
6.8.2
6.9
6.9.1
6.9.2
6.9.3
6.9.3.1
6.9.3.2
6.9.3.3
6.9.3.4
6.9.3.5
6.9.3.6
6.9.3.7
6.9.3.8
6.9.3.9
6.9.3.10
6.9.3.11
6.9.3.12
6.9.4
6.9.4.1
6.9.4.2
6.10
6.10.1
6.10.2
6.10.3
6.10.4
6.10.5
6.10.6
6.10.7
6.10.8
Enumerationen ......................................................................................................................124
DataChangedType ................................................................................................................124
DeviceFamily ........................................................................................................................124
ErrorCode .............................................................................................................................125
OperatingState ......................................................................................................................126
OperatingStateREQ ..............................................................................................................126
ProgressAction ......................................................................................................................127
RemoteInterfaceType ...........................................................................................................127
FeatureSupport .....................................................................................................................128
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
Inhaltsverzeichnis
Index ...................................................................................................................................................141
10
11
12
1.2
Netzwerkzugriff
13
Verwendete
Gerteadresse
CPU-Passwort fr
geschtzte CPU
erforderlich
MAC
Nein
LED-Blinken an Gerten
MAC
Nein
MAC
Nein
MAC
Nein
MAC
IP
Lokales Netzwerk: Sie knnen ber EthernetSwitches auf Gerte zugreifen, doch knnen
Sie nicht ber einen IP-Adressen-Router auf
Gerte in einem anderen Netzwerk zugreifen.
Ja
IP
Ja
IP
Ja
Remote-Netzwerk: Sie knnen ber einen IPAdressen-Router auf Gerte in einem anderen
Netzwerk zugreifen.
IP
Ja
IP
Ja
IP
Ja
IP
Ja
IP
Ja
IP
Ja
IP
Ja
Hinweis
Zuweisen der IP-Subnetzmaske in einem lokalen Netzwerk
Der PG/PC, auf dem das SIMATIC Automation Tool installiert ist, und an das lokale
Netzwerk angeschlossene Gerte mssen dieselbe Subnetzmaske verwenden.
14
1.3
Netzwerkoptionen
15
16
1.4
17
18
PG/PC-Betriebssystemvoraussetzungen
PG/PC-Betriebssysteme
Das SIMATIC Automation Tool V2.1 untersttzt die folgenden Betriebssysteme.
Windows 7 Home Premium SP1 (32- und 64-Bit)
Windows 7 Professional SP1 (32- und 64-Bit)
Windows 7 Enterprise SP1 (32- und 64-Bit)
Windows 7 Ultimate SP1 (32- und 64-Bit)
Windows 8.1 (nur 64-Bit)
Windows 8.1 Professional (nur 64-Bit)
Windows 8.1 Enterprise (nur 64-Bit)
19
2.2
20
2.3
2.4
21
2. Klicken Sie im Register Properties auf das Register General, um die Optionen Ethernet
addresses anzuzeigen. Klicken Sie auf die Option SET IP address on the device.
Abhngig von der von Ihnen verwendeten TIA Portal-Version heit diese Option
mglicherweise Set IP address using a different method. Bei Gerten mit mehreren Ports
(z. B. S7-1500 CPU) knnen Sie alle Ports auf hnliche Weise konfigurieren, um IPAdressnderungen zu aktivieren (bei bestehender Verbindung zum SIMATIC Automation
Tool) oder Sie knnen nur den zu ndernden Port konfigurieren.
22
4. Speichern Sie das Projekt und laden Sie die neuen Konfigurationsnderungen in die
CPU.
Hinweis
Standardeinstellungen der PROFINET-IP-Parameter
Beim Erstellen eines neuen TIA Portal-Projekts werden die PROFINETStandardparameteroptionen auf "Set IP address in the project" und "Generate PROFINET
device name automatically" gesetzt. Mit den Standardoptionen knnen Sie mit dem
SIMATIC Automation Tool keine IP-Adressen oder PROFINET-Gertenamen einstellen.
Jedoch knnen Sie andere CPU-Funktionen verwenden wie RUN/STOP-Steuerung,
Programm/Firmware-Aktualisierung, Zeiteinstellung und Servicedaten-/Diagnoseanalyse.
Hinweis
Einstellen von IP-Adressen von S7-1200 CPUs mit Firmware V1
S7-1200 V1-CPUs untersttzen die Option "Set IP address on the device" nicht. Wurden die
IP-Adressen von einem TIA Portal-Programm zuvor eingestellt, dann mssen Sie die
Werkseinstellungen wiederherstellen, um die alten IP-Adressen zu lschen, bevor das
SIMATIC Automation Tool neue IP-Adressen zuweisen kann.
23
2.5
3. Sehen Sie sich die aktiven Netzwerke an und klicken Sie auf das mit den S7-1200 CPUs
verbundene Netzwerk.
24
25
26
Toolfunktionen
3.1
CPU-Passwrter
Wenn eine CPU passwortgeschtzt ist, muss das Passwort zur Ausfhrung zahlreicher
Operationen in das SIMATIC Automation Tool eingegeben werden. Das Passwort muss in
der Spalte Password eingegeben werden.
Das SIMATIC Automation Tool hindert den Anwender daran, sich zum Aufbau einer
fehlersicheren Verbindung mit einem Passwort fr fehlersicheren Betrieb zu legitimieren.
Deshalb wird immer bei Eingabe eines Passworts (in der Spalte Passwort) fr eine
fehlersichere CPU ein Nachrichtenfeld angezeigt, in dem der Anwender davor gewarnt wird,
ein Passwort fr fehlersicheren Betrieb einzugeben.
Wenn Sie diese Warnung ignorieren und das Passwort fr fehlersicheren Betrieb trotzdem
eingeben (oder das fehlersichere Passwort ohne Ihr Wissen eingegeben haben), wird die
Legitimation zurckgewiesen und Ihre Eingabe aus dem Passwortfeld gelscht.
27
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
3.2
Grundlegende Funktionsweise
Die Gertetabelle eines neuen Projekts im SIMATIC Automation Tool ist leer. Sie knnen
eine Netzwerkkarte zuweisen, ein Netzwerk scannen und die Gertetabelle automatisch
ausfllen.
Die Gertetabelle wird mit Informationen gefllt, die whrend eines Netzwerksuchvorgangs
zusammengetragen werden. Sie knnen einen vorhandenen Wert eines Parameters sehen
und zu jedem Gert neue Werte in die entsprechende Spalte eintragen.
Die Zellen der Gertetabelle haben entweder einen hellgrauen oder dunkelgrauen
Hintergrund:
In die hellgrauen Zellen knnen Sie neue Werte eintragen
In die dunkelgrauen Zellen knnen Sie keine neue Werte eintragen
In eine deaktivierte dunkelgraue Zelle knnen keine neuen Werte eingetragen werden, d.
h. dieser Vorgang wird fr dieses Gert nicht untersttzt.
Nachdem neue IP-Adressen in die Gertetabelle eingetragen wurden, knnen Sie den
Befehl "Download" zum bertragen der Adresszuweisungen in ausgewhlte, direkt
verbundene Gerte verwenden.
Sobald die IP-Adressenzuweisungen fr alle Ihre Gerte gltig sind, knnen Sie die
Funktionen des SIMATIC Automation Tools, die IP-Adressen erfordern, verwenden.
Auerdem zeigt ein Netzwerkscan Gerte an, die sich hinter CPUs und IP-AdressenRoutern befinden.
28
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
29
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
Erweitern der Gertezeilen und Anzeigen lokaler Module und dezentraler Peripheriegerte
Klicken Sie auf das Symbol zum Erweitern einer Gertezeile. Verwenden Sie das
Rechtsklick-Men oder das Men "Edit" zum Erweitern/Reduzieren aller Ebenen.
Bei indirekt angeschlossenen Gerten ist nur der Vorgang der Firmware-Aktualisierung
mglich.
Gerte auf den unteren Ebenen reprsentieren lokale und dezentrale Peripherien, die ber
eine direkt angeschlossene CPU indirekt an das SIMATIC Automation Tool angeschlossen
sind. Eine gltige IP-Konfiguration ist Grundvoraussetzung in der CPU, bevor die lokalen
Gerte einer CPU in der Gertetabelle sichtbar werden.
Gerte der dritten und vierten Ebene reprsentieren dezentrale Peripheriegerte
(PROFINET- und PROFIBUS-Gerte). Eine IP-Konfiguration ist bei einer dezentralen
Peripheriesteuerung der Ebene zwei erforderlich, bevor die dezentrale Peripherie (z. B.
Kopfmodul und Peripheriemodule) in der Gertestruktur sichtbar wird.
Arbeiten mit der Gertetabelle
Verwenden Sie die Microsoft Excel-kompatible Zellenauswahl und kopieren bzw. fgen
Sie die Zwischenablage innerhalb/auerhalb der Gertetabelle aus einer anderen
Anwendung ein.
Klicken Sie auf einen Spaltenkopf, um die Zeilen nach den Spaltendaten zu sortieren
bzw. um die Sortierung umzukehren.
Klicken Sie mit der rechten Maustaste auf einen Spaltenkopf, um Spalten anzuzeigen
bzw. auszublenden.
Klicken Sie auf das Kontrollkstchen im Spaltenkopf oder verwenden Sie das Men
"Edit", um alle Zeilen mit den Optionen "Check All" bzw. "Uncheck all" zu markieren bzw.
die Markierung aufzuheben.
Sie knnen Zeilenfilter fr die Spalten "Device", "Device type" und "Article number"
erstellen.
30
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
Rechtsklick-Men fr alle Tabellenzellen
31
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
Filtern der angezeigten Zeilen
Die Filteroption wird fr die Spalten "Device", "Device Type" und "Article number" untersttzt.
Beim Bewegen des Mauszeigers ber eine Spalte, die die Filteroption untersttzt, wird im
angezeigt. Klicken Sie auf diese Schaltflche, um
Spaltenkopf die Schaltflche "Filter"
das Fenster "Filter" zu ffnen.
Im folgenden Beispiel wurden die Artikelnummern 6ES7 131-6BF00-0BA0 und 6ES7 1326BD20-0BA0 mit der Filteroption ausgewhlt. Wenn Sie auf die Schaltflche OK klicken,
werden in der Gertetabelle nur die Zeilen mit diesen Artikelnummern angezeigt.
32
Toolfunktionen
3.2 Scannen eines Netzwerks und Verwenden der Gertetabelle
Event Log
Der "Event Log"-Bereich befindet sich unterhalb der Gertetabelle. Wenn Sie Gerte
auswhlen und einen Vorgang starten, dann werden Informationen ber erfolgreiche und
erfolglose Ergebnisse im Event Log angezeigt. ber das Rechtsklick-Men der Spaltenkpfe
im Event Log knnen Spalten ein- und ausgeblendet werden.
Klicken Sie im Event Log mit der rechten Maustaste, um das nachfolgend dargestellte Men
zu ffnen.
Kopieren von Log-Elementen in die Zwischenablage
Speichern von Log-Elementen in einer Datei
Lschen aller Log-Elemente
33
Toolfunktionen
3.3 Laden neuer IP-, Subnetz- und Gateway-Adressen
3.3
34
Toolfunktionen
3.4 Laden neuer PROFINET-Gertenamen
3.4
Sie drfen den Namen nicht mit der Zeichenkette "port-nnn" oder der Zeichenkette "portnnnnnnnn" beginnen, wobei n eine Ziffer zwischen 0 und 9 ist. Beispielsweise sind "port123" und "port-123-45678" unzulssige Namen.
Ein Name darf nicht mit einem Bindestrich "-" oder mit einem Punkt "." beginnen oder
enden.
Fhren Sie die folgenden Schritte aus, um die PROFINET-Gertenamen zu aktualisieren.
1. Klicken Sie auf das Register "PROFINET name".
2. Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf das
linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All" ber
das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder das
Men "Edit" auswhlen.
3. Geben Sie in der Spalte "New PROFINET Name" einen neuen PROFINET-Namen
ein.
4. Whlen Sie im Men "Network" das Element "Download" oder klicken Sie in der
Symbolleiste auf die Schaltflche "Download".
5. Durch den Ladevorgang werden neue PROFINET-Namen in den ausgewhlten
Gerten eingestellt.
6. Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs
angezeigt.
35
Toolfunktionen
3.5 Versetzen von CPUs in die Betriebsart RUN oder STOP
3.5
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element RUN oder klicken Sie in der Symbolleiste auf die Schaltflche RUN. In der CPU muss ein gltiges Programm vorhanden sein, bevor ein Wechsel in die Betriebsart RUN mglich ist.
3.
4.
Die Spalten "Mode" und "Operating state" in der Gertetabelle geben den aktuellen CPU-Status an. Gelb steht fr die Betriebsart STOP. Grn steht fr die Betriebsart RUN und bei ROT liegt ein CPU-Fehler an.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
36
Toolfunktionen
3.5 Versetzen von CPUs in die Betriebsart RUN oder STOP
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect
All" ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste
oder das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element STOP oder klicken Sie in der
Symbolleiste auf die Schaltflche STOP.
3.
4.
Die Spalten "Mode" und "Operating state" in der Gertetabelle geben den aktuellen CPU-Status an. Gelb steht fr die Betriebsart STOP. Grn steht fr die
Betriebsart RUN und bei ROT liegt ein CPU-Fehler an.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
37
Toolfunktionen
3.6 LED-Blinken an Gerten.
3.6
LED-Blinken an Gerten.
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element "Flash" oder klicken Sie in der
Symbolleiste auf die Schaltflche "Flash".
3.
4.
Der Blinkvorgang wird solange fortgesetzt, bis Sie auf die Schaltflche "Cancel"
klicken.
38
Toolfunktionen
3.7 Laden neuer Programme in CPUs
3.7
Vorbereiten eines Programms auf die Nutzung mit dem SIMATIC Automation Tool
Ein TIA Portal-Programm muss von der TIA Portal-Software auf eine SIMATICSpeicherkarte, ein USB-Flash-Laufwerk oder eine andere Partition Ihrer PG/PC-Festplatte
bertragen werden, damit das Programm mit dem SIMATIC Automation Tool verwendet
werden kann. Informationen zum bertragen eines Programms auf ein Speichergert finden
Sie in der Dokumentation zum TIA Portal.
Hinweis
Die Operation Program Update ist bei fehlersicheren CPUs aus Sicherheitsgrnden nicht
zulssig.
Nachdem das Programm vom TIA Portal auf ein Speichergert bertragen wurde, knnen
Sie den Windows Explorer zum bertragen des Programms in den vom SIMATIC
Automation Tool verwendeten Ordner aufrufen.
Programmweises Kopieren des "SIMATIC.S7S"-Ordners
Befolgen Sie diese Schritte, um dem SIMATIC Automation Tool ein Programm zugnglich zu
machen
1. Fhren Sie das SIMATIC Automation Tool aus, rufen Sie die Einstellungen unter
Tools>Options auf und beachten Sie die Pfadzuweisung fr
Programmaktualisierungsdateien. Der Standardpfad lautet
C:\ProgramData\Siemens\SIMATIC Automation Tool\Programs. Falls Sie einen anderen
Ordner bevorzugen, knnen Sie den Pfad entsprechend ndern.
2. Erstellen Sie Ordner unter dem Programmpfad, der im Dialog "Options" zugewiesen ist.
Erstellen Sie fr jedes Programm einen Ordner und geben Sie einen Ordnernamen ein,
der das Programm identifiziert. Die von Ihnen erstellten Ordnernamen werden in der
Klappliste des SIMATIC Automation Tools angezeigt.
3. Verwenden Sie den Windows Explorer, um den Ordner "SIMATIC.S7S" (einschlielich
aller Unterordner und Dateien) in den im SIMATIC Automation Tool zugewiesenen
Ordner zu kopieren. Mit dem SIMATIC Automation Tool knnen nur Programme in eine
CPU geladen werden. Optionale Datenprotokoll- und Rezeptordner, die mglicherweise
existieren, knnen nicht geladen werden. Ein TIA Portal-Programm (ein "SIMATIC.S7S"Ordner) kann in einem ZIP-Dateiarchiv verpackt und an einen entfernten Speicherort
gesendet werden.
39
Toolfunktionen
3.7 Laden neuer Programme in CPUs
Hinweis
TIA Portal-Programmdaten sind verschlsselt
Einzelheiten wie Projektname oder Ziel-CPU eines TIA Portal-Programms lassen sich aus
den in einem SIMATIC.S7S-Ordner abgelegten verschlsselten Daten nicht auslesen. Sie
knnen den SIMATIC.S7S-Ordner eines Programms nicht ber den SIMATIC.S7S-Ordner
eines anderen Programms identifizieren.
Sie mssen im Programmaktualisierungsordner des SIMATIC Automation Tools Unterordner
erstellen und benennen, die die Programmfunktion oder Ziel-CPU identifizieren. Kopieren
Sie den SIMATIC.S7S-Ordner eines Programms in den von Ihnen benannten Unterordner.
Die von Ihnen erstellten Ordnernamen werden in der Klappliste in der Spalte "Program" des
SIMATIC Automation Tools angezeigt und enthalten den Pfad zum korrekten SIMATIC.S7SOrdner.
2.
Klicken Sie an den CPUs, die Sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect
All" ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste
oder das Men "Edit" auswhlen.
3.
Verwenden Sie fr jede ausgewhlte CPU die Klappliste in der Spalte "Program", um einen Programmordnernamen auszuwhlen. Die Klappliste zeigt die
Ordner an, die Sie im Programmaktualisierungspfad erstellt haben.
4.
Whlen Sie im Men "Network" den Befehl "Download" oder klicken Sie in der
Symbolleiste auf die Schaltflche "Download", um den Vorgang zu starten.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
40
Toolfunktionen
3.7 Laden neuer Programme in CPUs
41
Toolfunktionen
3.7 Laden neuer Programme in CPUs
Die folgende Abbildung zeigt das Register "Program Update" des SIMATIC Automation
Tools mit den beispielhaften Ordnernamen in der Klappliste der Spalte "Program". In der
Spalte "Select" sind zwei S7-1500 CPUs markiert. Sie mssen die Klappliste in der Spalte
"Program Update" verwenden, um festzulegen, welches Programm verwendet werden soll.
Wird mehr als eine CPU-Zeile ausgewhlt, dann mssen Sie den Vorgang wiederholen und
fr jede ausgewhlte CPU das korrekte Programm zuweisen.
Whlen Sie im Men "Network" den Befehl "Download" oder klicken Sie in der Symbolleiste
auf die Schaltflche "Download", um mit der Programmaktualisierung zu beginnen.
42
Toolfunktionen
3.8 Installieren neuer Firmware in CPUs und Modulen
3.8
Firmware-Aktualisierungen
TIA Portal
Firmware-Aktualisierungen knnen mithilfe einer SIMATIC-Speicherkarte in CPUs und
Modulen installiert werden. Alternative Mglichkeiten der Firmware-Aktualisierung sind u.a.
die Modul-Informationsseite des integrierten Webservers einer CPU oder die Online- und
Diagnosefunktionen des TIA Portals.
SIMATIC Automation Tool
Das SIMATIC Automation Tool kann die Firmware von CPU- und Modulgruppen
aktualisieren. Sie knnen die einzelne UPD-Datei im neuen Format verwenden, oder die
Datei im lteren (klassischen) Format, das mindestens drei separate UPD-Dateien nutzt.
Standardmig wird beim Vorgang der Firmware-Aktualisierung die Firmware nicht durch die
gleiche Firmwareversion ersetzt und es wird nur ein einzelner Verarbeitungs-Thread
zugelassen, dessen Ausfhrung abgeschlossen sein muss, bevor der nchste
Gertevorgang ausgefhrt wird. Informationen zum ndern dieses Verhaltens finden Sie im
Abschnitt Men "Tool" (Seite 68). Bitte bercksichtigen Sie das in diesem Abschnitt
beschriebene Risiko bei der Durchfhrung von Multi-Thread-Firmware-Aktualisierungen.
Hinweis
Die Kommunikationsmodule S7-1200 CM mssen vor der Firmware-Aktualisierung
konfiguriert werden.
Sie knnen das SIMATIC Automation Tool zum Aktualisieren der Firmware von nicht
konfigurierten und konfigurierten SM- und CM-Modulen, mit Ausnahme linksseitiger S7-1200
CM-Gerte, verwenden. Bei dem S7-1200 CM mssen Sie eine CM-Konfiguration im TIA
Portal durchfhren und die Konfiguration laden, bevor Sie die CM-Firmware aktualisieren
knnen.
Hinweis
Herabstufen der CPU-Firmware
Sie knnen das SIMATIC Automation Tool zum Herabstufen der CPU-Firmware (Laden
einer lteren Firmware-Version) verwenden, doch die IP-Adresse und das Programm
werden dabei mglicherweise gelscht. In diesem Fall wird die IP-Adresse auf 0.0.0.0
rckgesetzt und ein erneuter Netzwerkscan ist erforderlich, um mit diesem Gert zu
kommunizieren. Sie mssen die IP-Adresse festlegen, um die vorherige Netzwerkadresse
wiederherzustellen.
43
Toolfunktionen
3.8 Installieren neuer Firmware in CPUs und Modulen
Vorbereiten von Firmware-Aktualisierungsdateien fr den Einsatz mit dem SIMATIC Automation Tool
Sie knnen Software zur Firmware-Aktualisierung ber die Kunden-Support
(https://www.siemens.com/automation/)-Website beziehen.
Sie knnen die Kunden-Support-Website fr ein Gert auch direkt aufrufen, indem Sie
den Mauszeiger auf eine Gertezeile bewegen, mit der rechten Maustaste klicken und
dann das Menelement "Check for updates" auswhlen. Die Auswahl einer SiemensSupport-Website erfolgt ber die in einer Gertetabellenzeile angezeigte Artikelnummer.
Der "Check for updates"-Befehl auf Artikelnummer 6ES7 215-1HG31-0XB0 leitet Sie z. B.
auf die zugehrige S7-1215C-Support-Website
(https://support.industry.siemens.com/cs/products/6es7215-1hg31-0xb0/cpu-1215cdcdcrly-14di10do2ai2ao?pid=79072&dtp=Download&mlfb=6ES7215-1HG310XB0&lc=de-WW) weiter.
Beispiel fr eine CPU: Die Firmware-Aktualisierungsdatei mit der Bezeichnung
6ES7211_1AE40_0XB0_V04.00.02.exe ist nur fr die S7-1200
Modelle CPU 1211C DC/DC/DC geeignet. Falls Sie die UPD-Datei in diesem Paket fr ein
anderes S7-1200 CPU-Modell verwenden, schlgt der Aktualisierungsprozess fehl.
Wenn Sie die Aktualisierungsdatei ausfhren und die Dateien extrahieren, sehen Sie die
folgenden Dateien und Ordner.
Datei: S7-JOB.SYS
Ordner: FWUPDATE.SYS enthlt die UPD-Datei.
Datei: 6ES7 211-1AE40-0XB0 V04.00.02.upd (UPD-Datei wird vom SIMATIC
Automation Tool verwendet)
Beispiel fr ein Peripheriemodul: Die Firmware-Aktualisierungsdatei mit der Bezeichnung
232-4HD32-0XB0_V203.exe ist nur fr die S7-1200 Module
SM1232 ANALOGAUSGANG 4AO geeignet. Die selbstentpackende EXE-Datei enthlt die
Datei 6ES7 232-4HD32-0XB0V02.00.03_00.00.00.00.upd, die vom SIMATIC Automation
Tool verwendet wird.
Hinweis
Firmware-Aktualisierungsdateien im neuen Format
Der Name der selbstentpackenden exe-Datei mit dem Aktualisierungspaket muss der
Artikelnummer des Gerts entsprechen, das Sie aktualisieren mchten.
Der Name der selbstentpackenden UPD-Datei muss der Artikelnummer des Gerts und
der Firmware-Version entsprechen, die Sie laden mchten.
44
Toolfunktionen
3.8 Installieren neuer Firmware in CPUs und Modulen
Hinweis
Firmware-Aktualisierungsdateien im alten Format
Der Name der selbstentpackenden exe-Datei mit dem Aktualisierungspaket muss der
Artikelnummer des Gerts entsprechen, das Sie aktualisieren mchten.
Enthlt je nach Firmware-Gre mindestens drei Dateien
Legen Sie einen Unterordner mit einem beliebigen Namen in dem Ordner
C:\ProgramData\Siemens\SIMATIC Automation Tool\Firmware an. Zwecks einfacher
Identifikation knnen Sie dem Ordner die Artikelnummer und Versionsnummer zuweisen
oder Sie vergeben einen beliebigen Namen. Das SIMATIC Automation Tool analysiert
beim Start alle Firmware-Dateien zur Besttigung der genauen FirmwareVersionsnummern.
Kopieren von UPD-Dateien in den Firmware-Aktualisierungsordner
Die einzelnen Firmware-Aktualisierungsdateien (UPD-Dateien) im neuen Format enthalten
die Modell- und Versionsnummern des Zielmoduls im Dateinamen. Sie knnen mehrere
UPD-Dateien in einen einzigen Firmware-Ordner kopieren und anschlieend das Zielmodul
anhand des UPD-Dateinamens identifizieren.
1. Fhren Sie das SIMATIC Automation Tool aus, rufen Sie die Einstellungen unter
Tools>Options auf und beachten Sie die Ordnerzuweisung fr FirmwareAktualisierungsdateien. Der Standardpfad lautet C:\ProgramData\Siemens\SIMATIC
Automation Tool\Firmware. Sie knnen die Standardeinstellung bei Bedarf ndern.
2. Kopieren Sie alle bentigten UPD-Dateien in den mit dem Befehl Tools>Option
festgelegten Firmware-Ordner.
WARNUNG
Vergewissern Sie sich vor dem Installieren von Firmware-Aktualisierungen, dass die CPU
keinen Prozess ausfhrt.
Durch das Installieren einer Firmware-Aktualisierung geht die CPU in die Betriebsart STOP,
was sich auf den Betrieb eines Online-Prozesses oder einer Maschine auswirken kann.
Unvorhersehbarer Betrieb eines Prozesses oder einer Maschine kann zu tdlichen oder
schweren Verletzungen und/oder Sachschaden fhren.
45
Toolfunktionen
3.8 Installieren neuer Firmware in CPUs und Modulen
2.
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
3.
4.
Whlen Sie im Men "Network" den Befehl "Download" oder klicken Sie in der
Symbolleiste auf die Schaltflche "Download", um den Vorgang zu starten.
5.
Warten Sie, bis die Firmware-Aktualisierung abgeschlossen ist. Warten Sie, bis
die Leuchten an der CPU aufhren zu blinken, bevor Sie einen weiteren Vorgang
mit dieser CPU ausfhren.
6.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
46
Toolfunktionen
3.8 Installieren neuer Firmware in CPUs und Modulen
Hinweis
Die Firmware bestimmter S7-1200 Module kann mit dem SIMATIC Automation Tool nicht
aktualisiert werden
Wenn die Fehlermeldung "The device requires both the CPU and module to support
firmware update. This device can only be updated via SD card angezeigt wird, dann lsst
sich die Modul-Firmware nicht mit dem SIMATIC Automation Tool aktualisieren.
Module mit den Artikelnummern xxx30 oder xxx31 knnen nicht mit dem Automation Tool
aktualisiert werden, verwenden Sie dafr eine SIMATIC Memory Card. Dies gilt
ausschlielich fr links- bzw. rechtsseitig von der CPU installierte S7-1200 Module.
Beispielsweise enthlt der Mittelteil der Artikelnummer 6ES7232-4HD30-0XB0 das Segment
4HD30, und Sie knnen die Firmware dieses Moduls nicht mit dem SIMATIC Automation
Tool aktualisieren.
47
Toolfunktionen
3.9 Sichern und Wiederherstellen von CPU-Daten
3.9
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element "Backup Device" oder klicken Sie in
der Symbolleiste auf die Schaltflche "Backup device to file".
3.
4.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
48
Toolfunktionen
3.9 Sichern und Wiederherstellen von CPU-Daten
Die folgende Abbildung zeigt das Namensformat der Sicherungsdatei: Jahr-Monat-TagStunde-Sekunde-Millisekunde_PLC-Name.s7pbkp.
49
Toolfunktionen
3.9 Sichern und Wiederherstellen von CPU-Daten
2.
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
3.
Verwenden Sie fr jede ausgewhlte Gertezeile die Klappliste der Spalte "Restore Name" und whlen Sie eine Sicherungsdatei aus. Die Klappliste zeigt die Namen der s7pbkp-Dateien, die unter dem ber das Men Tools>Options
festgelegten Sicherungsdateipfad vorhanden sind.
4.
Whlen Sie im Men "Network" den Befehl "Download" oder klicken Sie in der
Symbolleiste auf die Schaltflche "Download", um den Vorgang zu starten.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
50
Toolfunktionen
3.9 Sichern und Wiederherstellen von CPU-Daten
In der folgenden Abbildung ist eine CPU ausgewhlt, sodass nur eine Sicherungsdatei in der
Spalte "Restore Name" ausgewhlt werden muss. Wird mehr als ein Gert ausgewhlt,
mssen Sie die Auswahl der Sicherungsdatei fr jedes ausgewhlte Gert wiederholen.
51
Toolfunktionen
3.10 Rcksetzen von CPUs und Modulen auf die Werkseinstellungen
3.10
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element "Reset Factory Defaults" oder klicken Sie in der Symbolleiste auf die Schaltflche "Reset Factory Defaults".
3.
4.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
6.
Warten Sie, bis der Rcksetzvorgang abgeschlossen ist. Warten Sie, bis die
Leuchten am Gert aufhren zu blinken, bevor Sie einen weiteren Vorgang
durchfhren.
52
Toolfunktionen
3.10 Rcksetzen von CPUs und Modulen auf die Werkseinstellungen
Die ausgewhlten Gerte in der folgenden Abbildung werden auf die Werkseinstellungen
zurckgesetzt, sobald der Befehl "Reset Factory Defaults" ausgefhrt wird.
53
Toolfunktionen
3.11 Urlschen des CPU-Speichers
3.11
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element "Memory Reset" oder klicken Sie in
der Symbolleiste auf die Schaltflche "Memory Reset".
3.
4.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
Fr den Speicher der ausgewhlten Gerte wird in der folgenden Abbildung ein Urlschen
durchgefhrt, sobald der Befehl "Memory Reset" ausgefhrt wird.
54
Toolfunktionen
3.12 Laden von Servicedaten aus CPUs
3.12
Klicken Sie an den Gerten, die sie in den Vorgang einschlieen mchten, auf
das linke Kontrollkstchen. Sie knnen die Befehle "Select All" und "Unselect All"
ber das obere Kontrollkstchen, das Kontextmen der rechten Maustaste oder
das Men "Edit" auswhlen.
2.
Whlen Sie im Men "Network" das Element "Upload Service data" oder klicken
Sie in der Symbolleiste auf die Schaltflche "Upload service data".
3.
Klicken Sie im Dialogfeld "Upload Service Data" auf die Schaltflche "Continue".
4.
5.
Im Event Log unterhalb der Gertetabelle werden die Ergebnisse dieses Vorgangs angezeigt.
Die ausgewhlten Gerte in der folgenden Abbildung laden die Servicedaten, sobald der
Befehl "Upload Service Data" ausgefhrt wird.
55
Toolfunktionen
3.12 Laden von Servicedaten aus CPUs
Servicedatendateien
Der Ordnername basiert auf Datum, Zeit und PLC-Name wie im TIA Portal.
Hinweis
Laden von Servicedatendateien aus passwortgeschtzten CPUs
Falls eine CPU passwortgeschtzt ist, mssen Sie das CPU-Passwort angeben, damit alle
Servicedatendateien geladen werden knnen. Geben Sie die CPU-Passwrter in die Spalte
"Password" des SIMATIC Automation Tools ein, bevor Sie mit dem Laden von Servicedaten
beginnen.
Beispiel fr einen Servicedaten-Dateisatz:
2015-04-16_15-33-58_PLC_1\Fault.bin
2015-04-16_15-33-58_PLC_1\Fault2.bin (nur S7-1200 V4.1 oder hher).
2015-04-16_15-33-58_PLC_1\Alarms.txt
2015-04-16_15-33-58_PLC_1\ASLog.txt
2015-04-16_15-33-58_PLC_1\ASLog.txt
2015-04-16_15-33-58_PLC_1\DNN.txt
2015-04-16_15-33-58_PLC_1\PLCInformation.txt
2015-04-16_15-33-58_PLC_1\RAM.img (nur S7-1200)
2015-04-16_15-33-58_PLC_1\NAND.img (nur S7-1200)
2015-04-16_15-33-58_PLC_1\ResourceStats.txt (nur S7-1200)
2015-04-16_15-33-58_PLC_1\CommBuffers.txt (nur S7-1200)
2015-04-16_15-33-58_PLC_1\CommBuffers.txt (nur S7-1200)
Hinweis
Servicedaten werden im Klartext gespeichert
Ein unbefugter Anwender kann die Servicedatendateien nutzen, um Informationen zu Status
und Konfiguration des Steuerungssystems zu erlangen. Die Servicedatendateien werden in
der CPU im Klartext gespeichert (binre Kodierung). Durch Vergabe eines CPU-Passworts
kann der Zugriff auf diese Informationen kontrolliert werden.
Richten Sie den CPU-Schutz ber die Gertekonfiguration des TIA Portals ein und vergeben
Sie ein sicheres Passwort. Sichere Passwrter sind mindestens acht Zeichen lang, bestehen
aus Buchstaben, Zahlen und Sonderzeichen, sind keine Wrter, die in einem Wrterbuch zu
finden sind, und sind keine Namen oder Kennungen, die sich aus persnlichen Daten
ableiten lassen. Halten Sie das Passwort geheim und ndern Sie es hufig.
56
Toolfunktionen
3.13 Einstellen der Uhrzeit in CPUs
3.13
57
Toolfunktionen
3.14 Lesen des Diagnosepuffers in einer CPU
3.14
CPU-Diagnosepuffer
Der CPU-Diagnosepuffer enthlt zu jedem Diagnoseereignis einen Eintrag. Jeder Eintrag
umfasst das Datum und die Uhrzeit, zu denen das Ereignis aufgetreten ist, eine
Ereigniskategorie und eine Ereignisbeschreibung. Die Eintrge werden in chronologischer
Reihenfolge angezeigt, wobei das jngste Ereignis an oberster Stelle steht. In diesem Puffer
werden bis zu 50 aktuelle Ereignisse gespeichert. Ist der Puffer voll, wird immer das lteste
Ereignis durch ein neues Ereignis berschrieben. Bei einer Unterbrechung der
Stromversorgung werden die Ereignisse gespeichert.
1. Klicken Sie in der Spalte "Select" auf das Kontrollkstchen einer CPU. Sie knnen das Kontextmen ber die rechte Maustaste verwenden oder das Men
"Edit" fr den Befehl "Unselect All".
2. Whlen Sie im Men "Network" das Element "Diagnostics buffer" oder klicken
Sie in der Symbolleiste auf die Schaltflche "Diagnostics".
3. Das SIMATIC Automation Tool zeigt den Inhalt des CPU-Diagnosepuffers an.
Beispiel fr einen Diagnosepuffer
Die folgenden Ereignistypen werden im Diagnosepuffer erfasst.
Systemdiagnoseereignis (jeder CPU-Fehler und Modulfehler)
CPU-Zustandsnderungen (jeder Hochlauf, jeder Wechsel in STOP, jeder Wechsel in
RUN)
Sie knnen sich mithilfe des Kontrollkstchens "Display CPU Time Stamp in PG/PC local
time" die Zeitstempel in der Ortszeit oder in UTC-Zeit (Coordinated Universal Time)
anzeigen lassen.
58
Toolfunktionen
3.15 Reihenfolge der Ausfhrung von Prozessen
3.15
Ausfhrungsbeispiele
Beispiel 1:
Wenn die Prozess-Warteschlange 10 Go-to-RUN-Auftrge fr verschiedene CPUs enthlt,
dann arbeiten mehrere Threads parallel, um alle CPUs in die Betriebsart RUN zu versetzen.
Da die Threads parallel ausgefhrt werden, kann nicht garantiert werden, in welcher
Reihenfolge die CPUs in die Betriebsart RUN gehen. Die Kommunikationsgeschwindigkeit
und die Dauer bis zum Abschluss eines Auftrags knnen je nach CPU unterschiedlich sein.
Beispiel 2:
Sie knnen so viele Auftrge des gleichen Typs in die Warteschlange stellen, wie Sie
mchten. Beispielsweise knnen Sie 100 CPUs in die Betriebsart STOP versetzen, indem
Sie alle 100 CPUs auswhlen und auf die Schaltflche "STOP" klicken. Es wird solange ein
Dialogfeld mit einem Fortschrittsbalken eingeblendet, bis alle 100 Auftrge abgeschlossen
sind. Dieses Dialogfeld blockiert solange den Start eines weiteren Prozesses, bis alle STOPProzesse abgeschlossen sind.
59
Toolfunktionen
3.15 Reihenfolge der Ausfhrung von Prozessen
60
61
4.2
62
63
64
Hauptmen
5.1.1
Men "File"
Sym- Menbefehl
bol
Beschreibung
New
Open
Angezeigt wird der Dialog "Open", in dem Sie zu einem Ordner navigieren,
eine SAT-Projektdatei auswhlen und ein Passwort zum ffnen einer verschlsselten Projektdatei eingeben knnen. Der Standardpfad wird im
Dialog Tools>Options festgelegt.
Save
Save As
Die Gertetabellendaten werden in einer SAT-Datei gespeichert. Sie knnen zu einem Ordner navigieren, einen SAT-Projektdateinamen zuweisen
und ein Passwort zum Schutz der Projektdatei vergeben. Der Standardpfad
wird im Dialog Tools>Options festgelegt.
Import...
Export...
Exit
Schlieen der Anwendung. Falls das Projekt seit dem letzten Speichervorgang gendert wurde, wird der "Speichern"-Vorgang ausgefhrt.
Siehe auch
"Save"/"Save as" - Speichern der Gertetabelle in verschlsseltem SAT-Format (Seite 61)
"Import"/"Export" - Laden/Speichern der Gertetabelle aus/in offenem CSV-Format
(Seite 62)
65
5.1.2
Men "Edit"
Symbol
Menbefehl
Beschreibung
Cut
Copy
Paste
Check All
Uncheck All
Expand All
Collapse All
Insert Device
Delete
Device
Selection
Refresh Devices F5
66
5.1.3
Men "Network"
Symbol
Menbefehl
Beschreibung
Scan
Download
IP-Adressparameter
PROFINET-Name
Programmaktualisierung
Firmware-Aktualisierung
RUN
STOP
Flash LEDs
Reset to factory
defaults
Memory reset
Upload service
data
Set time
Backup
Diagnostics buffer
67
5.1.4
Men "Tools"
Symbol
Menbefehl
Beschreibung
Options
Pfad fr CPU-Firmware-Update-Dateien
Pfad fr Programm-Update-Dateien
Pfad fr Servicedatendateien
Pfad fr Sicherungs-/Wiederherstellungsdateien
Allow firmware update to replace same firmware version
Die Standardeinstellung ist deaktiviert, um Zeit zu sparen, indem unntige Vorgnge vermieden werden. Sie knnen eine Aktualisierung erzwingen, indem Sie diese Option aktivieren.
Allow multiple threads for firmware update, reset to factory defaults, and
restore device
Wenn Ihr Netzwerk eine Sterntopologie hat, bei der jede CPU eine separate Verbindung zum PG/PC ber einen Ethernet-Switch unterhlt,
knnen Sie die Multiple-Thread-Option aktivieren.
Falls Ihr Netzwerk eine Kettentopologie besitzt, dann sollten Sie diese
Option deaktivieren, damit eine CPU nicht die Kommunikation mit einer
anderen CPU unterbricht. Beispiel: Sie haben eine Kettentopologie
(PG/PC zu CPUa zu CPUb zu CPUc zu ...). Ein laufender Vorgang in
CPUb wird unterbrochen, wenn ein separater Thread einen Neustart der
CPUa verursacht.
Set simultaneous operations limit
Begrenzung der Anzahl der Kommunikationsverbindungen und Verarbeitungs-Threads. Die von Ihnen ausgewhlte Gertegruppe kann
gleichzeitig Kommunikations- und Prozessanfragen vom SIMATIC Automation Tool verarbeiten.
Es knnen maximal 5 Prozesse gleichzeitig ausgefhrt werden.
68
Hinweis
Kommunikationsprobleme mit dem SIMATIC Automation Tool
Beispielsweise senden Sie einen Befehl an mehrere Gerte, aber ein Gert schliet den
Vorgang nicht ab und ein Kommunikationsfehler wird fr dieses Gert angezeigt. Die
anderen Gerte kommunizieren und fhren den Vorgang jedoch wie erwartet aus.
Senken Sie bei auftretenden Kommunikationsproblemen die maximale Anzahl an simultanen
Vorgngen (Threads/Verbindungen), die im Dialogfeld Tools > Options festgelegt werden
kann. Schlieen Sie das SIMATIC Automation Tool und ffnen Sie die Anwendung erneut,
wiederholen Sie anschlieend die Gruppenfunktion.
69
5.1.5
Men "Help"
Sym- Menbol
befehl
View user guide
Beschreibung
ffnen des Benutzerhandbuchs des SIMATIC Automation Tools. Das
Benutzerhandbuch liegt im PDF-Format vor. Zum ffnen und Lesen
des Handbuchs bentigen Sie entsprechende Software.
Das Benutzerhandbuch ist auf Englisch und Deutsch installiert. Welche
Version angezeigt wird, hngt von den Einstellungen fr Region und
Sprache Ihres Windows-Betriebssystems ab.
Das deutsche Benutzerhandbuch wird bei folgenden Einstellungen
angezeigt:
de Deutsch
Produktname
Version
70
5.2
Symbol
71
5.3
Tastenkombinationen
STRG+Bild auf
STRG+Bild ab
STRG+A
STRG+C
STRG+O
STRG+S
STRG+V
STRG+X
STRG+Z
PFEILTASTEN
EINGABE
ESC
POS1
STRG+POS1
ENDE
STRG+ENDE
BILD AB
BILD AUF
LEERTASTE
TAB
72
API (Anwendungsprogrammierschnittstelle)
Mithilfe der SIMATIC Automation Tool API knnen Sie entsprechend der im SIMATIC
Automation Tool verfgbaren Funktionalitt benutzerspezifische Anwendungs-Software
erstellen. In einer benutzerspezifischen Anwendungssoftware knnen Sie Operationen in
einer bestimmten Reihenfolge programmieren und so fr Ihr
Industrieautomatisierungsnetzwerk optimierte Workflows erstellen. In den folgenden
Abschnitten werden die ber die API bereitgestellten Operationen und Datentypen
beschrieben.
Kompatibilitt mit frheren Versionen
Die SIMATIC Automation Tool API wurde fr Version 2.1 berarbeitet. Programme, die fr
diese API zuvor geschrieben wurden, mssen ebenfalls berarbeitet werden.
Beispielnetzwerk
Ein Beispiel fr ein im TIA Portal angezeigtes Netzwerk und fr die entsprechenden von
Ihrer Anwendungs-Software verwendbaren API-Schnittstellen finden Sie in Anhang A
(Seite 137).
73
6.2
74
75
Hinweis
Ein Beispiel fr ein Industrienetzwerk und fr die zur Darstellung der einzelnen
Netzwerkkomponenten verwendeten Klassen der SIMATIC Automation Tool API finden Sie
im Anhang (Seite 137).
6.3
Diese DLL wurde mit Microsoft Visual Studio 2010 und .NET Framework Version 4.0 erstellt.
Sie ist verwendbar mit Applikationen, die mit dieser Version oder hheren Versionen von
Visual Studio einschlielich Visual Studio 2015 SP2 erstellt wurden. Alle Codebeispiele und
Screenshots in diesem Dokument wurden mit Visual Studio 2015 SP2 in der
Programmiersprache C# generiert.
Wenn Sie die API in Ihre Applikation aufnehmen mchten, mssen Sie AutomationTool.dll
als Verweis (reference) in Ihre Visual-Studio-Lsung einfgen.
In jeder Quelldatei, in der auf die API-Klassen verwiesen wird, muss die folgende usingAnweisung als Verweis auf den API-Namespace eingefgt werden:
using Siemens.Automation.AutomationTool.API;
Zur bersetzung aller Codebeispiele in diesem Dokument muss jeweils die richtige usingAnweisung in derselben Quelldatei (*.cs) wie der Beispielcode enthalten sein. Der
Einfachheit halber ist die using-Anweisung in den einzelnen Codebeispielen dieses
Dokuments nicht aufgefhrt.
Fr den Zugriff auf die API zur Laufzeit muss auf dem PG/PC die richtige Version der S7Kommunikationssoftware installiert sein. Dies lsst sich am einfachsten dadurch
sicherstellen, dass das SIMATIC Automation Tool auf dem betreffenden Rechner installiert
wird. Nach der Installation kann die API-DLL (AutomationToolAPI.dll) in einen beliebigen
Ordner auf dem PG/PC eingefgt und erfolgreich verwendet werden.
76
6.4
6.4.1
Klasse EncryptedString
Vor der Beschreibung der von der API verfgbar gemachten Operationen muss zunchst ein
Grundverstndnis einiger Klassen geschaffen werden, die in den meisten Codebeispielen
vorkommen.
Klasse EncryptedString
Viele API-Operationen setzen eine legitimierte Verbindung zu einer SIMATIC S7 CPU
voraus. Fr diese Operationen ist als einer der Parameter fr diese Methode ein Passwort
erforderlich. Die S7 CPU nimmt das Passwort in verschlsseltem Format entgegen. Zu
diesem Zweck stellt die API die Klasse EncryptedString bereit.
Mithilfe dieser Klasse kann ein Klartextpasswort so verschlsselt werden, dass es zur
Legitimierung einer CPU-Verbindung dienen kann. Viele der Codebeispiele zeigen eine
typische Verwendungsweise dieser Klasse. In den meisten Codebeispielen wird ein
EncryptedString direkt am Ort seiner Verwendung instanziiert, z. B. wie folgt:
Result retVal = devAsCpu.RefreshStatus(new EncryptedString("password"));
Wenn Sie ein Passwort zur mehrfachen Verwendung in Ihrem Code verschlsseln wollen,
knnen Sie auch den EncryptedString instanziieren und dann wie folgt als Parameter an
mehrere Aufrufe bergeben:
EncryptedString pwd = new EncryptedString(Passwort");
DateTime curTime = new DateTime();
Result retVal = devAsCpu.RefreshStatus(pwd);
retVal = devAsCpu.GetCurrentDateTime(pwd, out curTime);
Hinweis
Wenn eine CPU nicht passwortgeschtzt ist, bergeben Sie einfach eine leere Zeichenkette
an den EncryptedString-Constructor. Beispielsweise knnte der folgende Code erfolgreich
bei einer CPU eingesetzt werden, fr die kein Schutz konfiguriert ist:
Result retVal = devAsCpu.RefreshStatus(new EncryptedString(""));
Or
77
6.4.2
6.4.3
Klasse Result
Klasse Result
Diese Klasse verkapselt die Logik, die feststellt, ob eine bestimmte API-Aktion erfolgreich ist.
Die meisten API-Aktionen erfordern ein gewisses Ma an Netzwerkkommunikation. Bei
vielen Aktionen wird auerdem eine Verbindung zu einem Netzwerkgert geffnet. Es gibt
keine Garantie, dass solche Aktionen erfolgreich ablaufen. Das von einer API-Aktion
ausgegebene Result-Objekt sollte immer auf erfolgreiche oder fehlgeschlagene Ausfhrung
berprft werden.
In vielen Fllen reicht es wahrscheinlich aus, zu wissen, ob eine bestimmte Aktion
erfolgreich war. In solchen Fllen ist es nur erforderlich, die Eigenschaft Succeeded zu
berprfen.
Result retVal = dev.RefreshStatus(new EncryptedString(""));
if (retVal.Succeeded)
{
//-----------------------// Operationen fortsetzen....
//-----------------------}
78
79
6.5
6.5.1
Network-Constructor
Die .NET-Klasse Network dient dazu, Funktionen mithilfe einer auf einem PG/PC installierten
Netzwerkkarte (NIC) auszufhren. Die Klasse Network wird verwendet, um auf verfgbare
Schnittstellenkarten zu scannen und die Schnittstellenkarte auszuwhlen, die mit dem
Industrienetzwerk kommuniziert.
Constructor
Zur Interaktion mit dem Industrienetzwerk deklariert Ihr Programm wie folgt eine Variable
des Typs Network:
Network myNetwork = new Network();
Sie knnen mithilfe dieses Objekts verfgbare Netzwerkschnittstellen ermitteln und die zu
verwendende Netzwerkschnittstelle auswhlen.
80
6.5.2
Ausgabetyp
Result
Methode QueryNetworkInterfaceCards
Methodenname
QueryNetworkInterfaceCards
Parameters
Name
aInterfaces
Datentyp
List<string>
Parametertyp
Out
Beschreibung
Zur Ermittlung der verfgbaren Netzwerkkarten verwenden Sie wie im folgenden Beispiel
gezeigt die Methode QueryNetworkInterfaceCards:
Network myNetwork = new Network();
List<String> interfaces = new List<String>();
Result retVal = myNetwork.QueryNetworkInterfaceCards(out interfaces);
if (retVal.Succeeded)
{
//----------------------------------------------------// Die Methode gibt eine Liste von Zeichenketten aus.
// Jede Zeichenkette in der Liste steht fr eine verfgbare Netzwerkkarte (NIC).
// Die Liste kann in Arraynotation iteriert werden.
//----------------------------------------------------for (Int32 index = 0; index < interfaces.Count; index++)
{
String strInterfaceName = interfaces[index]);
}
}
Wie das Beispiel zeigt, gibt diese Methode eine Liste von Zeichenketten aus. Jedes Element
in der Liste steht fr eine durch den Namen identifizierte verfgbare Netzwerkkarte.
Die Methode QueryNetworkInterfaceCards gibt ein Result-Objekt aus. Dieses reprsentiert
den Status der Operation. Auf einer hheren Ebene zeigt dieses Objekt an, ob die Operation
erfolgreich war (ob die Eigenschaft Succeeded wahr ist) oder fehlgeschlagen ist (d. h. die
Eigenschaft Succeeded falsch ist). Fr das Fehlschlagen einer Operation kann es viele
Grnde geben.
Eine vollstndige Beschreibung der Klasse Result finden Sie unter Klasse Result (Seite 78)
81
6.5.3
Ausgabetyp
Result
Methode SetCurrentNetworkInterface
Methodenname
SetCurrentNetworkInterface
Parameter
Name
strInterface
Datentyp
string
Parametertyp
Beschreibung
Eingang
ben wurden.
6.5.4
Eigenschaft CurrentNetworkInterface
Diese Eigenschaft wird bereitgestellt, um eine Abfrage nach der aktuell ausgewhlten
Netzwerkschnittstelle durchzufhren. Die Eigenschaft ist schreibgeschtzt. Das folgende
Beispiele zeigt die Verwendung dieser Eigenschaft.
string currentInterface = myNetwork.CurrentNetworkInterface;
Hinweis
Diese Eigenschaft gibt eine leere Zeichenkette aus, wenn durch einen frheren Aufruf der
Methode SetCurrentNetworkInterface keine Netzwerkschnittstelle ausgewhlt wurde.
82
6.5.5
Ausgabetyp
Result
Methode ScanNetworkDevices
Methodenname
ScanNetworkDevices
Parameter
Name
strFile
Datentyp
IProfinetDeviceCollection
Parametertyp
Beschreibung
Ausgang
Nach Auswahl einer Netzwerkschnittstelle besteht die Mglichkeit, eine Abfrage nach den
Gerten im Industrienetzwerk durchzufhren. Die Methode ScanNetworkDevices gibt eine
Sammlung von Elementen aus, bei der jedes der Elemente ein direkt mit dem EthernetNetzwerk verbundenes Gert darstellt. Zu diesen Gerten knnen u. a. CPUs und
dezentrale Peripheriestationen gehren.
Mit dem folgenden Beispiel wird eine Sammlung aller ber die ausgewhlte
Netzwerkschnittstelle erreichbaren Gerte erstellt.
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (retVal.Succeeded)
{
//-----------------------------------------------// Die Aktion war erfolgreich. Mit Operationen fortfahren.
//-----------------------------------------------}
Diese Methode gibt eine Sammlung IProfinetDeviceCollection aus. Diese Klasse wird im
nchsten Kapitel errtert.
83
6.6
Klasse IProfinetDeviceCollection
6.6.1
Programmierer, die eine Syntax vom Array-Typ bevorzugen, knnen den Zugriff auf die
Elemente in scannedDevices wie folgt codieren:
if (retVal.Succeeded)
{
for (int deviceIdx = 0; deviceIdx < scannedDevices.Count; deviceIdx++)
{
//---------------------------------------------------------// Jedes Element in der Sammlung ist ein IProfinetDevice.
//---------------------------------------------------------IProfinetDevice dev = scannedDevices[deviceIdx];
}
}
Die Sammlung untersttzt auerdem die Iteration mithilfe der foreach-Syntax. Das folgende
Beispiel zeigt dieselbe Sammlung mit einer Iteration mithilfe dieser Syntax:
foreach (IProfinetDevice dev in scannedDevices)
{
//----------------------------------------------------------// Die Variable "dev" steht nun fr das nchste Element der Sammlung
//----------------------------------------------------------}
84
6.6.2
6.6.2.1
6.6.2.2
Methode FilterByDeviceFamily
Diese Methode gibt eine Sammlung aus, die nur Gerte der angegebenen Produktfamilien
enthlt. Das Filterergebnis wird zunchst als Liste mit einer oder mehreren Produktfamilien
aufgebaut. Beispielsweise erstellt die folgende Deklaration einen Filter nur mit S7-1200- und
S7-1500-Gerten.
List<DeviceFamily> fams = new List<DeviceFamily> {
DeviceFamily.S71200,DeviceFamily.S71500 };
bergeben Sie diesen Filter" an die Methode FilterByDeviceFamily. Das Ergebnis ist eine
Sammlung IProfinetDeviceCollection, die nur die Gerte der angegebenen Produktfamilien
enthlt.
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
IProfinetDeviceCollection onlyPlus = scannedDevices.FilterByDeviceFamily(fams);
Die resultierende Sammlung kann anschlieend iteriert werden, um Aktionen nur mit den
enthaltenen Gerten durchzufhren.
Hinweis
Die bergabe einer leeren Deklaration List<DeviceFamily>fhrt zur Ausgabe einer leeren
Sammlung.
85
6.6.2.3
Methode FilterOnlyCPUs
Die SIMATIC Automation Tool API untersttzt zahlreiche Operationen, die nur mit CPUs
zulssig sind. Daher ist es sinnvoll, die Sammlung nur nach den CPUs zu filtern, die im
Netzwerk erkannt wurden.
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
List<ICPU> cpus = scannedDevices.FilterOnlyCpus();
foreach (ICPU cpu in cpus)
{
//---------------------------------------------------------// Iteration im Durchgang durch die Liste nur aus CPU-Gerten
//---------------------------------------------------------}
Diese Methode gibt eine Liste ICPU aus. Fr CPU-Gerte werden weitere API-Operationen
untersttzt. ber die Schnittstelle ICPU werden diese Operationen bereitgestellt. Die ICPUSchnittstelle wird ausfhrlich im Kapitel Schnittstelle ICPU (Seite 106) beschrieben.
86
6.6.3
6.6.3.1
Methode FindDeviceByIP
Auffinden eines bestimmten Gerts in der Sammlung Dieser Workflow wird von folgender
Methode untersttzt:
Zwei Versionen dieser Methode werden bereitgestellt; eine erlaubt die Darstellung der IPAdresse als Zeichenkette und die andere akzeptiert die IP-Adresse als vorzeichenlosen
ganzzahligen Wert.
Ausgabetyp
IProfinetDevice
Methodenname
FindDeviceByIP
Parameter
Name
ip
ipString
Datentyp
uint
string
Parametertyp
Beschreibung
Eingang
Eingang
Das folgende Beispiel zeigt die Suche nach einem Gert an einer angegebenen IP-Adresse.
Wird das Gert nicht in der Sammlung gefunden, so wird eine Referenz NULL ausgegeben.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (!retVal.Succeeded)
return;
IProfinetDevice dev = scannedDevices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
// Gefunden!
}
87
6.6.3.2
Methode FindDeviceByMAC
Mit der Methode FindDeviceByMAC kann nach einem Gert mit einer bestimmten MACAdresse gesucht werden.
Zwei Versionen dieser Methode werden bereitgestellt; eine erlaubt die Darstellung der MACAdresse als Zeichenkette und die andere akzeptiert die MAC-Adresse als vorzeichenlosen
langen ganzzahligen Wert.
Ausgabetyp
IProfinetDevice
Methodenname
FindDeviceByMAC
Parameter
Name
Datentyp
macString
string
mac
ulong
Parametertyp
Beschreibung
Eingang
Eingang
88
6.6.4
Serialisierung
6.6.4.1
6.6.4.2
Ausgabetyp
Result
Methode WriteToStream
Methodenname
WriteToStream
Parameter
Name
stream
Datentyp
Stream
Parametertyp
Beschreibung
Eingang
Mithilfe dieser Methode wird der Inhalt der Sammlung extern gespeichert. Das folgende
Beispiel zeigt die Verwendung dieser Methode.
retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (!retVal.Succeeded)
return;
FileStream f = File.Create("myDataFile.SAT");
retVal = scannedDevices.WriteToStream(f);
f.Close();
89
6.6.4.3
Methode ReadFromStream
Mithilfe dieser Methode wird die Sammlung aus einer zuvor erstellten Serialisierungsdatei
wiederhergestellt. Das folgende Beispiel zeigt die Verwendung dieser Methode.
Ausgabetyp
Result
Methodenname
ReadFromStream
Parameter
Name
stream
Datentyp
Stream
Parametertyp
Beschreibung
Eingang
Mithilfe dieser Methode wird die Sammlung aus einer zuvor erstellten Serialisierungsdatei
wiederhergestellt. Das folgende Beispiel zeigt die Verwendung dieser Methode.
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
FileStream f = File.OpenRead("myDataFile.SAT");
retVal = devices.ReadFromStream(f);
f.Close();
90
6.7
Schnittstelle IProfinetDevice
6.7.1
IProfinetDevice-Eigenschaften
Jedes Element der Sammlung IProfinetDeviceCollection wird durch die Schnittstelle
IProfinetDevice reprsentiert. Diese Schnittstelle ermglicht den Zugriff auf die Daten und
Operationen, die alle direkt mit dem Industrienetzwerk verbundenen Gerte gemeinsam
haben.
Die Schnittstelle IProfinetDevice untersttzt die folgenden Eigenschaften, die Informationen
ber das Netzwerkgert bereitstellen. Alle diese Eigenschaften sind schreibgeschtzt. Damit
sichergestellt ist, dass sie die aktuellen Informationen ausgeben, muss der Code zunchst
die Methode RefreshStatus fr das Gert aufrufen.
Name der Eigenschaft
Ausgabetyp
BackupAllowed
bool
ChangeModeAllowed
bool
Comment
string
Configured
bool
DefaultGateway
uint
DefaultGatewayString
string
Description
string
Failsafe
FeatureSupport
Family
DeviceFamily
ArticleNumber
string
Beschreibung
Die Bestell- oder MLFB-Nummer
Untersttzt das Gert die Sicherungsfunktion?
Untersttzt das Gert den Wechsel der Betriebsart
(RUN/STOP)?
Dem Gert kann ein Kommentar zugeordnet werden. Dieser wird in der Benutzeroberflche des
SIMATIC Automation Tool verwendet und ist fr
API-Operationen nicht relevant.
Zeigt die DNN-Datei fr das Gert an, dass es
konfiguriert wurde?
Die Standard-Gateway-Adresse des Gerts, dargestellt als vorzeichenlose Ganzzahl. In der verschlsselten Gateway-Adresse wird jeweils ein
Byte zur Darstellung der einzelnen Dezimalwerte
in der Adresse verwendet. So ist z. B. der verschlsselte Wert 0xC0A80001 quivalent zu der
hufigeren Zeichenketten-Darstellung als
"192.168.0.1"
Die Standard-Gateway-Adresse des Gertes bei
Darstellung als Zeichenkette im Format
"xx.xx.xx.xx" (z. B. "192.168.0.1")
Eine Beschreibung des Hardware-Elements auf
Basis der Artikelnummer. Hierbei handelt es sich
um dieselbe Beschreibung wie die im TIA Portal
angezeigte.
(z. B. "CPU-1215 DC/DC/DC")
Ist dies laut Artikelnummer ein fehlersicheres Gert?
Zu welcher Gertefamilie gehrt das Gert?
Siehe auch: Enumeration der Gertefamilie (Seite 124)
FirmwareUpdateAllowed
FeatureSupport
FirmwareVersion
string
91
Ausgabetyp
uint
Beschreibung
Die eindeutige Kennung fr jedes Gert und Modul
in der Station. Sie wird als eindeutige Kennung bei
Ausfhrung einer Operation FirmwareUpdate
verwendet.
IP
uint
IPString
string
MAC
ulong
MACString
string
MemoryResetAllowed
FeatureSupport
Die dem Gert zugeordnete eindeutige MACAdresse, dargestellt als Zeichenkette im Format
"11:22:33:44:55:66".
Modules
IModuleCollection
Name
string
NewFirmwareVersion
NewDefaultGateway
NewIP
NewProfinetName
NewProgramName
NewRestoreName
string
string
string
string
string
Diese Eigenschaften werden in der Benutzeroberflche des SIMATIC Automation Tool verwendet
und sind fr API-Operationen nicht relevant.
ProfinetName
string
ProgramUpdateAllowed
FeatureSupport
ResetToFactoryAllowed
FeatureSupport
RestoreAllowed
FeatureSupport
Selected
bool
SerialNumber
string
Slot
uint
Die IP-Adresse des Gerts, dargestellt als vorzeichenlose Ganzzahl. In der verschlsselten IPAdresse wird jeweils ein Byte zur Darstellung der
einzelnen Dezimalwerte in der IP-Adresse verwendet. So ist z. B. der verschlsselte Wert
0xC0A80001 quivalent zu der hufigeren Zeichenketten-Darstellung als "192.168.0.1"
Die IP-Gateway-Adresse des Gertes bei Darstellung als Zeichenkette im Format "xx.xx.xx.xx" (z.
B.
92
Ausgabetyp
string
Beschreibung
Diese Eigenschaft wird in der Benutzeroberflche
des SIMATIC Automation Tool verwendet und ist
fr API-Operationen nicht relevant.
StationNumber
uint
SubSlot
uint
Supported
bool
SubnetMask
uint
SubnetMaskString
string
Siehe auch
Klasse IModuleCollection (Seite 104)
93
6.7.2
IProfinetDevice-Methoden
6.7.2.1
Methode RefreshStatus
Ausgabetyp
Methodenname
Name
Datentyp
Result
RefreshStatus
Parameter
password
EncryptedString
Parametertyp
Beschreibung
Eingang
Die Methode RefreshStatus stellt eine Verbindung zum Gert her, um Informationen
auszulesen. Gegen einen solchen Zugriff ist das Gert unter Umstnden passwortgeschtzt.
Deshalb erfordert diese Methode (wie alle anderen Methoden, die eine interne
Gerteverbindung herstellen) einen Passwort-Parameter. Im obigen Beispiel wird ein leeres
Passwort an die Methode bergeben. Dies wre nur bei einem Gert ohne Passwortschutz
sinnvoll. Das Beispiel zeigt die Klasse EncryptedString. Diese Klasse wird von der API zur
korrekten Verschlsselung eines Klartext-Passworts bereitgestellt, mit dem anschlieend die
Verbindung zum Gert legitimiert wird.
Siehe auch Klasse EncryptedString (Seite 77)
94
6.7.2.2
Methode FirmwareUpdate
Ausgabetyp
Result
Methodenname
FirmwareUpdate
Parameter
Name
Datentyp
password
EncryptedString
Parametertyp
Beschreibung
Eingang
strFile
string
Eingang
hardwareID
uint
Eingang
bUpdateSameVersion
Bool
Eingang
95
Beachten Sie, dass die Methode FirmwareUpdate weiterhin fr die CPU aufgerufen wird. Die
an die Methode bergebene Hardware-Kennung (hardwareID) gibt jedoch an, welches
Modul aktualisiert werden soll.
96
6.7.2.3
Methode FlashLED
Ausgabetyp
Result
Methodenname
FlashLED
Diese Methode bewirkt das Blinken der LED bei einem bestimmten Netzwerkgert. Die
blinkende LED hilft, den physischen Standort des Gerts zu erkennen.
Das Beispiel zeigt den Code, durch den die LED an dem Gert mit der IP-Adresse
192.168.0.1 blinkt.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (retVal.Succeeded)
{
//-----------------------------------------------// Suche nach dem Gert unter der IP-Adresse und Auslsen des Blinkens der LED
//-----------------------------------------------IProfinetDevice dev = scannedDevices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
retVal = dev.FlashLED();
}
97
6.7.2.4
Rcksetzmethode
Ausgabetyp
Result
Methodenname
Reset
Diese Methode dient zum Rcksetzen eines Gerts auf die Werkseinstellungen.
Das folgende Beispiel zeigt den Aufruf der Methode Reset fr ein Gert an einer bestimmten
IP-Adresse.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (retVal.Succeeded)
{
//-----------------------------------------------// Suche nach dem Gert unter der IP-Adresse und Auslsen des Blinkens der LED
//-----------------------------------------------IProfinetDevice dev = scannedDevices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
retVal = dev.Reset();
}
Hinweis
Diese Methode kann nicht zum Rcksetzen einer CPU verwendet werden. Die Schnittstelle
ICPU untersttzt eine Methode ResetToFactory, die speziell fr CPUs vorgesehen ist.
98
6.7.2.5
Methode SetIP
Ausgabetyp
Methodenname
Result
SetIP
Parameter
Name
Datentyp
nIP
uint
nSubnet
uint
nGateway
uint
Parametertyp
Beschreibung
Eingang
Eingang
Eingang
Diese Methode wird zum Einstellen oder ndern der IP-Adresse eines Gerts verwendet.
Damit diese Operation erfolgreich ausgefhrt wird, muss fr den Gerteport die Option Set
IP address on the device konfiguriert sein. Je nach verwendeter Version des TIA Portals
kann diese Option auch "SET IP address using a different method lauten.
Das folgende Beispiel zeigt die Suche nach einem Gert an einer angegebenen MACAdresse und das Einstellen der IP-Adresse des Gerts.
ulong targetMACAddress = 0x112233445566; // 11:22:33:44:55:66
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (retVal.Succeeded)
{
//-----------------------------------------------// Suche nach dem Gert an dieser MAC-Adresse und Einstellen der IP-Adresse
//-----------------------------------------------IProfinetDevice dev = scannedDevices.FindDeviceByMAC(targetMAC);
if (dev != null)
{
retVal = dev.SetIP(0xC0A80001, 0xFFFFFF00, 0x0);
}
99
Hinweis
Die Methode SetIP erwartet, dass die Adressen in verschlsseltem Format vorliegen (wie
oben gezeigt). Die Adressen knnen mit folgendem C#-Code von einem ZeichenkettenFormat in eine verschlsselte vorzeichenlose Ganzzahl (uint) umgewandelt werden:
string userEnteredAddress = @"192.168.0.1"; // Beispiel:
//------------------------------// Zeichenketten-Adressen in uint umwandeln
//------------------------------System.Net.IPAddress ip = IPAddress.Parse(userEnteredAddress);
byte[] bytes = ip.GetAddressBytes();
Array.Reverse(bytes);
uint encodedIp = BitConverter.ToUInt32(bytes, 0); // jetzt kann encodedIP verwendet
werden
6.7.2.6
Methode SetProfinetName
Ausgabetyp
Methodenname
Result
SetProfinetName
Parameter
Name
Datentyp
Parametertyp
Beschreibung
strName
string
Eingang
Diese Methode wird zum Einstellen oder ndern des Namens der PROFINET-Station des
Gerts verwendet. Damit diese Operation erfolgreich ausgefhrt wird, muss fr den
Gerteport die Option Set IP PROFINET device name konfiguriert sein.
ulong targetMACAddress = 0x112233445566; // 11:22:33:44:55:66
IProfinetDeviceCollection scannedDevices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out scannedDevices);
if (retVal.Succeeded)
{
//--------------------------------------------------------// Suche nach dem Gert an dieser MAC-Adresse und Einstellen des PROFINET-Namens
//--------------------------------------------------------IProfinetDevice dev = scannedDevices.FindDeviceByMAC(targetMAC);
if (dev != null)
{
retVal = dev.SetProfinetName("new name");
}
100
6.7.3
IProfinetDevice-Ereignisse
6.7.3.1
Ereignis DataChanged
Das Ereignis DataChanged wird von der Schnittstelle IProfinetDevice untersttzt.
Mithilfe dieses Ereignisses kann das Programm berwachen, ob bei einem gegebenen
Gert im Netz nderungen auftreten, die durch andere API-bedingte Operationen verursacht
wurden. Beispielsweise kann das Programm einen Verweis auf ein bestimmtes
IProfinetDevice enthalten, aufgrund dessen es das Gert auf bestimmte nderungen
abhren kann.
Im folgenden Beispiel nimmt der Code eine Verknpfung mit dem Ereignis DataChanged fr
jedes Gert im Netzwerk vor.
private void AttachEvents(IProfinetDeviceCollection devices)
{
foreach (IProfinetDevice dev in devices)
{
dev.DataChanged += new DataChangedEventHandler(Dev_DataChanged);
}
}
private void Dev_DataChanged(object sender, DataChangedEventArgs e)
{
if (e.Type == DataChangedType.OperatingState)
{
}
}
Wenn nun eine Aktion der API einen Betriebsartenwechsel des Gerts hervorruft, wird die
Methode Dev_DataChanged aufgerufen.
Hinweis
Hierdurch wird nicht das Netzwerk im Betrieb aktiv berwacht, sondern die Eigenschaften
von IProfinetDevice werden berwacht. Um das Ereignis auszulsen, muss sich der
Zustand des Objekts ndern.
Klasse DataChangedEventArgs
Der Handler fr das Ereignis DataChanged wird an ein DataChangedEventArgs-Objekt
bergeben. Wie im obigen Beispiel gezeigt, besitzt diese Klasse eine einzige Eigenschaft
(Typ) des Typs DataChangedType.
Siehe auch DataChangedType-Enumeration (Seite 124)
101
6.7.3.2
Ereignis ProgressChanged
Das Ereignis ProgressChanged wird von der Schnittstelle IProfinetDevice untersttzt.
Das Ereignis ermglicht dem Programm die berwachung von Methoden, die lange Zeit in
Anspruch nehmen. Ein Beispiel fr eine solche Methode ist FirmwareUpdate.
Damit das Ereignis genutzt werden kann, wird ein Ereignis-Handler an das Ereignis
angehngt. Der Ereignis-Handler wird automatisch aufgerufen, wenn es zu einer nderung
im Fortschritt einer Operation kommt.
Das folgende Beispiel demonstriert den Einsatz des Handlers. In diesem Beispiel wird eine
Methode gezeigt, welche die Firmware fr ein Gert im Netzwerk aktualisiert. Diese
Operation kann erhebliche Zeit in Anspruch nehmen. Um den Fortschritt der Aktion
berwachen zu knnen, wird ein Ereignis-Handler definiert und an das Ereignis
ProgressChanged angehngt. Nach Beendigung der Firmware-Aktualisierung wird der
Ereignis-Handler wieder vom Ereignis entfernt.
private void UpdateCpuAtAddress(IProfinetDeviceCollection devices,
uint targetIPAddress, string updateFile)
{
IProfinetDevice dev = devices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
dev.ProgressChanged += new
ProgressChangedEventHandler(Dev_ProgressChanged);
dev.FirmwareUpdate(new EncryptedString(""), updateFile, dev.ID, true);
}
{
dev.ProgressChanged -= new
ProgressChangedEventHandler(Dev_ProgressChanged);
}
private void Dev_ProgressChanged(object sender, ProgressChangedEventArgs e)
IProfinetDevice device = sender as IProfinetDevice;
double percent = 0;
if (device != null)
{
if (e.Count != 0)
{
percent = (double)e.Index / (double)e.Count;
string sPercent = e.Action.ToString() + " -> " +
"Index = " +
e.Index.ToString() +
" Count = " +
e.Count.ToString() +
" progress " +
(percent * 100).ToString("0.##") + "%";
}
102
Ausgabetyp
Beschreibung
Action
ProgressAction
Cancel
bool
Count
int
ID
uint
Index
int
Die Hardwarekennung
Die aktuelle bertragene Datenmenge
103
6.8
6.8.1
Klasse IModuleCollection
Die Schnittstelle IProfinetDevice stellt Informationen ber ein beliebiges in die Station
eingestecktes Modul bereit (Signalmodule, Signalboards, CMs, CPs usw.). Die Eigenschaft
Modules gibt eine Sammlung dieser Module aus.
Der folgende Code zeigt den Zugriff auf diese Informationen mithilfe eines (in einem frheren
Beispiel erstellten) IProfinetDevice.
//-------------------------------------------------------// Um sicherzustellen, dass die Informationen aktuell und vollstndig sind,
// muss erst RefreshStatus()aufgerufen werden
//-------------------------------------------------------Result retVal = networkDevice.RefreshStatus(new EncryptedString(""));
if (retVal.Succeeded)
{
//-------------------------------------------------------// Von der Eigenschaft Modules wird eine Sammlung IModule ausgegeben
/-------------------------------------------------------IModuleCollection modules = networkDevice.Modules;
foreach (IModule mod in modules)
{
//------------------------------------------------------// Abrufen der einzelnen Artikelnummern fr jedes Modul an der Zentralstation
//------------------------------------------------------string displayArticleNum = mod.ArticleNumber;
}
}
6.8.2
Schnittstelle IModule
Jedes Modul an der Station wird als eine Schnittstelle IModule reprsentiert. Diese
Schnittstelle stellt eine Teilmenge der fr ein Gert verfgbaren Eigenschaften bereit.
Die Schnittstelle IModule stellt keine Methoden zur Verfgung. Alle an einem Modul
durchgefhrten Operationen mssen am Gert ausgelst werden. Die Schnittstelle IModule
untersttzt die folgenden Eigenschaften:
Ausgabetyp
Comment
string
ArticleNumber
string
Beschreibung
Die Bestell- oder MLFB-Nummer
Hiermit kann der Anwender dem Gert einen Kommentar zuordnen. Dieser wird in der Benutzeroberflche des SIMATIC Automation Tool verwendet
und ist fr API-Operationen nicht relevant.
104
Ausgabetyp
bool
Beschreibung
Zeigt die DNN-Datei fr das Gert an, dass es konfiguriert wurde?
Description
string
Failsafe
FeatureSupport
FirmwareUpdateAllowed
FeatureSupport
FirmwareVersion
string
HardwareID
uint
Name
string
NewFirmwareVersion
string
Selected
bool
SerialNumber
string
Slot
uint
SlotName
string
StationNumber
uint
SubSlot
uint
Supported
bool
105
6.9
Schnittstelle ICPU
6.9.1
// Lassen Sie die Interaktion mit dem Gert ber diese Schnittstelle ablaufen.
//--------------------------------------------
Hinweis
Die Schnittstelle ICPU erbt ihre Einstellungen vom IProfinetDevice. Deshalb werden alle vom
IProfinetDevice untersttzten Eigenschaften und Methoden auch von der Schnittstelle ICPU
untersttzt. Der folgende Abschnitt behandelt daher nur Eigenschaften/Methoden, die
spezifisch fr die Schnittstelle ICPU sind.
106
6.9.2
Ausgabetyp
Beschreibung
RemoteInterfaces
List<IRemoteInterface>
6.9.3
ICPU-Methoden
6.9.3.1
107
6.9.3.2
Sicherungsmethode
Ausgabetyp
Methodenname
Result
Backup
Parameter
Name
Datentyp
Password
EncryptedString
strFile
string
Parametertyp
Beschreibung
Eingang
Eingang
Diese Methode dient zur Sicherung der Daten in einer CPU. Nicht alle CPUs untersttzten
die Funktion zum Sichern/Wiederherstellen. Ob die aktuelle CPU diese Funktion untersttzt,
kann mithilfe der Eigenschaft BackupAllowed berprft werden.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt. Wird diese CPU gefunden, so
wird geprft, ob sie die Sicherungsfunktion untersttzt. Falls ja, wird die Methode Backup
aufgerufen.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
string bkFile = @"C:\MyCPUBackupFile.s7pbkp";
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
foreach (IProfinetDevice dev in devices)
{
ICPU devAsCpu = dev as ICPU;
108
6.9.3.3
Methode GetCurrentDateTime
Ausgabetyp
Methodenname
Result
GetCurrentDateTime
Parameter
Name
Datentyp
Password
EncryptedString
DateTime
System.DateTime
Parametertyp
Beschreibung
Eingang
Ausgang
Mit dieser Methode wird der aktuelle Zeitstempel fr die CPU abgerufen.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
retVal = myNetwork.ScanNetworkDevices(out devices);
if (!retVal.Succeeded)
return;
foreach (IProfinetDevice dev in devices)
{
ICPU devAsCpu = dev as ICPU;
if ((devAsCpu != null) && (devAsCpu.IP == targetIPAddress))
{
DateTime curTime = new DateTime();
109
6.9.3.4
Methode GetDiagnosticsBuffer
Ausgabetyp
Methodenname
Result
GetDiagnosticsBuffer
Parameter
Name
Datentyp
password
EncryptedString
aDiagnosticsItems
List<DiagnosticsItem>
Parametertyp
Beschreibung
Eingang
Ausgang
Mit dieser Methode werden die aktuellen Diagnoseeintrge aus der CPU ausgelesen. Jeder
Eintrag wird als ein Diagnose-Element DiagnosticsItem reprsentiert.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt. Wird diese gefunden, so
werden die Diagnoseinformationen aus der CPU ausgelesen.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
List<DiagnosticsItem> aLogs = new List<DiagnosticsItem>();
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
foreach (IProfinetDevice dev in devices)
{
ICPU devAsCpu = dev as ICPU;
if ((devAsCpu != null) && (devAsCpu.IP == targetIPAddress))
{
retVal = devAsCpu.GetDiagnosticsBuffer(new EncryptedString(""),
out aLogs);
if (retVal.Succeeded)
{
for (int idxLog = 0; idxLog < aLogs.Count; idxLog++)
{
string descr = aLogs[idxLog].Description1;
110
6.9.3.5
Datentyp
System.DateTime
Beschreibung
Uhrzeit, zu der das Diagnose-Ereignis protokolliert wurde.
State
Byte
Eingehend/abgehend
Description1
String
Description2
String
Titel
Detail
Methode GetOperatingState
Ausgabetyp
Methodenname
OperatingState
GetOperatingState
111
6.9.3.6
Methode MemoryReset
Ausgabetyp
Methodenname
Result
MemoryReset
Parameter
Name
Datentyp
password
EncryptedString
Parametertyp
Beschreibung
Eingang
Diese Methode fhrt ein Urlschen des Speichers auf der CPU durch.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt, und wird MemoryReset fr diese
CPU aufgerufen.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
IProfinetDevice dev = devices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
ICPU devAsCpu = dev as ICPU;
if (devAsCpu != null)
{
retVal = devAsCpu.MemoryReset(new EncryptedString(""));
}
112
6.9.3.7
Methode ProgramUpdate
Ausgabetyp
Methodenname
Result
ProgramUpdate
Parameter
Name
Datentyp
password
EncryptedString
strPath
string
Parametertyp
Beschreibung
Eingang
Eingang
Diese Methode fhrt eine Programmaktualisierung auf der CPU durch. Der Parameter
strPath gibt einen Ordner an, der das zu ladende Programm enthlt. Um erfolgreich
aktualisiert zu werden, muss das Programm mit dem TIA Portal generiert und im Format
program memory card gespeichert worden sein.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt, und wird das Programm fr
diese CPU aktualisiert.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
IProfinetDevice dev = devices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
ICPU devAsCpu = dev as ICPU;
if (devAsCpu != null)
{
retVal = devAsCpu.ProgramUpdate(new EncryptedString(""),
@"c:\myFolder\ProgramUpdate");
Hinweis
Die Methode ProgramUpdate ist bei einer fehlersicheren S7-CPU nicht zulssig. Bei einer
fehlersicheren CPU wird diese Operation durch die SIMATIC Automation Tool API blockiert.
Wenn die Software feststellt, dass diese Methode fr eine fehlersichere CPU aufgerufen
wurde, wird ein spezifischer Fehler (ErrorCode.FailsafeAccessNotAllowed) ausgegeben.
113
6.9.3.8
Methode ResetToFactory
Ausgabetyp
Methodenname
Result
ResetToFactory
Parameter
Name
Datentyp
password
EncryptedString
Parametertyp
Beschreibung
Eingang
Hinweis
Die Methode ResetToFactory ist bei einer fehlersicheren S7-CPU nicht zulssig. Bei einer
fehlersicheren CPU wird diese Operation durch die SIMATIC Automation Tool API blockiert.
Wenn die Software feststellt, dass diese Methode fr eine fehlersichere CPU aufgerufen
wurde, wird ein spezifischer Fehler (ErrorCode.FailsafeAccessNotAllowed) ausgegeben.
114
6.9.3.9
Methode Restore
Ausgabetyp
Methodenname
Result
Restore
Parameter
Name
Datentyp
password
EncryptedString
strFile
string
Parametertyp
Beschreibung
Eingang
Eingang
Mithilfe dieser Methode werden die Daten einer frheren Sicherung der CPU
wiederhergestellt. Nicht alle CPUs untersttzen die Funktion zum Sichern/Wiederherstellen.
Ob die aktuelle CPU diese Funktion untersttzt, kann mithilfe der Eigenschaft
RestoreAllowed berprft werden.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt. Wird diese CPU gefunden, so
wird geprft, ob sie die Wiederherstellungsfunktion untersttzt. Falls ja, wird die Methode
Restore aufgerufen.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
string bkFile = @"C:\MyCPUBackupFile.s7pbkp";
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
IProfinetDevice dev = devices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
ICPU devAsCpu = dev as ICPU;
Hinweis
Die Methode Restore ist bei einer fehlersicheren S7-CPU nicht zulssig. Bei einer
fehlersicheren CPU wird diese Operation durch die SIMATIC Automation Tool API blockiert.
Wenn die Software feststellt, dass diese Methode fr eine fehlersichere CPU aufgerufen
wurde, wird ein spezifischer Fehler (ErrorCode.FailsafeAccessNotAllowed) ausgegeben.
115
6.9.3.10
Methode SetOperatingState
Ausgabetyp
Methodenname
Result
SetOperatingState
Parameter
Name
Datentyp
password
EncryptedString
nRequestState
OperatingStateREQ
Parametertyp
Beschreibung
Eingang
Eingang
116
6.9.3.11
Methode SetCurrentDateTime
Ausgabetyp
Methodenname
Result
SetCurrentDateTime
Parameter
Name
Datentyp
password
EncryptedString
time
System.DateTime
Parametertyp
Beschreibung
Eingang
Eingang
Mit dieser Methode wird die aktuelle Zeit fr die CPU eingestellt. Durch diese Aktion werden
die konfigurierten Zeitumwandlungsregeln nicht gendert. Der angegebene Wert fr
DateTime basiert deshalb auf der UTC und nicht auf der Ortszeit.
Im folgenden Beispiel wird das gesamte Industrienetzwerk erfasst und die Uhrzeit fr jedes
CPU-Gert auf die aktuelle Uhrzeit des PG/PC eingestellt.
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
foreach (IProfinetDevice dev in devices)
{
ICPU devAsCpu = dev as ICPU;
if (devAsCpu != null)
{
retVal = devAsCpu.SetCurrentDateTime(new EncryptedString(""),
DateTime.UtcNow);
}
117
6.9.3.12
Methode UploadServiceData
Ausgabetyp
Methodenname
Result
UploadServiceData
Parameter
Name
Datentyp
password
EncryptedString
strPath
string
Parametertyp
Beschreibung
Eingang
Eingang
Mithilfe dieser Methode knnen die Servicedaten aus einer defekten CPU geladen werden.
Im folgenden Beispiel wird die Sammlung IProfinetDeviceCollection daraufhin durchsucht,
ob sie eine CPU unter einer bestimmten IP-Adresse enthlt. Anschlieend wird der
OperatingState (Betriebszustand) der CPU geprft. Wenn die CPU defekt ist, werden die
Servicedaten aus der CPU geladen.
uint targetIPAddress = 0xC0A80001; // 192.168.0.1
string strDiagFolder = @"c:\Diagnostics";
IProfinetDeviceCollection devices = new IProfinetDeviceCollection();
Result retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
IProfinetDevice dev = devices.FindDeviceByIP(targetIPAddress);
if (dev != null)
{
ICPU devAsCpu = dev as ICPU;
if (devAsCpu != null)
{
devAsCpu.RefreshStatus(new EncryptedString(""));
if (devAsCpu.GetOperatingState() == OperatingState.Defective)
{
retVal = devAsCpu.UploadServiceData(new EncryptedString(""),
strDiagFolder);
}
118
6.9.4
Eigenschaften RemoteInterfaces
6.9.4.1
Dezentrale Peripheriemodule
Jede CPU kann unter Umstnden mehrere dezentrale Peripheriemodule untersttzen.
Informationen ber die an diese Remote-Schnittstellen angehngten Gerte sind ber die
Eigenschaft RemoteInterfaces abrufbar.
Fr den Zugriff auf Informationen ber die dezentrale Peripherie muss zunchst die Methode
RefreshStatus in Bezug auf die CPU ausgefhrt werden. Hierdurch wird eine legitimierte
Verbindung zur CPU geffnet, werden die relevanten Informationen ausgelesen und wird die
Verbindung wieder geschlossen.
Das folgende Beispiel zeigt den Zugriff auf diese Informationen fr alle CPUs im Netzwerk.
retVal = myNetwork.ScanNetworkDevices(out devices);
if (retVal.Succeeded)
{
foreach (IProfinetDevice dev in devices)
{
ICPU devAsCpu = dev as ICPU;
//---------------------------------------------------------// Ein Aufruf von RefreshStatus() ist notwendig, um Informationen ber dezentrale
// Netzwerke zu erfassen
//---------------------------------------------------------retVal = devAsCpu.RefreshStatus(new EncryptedString(""));
if (!retVal.Succeeded)
return;
List<IRemoteInterface> decentalNets = devAsCpu.RemoteInterfaces;
119
6.9.4.2
IRemoteInterface-Eigenschaften
Die Schnittstelle IRemoteInterface untersttzt die folgenden Eigenschaften. Diese
Eigenschaften sind schreibgeschtzt.
Name der Eigenschaft
Devices
InterfaceType
Name
Ausgabetyp
Beschreibung
List<IBaseDevice>
RemoteInterfaceType
string
Die Eigenschaft Devices kann dazu verwendet werden, Operationen mit Wirkung auf ein
gesamtes dezentrales Netzwerk auszufhren. Jedes Gert in einem dezentralen Netzwerk
wird durch eine Schnittstelle IBaseDevice reprsentiert. Dieser Schnittstelle ist eine
Teilmenge der Eigenschaften zugeordnet, die fr ein IProfinetDevice verfgbar sind. Die
Schnittstelle bietet den begrenzten Funktionsumfang, der fr diese Gerte in der SIMATIC
Automation Tool API vorgesehen ist.
Die folgenden Eigenschaften sind an der Schnittstelle IBaseDevice verfgbar:
Name der Eigenschaft
Ausgabetyp
Beschreibung
ArticleNumber
string
BackupAllowed
FeatureSupport
ChangeModeAllowed
FeatureSupport
Comment
string
Configured
bool
Description
string
Failsafe
FeatureSupport
120
DeviceFamily
FirmwareUpdateAllowed
FeatureSupport
FirmwareVersion
string
HardwareID
uint
MemoryResetAllowed
FeatureSupport
Modules
IModuleCollection
Zu welcher Gertefamilie gehrt das Gert? Weitere Informationen finden Sie in der
Beschreibung der DeviceFamily-Enumeration.
Untersttzt dieses Gert Firmware-Aktualisierungen?
Die aktuelle Firmware-Version
des Gerts
Die eindeutige Kennung fr
jedes Gert und Modul in der
Station. Sie wird als eindeutige
Kennung bei Ausfhrung einer
Operation FirmwareUpdate
verwendet.
Untersttzt das Gert das Urlschen des Speichers?
Eine Sammlung der in die Station eingesteckten Module.
Siehe auch Klasse IModuleCollection und Moduleigenschaften
(Seite 104)
Name
string
NewFirmwareVersion
string
ProgramUpdateAllowed
FeatureSupport
ProjectData
Uint64
ResetToFactoryAllowed
FeatureSupport
RestoreAllowed
FeatureSupport
Selected
bool
SerialNumber
string
Slot
uint
121
string
StationNumber
uint
SubSlot
uint
Supported
bool
122
Bei diesem Beispiel werden alle PROFINET-Remoteschnittstellen erfasst und es wird eine
Liste der Bestellnummern fr alle dezentralen Stationen im Industrienetzwerk erstellt.
Da IBaseDevice auch die Eigenschaft Modules untersttzt, knnte das obige Beispiel einfach
erweitert werden und es knnten ber die dezentralen Stationen hinaus auch die lokal
gesteckten Module an jeder Station erfasst werden.
123
6.10
Enumerationen
6.10.1
DataChangedType
Diese Enumeration legt die mglichen Argumentwerte fr den DataChangedEventHandler
(Seite 101) fest.
OperatingState
RackInformation
6.10.2
DeviceFamily
Diese Enumeration gibt die Produktfamilie eines Hardware-Elements an.
CPU1200
CPU1500
ET200AL
ET200ECO
ET200M
ET200MP
ET200PRO
ET200S
ET200SP
NetworkDevice
None
124
6.10.3
ErrorCode
Diese Enumeration umfasst alle mglichen Ausgabewerte fr ein Result-Objekt. Es gibt zwei
Kategorien von Werten.
Die folgenden Werte werden nur von einer legitimierten CPU-Verbindung ausgegeben:
AccessDenied
ServiceTimeout
Disconnected
FailedToDisconnect
TooManyRequests
TooManySessions
SessionDelegitimated
NotChangableInRun
NotEnoughMemoryAvailable
InvalidFileName
MultiESNotSupported
ServiceAborted
MultiESLimitExceeded
MultiESIncompatibleOtherESVersion
LegitimizationFailsafeLevelNotAllowed
Die folgenden Werte sind nicht auf eine legitimierte Verbindung beschrnkt:
OK
GenericFailure
ProjectIPMismatch
CPUFailedToEnterRunMode
MACAddressIsNotValid
IPAddressIsNotValid
SubnetMaskIsNotValid
GatewayIsNotValid
ProfinetNameIsNotValid
InvalidPointer
SetIPErrorDueProjectSettings
UnsupportedCPU
FirmwareUpdateModuleNotConfigured
DeviceDoesNotSupportFirmwareUpdate
SetNameErrorDueProjectSettings
FirmwareUpdateModuleNotSupported
OperationNotSupportedByThisDevice
ProgramUpdateNotSupported
FirmwareFileNotCompatibleToNew
FirmwareFileNotCompatibleToOld
FirmwareFileNotCompatibleNotSame
FirmwareFileNotCompatibleSame
FirmwareFileNotCompatibleBuildType
BackupRestoreNotSupported
ResetToFactoryDefaultsNotSupported
MemoryResetNotSupported
OperationCanceledByUser
FirmwareVersionMatch
125
6.10.4
OperatingState
Diese Enumeration definiert die mglichen Zustnde, die von einem Aufruf der Methode
GetOperatingState (Seite 111) ausgegeben werden knnen.
NotSupported
StopFwUpdate
StopSelfInitialization
Stop
Startup
Run
Halt
LinkUp
Update
Defective
ErrorSearch
NoPower
CiR
STOPwithoutODIS
RunODIS
6.10.5
OperatingStateREQ
Diese Enumeration definiert die mglichen Zustnde, die bei einem Aufruf der Methode
GetOperatingState (Seite 116) angefordert werden knnen.
Stop
Run
126
6.10.6
ProgressAction
Diese Enumeration legt die mglichen Argumentwerte fest, die an einen
ProgressChangedEventHandler (Seite 102) gesendet werden knnen.
Invalid
Connecting
Reconnecting
Disconnecting
Initializing
Updating
Processing
Downoading
Uploading
Resetting
Rebooting
Verifying
Finished
6.10.7
RemoteInterfaceType
Diese Enumeration definiert die mglichen Zustnde, die von einem Aufruf der Eigenschaft
InterfaceType an der Schnittstelle IRemoteInterfaces (Seite 119) ausgegeben werden
knnen.
None
Profinet
Profibus
ASi
127
6.10.8
FeatureSupport
Das SIMATIC Automation Tool zeigt mithilfe dieser Enumeration, welche Funktionen die
einzelnen Gerte untersttzen.
Uninitialized
BackupAllowed
ChangeModeAllowed
FailsafeSupported
FirmwareUpdateAllowed
MemoryResetAllowed
PasswordAllowed
ProgramUpdateAllowed
ResetToFactoryAllowed
NotFailsafe
RestoreAllowed
Um zu prfen, ob ein Gert eine bestimmte Funktion untersttzt, vergleichen Sie den Wert
der entsprechenden Eigenschaft mit dem fr diese Funktion definierten Wert von
FeatureSupport. Beispielsweise wird mit folgendem Code geprft, ob ein Gert die Funktion
zum Urlschen des Speichers untersttzt, bevor diese Operation versucht wird:
List<ICPU> cpus = devices.FilterOnlyCpus();
foreach (ICPU cpu in cpus)
{
if (cpu.MemoryResetAllowed == FeatureSupport.MemoryResetAllowed)
{
cpu.MemoryReset(new EncryptedString(string.Empty));
}
}
128
7.2
V1.x
V2.x
V3.x
V4.0
V4.1
Fehlersicher
V4.1
LED-Blinken
Programmaktualisierung
Firmware-Aktualisierung
129
7.3
V1.0
V1.1
V1.5
V1.6
V1.7
V1.8
V1.5
V1.6
V1.7
V1.8
LED-Blinken
Programmaktualisierung
Firmware-Aktualisierung
Sichern
Wiederherstellen
130
7.4
V1.6
V1.7
V1.8
V1.7
V1.8
LED-Blinken
Programmaktualisierung
Firmware-Aktualisierung
Sichern
Wiederherstellen
131
7.5
V1.0
V1.1
V2.1
V2.2
V3.0
V3.1
V3.2
LED-Blinken
7.6
V1.0
V2.0
V3.0
LED-Blinken
132
7.7
V1.0
LED-Blinken
133
7.8
V3.x
V5.x
V6.x
V7.x
LED-Blinken
Hinweis
Keine Untersttzung der ET 200S CPU
Die ET 200S CPU wird vom SIMATIC Automation Tool nicht untersttzt
134
7.9
V2.x
V3.x
V4.x
LED-Blinken
7.10
V6.x
V7.x
LED-Blinken
135
7.11
V2.x
V4.x
V5.x
V6.x
V7.x
LED-Blinken
Hinweis
Die ET 200pro CPU wird nicht untersttzt
Die ET 200pro CPU wird vom SIMATIC Automation Tool nicht untersttzt
136
Netzwerkbeispiel
Dieses Beispiel zeigt eine Netzwerkkonfiguration des TIA Portals und die API-Schnittstellen,
welche die vernetzten Gerte darstellen.
Hierbei gelten folgenden Annahmen: Alle Gerte in der obersten Zeile (PLC_1, IO device_1
und PLC_2) seien mit einem externen Ethernet-Netzwerk (nicht abgebildet) verbunden und
ermglichen so den direkten Zugriff durch die SIMATIC Automation Tool API. Ferner sei
angenommen, dass das mit PLC_2 verbundene PROFINET-Subnetz nicht mit dem externen
Netzwerk verbunden ist.
Die SIMATIC Automation Tool API kann fr alle PLCs und Peripheriestationen in dieser
Konfiguration Informationen und Operationen bereitstellen.
137
138
139
140
Index
Diagnosepuffer, 58, 58
A
API (Anwendungsschnittstelle)
AutomationToolAPI.dll, 17, 76
bersicht ber die Architektur, 74
Versionskompatibilitt, 73
Automation Tool - bersicht, 9
B
Befehle
ndern der IP-Adresse, 34
ndern des PROFINET-Namens, 35
Ausfhrungsreihenfolge, 59
Einstellen der Uhrzeit in der CPU, 57
Importieren/Exportieren, 62
Installieren neuer Firmware, 43
Laden eines neuen Programms, 39
Laden von Servicedaten, 55
LED-Blinken, 38
Lesen des Diagnosepuffers, 58, 58
Rcksetzen auf Werkseinstellungen, 52
RUN/STOP, 36
Save/Save as, 61
Scannen, 28
Sichern von Gerten, 48
Urlschen des Speichers, 54
Wiederherstellen von Namen, 48
Beispielnetzwerk, 137
Betriebsart RUN, 36
Betriebsart STOP, 36
E
Eigenschaft CurrentNetworkInterface (API), 82
Einrichten der Kommunikation, 24
Einstellen der Uhrzeit, 57
Elemente von IProfinetDevice Collection (API), 85
Ereignis DataChanged (API), 101
Ereignis ProgressChanged (API), 102
ErrorCode (API), 125
F
FeatureSupport (API), 128
Filtern von Gertezeilen, 28
Firmware-Aktualisierung, 43
G
Gertetabelle, 28
Gerteuntersttzung
ET 200AL, 133
ET 200eco, 135
ET 200M, 135
ET 200MP, 132
ET 200pro, 136
ET 200S, 134
ET 200SP, 132
ET 200SP CPU, 131
nicht erkannte Gerte, 129
S7-1200, 129
S7-1500, 130
C
CPU
IP-Konfigurationsvoraussetzungen, 22
Konfigurationsvoraussetzungen fr PROFINETNamen, 22
CSV-Datei, 62
D
DataChangedType (API), 124
DeviceFamily (API), 124
Dezentrale Module, 119
H
Hotline, 3
I
ICPU (API)
Eigenschaften, 107
Schnittstelle, 106
IModule (API)
IModuleCollectionClass, 104
Schnittstelle, 104
141
Index
IP-Adresse
Gerteeinstellung, 34
Konfigurationsvoraussetzungen, 22
IProfinetDevice (API)
Eigenschaften, 91
Iteration von Elementen der Sammlung, 84
IRemoteInterface-Eigenschaften (API), 120
K
Klasse EncryptedString (API), 77
Klasse Result (API), 78
Konfigurationsvoraussetzungen fr PROFINETNamen, 22
Kontaktdaten, 3
Kunden-Support, 3
L
Laden von Servicedaten, 55
M
Men
Edit, 66
File, 65
Help, 70
Network, 67
Tools, 68
Methode Backup (API), 108
Methode FilterByDeviceFamily (API), 85
Methode FilterOnlyCPUs (API), 86
Methode FindDeviceByIP (API), 87
Methode FindDeviceByMAC (API), 88
Methode FirmwareUpdate (API), 95
Methode FlashLED (API), 97
Methode GetCurrentDateTime (API), 109
Methode GetDiagnosticsBuffer (API), 110
Methode GetOperatingState (API), 111
Methode MemoryReset (API), 112
Methode QueryNetworkInterfaceCards (API), 81
Methode ReadFromStream (API), 90
Methode RefreshStatus (API), 94
Methode ResetToFactory (API), 114
Methode Restore (API), 115
Methode ScanNetworkDevices (API), 83
Methode SetCurrentDateTime (API), 117
Methode SetCurrentNetworkInterface (API), 82
Methode SetIP (API), 99
Methode SetOperatingState (API), 116
Methode SetProfinetName (API), 100
N
Name der SAT-Dateierweiterung, 61
Network-Constructor (API), 80
Netzwerk
Optionen, 15
Zugriff, 13
Netzwerkbeispiel, 137
O
OperatingState (API), 126
OperatingStateReq (API), 126
P
Passwort fr fehlersicheren Betrieb (API), 78
ProgramUpdate (API), 113
ProgressAction (API), 127
R
RemoteInterfaceType (API), 127
Remote-Module (API), 119
Rcksetzen auf Werkseinstellungen, 52
Rcksetzmethode (API), 98
S
Scannen eines Netzwerks, 28
Service und Support, 3
Sichern von Gerten, 48
Support, 3
Symbole der Symbolleiste, 71
T
Tastenkombinationen, 72
Technischer Support, 3
Technischer Support von Siemens, 3
U
Untersttzte Betriebssysteme, 19
Urlschen des Speichers, 54
142
Index
W
Wiederherstellen von Namen, 48
143
Index
144