Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

SIMATIC
S7
S7-1200 Automatisierungssystem
Systemhandbuch
V4.5 05/2021
A5E02486681-AO
Vorwort
Produktübersicht
Neue Funktionen
STEP 7
Programmiersoftware
Einbau
PLC-Grundlagen
Gerätekonfiguration
Programmierkonzepte
Anweisungen
Erweiterte Anweisungen
Technologieanweisungen
Kommunikation
Webserver
Kommunikationsprozessor
und Modbus-TCP
TeleService-
Kommunikation (SMTP-E-
Mail)
Online- und Diagnose-Tools
Technische Daten
Berechnung der
Leistungsbilanz
Bestellinformationen
Geräteaustausch und
Ersatzteilkompatibilität
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
C
D

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens SIMATIC S7 Serie

  • Seite 1 Vorwort Produktübersicht Neue Funktionen STEP 7 SIMATIC Programmiersoftware Einbau S7-1200 Automatisierungssystem PLC-Grundlagen Gerätekonfiguration Programmierkonzepte Systemhandbuch Anweisungen Erweiterte Anweisungen Technologieanweisungen Kommunikation Webserver Kommunikationsprozessor und Modbus-TCP TeleService- Kommunikation (SMTP-E- Mail) Online- und Diagnose-Tools Technische Daten Berechnung der Leistungsbilanz Bestellinformationen Geräteaustausch und Ersatzteilkompatibilität V4.5 05/2021 A5E02486681-AO...
  • Seite 2: Qualifiziertes Personal

    Beachten Sie Folgendes: WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und...
  • Seite 3: Erforderliche Grundkenntnisse

    Know-how auf der Kundensupport-Website (https://support.industry.siemens.com/cs/ww/de) Falls Sie technische Fragen haben, eine Schulung benötigen oder S7-Produkte bestellen wollen, wenden Sie sich bitte an Ihre Siemens-Vertretung. Das technisch geschulte Vertriebspersonal verfügt über sehr spezifische Kenntnisse zu Einsatzmöglichkeiten und Prozessen sowie zu den verschiedenen Siemens-Produkten und kann Ihnen deshalb am schnellsten und besten weiterhelfen, wenn Probleme auftreten.
  • Seite 4: Dokumentation Und Information

    Website auf. Klicken Sie dann auf die Option "Dokumentation". Um die Funktion der Dokumentation unter mySupport nutzen zu können, müssen Sie sich als registrierter Benutzer anmelden. • Die Website Siemens Industry Online-Support bietet außerdem FAQs und andere hilfreiche Dokumente für S7-1200 und STEP 7. • Im technischen Forum unter Service & Support (https:// support.industry.siemens.com/tf/ww/de/?Language=de&onlyInternet=False) können Sie...
  • Seite 5 Weiterführende Informationen zu möglichen Schutzmaßnahmen im Bereich Industrial Security finden Sie unter (https://www.siemens.com/industrialsecurity). Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Produkt-Updates anzuwenden, sobald sie zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-...
  • Seite 6 Vorwort S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 7 Inhaltsverzeichnis Vorwort ..............................3 Produktübersicht ..........................27 Einführung in den S7-1200 PLC ..................27 Erweiterungsfähigkeit der CPU ................... 31 Grundlegende HMI-Panels....................32 Neue Funktionen ..........................35 STEP 7 Programmiersoftware ......................37 Systemvoraussetzungen..................... 37 Einfaches Arbeiten mit unterschiedlichen Ansichten ............39 Kompatibilität zwischen STEP 7 und der S7-1200..............
  • Seite 8 Inhaltsverzeichnis 5.1.3.12 Aktualisierungs-OB ......................84 5.1.3.13 Profil-OB ..........................84 5.1.3.14 OB MC-Servo- und MC-Interpolator..................85 5.1.3.15 MC-PreServo ........................85 5.1.3.16 MC-PostServo ........................86 5.1.3.17 Prioritäten und Warteschlange für die Ausführung von Ereignissen ........86 5.1.4 Überwachen und Konfigurieren der Zykluszeit ..............90 5.1.5 CPU-Speicher ........................
  • Seite 9 Inhaltsverzeichnis 6.6.1 Übersicht ......................... 153 6.6.2 Filterzeiten für Digitaleingänge einrichten ................ 155 6.6.3 Impulsabgriff ........................156 Mehrsprachigen Support konfigurieren................158 Schutz & Security ......................160 6.8.1 PLC-Security-Einstellungen im Security-Assistenten festlegen..........160 6.8.2 Schutz vertraulicher PLC-Konfigurationsdaten ..............161 6.8.3 Zugriffsschutz für die CPU....................163 6.8.4 Verbindungsmechanismen konfigurieren................
  • Seite 10 Inhaltsverzeichnis 7.9.4 Aufrufstruktur zur Prüfung der Aufrufhierarchie ............... 208 Anweisungen ............................. 209 Bitverknüpfungen ......................209 8.1.1 Bitverknüpfungsanweisungen ..................209 8.1.2 Setz- und Rücksetzoperationen ..................212 8.1.3 Operationen Steigende Flanke und Fallende Flanke ............214 Funktionsweise der Zeiten ....................217 Funktionsweise der Zähler ....................225 Funktionsweise von Vergleichern ..................
  • Seite 11 Inhaltsverzeichnis Umwandlungsoperationen....................285 8.7.1 CONV (Wert umwandeln) ....................285 8.7.2 Umwandlungsanweisungen in SCL................... 286 8.7.3 ROUND (Zahl runden) und TRUNC (Ganzzahl erzeugen)............ 289 8.7.4 CEIL und FLOOR (Aus Gleitpunktzahl nächsthöhere und nächstniedere Ganzzahl erzeugen)........................290 8.7.5 SCALE_X (Skalieren) und NORM_X (Normieren)..............291 8.7.6 Variant-Umwandlungsanweisungen .................
  • Seite 12 Inhaltsverzeichnis 9.2.1 Datentyp String........................ 336 9.2.2 S_MOV (Zeichenkette verschieben) .................. 337 9.2.3 Anweisungen für die Zeichenkettenkonvertierung ............337 9.2.3.1 Anweisungen S_CONV, STRG_VAL und VAL_STRG (In/von Zeichenkette und Zahlenwert umwandeln) ........................337 9.2.3.2 Anweisungen Strg_TO_Chars und Chars_TO_Strg (In/aus Zeichenkette und Array aus CHAR umwandeln)......................
  • Seite 13 Inhaltsverzeichnis 9.5.4 Verzögerungsalarme ......................414 9.5.5 Anweisungen DIS_AIRT und EN_AIRT (Ausführung von Alarmen höherer Priorität und asynchronen Fehlerereignissen verzögern/aktivieren) ............417 Alarme ..........................418 9.6.1 Gen_UsrMsg (Anwenderdiagnosemeldungen erzeugen)........... 418 Diagnose (PROFINET oder PROFIBUS) ................420 9.7.1 Diagnoseanweisungen..................... 420 9.7.2 RD_SINFO (Startinformation des aktuellen OBs auslesen)..........421 9.7.3 LED (LED-Status lesen) .....................
  • Seite 14 Inhaltsverzeichnis 9.13 Handhabung von Dateien ....................535 9.13.1 FileReadC: Datei von Memory Card lesen ................. 535 9.13.2 FileWriteC: Datei auf die Memory Card schreiben ............. 538 9.13.3 FileDelete: Datei auf der Memory Card löschen ..............540 Technologieanweisungen........................543 10.1 Zählen (schnelle Zähler)....................543 10.1.1 Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern)............
  • Seite 15 Inhaltsverzeichnis 10.3.1 PID-Funktionalität ......................584 10.3.2 PID-Anweisungen ......................584 10.3.2.1 PID-Funktionalität ......................584 10.3.2.2 Anweisung PID_Compact ....................585 10.3.2.3 Anweisung PID_3Step ...................... 586 10.3.2.4 Anweisung PID_Temp....................... 587 10.3.3 Weitere Informationen zum PID-Regler der S7-1200............587 Kommunikation ..........................589 11.1 Überblick ......................... 589 11.2 Secure Communication und Legacy-Kommunikation ............
  • Seite 16 Inhaltsverzeichnis 11.5.9.4 Testen Ihres PROFINET-Netzwerks..................730 11.5.10 Kommunikation HMI/PLC....................731 11.5.10.1 Konfigurieren der logischen Netzwerkverbindungen zwischen zwei Geräten ..... 732 11.5.11 Kommunikation PLC/PLC....................732 11.5.11.1 Konfigurieren der logischen Netzwerkverbindungen zwischen zwei Geräten ..... 733 11.5.11.2 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren ........734 11.5.11.3 Sende- und Empfangsparameter konfigurieren ..............
  • Seite 17 Inhaltsverzeichnis 11.7.2 Datenaustausch zwischen dem Anwenderprogramm und AS-i-Slaves........ 793 11.7.2.1 STEP 7 Basic konfigurieren....................793 11.7.2.2 Slaves mit STEP 7 konfigurieren ..................795 11.7.3 Anweisungen für die dezentrale Peripherie............... 797 11.7.4 Mit AS-i-Online-Werkzeugen arbeiten ................797 11.8 S7-Kommunikation ......................799 11.8.1 GET und PUT (Aus remoter CPU auslesen und schreiben) ..........
  • Seite 18 Inhaltsverzeichnis 12.7.4 Einleitung ........................866 12.7.5 Start ..........................867 12.7.6 Diagnose ......................... 868 12.7.7 Diagnosepuffer ........................ 870 12.7.8 Modulinformationen......................872 12.7.9 Kommunikation ....................... 876 12.7.10 Variablenstatus ........................ 879 12.7.11 Beobachtungstabellen ..................... 881 12.7.12 Online-Sicherung ......................883 12.7.13 Datenprotokollseite......................886 12.7.14 Anwenderdateien ......................
  • Seite 19 Inhaltsverzeichnis 12.9.2 Eingeschränkte Funktionen, wenn Cookies in den Internetoptionen nicht erlaubt sind ..938 12.9.3 Regeln für die Eingabe von Variablennamen und Werten ..........939 12.9.4 Datenprotokolle im CSV-Format in nicht amerikanische/englische Versionen von Microsoft Excel importieren ..................... 939 Kommunikationsprozessor und Modbus-TCP ..................941 13.1 Mit den seriellen Kommunikationsschnittstellen arbeiten..........
  • Seite 20 Inhaltsverzeichnis 13.5 Modbus-Kommunikation....................1017 13.5.1 Überblick zur Kommunikation mittels Modbus RTU und Modbus TCP....... 1017 13.5.2 Modbus TCP........................1020 13.5.2.1 Übersicht ........................1020 13.5.2.2 Version der Modbus TCP-Anweisungen auswählen ............1021 13.5.2.3 Modbus TCP-Anweisungen..................... 1022 13.5.2.4 Beispiele für Modbus TCP ....................1084 13.5.3 Modbus RTU ........................
  • Seite 21 Inhaltsverzeichnis 13.9.2 Version der Modbus RTU-Anweisungen auswählen ............1165 13.9.3 Ältere Modbus RTU-Anweisungen .................. 1166 13.9.3.1 MB_COMM_LOAD (Port am PtP-Modul für Modbus RTU konfigurieren) ......1166 13.9.3.2 MB_MASTER (Über den PtP-Port als Modbus RTU-Master kommunizieren) ....... 1169 13.9.3.3 MB_SLAVE (Über den PtP-Port als Modbus RTU-Slave kommunizieren) ......1175 13.9.4 Beispiel für Modbus RTU in älteren Systemen..............
  • Seite 22 15.19.2 Sichern einer Online-CPU ....................1248 15.19.3 Wiederherstellen einer CPU .................... 1251 Technische Daten..........................1253 Siemens-Website für Online-Support ................1253 Allgemeine technische Daten ..................1253 Anschlussbelegung PROFINET-Schnittstellenport X1 ............1262 CPU 1211C ........................1263 A.4.1 Allgemeine technische Daten und Leistungsmerkmale............ 1263 A.4.2...
  • Seite 23 Inhaltsverzeichnis CPU 1215C ........................1300 A.7.1 Allgemeine technische Daten und Leistungsmerkmale............ 1300 A.7.2 Von der CPU 1215C unterstützte Zeiten, Zähler und Codebausteine ........ 1302 A.7.3 Digitale Eingänge und Ausgänge..................1306 A.7.4 Analogeingänge und -ausgänge ..................1308 A.7.4.1 Schrittantwort der integrierten analogen Eingänge der CPU..........1308 A.7.4.2 Abtastzeit der integrierten analogen Ports der CPU ............
  • Seite 24 Inhaltsverzeichnis A.13 Digitale Signalboards (SBs)..................... 1385 A.13.1 Technische Daten des SB 1221 200 kHz Digitaleingabe ........... 1385 A.13.2 Technische Daten des SB 1222 200 kHz Digitalausgabe ..........1387 A.13.3 Technische Daten des SB 1223 200 kHz Digitalein-/Digitalausgabe ........1390 A.13.4 Technische Daten für das SB 1223 mit 2 x 24-V-DC-Eingang / 2 x 24-V-DC-Ausgang..
  • Seite 25 Inhaltsverzeichnis A.22.5 SM 1238 Energy Meter....................1435 A.22.6 SIWAREX Wägeelektronik ....................1436 Berechnung der Leistungsbilanz ..................... 1437 Bestellinformationen ........................1441 CPU-Module........................1441 Signalmodule (SMs), Signalboards (SBs) und Batterieboards (BBs) ........1441 Kommunikation ......................1443 Fehlersichere CPUs und Signalmodule ................1444 Sonstige Module......................
  • Seite 26 Inhaltsverzeichnis S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 27: Einführung In Den S7-1200 Plc

    Produktübersicht Einführung in den S7-1200 PLC Die Steuerung S7-1200 bietet Ihnen die erforderliche Flexibilität und Leistung zur Steuerung einer breiten Palette von Geräten für Ihre Automatisierungslösungen. Durch den kompakten Aufbau, die flexible Konfiguration und einen leistungsstarken Befehlssatz eignet sich die S7-1200 hervorragend für eine große Bandbreite von Steuerungsanwendungen.
  • Seite 28 Produktübersicht 1.1 Einführung in den S7-1200 PLC ① Stromanschluss ② Steckplatz für eine Memory Card unter der oberen Ab‐ deckklappe ③ Steckbarer Klemmenblock für die Anwenderverdrah‐ tung (hinter den Abdeck‐ klappen) ④ Status-LEDs für die integrier‐ ten E/A ⑤ PROFINET-Anschluss (auf der Unterseite der CPU) Verschiedene Sicherheitsfunktionen schützen den Zugriff auf die CPU und das Steuerungsprogramm:...
  • Seite 29 Produktübersicht 1.1 Einführung in den S7-1200 PLC Merkmal CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C Signalboard (SB), Batterieboard (BB) oder Kommunikationsboard (CB) Kommunikationsmodule (CM) (Anbau links) Schnelle Zähler Summe Bis zu 6 konfiguriert für die Verwendung integrierter oder SB-Eingänge 1 MHz Eb.2 bis Eb.5 100/...
  • Seite 30 Produktübersicht 1.1 Einführung in den S7-1200 PLC Tabelle 1-2 Von der S7-1200 unterstützte Bausteine, Zeiten und Zähler Element Beschreibung Bausteine OB, FB, FC, DB Grö‐ CPU-Variante CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C ße Codebausteine 50 KB 64 KB 64 KB 64 KB...
  • Seite 31: Erweiterungsfähigkeit Der Cpu

    Produktübersicht 1.2 Erweiterungsfähigkeit der CPU Erweiterungsfähigkeit der CPU Die Produktfamilie S7-1200 bietet eine Vielzahl von Modulen und steckbaren Boards zur Erweiterung der CPU um zusätzliche E/A oder andere Kommunikationsprotokolle. Ausführliche Informationen zu bestimmten Modulen finden Sie in den technischen Daten (Seite 1253). ①...
  • Seite 32: Grundlegende Hmi-Panels

    Digitale E/A • Analoge E/A • RTD und Thermoelement • SM 1278 IO-Link-Master • SM 1238 Energy Meter (https:// support.industry.siemens.com/cs/ww/d e/view/109483435) ① Status-LEDs ② Schiebelasche Busstecker ③ Steckbarer Klemmenblock für die Anwenderverdrah‐ tung Kommunikationsmodule (CMs) und Kom‐ munikationsprozessoren (CPs) erweitern die CPU um verschiedene Kommunikations‐...
  • Seite 33 Produktübersicht 1.3 Grundlegende HMI-Panels • KTP900 Basic: 9"-Touchscreen mit 8 konfigurierbaren Tasten, Auflösung 800 x 480 und 800 Variablen • KTP1200 Basic: 12" Touchscreen mit 10 konfigurierbaren Tasten, Auflösung 800 x 480 und 800 Variablen • KTP 1200 Basic DP: 12" Touchscreen mit 10 konfigurierbaren Tasten, Auflösung 800 x 400 und 800 Variablen S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 34 Produktübersicht 1.3 Grundlegende HMI-Panels S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 35: Neue Funktionen

    Neue Funktionen Die folgenden Funktionen sind in der Version 4.5 neu hinzugekommen: • S7-1200 OPC UA (Seite 813) Erweiterung: – Servermethoden-Aufrufe (Remote Procedure Calls) – Strukturierte Datentypen und Array-Datentypen – Verbesserte Diagnose • Neue Anweisungen: – Die Anweisung GetSMCInfo ruft Informationen über die gesteckte SIMATIC Memory Card –...
  • Seite 36 Neue Funktionen • CCC-Zulassung für S7-1200 Produkte Nicht alle S7-1200 Varianten können nach diesen Normen (Seite 1253) zertifiziert werden, und der Zertifizierungszustand kann sich ohne Ankündigung ändern. Es liegt in der Verantwortung des Anwenders, geltende Zertifizierungen anhand der auf dem Produkt angebrachten Zulassungen zu ermitteln.
  • Seite 37: Systemvoraussetzungen

    STEP 7 Programmiersoftware STEP 7 bietet eine bedienerfreundliche Umgebung zum Entwickeln, Bearbeiten und Beobachten der Logik zur Steuerung Ihrer Anwendung. Sie bietet auch die Werkzeuge zum Konfigurieren aller Geräte in Ihrem Projekt, wie PLC- und HMI-Geräte. Damit Sie die Informationen finden, die Sie benötigen, verfügt STEP 7 über eine umfangreiche Online-Hilfe.
  • Seite 38 STEP 7 Programmiersoftware 3.1 Systemvoraussetzungen Hardware/Software Voraussetzungen Betriebssysteme Sie können STEP 7 mit den folgenden Betriebssystemen verwen‐ den: • Windows 7 (64 Bit): – Windows 7 Home Premium SP1 ** – Windows 7 Professional SP1 – Windows 7 Enterprise SP1 –...
  • Seite 39: Einfaches Arbeiten Mit Unterschiedlichen Ansichten

    STEP 7 Programmiersoftware 3.2 Einfaches Arbeiten mit unterschiedlichen Ansichten Einfaches Arbeiten mit unterschiedlichen Ansichten STEP 7 stellt eine benutzerfreundliche Umgebung bereit, in der Sie die Steuerungslogik entwickeln, die HMI-Visualisierung konfigurieren und die Netzwerkkommunikation einrichten können. Zur Steigerung Ihrer Produktivität bietet STEP 7 zwei unterschiedliche Ansichten des Projekts: eine tätigkeitsorientierte Anzahl von Portalen für die einzelnen Funktionen (Portalansicht) und eine projektorientierte Ansicht der Elemente im Projekt (Projektansicht).
  • Seite 40: Kompatibilität Zwischen Step 7 Und Der S7

    STEP 7 Programmiersoftware 3.3 Kompatibilität zwischen STEP 7 und der S7-1200 jeweils die konfigurierbaren Eigenschaften. Das Inspektorfenster verfügt außerdem über Register, unter denen Diagnoseinformation und weitere Meldungen angezeigt werden. In der Editorleiste werden alle derzeit geöffneten Editoren angezeigt. Mit der Editorleiste arbeiten Sie so schneller und effizienter.
  • Seite 41: Kompatibilität Im Hinblick Auf Secure Communication

    STEP 7 Programmiersoftware 3.3 Kompatibilität zwischen STEP 7 und der S7-1200 Sie können keine Projekte einer S7-1200 CPU V1.0, V2.0 oder V3.0 in eine S7-1200 CPU V4.x laden. Unter Ersatz einer CPU V3.0 durch eine CPU V4.x (Seite 1456) finden Sie Richtlinien zum Aktualisieren älterer Projekte auf ein Projekt, das Sie in das Zielsystem laden können.
  • Seite 42 STEP 7 Programmiersoftware 3.3 Kompatibilität zwischen STEP 7 und der S7-1200 S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 43: Einbau

    Einbau Richtlinien für den Einbau von S71200 Geräten Die S7-1200 Geräte wurden so ausgelegt, dass sie einfach einzubauen sind. Sie können eine S7-1200 entweder in einer Schalttafel oder auf einer Standard-Hutschiene einbauen; die S7‐ 1200 kann horizontal oder vertikal eingebaut werden. Die kompakte Größe der S7-1200 macht eine effiziente Platzausnutzung möglich.
  • Seite 44 Einbau 4.1 Richtlinien für den Einbau von S71200 Geräten Berücksichtigen Sie auch, wie Sie die Verdrahtung der Geräte in der Schalttafel verlegen. Vermeiden Sie es, Niederspannungssignalleitungen und Kommunikationskabel in derselben Kabeltrasse wie AC-Versorgungsleitungen und schnellschaltende DC-Starkstromleitungen zu verlegen. Lassen Sie genügend Abstand für Kühlung und Verdrahtung Die S71200 Geräte sind für natürliche Wärmeabfuhr durch Konvektion ausgelegt.
  • Seite 45 Einbau 4.2 Leistungsbilanz Leistungsbilanz Ihre CPU besitzt eine interne Spannungsversorgung, die neben der CPU die Signalmodule, Signalboards, Kommunikationsmodule und andere 24-V-DC-Verbraucher speist. In den Technischen Daten (Seite 1253) finden Sie Informationen zur 5-V-DC-Leistungsbilanz Ihrer CPU und zum 5-V-DC-Leistungsbedarf der Signalmodule, Signalboards und Kommunikationsmodule.
  • Seite 46: Vorgehensweisen Zum Einbau Und Ausbau

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Vorgehensweisen zum Einbau und Ausbau 4.3.1 Befestigungsmaße für S7-1200 Geräte S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 47 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Tabelle 4-1 Abmessungen für die Montage (mm) S71200 Geräte Breite A Breite B Breite C (mm) (mm) (mm) CPU 1211C und CPU 1212C CPU 1214C CPU 1215C 65 (oben) Unten: C1: 32,5 C2: 65 C3: 32,5 CPU 1217C Unten:...
  • Seite 48 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Ober- und unterhalb des Geräts muss ein Freiraum von 25 mm für die Luftzirkulation als Schutz vor Überhitzung eingehalten werden. Einbau und Ausbau der S71200 Geräte Die CPU kann auf einfache Weise auf einer Standard-Hutschiene oder in einer Schalttafel eingebaut werden.
  • Seite 49: Einbau Und Ausbau Der Cpu

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Achten Sie immer darauf, dass Sie das richtige Modul bzw. das richtige Gerät verwenden, wenn Sie ein S7-1200 Gerät einbauen bzw. auswechseln. WARNUNG Falscher Einbau eines S7-1200 Moduls kann zu unvorhersehbarer Funktionsweise des Programms der S7-1200 führen.
  • Seite 50 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Beachten Sie beim Einbau der Geräte auf der Hutschiene oder in einer Schalttafel Folgendes: • Achten Sie beim Einbau in eine Hutschiene darauf, dass sich die obere Hutschienenklemme der CPU und der angeschlossenen CMs in der eingerasteten (inneren) Stellung und die untere Hutschienenklemme in der ausgezogenen Stellung befindet.
  • Seite 51 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Tabelle 4-2 Einbau der CPU auf einer DIN-Schiene Aufgabenstellung Vorgehensweise 1. Montieren Sie die Hutschiene. Verschrauben Sie die Hutschiene in Abständen von je‐ weils 75 mm mit der Schalttafel. 2. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind.
  • Seite 52: Ein- Und Ausbau Eines Sbs, Cbs Oder Bbs

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.3 Ein- und Ausbau eines SBs, CBs oder BBs Tabelle 4-4 Einbau eines SBs, CBs oder BBs 1297 Aufgabenstellung Vorgehensweise 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind.
  • Seite 53: Einsetzen Oder Austauschen Der Batterie Des Batterieboards Bb

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Einsetzen oder Austauschen der Batterie des Batterieboards BB 1297 Das BB 1297 benötigt eine Batterie des Typs CR1025. Die Batterie ist nicht im Lieferumfang des BB 1297 enthalten und muss separat erworben werden. Zum Einbauen oder Austauschen der Batterie gehen Sie folgendermaßen vor: 1.
  • Seite 54: Einbau Und Ausbau Eines Sms

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.4 Einbau und Ausbau eines SMs Tabelle 4-6 Einbau eines SMs Aufgabenstellung Vorgehensweise Bauen Sie Ihr SM nach der Montage der CPU ein. 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind.
  • Seite 55 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Tabelle 4-7 Ausbau eines SMs Aufgabenstellung Vorgehensweise Sie können jedes SM ausbauen, ohne die CPU oder andere SMs ausbauen zu müssen. 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leis‐ tung getrennt sind.
  • Seite 56: Einbau Und Ausbau Eines Cms Oder Cps

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.5 Einbau und Ausbau eines CMs oder CPs Schließen Sie die Kommunikationsmodule an die CPU an und bauen Sie alle Module gemeinsam ein. Dies wird unter Einbau und Ausbau der CPU (Seite 49) gezeigt. Tabelle 4-8 Einbau eines CMs oder CPs Aufgabenstellung...
  • Seite 57: Ausbau Und Einbau Des S7-1200 Klemmenblocks

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau ACHTUNG Trennen Sie die Module ohne Einsatz eines Werkzeugs. Verwenden Sie zum Trennen der Module kein Werkzeug, da sonst die Teile beschädigt werden können. 4.3.6 Ausbau und Einbau des S7-1200 Klemmenblocks Die CPU, das SB und SM verfügen über abnehmbare Steckverbinder, um die Verdrahtung zu vereinfachen.
  • Seite 58: Einbau Und Ausbau Des Erweiterungskabels

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Tabelle 4-11 Einbau des Klemmenblocks Aufgabenstellung Vorgehensweise Bereiten Sie die Komponenten für den Einbau des Klemmenblocks vor, indem Sie die Spannung der CPU ausschalten und die Abdeckung für den Steckverbinder öffnen. 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind.
  • Seite 59 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Tabelle 4-13 Einbau der Buchse des Erweiterungskabels Aufgabenstellung Vorgehensweise 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind. 2. Stecken Sie die Buchse auf den Busanschluss an der lin‐ ken Seite des Signalmoduls.
  • Seite 60: Verdrahtungsrichtlinien

    Einbau 4.4 Verdrahtungsrichtlinien Hinweis Einbau des Erweiterungskabels in schwingungsbelasteten Umgebungen Wird das Erweiterungskabel an Module angeschlossen, die sich bewegen oder nicht fest montiert sind, kann sich die Einrastverbindung am Stecker des Kabels im Lauf der Zeit lockern. Um für zusätzliche Zugentlastung zu sorgen, fixieren Sie in diesem Fall das steckerseitige Kabelende mit einem Kabelbinder auf der DIN-Schiene (oder an einem anderen Träger).
  • Seite 61: Richtlinien Für Die Potentialtrennung

    Einbau 4.4 Verdrahtungsrichtlinien Sie Sicherheitseinrichtungen implementieren, die von der S7-1200 unabhängig sind und vor möglichen Personen- und/oder Sachschäden schützen. WARNUNG Steuerungen können bei unsicheren Betriebszuständen ausfallen und dadurch den unkontrollierten Betrieb der gesteuerten Geräte verursachen. Unvorhersehbarer Betrieb kann zu lebensgefährlichen Verletzungen und/oder Sachschäden führen.
  • Seite 62: Richtlinien Für Die Erdung Der S7

    Einbau 4.4 Verdrahtungsrichtlinien Richtlinien für die Erdung der S7-1200 Am besten erden Sie Ihre Anwendung, indem Sie darauf achten, dass alle gemeinsamen Anschlüsse und alle Erdanschlüsse Ihrer S7-1200 und aller angeschlossenen Geräte an einer einzigen Stelle geerdet werden. Diese Stelle muss direkt mit der Systemerde verbunden werden.
  • Seite 63: Siehe Auch

    Einbau 4.4 Verdrahtungsrichtlinien Die S7-1200 arbeitet mit Potentialtrennungsgrenzen, wodurch das Entstehen unerwünschter Ströme in Ihrer Anlage verhindert wird. Wenn Sie die Verdrahtung für Ihr System planen, berücksichtigen Sie diese Potentialtrennungsgrenzen. Im Kapitel Technische Daten (Seite 1314) finden Sie die Werte für die zur Verfügung gestellte Potentialtrennung und die Anordnung der Potentialtrennungsgrenzen.
  • Seite 64: Richtlinien Für Induktive Lasten

    Einbau 4.4 Verdrahtungsrichtlinien Richtlinien für induktive Lasten Verwenden Sie bei induktiven Lasten Schutzbeschaltungen, um den Spannungsanstieg beim Ausschalten eines Steuerungsausgangs zu begrenzen. Schutzbeschaltungen schützen die Ausgänge vor frühzeitigem Ausfall aufgrund der Hochspannungstransiente, die auftritt, wenn der Stromfluss durch eine induktive Last unterbrochen wird. Außerdem begrenzen Schutzbeschaltungen die elektrischen Störungen, die beim Schalten induktiver Lasten entstehen.
  • Seite 65: Typische Schutzbeschaltungen Für Relaisausgänge, Die Induktive Ac-Lasten Schalten

    Einbau 4.4 Verdrahtungsrichtlinien Typische Schutzbeschaltungen für DC- oder Relaisausgänge, die induktive DC-Lasten schalten In den meisten Anwendungen ist der zusätzliche Ein‐ satz einer Diode (A) quer zur induktiven DC-Last ge‐ eignet, doch wenn für Ihre Anwendung schnellere Ausschaltzeiten erforderlich sind, ist der Einsatz einer Zener-Diode (B) empfehlenswert.
  • Seite 66: Richtlinien Für Differenzein- Und -Ausgänge

    Einbau 4.4 Verdrahtungsrichtlinien Induktive Last Schutzbeschaltungswerte 1000 1500 Von den Tabellenwerten erfüllte Bedingungen: Maximaler Ausschaltschritt < 500 V Spitzenspannung des Widerstands < 500 V Spitzenspannung des Kondensators < 1250 V Strom der Schutzbeschaltung < 8 % des Laststroms (50 Hz) Strom der Schutzbeschaltung <...
  • Seite 67: Ausführung Des Anwenderprogramms

    PLC-Grundlagen Ausführung des Anwenderprogramms Die CPU unterstützt die folgenden Bausteinarten für den Aufbau einer geeigneten Struktur Ihres Anwenderprogramms: • Organisationsbausteine (OBs) legen die Struktur des Programms fest. Für einige OBs gibt es vordefiniertes Verhalten und Startereignisse, Sie können aber auch OBs mit Ihren eigenen Startereignissen anlegen.
  • Seite 68: Aktualisierung Von Prozessabbildern Und Teilprozessabbildern

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Ihre S7-1200 Automatisierungslösung kann aus einem zentralen Baugruppenträger mit der S7-1200 CPU und weiteren Modulen bestehen. Der Begriff "zentraler Baugruppenträger" bezieht sich auf den Hutschienen- oder Schaltschrankeinbau der CPU und der zugehörigen Module. Die Module (SM, SB, BB, CB, CM oder CP) werden erkannt und erst beim Anlauf angemeldet. •...
  • Seite 69 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Teilprozessabbild zuweisen, das Sie wiederum einem Prozessalarm-OB zuweisen, aktualisiert die CPU diese Datenwerte nicht unnötigerweise in jedem Zyklus, da Ihr Prozess die ständige Aktualisierung nicht erfordert. Für E/A, die in jedem Zyklus aktualisiert werden, führt die CPU in jedem Zyklus die folgenden Aufgaben durch: •...
  • Seite 70 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 4. Wählen Sie optional einen spezifischen OB aus der Klappliste "Organisationsbaustein" aus. 5. Ändern Sie über die Klappliste "Prozessabbild" die Einstellung "Automatische Aktualisierung" in "TPA1", "TPA2", "TPA3", "TPA4" oder "Keine". Die Auswahl "Keine" bedeutet, dass Sie diese E/A nur über direkte Anweisungen lesen und schreiben können.
  • Seite 71: Betriebszustände Der Cpu

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.1 Betriebszustände der CPU Die CPU hat drei Betriebszustände: Betriebszustand STOP, Betriebszustand STARTUP und Betriebszustand RUN. Die Status-LEDs auf der Vorderseite der CPU geben den aktuellen Betriebszustand an. • Im Betriebszustand STOP führt die CPU das Programm nicht aus. Sie können ein Projekt in die CPU laden.
  • Seite 72 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Fehler verhindern, dass die CPU in den Betriebszustand RUN geht. Die CPU unterstützt die folgenden Konfigurationsoptionen: • Kein Neustart (in STOP bleiben) • Warmstart - RUN • Warmstart - Betriebsart vor NETZ-AUS ACHTUNG Behebbare Fehler können die CPU veranlassen, in den Betriebszustand STOP zu gehen. Die CPU kann aufgrund von behebbaren Fehlern in den Betriebszustand STOP gehen, z.
  • Seite 73 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms diese Weise können Sie die Bearbeitung Ihres Programms abhängig von der Programmlogik unterbrechen. • Im Betriebszustand STOP bearbeitet die CPU Kommunikationsanforderungen (je nach Bedarf) und führt Selbstdiagnosen durch. Die CPU führt das Anwenderprogramm nicht aus. Es finden keine automatischen Aktualisierungen des Prozessabbilds statt.
  • Seite 74: Startup-Verarbeitung

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms STARTUP-Verarbeitung Immer wenn der Betriebszustand von STOP nach RUN wechselt, löscht die CPU das Prozessabbild der Eingänge, initialisiert das Prozessabbild der Ausgänge und verarbeitet die Anlauf-OBs. Alle Lesezugriffe auf das Prozessabbild der Eingänge von Anweisungen in den Anlauf-OBs ergeben den Wert null und nicht den aktuellen Wert des physischen Eingangs.
  • Seite 75: Organisationsbausteine (Obs)

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Das System gewährleistet, dass der Zyklus innerhalb der maximalen Zykluszeit abgearbeitet wird, sonst wird ein Zeitfehler erzeugt. • Jeder Zyklus beginnt mit der Abfrage der aktuellen Werte der digitalen und analogen Ausgänge im Prozessabbild und dem Schreiben dieser Werte in die physischen Ausgänge von CPU, SB und SMs, die für die automatische E/A-Aktualisierung konfiguriert sind (Standardkonfiguration).
  • Seite 76: Verzögerungsalarm-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Programmzyklusereignisse Das Programmzyklusereignis tritt einmal in jedem Programmzyklus auf. Während des Programmzyklus schreibt die CPU in die Ausgänge, liest die Eingänge und führt Programmzyklus-OBs aus. Das Programmzyklusereignis ist erforderlich und immer aktiviert. Möglicherweise haben Sie für das Programmzyklusereignis keinen Programmzyklus-OB oder Sie haben mehrere OBs.
  • Seite 77 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Verzögerungsalarmereignisse Verzögerungsalarmereignisse konfigurieren Sie für das Auftreten nach einer angegebenen Verzögerungszeit. Die Verzögerungszeit weisen Sie mit der Anweisung SRT_DINT zu. Die Verzögerungsereignisse unterbrechen den Programmzyklus, um den entsprechenden Verzögerungsalarm-OB auszuführen. Einem Verzögerungsereignis können Sie nur einen Verzögerungsalarm-OB zuordnen.
  • Seite 78 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.5 Prozessalarm-OB Prozessalarm-OBs werden ausgeführt, sobald das entsprechende Prozessereignis auftritt. Ein Prozessalarm-OB unterbricht den normalen Programmablauf als Reaktion auf ein Signal eines Prozessereignisses. Prozessalarmereignisse Prozessalarmereignisse werden durch eine Veränderung in der Hardware ausgelöst, z. B. eine steigende oder fallende Flanke an einem Eingang oder ein Ereignis an einem HSC (schnellen Zähler).
  • Seite 79: Zeitfehleralarmereignisse

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.6 Zeitfehler-OB Sofern konfiguriert, wird der Zeitfehler-OB (OB 80) ausgeführt, wenn die maximale Zykluszeit überschritten wird oder ein Zeitfehlerereignis auftritt. Wird dieser OB ausgelöst, beginnt die Ausführung, die den normalen Programmablauf oder auch einen anderen Ereignis-OB unterbricht.
  • Seite 80: Diagnosefehler-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms programmieren, um diese Anlaufwerte zu untersuchen und entsprechende Maßnahmen zu ergreifen. Tabelle 5-6 Anlaufinformationen für den Zeitfehler-OB (OB 80) Eingang Datentyp Beschreibung fault_id BYTE 16#01 - Maximale Zykluszeit überschritten 16#02 - Gewünschter OB kann nicht gestartet werden 16#07 und 16#09 - Warteschlangenüberlauf csg_OBnr OB_ANY...
  • Seite 81 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms "Neuen Baustein hinzufügen" und wählen dann "Organisationsbaustein" und "Diagnosefehler" aus. Hinweis Diagnosefehler bei mehrkanaligen lokalen Analoggeräten (E/A, RTD und Thermoelement) Der Diagnosefehler-OB kann nur die Diagnosefehler jeweils eines Kanals verarbeiten. Wenn in zwei Kanälen eines mehrkanaligen Geräts Fehler auftreten, löst der zweite Fehler den Diagnosefehler-OB nur unter folgenden Bedingungen aus: Der Fehler des ersten Kanals wird behoben, die vom ersten Fehler ausgelöste Ausführung des Diagnosefehler-OBs ist beendet und der zweite Fehler liegt weiterhin vor.
  • Seite 82: Baugruppenträger- Oder Stationsfehler-Ob ("Rack Or Station Failure Ob")

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Eingang Datentyp Beschreibung Channel UINT Kanalnummer MultiError BOOL WAHR, wenn mehrere Fehler vorliegen Der Eingang LADDR enthält die Hardwarekennung des Geräts bzw. der Funktionseinheit, das bzw. die den Fehler ausgegeben hat. Die Hardwarekennung wird automatisch zugewiesen, wenn Komponenten in die Geräte- oder Netzsicht eingefügt werden.
  • Seite 83: Baugruppenträger- Oder Stationsfehlerereignis

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Baugruppenträger- oder Stationsfehlerereignis Die CPU erzeugt ein Baugruppenträger- oder Stationsfehlerereignis, wenn eine der folgenden Situationen erkannt wird: • Ausfall eines DP-Mastersystems oder eines PROFINET IO-Systems (bei einem kommenden oder gehenden Ereignis) • Ausfall eines DP-Slaves oder eines IO-Geräts (bei einem kommenden oder gehenden Ereignis) •...
  • Seite 84: Zustandsereignisse

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.11 Zustands-OB Zustands-OBs werden ausgeführt, wenn ein DPV1- oder PNIO-Slave einen Zustandsalarm auslöst. Dies kann vorkommen, wenn eine Komponente (Modul oder BG-Träger) eines DPV1- oder PNIO-Slaves ihren Betriebszustand, zum Beispiel von RUN nach STOP, ändert. Zustandsereignisse Ausführlichere Informationen zu Ereignissen, die einen Zustandsalarm auslösen, sind in der Herstellerdokumentation des DPV1- oder PNIO-Slaves zu finden.
  • Seite 85 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Profilereignisse Ausführlichere Informationen zu Ereignissen, die einen Profilalarm auslösen, sind in der Herstellerdokumentation des DPV1- oder PNIO-Slaves zu finden. Tabelle 5-13 Anlaufinformationen für einen Profil-OB Eingang Datentyp Beschreibung LADDR HW_IO Hardware-Kennung Slot UInt Steckplatznummer Specifier Word Alarm Specifier 5.1.3.14...
  • Seite 86: Ereignisse Von Mc-Postservo

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.16 MC-PostServo Sie können den OB MC-PreServo so programmieren, dass er Programmlogik für das STEP 7- Programm enthält. Diese Programmlogik wird dann direkt nach der Bearbeitung des OB MC- Servo ausgeführt. Ereignisse von MC-PostServo Mit dem OB MC-PreServo können Sie die konfigurierten Informationen zum Anwendungszyklus innerhalb von Mikrosekunden auslesen.
  • Seite 87: Unterbrechbare Und Nicht Unterbrechbare Ausführungsarten

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Unterbrechbare und nicht unterbrechbare Ausführungsarten OBs (Seite 75) werden in der Reihenfolge der Priorität der Ereignisse ausgeführt, die die OBs auslösen. In den Anlaufeigenschaften der Gerätekonfiguration der CPU (Seite 153) können Sie konfigurieren, ob die OB-Ausführung unterbrechbar oder nicht unterbrechbar sein soll. Beachten Sie, dass Programmzyklus-OBs immer unterbrechbar sind.
  • Seite 88 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Wissenswertes zu Prioritäten und Warteschlange für die Ausführung von Ereignissen Die CPU begrenzt die Anzahl anstehender Ereignisse aus einer einzigen Quelle, indem jedem Ereignistyp eine eigene Warteschlange zugewiesen wird. Sobald die maximale Zahl anstehender Ereignisse eines bestimmten Typs erreicht ist, wird das nächste Ereignis nicht mehr bearbeitet und geht verloren.
  • Seite 89 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Ereignis Zulässige Anzahl OB-Standardpriorität Ziehen oder Stecken von 1 Ereignis Modulen Fehler bei Baugruppen‐ 1 Ereignis träger oder Station Uhrzeitalarm Bis zu 2 Ereignisse Zustand 1 Ereignis Update 1 Ereignis Profil 1 Ereignis MC‑Servo 1 Ereignis MC‑Interpolator 1 Ereignis Das Anlauf- und das Programmzyklusereignis treten nie gleichzeitig auf, weil der Anlauf zuerst beendet...
  • Seite 90: Überwachen Und Konfigurieren Der Zykluszeit

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Ereignis Beschreibung CPU-Aktion Peripheriezugriffsfehler E/A-Fehler beim Aktualisieren Die CPU schreibt das erste Auftreten in den des Prozessabbilds Diagnosepuffer und bleibt im Betriebszu‐ stand RUN. Programmierfehler Fehler beim Ausführen des • Wenn die bausteinlokale Fehlerbearbei‐ Programms tung aktiviert ist, gibt das System eine Fehlerursache in die Fehlerstruktur ein.
  • Seite 91: Konfigurieren Von Zykluszeit Und Kommunikationslast

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Typischerweise wird der Zyklus so schnell wie möglich ausgeführt und der nächste Zyklus beginnt, sobald der vorherige beendet ist. Je nach Anwenderprogramm und Kommunikationsaufgaben kann die Zykluszeit jedoch variieren. Um solche Schwankungen zu vermeiden, unterstützt die CPU eine optionale Mindestzykluszeit. Wenn Sie diese optionale Funktion aktivieren und eine Mindestzykluszeit in ms vorgeben, verzögert die CPU nach der Ausführung der Programmzyklus-OBs die Wiederholung des Programmzyklus, bis die Mindestzykluszeit abgelaufen ist.
  • Seite 92: Speicherverwaltung

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Hinweis Kommunikationspriorität Kommunikationsaufgaben haben die Priorität 1. Da 1 die niedrigste Priorität ist, können andere CPU-Ereignisse die Verarbeitung der Kommunikation unterbrechen. Unterbrechungen von anderen Ereignissen können sich negativ auf die Kommunikationsverarbeitung während des Zyklus auswirken. Sie können den Prozentwert für die "Zyklusbelastung durch Kommunikation" anpassen, um den Anteil des Zyklus, der für die Kommunikationsverarbeitung bereitgestellt wird, zu erhöhen.
  • Seite 93: Remanenter Speicher

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Remanenter Speicher Sie können Datenverlust nach Spannungsausfall dadurch vermeiden, dass Sie bestimmte Daten als remanent definieren. Die folgenden Daten können Sie in der CPU als remanent definieren: • Merker (M): Sie können die Größe des remanenten Speichers für Merker in der PLC- Variablentabelle oder in der Zuweisungsliste definieren.
  • Seite 94: System- Und Taktmerker

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.5.1 System- und Taktmerker In den CPU-Eigenschaften können Sie Bytes für "Systemspeicher" und "Taktmerker" aktivieren. Die einzelnen Bits dieser Funktionen können in Ihrer Programmlogik über die Variablennamen referenziert werden. • Sie können im Merkerbereich ein Byte als Systemspeicher zuweisen. Das Byte des Systemmerkers bietet die folgenden vier Bits, die von Ihrem Anwenderprogramm über die folgenden Variablennamen referenziert werden können: –...
  • Seite 95 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Tabelle 5-19 Systemspeicher Reserviert Immer Immer ein‐ Diagnosestatusanzeige Anzeige erster Zyklus ausge‐ geschaltet Wert 0 • 1: Änderung • 1: Erster Zyklus nach schaltet Wert 1 Anlauf • 0: Keine Änderung Wert 0 • 0: Nicht der erste Zyk‐ Der Taktmerker konfiguriert ein Byte, das die einzelnen Bits in bestimmten Abständen ein- und ausschaltet.
  • Seite 96 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.6 Diagnosepuffer Die CPU unterstützt einen Diagnosepuffer, der für jedes Diagnoseereignis einen Eintrag enthält. Jeder Eintrag umfasst das Datum und die Uhrzeit, zu denen das Ereignis aufgetreten ist, eine Ereigniskategorie und eine Ereignisbeschreibung. Die Einträge werden in chronologischer Reihenfolge angezeigt, wobei das jüngste Ereignis an oberster Stelle steht.
  • Seite 97: Konfigurieren Der Ausgänge Für Den Wechsel Von Run In Stop

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms • Zeitablauf, wenn eine vorhandene Online-Verbindung inaktiv ist • Anmelden beim Webserver mit dem richtigen oder falschen Passwort • Erstellen einer Sicherungskopie der CPU • Wiederherstellen der CPU-Konfiguration 5.1.7 Echtzeituhr Die CPU verfügt über eine Echtzeituhr. Wenn die CPU ausgeschaltet ist, wird die Uhr über einen Hochleistungskondensator mit Spannung versorgt.
  • Seite 98: Datenspeicher, Speicherbereiche, E/A Und Adressierung

    PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Sie konfigurieren das Verhalten der Ausgänge in der Gerätekonfiguration. Wählen Sie die einzelnen Geräte und öffnen Sie das Register "Eigenschaften", um die Ausgänge des jeweiligen Geräts zu konfigurieren. Hinweis Einige dezentrale E/A-Module bieten zusätzliche Einstellungen für die Reaktion auf die Betriebsart STOP der CPU.
  • Seite 99 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Zugriff auf das Prozessbild. Für den direkten Zugriff auf den physischen Eingang oder Ausgang fügen Sie den Verweis ":P" (z. B. E0.3:P, A1.7:P oder "Stop:P") als Anhang hinzu. Tabelle 5-21 Speicherbereiche Speicherbereich Beschreibung Forcen Remanent Wird zu Beginn des Zyklus aus den physischen...
  • Seite 100: Zugriff Auf Daten In Den Speicherbereichen Der Cpu

    PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Speicherbereichskennung Bytes des Speicherbereichs Adresse des Byte: Byte 3 Bits des ausgewählten Byte Trennzeichen ("Byte.Bit") Bitadresse im Byte (Bit 4 von 8) In dem Beispiel folgt auf den Speicherbereich und die Adresse des Bytes (M = Bereich der Merker und 3 = Byte 3) ein Punkt ("."), um die Adresse des Bits (Bit 4) abzutrennen.
  • Seite 101 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Kopie, die bei der letzten Aktualisierung des Prozessabbilds der Eingänge erstellt wurde, gelesen werden. Weil die physikalischen Eingänge ihre Werte direkt aus den mit ihnen verbundenen Feldgeräten erhalten, darf in diese Eingänge nicht geschrieben werden. Zugriffe über E_:P sind somit reine Lesezugriffe, im Gegensatz zu Zugriffen auf Eingänge, die gelesen oder geschrieben werden können.
  • Seite 102 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Zugriffe über A_:P beeinflussen den physischen Ausgang sowie den im Prozessabbild der Ausgänge gespeicherten Wert. Tabelle 5-25 Absolute Adressierung für den Speicherbereich A (direkt) A[Byteadresse].[Bitadresse]:P A1.1:P Byte, Wort oder Doppelwort A[Größe][Anfangsadresse des AB5:P, AW10:P oder AD40:P Byte]:P M (Speicherbereich der Merker): Den Speicherbereich der Merker (M) können Sie für Steuerungsrelais und Daten verwenden, um Zwischenergebnisse von Anweisungen oder...
  • Seite 103: E/A In Der Cpu Und In E/A-Modulen Konfigurieren

    PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung DB (Datenbaustein): Nutzen Sie Datenbausteine zum Speichern verschiedener Arten von Daten, auch Zwischenergebnisse einer Anweisung oder andere Steuerungsparameter für FBs und Datenstrukturen für viele Anweisungen wie Zeiten und Zähler. Auf Datenbausteine können Sie im Bit, Byte, Wort und Doppelwortformat zugreifen. Für nicht schreibgeschützte Datenbausteine ist sowohl der Lese- als auch der Schreibzugriff erlaubt.
  • Seite 104: Verarbeitung Von Analogwerten

    PLC-Grundlagen 5.3 Verarbeitung von Analogwerten Das Bild zeigt ein Beispiel für eine CPU 1214C mit zwei SMs und einem SB. In diesem Beispiel könnte die Adresse von Modul DI8 auf 2 anstelle von 8 geändert werden. Das Tool unterstützt den Anwender durch Änderung von Adressbereichen, die die falsche Größe haben oder Konflikte mit anderen Adressen aufweisen.
  • Seite 105 PLC-Grundlagen 5.4 Datentypen Allgemein würde die Gleichung wie folgt aussehen: Wert in physikalischen Einheiten = (unterer Bereich der physikalischen Einheiten) + (Analogeingangswert) * (oberer Bereich der physikalischen Einheiten - unterer Bereich der physikalischen Einheiten) / (maximaler Analogeingangsbereich - minimaler Analogeingangsbereich) In PLC-Anwendungen wird üblicherweise der Analogeingangswert in einen Gleitpunktwert zwischen 0.0 und 1.0 normiert.
  • Seite 106: Siehe Auch

    PLC-Grundlagen 5.4 Datentypen zugewiesene Variable hat, müssen Sie eine Größe verwenden, die einem unterstützen Datentyp entspricht, wird bei der Eingabe eine Standardvariable angelegt. Alle Datentypen, mit Ausnahme der Datentypen String, Struct, Array und DTL sind im PLC- Variableneditor und in den Bausteinschnittstellen verfügbar. String, Struct, Array und DTL sind nur in den Bausteinschnittstellen verfügbar.
  • Seite 107: Datentypen Bool, Byte, Word Und Dword

    PLC-Grundlagen 5.4 Datentypen 5.4.1 Datentypen Bool, Byte, Word und DWord Tabelle 5-29 Bit- und Bitfolge-Datentypen Daten- Bit- Zahlen- Zahlen- Beispiele für Beispiele für größe bereich Konstanten Adressen Bool Boolesch FALSCH oder WAHR WAHR I1.0 Q0.1 Binär 2#0 oder 2#1 M50.7 Vorzeichenlose 0 oder 1 DB1.DBX2.3...
  • Seite 108: Ganzzahlige Datentypen

    PLC-Grundlagen 5.4 Datentypen 5.4.2 Ganzzahlige Datentypen Tabelle 5-30 Ganzzahlige Datentypen (U = vorzeichenlos, S = kurz, D = doppelt) Daten‐ Bitgrö‐ Zahlenbereich Beispiele für Konstan‐ Beispiele für ße Adressen USInt 0 bis 255 78, 2#01001110 MB0, DB1.DBB4, Variablenname SInt -128 bis 127 +50, 16#50 UInt 0 bis 65.535...
  • Seite 109: Uhrzeit- Und Datums-Datentypen

    PLC-Grundlagen 5.4 Datentypen 5.4.4 Uhrzeit- und Datums-Datentypen Tabelle 5-32 Uhrzeit- und Datums-Datentypen Datentyp Größe Bereich Beispiele für konstanten Ein‐ trag Time 32 Bits T#-24d_20h_31m_23s_648ms bis T#5m_30s T#24d_20h_31m_23s_647ms T#1d_2h_15m_30s_45ms TIME#10d20h30m20s630ms Gespeichert als: -2.147.483.648 ms bis 500h10000ms +2.147.483.647 ms 10d20h30m20s630ms Date 16 Bits D#1990-1-1 bis D#2168-12-31 D#2009-12-31 DATE#2009-12-31...
  • Seite 110: Zeichen- Und Zeichenfolge-Datentypen

    PLC-Grundlagen 5.4 Datentypen Der DTL-Datentyp (Date and Time Long) nutzt eine 12-Byte-Struktur, um Angaben zum Datum und zur Uhrzeit zu speichern. Sie können den Datentyp DTL entweder im temporären Speicher eines Bausteins oder in einem DB definieren. Für alle Komponenten muss in der Spalte für den Startwert im DB-Editor ein Wert eingegeben werden.
  • Seite 111: String Und Wstring

    PLC-Grundlagen 5.4 Datentypen Datentyp Größe Bereich Beispiel für konstanten Eintrag String n+ 2 Byte n = (0 bis 254 Bytes) "ABC" WString n+ 2 Wörter n = (0 bis 65534 Wörter) "ä123@XYZ.COM" Char und WChar Ein Char (Zeichen) belegt ein Byte im Speicher und speichert ein einzelnes Zeichen im ASCII- Format, einschließlich der erweiterten ASCII-Zeichencodes.
  • Seite 112: Datentyp Array

    PLC-Grundlagen 5.4 Datentypen Das folgende Beispiel zeigt einen Datentyp WString mit der maximalen Zeichenzahl 500 und der tatsächlichen Zeichenzahl 300. Die Zeichenfolge enthält somit 300 Zeichen mit je einem Wort, kann aber bis auf 500 Zeichen mit je einem Wort erweitert werden. Tabelle 5-37 Beispiel für einen Datentyp WString Gesamtzei‐...
  • Seite 113: Datentyp Struktur

    PLC-Grundlagen 5.4 Datentypen Tabelle 5-39 Regeln für den Datentyp ARRAY Datentyp Array-Syntax ARRAY Name [index1_min..index1_max, index2_min..index2_max] of <Datentyp> • Alle Array-Elemente müssen den gleichen Datentyp haben. • Der Index kann negativ sein, doch der untere Grenzwert muss kleiner oder gleich dem oberen Grenzwert sein.
  • Seite 114 PLC-Grundlagen 5.4 Datentypen 5.4.8 PLC-Datentyp Im PLC-Datentypeditor können Sie Datenstrukturen definieren, die Sie mehrmals in Ihrem Programm verwenden können. Sie erstellen einen PLC-Datentyp durch Öffnen von "PLC- Datentypen" in der Projektnavigation und Doppelklick auf den Befehl "Neuen Datentyp hinzufügen". Klicken Sie zweimal einzeln auf den neu erstellen PLC-Datentyp, um den Standardnamen zu ändern.
  • Seite 115 PLC-Grundlagen 5.4 Datentypen • "<Datenbausteinname>".<Variablenname>.xn (Bitzugriff) • "<Datenbausteinname>".<Variablenname>.bn (Bytezugriff) • "<Datenbausteinname>".<Variablenname>.wn (Wortzugriff) Auf eine Variable von der Größe eines Datendoppelworts kann über Bits 0 - 31, Bytes 0 - 3 oder Wörter 0 - 1 zugegriffen werden. Auf eine Variable von der Größe eines Worts kann über Bits 0 - 15, Bytes 0 - 1 oder Wort 0 zugegriffen werden.
  • Seite 116: Zugriff Auf Eine Variable Mit Einer At-Überlagerung

    PLC-Grundlagen 5.4 Datentypen 5.4.11 Zugriff auf eine Variable mit einer AT-Überlagerung Mit Hilfe der AT-Variablenüberlagerung können Sie mit einer überlagerten Deklaration eines anderen Datentyps auf eine bereits deklarierte Variable eines Bausteins zugreifen. Sie können beispielsweise die einzelnen Bits einer Variable vom Datentyp Byte, Word oder DWord mit einem Bool-Array adressieren.
  • Seite 117: Memory Card Verwenden

    PLC-Grundlagen 5.5 Memory Card verwenden Die Überlagerungstypen können in der Programmlogik direkt angesprochen werden: IF #OV[1] THEN END_IF; IF #DW1_Struct.W1 = W#16#000C THEN END_IF; out1 := #DW1_Struct.B1; IF #OV[4] AND #DW1_Struct.BO2 THEN END_IF; Regeln • In FB- und FC-Bausteinen mit Standardzugriff (kein optimierter Zugriff) ist die Überlagerung von Variablen möglich.
  • Seite 118: Memory Card In Die Cpu Stecken

    PLC-Grundlagen 5.5 Memory Card verwenden Sie können eine Memory Card wie folgt verwenden: • Sie können die Memory Card als Übertragungskarte oder als Programmkarte nutzen. Übertragungskarten und Programmkarten enthalten alle Codebausteine und Datenbausteine, alle Technologieobjekte und die Gerätekonfiguration. Auf Übertragungskarten und Programmkarten nicht enthalten sind beispielsweise Force- Tabellen, Beobachtungstabellen oder PLC-Variablentabellen.
  • Seite 119 PLC-Grundlagen 5.5 Memory Card verwenden WARNUNG Vergewissern Sie sich vor dem Einlegen der Memory Card, dass die CPU keinen Prozess ausführt. Wenn Sie eine Memory Card (unabhängig davon, ob als Programm-, Übertragungs- oder Firmware-Aktualisierungskarte genutzt) in eine laufende CPU stecken, geht die CPU sofort in den Betriebszustand STOP, was zu Prozessunterbrechung und dadurch zu Tod oder schweren Personenschäden führen kann.
  • Seite 120: Cpu-Verhalten Beim Stecken Einer Memory Card

    PLC-Grundlagen 5.5 Memory Card verwenden Tabelle 5-41 Memory Card einsetzen Zum Einsetzen einer Memory Card öffnen Sie die obere Abdeckung der CPU und stecken die Memory Card in den Steckplatz. Ein Steckver‐ binder ermöglicht einfaches Stecken und Zie‐ hen des Moduls. Die Memory Card ist so geformt, dass sie nur in eine Richtung in den Schacht gesteckt werden kann.
  • Seite 121 PLC-Grundlagen 5.5 Memory Card verwenden Wenn Sie in den Schutzeigenschaften der Gerätekonfiguration der CPU die Einstellung "Kopieren vom internen Ladespeicher in den externen Ladespeicher deaktivieren" ausgewählt haben, verhält sich die CPU wie folgt: • Leere Memory Card: Eine leere Memory Card hat keine Auftragsdatei (S7_JOB.S7S). Wenn Sie eine leere Memory Card stecken, führt die CPU nichts durch.
  • Seite 122: Übertragungskarte

    PLC-Grundlagen 5.5 Memory Card verwenden 5.5.3 Übertragungskarte ACHTUNG Schutz von Memory Card und Schacht vor elektrostatischer Entladung Elektrostatische Entladungen können die Memory Card oder den dafür vorgesehenen Schacht in der CPU beschädigen. Für den sicheren Umgang mit der Memory Card stellen Sie sicher, dass eine oder beide der folgenden Bedingungen erfüllt sind: •...
  • Seite 123: Übertragungskarte Verwenden

    PLC-Grundlagen 5.5 Memory Card verwenden 4. Wählen Sie im Dialog "Memory Card" in der Klappliste "Kartentyp" die Option "Übertragen" aus. Daraufhin erstellt STEP 7 die leere Übertragungskarte. Wenn Sie eine leere Übertragungskarte anlegen, weil Sie Ihr CPU-Passwort verloren haben (Seite 134), entnehmen Sie die Übertragungskarte aus dem Kartenleser.
  • Seite 124 PLC-Grundlagen 5.5 Memory Card verwenden Hinweis Stecken Sie keine Übertragungskarte mit einem Programm V3.0 in CPU-Varianten höherer Versionen. Übertragungskarten der Version 3.0 sind nicht mit S7-1200 CPUs höherer Versionen kompatibel. Wenn Sie eine Memory Card mit einem Programm V3.0 stecken, wird dadurch ein CPU-Fehler verursacht.
  • Seite 125 PLC-Grundlagen 5.5 Memory Card verwenden Stellen Sie sicher, dass die Memory Card nicht schreibgeschützt ist. Schieben Sie dazu den Schutzschalter aus der Verriegelungsposition heraus. Löschen Sie vor dem Kopieren von Programmelementen auf die Programm‐ karte alle zuvor gespeicherten Programme von der Memory Card. Programmkarte anlegen Bei Einsatz als Programmkarte funktioniert die Memory Card als externer Ladespeicher der CPU.
  • Seite 126 PLC-Grundlagen 5.5 Memory Card verwenden Denken Sie daran, die Anlaufparameter der CPU zu konfigurieren (Seite 121), bevor Sie ein Projekt auf die Programmkarte kopieren. Um eine Programmkarte anzulegen, gehen Sie folgendermaßen vor: 1. Stecken Sie eine leere, nicht schreibgeschützte SIMATIC Memory Card in einen an Ihren Computer angeschlossenen SD-Kartenleser.
  • Seite 127: Programmkarte Als Externen Ladespeicher Für Die Cpu Nutzen

    PLC-Grundlagen 5.5 Memory Card verwenden 5. Fügen Sie das Programm hinzu, indem Sie in der Projektnavigation die CPU (z.B. PLC_1 [CPU 1214C DC/DC/DC]) auswählen und mit der Maus auf die Memory Card ziehen. (Alternativ können Sie die CPU kopieren und in die Memory Card einfügen.) Durch Kopieren der CPU in die Memory Card wird der Dialog "Vorschau laden"...
  • Seite 128: Lebensdauer Einer Simatic Memory Card

    PLC-Grundlagen 5.5 Memory Card verwenden Die Programmkarte muss in der CPU gesteckt bleiben. Wenn Sie die Programmkarte ziehen, hat die CPU kein Programm mehr im internen Ladespeicher. WARNUNG Risiken beim Ziehen einer Programmkarte Wenn Sie die Programmkarte ziehen, verliert die CPU den externen Ladespeicher und erzeugt einen Fehler.
  • Seite 129: Risiken Im Zusammenhang Mit Der Außerbetriebsetzung

    PLC-Grundlagen 5.5 Memory Card verwenden 5.5.5 Memory Card zum Schützen vertraulicher PLC-Konfigurationsdaten nutzen Sie können eine SIMATIC Memory Card zum Festlegen oder Ändern des Passworts zum Schutz vertraulicher PLC-Konfigurationsdaten verwenden. ACHTUNG Schutz von Memory Card und Schacht vor elektrostatischer Entladung Elektrostatische Entladungen können die Memory Card oder den dafür vorgesehenen Schacht in der CPU beschädigen.
  • Seite 130 PLC-Grundlagen 5.5 Memory Card verwenden So erstellen Sie eine Memory Card mit dem Passwort zum Schutz vertraulicher PLC- Konfigurationsdaten Um die Memory Card mit diesem Passwort zu erstellen, gehen Sie folgendermaßen vor: 1. Stecken Sie eine leere SIMATIC Memory Card ohne Schreibschutz in einen SD-Kartenleser, der an Ihren Computer angeschlossen ist.
  • Seite 131: Firmware-Update

    PLC-Grundlagen 5.5 Memory Card verwenden So legen Sie das Passwort zum Schutz vertraulicher PLC-Konfigurationsdaten fest Zum Festlegen des Passworts zum Schutz vertraulicher PLC-Konfigurationsdaten gehen Sie folgendermaßen vor: ACHTUNG Vergewissern Sie sich vor dem Festlegen des Passworts zum Schutz vertraulicher PLC- Konfigurationsdaten, dass die CPU keinen Prozess ausführt.
  • Seite 132 Verwenden Sie zum Neuformatieren der Memory Card nicht das Windows- Formatierungsprogramm oder ein anderes Formatierungsprogramm. Wenn eine Siemens Memory Card mit dem Windows-Formatierungsprogramm neu formatiert wird, kann die Memory Card nicht mehr von einer S7-1200 CPU verwendet werden. Um das Firmware-Update auf Ihre Memory Card zu laden, gehen Sie folgendermaßen vor: 1.
  • Seite 133 PLC-Grundlagen 5.5 Memory Card verwenden Zum Installieren des Firmware-Updates gehen Sie folgendermaßen vor: WARNUNG Stellen Sie vor der Installation des Firmware-Updates sicher, dass die CPU keinen aktiven Prozess ausführt. Durch die Installation des Firmware-Updates geht die CPU in den Betriebszustand STOP, was sich auf den Betrieb eines Online-Prozesses oder einer Maschine auswirken kann.
  • Seite 134: Vorgehensweise Bei Verlorenem Passwort

    PLC-Grundlagen 5.6 Vorgehensweise bei verlorenem Passwort entsprechende Meldung in den Diagnosepuffer geschrieben. Ebenso wird ein fehlgeschlagenes Firmware-Update mit einer entsprechenden Erläuterung protokolliert. Auf einer Firmware-Update-Karte ist nur eine UPD-Datei einer MLFB (Bestellnummer) zulässig. Findet das Update-Programm beispielsweise UPD-Dateien mit doppelten MLFBs auf der Firmware-Update-Karte, wird kein Firmware-Update durchgeführt und eine entsprechende Meldung in den Diagnosepuffer eingetragen.
  • Seite 135: Gerätekonfiguration

    Gerätekonfiguration Sie können die Gerätekonfiguration für Ihr PLC-Gerät durch Hinzufügen einer CPU und weiterer Module zu Ihrem Projekt erstellen. ① Kommunikationsmodul (CM) oder Kommunikationsprozessor (CP): bis zu 3, in Steckplätzen 101, 102 und 103 ② CPU: Steckplatz 1 ③ PROFINET-Port der CPU ④...
  • Seite 136: Einfügen Einer Cpu

    Gerätekonfiguration 6.1 Einfügen einer CPU Einfügen einer CPU Eine CPU können Sie entweder in der Portalansicht oder in der Projektansicht von STEP 7 in Ihr Projekt einfügen: • Wählen Sie in der Portalansicht das Portal "Geräte & Netze" und klicken Sie auf "Neues Gerät hinzufügen".
  • Seite 137: Gerätekonfiguration Für Die Gesteckte Cpu

    Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden Gerätekonfiguration für die gesteckte CPU Nachdem Sie eine CPU hinzugefügt haben, erstellt STEP 7 den Baugruppenträger und zeigt die CPU in der Gerätesicht an: Nach dem Anklicken der CPU in der Gerätesicht werden die Eigenschaften der CPU im Inspektorfenster angezeigt.
  • Seite 138: Gerät Als Neue Station Laden

    Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden Gerät als neue Station laden Um ein angeschlossenes Gerät als neue Station zu laden, gehen Sie wie folgt vor: 1. Erweitern Sie in der Projektnavigation Ihre Kommunikationsschnittstelle über den Knoten "Online-Zugänge". 2. Doppelklicken Sie auf "Erreichbare Teilnehmer aktualisieren". 3.
  • Seite 139: Module Zur Konfiguration Hinzufügen

    Gerätekonfiguration 6.3 Module zur Konfiguration hinzufügen Wählen Sie im Gerätekonfigurationseditor die Option zum Erkennen der Konfiguration des angeschlossenen Geräts. Nachdem Sie im Online-Dialog die CPU ausgewählt und auf die Schaltfläche zum Laden geklickt haben, lädt STEP 7 die Hardwarekonfiguration einschließlich möglicher Module (SM, SB oder CM) aus der CPU.
  • Seite 140 Gerätekonfiguration 6.3 Module zur Konfiguration hinzufügen • Kommunikationsboards (CBs) bieten einen zusätzlichen Kommunikationsanschluss (z. B. RS485). Das CB wird auf der Vorderseite der CPU gesteckt. • Kommunikationsmodule (CMs) und Kommunikationsprozessoren (CPs) bieten einen zusätzlichen Kommunikationsanschluss, z. B. für PROFIBUS oder GPRS. Diese Module werden an der linken Seite der CPU angeschlossen.
  • Seite 141: Konfigurationssteuerung

    Maximalkonfiguration für ein Standardsystem mit unterschiedlichen Versionen (Optionen), die jeweils eine Teilmenge dieser Konfiguration nutzen. Im Handbuch PROFINET mit STEP 7 (https:// support.industry.siemens.com/cs/ww/de/view/49948856) werden diese Projekttypen als "Serienmaschinen-Projekte" bezeichnet. Ein Steuerdatensatz, der im Anlauf-OB programmiert wird, teilt der CPU mit, welche Module im realen Aufbau abweichend von der Projektierung fehlen oder welche Module sich abweichend von der Projektierung in einem anderen Steckplatz befinden.
  • Seite 142 Gerätekonfiguration 6.4 Konfigurationssteuerung 3. Im Teilnehmer "Konfigurationssteuerung" in den CPU-Eigenschaften aktivieren Sie Option "Umkonfigurieren des Geräts über Anwenderprogramm ermöglichen". 4. Erstellen Sie einen PLC-Datentyp für den Steuerdatensatz. Konfigurieren Sie ihn als Struct mit vier USints für die Konfigurationssteuerungsdaten und weiteren USints entsprechend der Anzahl der Steckplätze für den S7-1200 Maximalausbau wie folgt: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 143 Gerätekonfiguration 6.4 Konfigurationssteuerung 5. Legen Sie einen Datenbaustein mit dem gewählten PLC-Datentyp an. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 144 Gerätekonfiguration 6.4 Konfigurationssteuerung 6. Konfigurieren Sie in diesem Datenbaustein die Parameter Block_length, Block_ID, Version und Subversion wie unten gezeigt. Konfigurieren Sie die Werte für die Steckplätze je nachdem, ob sie belegt sind oder nicht und nach ihrer Lage im tatsächlichen Aufbau: –...
  • Seite 145 Gerätekonfiguration 6.4 Konfigurationssteuerung Netzwerk 2: Hinweis Die Konfigurationssteuerung ist erst wirksam, wenn die Anweisung WRREC den Steuerdatensatz in den Anlauf-OB übertragen hat. Ist die Konfigurationssteuerung aktiviert und der Steuerdatensatz in der CPU nicht vorhanden, geht diese nach dem Anlauf direkt in STOP. Daher ist es wichtig, dass der Anlauf-OB so programmiert ist, dass der Steuerdatensatz übertragen wird.
  • Seite 146 Gerätekonfiguration 6.4 Konfigurationssteuerung Byte Element Wert Erklärung Zuweisung einer CPU-Zusatzkarte Tatsächliche Zusatzkarte, 0 Steuerelement oder 255* Beschreibt in jedem Element, wel‐ cher reale Steckplatz im Gerät dem Zuweisung konfigurierter Steckplatz 2 Tatsächlicher Steckplatz, 0 oder konfigurierten Steckplatz zugewie‐ 255* sen ist. Zuweisung konfigurierter Steckplatz 9 Tatsächlicher Steckplatz, 0 oder 255*...
  • Seite 147 Gerätekonfiguration 6.4 Konfigurationssteuerung • Es sind keine unbenutzten Steckplätze zwischen belegten Steckplätzen zulässig. Ist in der tatsächlichen Konfiguration beispielsweise ein Modul in Steckplatz 4 vorhanden, müssen auch Module in den Steckplätzen 2 und 3 gesteckt sein. Ist in der tatsächlichen Konfiguration ein Kommunikationsmodul in Steckplatz 102 vorhanden, muss dementsprechend auch ein Modul in Steckplatz 101 gesteckt sein.
  • Seite 148: Beispiel Für Die Konfigurationssteuerung

    Gerätekonfiguration 6.4 Konfigurationssteuerung • Das Schreiben eines Datensatzes in ein Modul, das nicht vorhanden ist, hat keine Wirkung; die CPU meldet keinen Fehler. • Wird versucht, einen Datensatz aus einem nicht vorhandenen Modul zu lesen, wird eine Fehlermeldung erzeugt, weil die CPU keinen gültigen Datensatz zurückliefern kann. Fehlermeldungen Die CPU gibt die folgenden Fehlermeldungen zurück, wenn beim Schreiben des Steuerdatensatzes ein Fehler auftritt:...
  • Seite 149 Gerätekonfiguration 6.4 Konfigurationssteuerung Beispiel: Tatsächlicher Aufbau mit einem konfigurierten, aber nicht benutzten Modul Die Gerätekonfiguration enthält alle Module, die in einem tatsächlichen Aufbau vorhanden sein können (Maximalausbau). In diesem Fall ist das in der Gerätekonfiguration Steckplatz 3 zugewiesene Modul im realen Aufbau nicht vorhanden. Bild 6-1 Gerätekonfiguration für Maximalausbau mit drei Signalmodulen Bild 6-2...
  • Seite 150 Gerätekonfiguration 6.4 Konfigurationssteuerung S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 151 Gerätekonfiguration 6.4 Konfigurationssteuerung Beispiel: Tatsächlicher Aufbau mit einem Modul, das nachträglich einem anderen Steckplatz hinzugefügt wurde Im zweiten Beispiel ist das Modul in Steckplatz 3 der Gerätekonfigurtion im tatsächlichen Aufbau vorhanden, es befindet sich jedoch in Steckplatz 4. Bild 6-3 Module in Steckplätzen 3 und 4 aus Gerätekonfiguration im tatsächlichen Aufbau vertauscht Um die Gerätekonfiguration an den tatsächlichen Aufbau anzupassen, sind die Module durch Bearbeiten des Steuerdatensatzes den richtigen Steckplätzen zuzuordnen.
  • Seite 152: Ändern Eines Geräts

    Gerätekonfiguration 6.5 Ändern eines Geräts Ändern eines Geräts Sie können den Gerätetyp einer konfigurierten CPU oder eines Moduls ändern. Klicken Sie in der Gerätekonfiguration mit der rechten Maustaste auf das Gerät und wählen Sie im Kontextmenü den Befehl "Gerät ändern". Wählen Sie im Dialog die CPU oder das Modul aus, die/das Sie ersetzen möchten.
  • Seite 153: Gerätekonfiguration

    Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Konfigurieren des CPU-Betriebs 6.6.1 Übersicht Um die Betriebsparameter der CPU zu konfigurieren, wählen Sie die CPU in der Gerätesicht aus (blauer Rahmen um die gesamte CPU) und öffnen dann im Inspektorfenster das Register "Eigenschaften". Tabelle 6-2 CPU-Eigenschaften Eigenschaft Beschreibung...
  • Seite 154 Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Eigenschaft Beschreibung Anlauf (Seite 71) Anlauf nach NETZ-EIN: Einstellen des Verhaltens der CPU nach dem Aus- und Wiedereinschal‐ ten, z. B. für das Anlaufen im Betriebszustand STOP oder den Wechsel in RUN nach einem Warmstart Hardwarekompatibilität: Konfiguration der Ersatzstrategie für alle Systemkomponenten (SM, SB, CM, CP und CPU): •...
  • Seite 155: Filterzeiten Für Digitaleingänge Einrichten

    Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs 6.6.2 Filterzeiten für Digitaleingänge einrichten Die Filter der digitalen Eingänge schützen Ihr Programm davor, auf unerwünschte schnelle Veränderungen der Eingangssignale zu reagieren, wie sie z. B. durch Kontaktprellen oder Rauschen verursacht werden können. Die voreingestellte Filterzeit von 6,4 ms verhindert unerwünschte Schalthandlungen durch typische mechanische Kontakte.
  • Seite 156 Konfiguration von Filterzeiten für als HSCs verwendete Digitaleingänge Bei Eingängen, die als schnelle Zähler (HSCs) verwendet werden, sollten Sie die Eingangsfilterzeit auf einen geeigneten Wert einstellen, mit dem Sie Zählausfälle vermeiden. Siemens empfiehlt folgende Einstellungen: Typ des schnellen Zählers Empfohlene Eingangsfilterzeit...
  • Seite 157 Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Hinweis Da die Impulsabgrifffunktion auf den Eingang erst nach dem Passieren des Eingangsfilters wirkt, muss die Eingangsfilterzeit so eingestellt werden, dass der Impuls nicht ausgefiltert wird. Das folgende Bild zeigt eine schematische Darstellung des Digitaleingangskreises: Das folgende Bild zeigt die Reaktion des aktivierten Impulsabgriffs auf verschiedene Eingangsbedingungen.
  • Seite 158: Mehrsprachigen Support Konfigurieren

    Gerätekonfiguration 6.7 Mehrsprachigen Support konfigurieren Mehrsprachigen Support konfigurieren Die Einstellungen für den mehrsprachigen Support ermöglichen Ihnen das Zuweisen von zwei Projektsprachen für jede Oberflächensprache des S7-1200 Webservers (Seite 847). Es besteht auch die Möglichkeit, keine Projektsprache für die Sprache einer Benutzeroberfläche festzulegen.
  • Seite 159: Projektsprache Und Oberflächensprache Des Webservers

    Gerätekonfiguration 6.7 Mehrsprachigen Support konfigurieren Projektsprache und Oberflächensprache des Webservers Der Webserver unterstützt die gleichen Oberflächensprachen wie das TIA Portal, doch sind maximal zwei Projektsprachen möglich. Sie können den Webserver so konfigurieren, dass je nach Oberflächensprache des Webservers eine von zwei Projektsprachen für Diagnosepuffermeldungen verwendet wird.
  • Seite 160: Plc-Security-Einstellungen Im Security-Assistenten Festlegen

    Gerätekonfiguration 6.8 Schutz & Security Schutz & Security 6.8.1 PLC-Security-Einstellungen im Security-Assistenten festlegen Der Security-Assistent im TIA Portal V17 und höher bietet Ihnen eine zentrale Stelle zum Konfigurieren der PLC-Security-Einstellungen. Wenn Sie eine S7‑1200 CPU V4.5 oder höher (Seite 136) in Ihr Projekt einfügen, ruft das TIA Portal den Security-Assistenten auf. Der Security-Assistent besteht aus vier Teilen: •...
  • Seite 161: Plc-Zugriffsschutz

    Gerätekonfiguration 6.8 Schutz & Security entweder über Secure Communication oder über Legacy-Kommunikation (Seite 591) kommunizieren. Sie können die Betriebsart für PG/PC- und HMI-Kommunikation (Seite 166) auch in den Verbindungsmechanismen in der Gerätekonfiguration der CPU konfigurieren. PLC-Zugriffsschutz Mit dem Security-Assistenten können Sie auch die Passwörter für die Schutzstufe (Seite 163) der CPU festlegen.
  • Seite 162 Gerätekonfiguration 6.8 Schutz & Security Security-Assistent Sie können diese Funktion auch im Security-Assistenten (Seite 160) aktivieren und das Passwort festlegen. Der Security-Assistent wird gestartet, wenn Sie eine CPU V4.5 oder höher erstmalig einfügen. Sie können den Security-Assistenten auch über den Abschnitt "Schutz & Security" der Gerätekonfiguration aufrufen.
  • Seite 163: Weitere Informationen

    Gerätekonfiguration 6.8 Schutz & Security Hinweis Verantwortung für CPUs Wenn Sie den Schutz für vertrauliche PLC-Konfigurationsdaten konfiguriert und in eine CPU geladen haben, gewährleisten Sie eine sichere Entsorgung der CPU bei ihrer Außerbetriebsetzung. Wenn Sie den Schutz für vertrauliche PLC-Konfigurationsdaten konfiguriert und in eine CPU geladen haben und später ein Projekt in die CPU laden, bei dem die Firmware-Version der CPU im STEP 7-Projekt vor V4.5 ist, enthält die CPU trotzdem das verschlüsselte Passwort.
  • Seite 164 Gerätekonfiguration 6.8 Schutz & Security Die Kommunikation zwischen CPUs (über die Kommunikationsfunktionen in den Codebausteinen) wird durch die Schutzstufe der CPU nicht eingeschränkt. Tabelle 6-3 Schutzstufen der CPU Schutzstufe Zugangsbeschränkungen Vollzugriff inkl. Fail- Uneingeschränkter Zugriff auf eine F-CPU ohne Passwortschutz. safe (kein Schutz) Vollzugriff (kein Uneingeschränkter Zugriff auf eine Standard-CPU ohne Passwortschutz.
  • Seite 165: Verbindungsmechanismen Konfigurieren

    Variablen kann den Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen und Webserver-Benutzer-IDs (Seite 852) durch starke Passwörter.
  • Seite 166 Gerätekonfiguration 6.8 Schutz & Security Kommunikationsverbindungen möglich, bei denen sowohl die lokale CPU als auch der Kommunikationspartner konfiguriert oder programmiert werden müssen. Beispielsweise ist der Zugriff über die Anweisungen BSEND/BRCV möglich. Verbindungen, bei denen die lokale CPU lediglich ein Server ist (was bedeutet, dass in der lokalen CPU keine Konfiguration/Programmierung der Kommunikation mit dem Kommunikationspartner vorhanden ist) sind deshalb während des Betriebs der CPU nicht möglich.
  • Seite 167 Gerätekonfiguration 6.8 Schutz & Security Themen im Informationssystem im TIA Portal für jede Konfigurationsaufgabe und die zugehörigen Sicherheitskonzepte. Legacy-Kommunikation Wenn Sie mit einem Gerät kommunizieren müssen, das Secure Communication nicht unterstützt, wählen Sie "Nur Secure PG/PC- und HMI-Kommunikation" ab. Bei dieser Auswahl kann Ihre PLC entweder über Secure Communication oder über Legacy-Kommunikation (Seite 591) kommunizieren.
  • Seite 168 Gerätekonfiguration 6.8 Schutz & Security Wenn Sie einen Baustein für den Knowhow-Schutz konfigurieren, so ist der Code in diesem Baustein erst nach Eingabe des Passworts zugänglich. Den Knowhow-Schutz eines Codebausteins konfigurieren Sie in der Taskcard "Eigenschaften" des jeweiligen Codebausteins. Nach dem Öffnen des Codebausteins wählen Sie unter "Eigenschaften"...
  • Seite 169: Modulparameter Konfigurieren

    Gerätekonfiguration 6.9 Modulparameter konfigurieren Um einen Baustein mit einer bestimmten CPU oder Memory Card zu verknüpfen, öffnen Sie die Taskcard "Eigenschaften" des jeweiligen Codebausteins. 1. Nach dem Öffnen des Codebausteins wählen Sie "Schutz". 2. Wählen Sie in der Klappliste "Kopierschutz" die Art des Kopierschutzes aus, die verwendet werden soll.
  • Seite 170 Gerätekonfiguration 6.9 Modulparameter konfigurieren Signalmodul (SM) oder Signalboard (SB) konfigurieren In der Gerätekonfiguration für Signalmodule und Signalboards können Sie Folgendes konfigurieren: • Digitale E/A: Sie können Eingänge für die Erkennung steigender oder fallender Flanken (jeweils mit Zuweisung eines Ereignisses und eines Prozessalarms) oder für den "Impulsabgriff"...
  • Seite 171: Cpu Für Die Kommunikation Konfigurieren

    Gerätekonfiguration 6.10 CPU für die Kommunikation konfigurieren 6.10 CPU für die Kommunikation konfigurieren Die S7-1200 erfüllt Ihre Kommunikations- und Vernetzungsanforderungen durch Unterstützung sowohl einfacher als auch komplexer Netze. Die S7-1200 bietet außerdem Werkzeuge für die Kommunikation mit anderen Geräten, z.B. mit Druckern und Waagen, die über eigene Kommunikationsprotokolle verfügen.
  • Seite 172: Uhrzeitsynchronisation

    Gerätekonfiguration 6.11 Uhrzeitsynchronisation Bei den TCP-, ISO-on-TCP- und UDP-Ethernet-Proto‐ kollen konfigurieren Sie die Verbindungen der loka‐ len und der Partner-CPU in den "Eigenschaften" der Anweisung (TSEND_C, TRCV_C oder TCON). Die Abbildung zeigt die "Verbindungseigenschaf‐ ten" im Register "Verbindung" einer ISO-on-TCP-Ver‐ bindung.
  • Seite 173: Einstellen Der Echtzeituhr

    Baugruppenträger der S7-1200, der mit einem SCADA-System verbunden ist, in dem sich eine Masteruhr befindet. Weitere Informationen zu allen S7-1200 CPs (https://support.industry.siemens.com/cs/de/de/ ps), die die Zeitsynchronisation unterstützen, finden Sie auf der Website Siemens Industry Online-Support, Produkt-Support. Einstellen der Echtzeituhr Sie können die Echtzeituhr in der S7-1200 CPU auf drei verschiedene Arten einstellen: •...
  • Seite 174 Gerätekonfiguration 6.11 Uhrzeitsynchronisation konfiguriert haben (wenn Sie beispielsweise die Uhrzeitsynchronisation auf mehreren CP- Modulen oder auf der CPU und einem Modul aktiviert haben). Hinweis Die Aktivierung der Uhrzeitsynchronisation auf einem CP-Modul bewirkt, dass dieses CP-Modul die Uhr der CPU stellt. Wenn Sie im Dialog "Uhrzeitsynchronisation"...
  • Seite 175: Richtlinien Für Das Entwerfen Einer Automatisierungslösung Mit Einem Plc-Gerät

    Programmierkonzepte Richtlinien für das Entwerfen einer Automatisierungslösung mit einem PLC-Gerät Bei der Entwicklung eines PLC-Systems können Sie aus einer Vielzahl von Methoden und Kriterien auswählen. Die folgenden allgemeinen Richtlinien sind auf viele Projekte anwendbar. Dabei sollten Sie sich selbstverständlich an die Verfahrensanweisungen in Ihrem Unternehmen halten und Ihre eigenen Erfahrungen berücksichtigen.
  • Seite 176: Strukturieren Ihres Anwenderprogramms

    Programmierkonzepte 7.2 Strukturieren Ihres Anwenderprogramms Empfohlene Schritte Aufgaben Definieren der Operator‐ Erstellen Sie die folgenden Pläne der OperatorStationen anhand der Anforderungen in den Beschrei‐ Stationen bungen der Funktionsbereiche: • Position aller OperatorStationen in Bezug zum Prozess bzw. zur Anlage • Mechanische Anordnung der Geräte der Operator-Station, z.
  • Seite 177: Art Der Struktur Für Das Anwenderprogramm Wählen

    Programmierkonzepte 7.2 Strukturieren Ihres Anwenderprogramms Art der Struktur für das Anwenderprogramm wählen Je nach den Anforderungen Ihrer Anwendung können Sie eine lineare oder eine modulare Struktur für Ihr Anwenderprogramm wählen: • Ein lineares Programm führt alle Anweisungen für Ihre Automatisierungsaufgaben nacheinander aus.
  • Seite 178: Organisationsbaustein (Ob)

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Verwendung von Bausteinen zum Strukturieren Ihres Programms Modulare Codebausteine erstellen Sie durch den Entwurf von FBs und FCs für die Ausführung allgemeiner Aufgaben. Dann strukturieren Sie Ihr Programm, indem andere Codebausteine diese wiederverwendbaren Module aufrufen.
  • Seite 179: Zusätzliche Obs Anlegen

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Der Programmzyklus-OB enthält das Hauptprogramm. Sie können mehrere Programmzyklus- OBs in Ihr Anwenderprogramm aufnehmen. Im Betriebszustand RUN werden die Programmzyklus-OBs mit der niedrigsten Prioritätsstufe ausgeführt und können durch alle anderen Ereignisarten unterbrochen werden. Der Anlauf-OB unterbricht den Programmzyklus- OB nicht, weil die CPU den Anlauf-OB vor dem Wechsel in RUN ausführt.
  • Seite 180: Eigenschaften Eines Obs Konfigurieren

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Ende des ersten Programmzyklus-OBs (z. B. OB 1) führt die CPU den Programmzyklus-OB mit der nächsthöheren Nummer aus. Eigenschaften eines OBs konfigurieren Sie können die Eigenschaften eines OBs, beispielsweise die OB-Nummer oder die Programmiersprache, konfigurieren.
  • Seite 181: Funktionsbaustein (Fb)

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3.3 Funktionsbaustein (FB) Ein Funktionsbaustein (FB) ist ein Codebaustein, der für seine Parameter und statischen Daten einen Instanz-Datenbaustein nutzt. FBs haben einen variablen Speicher, der sich in einem Datenbaustein (DB) oder einem Instanz-DB befindet. Der Instanz-DB stellt einen Speicherbaustein bereit, der dieser Instanz (oder diesem Aufruf) des FBs zugewiesen ist und die Daten nach Ablauf des FBs speichert.
  • Seite 182: Einzelnen Fb Mit Dbs Verwenden

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Einzelnen FB mit DBs verwenden Die folgende Abbildung zeigt einen OB, der einen FB dreimal aufruft, wobei für jeden Aufruf ein anderer Datenbaustein verwendet wird. Durch diese Struktur kann ein allgemeiner FB für die Steuerung mehrerer gleichartiger Geräte wie z.
  • Seite 183: Schreibgeschützte Datenbausteine

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Schreibgeschützte Datenbausteine Ein DB kann so konfiguriert werden, dass er nur gelesen werden kann: 1. Klicken Sie mit der rechten Maustaste in der Projektnavigation auf den DB und wählen Sie im Kontextmenü...
  • Seite 184: Anlegen Wiederverwendbarer Codebausteine

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3.5 Anlegen wiederverwendbarer Codebausteine OBs, FBs, FCs und globale DBs können Sie in der Pro‐ jektnavigation unter "Pro‐ grammbausteine" im Dia‐ log "Neuen Baustein hinzu‐ fügen" anlegen. Beim Anlegen eines Code‐ bausteins müssen Sie die Programmiersprache für den Baustein auswählen.
  • Seite 185: Bausteinoptimierung Und Parameterübergabe

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Das Anwenderprogramm überträgt Parameter mittels einer von zwei Methoden: Call-by-Value Wenn das Anwenderprogramm einen Parameter als "Call-by-Value" an eine Funktion übergibt, kopiert das Anwenderprogramm den tatsächlichen Parameterwert in den Eingangsparameter des Bausteins für den Schnittstellentyp IN. Dieser Vorgang erfordert zusätzlichen Speicher für den kopierten Wert.
  • Seite 186 DBs. Im Abschnitt "Optimierte Bausteine" in der S7‑Programmierrichtlinie für S7‑1200/1500, STEP 7 (TIA Portal), 03/2014 (https://support.industry.siemens.com/cs/ww/de/ view/81318674) finden Sie eine Erläuterung zu optimierten Bausteinen. Sie erstellen FBs und FCs, um entweder optimierte oder nicht optimierte Daten zu verarbeiten.
  • Seite 187: Auswirkung Der Optimierungseinstellungen Auf Anwenderprogramme

    Programmierkonzepte 7.4 Datenkonsistenz Auswirkung der Optimierungseinstellungen auf Anwenderprogramme Das Kopieren der Parameter kann ein Problem in einem Anwenderprogramm verursachen, wenn durch ein HMI-Gerät oder einen Alarm-OB Elemente in der Struktur verändert werden. Beispiel: Es gibt einen IN/OUT-Parameter einer Funktion (der normalerweise als "Call-by- Reference"...
  • Seite 188 Programmierkonzepte 7.5 Programmiersprache DIS_AIRT (Alarmbearbeitung deaktivieren) und EN_AIRT (Alarmbearbeitung aktivieren) können Sie in Ihrem Programmzyklus-OB den Zugriff auf die gemeinsam genutzten Werte schützen. • Fügen Sie eine Anweisung DIS_AIRT in den Codebaustein ein, um sicherzustellen, dass während eines Lese- oder Schreibvorgangs kein Alarm-OB ausgeführt werden kann. •...
  • Seite 189 Programmierkonzepte 7.5 Programmiersprache Ihr Anwenderprogramm kann mit Codebausteinen arbeiten, die in einer dieser Programmiersprachen angelegt wurden. 7.5.1 Kontaktplan (KOP) Die Elemente eines Schaltplans, wie Öffner- und Schließerkontakte, und Spulen werden zu Netzwerken verknüpft. Um Verknüpfungen für komplexe Operationen anzulegen, können Sie Verzweigungen für parallele Kreise einfügen.
  • Seite 190 Programmierkonzepte 7.5 Programmiersprache 7.5.2 Funktionsplan (FUP) Ebenso wie KOP ist auch FUP eine grafische Programmiersprache. Die Darstellung der Verknüpfungslogik beruht auf den grafischen Symbolen, die in der booleschen Algebra üblich sind. Um Verknüpfungen für komplexe Operatio‐ nen anzulegen, fügen Sie parallele Verzwei‐ gungen zwischen den Boxen ein.
  • Seite 191 Programmierkonzepte 7.5 Programmiersprache Im Schnittstellenabschnitt des SCL-Codebausteins können Sie die folgenden Arten von Parametern deklarieren: • Input, Output, InOut und Ret_Val: Diese Parameter definieren die Eingangs- und Ausgangsvariablen sowie den Rückgabewert für den Codebaustein. Der Variablenname, den Sie hier eingeben, wird lokal während der Ausführung des Codebausteins verwendet. Üblicherweise wird der globale Variablenname nicht in der Variablentabelle verwendet.
  • Seite 192: Scl-Ausdrücke Und -Operationen

    Programmierkonzepte 7.5 Programmiersprache 7.5.3.2 SCL-Ausdrücke und -Operationen SCL-Ausdruck konstruieren Ein SCL-Ausdruck ist eine Formel zum Berechnen eines Werts. Der Ausdruck besteht aus Operanden und Operatoren (wie *, /, + oder -). Bei den Operanden kann es sich um Variablen, Konstanten oder Ausdrücke handeln. Die Auswertung des Ausdrucks erfolgt in einer bestimmten Reihenfolge, die von den folgenden Faktoren festgelegt wird: •...
  • Seite 193: Steuerungsanweisungen

    Programmierkonzepte 7.5 Programmiersprache Als höhere Programmiersprache nutzt SCL Standardanweisungen für grundlegende Aufgaben: • Zuweisungsanweisung: := • Arithmetische Funktionen: +, -, * und / • Adressierung von globalen Variablen: "<Variablenname>" (Variablenname oder Datenbausteinname in doppelten Anführungszeichen) • Adressierung von lokalen Variablen: #<Variablenname> (Variablenname mit vorangestelltem Symbol "#") Die folgenden Beispiele zeigen verschiedene Ausdrücke für verschiedene Einsatzzwecke: "C"...
  • Seite 194 Programmierkonzepte 7.5 Programmiersprache Die Online-Hilfe von STEP 7 enthält vollständige Referenzinformationen für die Programmiersprache SCL. Bedingungen Eine Bedingung ist ein Vergleichsausdruck oder ein logischer Ausdruck, dessen Ergebnis vom Typ BOOL ist (Wert WAHR oder FALSCH). Die folgenden Beispiele zeigen Bedingungen verschiedener Arten: Relationaler Ausdruck #Temperatur >...
  • Seite 195 Programmierkonzepte 7.5 Programmiersprache Adressierung Wie bei KOP und FUP können Sie in SCL entweder Variablen (symbolische Adressierung) oder absolute Adressen in Ihrem Anwenderprogramm verwenden. In SCL können Sie eine Variable auch als Array-Index verwenden. Absolute Adressierung Der absoluten Adresse ist das Symbol "%" voranzu‐ %I0.0 stellen.
  • Seite 196 Programmierkonzepte 7.5 Programmiersprache Liest das von byteOffset angegebene Doppel‐ PEEK_DWORD(area:=_in_, dbNumber:=_in_, wort aus dem angegebenen Datenbaustein, byteOffset:=_in_); aus den E/A oder dem Speicherbereich. Beispiel: %MD300 := PEEK_DWORD(area:=16#84, dbNumber:=1, byteOffset:=#i); Liest einen von bitOffset und byteOffset ange‐ PEEK_BOOL(area:=_in_, dbNumber:=_in_, gebenen Booleschen Wert aus dem angegebe‐ byteOffset:=_in_, nen Datenbaustein, aus den E/A oder dem bitOffset:=_in_);...
  • Seite 197: Setzen Von Eno In Scl Konfigurieren

    Programmierkonzepte 7.5 Programmiersprache Bei den Anweisungen PEEK und POKE gelten die folgenden Werte für die Parameter "area", "area_src" und "area_dest". Für andere Bereiche als Datenbausteine muss der Parameter dbNumber 0 sein. 16#81 16#82 16#83 16#84 7.5.4 EN und ENO in KOP, FUP und SCL "Signalfluss"...
  • Seite 198 Programmierkonzepte 7.5 Programmiersprache 2. Erweitern Sie die Eigenschaften "PLC-Programmierung" und wählen Sie "SCL (Structured Control Language)". 3. Wählen Sie die Option "ENO automatisch setzen". Verwendung von ENO im Programmcode Sie können ENO auch in Ihrem Programmcode verwenden, zum Beispiel durch Zuweisen von ENO zu einer PLC-Variablen oder durch Auswerten von ENO in einem lokalen Baustein.
  • Seite 199: Siehe Auch

    Programmierkonzepte 7.6 Laden der Programmelemente Parameter Error (Bool). Done zeigt an, dass die Anweisung fehlerfrei ausgeführt wurde, und Error weist darauf hin, dass die Anweisung mit Fehler beendet wurde. • Wenn Busy = 1 (bzw. WAHR), ist ENO = 1 (bzw. WAHR). •...
  • Seite 200 Programmierkonzepte 7.6 Laden der Programmelemente werden. Ist diese Art des Kopierschutzes für mehrere Bausteine eingerichtet, muss für jeden der geschützten Bausteine das Passwort für das Laden des Bausteins eingegeben werden. Hinweis Durch das Laden eines Programms werden die Werte im remanenten Speicher weder gelöscht noch verändert.
  • Seite 201 Programmierkonzepte 7.6 Laden der Programmelemente Bild 7-1 Online-Ansicht, wenn sich die konfigurierte CPU von der angeschlossenen CPU unterscheidet Sie können natürlich in der Gerätekonfiguration Ihr Gerät ändern (Seite 152), so dass die konfigurierte CPU den gleichen Modultyp hat wie die angeschlossene CPU. Im Dialog "Gerät ändern"...
  • Seite 202: Cpus Mit Schutz Vertraulicher Plc-Konfigurationsdaten

    Programmierkonzepte 7.6 Laden der Programmelemente CPUs mit Schutz vertraulicher PLC-Konfigurationsdaten Wenn Sie Schutz vertraulicher PLC-Konfigurationsdaten (Seite 161) konfiguriert haben, beachten Sie Folgendes: • Wenn das Gerät das Passwort für den Schutz vertraulicher PLC-Konfigurationsdaten nicht hat, werden Sie vom TIA Portal beim ersten Laden ins Zielsystem aufgefordert, das Passwort für den Schutz vertraulicher PLC-Konfigurationsdaten einzugeben.
  • Seite 203: Synchronisieren Der Online-Cpu Und Des Offline-Projekts

    Programmierkonzepte 7.7 Synchronisieren der Online-CPU und des Offline-Projekts Synchronisieren der Online-CPU und des Offline-Projekts Wenn Sie Projektbausteine in die CPU laden, kann die CPU erkennen, ob sich seit dem letzten Ladevorgang Bausteine oder Variablen in der Online-CPU geändert haben. Dann bietet Ihnen die CPU an, die Änderungen zu synchronisieren.
  • Seite 204: Synchronisierungsoptionen

    Programmierkonzepte 7.7 Synchronisieren der Online-CPU und des Offline-Projekts Synchronisierungsoptionen Wenn Sie ein Projekt in die CPU laden, wird der Synchronisierungsdialog angezeigt, wenn STEP 7 erkennt, dass Datenbausteine oder Variablen in der Online-CPU neuer sind als die Werte im Projekt. Beispiel: Wenn das STEP 7-Programm WRIT_DBL ausgeführt und einen Startwert für eine Variable in Data_block_1 geändert hat, zeigt STEP 7 den folgenden Synchronisierungsdialog an, sobald Sie das Laden ins Zielsystem anstoßen: Dieser Dialog führt die Programmbausteine auf, in denen Unterschiede vorhanden sind.
  • Seite 205: Laden Von Der Online-Cpu

    Programmierkonzepte 7.9 Debugging und Testen des Programms Laden von der Online-CPU Sie können die Programmbausteine einer Online-CPU oder einer an Ihr Programmiergerät angeschlossenen Memory Card auch kopieren. Bereiten Sie das Offline-Projekt für die kopierten Programm‐ bausteine vor: 1. Fügen Sie eine CPU hinzu, die der Online-CPU entspricht. 2.
  • Seite 206: Beobachtungstabellen Und Forcetabellen

    Programmierkonzepte 7.9 Debugging und Testen des Programms Editor Beobachten Steuern Forcen Programmiereditor Nein Variablentabelle Nein Nein DB-Editor Nein Nein In einer Beobach‐ tungstabelle be‐ obachten Im KOP-Editor beobachten Im Kapitel "Online und Diagnose" finden Sie weitere Informationen zum Thema Daten in der CPU beobachten und steuern (Seite 1223).
  • Seite 207: Querverweis Zum Anzeigen Der Verwendung

    Programmierkonzepte 7.9 Debugging und Testen des Programms Mit STEP 7 ist es ferner möglich, Programmvariablen anhand von Auslösebedingungen zu verfolgen und aufzuzeichnen (Seite 1242). 7.9.3 Querverweis zum Anzeigen der Verwendung Das Inspektorfenster zeigt Querverweise dazu an, wie ein Objekt innerhalb des gesamten Projekts verwendet wird, z.
  • Seite 208: Aufrufstruktur Zur Prüfung Der Aufrufhierarchie

    Programmierkonzepte 7.9 Debugging und Testen des Programms 7.9.4 Aufrufstruktur zur Prüfung der Aufrufhierarchie Die Aufrufstruktur zeigt die Aufrufhierarchie des Bausteins innerhalb Ihres Anwenderprogramms. Sie bietet einen Überblick über die verwendeten Bausteine, die Aufrufe anderer Bausteine, die Beziehungen zwischen Bausteinen, die Datenanforderungen an jeden Baustein sowie den Status der einzelnen Bausteine.
  • Seite 209: Bitverknüpfungsanweisungen

    Anweisungen Bitverknüpfungen 8.1.1 Bitverknüpfungsanweisungen KOP und FUP verarbeiten Boolesche Logik sehr effektiv. SCL ist zwar besonders effektiv bei komplexen mathematischen Berechnungen und bei Projektsteuerstrukturen, doch Sie können SCL auch für Boolesche Logik verwenden. KOP-Kontakte Tabelle 8-1 Schließer- und Öffnerkontakte Beschreibung Schließer- und Öffnerkontakte: Sie können Kontakte untereinander ver‐...
  • Seite 210 Anweisungen 8.1 Bitverknüpfungen UND-, ODER- und XOR-Boxen in FUP Bei der FUP-Programmierung werden Netzwerke mit KOP-Kontakten in die Box-Netzwerke UND (&), ODER (>=1) und EXKLUSIV ODER (x) umgewandelt, in denen Sie Bitwerte für die Ein- und Ausgänge der Box angeben können. Sie können ferner Verschaltungen mit anderen Logik-Boxen herstellen und so Ihre eigene Verschaltungslogik erstellen.
  • Seite 211: Ausgangsspule Und Zuweisungsbox

    Anweisungen 8.1 Bitverknüpfungen Logikinvertierer NOT Tabelle 8-5 VKE (Verknüpfungsergebnis) invertieren Beschreibung Bei der FUP-Programmierung können Sie die Funktion "VKE invertieren" aus der Funktionsleiste "Favoriten" oder dem An‐ weisungsverzeichnis auf einen Eingang oder einen Ausgang ziehen, um einen Logikinvertierer für diesen Box-Anschluss zu erstellen.
  • Seite 212: Setz- Und Rücksetzoperationen

    Anweisungen 8.1 Bitverknüpfungen • Ist ein Signalfluss durch eine Ausgangsspule vorhanden oder eine FUP-Box "=" aktiviert, so wird das Ausgangsbit auf 1 gesetzt. • Ist kein Signalfluss durch eine Ausgangsspule vorhanden oder keine FUP-Box "=" aktiviert, so wird das Ausgangsbit auf 0 gesetzt. •...
  • Seite 213: Flipflop-Schaltungen Vorrangig Setzen Und Vorrangig Rücksetzen

    Anweisungen 8.1 Bitverknüpfungen Bitfeld setzen und rücksetzen Tabelle 8-10 Anweisungen SET_BF und RESET_BF Beschreibung Nicht verfügbar Bitfeld setzen: Wird SET_BF aktiviert, so wird der Datenwert 1 in "n" Bits ge‐ schrieben, beginnend an Adresse OUT. Wird SET_BF nicht akti‐ viert, verändert sich OUT nicht. Nicht verfügbar Bitfeld rücksetzen: RESET_BF schreibt den Datenwert 0 in "n"...
  • Seite 214: Operationen Steigende Flanke Und Fallende Flanke

    Anweisungen 8.1 Bitverknüpfungen Parameter Datentyp Beschreibung INOUT Bool Zugewiesene Bitvariable "INOUT" Bool Folgt dem Zustand von Bit "INOUT" Variable "INOUT" weist die Bitadresse zu, die gesetzt bzw. zurückgesetzt wird. Der optionale Ausgang Q gibt den Signalzustand der Adresse "INOUT" an. Anweisung Bit "INOUT"...
  • Seite 215 Anweisungen 8.1 Bitverknüpfungen Beschreibung Nicht verfüg‐ Operand bei positiver Signalflanke setzen. KOP: Das zugewiesene Bit OUT ist WAHR, wenn eine steigende Flanke (AUS-nach-EIN) am Signalfluss, der in die Spule eintritt, erkannt wird. Der Eingangszustand des Signalflusses durchläuft die Spule immer als Aus‐ gangszustand des Signalflusses.
  • Seite 216 Anweisungen 8.1 Bitverknüpfungen Tabelle 8-16 Anweisungen R_TRIG und F_TRIG KOP/FUP Beschreibung "R_TRIG_DB"( Variable bei positiver Signalflanke setzen. CLK:=_in_, Der vorhergehende Zustand des Eingangs CLK wird im zugewiesenen In‐ Q=> _bool_out_); stanz-DB gespeichert. Der Signalfluss oder der logische Zustand des Aus‐ gangs Q ist WAHR, wenn eine steigende Flanke (AUS-nach-EIN) am Ein‐...
  • Seite 217: Funktionsweise Der Zeiten

    Anweisungen 8.2 Funktionsweise der Zeiten Signalwechsel in der gewünschten Richtung hinweisen, wird eine Flanke gemeldet, indem der Ausgang auf WAHR gesetzt wird. Andernfalls wird der Ausgang auf FALSCH gesetzt. Hinweis Flankenoperationen werten den Eingang und die Merkerwerte bei jeder Ausführung aus, auch bei der ersten Ausführung.
  • Seite 218 Anweisungen 8.2 Funktionsweise der Zeiten KOP/FUP-Boxen KOP-Spu‐ Beschreibung Die Zeit TONR setzt den Ausgang Q nach einer vor‐ "IEC_Timer_0_DB".TONR ( IN:=_bool_in_, eingestellten Zeit auf EIN. Die abgelaufene Zeit wird über mehrere Zeitintervalle kumuliert, bis Eingang R R:=_bool_in_, PT:=_time_in_, zum Zurücksetzen der abgelaufenen Zeit angesto‐ ßen wird.
  • Seite 219 Anweisungen 8.2 Funktionsweise der Zeiten Zeitschaltuhr Änderungen der Box-Parameter PT und IN und der entsprechenden Spulenparameter • Ändert sich PT, während die Zeit läuft, hat dies keine Auswirkungen. • Wenn IN nach WAHR wechselt, während die Zeit läuft, wird die Zeit angehalten und zurückgesetzt. TONR •...
  • Seite 220 Anweisungen 8.2 Funktionsweise der Zeiten Spulen Zeit rücksetzen -(RT)- und Zeitdauer laden -(PT)- Diese Spulenanweisungen können mit Box- oder Spulenzeiten verwendet werden und in der Mitte eines Strompfads angeordnet werden. Der Signalzustand des Spulenausgangs ist immer der gleiche wie am Spuleneingang. Wenn die Spule -(RT)- aktiviert wird, wird das Zeitelement ELAPSED in den Daten des angegebenen DB IEC_Timer auf 0 zurückgesetzt.
  • Seite 221 Anweisungen 8.2 Funktionsweise der Zeiten Zeit Zeitdiagramm TOF: Ausschaltverzögerung generieren Die Zeit TON setzt den Ausgang Q nach einer voreinge‐ stellten Zeit auf AUS zurück. TONR: Zeitakkumulator Die Zeit TONR setzt den Ausgang Q nach einer voreinge‐ stellten Zeit auf EIN. Die abgelaufene Zeit wird über meh‐ rere Zeitintervalle kumuliert, bis Eingang R zum Zurück‐...
  • Seite 222: Programmierung Von Zeiten

    Anweisungen 8.2 Funktionsweise der Zeiten Programmierung von Zeiten Die folgenden Konsequenzen von Zeiten sind bei der Planung und Erstellung Ihres Anwenderprogramms zu berücksichtigen: • Sie können mehrere Aktualisierungen einer Zeit im gleichen Zyklus haben. Die Zeit wird bei jeder Ausführung der Zeitanweisung (TP, TON, TOF, TONR) aktualisiert sowie jedesmal, wenn das Element ELAPSED oder Q der Zeitstruktur als Parameter einer anderen ausgeführten Anweisung verwendet wird.
  • Seite 223 Anweisungen 8.2 Funktionsweise der Zeiten Zeitdaten durch Zuweisen eines globalen DB als remanente Daten speichern Diese Option funktioniert unabhängig davon, wo die Zeit platziert wird (OB, FC oder FB). 1. Globalen DB erstellen: – Doppelklicken Sie in der Projektnavigation auf "Neuen Baustein hinzufügen". –...
  • Seite 224 Anweisungen 8.2 Funktionsweise der Zeiten 3. Wenn der Dialog mit den Aufrufoptionen angezeigt wird, klicken Sie auf das Multiinstanz- Symbol. Die Multiinstanz-Option ist nur verfügbar, wenn die Anweisung in einen FB eingefügt wird. 4. Geben Sie der Zeit im Dialog der Aufrufoptionen ggf. einen Namen. 5.
  • Seite 225: Funktionsweise Der Zähler

    Anweisungen 8.3 Funktionsweise der Zähler Funktionsweise der Zähler Tabelle 8-23 Zähleranweisungen KOP/FUP Beschreibung Mit den Zähleranweisungen können Sie programminterne Ereignisse "IEC_Counter_0_DB".CT und externe Prozessereignisse zählen. Jeder Zähler nutzt eine in einem Datenbaustein abgelegte Struktur, um die Daten des Zählers zu spei‐ CU:=_bool_in, R:=_bool_in, chern.
  • Seite 226 Anweisungen 8.3 Funktionsweise der Zähler Die Anzahl der Zähler, die Sie in Ihrem Anwenderprogramm verwenden können, ist lediglich durch den Speicherplatz in der CPU begrenzt. Zähler benötigen den folgenden Speicherplatz: • Bei den Datentypen SInt oder USInt benötigt die Zähleranweisung 3 Byte. •...
  • Seite 227 Anweisungen 8.3 Funktionsweise der Zähler Tabelle 8-26 Funktionsweise von CTD (Rückwärtszählen) Zähler Bedienung Der Zähler CTD zählt um 1 rückwärts, wenn der Wert des Para‐ meters CD von 0 nach 1 wechselt. Das CTD-Zeitdiagramm zeigt die Funktionsweise bei einem vorzeichenlosen ganzzahligen Zählwert (dabei ist PV = 3).
  • Seite 228 Anweisungen 8.3 Funktionsweise der Zähler Speichern von Zählerdaten nach einem RUN-STOP-RUN-Wechsel oder einem Neustart der CPU Wenn eine Session im Betriebszustand RUN mit dem Betriebszustand STOP oder einem Neustart der CPU beendet wird und eine neue Session im Betriebszustand RUN gestartet wird, gehen die in der vorherigen RUN-Session gespeicherten Zählerdaten verloren, sofern die Zählerdatenstruktur nicht als remanent definiert ist (Zeiten CTU, CTD und CTUD).
  • Seite 229 Anweisungen 8.3 Funktionsweise der Zähler Zählerdatentyp Entsprechender Typ für die Voreinstellung und den Zähle‐ rwert IEC_Counter IEC_SCounter SINT IEC_DCounter DINT IEC_UCounter UINT IEC_USCounter USINT IEC_UDCounter UDINT Zählerdaten durch Zuweisen eines Multiinstanz-DB als remanente Daten speichern Diese Möglichkeit funktioniert nur, wenn Sie den Zähler in einem FB ablegen. Diese Variante ist davon abhängig, ob in den FB-Eigenschaften "Optimierter Bausteinzugriff"...
  • Seite 230: Funktionsweise Von Vergleichern

    Anweisungen 8.4 Funktionsweise von Vergleichern 3. Wenn der Dialog mit den Aufrufoptionen angezeigt wird, klicken Sie auf das Multiinstanz- Symbol. Die Multiinstanz-Option ist nur verfügbar, wenn die Anweisung in einen FB eingefügt wird. 4. Geben Sie dem Zähler im Dialog der Aufrufoptionen ggf. einen Namen. 5.
  • Seite 231 Anweisungen 8.4 Funktionsweise von Vergleichern Tabelle 8-29 Datentypen für die Parameter Parameter Datentyp Beschreibung IN1, IN2 Byte, Word, DWord, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Zu vergleichende Werte String, WString, Char, Char, Time, Date, TOD, DTL, Konstante Tabelle 8-30 Beschreibungen der Vergleiche Beziehungstyp Der Vergleich ist wahr, wenn...
  • Seite 232: Variant- Und Array-Vergleichsoperationen

    Anweisungen 8.4 Funktionsweise von Vergleichern 8.4.3 OK (Gültigkeit prüfen) und NOT_OK (Ungültigkeit prüfen) Tabelle 8-33 Anweisungen OK (Gültigkeit prüfen) und NOT OK (Ungültigkeit prüfen) Beschreibung Nicht verfügbar Prüft, ob eine Eingabedatenreferenz eine gültige Realzahl nach der IEEE-Spezifikation 754 ist. Nicht verfügbar In KOP und FUP: Ist der KOP-Kontakt WAHR, wird der Kontakt aktiviert und leitet Signalfluss.
  • Seite 233: Null-Vergleichsoperationen

    Anweisungen 8.4 Funktionsweise von Vergleichern Für alle Anweisungen ist das Verknüpfungsergebnis (VKE) 1 (wahr), wenn der Gleich- oder Ungleich-Vergleich erfolgreich war, andernfalls ist es 0 (falsch). Die Gleich- und Ungleich-Vergleichsanweisungen sind nachfolgend beschrieben: • EQ_Type (Datentyp mit dem Datentyp einer Variablen auf GLEICH vergleichen) •...
  • Seite 234 Anweisungen 8.4 Funktionsweise von Vergleichern Für beide Anweisungen muss <Operand> den Datentyp Variant haben. Tabelle 8-38 IS_NULL (Abfrage nach Pointer GLEICH NULL) und NOT_NULL (Abfrage nach Pointer UNGLEICH NULL) Beschreibung Nicht ver‐ Prüft, ob die Variable, auf die das Element Vari‐ fügbar ant an Operand zeigt, Null und somit kein Objekt ist.
  • Seite 235: Arithmetische Funktionen

    Anweisungen 8.5 Arithmetische Funktionen Arithmetische Funktionen 8.5.1 CALCULATE (Berechnen) Tabelle 8-42 Anweisung CALCULATE KOP/FUP Beschreibung Verwenden Sie Mit der Anweisung CALCULATE können Sie eine mathematische Funktion die herkömmli‐ erstellen, die Eingänge (IN1, IN2, .. INn) verarbeitet und das Ergebnis bei chen mathemati‐...
  • Seite 236: Anweisungen Addieren, Subtrahieren, Multiplizieren Und Dividieren

    Anweisungen 8.5 Arithmetische Funktionen Hinweis Sie müssen außerdem einen Eingang für die Konstanten in Ihrer Funktion anlegen. Der konstante Wert wird dann in den zugewiesenen Eingang der Anweisung CALCULATE eingegeben. Indem Sie Konstanten als Eingänge eingeben, können Sie die Anweisung CALCULATE an andere Stellen in Ihrem Anwenderprogramm kopieren, ohne die Funktion ändern zu müssen.
  • Seite 237 Anweisungen 8.5 Arithmetische Funktionen Die arithmetische Anweisung führt, wenn sie aktiviert ist (EN = 1), die angegebene Funktion für die Eingangswerte (IN1 und IN2) aus und speichert das Ergebnis in der vom Ausgangsparameter (OUT) angegebenen Speicheradresse. Nachdem die Operation erfolgreich ausgeführt ist, wird ENO = 1 gesetzt.
  • Seite 238 Anweisungen 8.5 Arithmetische Funktionen Tabelle 8-49 ENO-Werte Beschreibung Kein Fehler Wert IN2 = 0, OUT wird der Wert Null zugewiesen 8.5.4 NEG (Zweierkomplement erstellen) Tabelle 8-50 Anweisung NEG (Zweierkomplement erstellen) KOP/FUP Beschreibung Mit der Anweisung NEG wird das arithmetische Vorzeichen des Werts von Parameter IN -(in);...
  • Seite 239: Inc (Inkrementieren) Und Dec (Dekrementieren)

    Anweisungen 8.5 Arithmetische Funktionen 8.5.5 INC (Inkrementieren) und DEC (Dekrementieren) Tabelle 8-53 Anweisungen INC und DEC KOP/FUP Beschreibung Erhöht einen ganzzahligen Wert mit oder ohne Vorzeichen: in_out := in_out + 1; IN_OUT -Wert +1 = IN_OUT -Wert in_out := in_out - 1; Verringert einen ganzzahligen Wert mit oder ohne Vorzeichen: IN_OUT -Wert - 1 = IN_OUT -Wert In KOP und FUP: Klicken Sie auf die "???"...
  • Seite 240: Min (Minimum Abrufen) Und Max (Maximum Abrufen)

    Anweisungen 8.5 Arithmetische Funktionen Tabelle 8-57 Datentypen für die Parameter Parameter Datentyp Beschreibung SInt, Int, DInt, Real, LReal Eingang der arithmetischen Operation SInt, Int, DInt, Real, LReal Ausgang der arithmetischen Operation Die Parameter IN und OUT müssen denselben Datentyp haben. Tabelle 8-58 ENO-Status Beschreibung Kein Fehler...
  • Seite 241 Anweisungen 8.5 Arithmetische Funktionen Um einen Eingang hinzuzufügen, klicken Sie auf das Symbol "Erstellen" oder an einem der vorhandenen Parameter IN mit der rechten Maustaste auf den Ein‐ gangsanschluss und wählen den Befehl "Eingang einfügen". Um einen Eingang zu löschen, klicken Sie bei einem der vorhandenen Parameter IN mit der rechten Maustaste auf den Eingangsanschluss (sofern mehr als die zwei ursprünglichen Eingänge vorhanden sind) und wählen den Befehl "Löschen".
  • Seite 242: Exponential-, Logarithmus- Und Trigonometrieanweisungen

    Anweisungen 8.5 Arithmetische Funktionen ist) oder der Wert von Parameter MAX (wenn der Wert IN größer als der Wert MAX ist) ausgegeben. Tabelle 8-64 ENO-Status Beschreibung Kein Fehler Real: Ist einer der Werte für MIN, IN oder MAX keine Zahl (NaN), wird NaN zurückgegeben. Ist MIN größer als MAX, wird der Wert IN dem Ausgang OUT zugewiesen.
  • Seite 243 Anweisungen 8.5 Arithmetische Funktionen Tabelle 8-65 Beispiele für arithmetische Gleitpunktanweisungen KOP/FUP Beschreibung out := SQR(in); Quadrat: IN = OUT oder Beispiel: Wenn IN = 9, dann OUT = 81. out := in * in; Potenzieren: IN1 = OUT out := in1 ** in2; Beispiel: Wenn IN1 = 3 und IN2 = 2, dann OUT = 9.
  • Seite 244: Anweisungen Zum Übertragen Von Daten

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-67 ENO-Zustand Anweisung Bedingung Ergebnis (OUT) Alle Kein Fehler Gültiges Ergebnis Ergebnis überschreitet den gültigen Bereich für Real/ +INF LReal IN ist +/- NaN (keine Zahl) +NaN SQRT IN ist negativ -NaN IN ist +/- INF (unendlich) oder +/- NaN +/- INF oder +/- NaN IN ist 0,0, negativ, -INF oder -NaN...
  • Seite 245 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-68 Anweisungen MOVE, MOVE_BLK, UMOVE_BLK und MOVE_BLK_VARIANT KOP/FUP Beschreibung out1 := in; Kopiert ein unter einer bestimmten Adresse ge‐ speichertes Datenelement in eine neue Adresse oder in mehrere Adressen. MOVE_BLK( Unterbrechbare Übertragung, die einen Bereich mit Datenelementen in eine neue Adresse ko‐...
  • Seite 246 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Um einen Ausgang zu löschen, klicken Sie bei einem der vorhandenen Parameter OUT mit der rechten Maustaste auf den Ausgangsanschluss (sofern mehr als die zwei ursprünglichen Ausgänge vorhanden sind) und wählen den Befehl "Löschen". Tabelle 8-70 Datentypen für die Anweisungen MOVE_BLK und UMOVE_BLK Parameter Datentyp...
  • Seite 247 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die Operationen MOVE_BLK und UMOVE_BLK unterscheiden sich in der Verarbeitung von Alarmen: • Alarmereignisse werden in die Warteschlange gestellt und während der Ausführung von MOVE_BLK verarbeitet. Die Operation MOVE_BLK nutzen Sie, wenn die Daten an der Zieladresse der Übertragung nicht in einem Unterprogramm eines Alarm-OBs verwendet werden, oder, sofern sie verwendet werden, die Zieldaten nicht konsistent sein müssen.
  • Seite 248 Anweisungen 8.6 Anweisungen zum Übertragen von Daten RET_VAL Beschreibung (W#16#...) 8553 Fehler bei der Codegenerierung an Parameter DEST 8554 Der Operand von Parameter DEST hat Datentyp Bool. *Feldercodes können im Programmeditor als Ganzzahlen oder Hexadezimalwerte angezeigt werden. 8.6.2 Deserialize Mit der Anweisung "Deserialize" kann die sequentielle Darstellung eines PLC-Datentyps (UDT) in einen PLC-Datentyp zurückverwandelt und sein gesamter Inhalt aufgefüllt werden.
  • Seite 249 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-76 Parameter RET_VAL RET_VAL Beschreibung (W#16#...) 0000 Kein Fehler 80B0 Die Speicherbereiche für die Parameter SRC_ARRAY und DEST_VARIABLE überlappen sich. 8136 Der Datenbaustein an Parameter DEST_VARIABLE ist kein Baustein mit Standardzugriff. 8150 Datentyp Variant von Parameter SRC_ARRAY enthält keinen Wert.
  • Seite 250: Funktionsbausteinschnittstelle (Oder Funktionsschnittstelle)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Abrechnungsdaten, die deserialisiert und in Datenstruktur "Bill" des Datenbausteins "Target" geschrieben werden. Funktionsbausteinschnittstelle (oder Funktionsschnittstelle): Benutzerdefinierte PLC-Datentypen: Die Strukturen der beiden PLC-Datentypen (UDT) für dieses Beispiel sind nachstehend dargestellt: Datenbausteine: Die beiden Datenbausteine für dieses Beispiel sind nachfolgend dargestellt: 8.6.3 Serialize Mit der Anweisung "Serialize"...
  • Seite 251 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Der POS-Parameter enthält Informationen über die Anzahl Bytes, die die umgewandelten PLC- Datentypen verwenden. Hinweis Soll nur ein einzelner PLC-Datentyp (UDT) übertragen werden, kann dafür Anweisung "TSEND: Daten über Kommunikationsverbindung senden" verwendet werden. Tabelle 8-77 Anweisung SERIALIZE KOP/FUP Beschreibung...
  • Seite 252: Bausteinschnittstelle

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten RET_VAL Beschreibung (W#16#...) 8382 Der Wert von Parameter POS liegt außerhalb des Grenzwerts für das Feld. Feldercodes können im Programmeditor als Ganzzahlen oder Hexadezimalwerte angezeigt werden. Beispiel: Anweisung Serialize Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Netzwerk 1: Mit Anweisung "MOVE"...
  • Seite 253 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Benutzerdefinierte PLC-Datentypen: Die Strukturen der beiden PLC-Datentypen (UDT) für dieses Beispiel sind nachstehend dargestellt: Datenbausteine: Die beiden Datenbausteine für dieses Beispiel sind nachstehend dargestellt: 8.6.4 FILL_BLK (Speicher mit Bitmuster belegen) und UFILL_BLK (Speicher ununterbrechbar mit Bitmuster belegen) Tabelle 8-80 Anweisungen FILL_BLK und UFILL_BLK KOP/FUP...
  • Seite 254 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-81 Datentypen für die Parameter Parameter Datentyp Beschreibung SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Datenquelladresse DWord, Time, Date, TOD, Char, WChar COUNT UDint, USInt, UInt Anzahl der zu kopierenden Datenelemente SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Datenzieladresse DWord, Time, Date, TOD, Char, WChar...
  • Seite 255 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.5 SWAP (Anordnung ändern) Tabelle 8-83 Anweisung SWAP KOP/FUP Beschreibung Kehrt die Bytereihenfolge bei Zwei-Byte- und Vier-Byte-Datenelementen um. Die out := SWAP(in); Bitfolge innerhalb eines Bytes wird nicht geändert. ENO ist nach der Ausführung der Anweisung SWAP immer WAHR.
  • Seite 256 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Parameter Die folgende Tabelle zeigt die Parameter der Anweisung LOWER_BOUND: Untere ARRAY-Grenze auslesen Parameter Deklaration Datentyp Speicherbereich Beschreibung Input BOOL E, A, M, D, L Freigabeeingang Output BOOL E, A, M, D, L Der Freigabeausgang ENO hat den Signalzustand 0, wenn eine der folgenden Be‐...
  • Seite 257 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Wenn der Operand "Enable_Start" den Signalzustand 1 ausgibt, führt die CPU die Anweisung LOWER_BOUND aus. Die CPU liest die untere Variablengrenze des ARRAY #ARRAY_A aus dem eindimensionalen Array aus. Wird die Anweisung mit Fehlern ausgeführt, werden der Operand "Enable_Out"...
  • Seite 258: Anweisungen Speicher Lesen / In Speicher Schreiben

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel In der Bausteinschnittstelle der Funktion (FC) ist der Eingangsparameter ARRAY_A ein eindimensionales Array mit Variablendimensionen. Wenn der Operand "Enable_Start" den Signalzustand 1 ausgibt, führt die CPU die Anweisung aus. Sie liest die obere Variablengrenze des ARRAY #ARRAY_A aus dem eindimensionalen Array aus.
  • Seite 259 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Liest das von byteOffset angegebene Byte aus PEEK(area:=_in_, dbNumber:=_in_, dem angegebenen Datenbaustein, aus den E/A byteOffset:=_in_); oder dem Speicherbereich. Beispiel für den Verweis auf einen Datenbau‐ stein: %MB100 := PEEK(area:=16#84, dbNumber:=1, byteOffset:=#i); Beispiel für den Verweis auf Eingang EB3: %MB100 := PEEK(area:=16#81, dbNumber:=0, byteOffset:=#i);...
  • Seite 260 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Schreibt den Booleschen Wert in den angege‐ POKE_BOOL(area:=_in_, dbNumber:=_in_, benen bitOffset und byteOffset des angegebe‐ byteOffset:=_in_, nen Datenbausteins, der E/A oder des Speicher‐ bitOffset:=_in_, bereichs. value:=_in_); Beispiel: POKE_BOOL(area:=16#84, dbNumber:=2, byteOffset:=3, bitOffset:=5, value:=0); Schreibt die unter "count" angegebene Anzahl POKE_BLK(area_src:=_in_, dbNumber_src:=_in_, von Bytes beginnend mit dem angegebenen...
  • Seite 261 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-87 Anweisungen Big- und Little-Endian-Format lesen und schreiben KOP/FUP Beschreibung Nicht verfüg‐ READ_LITTLE( Liest Daten aus einem Speicherbereich und schreibt sie in eine einzelne Variable im Little-Endian-Byte-Format. src_array:=_variant_in_, dest_Variable =>_out_, pos:=_dint_inout) Nicht verfüg‐ WRITE_LITTLE( Schreibt Daten aus einer einzelnen Variablen in einen Speicherbereich im Little-Endian-Byte-Format.
  • Seite 262: Variant-Anweisungen

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten RET_VAL Beschreibung (W#16#...) 8382 Der Wert von Parameter POS liegt außerhalb des Grenzwerts für das Feld. 8383 Der Wert von Parameter POS liegt innerhalb der Grenzwerte des Felds, aber die Größe des Speicherbereichs überschreitet die Obergrenze des Felds.
  • Seite 263 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8-93 ENO-Zustand Bedingung Ergebnis Kein Fehler Die Anweisung hat die Variablendaten, auf die SRC zeigt, in Variable DST kopiert. Freigabeeingang EN hat Signalzustand "0" oder Datenty‐ Die Anweisung hat keine Daten kopiert. pen passen nicht.
  • Seite 264 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.9.3 CountOfElements (Anzahl ARRAY-Elemente abfragen) Mit Anweisung "Anzahl ARRAY-Elemente abfragen" kann abgefragt werden, wie viele Array- Elemente in einer Variablen vorhanden sind, auf die ein Variant-Element zeigt. Bei einem eindimensionalen ARRAY gibt die Anweisung die Differenz zwischen dem oberen und unteren Grenzwert +1 aus.
  • Seite 265: Anweisungen In Älteren Systemen

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.10 Anweisungen in älteren Systemen 8.6.10.1 Anweisungen FieldRead (Feld lesen) und FieldWrite (Feld schreiben) Hinweis In STEP 7 V10.5 wurden eine Variablenreferenz als Array-Index oder multidimensionale Arrays nicht unterstützt. Mit den Anweisungen FeldLesen und FeldSchreiben wurden variable Array-Index-Anweisungen für ein eindimensionales Array bereitgestellt.
  • Seite 266 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Der Freigabeausgang ENO ist gleich 0, wenn eine der folgenden Bedingungen zutrifft: • Der Eingang EN ist im Signalzustand 0. • Das vom Parameter INDEX angegebene Array-Element ist im vom Parameter MEMBER angegebenen Array nicht definiert. •...
  • Seite 267 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.11 SCATTER SCATTER: Bitfolge in einzelne Bits auflösen Die Anweisung zum Zerlegen der Bitfolge in einzelne Bits unterteilt eine Variable vom Datentyp BYTE, WORD oder DWORD in einzelne Bits und speichert diese in einem Datentyp ARRAY aus BOOL, Datentyp anonyme STRUCT oder Datentyp PLC ausschließlich mit Booleschen Elementen.
  • Seite 268 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Datentypen für die Anweisung SCATTER Die folgende Tabelle zeigt die Parameter der Anweisung: Parameter Deklaration Datentyp Speicherbereich Beschreibung S7-1200 S7-1500 Input BOOL BOOL E, A, M, D, L oder Freigabeeingang Konstante Output BOOL BOOL E, A, M, D, L Freigabeausgang...
  • Seite 269: Beispiel Mit Einem Datentyp Plc (Udt)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceWord WORD (16 Bits) DestinationUDT Der Operand "DestinationUDT" hat den Datentyp PLC (UDT). Er besteht aus 16 Elementen und ist somit genauso groß wie der Datentyp WORD, der analysiert werden soll.
  • Seite 270: Siehe Auch

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Bild 8-2 SCATTER - Beispiel Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceWord WORD (16 Bits) DestinationUDT Der Operand "DestinationUDT" hat den Datentyp PLC (UDT). Er besteht aus 16 Elementen und ist somit genauso groß...
  • Seite 271 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.12 SCATTER_BLK SCATTER_BLK: Elemente eines ARRAY aus Bitfolgen in einzelne Bits auflösen Die Anweisung Elemente eines ARRAY einer Bitfolge in einzelne Bits zerlegen unterteilt ein oder mehrere Elemente eines ARRAY aus BYTE, WORD oder DWORD in einzelne Bits und speichert diese in einem Datentyp ARRAY aus BOOL, Datentyp anonyme STRUCT oder Datentyp PLC ausschließlich mit Booleschen Elementen.
  • Seite 272 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Wenn die untere ARRAY-Grenze des Ziel-ARRAY nicht "0" ist, beachten Sie Folgendes: Aus Gründen der Leistungsfähigkeit muss der Index immer an einer BYTE-, WORD- oder DWORD- Grenze beginnen. Das bedeutet, dass die Berechnung des Index an der unteren Grenze des ARRAY beginnen muss.
  • Seite 273 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Datentypen für die Anweisung SCATTER_BLK Die folgende Tabelle zeigt die Parameter der Anweisung: Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich S7-1200 S7-1500 Input BOOL BOOL E, A, M, D, L Freigabeein‐ oder Konstante gang Output BOOL BOOL...
  • Seite 274 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Variable Bereich Datentyp EnableOut Ausgang BOOL DestinationArrayBool ARRAY[0..95] aus BOOL Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceArrayWord[2] ARRAY[0..5] aus WORD (96 Bits können analysiert werden) COUNT_IN...
  • Seite 275 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceArrayWord[2] ARRAY[0..5] aus WORD (96 Bits können analysiert werden) COUNT_IN CounterInput = 3 UDINT3 (3 x WORD oder 48 Bits sollen analysiert werden.
  • Seite 276 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.13 GATHER GATHER Die Anweisung Einzelne Bits zu mehreren Elementen eines ARRAY einer Bitfolge zusammenfügen verbindet die Bits eines Datentyps ARRAY aus BOOL, Datentyps anonyme STRUCT oder Datentyps PLC ausschließlich mit Booleschen Elementen zu einer Bitfolge. Die Bitfolge wird in einer Variablen vom Datentyp BYTE, WORD, DWORD oder LWORD gespeichert.
  • Seite 277 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Datentypen für die Anweisung GATHER Die folgende Tabelle zeigt die Parameter der Anweisung: Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich S7-1200 S7-1500 Input BOOL BOOL E, A, M, D, L Freigabeein‐ oder Konstante gang Output BOOL BOOL...
  • Seite 278 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceArray Der Operand "SourceArray" ist vom Datentyp ARRAY[0..15] aus BOOL. Er besteht aus 16 Elemen‐ ten und ist somit genauso groß wie der Datentyp WORD, zu dem die Bits zusammengeführt wer‐...
  • Seite 279 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert: Parameter Operand Datentyp SourceUDT Der Operand "SourceUDT" hat den Datentyp PLC (UDT). Er be‐ steht aus 16 Elementen und ist somit genauso groß wie der Da‐ tentyp WORD, zu dem die Bits zu‐...
  • Seite 280 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.14 GATHER_BLK Beschreibung Die Anweisung Einzelne Bits zu mehreren Elementen eines ARRAY einer Bitfolge zusammenfügen verbindet die Bits eines Datentyps ARRAY aus BOOL, Datentyps anonyme STRUCT oder Datentyps PLC ausschließlich mit Booleschen Elementen in einem oder mehreren Elementen eines ARRAY aus <Bitfolge>.
  • Seite 281 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Multidimensionales ARRAY aus BOOL Wenn es sich bei dem ARRAY um ein multidimensionales ARRAY aus BOOL handelt, werden bei der Zählung auch die Füllbits der Dimensionen berücksichtigt, auch wenn sie nicht explizit deklariert wurden.
  • Seite 282 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Datentypen für die Anweisung GATHER_BLK Die folgende Tabelle zeigt die Parameter der Anweisung: Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich S7-1200 S7-1500 Input BOOL BOOL E, A, M, D, L Freigabeein‐ oder Konstante gang Output BOOL BOOL...
  • Seite 283 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel für ein Quell-ARRAY mit der unteren Grenze "0" Erstellen Sie die folgenden Variablen in der Bausteinschnittstelle: Variable Bereich Datentyp Enable Eingang BOOL SourceArrayBool ARRAY[0..95] aus BOOL CounterOutput UDINT EnableOut Ausgang BOOL DestinationArrayWord ARRAY[0..5] aus WORD Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert:...
  • Seite 284 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel für ein Quell-ARRAY mit der unteren Grenze "-2" Erstellen Sie die folgenden Variablen in der Bausteinschnittstelle: Variable Bereich Datentyp Enable Eingang BOOL SourceArrayBool ARRAY[-2..93] aus BOOL CounterOutput UDINT EnableOut Ausgang BOOL DestinationArrayWord ARRAY[0..5] aus WORD Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Die folgende Tabelle zeigt, wie die Anweisung mit spezifischen Operandenwerten funktioniert:...
  • Seite 285: Umwandlungsoperationen

    Anweisungen 8.7 Umwandlungsoperationen Umwandlungsoperationen 8.7.1 CONV (Wert umwandeln) Tabelle 8-106 Anweisung Umwandeln (CONV) KOP/FUP Beschreibung out := <data type in>_TO_<data type out>(in); Konvertiert ein Datenelement von ei‐ nem Datentyp in einen anderen Da‐ tentyp. In KOP und FUP: Klicken Sie auf die "???" und wählen Sie die Datentypen in der Klappliste aus. In SCL: Konstruieren Sie die Umwandlungsanweisung durch Angeben des Datentyps für den Eingangsparameter (in) und den Ausgangsparameter (out).
  • Seite 286: Umwandlungsanweisungen In Scl

    Anweisungen 8.7 Umwandlungsoperationen 8.7.2 Umwandlungsanweisungen in SCL Umwandlungsanweisungen in SCL Tabelle 8-109 Umwandlung von Bool, Byte, Word oder DWord Datentyp Anweisung Ergebnis Bool Der Wert wird in das niederwertigste Bit des Zieldatentyps BOOL_TO_BYTE, BOOL_TO_WORD, BOOL_TO_DWORD, BOOL_TO_INT, übertragen. BOOL_TO_DINT Byte BYTE_TO_BOOL Das niederwertigste Bit wird in den Zieldatentyp übertra‐...
  • Seite 287 Anweisungen 8.7 Umwandlungsoperationen Tabelle 8-110 Umwandlung einer kurzen Ganzzahl (SInt oder USInt) Datentyp Anweisung Ergebnis SInt SINT_TO_BOOL Das niederwertigste Bit wird in den Zieldatentyp übertra‐ gen. SINT_TO_BYTE Der Wert wird in den Zieldatentyp übertragen. Der Wert wird in das niederwertigste Byte des Zieldatentyps SINT_TO_WORD, SINT_TO_DWORD übertragen.
  • Seite 288 Anweisungen 8.7 Umwandlungsoperationen Tabelle 8-112 Umwandlung einer doppelten Ganzzahl (Dint oder UDInt) Datentyp Anweisung Ergebnis DInt DINT_TO_BOOL Das niederwertigste Bit wird in den Ziel‐ datentyp übertragen. DINT_TO_BYTE, DINT_TO_WORD, DINT_TO_SINT, Der Wert wird umgewandelt. DINT_TO_USINT, DINT_TO_INT, DINT_TO_UINT, DINT_TO_UDINT, DINT_TO_REAL, DINT_TO_LREAL, DINT_TO_CHAR, DINT_TO_STRING DINT_TO_DWORD, DINT_TO_TIME Der Wert wird in den Zieldatentyp über‐...
  • Seite 289: Round (Zahl Runden) Und Trunc (Ganzzahl Erzeugen)

    Anweisungen 8.7 Umwandlungsoperationen Datentyp Anweisung Ergebnis String STRING_TO_SINT, STRING_TO_USINT, Der Wert wird umgewandelt. STRING_TO_INT, STRING_TO_UINT, STRING_TO_DINT, STRING_TO_UDINT, STRING_TO_REAL, STRING_TO_LREAL STRING_TO_CHAR Das erste Zeichen der Zeichenkette wird in Char kopiert. 8.7.3 ROUND (Zahl runden) und TRUNC (Ganzzahl erzeugen) Tabelle 8-116 Anweisungen ROUND und TRUNC KOP/FUP Beschreibung konvertiert eine Realzahl in eine Ganzzahl.
  • Seite 290 Anweisungen 8.7 Umwandlungsoperationen 8.7.4 CEIL und FLOOR (Aus Gleitpunktzahl nächsthöhere und nächstniedere Ganzzahl erzeugen) Tabelle 8-119 Anweisungen CEIL und FLOOR KOP/FUP Beschreibung out := CEIL(in); Konvertiert eine Realzahl (Real oder LReal) in die nächste Ganz‐ zahl, die größer oder gleich der ausgewählten Realzahl ist (IEEE - Runden auf +unendlich).
  • Seite 291 Anweisungen 8.7 Umwandlungsoperationen 8.7.5 SCALE_X (Skalieren) und NORM_X (Normieren) Tabelle 8-122 Anweisungen SCALE_X und NORM_X KOP/FUP Beschreibung Skaliert den normierten Realparameter VALUE (0,0 out :=SCALE_X(min:=_in_, value:=_in_, <= VALUE <= 1,0) in den mit den Parametern MIN und MAX vorgegebenen Datentyp und Wertebe‐ max:=_in_);...
  • Seite 292 Anweisungen 8.7 Umwandlungsoperationen Hinweis Der Parameter VALUE von SCALE_X muss im Bereich (0,0 <= VALUE <= 1,0) liegen. Falls der Parameter VALUE kleiner als 0,0 oder größer als 1,0 ist: • Die lineare Skalierungsoperation kann Ausgabewerte OUT erzeugen, die kleiner als der Wert des Parameters MIN oder größer als der Wert des Parameters MAX sind, sofern es sich um OUT-Werte handelt, die im Wertebereich des Datentyps von OUT liegen.
  • Seite 293 Anweisungen 8.7 Umwandlungsoperationen Beachten Sie, dass, wenn der Analogeingang von einem analogen Signalmodul oder Signalboard mit Spannungseingang kommen würde, der MIN-Wert für die Anweisung NORM_X -27648 und nicht 0 wäre. Beispiel (KOP): Normieren und Skalieren eines Analogausgangswerts Ein in einem analogen Signalmodul oder Signalboard mit Stromausgang zu setzender Analogausgang muss im Bereich von 0 bis 27648 der gültigen Werte liegen.
  • Seite 294: Variant-Umwandlungsanweisungen

    Anweisungen 8.7 Umwandlungsoperationen 8.7.6 Variant-Umwandlungsanweisungen 8.7.6.1 VARIANT_TO_DB_ANY (VARIANT in DB_ANY konvertieren) Mit der Anweisung "VARIANT to DB_ANY" wird der Operand von Parameter IN gelesen und in den Datentyp DB_ANY umgewandelt. Der Parameter IN hat den Datentyp Variant und stellt entweder einen Instanzdatenbaustein oder einen ARRAY-Datenbaustein dar. Beim Anlegen des Programms muss nicht bekannt sein, welcher Datenbaustein dem IN-Parameter entspricht.
  • Seite 295 Anweisungen 8.7 Umwandlungsoperationen Beschreibung (W#16#...) 8132 Der Datenbaustein ist zu kurz und kein Array-Datenbaustein (zweiter Zugriff). 8134 Der Datenbaustein ist schreibgeschützt 8150 Datentyp Variant von Parameter IN liefert den Wert "0". Für diese Fehlermeldung muss die Bausteineigenschaft "Fehler in Baustein be‐ arbeiten"...
  • Seite 296: Programmsteuerungsoperationen

    Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8-132 Fehlercodes für Anweisung DB_ANY_TO_VARIANT Beschreibung (W#16#...) 0000 Kein Fehler 8130 Nummer des Datenbausteins ist 0. 8131 Der Datenbaustein existiert nicht oder ist zu kurz. 8132 Der Datenbaustein ist zu kurz und kein Array-Datenbaustein. 8134 Der Datenbaustein ist schreibgeschützt. 8154 Der Datenbaustein hat den falschen Datentyp.
  • Seite 297 Anweisungen 8.8 Programmsteuerungsoperationen • Jede Sprungmarke muss innerhalb eines Codebausteins eindeutig sein. • Sie können innerhalb eines Codebausteins springen, aber Sie können nicht von einem Codebaustein in einen anderen Codebaustein springen. • Sie können vorwärts oder rückwärts springen. • Sie können von mehreren Stellen eines Codebausteins zu derselben Sprungmarke springen. 8.8.2 JMP_LIST (Sprungliste definieren) Tabelle 8-135 Anweisung JMP_LIST...
  • Seite 298 Anweisungen 8.8 Programmsteuerungsoperationen 8.8.3 SWITCH (Sprungverteilung) Tabelle 8-137 Anweisung SWITCH KOP/FUP Beschreibung Die Anweisung SWITCH verteilt die Programmsprünge, um die Aus‐ Nicht verfügbar führung von Programmabschnitten zu steuern. Je nach Ergebnis des Vergleichs zwischen dem Wert des Eingangs K und den Werten der angegebenen Vergleichseingänge wird ein Sprung zu der Sprung‐...
  • Seite 299: Eingänge Hinzufügen, Eingänge Löschen Und Vergleichsarten Angeben

    Anweisungen 8.8 Programmsteuerungsoperationen Eingänge hinzufügen, Eingänge löschen und Vergleichsarten angeben Beim Einfügen der Box SWITCH in KOP oder FUP in Ihrem Programm sind zwei Vergleichseingänge vorhanden. Sie können Vergleichsarten zuweisen und Eingänge bzw. Sprungziele hinzufügen oder löschen (siehe unten). Klicken Sie in der Box auf einen Vergleichsoperator und wählen Sie in der Klappliste einen neuen Operator aus.
  • Seite 300 Anweisungen 8.8 Programmsteuerungsoperationen 8.8.4 RET (Rückgabewert) Mit der optionalen Anweisung RET wird die Ausführung des aktuellen Bausteins beendet. Nur bei Signalfluss zur Spule RET (KOP) oder wenn die Box RET wahr ist (FUP), wird die Programmausführung des aktuellen Bausteins an diesem Punkt beendet; nach der Anweisung RET werden keine weiteren Anweisungen ausgeführt.
  • Seite 301 Anweisungen 8.8 Programmsteuerungsoperationen 8.8.5 ENDIS_PW (CPU-Passwort aktivieren/deaktivieren) Tabelle 8-142 Anweisung ENDIS_PW KOP/FUP Beschreibung Mit der Anweisung ENDIS_PW kann die Ver‐ ENDIS_PW( req:=_bool_in_, bindung eines Clients mit einer S7-1200 CPU freigegeben oder gesperrt werden, auch f_pwd:=_bool_in_, full_pwd:=_bool_in_, wenn der Client das richtige Passwort bereit‐ stellt.
  • Seite 302 Anweisungen 8.8 Programmsteuerungsoperationen immer auf 1 gesetzt sein muss, um einen Rückgabewert von 0 zu erreichen. In diesem Fall ist F_PWD_ON immer 1. Hinweis • Die Ausführung von ENDIS_PW kann den Zugriff auf HMI-Geräte blockieren, wenn das HMI- Passwort gesperrt ist. •...
  • Seite 303 Variablen kann den Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen (Seite 163) und Webserver-Benutzer-IDs (Seite 852) durch starke Passwörter.
  • Seite 304: Maximale Zykluszeit Des Plc-Geräts Einstellen

    Anweisungen 8.8 Programmsteuerungsoperationen RET_VAL Beschreibung (W#16#...) 80D2 Das Passwort für Lesezugriff ist nicht konfiguriert. 80D3 Das Passwort für HMI-Zugriff ist nicht konfiguriert. 8.8.6 RE_TRIGR (Zyklusüberwachungszeit neu starten) Tabelle 8-145 Anweisung RE_TRIGR KOP/FUP Beschreibung Mit RE_TRIGR (Zykluszeitüberwachung neu starten) kann die maximal zulässige RE_TRIGR();...
  • Seite 305 Anweisungen 8.8 Programmsteuerungsoperationen Wenn das Anwenderprogramm keinen Zeitfehleralarm-OB enthält, wird die erste Timeout- Bedingung ignoriert und die CPU bleibt im Betriebszustand RUN. Wenn in demselben Programmzyklus eine zweite Überschreitung der maximalen Zykluszeit auftritt (2 x maximaler Zykluszeitwert), wird ein Fehler ausgelöst, der bewirkt, dass das Zielsystem in den Betriebszustand STOP geht.
  • Seite 306: Datentyp Beschreibung

    Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8-150 Elemente der ErrorStruct-Datenstruktur Strukturkomponenten Datentyp Beschreibung ERROR_ID Word Fehler-ID FLAGS Byte Zeigt an, ob während eines Bausteinaufrufs ein Fehler aufgetreten ist. • 16#01: Fehler während eines Bausteinaufrufs. • 16#00: Kein Fehler während eines Bausteinaufrufs. REACTION Byte Standardreaktion: •...
  • Seite 307 Anweisungen 8.8 Programmsteuerungsoperationen Strukturkomponenten Datentyp Beschreibung DB_NUMBER UInt (D) Nummer des Datenbausteins OFFSET UDInt (E) Relative Adresse des Operanden GET_ERROR_ID Tabelle 8-151 Anweisung GetErrorID KOP/FUP Beschreibung GET_ERR_ID(); Zeigt an, wenn ein Fehler in der Ausführung eines Programmbausteins auf‐ getreten ist und meldet die ID (Kennung) des Fehlers. Tabelle 8-152 Datentypen für die Parameter Parameter Datentyp...
  • Seite 308: Funktionsweise

    Anweisungen 8.8 Programmsteuerungsoperationen ERROR_ID hexade‐ ERROR_ID dezimal Ausführungsfehler Programmbaustein zimal 2942 10562 Physischer Eingang ist nicht vorhanden 2943 10563 Physischer Ausgang ist nicht vorhanden Funktionsweise Standardmäßig reagiert die CPU auf einen Bausteinausführungsfehler durch Eintragen des Fehlers in den Diagnosepuffer. Wenn Sie jedoch eine oder mehrere Anweisungen GET_ERROR oder GET_ERROR_ID in einem Codebaustein anordnen, kann dieser Baustein die Fehler im Baustein behandeln.
  • Seite 309 Anweisungen 8.8 Programmsteuerungsoperationen 8.8.9 RUNTIME (Programmlaufzeit messen) Tabelle 8-154 Anweisung RUNTIME KOP/FUP Beschreibung Misst die Laufzeit des gesamten Programms, einzelner Bausteine oder Ret_Val := RUNTIME( _lread_inout_); von Befehlssequenzen. Soll die Laufzeit des gesamten Programms gemessen werden, ist die Anweisung "Programmlaufzeit messen" in OB 1 aufzurufen. Die Laufzeitmessung beginnt mit dem ersten Aufruf und Ausgang RET_VAL gibt die gemessene Programmlaufzeit nach dem zweiten Aufruf zurück.
  • Seite 310: Programmsteuerungsanweisungen In Scl

    Anweisungen 8.8 Programmsteuerungsoperationen Netzwerk 1: Netzwerk 2: Netzwerk 3: Wenn der Operand "Tag_1" in Netzwerk 1 Signalzustand "1" hat, wird Anweisung RUNTIME ausgeführt. Der Startpunkt für die Laufzeitmessung wird mit dem ersten Aufruf der Anweisung gesetzt und als Referenz für den zweiten Aufruf der Anweisung in Operand "Mem" gepuffert. Funktionsbaustein FB1 wird in Netzwerk 2 ausgeführt.
  • Seite 311: If-Then-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen Die Programmsteuerungsanweisungen verwenden die Syntax der Programmiersprache PASCAL. Tabelle 8-156 Arten von Programmsteuerungsanweisungen in SCL Programmsteuerungsanweisung Beschreibung Auswahl IF-THEN-Anweisung (Sei‐ Ermöglicht Ihnen, den Programmfluss in Abhängigkeit von einer Bedin‐ te 311) gung, die entweder WAHR oder FALSCH ist, in eine von zwei Alternativen zu verzweigen.
  • Seite 312 Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8-158 Variablen der IF-THEN-Anweisung Variablen Beschreibung "Bedingung" Erforderlich. Der logische Ausdruck ist entweder WAHR (1) oder FALSCH (0). "Anweisung_A" Optional. Eine oder mehrere Anweisungen, die auszuführen sind, wenn "Bedingung" WAHR ist. "Bedingung-n" Optional. Der logische Ausdruck, der von der optionalen ELSIF-Anweisung auszuwerten ist. "Anweisung_N"...
  • Seite 313 Anweisungen 8.8 Programmsteuerungsoperationen Parameter Beschreibung Anweisung Erforderlich. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn "Testwert" einem Wert in der Werteliste entspricht. Else-Anweisung Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn kein Wert der "Wer‐ teliste" eine Übereinstimmung ergibt. Eine CASE-Anweisung wird entsprechend den folgenden Regeln ausgeführt: •...
  • Seite 314: While-Do-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8-162 Parameter Parameter Beschreibung "Steuervariable" Erforderlich. Eine Ganzzahl (Int oder DInt), die als Schleifenzähler dient. "Anfang" Erforderlich. Einfacher Ausdruck, der den Anfangswert der Steuervariablen angibt. "Ende" Erforderlich. Einfacher Ausdruck, der den Abschlusswert der Steuervariablen angibt. "Inkrement" Optional.
  • Seite 315: Repeat-Until-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8-164 Parameter Parameter Beschreibung "Bedingung" Erforderlich. Ein logischer Ausdruck, dessen Auswertung WAHR oder FALSCH ergibt. (Die Bedin‐ gung "Null" wird als FALSCH ausgewertet.) Anweisung Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, bis die Bedingung WAHR ist. Hinweis Die WHILE-Anweisung wertet den Zustand der "Bedingung"...
  • Seite 316: Continue-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen Hinweis Vor der Auswertung des Zustands der "Bedingung" führt die REPEAT-Anweisung die Anweisungen während der ersten Durchführung der Schleife aus (auch wenn die "Bedingung" FALSCH ist). Um den Zustand der "Bedingung" vor der Ausführung der Anweisungen zu prüfen, verwenden Sie die WHILE-Anweisung (Seite 314).
  • Seite 317 Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.8 EXIT-Anweisung Tabelle 8-168 Anweisung EXIT Beschreibung EXIT; Die EXIT-Anweisung dient zum Beenden einer Schleife (FOR, WHILE oder REPEAT) an beliebiger Stelle und unabhängig davon, ob die Beendigungsbedingung erfüllt ist. Die EXIT-Anweisung wird entsprechend den folgenden Regeln ausgeführt: •...
  • Seite 318 Anweisungen 8.9 Wortverknüpfung ELSE GOTO MeineBeschriftung3; END_CASE; MeineBeschriftung1: "Variable_1" := 1; MeineBeschriftung2: "Variable_2" := 1; MeineBeschriftung3: "Variable_4" := 1; 8.8.10.10 RETURN-Anweisung Tabelle 8-170 Anweisung RETURN Beschreibung Die RETURN-Anweisung beendet den Codebaustein, der gerade ausgeführt wird, ohne Bedingun‐ RETURN; gen. Die Programmausführung kehrt zum aufrufenden Baustein oder zum Betriebssystem zurück (beim Beenden eines OB).
  • Seite 319 Anweisungen 8.9 Wortverknüpfung Um einen Eingang zu löschen, klicken Sie bei einem der vorhandenen Parameter IN mit der rechten Maustaste auf den Eingangsanschluss (sofern mehr als die zwei ursprünglichen Eingänge vorhanden sind) und wählen den Befehl "Löschen". Tabelle 8-172 Datentypen für die Parameter Parameter Datentyp Beschreibung...
  • Seite 320: Anweisungen Deco (Decodieren) And Enco (Encodieren)

    Anweisungen 8.9 Wortverknüpfung 8.9.3 Anweisungen DECO (Decodieren) and ENCO (Encodieren) Tabelle 8-175 Anweisungen ENCO und DECO KOP/FUP Beschreibung out := ENCO(_in_); Wandelt ein Bitmuster in eine Binärzahl um. Die Anweisung ENCO wandelt den Parameter IN in die Binärzahl um, die der Bitposition des niederwertigsten Bits von Parameter IN ent‐ spricht, und gibt das Ergebnis in Parameter OUT aus.
  • Seite 321: Anweisungen Sel (Selektieren), Mux (Multiplexen) Und Demux (Demultiplexen)

    Anweisungen 8.9 Wortverknüpfung Tabelle 8-178 Beispiele Wert IN für DECO Wert OUT für DECO (Einzelne Bitposition umwandeln) Byte OUT Min. IN 00000001 8 Bits Max. IN 10000000 Word OUT Min. IN 0000000000000001 16 Bits Max. IN 1000000000000000 DWord OUT Min. IN 00000000000000000000000000000001 32 Bits Max.
  • Seite 322 Anweisungen 8.9 Wortverknüpfung Bedingungscodes: ENO ist nach der Ausführung der Anweisung SEL immer WAHR. Tabelle 8-181 Anweisung MUX (Multiplexen) KOP/FUP Beschreibung Die Anweisung MUX kopiert einen von vielen Eingangswerten, abhän‐ out := MUX( gig vom Wert des Parameters K, in den Parameter OUT. Überschreitet der k:=_unit_in, Wert von Parameter K (INn - 1), so wird der Wert des Parameters ELSE in in1:=variant_in,...
  • Seite 323 Anweisungen 8.9 Wortverknüpfung Tabelle 8-183 Anweisung DEMUX (Demultiplexen) KOP/FUP Beschreibung DEMUX( DEMUX kopiert den Wert der Adresse, die dem Parameter IN zugewiesen ist, in einen von vielen Ausgängen. Der Wert des Parameters K gibt an, k:=_unit_in, in:=variant_in, welcher Ausgang als Ziel des Werts IN ausgewählt wird. Ist der Wert von K größer als die Zahl (OUTn - 1), wird der Wert IN in die Adresse kopiert, out1:=variant_in, out2:=variant_in,...
  • Seite 324: Schieben Und Rotieren

    Anweisungen 8.10 Schieben und Rotieren Tabelle 8-185 ENO-Zustand für die Anweisungen MUX und DEMUX Bedingung Ergebnis OUT Kein Fehler MUX: Ausgewählter IN-Wert wird in OUT kopiert DEMUX: IN-Wert wird in ausgewählten OUT kopiert MUX: K ist größer als die Anzahl der Eingänge -1 •...
  • Seite 325: Anweisungen Ror (Rechts Rotieren) Und Rol (Links Rotieren)

    Anweisungen 8.10 Schieben und Rotieren • Falls die Anzahl der zu schiebenden Positionen (N) die Anzahl der Bits im Zielwert überschreitet (8 bei Byte, 16 bei Word, 32 bei DWord), werden alle ursprünglichen Bitwerte hinausgeschoben und durch Nullen ersetzt (OUT wird Null zugewiesen). •...
  • Seite 326 Anweisungen 8.10 Schieben und Rotieren Tabelle 8-191 Beispiel: ROR mit Word-Daten Bits rechts hinausrotieren und links hineinrotieren (N = 1) 0100 0000 0000 0001 Wert von OUT vor dem ersten Rotieren: 0100 0000 0000 0001 Nach dem ersten Rotieren rechts: 1010 0000 0000 0000 Nach dem zweiten Rotieren rechts: 0101 0000 0000 0000...
  • Seite 327: Erweiterte Anweisungen

    Erweiterte Anweisungen Datums-, Uhrzeit- und Uhrfunktionen 9.1.1 Datums- und Uhrzeitanweisungen Verwenden Sie die Datum- und Uhrzeitanweisungen für Kalender- und Zeitberechnungen. • T_CONV konvertiert einen Wert in oder aus (Datum- und Zeit-Datentypen) und (Byte-, Wort- und Doppelwort-Datentypen). • T_ADD addiert Time- und DTL-Werte: (Time + Time = Time) oder (DTL + Time = DTL) •...
  • Seite 328 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Hinweis Mit T_CONV eine größere Datengröße in eine kleinere Datengröße umwandeln Wenn Sie einen größeren Datentyp mit mehr Bytes in einen kleineren Datentyp mit weniger Bytes umwandeln, können Datenwerte abgeschnitten werden. Tritt dieser Fehler auf, wird ENO auf 0 gesetzt.
  • Seite 329 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9-5 Anweisung T_DIFF (Zeitdifferenz) KOP/FUP Beschreibung out := T_DIFF( T_DIFF subtrahiert den DTL-Wert (IN2) vom DTL-Wert (IN1). Der Para‐ meter OUT liefert den Differenzwert als Datentyp Time. in1:=_DTL_in, in2:=_DTL_in); • DTL - DTL = Time Tabelle 9-6 Datentypen für die Parameter von T_DIFF Parameter und Datentyp...
  • Seite 330: Uhrzeitfunktionen

    Informationen und Empfehlungen bezüglich der Sicherheit finden Sie in unseren Operational Guidelines für Industrial Security (http://www.industry.siemens.com/topics/global/en/ industrial-security/Documents/operational_guidelines_industrial_security_en.pdf) auf der Website "Service & Support" von Siemens. Mit den Uhrzeitanweisungen können Sie die Systemuhr der CPU einstellen und lesen. Der Datentyp DTL (Seite 109) stellt Datum- und Uhrzeitwerte bereit. Tabelle 9-9 Anweisungen für die Systemzeit...
  • Seite 331 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen KOP/FUP Beschreibung ret_val := RD_LOC_T (Lokalzeit lesen) stellt die aktuelle Lokalzeit der CPU als Datentyp DTL bereit. Dieser Uhrzeitwert entspricht der lokalen RD_LOC_T( Zeitzone sowie der Anpassung an Sommer-/Winterzeit (sofern kon‐ figuriert). out=>_DTL_out); ret_val := WR_LOC_T (Lokalzeit schreiben) stellt das Datum und die Uhrzeit der CPU-Uhr ein.
  • Seite 332 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen • Für die Winterzeitumschaltung sind ebenfalls Monat, Woche, Tag und Stunde der Umstellung auf Winterzeit einzugeben. • Die Zeitzonendifferenz gilt immer bezogen auf die Systemzeit. Die Sommerzeitverschiebung gilt nur, wenn eine Umstellung auf Sommerzeit stattfindet. Hinweis Anfangszeit von Sommer- und Winterzeit einstellen Für die Eigenschaften "Uhrzeit"...
  • Seite 333 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Name Datentyp Beschreibung DaylightStartWeek USINT Woche der Umstellung auf Sommerzeit 1 = Erstes Auftreten des Wochentags im Monat, ..., 5 = Letztes Auftreten des Wochentags im Monat DaylightStartWeekday USINT Wochentag der Umstellung auf Sommerzeit: 1 = Sonntag DaylightStartHour USINT...
  • Seite 334 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Parameter und Datentyp Datentyp Beschreibung DONE Bool Funktion beendet BUSY Bool Funktion besetzt ERROR Bool Fehler erkannt STATUS Word Funktionsergebnis / Fehlermeldung Um die Zeitzonenparameter für die CPU manuell zu konfigurieren, verwenden Sie die Eigenschaften "Uhrzeit"...
  • Seite 335 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9-14 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung UInt Nummer des Betriebsstundenzählers: (mögliche Werte: 0..9) MODE Byte Nummer des RTM-Ausführungsmodus: • 0 = Werte abrufen (der Zustand wird dann in CQ und der aktu‐ elle Wert in CV geschrieben) •...
  • Seite 336: Zeichenketten- Und Zeichenanweisungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Memory Card gespeichert haben, sind die Betriebsstundenwerte verloren (bei Nutzung einer Ersatz-CPU). Hinweis Vermeiden Sie übermäßige Programmaufrufe bei Schreibvorgängen auf der Memory Card Halten Sie die Anzahl der Schreibvorgänge auf der Memory Card möglichst gering, um die Lebensdauer der Memory Card zu verlängern.
  • Seite 337: Anweisungen Für Die Zeichenkettenkonvertierung

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen String-Daten können den Speicherbereichen E oder A nicht zugewiesen werden. Weitere Informationen finden Sie unter: Format des Datentyps String (Seite 110). 9.2.2 S_MOV (Zeichenkette verschieben) Tabelle 9-16 Anweisung Zeichenkette verschieben KOP/FUP Beschreibung Zeichenkette der Quelle IN in die Adresse OUT kopieren. Die Ausführung S_MOVE wirkt out := in;...
  • Seite 338 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen S_CONV (Zeichenkette umwandeln) Tabelle 9-18 Anweisungen für die Zeichenkettenkonvertierung KOP/FUP Beschreibung Konvertiert eine Zeichenkette in den entsprechenden Wert bzw. ei‐ out := nen Wert in die entsprechende Zeichenkette. Die Anweisung <Type>_TO_<Type>(in); S_CONV verfügt über keine Optionen zur Formatierung des Aus‐ gangswerts.
  • Seite 339 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Zeichenkette besteht aus der maximalen Zeichenkettenlänge im ersten Byte, der tatsächlichen Zeichenkettenlänge im zweiten Byte und den tatsächlichen Zeichen in den nächsten Bytes. Die umgewandelte Zeichenkette ersetzt Zeichen in der Zeichenkette OUT, beginnend mit dem ersten Zeichen, und passt das Byte mit der tatsächlichen Länge der ausgegebenen Zeichenkette entsprechend an.
  • Seite 340 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen STRG_VAL (Zeichenkette in Zahlenwert umwandeln) Tabelle 9-22 Anweisung Zeichenkette in Zahlenwert wandeln KOP/FUP Beschreibung Konvertiert eine Zahlenzeichenkette in die entsprechende "STRG_VAL"( ganzzahlige oder Gleitpunktdarstellung. in:=_string_in, format:=_word_in, p:=uint_in, out=>_variant_out); In KOP/FUP: Klicken Sie auf die "???" und wählen Sie den Datentyp in der Klappliste aus. Tabelle 9-23 Datentypen für die Anweisung STRG_VAL Parameter und Datentyp Datentyp...
  • Seite 341 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-25 Werte des Parameters FORMAT FORMAT (W#16#) Darstellungsformat Dezimalpunktdarstellung 0000 (Voreinstellung) Festpunkt "." 0001 "," 0002 Exponentiell "." 0003 "," 0004 bis FFFF Ungültige Werte Regeln für die STRG_VAL-Umwandlung: • Wird das Punktzeichen "." für den Dezimalpunkt benutzt, so werden Kommazeichen "," links vom Dezimalpunkt als Tausendertrennzeichen interpretiert.
  • Seite 342 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Diese Anweisung wandelt den in Parameter IN dargestellten Wert in eine Zeichenkette um, die in Parameter OUT referenziert wird. Der Parameter OUT muss eine gültige Zeichenkette sein, bevor die Umwandlung erfolgt. Die umgewandelte Zeichenkette ersetzt die Zeichen der Zeichenkette OUT beginnend mit dem in Parameter P festgelegten Zeichenversatz bis zu der mit Parameter SIZE festgelegten Zeichenzahl.
  • Seite 343: Mit Eno Gemeldete Bedingungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen FORMAT (WORD) Vorzeichen Darstellungsformat Dezimalpunktdarstellung W#16#0004 "+" und "-" Festpunkt "." W#16#0005 "," W#16#0006 Exponentiell "." W#16#0007 "," W#16#0008 bis W#16#FFFF Ungültige Werte Formatregeln für Zeichenketten in Parameter OUT: • Führende Leerzeichen werden ganz links an die Zeichenkette angefügt, wenn die umgewandelte Zeichenkette kleiner als die angegebene Größe ist.
  • Seite 344 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-30 ENO-Zustand Beschreibung Kein Fehler Unzulässiger oder ungültiger Parameter, zum Beispiel ein Zugriff auf einen DB, der nicht existiert Unzulässige Zeichenkette mit maximaler Länge von 0 oder 255 Unzulässige Zeichenkette, deren Länge größer als die maximale Länge ist Der umgewandelte Zahlenwert ist zu groß...
  • Seite 345 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Datentyp IN-Wert OUT-Zeichenkette LReal +9123,4567890123 "xx WAHR +9.1234567890123E +3" Real -INF "xxxxxxxxxxxINF" FALSCH Real +INF "xxxxxxxxxxxINF" FALSCH Real "xxxxxxxxxxxNaN" FALSCH Die Zeichen "x" stellen Leerzeichen dar, die in dem umgewandelten Wert zugeordneten rechtsbündigen Feld die leeren Positionen belegen. Tabelle 9-33 Beispiel: STRG_VAL-Umwandlung IN-Zeichenkette FORMAT...
  • Seite 346 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen "Current Temp = xxxxxxxxxx C" Dabei steht das Zeichen "x" für Leerzeichen, die dem umgewandelten Wert zugeordnet sind. Tabelle 9-34 Beispiel: VAL_STRG-Umwandlung Datentyp IN-Wert SIZE FORMAT PREC OUT-Zeichenkette (W#16#..) UInt 0000 WAHR Current Temp = xxxxxxx123 C UInt 0000...
  • Seite 347 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-35 Anweisung Strg_TO_Chars KOP/FUP Beschreibung Strg_TO_Chars( Die vollständige Eingangszeichenkette Strg wird in ein Array aus Zeichen am IN_OUT-Parameter Chars. kopiert. Strg:=_string_in_, pChars:=_dint_in_, Die Anweisung überschreibt Bytes beginnend mit der Array- Cnt=>_uint_out_, Elementnummer, die vom Parameter pChars angegeben Chars:=_variant_inout_) wird.
  • Seite 348: Ath Und Hta (In/Aus Ascii-Zeichenkette Und Hexadezimalzahl Umwandeln)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-38 Datentypen für die Parameter (Chars_TO_Strg) Parameter und Datentyp Datentyp Beschreibung Chars Variante Der Parameter Chars ist ein Pointer auf das nullbasierte Array [0..n] aus Zeichen, das in eine Zeichenkette umgewandelt wer‐ den soll. Das Array kann in einem DB oder als lokale Variablen in der Bausteinschnittstelle deklariert werden.
  • Seite 349 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Umwandlung beginnt an der von Parameter IN festgelegten Stelle und umfasst N Bytes. Das Ergebnis wird an der in Parameter OUT angegebenen Adresse ausgegeben. Es können nur gültige ASCII-Zeichen von 0 bis 9, Kleinbuchstaben a bis f und Großbuchstaben A bis F umgewandelt werden.
  • Seite 350: Zeichenkettenanweisungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Jedes Halbbyte des Hexadezimalbytes wird in ein Zeichen in der Reihenfolge des Einlesens umgewandelt (das linke Halbbyte einer Hexadezimalziffer wird zuerst umgewandelt, dann das rechte Halbbyte des gleichen Bytes). Tabelle 9-45 Beispiele: Umwandlung von Hexadezimalzahlen in ASCII-Zeichenketten (HTA) IN-Wert OUT-Zeichenbytes ENO (ENO immer WAHR nach Ausführung von HTA)
  • Seite 351 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.1 MAX_LEN (Maximale Länge einer Zeichenkette) Tabelle 9-47 Anweisung Maximale Länge KOP/FUP Beschreibung out := MAX_LEN (Maximale Länge der Zeichenkette) gibt die der Zeichenkette IN am Ausgang OUT zugewiesene maximale Länge an. Wenn während der Verarbeitung MAX_LEN(in);...
  • Seite 352 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-51 ENO-Zustand Bedingung Keine gültige Zeichenkette Gültige Zeichenkettenlänge Aktuelle Länge von IN überschreitet die maximale Länge von IN Aktuelle Länge wird auf 0 gesetzt Maximale Länge von IN passt nicht in den zugewiesenen Speicherbereich Maximale Länge von IN ist 255 (unzulässige Länge) 9.2.4.3 CONCAT (Zeichenketten verketten)
  • Seite 353: Anweisungen Left, Right Und Mid (Teilzeichenketten In Einer Zeichenkette Lesen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.4 Anweisungen LEFT, RIGHT und MID (Teilzeichenketten in einer Zeichenkette lesen) Tabelle 9-55 Anweisungen LEFT, RIGHT und MID KOP/FUP Beschreibung out := LEFT(in, L); LEFT (Linke Teilzeichenkette) gibt eine Teilzeichenkette aus, die aus den ersten L Zeichen von Parameter IN besteht.
  • Seite 354 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-57 ENO-Zustand Bedingung Keine Fehler Gültige Zeichen Aktuelle Länge wird auf 0 gesetzt • L oder P ist kleiner oder gleich 0 • P ist größer als die maximale Länge von IN • Aktuelle Länge von IN überschreitet maximale Länge von IN, oder aktuelle Länge von OUT überschreitet maximale Länge von OUT •...
  • Seite 355 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-60 ENO-Zustand Bedingung Keine Fehler Gültige Zeichen P ist größer als die aktuelle Länge von IN IN wird in OUT kopiert, es werden keine Zeichen gelöscht Resultierende Zeichenkette nach Löschen ist größer als die maximale Länge Die resultierenden Zeichen werden von Zeichenkette OUT kopiert, bis die maximale Länge...
  • Seite 356 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-63 ENO-Zustand Bedingung Keine Fehler Gültige Zeichen P ist größer als die Länge von IN1 IN2 wird unmittelbar nach dem letzten Zeichen von IN1 mit IN1 verkettet P ist kleiner als 0 Aktuelle Länge wird auf 0 gesetzt Resultierende Zeichenkette nach Einfügen ist größer als die maximale Die resultierenden Zeichen werden ko‐...
  • Seite 357 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Ist P gleich 1, werden die ersten L Zeichen von Zeichenkette IN1 durch die Zeichen der Zeichenkette IN2 ersetzt. Tabelle 9-66 ENO-Zustand Bedingung Keine Fehler Gültige Zeichen P ist größer als die Länge von IN1 IN2 wird unmittelbar nach dem letzten Zeichen von IN1 mit IN1 verkettet P Punkte in IN1, aber weniger als L Zeichen in IN1...
  • Seite 358: Informationen Zur Laufzeit

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9-69 ENO-Zustand Bedingung Keine Fehler Gültige Zeichenposition IN2 ist größer als IN1 Zeichenposition wird auf 0 gesetzt Aktuelle Länge von IN1 überschreitet maximale Länge von IN1 oder aktu‐ elle Länge von IN2 überschreitet maximale Länge von IN2 (ungültige Zei‐ chenkette) Maximale Länge von IN1 oder IN2 passt nicht in den zugewiesenen Spei‐...
  • Seite 359 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetSymbolName: Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich VARIABLE Input PARAMETER Parameterab‐ Variable aus der lokalen Bausteinschnittstelle, deren schnitte Input, Name als String-Wert ausgegeben werden soll Output, InOut SIZE Input...
  • Seite 360 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen SIZE Ausgabe von GetSymbol‐ Bedeutung Name '"M...' • Erstes Zeichen von WSTRING:' • Die ersten beiden Zeichen des Namens und Kennzeichen dafür, dass der Name abgeschnitten wurde:"... "M... • Letztes Zeichen von WSTRING:' '"MyPL...' •...
  • Seite 361 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Anweisung GetSymbolName wird im Baustein Level1 ausgeführt. Der Eingangsparameter inputValue des Bausteins Level1 wird mit Hilfe des Eingangsparameters VARIABLE der Anweisung auf seine Verschaltung hin untersucht. Dabei wird die Variable symbolVALUE ausgelesen und am Ausgangsparameter OUT als Zeichenkette ausgegeben ("MySymNAME"). Entsprechend dem Wert des Eingangsparameters SIZE wird die Länge der Zeichenkette auf 60 Zeichen begrenzt.
  • Seite 362 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetSymbolPath: Parameter Deklaration Datentyp Speicherbereich Beschreibung VARIABLE Input PARAMETER Parameterabschnitte Auswahl der lokalen Schnittstelle, für die Sie Input, Output, InOut den globalen Namen der Eingangsparameter‐ versorgung lesen möchten.
  • Seite 363 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Bedeutung des Parameters SIZE Das folgende Beispiel veranschaulicht die Bedeutung des Parameters SIZE. GetSymbolPath hat den folgenden Variablennamen aus der Bausteinschnittstelle gelesen: "MyPLCTag" (die doppelten Anführungszeichen am Anfang und Ende des Namens gehören zum Namen). SIZE Ausgabe von GetSymbol‐...
  • Seite 364 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5.3 GetInstanceName (Namen der Baustein-Instanz auslesen) Tabelle 9-72 Anweisung GetInstanceName KOP/FUP Beschreibung OUT := GetInstanceName( Mit der Anweisung GetInstanceName können Sie den Namen des Instanz-Datenbausteins in size:=_dint_in_); einem Funktionsbaustein lesen. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 365 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetInstanceName: Parameter Deklaration Datentyp Speicherbereich Beschreibung SIZE Input DINT E, A, M, D, L oder Begrenzt die Anzahl von Zeichen, die am Parameter OUT Konstante ausgegeben werden.
  • Seite 366 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen SIZE Ausgabe von GetSymbol‐ Bedeutung Path '"Leve...' • Erstes Zeichen von WSTRING:' • Die ersten fünf Zeichen des Namens und Kennzeichen dafür, dass der Name abgeschnitten wurde: "Leve... • Letztes Zeichen von WSTRING:' '"Level1_DB"' •...
  • Seite 367 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5.4 GetInstancePath (Zusammengesetzten globalen Namen der Baustein-Instanz abfragen) Tabelle 9-73 Anweisung GetInstancePath KOP/FUP Beschreibung Mit der Anweisung GetInstancePath lesen Sie OUT := GetInstancePath( size:=_dint_in_); den zusammengesetzten globalen Namen der Bausteininstanz in einem Funktionsbaustein. Der zusammengesetzte globale Name der Baus‐ teininstanz ist der Pfad der vollständigen Aufruf‐...
  • Seite 368 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Anweisung GetInstancePath gibt abhängig vom Wert des Parameters SIZE die folgenden Werte für dieses Beispiel aus: SIZE Ausgabe von GetInstance‐ Bedeutung Path '...' • Erstes Zeichen von WSTRING:' • Kennzeichen dafür, dass der Name abgeschnitten wurde: ... •...
  • Seite 369 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Hinweis Verwendung von GetInstancePath in Funktionsbausteinen mit einer Instanz Wenn der Funktionsbaustein, in dem Sie GetInstancePath aufrufen, Daten in seinem eigenen Instanz-Datenbaustein speichert, gibt GetInstancePath den Namen der einzelnen Instanz als den globalen Namen aus. Das Ergebnis am Parameter OUT entspricht in diesem Fall der Anweisung GetInstanceName (Seite 364).
  • Seite 370 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Das folgende Beispiel veranschaulicht die Bedeutung des Parameters SIZE. GetBlockName hat den folgenden Bausteinnamen ausgelesen: Level1_gbn (die doppelten Anführungszeichen am Anfang und Ende des Namens gehören zum Namen). SIZE Ausgabe von GetBlockNa‐ Bedeutung '...' •...
  • Seite 371: Anweisungen Für Die Dezentrale E/A

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Der Baustein Level1_gbn führt die Anweisung GetBlockName aus. GetBlockName liest den Namen des Bausteins Level1_gbn und gibt den Namen am Ausgangsparameter RET_VAL als Zeichenkette aus (outputBlockName). Da der Parameter SIZE gleich 0 ist (limitSIZE), ist die Länge der Zeichenkette unbegrenzt.
  • Seite 372 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Die Anweisung D_ACT_DP (Seite 383) ermöglicht Ihnen, konfigurierte PROFINET IO-Devices zielgerichtet zu aktivieren bzw. zu deaktivieren. Außerdem können Sie ermitteln, ob ein zugewiesenes PROFINET IO-Device gegenwärtig aktiviert oder deaktiviert ist. Hinweis Hinweis: Die Anweisung D_ACT_DP können Sie nur bei PROFINET IO-Devices verwenden.
  • Seite 373: Rdrec Und Wrrec (Datensatz Lesen/Schreiben)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.2 RDREC und WRREC (Datensatz lesen/schreiben) Die Anweisungen RDREC (Datensatz lesen) und WRREC (Datensatz schreiben) können Sie für PROFINET, PROFIBUS und AS-i einsetzen. Tabelle 9-75 Anweisungen RDREC und WRREC KOP/FUP Beschreibung Mit der Anweisung RDREC lesen Sie einen "RDREC_DB"( Datensatz mit der Nummer INDEX aus der...
  • Seite 374 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9-76 Datentypen für die Parameter von RDREC und WRREC Parameter und Datentyp Datentyp Beschreibung Bool REQ = 1: Datensatz übertragen HW_IO (Word) Logische Adresse der DP-Slave/PROFINET IO-Komponente (Modul oder Submodul): •...
  • Seite 375 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter und Datentyp Datentyp Beschreibung OUT (RDREC) UInt • Länge der abgerufenen Informationen aus dem Datensatz IN (WRREC) (RDREC) • Maximale Byte-Länge des zu übertragenden Datensatzes (WRREC) RECORD IN_OUT Variant • Zielbereich für den abgerufenen Datensatz (RDREC) •...
  • Seite 376 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.3 GETIO (Prozessabbild lesen) Mit der Anweisung "GETIO" lesen Sie konsistent Eingänge von Modulen oder Submodulen von DP-Slaves und PROFINET IO-Devices. Die Anweisung "GETIO" ruft die Anweisung "DPRD_DAT (Seite 393)" auf. Tritt während der Datenübertragung kein Fehler auf, werden die ausgelesenen Daten in den von INPUTS angegebenen Zielbereich eingegeben.
  • Seite 377 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.4 SETIO (Prozessabbild übertragen) Mit der Anweisung "SETIO" übertragen Sie konsistent Daten aus dem vom Parameter OUTPUTS definierten Quellbereich in die adressierten Module oder Submodule von DP-Slaves und PROFINET IO-Devices. Wenn Sie den relevanten Adressbereich des DP-Normslaves/PROFINET IO- Device als einen konsistenten Bereich in einem Prozessabbild konfiguriert haben, werden die Daten an das Prozessabbild übertragen.
  • Seite 378 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.5 GETIO_PART (Prozessabbildbereich lesen) Mit der Anweisung "GETIO_PART" lesen Sie konsistent einen zugehörigen Teil der Eingänge von Modulen oder Submodulen von DP-Saves und PROFINET IO-Devices. GETIO_PART ruft die Anweisung "DPRD_DAT (Seite 393)" auf. Tabelle 9-79 Anweisung GETIO_PART (Prozessabbildbereich lesen) KOP/FUP Beschreibung...
  • Seite 379 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Deklaration Datentyp Beschreibung ERROR Bool Fehleranzeige: ERROR = TRUE, wenn bei Aufruf von DPRD_DAT (Seite 393) ein Fehler auftritt INPUTS IN_OUT Variant Zielbereich für die gelesenen Daten: Wenn der Zielbereich größer als LEN ist, schreibt die Anweisung in die ersten LEN-Bytes des Zielbereichs.
  • Seite 380 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung SETIO_PART: Parameter Deklaration Datentyp Beschreibung HW_SUBMO‐ Hardwarekennung des IO-Moduls DULE OFFSET Nummer des ersten im Prozessabbild zu schreibenden Bytes für die Kompo‐ nente (kleinster möglicher Wert: 0) Zu schreibende Bytezahl STATUS...
  • Seite 381 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9-82 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung MODE Byte, USInt, SInt, Int Betriebszustand F_ID HW_IO (Word) Logische Anfangsadresse der Komponente (des Moduls), von der Alarme empfangen werden sollen. Hinweis: Die Geräte-ID kann wahlweise auf zwei Arten ermittelt werden: •...
  • Seite 382: Daten Des Organisationsbausteins Tinfo

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Die Schnittstelle der Anweisung "RALRM" ist mit dem FB "RALRM" identisch, der in der "PROFIBUS- Richtlinie für die PROFIBUS-Kommunikation und Proxy-Funktionsbausteine nach IEC 61131-3" definiert ist. RALRM aufrufen Die Anweisung RALRM können Sie in drei verschiedenen Betriebsarten (MODE) aufrufen. Tabelle 9-83 Betriebsarten der Anweisung RALRM MODE Beschreibung...
  • Seite 383 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) TI_Submodule - OBs: Status, Aktualisie‐ Steckplatz rung, Profil Spezifikator TI_DiagnosticInterrupt - OB: Diagnosefeh‐ E/A-Zustand leralarm Kanal Multifehler TI_PlugPullModule - OB: Ziehen oder Ste‐ Ereignisklas‐ Fehler-ID cken von Modulen TI_StationFailure - OB: Baugruppenträger- Ereignisklas‐...
  • Seite 384: Funktionsbeschreibung

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9-84 Anweisung D_ACT_DP KOP/FUP Beschreibung "D_ACT_DP_DB"( Mit der Anweisung D_ACT_DP können Sie konfigurierte PROFINET IO-Devices req:=_bool_in_, mode:=_usint_in_, aktivieren oder deaktiviert und ermit‐ teln, ob ein zugewiesenes PROFINET laddr:=_uint_in_, ret_val=>_int_out_, IO-Device gegenwärtig aktiviert oder deaktiviert ist.
  • Seite 385: Profinet Io-Devices Deaktivieren

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) PROFINET IO-Devices implementiert. Mit D_ACT_DP aktiviert das Anwenderprogramm die Werkzeuge, die gegenwärtig benötigt werden, und deaktiviert diejenigen, die später erforderlich sind. Identifizierung eines Auftrags Wenn Sie einen Deaktivierungs- oder Aktivierungsauftrag gestartet haben und D_ACT_DP erneut aufrufen, bevor der Auftrag vollständig abgearbeitet ist, richtet sich das Verhalten der Anweisung danach, ob der neue Aufruf sich auf den gleichen Auftrag bezieht oder nicht.
  • Seite 386 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Fehlercode W#16#80A7 aus. Das PROFINET IO-Device wird aktiviert, und die Tatsache, dass auf das aktivierte PROFINET IO-Device nicht zugegriffen werden kann, führt zu einer entsprechenden Anzeige in der Systemdiagnose. Kann anschließend wieder auf das PROFINET IO-Device zugegriffen werden, führt dies zu standardmäßigem Systemverhalten.
  • Seite 387 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter RET_VAL Fehlercode* Bedeutung (W#16#...) 0000 Auftrag fehlerfrei ausgeführt. 0001 Das PROFINET IO-Device ist aktiv (dieser Fehlercode ist nur bei MODE = 0 möglich). 0002 Das PROFINET IO-Device ist deaktiviert (dieser Fehlercode ist nur bei MODE = 0 möglich). 7000 Erster Aufruf mit REQ = 0: Der in LADDR angegebene Auftrag ist nicht aktiv;...
  • Seite 388: Status-Parameter Für Rdrec, Wrrec Und Ralrm

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Fehlercode* Bedeutung (W#16#...) 80C3 • Temporärer Ressourcenfehler: Die CPU verarbeitet gegenwärtig die maximal mögli‐ che Anzahl von Aktivierungs- und Deaktivierungsaufträgen (8). (Dieser Fehlercode ist nur möglich, wenn MODE = 1 und MODE = 2.) •...
  • Seite 389 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9-87 STATUS[3]-Werte Error_decode Error_code_1 Erläuterung (DVP1) Beschreibung (B#16#..) (B#16#..) Kein Fehler, keine Warnung Reserviert, ablehnen Erster Aufruf; keine aktive Datensatzübertragung Reserviert, ablehnen Erster Aufruf; Datensatzübertragung hat begonnen Reserviert, ablehnen Zwischenzeitlicher Aufruf; Datensatzübertragung bereits aktiv S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 390 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode Error_code_1 Erläuterung (DVP1) Beschreibung (B#16#..) (B#16#..) Reserviert, übergeben Ungültige logische Anfangsadresse Reserviert, übergeben Unzulässiger Typ für Pointer Variant Reserviert, übergeben Die über ID oder F_ID adressierte DP-Komponente ist nicht konfiguriert. Die Anweisung RALRM (Seite 380) kann die Anlaufinforma‐...
  • Seite 391 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode Error_code_1 Erläuterung (DVP1) Beschreibung (B#16#..) (B#16#..) Typkonflikt Tatsächlicher Modultyp entspricht nicht dem angegebenen Modultyp. Ungültiger Bereich DP-Slave oder Modul meldet Zugriff auf ungültigen Daten‐ bereich. Statuskonflikt DP-Slave oder Modul nicht betriebsbereit Zugriff verweigert DP-Slave oder Modul verweigert den Zugriff.
  • Seite 392 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode Error_code_1 Erläuterung (DVP1) Beschreibung (B#16#..) (B#16#..) Der Auftrag wurde wegen Warmstarts oder Kaltstarts des DP-Masters abgebrochen. C8 bis CF DP-Slave oder Modul meldet herstellerspezifischen Ressour‐ cenfehler. Prüfen Sie die Dokumentation des Herstellers des DP-Slaves oder des Moduls.
  • Seite 393 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.10 Andere 9.3.10.1 DPRD_DAT und DPWR_DAT (Konsistente Daten lesen/schreiben) Mit der Anweisung DPRD_DAT (Konsistente Daten lesen) lesen Sie ein oder mehrere Bytes an Daten konsistent, und mit der Anweisung DPWR_DAT (Konsistente Daten schreiben) übertragen Sie ein oder mehrere Bytes an Daten konsistent.
  • Seite 394 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Wenn Sie die Anweisungen DPRD_DAT und DPWR_DAT mit konsistenten Daten verwenden, müssen Sie diese konsistenten Daten aus der automatischen Aktualisierung des Prozessabbilds herausnehmen. Weitere Informationen hierzu finden Sie unter "PLC-Grundlagen: Ausführung des Anwenderprogramms"...
  • Seite 395 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Funktionsweise von DPWR_DAT Mit dem Parameter LADDR wählen Sie das Modul des DP-Normslaves/PROFINET IO-Device aus. Tritt bei dem adressierten Modul ein Zugriffsfehler auf, wird der Fehlercode W#16#8090 ausgegeben. Mit dem Parameter RECORD definieren Sie den Quellbereich der zu schreibenden Daten: •...
  • Seite 396 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.10.2 RCVREC (Datensatz empfangen) Ein I-Device kann einen Datensatz von einem übergeordneten Controller empfangen. Der Empfang erfolgt im Anwenderprogramm mit der Anweisung RCVREC (Datensatz empfangen). Tabelle 9-91 Anweisung RCVREC KOP/FUP Beschreibung "RCVREC_SFB_DB"( Mit der Anweisung RCVREC kann ein Datensatz von einem übergeordneten...
  • Seite 397 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Antwort an den übergeordneten Controller in Fehlercode 1 von CODE1 und in Fehlercode 2 von CODE2 ein. Hinweis Wenn das I-Device eine Anforderung für den Empfang eines Datensatzes empfangen hat, müssen Sie die Zustellung dieser Anforderung innerhalb eines bestimmten Zeitraums anerkennen.
  • Seite 398 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung RCVREC: Parame‐ Deklarati‐ Datentyp Beschreibung MODE Betriebsart F_ID HW_SUBMODULE Untersteckplatz im Übertragungsbereich des I-Device für den zu empfangenden Datensatz (nur relevant bei MODE = 2). Das hohe Wort ist immer auf null gesetzt.
  • Seite 399 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Die Anweisung hat die folgenden Betriebszustände: • Prüfen, ob das I-Device eine Anforderung für die Bereitstellung eines Datensatzes hat • Den angeforderten Datensatz an den übergeordneten Controller übertragen • Eine Antwort an den übergeordneten Controller senden Sie können den von der Anweisung ausgeführten Betriebszustand mit dem Eingangsparameter MODE ermitteln.
  • Seite 400 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) MODE Bedeutung Empfangen einer Anforderung zur Bereitstellung eines Datensatzes für einen spezifischen Untersteckplatz des I- Device Wenn auf dem I-Device eine solche Anforderung von einem übergeordneten Controller für einen spezifischen Untersteckplatz des I-Device vorhanden ist, schreibt die Anweisung in den Ausgangsparameter. Bereitstellen des Datensatzes und Senden einer positiven Antwort an den übergeordneten Controller Die Anweisung prüft die Anforderung des übergeordneten Controllers zur Bereitstellung eines Datensatzes, stellt den Datensatz in RECORD bereit und sendet eine positive Quittierung an den übergeordneten Controller.
  • Seite 401 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.10.4 DPNRM_DG (Diagnosedaten eines DP-Slaves lesen) Die Anweisung DPNRM_DG (Diagnosedaten lesen) können Sie für PROFIBUS einsetzen. Tabelle 9-93 Anweisung DPNRM_DG KOP/FUP Beschreibung Mit der Anweisung DPNRM_DG können Sie die aktuellen Diagnosedaten ret_val := DPNRM_DG( req:=_bool_in_, eines DP-Slaves in dem Format, das in EN 50 170 Band 2, PROFIBUS...
  • Seite 402 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9-96 Fehlercodes der Anweisung DPNRM_DG Fehlercode Beschreibung Einschränkung 0000 Kein Fehler 7000 Erster Aufruf mit REQ = 0: Keine Datenübertragung aktiv; BUSY hat den Wert 7001 Erster Aufruf mit REQ = 1: Keine Datenübertragung aktiv; BUSY hat den Wert Dezentrale E/A 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Datenübertragung ist bereits ak‐...
  • Seite 403: Profienergy-Einheit (Pe-Device)

    Weitere Informationen zu PROFIenergy finden Sie in der STEP 7-Onlinehilfe im TIA Portal. Beispiele, in denen die PROFIenergy-Anweisungen verwendet werden, finden Sie im Industry Online Support im Eintrag "PROFIenergy - Energie sparen mit SIMATIC S7 (http:// support.automation.siemens.com/WW/view/de/41986454)". S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 404: Anweisungen Attach Und Detach (Ob Und Alarmereignis Einander Zuweisen/Zuweisung Aufheben)

    Erweiterte Anweisungen 9.5 Alarme Alarme 9.5.1 Anweisungen ATTACH und DETACH (OB und Alarmereignis einander zuweisen/Zuweisung aufheben) Mit den Anweisungen ATTACH und DETACH können Sie Unterprogramme, die durch Alarmereignisse angestoßen werden, aktivieren und deaktivieren. Tabelle 9-97 Anweisungen ATTACH und DETACH KOP/FUP Beschreibung ret_val := ATTACH( Die Anweisung ATTACH aktiviert die Ausführung...
  • Seite 405: Aktivieren Von Prozessalarmereignissen In Der Gerätekonfiguration

    Erweiterte Anweisungen 9.5 Alarme Prozessalarmereignisse Die folgenden Prozessalarmereignisse werden von der CPU unterstützt: • Ereignisse steigende Flanke: die ersten 12 integrierten Digitaleingänge der CPU (DEa.0 bis DEb.3) und alle SB-Digitaleingänge – Eine steigende Flanke tritt auf, wenn der digitale Eingang in Reaktion auf den Signalwechsel eines an den Eingang angeschlossenen Geräts von AUS nach EIN wechselt.
  • Seite 406: Allgemeine Funktionsweise

    Erweiterte Anweisungen 9.5 Alarme Neue Prozessalarm-OBs in Ihr Programm einfügen Standardmäßig wird bei der ersten Aktivierung des Ereignisses dem Ereignis kein OB zugeordnet. Dies wird durch die Kennung "<nicht verbunden>" in der Gerätekonfiguration "Prozessalarm:" gekennzeichnet. Nur Prozessalarm-OBs können einem Prozessalarmereignis zugeordnet werden.
  • Seite 407 Erweiterte Anweisungen 9.5 Alarme Prozessalarmereignis zuordnen bzw. die Zuordnung aufheben. Wenn gegenwärtig kein OB zugeordnet ist (entweder aufgrund der Auswahl "<nicht verbunden>" in der Gerätekonfiguration oder als Ergebnis der Ausführung von DETACH), wird der aktivierte Prozessalarm ignoriert. Funktionsweise von DETACH Mit der Anweisung DETACH heben Sie die Zuordnung eines bestimmten Ereignisses oder aller Ereignisse zu einem bestimmten OB auf.
  • Seite 408 Erweiterte Anweisungen 9.5 Alarme Parameter und Datentyp Datentyp Beschreibung PHASE UDInt Phasenverschiebung in Mikrosekunden RET_VAL Ausführungsbedingung Beispiele: Zeitparameter • Ist die CYCLE-Zeit = 100 us, unterbricht der von OB_NR angegebene Alarm-OB den Programmzyklus alle 100 us. Der Alarm-OB wird ausgeführt und übergibt anschließend die Ausführungssteuerung wieder an den Programmzyklus an der Stelle, an der die Unterbrechung auftrat.
  • Seite 409 Erweiterte Anweisungen 9.5 Alarme Tabelle 9-102 Bedingungscodes RET_VAL (W#16#..) Beschreibung 0000 Kein Fehler 8090 OB ist nicht vorhanden oder hat den falschen Typ 8091 Ungültige Zykluszeit 8092 Ungültige Phasenverschiebungszeit 80B2 OB hat kein zugehöriges Ereignis 9.5.2.2 QRY_CINT (Weckalarmparameter abfragen) Tabelle 9-103 QRY_CINT (Weckalarm abfragen) KOP/FUP Beschreibung ret_val := QRY_CINT(...
  • Seite 410 Rahmen Ihren Prozess kontrollieren kann. Informationen und Empfehlungen bezüglich der Sicherheit finden Sie in unseren "Operational Guidelines für Industrial Security" (http://www.industry.siemens.com/topics/global/en/ industrial-security/Documents/operational_guidelines_industrial_security_en.pdf) auf der Website "Service & Support" von Siemens. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 411 Erweiterte Anweisungen 9.5 Alarme 9.5.3.1 SET_TINTL (Uhrzeitalarm festlegen) Tabelle 9-107 SET_TINTL (Datum und Uhrzeit für Uhrzeitalarm mit Datentyp DTL festlegen) KOP/FUP Beschreibung ret_val := SET_TINTL( Festlegen eines Uhrzeitalarms. Der OB kann für eine Ausführung oder für wiederholte OB_NR:=_int_in_, SDT:=_dtl_in_, Ausführungen in einem zugewiesenen Zeit‐ raum festgelegt werden.
  • Seite 412 Erweiterte Anweisungen 9.5 Alarme "Online & Diagnose" einer Online-CPU ein. Sie müssen Tag, Monat und Jahr einstellen. STEP 7 berechnet den Alarmzeitraum basierend auf Datum und Uhrzeit der CPU. Hinweis Bei der Umstellung von Sommer- nach Winterzeit ist die erste Stunde des Tages nicht vorhanden. Verwenden Sie deshalb eine Anfangszeit in der zweiten Stunde oder verwenden Sie einen zusätzlichen Verzögerungsalarm innerhalb der ersten Stunde.
  • Seite 413 Erweiterte Anweisungen 9.5 Alarme 9.5.3.3 ACT_TINT (Uhrzeitalarm aktivieren) Tabelle 9-113 ACT_TINT (Uhrzeitalarm aktivieren) KOP/FUP Beschreibung ret_val:=ACT_TINT(_int_in_); Aktiviert das Uhrzeitalarmereig‐ nis für den angegebenen Alarm- Tabelle 9-114 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung OB_NR OB_TOD (INT) OB-Nummer (symbolisch adressierbar) RET_VAL Ausführungsbedingung Tabelle 9-115 Bedingungscodes...
  • Seite 414 Erweiterte Anweisungen 9.5 Alarme Tabelle 9-118 Parameter STATUS Wert Beschreibung In Run Beim Anlauf Der Alarm ist aktiviert. Der Alarm ist deaktiviert. Der Alarm ist nicht aktiv oder abgelaufen. Der Alarm ist aktiv. Die zugewiesene OB_NR ist nicht vorhanden. Ein OB mit der zugewiesenen OB_NR ist vorhanden. Uhrzeitalarm verwendet Ortszeit.
  • Seite 415: Bedienung

    Erweiterte Anweisungen 9.5 Alarme Tabelle 9-121 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung OB_NR OB_DELAY Organisationsbaustein (OB), der nach einer Zeitverzögerung gestartet werden soll: Wählen Sie einen der verfügbaren Verzögerungsalarm-OBs aus, die über die Funktion "Neuen Baustein hinzufügen" in der Projektna‐ vigation angelegt wurden.
  • Seite 416 Erweiterte Anweisungen 9.5 Alarme Verzögerungsalarm-OBs in Ihr Projekt einfügen Sie können Verzögerungsalarm-OBs nur in den Anweisungen SRT_DINT und CAN_DINT hinzufügen. In einem neuen Projekt ist noch kein Verzögerungsalarm-OB vorhanden. Sie müssen Verzögerungsalarm-OBs in Ihr Projekt einfügen. Um einen Verzögerungsalarm-OB anzulegen, gehen Sie folgendermaßen vor: 1.
  • Seite 417 Erweiterte Anweisungen 9.5 Alarme 9.5.5 Anweisungen DIS_AIRT und EN_AIRT (Ausführung von Alarmen höherer Priorität und asynchronen Fehlerereignissen verzögern/aktivieren) Die Alarmbearbeitung kann mit den Anweisungen DIS_AIRT und EN_AIRT aktiviert und deaktiviert werden. Tabelle 9-124 Anweisungen DIS_AIRT und EN_AIRT KOP/FUP Beschreibung DIS_AIRT verzögert die Bearbeitung neuer Alarmereignisse. Sie können DIS_AIRT in DIS_AIRT();...
  • Seite 418: Inhalt Des Alarms

    Erweiterte Anweisungen 9.6 Alarme Alarme 9.6.1 Gen_UsrMsg (Anwenderdiagnosemeldungen erzeugen) Tabelle 9-126 Anweisung Gen_UsrMsg KOP/FUP Beschreibung ret_val :=Gen_UsrMsg( Mit der Anweisung "Gen_UsrMsg" erzeugen Sie einen Anwenderdiagnosealarm, bei dem es Mode:=_uint_in_, sich entweder um einen kommenden oder geh‐ TextID:=_uint_in_, enden Alarm handeln kann. Mit Hilfe von An‐ TextListID:=_uint_in_, wenderdiagnosealarmen können Sie einen An‐...
  • Seite 419 Erweiterte Anweisungen 9.6 Alarme Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "Gen_UsrMsg": Parameter Deklaration Datentyp Speicherbereich Beschreibung Mode Input UInt E, A, M, D, L oder Parameter zum Auswählen Konstante des Status des Alarms: • 1: kommender Alarm •...
  • Seite 420: Diagnoseanweisungen

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte Parameter Datentyp Startwert Beschreibung Nummer des Begleit‐ werts 12..13 Value[7] UINT 14..15 Value[8] UINT Achter Begleit‐ wert des Alarms Parameter RET_VAL Die folgende Tabelle definiert die Ausgangswerte für den Parameter RET_VAL . Siehe auch Gemeinsame Fehlercodes für die erweiterten Anweisungen (Seite 535).
  • Seite 421 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Hinweis Die Anweisung GetStationInfo können Sie nur bei PROFINET IO-Devices verwenden. Sie können die Anweisung nicht mit PROFIBUS DP-Slaves verwenden. 9.7.2 RD_SINFO (Startinformation des aktuellen OBs auslesen) Beschreibung Tabelle 9-127 Anweisung RD_SINFO KOP/FUP Beschreibung ret_val := RD_SINFO( Mit der Anweisung "RD_SINFO"...
  • Seite 422 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Organisationsbausteine (OB) Systemdatentypen (SDT) Nummern der Systemdatentypen TimeDelayOB SI_Delay CyclicOB SI_Cyclic ProcessEventOB SI_HWInterrupt ProfileEventOB SI_Submodule StatusEventOB UpdateEventOB SynchronousCycleOB SI_SynchCycle IOredundancyErrorOB SI_IORedundancyError CPUredundancyErrorOB SI_CPURedundancyError TimeErrorOB SI_TimeError DiagnosticErrorOB SI_DiagnosticInterrupt PullPlugEventOB SI_PlugPullModule PeripheralAccessErrorOB SI_AccessError RackStationFailureOB SI_StationFailure ServoOB SI_Servo IpoOB...
  • Seite 423 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Strukturelement Datentyp Beschreibung PRIORITY BYTE Nummer der Prioritätsklasse (Bedeutung von B#16#FE: OB nicht verfügbar oder deaktiviert oder kann nicht im aktuellen Betriebszustand gestartet werden) BYTE OB-Nummer TYP2_3 BYTE Daten-ID 2_3: Identifiziert die in ZI2_3 eingegebenen Informationen TYP1 BYTE Daten-ID 1:...
  • Seite 424 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-132 Struktur SI_Delay Strukturelement Datentyp Beschreibung SI_Format USINT • 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation OB_Class USINT := 20 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ... 32767) Sign WORD Für OB_Class = 20...
  • Seite 425 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-136 Struktur SI_SynchCycle Strukturelement Datentyp Beschreibung SI_Format USINT • 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation OB_Class USINT := 61 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ... 32767) Initial_Call BOOL Für OB_Class = 1, 30, 52, 61, 65...
  • Seite 426 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Strukturelement Datentyp Beschreibung Csg_OBnr OB_ANY Für OB_Class = 80 Csg_Prio UINT Für OB_Class = 80 Tabelle 9-140 Struktur SI_DiagnosticInterrupt Strukturelement Datentyp Beschreibung SI_Format USINT • 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation OB_Class USINT := 82 OB-Klasse für "Keine Informationen"...
  • Seite 427 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-143 Struktur SI_StationFailure Strukturelement Datentyp Beschreibung SI_Format USINT • 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation OB_Class USINT := 86 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ... 32767) LADDR HW_IO Für OB_Class = 40, 51, 55, 56, 57, 70, 82, 83, 85, 86, 91, 92...
  • Seite 428 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-146 Struktur SI_Startup Strukturelement Datentyp Beschreibung SI_Format USINT • 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation OB_Class USINT := 100 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ... 32767) LostRetentive BOOL Für OB_Class = 100...
  • Seite 429 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter RET_VAL Die folgende Tabelle zeigt die Bedeutung der Werte des Parameters RET_VAL: Fehler‐ Bedeutung code* (W#16#...) 8081 Startinformation des aktuellen OBs entspricht nicht dem angegebenen Systemdatentyp 8083 Startinformation des zuletzt gestarteten Anlauf-OBs entspricht nicht dem angegebenen Systemdatentyp *Fehlercodes können im Programmeditor als ganzzahlige Werte oder Hexadezimalwerte angezeigt werden.
  • Seite 430 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Die folgende Tabelle zeigt die Zuweisung der Strukturelemente des Parameters START_UP_SI der Anweisung RD_SINFO zu den zugehörigen lokalen Variablen von OB 100. Strukturelement Datentyp OB 100 - Lokale Variable Datentyp START_UP_SI EV_CLASS BYTE OB100_EV_CLASS BYTE EV_NUM...
  • Seite 431 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-150 Zustand von RET_VAL RET_VAL (W#16#...) Beschreibung LED-Zustand 0 bis 9 LED ist nicht vorhanden Farbe 1 ein (leuchtet ständig) Farbe 2 ein (leuchtet ständig) Farbe 1 blinkt mit 2 Hz Farbe 2 blinkt mit 2 Hz Farben 1 &...
  • Seite 432 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Über die Identifikations- und Wartungsdaten (I&M) können Sie die Systemkonfiguration prüfen, Hardwareänderungen erkennen oder Wartungsdaten anzeigen. Die Modulidentifikationsdaten (I-Daten) sind schreibgeschützt. Die Modulwartungsdaten (M-Daten) sind von Systeminformationen wie z. B. dem Installationsdatum abhängig. M-Daten werden während der Wartungsplanung erstellt und in das Modul geschrieben: •...
  • Seite 433 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.5 Get_Name (Namen eines PROFINET IO-Device lesen) Die Anweisung "Get_Name" liest den Namen eines PROFINET IO-Device, PROFIBUS-Slaves oder AS-i-Slaves. Der Name wird in der Netzsicht und in den Eigenschaften des IO-Device angezeigt. Tabelle 9-154 Anweisung Get_Name KOP/FUP Beschreibung Mit der Anweisung "Get_Name "...
  • Seite 434 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung Get_Name: Parameter Deklaration Datentyp Beschreibung LADDR HW_IOSYSTEM Hardwarekennung (HW-IoSystem) des dezentralen IO-Systems. Die Nummer wird aus den Systemkonstanten oder den Eigen‐ schaften des IO-Systems abgerufen. STATION_NR UInt •...
  • Seite 435 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Fehlercode* Bedeutung (W#16#...) 80C3 Temporärer Ressourcenfehler: Die CPU verarbeitet gegenwärtig die maximal mögliche Anzahl gleichzeitiger Bausteinaufrufe. Get_Name kann erst ausgeführt werden, wenn mindestens einer der Bausteinaufrufe abge‐ arbeitet ist. 8852 Der am Parameter DATA angegebene Bereich ist zu kurz für den vollständigen Namen des IO-Device. Der Name kann bis zu maximal möglichen Länge geschrieben werden.
  • Seite 436 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel Das folgende Beispiel zeigt, wie Sie den Stationsnamen eines ET 200SP PROFINET IO-Device lesen können: 1. ET200SP konfigurieren: – Erstellen Sie das ET 200SP mit dem Stationsnamen "Conveyor_1" in der Netzsicht und weisen Sie es dem gleichen PROFINET IO-System zu wie die CPU.
  • Seite 437 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) – Verbinden Sie eine Variable mit dem Datentyp STRING eines Datenbausteins am Parameter DATA. Hinweis Wenn Sie bei der Konfiguration der Variablen am Parameter DATA für Ihre Auswahl die Klappliste verwenden, wählen Sie den DB (im Beispiel "Datablock") und die Variable (im Beispiel "String[ ]") aus.
  • Seite 438 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 3. Anweisung Get_Name ausführen: – Bei der Ausführung der Anweisung kann der Ausgangsparameter BUSY auf 1 gesetzt werden, woraufhin der Parameter DONE auf 0 gesetzt wird. – Informationen zum Fehlercode werden am Ausgangsparameter STATUS angezeigt. 4.
  • Seite 439 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) – Das Programm schreibt "10", die Anzahl der Zeichen im Stationsnamen, in den Parameter LEN. 9.7.6 GetStationInfo (IP- oder MAC-Adresse eines PROFINET IO-Device lesen) Die Anweisung "GetStationInfo" liest die IP- oder MAC-Adresse eines PROFINET IO-Device im lokalen IO-System oder eines PROFINET IO-Device in einem untergeordneten IO-System (angeschlossen über CP/CM-Module).
  • Seite 440 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-155 Anweisung GetStationInfo KOP/FUP Beschreibung "GetStationInfo_SFB_DB"( Mit der Anweisung GetStationInfo le‐ sen Sie die IP- oder MAC-Adresse eines REQ:=_bool_in_, LADDR:=_uint_in_, PROFINET IO-Device. Mit der Anwei‐ sung können Sie auch die IP- oder MAC- DETAIL:=_uint_in_, MODE:=_uint_in_, Adresse eines IO-Device in einem un‐...
  • Seite 441 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetStationInfo: Parameter Deklaration Datentyp Beschreibung Bool Steuerparameter REQUEST Aktiviert das Lesen der Informationen mit REQ = 1. LADDR HW_DEVICE Hardwarekennung der Station des IO-Device Die Nummer wird den Eigenschaften der Station in der Netzsicht oder dem Register "Systemkonstanten"...
  • Seite 442 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte Parameter Datentyp Startwert Beschreibung 6 ... 9 InterfaceAddress ARRAY [1..4] of IP-Adresse des IO-Device im Format IP_V4 (Beispiel: BYTE 192.168.3.10): • addr[1] = 192 • addr[2] = 168 • addr[3] = 3 •...
  • Seite 443 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Fehlercode* Bedeutung (W#16#...) 7002 Zusätzlicher Aufruf der asynchronen Anweisung GetStationInfo. Die Ausführung der Anweisung ist noch nicht beendet (BUSY = 1, DONE = 0). 8080 Der Wert am Parameter MODE wird nicht unterstützt. 8090 Die am Parameter LADDR angegebene Hardwarekennung ist nicht konfiguriert.
  • Seite 444 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Der IO-Controller führt die Anweisung GetStationInfo aus, und die Anweisung liest die IP- Adressdaten eines untergeordneten IO-Device (in diesem Beispiel ein ET200SP): 1. ET200SP konfigurieren: – Erstellen Sie das ET 200SP mit dem Stationsnamen "Conveyor_1" in der Netzsicht und weisen Sie es dem gleichen PROFINET IO-System zu wie die CPU.
  • Seite 445 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) – Legen Sie fünf Variablen und eine Struktur mit dem Datentyp IF_CONF_v4 in einem globalen Datenbaustein zum Speichern der IP-Adressdaten an. Geben Sie der Struktur einen beliebigen Namen. (Im Beispiel lautet der Name der Struktur "IP_Address".) S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 446 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 3. Parameter für die Anweisung GetStationInfo zuweisen: – Geben Sie die Hardware-ID des IO-Device am Parameter LADDR ein. Die Hardwarekennung identifiziert das Produkt eindeutig. In diesem Beispiel lautet die Hardware-ID "270". Sie finden die Hardware-ID an folgender Stelle: PLC-Variablen > Alle Variablen anzeigen >...
  • Seite 447 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 4. Anweisung GetStationInfo ausführen: – Wenn der Eingang REQ = 1 ist (FALSE), zeigt die Anweisung am Eingangs-/ Ausgangsparameter DATA keine IP-Adressdaten bzw. am Ausgangsparameter STATUS Informationen zum Fehlercode an. 5. Ausführung der Anweisung GetStationInfo beenden: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 448 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) – Wenn der Eingang REQ = 1 ist (TRUE), führt das Programm die Anweisung aus und schreibt die IP-Adresse in den Datenbaustein. Das Programm schreibt die IP-Adresse, "C0 A8 02 1A" (Dezimalwert von "192.168.2.26"), in den Eingangs-/Ausgangsparameter DATA.
  • Seite 449: Anweisung Devicestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.7 Anweisung DeviceStates Mit der Anweisung DeviceStates können Sie die Zustände aller dezentralen E/A-Slavegeräte, die an einen spezifischen dezentralen E/A-Master angeschlossen sind, ausgeben. Tabelle 9-156 Anweisung DeviceStates KOP/FUP Beschreibung DeviceStates ruft die Betriebszustände von E/A- ret_val := DeviceStates( laddr:=_word_in_, Geräten in einem E/A-Untersystem ab.
  • Seite 450: Beispiele Für Die Konfiguration Von Devicestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Nach der Ausführung enthält der Parameter STATE den Fehlerzustand jedes einzelnen E/A- Geräts als Bitliste (für die zugewiesenen LADDR und MODE). Tabelle 9-158 Bedingungscodes RET_VAL (W#16#...) Beschreibung Kein Fehler 8091 LADDR ist nicht vorhanden. 8092 LADDR spricht kein E/A-System an.
  • Seite 451 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte mit Wert Bitmuster mit Wert Hinweise Byte 3 0xFF Bit 23 1111-1111 Bit 16 Byte 4 0x03 Bit 31 0000-0011 Bit 24 Die Geräte sind an den Adressen 10 (Bit 10) bis 25 (Bit 25) konfiguriert. An den Adressen 1 bis 9 sind keine Geräte konfiguriert.
  • Seite 452 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel in PROFINET Das Beispiel in PROFINET besteht aus den folgenden Komponenten: • 16 PROFINET-Slavegeräte mit den Namen "et200s_1" bis "et200s_16". • Die 16 PROFINET-Geräte verwenden jeweils eine der PROFINET-Gerätenummern 1 bis 16. •...
  • Seite 453 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9-165 Beispiel 2 (Fortsetzung): Ein Modul wurde aus dem PROFIBUS-Slavegerät "et200s_1" gezogen. Für MODE 4 (Gerät vorhanden) wird der Wert 0xFFFF_0100 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0xFF Bit 7 1111-1111 Bit 0 Bit 0 ist wahr;...
  • Seite 454: Anweisung Modulestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.8 Anweisung ModuleStates Mit der Anweisung ModuleStates können Sie den Zustand aller Module in einer PROFIBUS- oder PROFINET-Station ausgeben. Tabelle 9-167 Anweisung ModuleStates KOP/FUP Beschreibung ModuleStates ruft die Betriebszustände von E/A- ret_val := ModuleStates( laddr:=_word_in_, Modulen ab.
  • Seite 455: Beispiele Für Die Konfiguration Von Modulestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter und Datentyp Datentyp Beschreibung RET_VAL Status (Bedingungscode) STATE InOut Variant Puffer, der den Fehlerzustand der einzelnen Module empfängt: Als Datentyp für den Parameter STATE können Sie einen beliebigen Bit‐ typ (Bool, Byte, Word oder DWord) oder ein Array eines Bittyps aus‐ wählen.
  • Seite 456 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) MODE Beispiel 1: Beispiel 2: Beispiel 3: Normalbetrieb ohne PROFIBUS Slavegerät PROFIBUS Slavege‐ Fehler DPSlave_12 mit gezo‐ rät DPSlave_12 ge‐ genem Modul trennt 1: Modulkonfiguration aktiv 0x1F00_0000 0x1F00_0000 0x1F00_0000 2: Modul defekt 0x0000_0000 0x0900_0000 0x1F00_0000 3: Modul deaktiviert...
  • Seite 457 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte mit Wert Bitmuster mit Wert Hinweise Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Modul 3 (Bit 3) wird als fehlend gezeigt. Die Module 1, 2 und 4 (Bits 1, 2 und 4) werden als vorhanden gezeigt.
  • Seite 458 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Die folgenden vier Tabellen zeigen eine binäre Aufschlüsselung der vier analysierten Datenbytes: Tabelle 9-174 Beispiel 1: Keine Fehler: Für MODE 1 (Modulkonfiguration aktiv) wird der Wert 0xFFFF_1F00 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0xFF Bit 7 1111-1111 Bit 0...
  • Seite 459 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte mit Wert Bitmuster mit Wert Hinweise Byte 3 0x1F Bit 23 0001-1111 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Die Module in den Steckplätzen 1 bis 20 (Bits 1 bis 20) sind alle als defekt gekennzeichnet, weil das Gerät fehlt.
  • Seite 460: Parameter Mode

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter MODE Abhängig vom Wert des Parameters MODE werden unterschiedliche Diagnosedaten an den Ausgabeparametern DIAG, CNT_DIAG und DETAILS ausgegeben: Tabelle 9-180 Parameter MODE MODE Beschreibung DIAG CNT_DIAG DETAILS Ausgabe aller unterstützten Di‐ Bitzeichenfolge der unter‐ agnoseinformationen für ein stützten Modi als DWord, wo‐...
  • Seite 461 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) DIS-Struktur Bei einem MODE-Parameter = 1 werden die Diagnoseinformationen in Übereinstimmung mit der Struktur DIS ausgegeben. Die folgende Tabelle zeigt die Bedeutung der einzelnen Parameterwerte: Tabelle 9-181 Struktur der Diagnoseinformationsquelle (DIS, Diagnostic Information Source) Parameter Datentyp Wert...
  • Seite 462 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Datentyp Wert Beschreibung Componentstate DWord Bit-Array Zustand der Submodule des Moduls: Detail • Bit 0 bis 15: Statusmeldung des Moduls • Bit 16 bis 31: Statusmeldung der CPU 0 bis 2 Weitere Informationen: (Enum) •...
  • Seite 463 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Datentyp Wert Beschreibung IO State Uint16 Bit-Array E/A-Zustand des Moduls Bit 0 = 1: Keine Wartung erforderlich Bit 1 = 1: Das Modul oder Gerät ist deaktiviert. Bit 2 = 1: Wartung notwendig Bit 3 = 1: Wartung angefordert Bit 4 = 1: Fehler Bit 5 = 1: Das Modul oder Gerät kann von der CPU nicht erreicht werden...
  • Seite 464 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) DNN-Struktur Bei einem MODE-Parameter = 2 werden die Diagnoseinformationsdetails in Übereinstimmung mit der Struktur DNN ausgegeben. Die folgende Tabelle zeigt die Bedeutung der einzelnen Parameterwerte: Tabelle 9-182 Struktur des Diagnosenavigationsknotens (DNN, Diagnostic Navigation Node) Parameter Datentyp Wert...
  • Seite 465 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel Das folgende KOP-Netzwerk und der folgende DB zeigen, wie Sie die drei Betriebsarten mit den drei Strukturen verwenden: • DIS • DNN ① ② S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 466 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Hinweis Im DB müssen Sie den Datentyp manuell eingeben, um auf jede der drei Strukturen zuzugreifen. Eine Auswahl über eine Klappliste ist nicht möglich. Geben Sie die Datentypen genau wie im Folgenden gezeigt ein: •...
  • Seite 467 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "GetSMCinfo": Parameter und Datentyp Datentyp Beschreibung Bool Steuerparameter Request Aktiviert das Lesen der Informationen mit REQ = "1". Mode UInt Die Informationen über die SIMATIC Memory Card, die Sie auslesen möchten, wählen Sie mit Hilfe des Parameters Mode aus: •...
  • Seite 468 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Weitere Informationen zu gültigen Datentypen finden Sie unter "AUTOHOTSPOT". Hinweis Ermitteln der I&M 0-Daten Die I&M 0-Daten der Memory Card können mit der Anweisung GetSMCinfo nicht ermittelt werden. Verwenden Sie hierfür die Anweisung "Get_IM_Data". Parameterstatus Fehlercode* Bedeutung...
  • Seite 469: Diagnoseereignisse Für Die Dezentrale Peripherie

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Die Anweisung "GetSMCinfo" wird nur ausgeführt, wenn der Eingangsparameter REQ ("execute") den Signalzustand "WAHR" zurückgibt. Der zum Auslesen der SIMATIC Memory Card zu verwendende Modus ist im Eingangsparameter MODE ("mode") hinterlegt. Im folgenden Beispiel wird die Speichergröße der SIMATIC Memory Card entsprechend dem für "mode"...
  • Seite 470 Erweiterte Anweisungen 9.8 Impuls Wie Sie in der folgenden Tabelle sehen, unterstützt die CPU diejenige Diagnose, die für die Komponenten des dezentralen E/A-Systems konfiguriert werden kann. Jeder dieser Fehler erzeugt einen Protokolleintrag im Diagnosepuffer. Tabelle 9-185 Behandlung von Diagnoseereignissen bei PROFINET und PROFIBUS Fehlertyp Diagnoseinformation für Eintrag im Diagnosepuffer? CPU-Betriebszustand...
  • Seite 471 Erweiterte Anweisungen 9.8 Impuls Tabelle 9-187 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung HW_PWM PWM-Kennung: Die Namen aktivierter Impulsgeneratoren werden zu Va‐ (Word) riablen in der Variablentabelle "Konstanten" und können als PWM-Para‐ meter genutzt werden. (Standardwert: 0) ENABLE Bool 1 = Impulsgenerator starten 0 = Impulsgenerator stoppen...
  • Seite 472 Erweiterte Anweisungen 9.8 Impuls 9.8.2 CTRL_PTO (Impulsfolge) Die PTO-Anweisung liefert einen Rechteckausgang mit einer relativen Einschaltdauer von 50 % mit einer angegebenen Frequenz. Mit der Anweisung CTRL_PTO können Sie die Frequenz ohne ein Technologieobjekt (TO) Achsen-Datenbaustein (DB) zuweisen. Diese Anweisung erfordert einen Impulsgenerator. Sie müssen den Impulsgenerator in der Hardwarekonfiguration aktivieren und einen Signaltyp auswählen.
  • Seite 473 Erweiterte Anweisungen 9.8 Impuls Geben Sie den gewünschten aktivierten Impulsgenerator über den Variablennamen oder die Hardwarekennung am Parameter PTO an. Wenn der Eingang EN gleich WAHR ist, startet oder stoppt die Anweisung CTRL_PTO der angegebenen PTO. Wenn der Eingang EN gleich FALSCH ist, wird die Anweisung CTRL_PTO nicht ausgeführt, und die PTO bleibt in ihrem aktuellen Zustand.
  • Seite 474 Erweiterte Anweisungen 9.8 Impuls ① Die Frequenz wird nach 500 ms in 10 Hz geändert. ② Der 1-Hz-Impuls muss beendet werden, bevor die Frequenz in den neuen Wert von 10 Hz geändert werden kann. ③ 1 Hz entspricht 1000 ms. Das Hardwareobjekt des Impulsgenerators unterliegt den folgenden Einschränkungen: Nur eine Anweisung kann den Impulsgenerator als PTO nutzen, und die Verwendung des Impulsgenerators wird vom Hardware-Konfigurationseditor verwaltet.
  • Seite 475: Funktionsweise Der Impulsausgänge

    Erweiterte Anweisungen 9.8 Impuls Fehlercode (W#16#...) Beschreibung 0x80D0 Der Impulsgenerator mit der angegebenen Hardware-ID ist nicht aktiviert. Aktivieren Sie den Impulsgenerator in den CPU-Eigenschaften unter "Impulsgeneratoren (PTO/PWM)". 0x80D1 Der Impulsgenerator mit der angegebenen Hardware-ID hat keine PTO-Auswahl. Wählen Sie die PTO in der Hardwarekonfiguration aus. 9.8.3 Funktionsweise der Impulsausgänge Die Impulsdauer kann als Hundertstel der Zykluszeit (0...
  • Seite 476 Erweiterte Anweisungen 9.8 Impuls Die verschiedenen Ausgänge unterstützen unterschiedliche Spannungen und Geschwindigkeiten. Berücksichtigen Sie dies bei der Zuweisung der PWM/PTO-Ausgänge. Hinweis Impulsfolgen können nicht von anderen Operationen im Anwenderprogramm verwendet werden. Wenn Sie die Ausgänge der CPU oder des Signalboards als Impulsgeneratoren (für PWM- oder Bewegungssteuerungs- PTO-Anweisungen) konfigurieren, werden die entsprechenden Adressen der Ausgänge aus dem Speicher der Ausgänge entfernt und können nicht für andere Zwecke in Ihrem Anwenderprogramm verwendet werden.
  • Seite 477: Konfigurieren Eines Impulskanals Für Pwm Oder Pto

    Erweiterte Anweisungen 9.8 Impuls Beschreibung Impuls Richtung SB-E/A A4.2 A4.3 PWM4 Integrierte Ausgänge A0.6 SB-Ausgänge A4.3 Die CPU 1211C hat keine Ausgänge A0.4, A0.5, A0.6 und A0.7. Deshalb können diese Ausgänge bei der CPU 1211C nicht verwendet werden. Die CPU 1212C hat keine Ausgänge A0.6 und A0.7. Deshalb können diese Ausgänge bei der CPU 1212C nicht verwendet werden.
  • Seite 478 Erweiterte Anweisungen 9.8 Impuls Tabelle 9-194 Signalboard-Ausgang: Höchstfrequenz (PTO) und Mindestzykluszeit (PWM) Signalboard (SB) SB-Ausgangskanal PTO-Höchstfrequenz PWM-Mindestzyklus‐ zeit SB 1222, 200 kHz DAe.0 bis DAe.3 200 kHz 5 µs SB 1223, 200 kHz DAe.0, DAe.1 200 kHz 5 µs SB 1223 DAe.0, DAe.1 20 kHz 50 µs...
  • Seite 479: Ermittlung Des Impulsdauerwerts

    Erweiterte Anweisungen 9.8 Impuls • Impulsdauerformat (gilt nur für PWM): Zuweisung der Auflösung der Impulsdauer (Breite): – Hundertstel (0 bis 100) – Tausendstel (0 bis 1000) – Zehntausendstel (0 bis 10000) – S7-Analogformat (0 bis 27648) • Zykluszeit (gilt nur für PWM): Zuweisung der Zeitdauer für die Durchführung eines Zyklus (Zeit hoher Impuls plus Zeit niedriger Impuls entspricht der Zykluszeit).
  • Seite 480 Erweiterte Anweisungen 9.8 Impuls Hier zwei Beispiele: • Beispiel 1: Sie wählen die folgenden Werte: – Zeitbasis = Millisekunden (ms) – Impulsdauerformat = Hundertstel (0 bis 100) – Zykluszeit = 3 ms – Anfangsimpulsdauer = 75 Resultierende "Impulsdauer" = 0,75 x 3 ms = 2,25 ms Dieser Wert von "Impulsdauer"...
  • Seite 481 Erweiterte Anweisungen 9.8 Impuls Die Standardadressen für die PWM-Impulsdauerwerte sind: • PWM1: AW1000 • PWM2: AW1002 • PWM3: AW1004 • PWM4: AW1006 Bei PWM steuert der Wert an dieser Adresse die Impulsdauer und wird jedes Mal, wenn die CPU von STOP in RUN wechselt, mit dem (oben zugewiesenen) Wert "Anfangsimpulsdauer:" initialisiert.
  • Seite 482: Rezepte Und Datenprotokolle

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Rezepte und Datenprotokolle 9.9.1 Rezepte 9.9.1.1 Übersicht über Rezepte Speicherung von Rezeptdaten • Ein Rezeptdatenbaustein, den Sie in Ihrem Projekt erstellen, muss im Ladespeicher der CPU abgelegt werden. Hierfür kann der interne CPU-Speicher oder eine externe, als Programmkarte verwendete Memory Card verwendet werden.
  • Seite 483: Import Von Rezepten (Aus Einer Csv-Datei In Einen Rezept-Db)

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Import von Rezepten (aus einer CSV-Datei in einen Rezept-DB) Nach dem Export der Rezepte können Sie die generierte CSV-Datei als Datenstrukturvorlage verwenden. 1. Eine vorhandene CSV-Rezeptdatei laden Sie über die Dateibrowser-Seite des CPU- Webservers von der CPU in einen PC. 2.
  • Seite 484 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Erstellen Sie zunächst einen neuen PLC-Datentyp Fügen Sie einen neuen PLC-Datentyp hinzu, dessen Name den Rezepttyp angibt. In der folgenden Abbildung ist "Beer_Recipe" der neue komplexe PLC-Datentyp, der eine Folge einfacher Datentypen speichert. Der PLC-Datentyp "Beer_Recipe" ist eine Datenvorlage, die in jedem Datensatz des Rezept-DBs und auch im aktiven Rezept-DB wiederverwendet wird.
  • Seite 485 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Export von Rezepten (von Rezept-DB in CSV-Datei) Durch die Ausführung der Anweisung "RecipeExport (Seite 487)" werden die Daten aus dem Rezept-DB in eine CSV-Datei übertragen (siehe folgende Textdatei). Recipe_DB.csv index,productname,water,barley,wheat,hops,yeast,waterTmp, mashTmp,mashTime,QTest 1,”Pils”,10,9,3,280,39,40,30,100,0 2,”Lager”,10,9,3,150,33,50,30,120,0 3,”BlackBeer”,10,9,3,410,47,60,30,90,1 4 ”Not_used”,0,0,0,0,0,0,0,0,0 5 ”Not_used”,0,0,0,0,0,0,0,0,0 Import von Rezepten (aus CSV-Datei in Rezept-DB)
  • Seite 486: Anzeige Von Csv-Rezeptdaten In Excel

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle CSV-Dateien müssen exakt mit der Struktur des entsprechenden Rezept-DBs übereinstimmen • Die Werte in der CSV-Datei können geändert werden, doch die Struktur darf nicht geändert werden. Für die Anweisung RecipeImport ist es erforderlich, dass die Anzahl der Datensätze und Komponenten exakt der Struktur des Ziel-Rezept-DBs entspricht.
  • Seite 487: Programmanweisungen Zum Übertragen Von Rezeptdaten

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.1.3 Programmanweisungen zum Übertragen von Rezeptdaten RecipeExport (Rezeptexport) Tabelle 9-195 Anweisung RecipeExport KOP/FUP Beschreibung Die Anweisung "RecipeExport" exportiert alle "RecipeExport_DB"( req:=_bool_in_, Rezeptdatensätze aus einem Rezeptdatenbau‐ stein in das CSV-Dateiformat. Die CSV-Datei done=>_bool_out_, busy=>_bool_out_, enthält Produktnamen, Komponentennamen und Startwerte.
  • Seite 488 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung ERROR Bool Das Bit ERROR ist einen Zyklus lang WAHR, nachdem die letzte Anfor‐ derung mit Fehler beendet wurde. Der Fehlercode im Parameter STA‐ TUS ist nur in dem einen Zyklus gültig, in dem ERROR = WAHR ist. •...
  • Seite 489 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle RecipeImport (Rezeptimport) Tabelle 9-198 Anweisung RecipeImport KOP/FUP Beschreibung Die Anweisung "RecipeImport" impor‐ "RecipeImport_DB"( tiert Rezeptdaten aus einer CSV-Datei req:=_bool_in_, im CPU-Ladespeicher in einen vom Pa‐ done=>_bool_out_, rameter RECIPE_DB angegebenen Re‐ busy=>_bool_out_, zeptdatenbaustein. Während des Im‐ error=>_bool_out_, status=>_word_out_, portvorgangs werden die Startwerte...
  • Seite 490 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Regeln für CSV-Dateien: • Die CSV-Datei muss sich im Stammverzeichnis "Recipes" im internen Ladespeicher oder auch im externen Ladespeicher, sofern eine optionale als Programmkarte verwendete externe Memory Card installiert ist, befinden. • Der Name der CSV-Datei muss dem Namen des Datenbausteins im Parameter RECIPE_DB entsprechen.
  • Seite 491: Beispielprogramm Für Rezepte

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.1.4 Beispielprogramm für Rezepte Voraussetzungen für das Beispielprogramm für Rezepte Für das Beispielprogramm für Rezepte müssen die folgenden Voraussetzungen erfüllt sein: • Ein Rezept-DB mit allen Rezeptdatensätzen. Der Rezept-DB ist im Ladespeicher abgelegt. • Ein aktiver Rezept-DB mit einer Kopie eines Rezepts im Arbeitsspeicher. Weitere Informationen zum Rezept-DB und der entsprechenden CSV-Datei finden Sie unter "Beispiel für einen Rezept-DB (Seite 483)".
  • Seite 492 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Beispielprogramm für Rezepte Netzwerk 1 Eine steigende Flanke an REQ startet den Exportvorgang. Aus den Daten des Rezept- DBs wird eine CSV-Datei generiert und im Rezeptordner im CPU-Speicher abgelegt. Netzwerk 2 Erfassen Sie den Ausgang STATUS der Ausführung von RecipeExport, weil er nur einen Zyklus lang gültig ist.
  • Seite 493 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle beispielsweise die symbolischen Adressen ("Active_Recipe".productname) und ("Active_Recipe".water) Ihrer Programmlogik den aktuellen Rezeptnamen und die Menge des Wassers an. Netzwerk 6 Während der Laufzeit könnte ein HMI-Gerät einen im DB "Active_Recipe" gespeicherten Komponentenwert ändern. Verbesserte Rezeptdaten können durch Ausführung von WRIT_DBL gespeichert werden.
  • Seite 494: Datensatzstruktur Der Datenprotokolle

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2.1 Datensatzstruktur der Datenprotokolle Die Parameter DATA und HEADER der Anweisung DataLogCreate weisen den Datentyp und die Spaltenkopfbeschreibung aller Datenelemente in einem Protokolldatensatz zu. Parameter DATA für die Anweisung DataLogCreate Der Parameter DATA verweist auf Speicher, der als temporärer Puffer für einen neuen Protokolldatensatz verwendet wird.
  • Seite 495: Programmanweisungen Zum Steuern Von Datenprotokollen

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2.2 Programmanweisungen zum Steuern von Datenprotokollen DataLogCreate (Datenprotokoll erstellen) Tabelle 9-201 Anweisung DataLogCreate KOP/FUP Beschreibung Erstellt und initialisiert eine Datenprotokolldatei. "DataLogCreate_DB"( req:=_bool_in_, Die CPU erstellt die Datei im Ordner \DataLogs, ver‐ wendet den Namen im Parameter NAME und öff‐ records:=_udint_in_, format:=_uint_in_, net die Datei implizit für Schreibvorgänge.
  • Seite 496 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung NAME Variant Name des Datenprotokolls: Sie geben einen Namen ein. Diese Variante unterstützt nur den Datentyp String und kann nur im DB- oder im lokalen Speicher abgelegt wer‐ den. (Standardwert: ' ') Diese Zeichenkette ist der Name der Datenprotokolldatei.
  • Seite 497 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung BUSY Bool • 0 - Keine Anweisung in Bearbeitung • 1 - Anweisung in Bearbeitung ERROR Bool Das Bit ERROR ist einen Zyklus lang WAHR, nachdem die letzte Anforderung mit Fehler beendet wurde. Der Fehler‐ code im Parameter STATUS ist nur in dem einen Zyklus gül‐...
  • Seite 498 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Hinweis Die Datenprotokollerstellung muss abgeschlossen sein, bevor eine Anweisung zum Schreiben des Datenprotokolls angestoßen werden kann • Die Operationen DataLogCreate und DataLogNewFile zum Erstellen von Datenprotokollen erstrecken sich über viele Programmzyklen. Die tatsächliche für die Erstellung der Protokolldatei benötigte Zeit hängt von der Datensatzstruktur und der Anzahl der Datensätze ab.
  • Seite 499 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle ERROR STATUS Beschreibung (W#16#..) 80B2 Keine weiteren Ressourcen-IDs vorhanden Hinweis: Um diesen Fehler zu vermeiden, löschen Sie einige vorhandene Datenprotokolle oder verringern die Anzahl der Spalten in der Datensatzstruktur. 80B3 Nicht genügend Ladespeicher. 80B4 Die Memory Card (MC) ist schreibgeschützt.
  • Seite 500 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung NAME Variant Name eines vorhandenen Datenprotokolls: Diese Variante unter‐ stützt nur den Datentyp String und kann nur im lokalen Speicher, im DB- oder M-Speicher abgelegt werden. (Standardwert: ' ') Durchgang DWord Numerische Kennung eines Datenprotokolls.
  • Seite 501 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle ERROR STATUS (W#16#) Beschreibung 8090 Datenprotokolldefinition stimmt nicht mit der vorhandenen Datenprotokoll‐ datei überein. 8091 Der Namensparameter ist keine Zeichenkette. 8092 Datenprotokoll ist nicht vorhanden. 80C0 Datenprotokolldatei ist gesperrt. 80C1 Zu viele geöffnete Dateien: Maximal acht Datenprotokolldateien dürfen gleichzeitig geöffnet sein.
  • Seite 502 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Enthält die kreisförmige Datenprotokolldatei leere Datensätze, schreibt die Anweisung DataLogWrite in den nächsten freien Datensatz. Sind alle Datensätze belegt, überschreibt die Anweisung DataLogWrite den ältesten Datensatz. ACHTUNG Die Datenprotokollerstellung muss abgeschlossen sein, bevor eine Anweisung zum Schreiben des Datenprotokolls angestoßen werden kann Die Operationen DataLogCreate und DataLogNewFile zum Erstellen von Datenprotokollen erstrecken sich über viele Programmzyklen.
  • Seite 503 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogClear (Datenprotokoll leeren) Beschreibung Tabelle 9-210 Anweisung DataLogClear KOP/FUP Beschreibung "DataLogClear_DB"( Die Anweisung "DataLogClear" löscht alle Datensät‐ ze in einem vorhandenen Datenprotokoll. Die Anwe‐ REQ:=_bool_in_, DONE=>_bool_out_, siung löscht nicht den optionalen Header der CSV- Datei (siehe Beschreibung des Parameters HEADER BUSY=>_bool_out_, ERROR=>_bool_out_,...
  • Seite 504 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter STATUS Fehlercode* Bedeutung (W#16#...) 0000 Kein Fehler. 7000 Keine laufende Auftragsbearbeitung. 7001 Start der Auftragsbearbeitung. Parameter BUSY = 1, DONE = 0 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Anweisung bereits aktiv; BUSY hat den Wert 1. 8080 Die mit dem Parameter ID ausgewählte Datenprotokolldatei kann mit der Anweisung "DataLogClear"...
  • Seite 505 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung ERROR Bool Das Bit ERROR ist einen Zyklus lang WAHR, nachdem die letzte Anforderung mit Fehler beendet wurde. Der Fehlercode im Parameter STATUS ist nur in dem einen Zyklus gültig, in dem ERROR = WAHR ist. STATUS Word Ausführungsbedingung (Standardwert: 0)
  • Seite 506: Parameter Name Und Id

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter Deklaration Datentyp Speicherbereich Beschreibung DONE Output BOOL E, A, M, D, L Die Anweisung wurde erfolgreich ausgeführt. BUSY Output BOOL E, A, M, D, L Das Löschen des Datenprotokolls ist noch nicht beendet. ERROR Output BOOL...
  • Seite 507 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogNewFile (Datenprotokoll in neuer Datei) Tabelle 9-215 Anweisung DataLogNewFile KOP/FUP Beschreibung Ermöglicht Ihrem Programm, eine neue Da‐ "DataLogNewFile_DB"( tenprotokolldatei basierend auf einer beste‐ req:=_bool_in_, henden Datenprotokolldatei anzulegen. records=:_udint_in_, done=>_bool_out_, Wenn Sie die Anweisung einfügen, erstellt busy=>_bool_out_, STEP 7 automatisch den zugehörigen Instanz- error=>_bool_out_,...
  • Seite 508 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Sie können die Anweisung DataLogNewFile ausführen, wenn ein Datenprotokoll voll ist oder nahezu voll ist und Sie keine Daten verlieren möchten, die im Datenprotokoll gespeichert sind. Basierend auf der Struktur der vollen Datenprotokolldatei kann eine neue, leere Datenprotokolldatei angelegt werden.
  • Seite 509: Arbeiten Mit Datenprotokollen

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle ERROR STATUS (W#16#) Beschreibung 8092 Datenprotokoll ist nicht vorhanden. 8093 Das Datenprotokoll ist bereits vorhanden. 8097 Gewünschte Dateilänge überschreitet maximale Dateigröße für das Dateisystem. 80B2 Keine weiteren Ressourcen-IDs vorhanden Hinweis: Löschen Sie einige vorhandene Datenprotokolle, um Platz für ein neues Datenprotokoll zu schaffen.
  • Seite 510: Datenprotokolle Auf Einer Memory Card Des Plc-Geräts Anzeigen

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Hinweis Verwaltung von Datenprotokollen Speichern Sie maximal 1000 Datenprotokolle in einem Dateisystem. Bei Überschreiten dieser Anzahl kann es passieren, dass der Webserver nicht mehr genügend CPU-Ressourcen zur Verfügung hat, um die Datenprotokolle anzuzeigen. Wenn Sie bemerken, dass die Webseite des Dateibrowsers die Datenprotokolle nicht anzeigen kann, müssen Sie die CPU in den Betriebszustand STOP versetzen, um Datenprotokolle anzeigen und löschen zu können.
  • Seite 511: Grenzwert Für Die Größe Von Datenprotokolldateien

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2.4 Grenzwert für die Größe von Datenprotokolldateien Datenprotokolldateien nutzen den Ladespeicher des PLC-Geräts gemeinsam mit dem Programm, mit Programmdaten, Konfigurationsdaten, benutzerdefinierten Webseiten und PLC- Systemdaten. Ein großes Programm, das den internen Ladespeicher nutzt, belegt viel Platz im Ladespeicher.
  • Seite 512: Berechnen Der Größe Einer Datenprotokolldatei (Alle Datensätze)

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Berechnen der Größe einer Datenprotokolldatei (alle Datensätze) Beim Anlegen der Datenprotokolldatei ordnet die CPU die maximale Speichergröße zu. Neben der erforderlichen Größe für alle Datensätze müssen Sie den Speicherplatz für einen Datenprotokoll-Header (sofern verwendet), Zeitstempel-Header (sofern verwendet), Datensatzindex-Header und die Mindestbausteingröße für die Speicherzuordnung berücksichtigen.
  • Seite 513 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Char String Beispiel 1: MyString[10] Die maximale Zeichenkettengröße wird mit 10 Zeichen angegeben. Textzeichen + automatische Auffüllung mit Leerzeichen = 10 Byte Anführungszeichen am Anfang und am Ende + Kommazeichen = 3 Byte 10 + 3 = 13 Byte insgesamt Beispiel 2: Mystring2 Wird keine Größe in eckigen Klammern angegeben, werden standardmäßig 254 Byte zugewiesen.
  • Seite 514: Beispielprogramm Für Datenprotokolle

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2.5 Beispielprogramm für Datenprotokolle Dieses Beispielprogramm für Datenprotokolle zeigt nicht die gesamte Programmlogik, die erforderlich ist, um Abtastwerte eines dynamischen Prozesses abzurufen, es zeigt jedoch die wesentliche Funktionsweise der Anweisungen für Datenprotokolle. Die Struktur und Anzahl der verwendeten Protokolldateien richtet sich nach Ihren Prozesssteuerungsanforderungen.
  • Seite 515 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 2 Erfassen Sie den Ausgang DONE von DataLogCreate, weil er nur einen Zyklus lang gültig ist. Netzwerk 3 Liegt ein Fehler vor, speichern Sie den Statusausgang. Netzwerk 4 Eine positive Flanke löst den Zeitpunkt aus, an dem neue Prozesswerte in der Struktur MyData gespeichert werden.
  • Seite 516 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 6 Schließen Sie das Datenprotokoll, nachdem der letzte Datensatz geschrieben wurde. Nach Ausführung der Anweisung DataLogWrite, die den letzten Datensatz schreibt, wird der Zustand "Protokolldatei voll" gemeldet, wenn der Ausgang STATUS von DataLogWrite = 1 ist. Netzwerk 7 Eine positive Flanke am Eingang REQ der Anweisung DataLogOpen simuliert, dass der Anwender an einem HMI-Gerät eine Taste drückt, die eine Datenprotokolldatei öffnet.
  • Seite 517 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Vom Beispielprogramm angelegte und mit dem Webserver der S7-1200 CPU angezeigte Datenprotokolldateien ① Die Option "Delete" ist nur verfügbar, wenn Sie mit Änderungsrechten angemeldet sind. ② Die Option "Rename" ist nur verfügbar, wenn Sie mit Änderungsrechten angemeldet sind. Tabelle 9-219 In Excel angezeigte, heruntergeladene Beispiele für CSV-Dateien Zwei geschriebene Datensätze in einer Da‐...
  • Seite 518: Datenbausteinsteuerung

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10 Datenbausteinsteuerung 9.10.1 CREATE_DB (Datenbaustein erstellen) Tabelle 9-220 Anweisung CREATE_DB KOP/FUP Beschreibung ret_val := CREATE_DB( Mit der Anweisung "CREATE_DB" erstellen Sie einen neuen Datenbaustein im Lade- und/oder Arbeits‐ REQ:=_bool_in_, speicher. LOW_LIMIT:=_uint_in_, UP_LIMIT:=_uint_in_, Die Anweisung "CREATE_DB" ändert die Prüfsumme COUNT:=_udint_in_, des Anwenderprogramms nicht.
  • Seite 519: Funktionsbeschreibung

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Funktionsbeschreibung Die Anweisung "CREATE_DB" arbeitet asynchron. Die Verarbeitung erfolgt über mehrere Aufrufe. Sie starten den Auftrag durch Aufruf von "CREATE_DB" mit REQ = 1. Die Ausgangsparameter RET_VAL und BUSY melden den Status des Auftrags. Siehe auch: DELETE_DB (Datenbaustein löschen) (Seite 527) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "CREATE_DB": Parameter...
  • Seite 520 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklara‐ Daten‐ Speicherbereich Beschreibung tion ATTRIB Input BYTE E, A, M, D, L oder Kon‐ Sie verwenden die ersten 4 Bits des Byte am Parameter ATTRIB stante zum Definieren der Eigenschaften des Datenbausteins*: • Bit 0 = 0: Attribut "Nur im Ladespeicher ablegen" ist nicht festgelegt.
  • Seite 521 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklara‐ Daten‐ Speicherbereich Beschreibung tion DB_NUM Output DB_DYN E, A, M, D, L Nummer des erstellten DBs. (UINT) * Die hier ausgewählten Eigenschaften entsprechen den Attributen in den Eigenschaften eines Datenbausteins. Weitere Informationen zu gültigen Datentypen finden Sie unter "Datentypen (Seite 105)". Parameter RET_VAL Fehlercode* Beschreibung...
  • Seite 522 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10.2 Anweisungen READ_DBL und WRIT_DBL (Datenbaustein im Ladespeicher lesen/schreiben) Tabelle 9-221 Anweisungen READ_DBL und WRIT_DBL KOP/FUP Beschreibung READ_DBL( Kopiert DB-Startwerte oder einen Teil der Werte aus dem Ladespeicher in ei‐ req:=_bool_in_, srcblk:=_variant_in_, nen Ziel-DB im Arbeitsspeicher. busy=>_bool_out_, Der Inhalt des Ladespeichers wird wäh‐...
  • Seite 523 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Ladespeicher oder auf einer Memory Card gespeicherten aktuellen Werte im Arbeitsspeicher aktualisieren. Hinweis Auswirkung der Anweisungen WRIT_DBL und READ_DBL auf den Flash-Speicher Die Anweisung WRIT_DBL führt Schreibvorgänge im Flash-Speicher durch (im internen Ladespeicher oder auf einer Memory Card). Um eine Reduzierung der Lebensdauer des Flash- Speichers zu verhindern, verwenden Sie die Anweisung WRIT_DBL für weniger häufige Aktualisierungen wie das Aufzeichnen von Änderungen an einem Produktionsprozess.
  • Seite 524: Informationen Zu Rezepten Und Zur Maschineneinrichtung

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Ausgänge BUSY und RET_VAL, um zu ermitteln, wann die Datenübertragung beendet und korrekt ist. Hinweis Auswirkung der Anweisungen WRIT_DBL und READ_DBL auf die Kommunikationslast Wenn die Anweisung WRIT_DBL oder READ_DBL kontinuierlich aktiv ist, kann sie dabei so viele Kommunikationsressourcen verbrauchen, dass STEP 7 die Kommunikation mit der CPU verliert.
  • Seite 525 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung RET_VAL Beschreibung (W#16#...) 8251 Typfehler Quelldatenbaustein 82B1 Fehlender Quelldatenbaustein 82C0 Der Quell-DB wird von einer anderen Anweisung oder Kommunikationsfunktion bearbeitet. 8551 Typfehler Zieldatenbaustein 85B1 Fehlender Zieldatenbaustein 85C0 Der Ziel-DB wird von einer anderen Anweisung oder Kommunikationsfunktion bearbeitet. 80C3 Mehr als 50 READ_DBL- oder 50 WRIT_DBL-Anweisungen befinden sich derzeit in der Warteschlange für die Ausführung.
  • Seite 526 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklarati‐ Datentyp Speicherbereich Beschreibung DB_LENGTH Output UDINT E, A, M, D, L • Anzahl von Datenbytes, die der ausgewählte DB enthält • 0 bei Datenbausteinen mit optimierten Zugriff und Datenbausteinen, die sich nur im Ladespeicher be‐ finden ATTRIB Output...
  • Seite 527 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10.4 DELETE_DB (Datenbaustein löschen) Tabelle 9-225 Anweisung DELETE_DB KOP/FUP Beschreibung Mit der Anweisung "DELETE_DB" löschen Sie einen ret_val := DELETE_DB( REQ := _bool_in_, Datenbaustein (DB), den das Anwenderprogramm durch Aufrufen der Anweisung "CREATE_DB (Sei‐ DB_NUMBER := _uint_in_, BUSY =>...
  • Seite 528: Adressverarbeitung

    Erweiterte Anweisungen 9.11 Adressverarbeitung Fehlercode* Bedeutung (W#16#...) 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Datenübertragung bereits aktiv; BUSY hat den Wert 1. 80A1 Fehler im Eingangsparameter DB_NUMBER: • Der Wert am Parameter ist 0. • Der Wert am Parameter ist größer als die maximal zulässige DB-Nummer für die verwendete CPU. 80B1 Der DB mit der angegebenen Nummer ist in der CPU nicht vorhanden.
  • Seite 529 Erweiterte Anweisungen 9.11 Adressverarbeitung Je nach dem Hardwaretyp, der in Parameter HWTYPE festgelegt ist, werden die folgenden Informationen der anderen GEOADDR-Parameter ausgewertet: • Bei HWTYPE = 1 (PROFINET IO-System): – Nur IOSYSTEM wird ausgewertet. Die anderen Parameter von GEOADDR werden nicht berücksichtigt.
  • Seite 530 Erweiterte Anweisungen 9.11 Adressverarbeitung Weitere Informationen über gültige Datentypen finden Sie unter "Übersicht der gültigen Datentypen" in der STEP 7 Online-Hilfe. Tabelle 9-228 Bedingungscodes RET_VAL* Erklärung (W#16#...) Kein Fehler. 8091 Ungültiger Wert in GEOADDR für HWTYPE. 8094 Ungültiger Wert in GEOADDR für IOSYSTEM. 8095 Ungültiger Wert in GEOADDR für STATION.
  • Seite 531 Erweiterte Anweisungen 9.11 Adressverarbeitung Tabelle 9-230 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR HW_ANY Hardwarekennung des IO-Systems oder des Moduls. Die Nummer wird au‐ tomatisch zugewiesen und in den Eigenschaften der CPU oder der Schnitt‐ stelle der Hardwarekonfiguration gespeichert. RET_VAL Fehlercode der Anweisung GEOADDR...
  • Seite 532 Erweiterte Anweisungen 9.11 Adressverarbeitung Wird in Parameter ADDR keine E/A-Adresse eines (Sub-)Moduls angegeben, wird am Parameter RET_VAL der Fehlercode "8090" ausgegeben. Hinweis Eingabe der E/A-Adresse in SCL Mit der E/A-Zugriffs-ID "%QWx:P" ist keine Programmierung in SCL möglich. In diesem Fall ist der symbolische Variablenname oder die absolute Adresse im Prozessbild zu verwenden.
  • Seite 533 Erweiterte Anweisungen 9.11 Adressverarbeitung Die Anweisung RD_ADDR ermittelt die Länge und die Anfangsadresse der Eingänge oder Ausgänge anhand der Hardwarekennung eines Submoduls: • Mit dem Parameter LADDR wählen Sie das Eingangs- oder Ausgangsmodul anhand der Hardwarekennung aus. • Abhängig davon, ob es sich um ein Eingangs- oder ein Ausgangsmodul handelt, werden die folgenden Ausgangsparameter verwendet: –...
  • Seite 534: Geografische Adresse

    Erweiterte Anweisungen 9.11 Adressverarbeitung 9.11.5 Systemdatentyp GEOADDR Geografische Adresse Der Systemdatentyp GEOADDR enthält die geografische Adresse eines Moduls (oder die Steckplatzinformationen). • Geografische Adresse für PROFINET IO: Für PROFINOT IO besteht die geografische Adresse aus der ID des PROFINET IO-Systems, der Gerätenummer, der Steckplatznummer und dem Submodul (wenn ein Submodul verwendet wird).
  • Seite 535: Gemeinsame Fehlercodes Für Die Erweiterten Anweisungen

    Erweiterte Anweisungen 9.13 Handhabung von Dateien 9.12 Gemeinsame Fehlercodes für die erweiterten Anweisungen Tabelle 9-238 Gemeinsame Bedingungscodes für die erweiterten Anweisungen Bedingungscode (W#16#..) Beschreibung 8x22 Bereich für Eingang zu klein 8x23 Bereich für Ausgang zu klein 8x24 Unzulässiger Eingangsbereich 8x25 Unzulässiger Ausgangsbereich 8x28 Unzulässige Eingangsbitzuweisung...
  • Seite 536: Erweiterte Anweisungen

    Erweiterte Anweisungen 9.13 Handhabung von Dateien Die folgenden Regeln gelten für die Angabe von Dateiname und Pfad: • Der Dateiname darf maximal 55 Zeichen lang sein. • Folgende Zeichen sind für den Ordner und den Dateinamen zulässig: "0" bis "9", "a" bis "z", "A" bis "Z", "-", "_"...
  • Seite 537 Erweiterte Anweisungen 9.13 Handhabung von Dateien Parameter und Typ Datentyp Beschreibung Busy Output BOOL Statusparameter • 0: Die Ausführung der Anweisung ist beendet oder noch nicht gestartet. • 1: Die Ausführung der Anweisung ist noch nicht beendet. Error Output BOOL Statusparameter •...
  • Seite 538: Siehe Auch

    Erweiterte Anweisungen 9.13 Handhabung von Dateien Siehe auch Neue Funktionen (Seite 35) 9.13.2 FileWriteC: Datei auf die Memory Card schreiben Mit der Anweisung "FileWriteC" schreiben Sie Daten aus einem Quellbereich auf der CPU in eine Datei im Ordner "UserFiles" auf der Memory Card. Tabelle 9-242 Anweisung FileWriteC KOP/FUP Beschreibung...
  • Seite 539 Erweiterte Anweisungen 9.13 Handhabung von Dateien Die Parameter "Offset" und "Length" geben den Speicherort in der Datei an, in den die Daten geschrieben werden sollen. Die beschäftigte Ressource wird wieder freigegeben, sobald der Schreibvorgang abgeschlossen ist. Die Anweisung "FileWriteC" beginnt den Schreibvorgang erst, wenn die folgende Bedingung erfüllt ist: "Offset"...
  • Seite 540 Erweiterte Anweisungen 9.13 Handhabung von Dateien Fehlercode* Bedeutung (W#16#...) 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Anweisung bereits aktiv; Busy hat den Wert 1. 8091 Pfad ist nicht vorhanden oder ungültig. 8092 Der Parameter "Name" hat nicht den Datentyp "STRING", ist zu lang oder enthält ungültige Zeichen. 8093 •...
  • Seite 541 Erweiterte Anweisungen 9.13 Handhabung von Dateien Die Anweisung "FileDelete" ist nur in den Ordnern "Recipes" und "UserFiles" zulässig. Ordner innerhalb dieser Ordner sind möglich, z.B. "UserFiles/Test/file1.txt". Hinweis Löschen von Datenprotokollen Das Löschen einer Datei im Ordner "DataLog" mit der Anweisung "FileDelete" ist nicht zulässig. Zum Löschen von Datenprotokollen müssen Sie die Anweisung "DataLogDelete"...
  • Seite 542 Erweiterte Anweisungen 9.13 Handhabung von Dateien Fehlercode* Bedeutung (W#16#...) 80A2 Schreibfehler 80A3 Die Datei ist zu groß (≥ 2147483648 Bytes) und kann nicht mit "FileDelete" gelöscht werden. 80B4 Die Memory Card ist schreibgeschützt. 80C3 Die maximale Anzahl gleichzeitig aktiver Anweisungen "FileDelete" ist bereits erreicht. * Die Fehlercodes werden im Programmeditor als ganzzahlige Werte oder als Hexadezimalwerte angezeigt.
  • Seite 543: Technologieanweisungen

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die grundlegenden Zähleranweisungen, die unter "Zähler" (Seite 225) beschrieben werden, zählen nur solche Ereignisse, die langsamer auftreten als der Zyklus der S7-1200 CPU. Der schnelle Zähler (High-Speed Counter, HSC) bietet die Möglichkeit, Impulse zu zählen, die schneller auftreten als der PLC-Zyklus.
  • Seite 544 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.1 Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern) 10.1.1.1 Übersicht über die Anweisung Tabelle 10-1 Anweisung CTRL_HSC_EXT KOP/FUP Beschreibung "CTRL_HSC_1_DB" ( Jede Anweisung CTRL_HSC_EXT (Schnel‐ len Zähler steuern (erweitert)) nutzt eine in hsc:=_hw_hsc_in_, done:=_done_out_, einem benutzerdefinierten globalen DB ab‐ gelegte systemdefinierte Datenstruktur, busy:=_busy_ out_, error:=_error_out_,...
  • Seite 545 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.1.2 Beispiel Zur Verwendung der Anweisung CTRL_HSC_EXT gehen Sie wie folgt vor: 1. Positionieren Sie die Anweisung CTRL_HSC_EXT in dem KOP-Netzwerk, das auch den folgenden Instanz-Datenbaustein erstellt: "CTRL_HSC_EXT_DB": 2. Fügen Sie die Hardwarekennung des HSC, die Sie in den Eigenschaften des HSC finden, an den Anschluss "HSC"...
  • Seite 546 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 3. Erstellen Sie einen globalen Datenbaustein mit dem Namen "Data_block_1" (Sie können auch einen vorhandenen globalen Datenbaustein verwenden): – Suchen Sie in "Data_block_1" eine leere Zeile und fügen Sie eine Variable mit dem Namen "MyHSC" hinzu. –...
  • Seite 547 Technologieanweisungen 10.1 Zählen (schnelle Zähler) – Wählen Sie "MyHSC" aus. – Löschen Sie den Punkt ("."), der auf "'Data_Block_1'.MyHSC" folgt. Klicken Sie dann entweder außerhalb des Felds oder drücken Sie einmal die ESC-Taste und drücken Sie dann die Eingabetaste. Hinweis Nach dem Löschen des Punkts ("."), der auf "'Data_Block_1'.MyHSC"...
  • Seite 548 Technologieanweisungen 10.1 Zählen (schnelle Zähler) – Die vollständige Eingabe für CTRL wird nachfolgend gezeigt. Nachdem Sie den HSC im PLC konfiguriert haben, können Sie die Anweisung CTRL_HSC_EXT ausführen. Bei einem Fehler wird ENO auf 0 gesetzt und der Ausgang STATUS gibt den Bedingungscode an.
  • Seite 549 Technologieanweisungen 10.1 Zählen (schnelle Zähler) SDT: HSC_Count Der Datentyp "HSC_Count" entspricht einem HSC, der für die Betriebsart "Zählen" konfiguriert ist. Die Betriebsart Zählen bietet die folgenden Funktionen: • Zugriff auf den aktuellen Impulszählwert • Halten des aktuellen Impulszählwerts bei einem Eingangsereignis •...
  • Seite 550 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Strukturelement Deklaration Datentyp Beschreibung EnCapture Bool Aktiviert den Eingang Capture, wenn wahr; wenn falsch, hat der Eingang Capture keine Wirkung EnSync Bool Aktiviert den Eingang Sync, wenn wahr; wenn falsch, hat der Eingang Sync keine Wirkung EnDir Bool Ermöglicht dem Wert von NewDirection, wirksam zu werden...
  • Seite 551 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Strukturelement Deklaration Datentyp Beschreibung EnPeriod Bool Ermöglicht dem Wert von NewPeriod, wirksam zu werden. NewPeriod Gibt die Messintervallzeit in Millisekunden an. Zulässig sind nur die Werte 10, 100 oder 1000 ms. ElapsedTime gibt die Zeit in Nanosekunden zwischen den letzten Zählereignissen von aufeinander folgenden Messintervallen an.
  • Seite 552 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Beispiel 1: Mehrere Zählereignisse in einem Messintervall Beispiel 2: Null und ein Zählereignis in mehreren Messintervallen SDT: HSC_Frequency Der Datentyp "HSC_Frequency" entspricht einem HSC, der für die Betriebsart "Frequenz" konfiguriert ist. Die Anweisung CTRL_HSC_EXT bietet Programmzugriff auf die Frequenz von Eingangsimpulsen, die über einen angegebenen Zeitraum gemessen werden.
  • Seite 553: Betrieb Des Schnellen Zählers

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Frequenz als ganzzahligen Wert mit Vorzeichen in Hz mit Hilfe dr Formel: Frequenz = EdgeCount/ ElapsedTime Wenn Sie für die Frequenz einen Gleitpunktwert benötigen, können Sie die oben genannte Formel verwenden, wenn sich der HSC in der Betriebsart Periode befindet. Beachten Sie, dass der Wert von ElapsedTime in der Betriebsart Periode in Nanosekunden ausgegeben wird und gegebenenfalls skaliert werden muss.
  • Seite 554 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Hinweis Die konfigurierten Eingangsfilter verzögern das Steuersignal des Digitaleingangs. Diese Eingangsfunktion ist nur verfügbar, wenn der HSC für die Betriebsart Zählen konfiguriert ist. Informationen zur Konfiguration der Synchronisierungsfunktion finden Sie unter Eingangsfunktionen (Seite 566). 10.1.2.2 Gate-Funktion In vielen Anwendungen müssen Zählprozesse in Abstimmung mit anderen Ereignissen gestartet oder gestoppt werden.
  • Seite 555 Technologieanweisungen 10.1 Zählen (schnelle Zähler) gestartet. Wenn das interne Gate geschlossen ist, werden alle anderen Zählimpulse ignoriert und das Zählen gestoppt. Tabelle 10-7 Zustände der Gate-Funktion Hardware-Gate Software-Gate Internes Gate Geöffnet/nicht konfiguriert Geöffnet Geöffnet Geöffnet/nicht konfiguriert Geschlossen Geschlossen Geschlossen Geöffnet Geschlossen Geschlossen Geschlossen...
  • Seite 556: Erfassungsfunktion

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Hinweis Die konfigurierten Eingangsfilter verzögern das Steuersignal des Digitaleingangs. Die Funktion des Hardware-Gates ist nur verfügbar, wenn der HSC für die Betriebsart Zählen konfiguriert ist. In den Betriebsarten Periode und Frequenz ist der Zustand des internen Gates der gleiche wie der des Software-Gates.
  • Seite 557 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Hinweis Die konfigurierten Eingangsfilter verzögern das Steuersignal des Digitaleingangs. Diese Eingangsfunktion kann nur verwendet werden, wenn der HSC für die Betriebsart Zählen konfiguriert ist. Informationen zur Konfiguration der Erfassungsfunktion finden Sie unter Eingangsfunktionen (Seite 566). S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 558: Vergleichsfunktion

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.2.4 Vergleichsfunktion Wenn aktiviert, generiert die Vergleichsausgangsfunktion bei jedem Auftreten des konfigurierten Ereignisses einen einzelnen konfigurierbaren Impuls. Zu den Ereignissen gehören: Zählwert entspricht einem der Referenzwerte oder Überlauf des Zählers. Wenn ein Impuls in Verarbeitung ist und das Ereignis erneut auftritt, wird für das Ereignis kein Impuls erzeugt.
  • Seite 559 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Synchronisierungsereignis (Rücksetzen) auftritt oder wenn es zu einem Richtungswechsel kommt. Wenn jeder Zählerwert dem Referenzwert entspricht, tritt ein Alarmereignis auf. Im Alarm-OB sollte das Anwenderprogramm den nächsten Referenzwert in den HSC laden und die Ausgänge auf ihren nächsten Zustand setzen.
  • Seite 560: Konfigurieren Eines Schnellen Zählers

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3 Konfigurieren eines schnellen Zählers Zum Einrichten des schnellen Zählers (HSC) führen Sie Folgendes aus: • Wählen Sie in der Projektnavigation die Gerätekonfiguration aus. • Wählen Sie die CPU aus, die Sie konfigurieren möchten. • Klicken Sie im Inspektorfenster auf das Register "Eigenschaften" (siehe Abbildung unten). •...
  • Seite 561 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die folgende Tabelle bietet eine Übersicht über die Eingänge und Ausgänge, die für jede Konfiguration zur Verfügung stehen: Tabelle 10-8 Zählarten für den HSC Eingang 1 Eingang 2 Eingang 3 Eingang 4 Eingang 5 Ausgang 1 Funktion Einphasen‐...
  • Seite 562 Technologieanweisungen 10.1 Zählen (schnelle Zähler) • Frequenz: Misst die Eingangsimpulse und die Zeitdauer und berechnet die Frequenz der Impulse. Das Programm gibt die Frequenz als doppelte Ganzzahl mit Vorzeichen in der Einheit Hz aus. Der Wert ist negativ, wenn rückwärts gezählt wird. Die Werte werden am Ende des von der Frequenzmessperiode angegebenen Zeitraums erfasst und berechnet.
  • Seite 563 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Zweiphasenzähler Der Zweiphasenzähler zählt: • Vorwärts beim Vorwärtszähleingang • Rückwärts beim Rückwärtszähleingang A/B-Zähler Der A/B-Zähler zählt: • Vorwärts bei einer steigenden Flanke am Zähleingang A, wenn der Zähleingang B Low ist • Rückwärts bei einer fallenden Flanke am Zähleingang A, wenn der Zähleingang B Low ist S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 564 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Vierfacher A/B-Zähler Der vierfache A/B-Zähler zählt: • Vorwärts bei einer steigenden Flanke am Zähleingang A, wenn der Zähleingang B Low ist • Vorwärts bei einer fallenden Flanke am Zähleingang A, wenn der Zähleingang B High ist •...
  • Seite 565 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.3 Anfangswerte Bei jedem Wechsel der CPU in RUN lädt sie die Anfangswerte. Die Anfangswerte werden nur in der Betriebsart Zählen verwendet: • Anfänglicher Zählerwert: Das Programm setzt den aktuellen Zählwert auf den anfänglichen Zählerwert, wenn die CPU von STOP nach RUN wechselt oder wenn das Programm den Synchronisierungseingang auslöst.
  • Seite 566: Eingangsfunktionen

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) • Anfänglicher oberer Grenzwert: Maximaler Zählwert. Der Standardwert ist der größtmögliche Wert von +2.147.483.647 Impulsen. • Anfänglicher unterer Grenzwert: Minimaler Zählwert. Der Standardwert ist der kleinstmögliche Wert von -2.147.483.648 Impulsen. Die oben genannten Werte und das Verhalten des Zählers bei Erreichen eines Grenzwerts sind nur in der Betriebsart Zählen verfügbar.
  • Seite 567: Vergleichsausgang

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.5 Ausgangsfunktion Die Vergleichsausgangsfunktion ist die einzige Funktion für den HSC und steht nur in der Betriebsart Zählen zur Verfügung. Vergleichsausgang Sie können den Vergleichsausgang konfigurieren, um bei Auftreten eines der folgenden Ereignisse einen einzelnen Impuls zu generieren: •...
  • Seite 568: Anschlussbelegung Des Hardwareeingangs

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.7 Anschlussbelegung des Hardwareeingangs Wählen Sie für jeden HSC-Eingang, den Sie aktivieren, den gewünschten Eingang aus, entweder an der CPU oder auf dem optionalen Signalboard (Kommunikations- und Signalmodule unterstützen keine HSC-Eingänge). Wenn Sie einen Eingang auswählen, zeigt STEP 7 den maximalen Frequenzwert neben der Auswahl an.
  • Seite 569 Technologieanweisungen 10.1 Zählen (schnelle Zähler) CPU-Eingangskanal Betriebsphase: Einpha‐ Betriebsphase: A/B-Zähler senzähler oder Zweipha‐ oder A/B-Zähler vierfach senzähler 1217C Ea.0 bis Ea.5 100 kHz 80 kHz Ea.6 bis Eb.1 30 kHz 20 kHz Eb.2 bis Eb.5 1 MHz 1 MHz (0,2+, 0,2- bis 0,5+, 0,5-) Tabelle 10-10 SB-Eingang: Höchstfrequenz (optionales Board) Signalboard (SB)
  • Seite 570: Anschlussbelegung Des Hardwareausgangs

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Hinweis Sie weisen die von schnellen Zählern (HSCs) verwendeten digitalen Eingänge und Ausgänge während der Gerätekonfiguration der CPU zu. Wenn Sie HSC-Geräten Eingänge und Ausgänge zuweisen, können Sie die Werte dieser Eingänge und Ausgänge nicht mit Hilfe der Force- Funktion in einer Beobachtungstabelle ändern.
  • Seite 571: Übersicht Über Die Anweisung

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.10 Hardwarekennung Jeder HSC hat eine eindeutige Hardwarekennung, die von den Anweisungen HSC_CTRL und HSC_CTRL_EXT verwendet wird. Sie finden die PLC-Variable für die Hardwarekennung unter "Systemkonstanten". Ein HSC mit dem Namen "HSC_1" hat die Variable "Local~HSC_1" und den Datentyp "Hw_Hsc".
  • Seite 572 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Parameter Deklaration Datentyp Beschreibung NEW_PERIOD Der neue Zeitintervallwert wird in Millisekunden angegeben (nur bei Frequenzmessung). Zulässig sind nur die Werte 10, 100 oder 1000 Millisekunden: 1000 = 1 Sekunde 100 = 0,1 Sekunde 10 = 0,01 Sekunde BUSY Bool Funktion besetzt...
  • Seite 573: Aktueller Zählwert Des Hsc

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) STATUS (W#16#) Beschreibung 80C0 Mehrmaliger Zugriff auf den schnellen Zähler Dieser Fehler kann auftreten, wenn für die Zählart (Seite 561) "Periode" oder "Bewegungssteuerung" eingestellt ist. Diese Zählarten sind für die Anweisung CTRL_HSC ungültig und werden nur von der Anweisung CTRL_HSC_EXT unter‐ stützt.
  • Seite 574: Bewegungssteuerung

    Technologieanweisungen 10.2 Bewegungssteuerung 10.2 Bewegungssteuerung 10.2.1 Übersicht über die Bewegungssteuerung Das TIA Portal unterstützt Sie zusammen mit der Bewegungssteuerungsfunktionalität der S7-1200 CPU beim Steuern von Schrittmotoren und Servomotoren: • Sie konfigurieren die Positionierachse und die Technologieobjekte der Befehlstabelle im TIA Portal.
  • Seite 575: Bewegungssteuerungsanweisungen

    Technologieanweisungen 10.2 Bewegungssteuerung Die nachstehende Tabelle zeigt die Verbindungsmöglichkeiten für Antriebe und Geber: Antriebsverbindung Regelung/Steuerung der Achse Geberverbindung Impulsfolge (PTO) Lagegeregelt (Schrittmotoren und Servomoto‐ ren mit Impulsschnittstelle) Analogausgang (AQ) Lagegeregelt • Geber am schnellen Zähler (HSC) • Geber am Technologiemodul (TM) •...
  • Seite 576 Technologieanweisungen 10.2 Bewegungssteuerung • MC_WriteParam (Seite 581) schreibt bestimmte Parameter, um die Funktionalität der Achse im Anwenderprogramm zu ändern. • MC_ReadParam (Seite 582) liest bestimmte Parameter, die die aktuelle Position, Geschwindigkeit usw. der im Achseneingang definierten Achse angeben. CPU-Firmwarestände Wenn Sie mit einer S7-1200 CPU ab Firmware V4.1 arbeiten, wählen Sie Version V5.0 der Bewegungsanweisungen.
  • Seite 577 Technologieanweisungen 10.2 Bewegungssteuerung Tabelle 10-16 Anweisung MC_Power KOP/FUP Beschreibung "MC_Power_DB"( Die Bewegungssteuerungsanweisung MC_Power ak‐ tiviert oder deaktiviert eine Achse. Bevor Sie die Ach‐ Axis:=_multi_fb_in_, Enable:=_bool_in_, se aktivieren oder deaktivieren können, prüfen Sie die folgenden Bedingungen: StartMode:=_int_in_, StopMode:=_int_in_, • Das Technologieobjekt wurde korrekt konfigu‐ Status=>_bool_out_, riert.
  • Seite 578 Technologieanweisungen 10.2 Bewegungssteuerung 10.2.3.4 MC_Home (Referenzpunktfahrt der Achse durchführen) Die Anweisung MC_Home stellt die Beziehung zwischen dem Achsensteuerungsprogramm und dem mechanischen Positionierungssystem der Achse her. Tabelle 10-18 Anweisung MC_Home KOP/FUP Beschreibung "MC_Home_DB"( Mit der Anweisung MC_Home passen Sie die Achsenkoordinaten an die reale, phy‐ Axis:=_multi_fb_in_, Execute:=_bool_in_, sikalische Position des Antriebs an.
  • Seite 579 Technologieanweisungen 10.2 Bewegungssteuerung 10.2.3.6 MC_MoveAbsolute (Achse absolut positionieren) Die Anweisung MC_MoveAbsolute startet die Bewegung zu einer absoluten Position. Der Auftrag ist beendet, wenn die Zielposition erreicht ist. Tabelle 10-20 Anweisung MC_MoveAbsolute KOP/FUP Beschreibung "MC_MoveAbsolute_DB"( Mit der Anweisung MC_MoveAbso‐ lute starten Sie eine Positionierbe‐ Axis:=_multi_fb_in_, Execute:=_bool_in_, wegung der Achse zu einer absolu‐...
  • Seite 580 Technologieanweisungen 10.2 Bewegungssteuerung 10.2.3.8 MC_MoveVelocity (Achse mit vordefinierter Geschwindigkeit bewegen) Die Anweisung MC_MoveVelocity bewirkt, dass sich die Achse mit der angegebenen Geschwindigkeit bewegt. Tabelle 10-22 Anweisung MC_MoveVelocity KOP/FUP Beschreibung "MC_MoveVelocity_DB"( Mit der Anweisung MC_MoveVelo‐ city bewegen Sie die Achse kon‐ Axis:=_multi_fb_in_, Execute:=_bool_in_, stant mit der angegebenen Ge‐...
  • Seite 581 Technologieanweisungen 10.2 Bewegungssteuerung 10.2.3.10 MC_CommandTable (Achssteuerungsbefehle als Bewegungsfolge ausführen) Die Anweisung MC_CommandTable führt Achssteuerungsbefehle als Bewegungsfolge aus. Tabelle 10-24 Anweisung MC_CommandTable KOP/FUP Beschreibung Führt eine Reihe einzelner Bewe‐ "MC_CommandTable_DB"( Axis:=_multi_fb_in_, gungen für eine Motorsteuerung‐ sachse aus, die zu einer Bewe‐ CommandTable:=_multi_fb_in_, Execute:=_bool_in_, gungsfolge verbunden werden...
  • Seite 582 Technologieanweisungen 10.2 Bewegungssteuerung 10.2.3.12 Anweisung MC_ReadParam (Parameter des Technologieobjekts lesen) Mit der Anweisung MC_ReadParam lesen Sie eine ausgewählte Anzahl von Parametern, die die aktuelle Position, Geschwindigkeit usw. der im Eingang "Axis" definierten Achse angeben. Tabelle 10-26 Anweisung MC_ReadParam KOP/FUP Beschreibung "MC_ReadParam_DB"( Mit der Anweisung MC_ReadPa‐...
  • Seite 583: Siehe Auch

    10.2.4 Weitere Informationen zur Bewegungssteuerung mit S7-1200 Weitere Informationen zur S7-1200 Bewegungssteuerung finden Sie unter SIMATIC STEP 7 S7‑1200 Motion Control V6.0 im TIA Portal V15 (https://support.industry.siemens.com/cs/us/en/ view/109773400). In diesem Handbuch finden Sie ausführliche Informationen zu den folgenden Themen: • Impulsgenerator konfigurieren •...
  • Seite 584: Pid-Regelung

    Technologieanweisungen 10.3 PID-Regelung 10.3 PID-Regelung 10.3.1 PID-Funktionalität STEP 7 bietet die folgenden PID-Anweisungen (Proportional-Integral-Differenzial) für die S7-1200 CPU: • Die Anweisung PID_Compact dient zum Regeln technischer Prozesse mit kontinuierlichen Eingangs- und Ausgangsvariablen. • Die Anweisung PID_3Step dient zum Regeln von motorbetätigten Geräten wie Ventilen, die digitale Signale zum Öffnen und Schließen benötigen.
  • Seite 585 Technologieanweisungen 10.3 PID-Regelung 10.3.2.2 Anweisung PID_Compact Die Anweisung PID_Compact bietet einen universellen PID-Regler mit integrierter Selbsteinstellung für den Automatik- und Handbetrieb. Tabelle 10-28 Anweisung PID_Compact KOP/FUP Beschreibung "PID_Compact_1"( PID_Compact stellt einen PID-Regler mit Selbsteinstellung für den Automatik- und Setpoint:=_real_in_, Input:=_real_in_, Handbetrieb bereit.
  • Seite 586 Technologieanweisungen 10.3 PID-Regelung 10.3.2.3 Anweisung PID_3Step Die Anweisung PID_3Step konfiguriert einen PID-Regler mit Selbsteinstellungsfunktionen, der für motorbetätigte Ventile und Stellglieder optimiert wurde. Tabelle 10-29 Anweisung PID_3Step KOP/FUP Beschreibung "PID_3Step_1"( PID_3Step konfiguriert einen PID-Regler mit Selbsteinstellungsfunktionen, der für mo‐ SetpoInt:=_real_in_, Input:=_real_in_, torbetätigte Ventile und Stellglieder opti‐...
  • Seite 587: Weitere Informationen Zum Pid-Regler Der S7

    Im SCL-Beispiel ist "PID_Temp_1" der Name des Instanz-DBs. 10.3.3 Weitere Informationen zum PID-Regler der S7-1200 Weitere Informationen zum PID-Regler der S7-1200 finden Sie unter Handbuch SIMATIC S7-1200, S7-1500 PID-Regelung (https://support.industry.siemens.com/cs/us/en/view/ 108210036). In diesem Handbuch finden Sie ausführliche Informationen zu den folgenden Themen: • Prinzipien für die Reglung •...
  • Seite 588 Technologieanweisungen 10.3 PID-Regelung • Arbeiten mit PID_Compact: – Prozesswertgrenzen – ErrorBit-Parameter – Warnparameter • Arbeiten mit PID_3Step: – ErrorBit-Parameter – Warnparameter • Arbeiten mit PID_Temp: – ErrorBit-Parameter – Warnparameter • Konfigurieren der Regler PID_Compact, PID_3Step und PID_Temp • Inbetriebnehmen der Regler PID_Compact, PID_3Step und PID_Temp S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 589 Kommunikation 11.1 Überblick Die S7-1200 bietet mehrere Arten der Kommunikation zwischen CPUs und Programmiergeräten, HMI-Geräten und anderen CPUs. PROFINET PROFINET wird für den Austausch von Daten über das Anwenderprogramm mit anderen Kommunikationspartnern über Ethernet verwendet: • Bei der S7-1200 unterstützt PROFINET 16 IO-Geräte mit maximal 256 Submodulen, und PROFIBUS gestattet 3 unabhängige PROFIBUS DP-Master und unterstützt 32 Slaves je DP- Master, mit maximal 512 Modulen je DP-Master.
  • Seite 590: Cpu-Zu-Cpu-Kommunikation Über S7

    Personenschaden führen. Informationen und Empfehlungen bezüglich der Sicherheit finden Sie in unseren "Operational Guidelines für Industrial Security" (http://www.industry.siemens.com/topics/global/en/ industrial-security/Documents/operational_guidelines_industrial_security_en.pdf) auf der Website "Service & Support" von Siemens. Siehe auch Secure Communication und Legacy-Kommunikation (Seite 591) S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 591: Secure Communication Und Legacy-Kommunikation

    V4.0 Erweiterungen für Secure Communication. Für die Kompatibilität mit älteren Geräten und Clients gibt es weiterhin die Legacy-Kommunikation. Sie haben die Wahl, ob Sie Secure Communication oder die Legacy-Kommunikation verwenden. Siemens empfiehlt unbedingt die Verwendung von Secure Communication für Clients und Geräte, die diese Kommunikation unterstützen.
  • Seite 592: Secure Communication Oder Legacy-Kommunikation Konfigurieren

    Kommunikation 11.2 Secure Communication und Legacy-Kommunikation Die folgende Tabelle zeigt die unterstützte Kommunikation für eine S7‑1200 CPU mit Firmware V4.5: Gerätekonfiguration Client-Versionen der CPU im STEP 7-Pro‐ TIA Portal V17 / TIA Portal < V17 / HMI V17 HMI < V17 jekt SIMATIC Automation SIMATIC Automation...
  • Seite 593: Weitere Informationen

    Kommunikation 11.3 Kommunikationsprotokolle und Ports für die Ethernet-Kommunikation Weitere Informationen Weitere Einzelheiten über die Implementierung von Secure Communication finden Sie im Informationssystem im TIA Portal. Weiterführende Informationen über Zertifikate finden Sie insbesondere in den folgenden Themen im TIA Portal-Informationssystem: • Vertraulichkeit durch Verschlüsselung •...
  • Seite 594 Kommunikation 11.3 Kommunikationsprotokolle und Ports für die Ethernet-Kommunikation Port(s) Richtung Protokoll Anwendung Beschreibung 4840 Eingehend OPC UA Kommunikationsstandard von der Unternehmens- zur Feldebene. 34964 Eingehend/Ausge‐ PROFINET Context Der PROFINET Context Manager bietet eine Endpunkt‐ hend Manager zuordnung, um eine Application Relation herzustellen (PROFINET AR).
  • Seite 595: Asynchrone Kommunikationsverbindungen

    Kommunikation 11.4 Asynchrone Kommunikationsverbindungen 11.4 Asynchrone Kommunikationsverbindungen Überblick über die Kommunikationsdienste Die CPU unterstützt die folgenden Kommunikationsdienste: Kommunikations‐ Funktionalität Bei PROFIBUS DP Bei Ether‐ dienst CM 1243-5 CM 1242-5 DP-Master‐ DP-Slave‐ modul modul PG-Kommunikation Inbetriebnahme, Test, Diagnose Nein HMI-Kommunikation Bedienen und Beobachten Nein S7-Kommunikation Datenaustausch über konfigurierte...
  • Seite 596: Verfügbare Verbindungen

    Kommunikation 11.4 Asynchrone Kommunikationsverbindungen Verfügbare Verbindungen Die CPU unterstützt maximal die folgende Anzahl von gleichzeitigen, asynchronen Kommunikationsverbindungen für PROFINET und PROFIBUS. Die maximale Anzahl der jeder Kategorie zugeordneten Verbindungsressourcen ist festgelegt. Sie können die Werte nicht ändern. Die frei verfügbaren Verbindungen können jedoch genutzt werden, um die Anzahl der Verbindungen in jeder Kategorie nach dem Bedarf Ihrer Anwendung zu erhöhen.
  • Seite 597 Kommunikation 11.4 Asynchrone Kommunikationsverbindungen Basierend auf den zugeordneten Verbindungsressourcen steht die folgende Anzahl von Verbindungen je Gerät zur Verfügung: Reserviert Maximum Kommunikation über Programmiergerät (PG) Kommunikation über Mensch-Maschine-Schnittstelle (HMI) S7-Kommunikation Open User Communication Webkommunikation OPC UA Client/Server-Kommunikation Sonstige Kommunikation Da die dynamischen Verbindungen gemeinsam genutzt werden, ist es nicht möglich, alle Verbindungen gleichzeitig zu verwenden.
  • Seite 598 Gerät, Programmiergerät, OPC UA und Webserver können basierend auf den verwendeten Funktionen mehrere Verbindungsressourcen nutzen. 11.5 PROFINET Die CPU kann mit anderen CPUs, mit Programmiergeräten, mit HMI-Geräten und Siemens- fremden Geräten über herkömmliche TCP-Kommunikationsprotokolle kommunizieren. Mit der CPU verbundenes Programmierge‐ rät An die CPU angeschlossenes HMI-Gerät...
  • Seite 599: Ethernet-Switch

    Kommunikation 11.5 PROFINET Ethernet-Switch Die CPU 1211C, 1212C und 1214C haben einen Ethernet-Port und verfügen nicht über einen integrierten Ethernet-Switch. Eine direkte Verbindung zwischen einem Programmiergerät oder HMI-Gerät und einer CPU erfordert keinen Ethernet-Switch. Ein Netzwerk mit mehr als zwei CPUs oder HMI-Geräten jedoch benötigt einen Ethernet-Switch.
  • Seite 600: Netzwerkverbindung Erstellen

    Kommunikation 11.5 PROFINET 11.5.1 Netzwerkverbindung erstellen In der Netzsicht der Gerätekonfiguration können Sie die Netzwerkverbindungen zwischen den Geräten in Ihrem Projekt herstellen. Nach dem Herstellen der Netzwerkverbindung können Sie im Register "Eigenschaften" des Inspektorfensters die Netzwerkparameter konfigurieren. Tabelle 11-4 Netzwerkverbindung erstellen Handlungsanweisung Ergebnis Wählen Sie die "Netzwerkansicht"...
  • Seite 601 Kommunikation 11.5 PROFINET Endpunkte der Kommunikation an. Nach dem Einrichten und Aufbauen der Verbindung wird diese automatisch von der CPU gehalten und überwacht. Wird die Verbindung beendet (z. B. durch eine Leitungsstörung), so versucht der aktive Partner, sie wieder aufzubauen. Sie müssen die Kommunikationsanweisung nicht erneut ausführen. Verbindungspfade Nach dem Einfügen einer Anweisung TSEND_C, TRCV_C oder TCON in das Anwenderprogramm werden im Inspektorfenster die Eigenschaften der Verbindung anzeigt, wenn Sie einen Teil der...
  • Seite 602 Kommunikation 11.5 PROFINET Tabelle 11-6 Verbindungspfad für die S7-Kommunikation konfigurieren (Gerätekonfiguration) S7-Kommunikation (GET und PUT) Verbindungseigenschaften Bei der S7-Kommunikation konfigurieren Sie die Verbindungen zwischen lokaler und Partner-CPU im Editor "Geräte & Netze" des Netzwerks. Sie kön‐ nen auf die Schaltfläche "Hervorgehoben: Verbin‐ dung"...
  • Seite 603: Ip-Adressen Zuweisen

    Kommunikation 11.5 PROFINET Parameter Definition Adressdetails Endpunkt Nur S7-Kommunikation: Name der Partner-CPU (Empfänger) Baugruppenträger/Steck‐ Nur S7-Kommunikation: Baugruppenträger- und Steckplatzadresse platz Verbindungsressource Nur S7-Kommunikation: Komponente des TSAP für die Konfiguration einer S7- Verbindung mit einer S7-300 oder S7-400 CPU Port (dezimal): TCP und UPD: Port der Partner-CPU im Dezimalformat TSAP und Subnetz-ID:...
  • Seite 604 Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen (Seite 163) und Webserver-Benutzer-IDs (Seite 852) durch starke Passwörter.
  • Seite 605 Kommunikation 11.5 PROFINET Hinweis Eine zweite Netzwerkadapterkarte ist nützlich, wenn Sie Ihre CPU nicht an das Firmen-LAN anschließen möchten. Dieser Aufbau ist besonders während anfänglicher Tests bzw. während der Inbetriebnahmeprüfungen nützlich. IP-Adresse Ihres Programmiergeräts über "Netzwerkumgebung" (auf Ihrem Desktop) zuweisen oder prüfen Um die IP-Adresse Ihres Programmiergeräts zuzuweisen oder zu prüfen, gehen Sie wie folgt vor: 1.
  • Seite 606 Kommunikation 11.5 PROFINET 11.5.3.2 Ermitteln der IP-Adresse Ihres Programmiergeräts Die MAC- und die IP-Adresse Ihres Programmiergeräts ermitteln Sie mit den folgenden Menübefehlen: 1. Erweitern Sie in der Projektnavigation den Knoten "Online-Zugänge". 2. Klicken Sie mit der rechten Maustaste auf das erforderliche Netzwerk und wählen Sie "Eigenschaften".
  • Seite 607 Kommunikation 11.5 PROFINET 3. Wählen Sie im Dialog "Online & Diagnose" Option "Funktionen" > "IP-Adresse zuweisen". 4. Geben Sie im Feld "IP-Adresse" Ihre neue IP-Adresse ein und kli‐ cken Sie auf die Schaltfläche "IP- Adresse zuweisen". 5. Prüfen Sie in der Projektnaviga‐ tion, ob STEP 7 der CPU die neue IP- Adresse zugewiesen hat.
  • Seite 608: Konfigurieren Der Profinet-Schnittstelle

    Kommunikation 11.5 PROFINET 11.5.3.4 IP-Adresse für eine CPU in Ihrem Projekt konfigurieren Konfigurieren der PROFINET-Schnittstelle Um Parameter für die PROFINET-Schnittstelle zu konfigurieren, wählen Sie das grüne PROFINET- Feld auf der CPU. Im Inspektorfenster wird das Register "Eigenschaften" für den PROFINET-Port angezeigt.
  • Seite 609 Kommunikation 11.5 PROFINET IP-Router: Router sind die Verbindung zwischen LANs. Mit einem Router kann ein Rechner in einem LAN Meldungen an andere Netzwerke senden, die wiederum zu anderen LANs gehören. Liegt das Ziel der Daten nicht innerhalb des LANs, so leitet der Router die Daten an ein anderes Netzwerk oder eine Gruppen von Netzwerken weiter, wo die Daten ihrem Ziel zugestellt werden können.
  • Seite 610: Konfigurieren Des Profinet-Ports

    Kommunikation 11.5 PROFINET WARNUNG Laden einer Hardwarekonfiguration mit "IP-Adresse auf anderem Weg einstellen" Nach dem Laden einer Hardwarekonfiguration mit aktivierter Option "IP-Adresse auf anderem Weg einstellen" ist es nicht möglich, den Betriebszustand der CPU von RUN in STOP oder von STOP in RUN zu versetzen.
  • Seite 611 Kommunikation 11.5 PROFINET Sie können die Übertragungsrate und Duplex für jeden Port auf einen festen Wert setzen: 1. Wählen Sie die erweiterten Optionen und den Port, den Sie konfigurieren möchten. Wählen Sie dann "Port-Optionen" aus. 2. Wählen Sie unter "Verbindung" im Feld "Übertragungsrate/Duplex" eine der folgenden Optionen aus: –...
  • Seite 612: Online-Zuweisung Einer Ip-Adresse Zu Einem Gerät

    Kommunikation 11.5 PROFINET 11.5.4 Testen des PROFINET-Netzwerks Nachdem die Konfiguration beendet ist, laden Sie das Programm (Seite 199) in die CPU. Alle IP- Adressen werden beim Laden des Projekts konfiguriert. Online-Zuweisung einer IP-Adresse zu einem Gerät Die S7-1200 CPU hat keine vorkonfigurierte IP-Adresse. Sie müssen der CPU daher manuell eine IP-Adresse zuweisen.
  • Seite 613: Ermitteln Der Ethernet-Adresse (Mac-Adresse) Der Cpu

    Kommunikation 11.5 PROFINET Im Dialog "Erweitertes Laden" auf angeschlossene Netzwerkgeräte abfragen Die Funktion "Laden in Gerät" der S7-1200 CPU und der zugehörigen Dialog "Erweitertes Laden" kann alle erreichbaren Netzwerkgeräte anzeigen und zusätzlich angeben, ob allen Geräten eindeutige IP-Adressen zugeordnet wurden. Um alle erreichbaren und verfügbaren Geräte mit ihren zugeordneten MAC- oder IP-Adressen anzuzeigen, aktivieren Sie das Optionskästchen "Alle ereichbaren Teilnehmer anzeigen".
  • Seite 614 Kommunikation 11.5 PROFINET X1P1 PROFINET LAN MAC ADDRESS ① MAC-Adresse Die CPU hat zunächst keine IP-Adresse, sondern nur eine im Werk eingestellte MAC-Adresse. In der PROFINET-Kommunikation ist es erforderlich, dass allen Geräten eine eindeutige IP-Adresse zugeordnet wird. Über die Funktion "Laden in Gerät" der CPU und den Dialog "Erweiter‐...
  • Seite 615: Ntp-Synchronisation (Network Time Protocol, Ntp) Konfigurieren

    Guidelines für Industrial Security (http://www.industry.siemens.com/topics/global/en/ industrial-security/Documents/operational_guidelines_industrial_security_en.pdf) auf der Website "Service & Support" von Siemens. NTP (Network Time Protocol) ist weit verbreitet und dient der Synchronisierung der Uhren von Computersystemen mit Uhrzeitservern im Internet. Beim NTP-Verfahren sendet die CPU in regelmäßigen Zeitabständen Uhrzeitanfragen (im Client-Modus) an den NTP-Server im Subnetz (LAN).
  • Seite 616: Anlaufzeit, Benennung Und Adresszuweisung Von Profinet-Geräten

    Kommunikation 11.5 PROFINET Hinweis Die CPU empfängt beim Laden des Projekts alle IP-Adressen. Tabelle 11-9 Parameter für die Uhrzeitsynchronisation Parameter Definition Uhrzeitsynchronisation über NTP-Server Aktivieren Sie das Kontrollkästchen, um die Uhrzeitsynchro‐ aktivieren nisation über den NTP-Server zu aktivieren. Server 1 Zugewiesene IP-Adresse für Netzwerkzeit-Server 1 Server 2 Zugewiesene IP-Adresse für Netzwerkzeit-Server 2...
  • Seite 617: Offene Benutzerkommunikation

    Kommunikation 11.5 PROFINET Namen und Adressen von PROFINET-Geräten in STEP 7 Alle PROFINET-Geräte müssen einen Gerätenamen und eine IP-Adresse haben. Sie legen die Gerätenamen und die IP-Adressen in STEP 7 fest. Die Gerätenamen werden über PROFINET DCP (Discovery and Configuration Protocol, Erkennungs- und Konfigurationsprotokoll) in die IO- Geräte geladen.
  • Seite 618 Kommunikation 11.5 PROFINET Protokoll Verwendungsbei‐ Eintragen der Daten Kommunikationsan‐ Adressierungsart spiele in den Empfangsbe‐ weisungen reich CPU-zu-CPU-Kommu‐ User Datagram Protocol TUSEND und TURCV Weist den lokalen Gerä‐ nikation ten (aktiv) und Partnerge‐ räten (passiv) Portnum‐ Kommunikation im mern zu, es handelt sich Anwenderprogramm jedoch nicht um eine de‐...
  • Seite 619: Kommunikationsdienste Und Verwendete Portnummern

    Kommunikation 11.5 PROFINET • Routing-fähig, Einsatz in WAN möglich • Dynamische Datenlängen sind möglich. • Für die Datenverwaltung ist wegen der Programmierschnittstelle SEND/RECEIVE Programmieraufwand erforderlich. Mit Transport Service Access Points (TSAPs) gestattet das TCP-Protokoll mehrere Verbindungen mit einer einzigen IP-Adesse (bis zu 64-K-Verbindungen). Bei RFC 1006 ermitteln TSAPs die eindeutige Zuordnung dieser Verbindungen der Kommunikationsendpunkte zu einer IP- Adresse.
  • Seite 620: Ad-Hoc-Modus

    Kommunikation 11.5 PROFINET Die nachstehende Tabelle zeigt die unterschiedlichen Schichten und Protokolle, die von der CPU verwendet werden: Protokoll Portnummer (2) Sicherungs‐ Funktion Beschreibung schicht (4) Transport‐ schicht PROFINET-Protokolle Nicht relevant (2) Ethernet II und Erreichbare Teil‐ PROFINET verwen‐ (Discovery and IEEE 802.1Q und nehmer PROFINET- det DCP, um Teil‐...
  • Seite 621: Verbindungs-Ids Für Anweisungen Für Die Offene Benutzerkommunikation

    Kommunikation 11.5 PROFINET Pakete in einem Aufruf empfangen möchten, liefert TCP diese fünf Pakete als ein 500-Byte- Paket, dagegen unterteilt ISO-on-TCP die Pakete in fünf 100-Byte-Pakete. 11.5.8.5 Verbindungs-IDs für Anweisungen für die offene Benutzerkommunikation Wenn Sie die PROFINET-Anweisung TSEND_C, TRCV_C oder TCON in Ihr Anwenderprogramm einfügen, erstellt STEP 7 einen Instanz-DB für die Konfiguration des Kommunikationskanals (oder der Verbindung) zwischen den Geräten.
  • Seite 622 Kommunikation 11.5 PROFINET ① TSEND_C in CPU_1 erstellt eine Verbin‐ dung und weist dieser Verbindung ei‐ ne Verbindungs-ID zu (Verbindungs- ID 1 bei CPU_1). ② TRCV_C in CPU_2 erstellt die Verbin‐ dung für CPU_2 und weist die Verbin‐ dungs-ID zu (Verbindungs-ID 1 bei CPU_2).
  • Seite 623 Kommunikation 11.5 PROFINET ① TCON in CPU_1 erstellt eine Verbin‐ dung und weist dieser Verbindung ei‐ ne Verbindungs-ID in CPU_1 zu (ID = ② TCON in CPU_2 erstellt eine Verbin‐ dung und weist dieser Verbindung ei‐ ne Verbindungs-ID in CPU_2 zu (ID = ③...
  • Seite 624 Kommunikation 11.5 PROFINET 11.5.8.6 Parameter für die PROFINET-Verbindung Die Anweisungen TSEND_C, TRCV_C und TCON benötigen verbindungsbezogene Parameter, um eine Verbindung zum Partnergerät aufbauen zu können. Diese Parameter werden von der Struktur TCON_Param für die Protokolle TCP, ISO-on-TCP und UDP zugewiesen. Üblicherweise geben Sie diese Parameter in den "Eigenschaften"...
  • Seite 625 Kommunikation 11.5 PROFINET Byte Parameter und Datentyp Beschreibung rem_staddr_len USInt Länge der Adresse des Partnerendpunkts in Bytes: • 0: nicht angegeben (Parameter rem_staddr ist irrelevant) • 4 (Standard): Gültige IP-Adresse im Parameter rem_staddr (nur bei TCP und ISO-on-TCP) rem_tsap_id_len USInt Länge des Parameters rem_tsap_id in Bytes;...
  • Seite 626 Kommunikation 11.5 PROFINET Byte Parameter und Datentyp Beschreibung 40 bis 55 rem_tsap_id Array [1..16] of Komponente der Partneradresse der Verbindung: Byte • TCP: Portnummer der Partner-CPU. Bereich: 1 bis 49151; emp‐ fohlene Werte: 2000 bis 5000): – rem_tsap_id[1] = High Byte der Portnummer in Hexadezimal‐ notierung;...
  • Seite 627 Kommunikation 11.5 PROFINET TCON_IP_V4_SEC Tabelle 11-13 Struktur der Verbindungsbeschreibung (TCON_IP_V4_SEC): Zur Verwendung mit TCP Byte Parameter und Datentyp Beschreibung 0 bis 15 ConnPara TCON_IP_v4 SDT für die Verbindungsparameter Informationen über die Schnittstellenkennung (interface_id): • Wenn Sie für die Schnittstellenkennung den voreingestellten Wert 0 übernehmen, wertet das Betriebssystem der CPU die ent‐...
  • Seite 628 Kommunikation 11.5 PROFINET Der Verbindungsparameter CONNECT der Instanz-DBs für die Anweisungen TCON, TSEND_C und TRCV_C enthält einen Verweis auf den verwendeten Datenbaustein. Hinweis Sie können nicht sichere TCP- oder UDP-Verbindungen über IPv4 herstellen. Sie können auch den SDT TCON_IP_V4_SEC für eine nicht sichere TCP- oder UDP-Verbindung über IPv4 verwenden.
  • Seite 629 Kommunikation 11.5 PROFINET TCON_QDN Tabelle 11-15 Struktur der Verbindungsbeschreibung in Übereinstimmung mit TCON_QDN Byte Parameter und Datentyp Beschreibung 0 bis 1 InterfaceId HW_ANY S7-1200 CPUs ab Firmware V4.4: • InterfaceId eines gesteckten CP: – Bei CPs von S7-1200 ab Firmware V3.2 –...
  • Seite 630: Unterstützte Tls-Version

    Kommunikation 11.5 PROFINET Byte Parameter und Datentyp Beschreibung 274 bis 275 ExtTLSCapabilities WORD • Bit 0: Nur für die Client-Seite. Ein gesetztes Bit bedeutet, dass der Client den alternativen Namen des Zertifikatauss‐ tellers (Subject Alternate Name) im Zertifikat X.509-V3 des Servers validiert, um die Identität des Servers zu prü‐ fen.
  • Seite 631: Konfigurieren Eines Dns

    Kommunikation 11.5 PROFINET 11.5.8.7 Konfigurieren eines DNS Für die sichere offene Benutzerkommunikation (OUC) müssen Sie ein Domain Name System (DNS) konfigurieren. In Ihrem Netzwerk muss es mindestens einen DNS-Server geben und Sie müssen mindestens einen DNS-Server für die S7-1200 CPU konfigurieren. Einen DNS-Server konfigurieren Sie wie folgt: 1.
  • Seite 632: Ouc-Verbindung Im Tia Portal V17 Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.8.8 OUC-Verbindung im TIA Portal V17 konfigurieren Im TIA Portal V17 können Sie die folgenden Open-User-Communication-Verbindungen auswählen (wie unten gezeigt), um eine Verbindung zu oder von den S7-1200 bzw. S7-1500 CPUs zu ziehen. • ISO-on-TCP-Verbindung • TCP-Verbindung •...
  • Seite 633 Kommunikation 11.5 PROFINET • Welcher Partner führt den aktiven Verbindungsaufbau durch • Portdetails im Menü "Eigenschaften" der Netzsicht durch Auswahl eines Verbindungsendes Wenn Sie im TIA Portal eine OUC-Verbindung ziehen, werden innerhalb des gültigen Bereichs für eine OUC-Verbindungs-ID eine "Lokale ID" und eine "Partner-ID" zugewiesen. Sie können den zugewiesenen Wert in der Verbindungstabelle oder in der lokalen ID ändern.
  • Seite 634 Kommunikation 11.5 PROFINET Im Eigenschaftenmenü "Adressdetails" wird die Konfiguration der Adressen angezeigt, die für die Kommunikation der Verbindung für TCP und ISO-on-TCP verwendet werden. Wenn Sie die Anweisungen TUSEND und TURCV bei einer UDP-Verbindung verwenden, wird die Adresse für die Kommunikation von einem Parameter in den Anweisungen übersteuert. Außerdem können bei den Verbindungstypen Iso-on-TCP die TSAPs im Eigenschaftenmenü...
  • Seite 635 Kommunikation 11.5 PROFINET OUC-Anweisung Beschreibung mit konfigurierter Verbindung TDISCON Meldet einen Fehler (0x80A3) TCONSettings Meldet einen Fehler (0x8085) TSEND Gleiche Funktionsweise TRCV Gleiche Funktionsweise TUSEND Gleiche Funktionsweise TURCV Gleiche Funktionsweise T_RESET Gleiche Funktionsweise Beim Verbinden wird die Verbindung getrennt und erneut eine Verbin‐ dung aufgebaut.
  • Seite 636 Kommunikation 11.5 PROFINET Version der Anweisungen TSEND_C und TRCV_C auswählen Es gibt zwei Versionen der Anweisungen TSEND_C und TRCV_C in STEP 7: • Die Versionen 2.5 und 3.1 waren in STEP 7 Basic/Professional V13 und früher verfügbar. • Version 4.0 ist in STEP 7 Basic/Professional V13 SP1 und höher verfügbar. Zum Zweck der Kompatibilität und zur einfacheren Migration können Sie wählen, welche Version der Anweisungen Sie in Ihr Anwenderprogramm einfügen.
  • Seite 637 Kommunikation 11.5 PROFINET Adressen. Weitere Informationen zum Übertragen von Daten mit diesen Anweisungen finden Sie im Abschnitt zur Datenkonsistenz (Seite 187). Hinweis Initialisierung der Kommunikationsparameter Nachdem Sie die Anweisung TSEND_C oder TRCV_C eingefügt haben, konfigurieren Sie in den "Eigenschaften" der Anweisung (Seite 600) die Kommunikationsparameter (Seite 624). Wenn Sie die Parameter für die Kommunikationspartner im Inspektorfenster eingeben, gibt STEP 7 die entsprechenden Daten in den DB der Anweisung ein.
  • Seite 638 Kommunikation 11.5 PROFINET Parameter und Datentyp Datentyp Beschreibung CONT Bool Steuert die Kommunikationsverbindung: • 0: Kommunikationsverbindung nach dem Senden der Daten trennen. • 1: Aufbauen und Halten der Kommunikationsverbindung Beim Senden von Daten (TSEND_C) (steigende Flanke am Para‐ meter REQ) oder beim Empfangen von Daten (TRCV_C) (steigende Flanke am Parameter EN_R), muss der Parameter CONT den Wert TRUE haben, damit eine Verbindung aufgebaut oder gehalten werden kann.
  • Seite 639 Kommunikation 11.5 PROFINET Parameter und Datentyp Datentyp Beschreibung ADDR IN_OUT Variant Optionaler Parameter (versteckt) Pointer auf die Adresse des Empfängers mit dem Verbindungstyp UDP. Die Adressinformationen werden in der Struktur TADDR_Pa‐ ram ### zugeordnet. COM_RST IN_OUT Bool Optionaler Parameter (versteckt) Startet die Anweisung neu: •...
  • Seite 640 Kommunikation 11.5 PROFINET Hinweis Die Standardeinstellung des Parameters LEN (LEN = 0) ermittelt anhand des Parameters DATA die Länge der zu übertragenden Daten. Es ist empfehlenswert, dass die von der Anweisung TSEND_C gesendeten Daten die gleiche Größe haben wie der Parameter DATA der Anweisung TRCV_C.
  • Seite 641 Kommunikation 11.5 PROFINET Funktionsweise von TSEND_C Die Anweisung TSEND_C wird asynchron ausgeführt und implementiert die folgenden Funktionen der Reihe nach: 1. Einrichten und Herstellen einer Kommunikationsverbindung: TSEND_C richtet eine Kommunikationsverbindung ein und stellt diese Verbindung her, wenn am Parameter REQ eine steigende Flanke erkannt wird und noch keine Kommunikationsverbindung vorhanden ist.
  • Seite 642 Kommunikation 11.5 PROFINET Abhängig vom Parameter CONT sind die folgenden Szenarien möglich: • CONT = "0": Eine vorhandene Kommunikationsverbindung wird hergestellt. • CONT = 1 und eine Kommunikationsverbindung wurde hergestellt: Eine vorhandene Kommunikationsverbindung wird zurückgesetzt und erneut hergestellt. • CONT = 1 und es wurde keine Kommunikationsverbindung hergestellt. Es wird keine Kommunikationsverbindung hergestellt.
  • Seite 643 Kommunikation 11.5 PROFINET Funktionsweise von TRCV_C Die Anweisung TRCV_C wird asynchron ausgeführt und implementiert die folgenden Funktionen der Reihe nach: 1. Einrichten und Herstellen einer Kommunikationsverbindung: TRCV_C richtet eine Kommunikationsverbindung ein und stellt diese Verbindung her, wenn der Parameter EN_R = 1 ist und keine Kommunikationsverbindung vorhanden ist. Nach dem Einrichten und Herstellen der Verbindung wird diese automatisch von der CPU gehalten und überwacht.
  • Seite 644 Kommunikation 11.5 PROFINET TRCV_C wird zurückgesetzt, wenn der Parameter COM_RST gesetzt wird. Werden bei erneuter Ausführung Daten empfangen, kann dies zu Datenverlust führen. Abhängig vom Parameter CONT sind die folgenden Szenarien möglich: • CONT = "0": Eine vorhandene Kommunikationsverbindung wird hergestellt. •...
  • Seite 645 Kommunikation 11.5 PROFINET Hinweis TCP (Datenempfang mit angegebener Länge) Mit dem Wert des Parameters LEN geben Sie die Länge für den Datenempfang an. Die am Parameter DATA angegebenen Daten sind im Empfangsbereich verfügbar, sobald die am Parameter LEN angegebene Länge vollständig empfangen wurde. Hinweis ISO on TCP (protokollgesteuerte Datenübertragung) Bei der Protokollvariante ISO on TCP werden die Daten protokollgesteuert übertragen.
  • Seite 646: Parameter Error Und Status

    Kommunikation 11.5 PROFINET Parameter Error und Status Tabelle 11-21 Bedingungscodes von TSEND_C und TRCV_C für ERROR und STATUS ERROR STATUS * Beschreibung (W#16#...) 0000 Sendeauftrag (TSEND_C) oder Empfangsauftrag (TRCV_C) fehlerfrei ausgeführt. 0001 Kommunikationsverbindung hergestellt. 0003 Kommunikationsverbindung geschlossen. 7000 Keine Ausführung eines Sendeauftrags aktiv; keine Kommunikationsverbindung hergestellt. 7001 •...
  • Seite 647 Kommunikation 11.5 PROFINET ERROR STATUS * Beschreibung (W#16#...) 80A3 • Es wird versucht, eine bestehende Verbindung erneut herzustellen. • Es wird versucht, eine nicht vorhandene Verbindung zu beenden. • Die verschachtelte Anweisung T_DIAG meldet, dass die Anweisung die Verbindung geschlos‐ sen hat.
  • Seite 648: Ethernet-Verbindungsprotokolle

    Kommunikation 11.5 PROFINET ERROR STATUS * Beschreibung (W#16#...) 80C6 Netzwerkfehler: • Das lokale Gerät kann den entfernten Partner nicht erreichen. • Physische Unterbrechung am PROFIBUS 8722 Fehler im Parameter CONNECT: Ungültiger Quellbereich (Bereich nicht im Datenbaustein dekla‐ riert). 873A Fehler im Parameter CONNECT: Der Zugriff auf die Verbindungsbeschreibung ist nicht möglich (kein Zugriff auf den Datenbaustein).
  • Seite 649: Siehe Auch

    Kommunikation 11.5 PROFINET Siehe auch Verbindungs-IDs für Anweisungen für die offene Benutzerkommunikation (Seite 621) 11.5.8.10 Anweisungen TSEND_C und TRCV_C in älteren Systemen Vor STEP 7 V13 SP1 und den S7-1200 V4.1-CPUs haben die Anweisungen TSEND_C und TRCV_C nur mit Verbindungsparametern mit Strukturen nach "TCON_Param" funktioniert. Für beide Anweisungsarten gelten die allgemeinen Konzepte.
  • Seite 650 Kommunikation 11.5 PROFINET Alte Anweisungen TSEND_C und TRCV_C (Daten über Ethernet senden und empfangen) Die alte Anweisung TSEND_C verbindet die Funktionen der alten Anweisungen TCON, TDISCON und TSEND . Die Anweisung TRCV_C verbindet die Funktionen der Anweisungen TCON, TDISCON und TRCV. (Weitere Informationen zu diesen Anweisungen finden Sie unter "Alte Anweisungen TCON, TDISCON, TSEND und TRCV (TCP-Kommunikation) (Seite 674)".) Die Mindestdatengröße, die gesendet (TSEND_C) oder empfangen (TRCV_C) werden kann, ist ein Byte;...
  • Seite 651 Kommunikation 11.5 PROFINET Tabelle 11-23 Datentypen für die Parameter von TSEND_C und TRCV_C Parameter und Datentyp Datentyp Beschreibung Bool REQ = 1 startet den Sendeauftrag von TSEND_C bei einer steigen‐ den Flanke über die im Parameter CONNECT beschriebene Verbin‐ (TSEND_C) dung.
  • Seite 652 Kommunikation 11.5 PROFINET Hinweis Die Anweisung TSEND_C erfordert einen Wechsel von 0 nach 1 am Eingangsparameter REQ, um einen Sendeauftrag zu starten. Der Parameter BUSY wird dann während der Verarbeitung auf 1 gesetzt. Die Fertigstellung des Sendeauftrags wird kenntlich gemacht, indem einer der Parameter DONE oder ERROR einen Zyklus lang auf 1 gesetzt wird.
  • Seite 653 Kommunikation 11.5 PROFINET Funktionsweise von TRCV_C Die folgenden Funktionen beschreiben die Funktionsweise der Anweisung TRCV_C: • Um eine Verbindung herzustellen, ist TRCV_C mit CONT = 1 auszuführen. • Um Daten zu empfangen, führen Sie TRCV_C mit dem Parameter EN_R = 1 aus. TRCV_C empfängt kontinuierlich Daten, wenn die Parameter EN_R = 1 und CONT = 1 sind.
  • Seite 654 Kommunikation 11.5 PROFINET Hinweis Die Daten im Sendebereich müssen konsistent bleiben, bis einer der Parameter DONE oder ERROR den Wert WAHR annimmt. Durch die asynchrone Bearbeitung von TSEND_C müssen die Daten im Sendebereich konsistent bleiben, bis einer der Parameter DONE oder ERROR den Wert WAHR annimmt. Für TSEND_C bedeutet der Status WAHR des Parameters DONE, dass die Daten erfolgreich gesendet wurden.
  • Seite 655 Kommunikation 11.5 PROFINET ERROR STATUS Beschreibung 80A1 Kommunikationsfehler: • Die angegebene Verbindung ist noch nicht hergestellt • Die angegebene Verbindung wird derzeit beendet; Datenübertragung über diese Ver‐ bindung nicht möglich • Schnittstelle wird neu initialisiert 80A3 Es wird versucht, eine nicht vorhandene Verbindung zu beenden 80A4 Die IP-Adresse des entfernten Teilnehmers ist ungültig.
  • Seite 656 Kommunikation 11.5 PROFINET Ethernet-Verbindungsprotokolle Jede CPU hat einen integrierten PROFINET-Anschluss, der die standardmäßige PROFINET- Kommunikation unterstützt. Die Anweisungen TSEND_C und TRCV_C sowie TSEND und TRCV unterstützen alle die Ethernet-Protokolle TCP und ISO on TCP. Weitere Informationen finden Sie unter "Gerätekonfiguration: Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren (Seite 600)".
  • Seite 657 Kommunikation 11.5 PROFINET Verwenden Sie niemals Anweisungen unterschiedlicher Versionen zusammen in einem CPU- Programm. Klicken Sie in der Taskcard mit dem Anweisungsverzeichnis auf das Symbol, um die Überschriften und Spalten im Anweisungsverzeichnis zu aktivieren. Um die Version einer TCON-, TDISCON-, TSEND- oder TRCV-Anweisung zu ändern, wählen Sie die entsprechende Version in der Klappliste aus.
  • Seite 658 Kommunikation 11.5 PROFINET TCON, TDISCON, TSEND und TRCV laufen asynchron ab, so dass die Bearbeitung eines Auftrags mehrere Anweisungsausführungen umfasst. Beispielsweise starten Sie einen Auftrag zum Einrichten und Herstellen einer Verbindung durch die Ausführung von TCON mit Parameter REQ = 1. Dann überwachen Sie den Stand der Auftragsausführung, indem TCON wiederholt ausgeführt wird, und prüfen, ob der Parameter DONE den Abschluss des Auftrags bestätigt.
  • Seite 659 Kommunikation 11.5 PROFINET Tabelle 11-29 Datentypen für die Parameter von TCON und TDISCON Parameter Deklaration Datentyp Beschreibung Bool Startet den Auftrag für den Aufbau der in der ID angegebenen Verbindung bei einer steigenden Flanke. CONN_OUC (Word) Verweis auf die zugewiesene Verbindung. Wertebereich: W#16#0001 bis W#16#0FFF CONNECT IN_OUT...
  • Seite 660 Kommunikation 11.5 PROFINET Wird die Verbindung durch eine Leitungsstörung oder vom entfernten Teilnehmer abgebrochen, so versucht der aktive Teilnehmer, sie wieder aufzubauen. Sie müssen TCON nicht erneut ausführen. Wird die Anweisung TDISCON ausgeführt oder ist die CPU in den Betriebszustand STOP gegangen, so wird die bestehende Verbindung beendet und die eingerichtete Verbindung gelöscht.
  • Seite 661 Kommunikation 11.5 PROFINET ERROR STATUS * Erklärung (W#16#...) 80B6 TCON: Parametrierungsfehler im Parameter ConnectionType des Datenbausteins für die Verbin‐ dungsbeschreibung: • Nur gültig für TCON_IP_V4, TCON_IP_V4_SEC, TCON_QDN, TCON_QDN_SEC: 0x11, 0x0B und 0x13 • Nur gültig für TCON_IP_RFC: 0x0C und 0x12 80B7 TCON: Bei TCON_IP_V4, TCON_IP_V4_SEC, TCON_QDN, TCON_QDN_SEC: •...
  • Seite 662 Kommunikation 11.5 PROFINET ERROR STATUS * Erklärung (W#16#...) 80E1 TCON: Fehler beim Handshake. Mögliche Ursachen: • Abbruch durch den Anwender • Sicherheit ist nicht hoch genug. • Die Anweisung unterstützt die erneute Negotiation nicht. • Die Anweisung unterstützt die Version SSL/TLS nicht. •...
  • Seite 663 Kommunikation 11.5 PROFINET Tabelle 11-31 Anweisungen TSEND und TRCV KOP/FUP Beschreibung "TSEND_DB"( TCP und ISO on TCP: TSEND sendet über eine Kommunikationsverbindung Daten von der CPU req:=_bool_in_, ID:=_word_in_, zu einer Partnerstation. len:=_udint_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_, data:=_variant_inout_); TCP und ISO on TCP: TRCV empfängt über eine "TRCV_DB"( en_r:=_bool_in_, Kommunikationsverbindung Daten von einer...
  • Seite 664 Kommunikation 11.5 PROFINET Parameter und Datentyp Datentyp Beschreibung DONE Bool TSEND: • 0: Auftrag noch nicht gestartet oder läuft noch. • 1: Auftrag fehlerfrei ausgeführt. Bool TRCV: • NDR = 0: Auftrag noch nicht gestartet oder läuft noch. • NDR= 1: Der Auftrag wurde erfolgreich durchgeführt. BUSY Bool •...
  • Seite 665: Funktionsweise Von Trcv

    Kommunikation 11.5 PROFINET Funktionsweise von TRCV Die Anweisung TRCV schreibt die empfangenen Daten in einen Empfangsbereich, der von den folgenden zwei Variablen angegeben wird: • Zeigt auf den Anfang des Bereichs • Länge des Bereichs oder der Wert, der am Eingang LEN bereitgestellt wird, sofern er nicht 0 Hinweis Die Standardeinstellung des Parameters LEN (LEN = 0) ermittelt anhand des Parameters DATA die Länge der zu übertragenden Daten.
  • Seite 666 Kommunikation 11.5 PROFINET Hinweis Ad-hoc-Modus Den Ad-hoc-Modus gibt es nur bei den Protokollvarianten TCP und ISO on TCP. Um die Anweisung TRCV für den Ad-hoc-Modus zu konfigurieren, setzen Sie den Eingangsparameter ADHOC der Anweisung. Der Empfangsbereich ist identisch mit dem von Parameter DATA angegebenen Bereich.
  • Seite 667 Kommunikation 11.5 PROFINET ERROR STATUS Beschreibung 80A1 Kommunikationsfehler: • Die angegebene Verbindung ist noch nicht hergestellt (TSEND und TRCV). • Die angegebene Verbindung wird beendet. Ein Sende- oder Empfangsauftrag ist über diese Verbindung nicht möglich (TSEND und TRCV). • Die Schnittstelle wird neu initialisiert (TSEND). •...
  • Seite 668 Kommunikation 11.5 PROFINET Tritt während der Ausführung ein Fehler auf, wird dies von den Parametern "Error" und "Status" angezeigt. Tabelle 11-35 Datentypen für die Parameter von TCONSettings Parameter und Typ Datentyp Beschreibung Eingang Bool Steuerparameter REQUEST Aktiviert den Auftrag bei einer steigenden Flanke. MODE Eingang USInt...
  • Seite 669: Siehe Auch

    Kommunikation 11.5 PROFINET Die folgende Tabelle zeigt die Beziehung zwischen den Parametern BUSY, DONE und ERROR: BUSY DONE ERROR Beschreibung Auftrag wird bearbeitet. Der Auftrag wurde erfolgreich ausgeführt. Auftrag mit Fehler beendet. Die Fehlerursache wird im Parameter STATUS ausgegeben. Es wurde kein neuer Auftrag zugewiesen. Tabelle 11-36 Bedingungscodes von TCONSettings für Status STATUS (W#16#...) Bedeutung...
  • Seite 670: Verbindungsressource Reservieren

    Kommunikation 11.5 PROFINET Verbindungsressource reservieren Rufen Sie TCONSettings mit MODE = 0 auf. Weisen Sie die relevanten Parameter wie folgt zu: • Geben Sie am Parameter ID den Wert NULL ein. • Wenn Sie für die zugehörige Verbindung keine Eigenschaft angeben möchten, lassen Sie den Parameter OPTION leer.
  • Seite 671 Kommunikation 11.5 PROFINET Eine Eigenschaft einer vorbereiteten oder einer vorhandenen Verbindung lesen Rufen Sie "TCONSettings" mit MODE = 1 auf. Weisen Sie die relevanten Parameter wie folgt zu: • Geben Sie am Parameter ID die Referenz zur gewünschten Verbindung an. •...
  • Seite 672: Konflikte Beim Angeben Von Verbindungseigenschaften

    Kommunikation 11.5 PROFINET Protokoll /Schnittstelle Verbindung beenden Virtuelle CP-Schnittstelle Sie können "TDISCON" nicht für eine konfigurierte Verbindung aufrufen. Deshalb gibt es keine Möglichkeit, die Verbindung ordnungsgemäß zu beenden. UDP ist auf Protokollebene verbindungslos, deshalb ist keine Beendigung notwendig. Konflikte beim Angeben von Verbindungseigenschaften Jede vordefinierbare Verbindungseigenschaft ist nur für spezifische Protokolle oder Schnittstellen zulässig.
  • Seite 673 Kommunikation 11.5 PROFINET Hinweis TCP-Verbindung beim Übergang in STOP beenden Während eines Wechsels in STOP wird eine TCP-Verbindung immer mit einem TCP-Reset beendet. SDT für Verbindungsbeendigung: TCON_TCPTermination Der SDT für die Beendigung der Verbindung hat die folgende Struktur: Parameter Datentyp Startwert Beschreibung GracefulShut‐...
  • Seite 674 Kommunikation 11.5 PROFINET Wenn Sie eine TCON-, TDISCON-, TSEND- oder TRCV-Anweisung über das Anweisungsverzeichnis in Ihr Programm platzieren, wird je nach der ausgewählten TCON-, TDISCON-, TSEND- oder TRCV-Anweisung eine neue FB- oder FC-Instanz in der Projektnavigation angelegt. Die neue FB- oder FC-Instanz finden Sie in der Projektnavigation unter PLC_x > Programmbausteine >...
  • Seite 675 Kommunikation 11.5 PROFINET Die folgende Tabelle zeigt die Beziehungen zwischen BUSY, DONE und ERROR. Den aktuellen Status eines Auftrags können Sie anhand der Tabelle feststellen: Tabelle 11-37 Interaktionen zwischen den Parametern BUSY, DONE und ERROR BUSY DONE ERROR Beschreibung WAHR Irrelevant Irrelevant Auftrag wird bearbeitet.
  • Seite 676 Kommunikation 11.5 PROFINET Tabelle 11-39 Datentypen für die Parameter von TCON und TDISCON Parameter und Datentyp Datentyp Beschreibung Bool Steuerparameter REQ startet den Auftrag durch Herstellung der von ID angegebenen Verbindung. Der Auftrag beginnt mit einer steigenden Flanke. CONN_OUC (Word) Verweis auf die Verbindung, die mit dem entfernten Teilneh‐...
  • Seite 677 Kommunikation 11.5 PROFINET ERROR STATUS Beschreibung 8087 TCON: Maximale Anzahl Verbindungen erreicht; keine weitere Verbindung möglich. 809B TCON: local_device_id in der Verbindungsbeschreibung stimmt nicht mit der CPU überein. 80A1 TCON: Verbindung oder Port ist vom Anwender belegt. 80A2 TCON: Lokaler oder entfernter Port ist vom System belegt. 80A3 Es wird versucht, eine vorhandene Verbindung erneut aufzubauen (TCON) oder eine nicht vorhandene Verbindung zu beenden (TDISCON).
  • Seite 678 Kommunikation 11.5 PROFINET TSEND und TRCV Hinweis Wenn Sie in der offenen Benutzerkommunikation über PROFINET eine Anweisung TSEND ohne die entsprechende Anweisung TRCV auf dem Remote-Gerät ausführen, kann es passieren, dass die Anweisung TSEND auf unbestimmte Zeit im Zustand "Busy" bleibt und darauf wartet, dass die Anweisung TRCV die Daten empfängt.
  • Seite 679 Kommunikation 11.5 PROFINET Parameter und Datentyp Datentyp Beschreibung UInt Maximale Bytezahl, die gesendet (TSEND) oder empfangen (TRCV) werden soll: • Standard = 0: Der Parameter DATA legt die Länge der zu senden‐ den (TSEND) oder zu empfangenden (TRCV) Daten fest. •...
  • Seite 680 Kommunikation 11.5 PROFINET Funktionsweise von TRCV Die Anweisung TRCV schreibt die empfangenen Daten in einen Empfangsbereich, der von den folgenden zwei Variablen angegeben wird: • Zeigt auf den Anfang des Bereichs • Länge des Bereichs oder der Wert, der am Eingang LEN bereitgestellt wird, sofern er nicht 0 Hinweis Die Standardeinstellung des Parameters LEN (LEN = 0) ermittelt anhand des Parameters DATA die Länge der zu übertragenden Daten.
  • Seite 681 Kommunikation 11.5 PROFINET Hinweis Ad-hoc-Modus Den Ad-hoc-Modus gibt es nur bei den Protokollvarianten TCP und ISO on TCP. Den Ad-hoc- Modus stellen Sie ein, indem Sie dem Parameter LEN den Wert 65535 zuweisen. Der Empfangsbereich ist identisch mit dem von Parameter DATA angegebenen Bereich. Die Länge der empfangenen Daten wird an den Parameter RCVD_LEN ausgegeben.
  • Seite 682: Ethernet-Verbindungsprotokolle

    Kommunikation 11.5 PROFINET ERROR STATUS Beschreibung 80A1 Kommunikationsfehler: • Die angegebene Verbindung ist noch nicht hergestellt (TSEND und TRCV). • Die angegebene Verbindung wird beendet. Ein Sende- oder Empfangsauftrag ist über diese Verbindung nicht möglich (TSEND und TRCV). • Die Schnittstelle wird neu initialisiert (TSEND). •...
  • Seite 683 Kommunikation 11.5 PROFINET Modus mit TCP, da auf diese Verbindungen nicht mit einer Verbindungs-ID verwiesen werden kann. Wenn die Anweisung "T_RESET" mit dem Parameter REQ aufgerufen wurde, wird die mit dem Parameter ID angegebene Verbindung beendet und, falls erforderlich, der Sende- und Empfangspuffer für die Daten gelöscht.
  • Seite 684: Mögliche Verbindungsinformationen

    Kommunikation 11.5 PROFINET Parameter STATUS Fehlerbit STATUS* Beschreibung (W#16#... 0000 Kein Fehler. 0001 Verbindung nicht aufgebaut. 7001 Verbindungsabbau gestartet. 7002 Verbindung wird beendet. 8081 Unbekannte Verbindung an Parameter ID angegeben. 11.5.8.15 Anweisung T_DIAG (Status einer Verbindung prüfen und Informationen lesen) Die Anweisung T_DIAG prüft den Status einer Verbindung und liest weitere Informationen auf dem lokalen Endpunkt dieser Verbindung: Tabelle 11-45 Anweisung T_DIAG...
  • Seite 685 Kommunikation 11.5 PROFINET Die Struktur und Parameter der TDiag_Status-Struktur werden nachstehend beschrieben (siehe Tabelle zur Struktur TDIAG_Status). Datentypen für die Parameter Die folgende Tabelle zeigt die Parameter der Anweisung T_DIAG: Parameter Deklaration Datentyp Speicherbereich Beschreibung Input BOOL E, A, M, D, L, T, C oder Startet die Anweisung zum Prüfen der im Para‐...
  • Seite 686 Kommunikation 11.5 PROFINET Parameter STATUS Die folgende Tabelle zeigt die Bedeutung der Werte am Parameter STATUS: Fehlerbit STATUS* Beschreibung (W#16#... 0000 Die Anweisung T_DIAG wurde erfolgreich ausgeführt. Die Daten in der am Parameter RESULT ange‐ gebenen Struktur können ausgewertet werden. 7000 Keine Anweisungsbearbeitung aktiv.
  • Seite 687 Kommunikation 11.5 PROFINET Name Datentyp Beschreibung ConnectionType BYTE Für die Verbindung verwendeter Protokolltyp: • 0x01: Nicht verwendet. • • 0x0B: TCP-Protokoll (IP_v4) • 0x0C: ISO-on-TCP-Protokoll (RFC1006) • 0x0D: TCP-Protokoll (DNS) • 0x0E: Wählprotokoll • 0x0F: WDC-Protokoll • 0x10: SMTP-Protokoll • 0x11: TCP-Protokoll •...
  • Seite 688 Kommunikation 11.5 PROFINET Name Datentyp Beschreibung Kind BYTE Modus des Verbindungsendpunkts: • 0x00: Nicht verwendet. • 0x01: Konfigurierte statische Verbindung, die konfiguriert und in die CPU geladen wurde. • 0x02: Konfigurierte dynamische Verbindung, die konfiguriert und in die CPU gela‐ den wurde (wird derzeit nicht unterstützt).
  • Seite 689: Funktionsweise Der Anweisung

    Kommunikation 11.5 PROFINET Tabelle 11-46 Anweisung TMAIL_C KOP/FUP Beschreibung "TMAIL_C_DB"( Mit der Anweisung TMAIL_C kön‐ nen Sie eine E-Mail über die Ether‐ req:=_bool_in_, to_s:=_string_in_, net-Schnittstelle der S7-1200 CPU senden. cc:=_string_in_, subject:=_string_in_, text:=_string_in_, attachment:=_variant_in_, attachment_name:=_string_in_, mail_addr_param:=_string_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_); STEP 7 erstellt automatisch den DB, wenn Sie die Anweisung einfügen. Den Inhalt der E-Mail und die Verbindungsdaten legen Sie mit den folgenden Parametern fest: •...
  • Seite 690: Smtp-Authentifizierung

    Kommunikation 11.5 PROFINET In den folgenden Fällen wird die Verbindung zum Mailserver abgebrochen: • Wenn die CPU in den Betriebszustand STOP geht, während TMAIL_C aktiv ist. • Wenn Kommunikationsprobleme auf dem Industrial Ethernet-Bus auftreten. In diesem Fall wird das Senden der E-Mail unterbrochen und die E-Mail erreicht den Empfänger nicht.
  • Seite 691 Kommunikation 11.5 PROFINET Informationen zum Authentifizierungsverfahren Ihres Mailservers finden Sie im Handbuch zu Ihrem Mailserver oder auf der Website Ihres Internet-Dienstanbieters. • Bevor Sie das Authentifizierungsverfahren AUTH-LOGIN nutzen können, benötigt die Anweisung TMAIL_C den Benutzernamen, mit dem sie sich beim Mailserver anmelden soll. Dieser Benutzername ist der gleiche, mit dem Sie einen Mail-Account auf Ihrem Mailserver einrichten.
  • Seite 692 Kommunikation 11.5 PROFINET Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich ATTACHMENT Input VARIANT E-Mail-Anhang (optional) Verweis auf ein Zeichen/Byte/Wort/ Doppelwort/Zeichenketten-Feld (Array‐ OfChar, ArrayOfByte, ArrayOfWord, Ar‐ rayOfDWord, or String) mit einer maxi‐ malen Länge von 64 Byte. Hinweis: Wenn Sie am Parameter AT‐ TACHMENT keinen Wert oder eine leere Zeichenkette zuweisen, sendet die An‐...
  • Seite 693 Kommunikation 11.5 PROFINET Parameter Deklaration Datentyp Speicherbe‐ Beschreibung reich BUSY (Sei‐ Output BOOL E, A, M, D, L Statusparameter te 702) • BUSY = 0: Die Verarbeitung von TMAIL_C wurde angehalten. • BUSY = 1: Die Übertragung der E- Mail ist noch nicht beendet. ERROR (Sei‐...
  • Seite 694 Kommunikation 11.5 PROFINET TMail_V4: Adressierung des Mailservers über IP-Adresse (IPv4) Parameter Datentyp Beschreibung TMail_v4 Struct InterfaceId LADDR Hardware-Kennung der Ethernet-Schnittstelle CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#20 als Verbindungstyp für IPv4. ActiveEstablished BOOL Aktiver/passiver Verbindungsaufbau. Die CPU ist immer der SMTP-Client.
  • Seite 695 Kommunikation 11.5 PROFINET TMail_V6: Adressierung des Mailservers über IP-Adresse (IPv6) Parameter Datentyp Beschreibung TMail_V6 Struct InterfaceId LADDR Hardwarekennung der Schnittstelle CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#21 als Verbindungstyp für IPv6. ActiveEstablished BOOL Statusbit. Wird auf "1" gesetzt, sobald die Verbindung herge‐ stellt ist.
  • Seite 696 Kommunikation 11.5 PROFINET TMail_FQDN : Adressierung des Mailservers überFQDN Parameter Datentyp Beschreibung TMail_FQDN Struct InterfaceId LADDR Hardware-Kennung der Ethernet-Schnittstelle CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#22 als Verbindungstyp für FQDN. ActiveEstablished BOOL Aktiver/passiver Verbindungsaufbau. Ein Kommunikations‐ prozessor (CP) ist immer der SMTP-Client. CertIndex BYTE = 0: SMTP wird verwendet (Simple Mail Transfer Protocol).
  • Seite 697 Kommunikation 11.5 PROFINET TMail_V4_SEC: Adressierung des Mailservers über IP-Adresse (IPv4) Parameter Datentyp Beschreibung TMail_V4_SEC Struct InterfaceId LADDR Hardware-Kennung des Wertebereichs der Ethernet-Schnitt‐ stelle: • 0 (neu): Das Betriebssystem wählt selbst einen geeigne‐ ten integrierten Port aus. • Hardware-Kennung des zu verwendenden integrierten Ports.
  • Seite 698 Kommunikation 11.5 PROFINET Parameter Datentyp Beschreibung LocalPartPlusAt‐ STRING[64] Lokaler Bestandteil der Absenderadresse, einschließlich @- Sign Zeichen. Beispiel: "myname@" FullQualifiedDo‐ STRING[254] Vollqualifizierter Domänenname (Abkürzung FQDN) des Mail‐ mainName servers. Beispiel: "mymailserver.com" RemotePort UINT TCP-Port des Mailservers ActivateSecureConn BOOL 0: SMTP-Verbindung (nicht gesichert). In diesem Fall sind die folgenden Parameter irrelevant.
  • Seite 699 Kommunikation 11.5 PROFINET TMail_V6_SEC: Adressierung des Mailservers über die IP-Adresse im IPv6-Format Parameter Datentyp Beschreibung TMail_V6_SEC Struct InterfaceId LADDR Hardware-Kennung der Ethernet-Schnittstel‐ CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#21 als Ver‐ bindungstyp für IPv6. ActiveEstablishment BOOL Aktiver/passiver Verbindungsaufbau. Da der CP stets der SMTP-Client ist, muss dieser Pa‐...
  • Seite 700 Kommunikation 11.5 PROFINET Parameter Datentyp Beschreibung RemotePort UINT TCP-TCP-Port des Mailservers ActivateSecureConn BOOL 0: SMTP-Verbindung (nicht gesichert). In die‐ sem Fall sind die folgenden Parameter irrele‐ vant. 1: Sichere SMTP-Verbindung ExtTLSCapabilities BYTE Derzeit nicht verwendet TLSServerCertRef UDINT Verweis auf das Zertifikat X.509 V3 (CA) des Mailservers, mit dem der TLS-Client die Au‐...
  • Seite 701 Kommunikation 11.5 PROFINET TMail_QDN_SEC: Adressierung des Mailservers überFQDN Parameter Datentyp Beschreibung TMail_QDN_SEC Struct InterfaceId LADDR Hardware-Kennung des Wertebereichs der Ethernet-Schnitt‐ stelle: • 0 (neu): Das Betriebssystem wählt selbst einen geeigne‐ ten integrierten Port aus. • Hardware-Kennung des zu verwendenden integrierten Ports.
  • Seite 702 Kommunikation 11.5 PROFINET Parameter Datentyp Beschreibung LocalPartPlusAt‐ STRING[64] Lokaler Teil der Absenderadresse einschließlich @-Zeichen. Sign Beispiel: "myname@" FullQualifiedDo‐ STRING[254] Vollqualifizierter Domänenname (Abkürzung FQDN) des Mail‐ mainName servers. Beispiel: "mymailserver.com" RemotePort UINT TCP-Port des Mailservers ActivateSecureConn BOOL 0: SMTP-Verbindung (nicht gesichert). In diesem Fall sind die folgenden Parameter irrelevant.
  • Seite 703 Kommunikation 11.5 PROFINET Die folgende Tabelle zeigt die Beziehungen zwischen DONE, BUSY und ERROR. Mithilfe dieser Tabelle können Sie den aktuellen Zustand der Anweisung TMAIL_C ermitteln und den Zeitpunkt feststellen, zu dem der Sendevorgang der E-Mail beendet ist. DONE BUSY ERROR Beschreibung Auftrag wird bearbeitet.
  • Seite 704 Kommunikation 11.5 PROFINET Bei der Anweisung TMAIL_C können zur Adressierung des Parameters DirectoryPath nur die Verzeichnisse DataLogs, Recipes oder UserFiles verwendet werden. Innerhalb dieser Verzeichnisse können Sie Unterverzeichnisse adressieren. Über die oben genannte Beschränkung auf das Basisverzeichnis hinaus werden im nachfolgenden Abschnitt "Regeln für die Adressierung von Dateien"...
  • Seite 705 Kommunikation 11.5 PROFINET DirectoryPath Beachten Sie bei Eingabe des gewünschten Verzeichnisses in den Parameter DirectoryPath des SDT die folgenden Hinweise. Das Stammverzeichnis wird durch die Firmwarelogik der PLC abgeleitet, sie brauchen es nicht zu kennen. Sie können optional einen führenden und einen nachfolgenden Schrägstrich (/) eingeben.
  • Seite 706 Kommunikation 11.5 PROFINET Fehlercodes Parameter STATUS Die folgende Tabelle zeigt die Rückgabewerte von TMAIL_C am Parameter STATUS: Rückgabe‐ Bedeutung Hinweise wert STATUS* (W#16#...): 0000 Die Ausführung von TMAIL_C wurde Die fehlerfreie Beendigung von TMAIL_C bedeu‐ fehlerfrei beendet. tet nicht, dass die gesendete E-Mail tatsächlich ankommt.
  • Seite 707 Kommunikation 11.5 PROFINET Rückgabe‐ Bedeutung Hinweise wert STATUS* (W#16#...): 8013 Fehler beim Verbindungsaufbau Nähere Informationen zur Auswertung enthält der Parameter SFB_STATUS des Instanzdaten‐ bausteins. Der am Parameter SFB_STATUS ange‐ zeigte Fehlercode wird in der Beschreibung des Parameters STATUS für die Anweisungen TCON (Seite 657) und TDISCON (Seite 657) erläutert.
  • Seite 708 Kommunikation 11.5 PROFINET Rückgabe‐ Bedeutung Hinweise wert STATUS* (W#16#...): 8501 Syntaxfehler: Falsche Eingabe an ei‐ Mögliche Ursache: Falsche Adresse in Parameter nem Parameter TO_S oder CC (siehe auch: Parameter TO_S und CC (Seite 702)). 8502 Befehl ist unbekannt oder nicht imple‐ Prüfen Sie Ihre Eingaben, insbesondere den Pa‐...
  • Seite 709 Kommunikation 11.5 PROFINET Rückgabewerte am Parameter Bedeutung SFB_STATUS des Instanz-DB (W#16#...) 808B * Der FileName enthält eine unzulässige Zeichenkette oder wurde leer gelassen. Weitere Informationen finden Sie unter FileName (Seite 703). 808C * Der Parameter AttachmentName muss bei der Adressierung ei‐ nes Dateipfads als Anhang leer sein.
  • Seite 710 Kommunikation 11.5 PROFINET Rückgabewerte am Parameter Bedeutung SFB_STATUS des Instanz-DB (W#16#...) 80D0 Der Parameter MailServerAddress enthält bei Verwendung von DNS eine leere Zeichenkette. 80D1 Der Parameter MailServerAddress ist kein vollqualifizierter Do‐ mänenname. Möglicherweise fehlt der Punkt am Ende. 80D2 Sie haben keine DNS-Serveradresse konfiguriert. 80D3 Der vollqualifizierte Domänenname (FQDN) konnte nicht aufge‐...
  • Seite 711 Kommunikation 11.5 PROFINET * Diese Fehlercodes werden bei nicht ordnungsgemäßer Adressierung des Dateipfads der Anweisung TMAIL_C hinzugefügt, um die Diagnose zu erleichtern. 11.5.8.17 UDP ist ein im RFC 768 beschriebenes Standardprotokoll und steht für User Datagram Protocol. UDP bietet ein Verfahren, damit eine Anwendung ein Datengramm zu einer anderen Anwendung senden kann.
  • Seite 712 Kommunikation 11.5 PROFINET Weitere Informationen zu den Kommunikationsanweisungen TCON und TDISCON finden Sie im Abschnitt "TCP und ISO-on-TCP" unter TCON, TDISCON, TSEND und TRCV (Seite 657). Tabelle 11-47 Anweisungen TUSEND und TURCV KOP/FUP Beschreibung Die Anweisung TUSEND sendet Daten über UDP an "TUSEND_DB"( req:=_bool_in_, den entfernten Partner, der vom Parameter ADDR...
  • Seite 713 Kommunikation 11.5 PROFINET Parameter und Datentyp Datentyp Beschreibung DONE Bool Statusparameter DONE (TUSEND): (TUSEND) • 0: Auftrag noch nicht gestartet oder läuft noch. • 1: Auftrag fehlerfrei ausgeführt. Bool Statusparameter NDR (TURCV): (TURCV) • 0: Auftrag noch nicht gestartet oder läuft noch. •...
  • Seite 714 Kommunikation 11.5 PROFINET BUSY DONE / NDR ERROR Beschreibung FALSCH FALSCH WAHR Auftrag mit Fehler beendet. Die Fehlerursache ist im Parameter STATUS hinterlegt. FALSCH FALSCH FALSCH Der Anweisung wurde kein (neuer) Auftrag zugewiesen. Wegen der asynchronen Funktion der Anweisungen: Bei TUSEND müssen die Daten im Sendebereich konsistent bleiben, bis einer der Parameter DONE oder ERROR den Wert WAHR annimmt.
  • Seite 715: Betrieb

    Kommunikation 11.5 PROFINET ERROR STATUS Beschreibung 80C3 • Ein Baustein mit dieser ID wird bereits in einer anderen Prioritätsklasse bearbeitet. • Interner Mangel an Ressourcen 80C4 Temporärer Kommunikationsfehler: • Die Verbindung zwischen dem Anwenderprogramm und der Kommunikationsschicht des Betriebssystems kann derzeit nicht hergestellt werden (TUSEND). •...
  • Seite 716 Kommunikation 11.5 PROFINET Die Anweisung TUSEND sendet Daten über UDP an den entfernten Partner, der vom Datentyp TADDR_Param angegeben wird. Die Anweisung TURCV empfängt Daten über UDP. Nach erfolgreicher Ausführung der Anweisung TURCV zeigt der Datentyp "TADDR_Param" Ihnen die Adresse des entfernten Partners (des Senders) an. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 717 Kommunikation 11.5 PROFINET 11.5.8.19 T_CONFIG Die Anweisung T_CONFIG kann die Ethernet-Adresse, den PROFINET-Gerätenamen oder die IP- Adressen der NTP-Server für die Uhrzeitsynchronisation durch das Anwenderprogramm ändern. Die folgenden Funktionen können dauerhaft oder temporär angepasst werden: • IP-Adresse • Subnetzmaske • Router-Adresse •...
  • Seite 718 Kommunikation 11.5 PROFINET Tabelle 11-52 T_CONFIG-Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Input Bool Startet die Anweisung an der steigenden Flanke. INTERFACE Input HW_Interface ID der Netzwerkschnittstelle CONF_DATA Input Variant Verweis auf die Struktur der Konfigurationsdaten; CONF_DA‐ TA ist über eine Struktur mit bis zu vier Systemdatentypen (SDT) festgelegt.
  • Seite 719 Kommunikation 11.5 PROFINET In der folgenden Tabelle werden die möglichen Wert für die Parameter STATUS und ERR_LOC gezeigt: STATUS* ERR_LOC* Bedeutung 0000_0000 0000_0000 Auftragsbearbeitung fehlerfrei durchgeführt. 0070_0000 0000_0000 Keine laufende Auftragsbearbeitung. 0070_0100 0000_0000 Beginn der Auftragsbearbeitung. 0070_0200 0000_0000 Zwischenzeitlicher Aufruf (REQ irrelevant). C08x_yy00 0000_0000 Allgemeine Fehlerinformationen.
  • Seite 720 Kommunikation 11.5 PROFINET STATUS* ERR_LOC* Bedeutung C080_9400 0001_000x Fehler im Systemdatentyp IF_CONF_V4, IF_CONF_NOS oder IF_CONF_NTP: Ein Parameterwert ist nicht festgelegt oder ungültig. C080_9500 0001_000x Fehler im Systemdatentyp IF_CONF_V4, IF_CONF_NOS oder IF_CONF_NTP: Die Werte von zwei Parametern sind inkonsistent. C080_C200 0000_0000 Fehler bei Aufruf der Anweisung: Die Konfigurationsdaten können nicht übertragen werden.
  • Seite 721 Kommunikation 11.5 PROFINET Jedes Unterfeld besteht aus einem Header (subfield_type_id, subfield_length, subfield_mode) und den unterfeldspezifischen Parametern. Jedes Unterfeld muss eine gerade Anzahl von Bytes umfassen. subfield_mode kann die Werte 1 und 2 unterstützen (siehe folgende Tabellen). Hinweis Derzeit ist nur ein Feld (IF_CONF_Header) zulässig. Dessen Parameter field_type_id und field_id müssen den Wert 0 haben.
  • Seite 722 Kommunikation 11.5 PROFINET Tabelle 11-55 Elemente des Datentyps IF_CONF_NOS Name Datentyp Startwert Beschreibung UInt subfield_type_id Length UInt subfield_length Mode UInt subfield_mode (1: Dauerhaft oder 2: Temporär) NOS (Name of sta‐ Array[1..240] of Byte Stationsname: Sie müssen das ARRAY ab dem ersten Byte bele‐ tion) gen.
  • Seite 723: Startwert Beschreibung

    Kommunikation 11.5 PROFINET Name Datentyp Startwert Beschreibung ADDR[1] Byte High Byte der IP-Adresse ADDR[2] Byte High Byte der IP-Adresse ADDR[3] Byte Low Byte der IP-Adresse ADDR[4] Byte Low Byte der IP-Adresse NTP_IP[3] IP_V4 IP-Adressen von NTP-Server 3 ADDR Array[1...4] of Byte ADDR[1] Byte High Byte der IP-Adresse...
  • Seite 724 Kommunikation 11.5 PROFINET Beispiel: IP-Parameter und PROFINET IO-Gerätenamen mit Anweisung T_CONFIG ändern Im folgenden Beispiel werden beide Unterfelder "addr" und "nos" (Name of station) geändert. Auf der Seite "Ethernet-Adresse" in den "Eigenschaften" der CPU können Sie über das Optionsfeld "PROFINET-Gerätename wird direkt am Gerät eingestellt" den PROFINET-Gerätenamen über die Anweisung "T_CONFIG"...
  • Seite 725 Kommunikation 11.5 PROFINET Beispiel: Ändern von IP-Adressen in den NTP-Servern über die Anweisung T_CONFIG Im folgenden Beispiel ändert die Anweisung T_CONFIG im Unterfeld "ntp" (Network-Time- Protocol-Server (NTP)) die IP-Adressen von bis zu vier NTP-Servern. Auf der Seite "Uhrzeitsynchronisation" in den "Eigenschaften" der CPU, PROFINET-Schnittstelle [X1], konfigurieren Sie die NTP-Synchronisation durch Aktivieren des Kontrollkästchens "Uhrzeitsynchronisation über NTP-Server aktivieren"...
  • Seite 726 Kommunikation 11.5 PROFINET S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 727: Gemeinsame Parameter Für Anweisungen

    Kommunikation 11.5 PROFINET 11.5.8.20 Gemeinsame Parameter für Anweisungen Eingangsparameter REQ Viele der Anweisungen für die offene Benutzerkommunikation haben einen Eingang REQ, der die Anweisung bei einer steigenden Flanke (0 nach 1) initiiert. Der Eingang REQ muss während der Ausführung einer Anweisung 1 (WAHR) sein, doch der Eingang REQ kann so lange wie gewünscht WAHR bleiben.
  • Seite 728: Kommunikation Mit Einem Programmiergerät

    Kommunikation 11.5 PROFINET Parameter Datentyp Standard Beschreibung ERROR Bool FALSCH Wird eine Ausführung lang auf WAHR gesetzt, um anzuzeigen, dass die letzte Anforderung mit Fehlern abgeschlossen wurde, der ent‐ sprechende Fehlercode befindet sich in STATUS; andernfalls FALSCH. STATUS Word Ergebniszustand: •...
  • Seite 729: Hardware-Kommunikationsverbindung Herstellen

    Kommunikation 11.5 PROFINET Berücksichtigen Sie beim Einrichten der Kommunikation zwischen einer CPU und einem Programmiergerät Folgendes: • Konfiguration/Setup: Eine Hardwarekonfiguration ist erforderlich. • Für die Kommunikation zwischen zwei Teilnehmern ist kein Ethernet-Switch erforderlich; erst wenn mehr als zwei Geräte in einem Netzwerk vorhanden sind, wird ein Ethernet-Switch benötigt.
  • Seite 730: Ip-Adressen Zuweisen

    Kommunikation 11.5 PROFINET 11.5.9.3 IP-Adressen zuweisen IP-Adressen zuweisen In einem PROFINET-Netzwerk benötigt jedes Gerät außerdem eine IP-Adresse (Internet-Protocol- Adresse). Mit Hilfe dieser Adresse kann ein Gerät Daten über ein komplexeres Netzwerk liefern: • Wenn Sie Programmier- oder andere Netzwerkgeräte nutzen, die eine integrierte Adapterkarte mit Anschluss an Ihr Anlagen-LAN oder eine Ethernet-USB-Adapterkarte mit Anschluss an ein getrenntes Netzwerk verwenden, müssen diesen Geräten IP-Adressen zugewiesen werden.
  • Seite 731: Kommunikation Hmi/Plc

    Kommunikation 11.5 PROFINET 11.5.10 Kommunikation HMI/PLC Die CPU unterstützt PROFINET-Kommunikati‐ onsverbindungen mit HMIs (Seite 32). Zum Einrichten der Kommunikation zwischen CPUs und HMIs müssen die folgenden Bedingungen erfüllt sein: Konfiguration/Setup: • Der PROFINET-Port der CPU muss für die Verbindung mit der HMI konfiguriert sein. •...
  • Seite 732: Konfigurieren Der Logischen Netzwerkverbindungen Zwischen Zwei Geräten

    Kommunikation 11.5 PROFINET Schritt Aufgabenstellung IP-Adresse in Ihrem Projekt konfigurieren Gehen Sie auf dieselbe Weise vor. Sie müssen jedoch die IP-Adressen für die HMI und die CPU konfigurieren. Weitere Informationen finden Sie unter "Gerätekonfiguration: IP-Adresse für eine CPU in Ihrem Projekt konfi‐ gurieren"...
  • Seite 733 Kommunikation 11.5 PROFINET Tabelle 11-59 Erforderliche Schritte zum Konfigurieren der Kommunikation zwischen zwei CPUs Schritt Aufgabenstellung Hardware-Kommunikationsverbindung herstellen Eine PROFINET-Schnittstelle stellt die physische Verbindung zwischen zwei CPUs her. Da in der CPU die Auto- Cross-Over-Funktionalität implementiert ist, kann für die Schnittstelle ein Standard- oder Crossover-Ethernet- Kabel verwendet werden.
  • Seite 734: Verbindungspfad Zwischen Lokaler Und Partner-Cpu Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.11.2 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren Allgemeine Parameter konfigurieren Sie legen die Kommunikationsparameter im Dialog "Eigenschaften" der Kommunikationsanweisung fest. Dieser Dialog wird am unteren Ende der Seite angezeigt, wenn Sie einen Teil der Anweisung selektiert haben. Weitere Informationen finden Sie unter "Gerätekonfiguration: Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren (Seite 600)".
  • Seite 735 Kommunikation 11.5 PROFINET Sie können den Ein- und Ausgängen Speicherplätze im Variablenspeicher zuweisen. Dies wird in der folgenden Abbildung gezeigt: Allgemeine Parameter konfigurieren Sie können die Parameter im Dialog "Eigenschaften" der Anweisung TSEND_C festlegen. Dieser Dialog wird am unteren Ende der Seite angezeigt, wenn Sie einen Teil der Anweisung TSEND_C selektiert haben.
  • Seite 736 Kommunikation 11.5 PROFINET Sie können den Ein- und Ausgängen Speicherplätze im Variablenspeicher zuweisen. Dies wird in der folgenden Abbildung gezeigt: Allgemeine Parameter konfigurieren Sie können die Parameter im Dialog "Eigenschaften" der Anweisung TRCV_C festlegen. Dieser Dialog wird am unteren Ende der Seite angezeigt, wenn Sie einen Teil der Anweisung TRCV_C selektiert haben.
  • Seite 737: Cpu Und Profinet Io-Gerät Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.12 CPU und PROFINET IO-Gerät konfigurieren 11.5.12.1 PROFINET IO-Gerät hinzufügen PROFINET IO-Device hinzufügen Verwenden Sie im Portal "Geräte & Netze" den Hardwarekatalog, um PROFINET IO-Devices hinzuzufügen. Hinweis Um ein PROFINET IO-Device hinzuzufügen, können Sie STEP 7 Professional oder Basic ab V11 verwenden.
  • Seite 738 Kommunikation 11.5 PROFINET 11.5.12.2 CPUs und Gerätenamen zuweisen CPUs und Gerätenamen zuweisen Netzwerkverbindungen zwischen den Geräten weisen auch das PROFINET IO-Device der CPU zu, was erforderlich ist, damit die CPU das Gerät steuern kann. Um diese Zuweisung zu ändern, klicken Sie auf den PLC-Namen, der auf dem PROFINET IO-Device angezeigt wird. Daraufhin wird ein Dialog geöffnet, in dem Sie das PROFINET IO-Device von der aktuellen CPU trennen und neu zuweisen oder auch ohne Zuweisung lassen können.
  • Seite 739: Io-Zykluszeit Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.12.4 IO-Zykluszeit konfigurieren IO-Zykluszeit konfigurieren Ein PROFINET IO-Device wird innerhalb des Zeitraums "IO-Zyklus" von der CPU mit neuen Daten versorgt. Die Aktualisierungszeit kann für jedes Gerät separat konfiguriert werden und legt den Zeitraum fest, in dem Daten von der CPU zum und vom Gerät übertragen werden. STEP 7 berechnet die Aktualisierungszeit für den "IO-Zyklus"...
  • Seite 740: Cpu Und Profinet I-Device Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.13 CPU und PROFINET I-Device konfigurieren 11.5.13.1 I-Device-Funktionalität Die Funktion "I-Device" (intelligentes IO-Gerät) der CPU erleichtert den Datenaustausch mit einem IO-Controller und den Betrieb der CPU z. B. als intelligente Vorverarbeitungseinheit für Teilprozesse. Das I-Device ist als IO-Gerät mit einem übergeordneten IO-Controller verbunden. Die Vorverarbeitung erfolgt durch das Anwenderprogramm der CPU.
  • Seite 741 Kommunikation 11.5 PROFINET 11.5.13.2 Eigenschaften und Vorteile des I-Device Einsatzbereiche Einsatzbereiche für ein I-Device: • Dezentrale Verarbeitung: Komplexe Automatisierungsaufgaben können in kleinere Teilanlagen/Teilprozesse aufgeteilt werden. Die Prozesse werden somit handlicher und die Teilaufgaben vereinfacht. • Abtrennen von Teilprozessen: Komplexe, weit verteilte und umfangreiche Prozesse können mit I-Devices in mehrere Teilprozesse mit schlankeren Schnittstellen aufgeteilt werden Die Teilprozesse können bei Bedarf in einzelnen STEP 7-Projekten gespeichert werden, die später in einem Hauptprojekt zusammengeführt werden können.
  • Seite 742: I-Device Ohne Untergeordnetes Profinet Io-System

    Kommunikation 11.5 PROFINET I-Device ohne untergeordnetes PROFINET IO-System Ein I-Device hat keine eigene dezentrale Peripherie. Die Konfiguration und Parametrierung eines I-Device als IO-Gerät sind die gleichen wie bei einem dezentralen E/A-System (zum Beispiel ET 200). I-Device mit untergeordnetem PROFINET IO-System Je nach Konfiguration kann ein I-Device zusätzlich zu seiner Funktion als IO-Gerät auch als IO- Controller an einer PROFINET-Schnittstelle genutzt werden.
  • Seite 743 Kommunikation 11.5 PROFINET S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 744: Datenaustausch Zwischen Über- Und Untergeordnetem E/A-System

    Kommunikation 11.5 PROFINET Beispiel: I-Device als IO-Gerät und IO-Controller Der Funktionsablauf eines I-Device als IO-Gerät und IO-Controller wird hier am Beispiel eines Druckprozesses erklärt. Das I-Device steuert eine Teilanlage (einen Teilprozess). Eine von mehreren Teilanlagen wird beispielsweise verwendet, um zusätzliche Blätter wie Flyer oder Broschüren in ein Paket mit Druckerzeugnissen einzufügen.
  • Seite 745 Kommunikation 11.5 PROFINET Sie können Ihr System entsprechend konfigurieren, um diese Bedingung für den allgemeinen Fall des I-Device (nicht freigegebenes I-Device) zu vermeiden. Hierfür löschen Sie die Transferbereiche der Eingänge für das I-Device in einem OB für Baugruppenträger- oder Stationsausfall für ein kommendes Ereignis. Gehen Sie wie folgt vor: 1.
  • Seite 746 Kommunikation 11.5 PROFINET Datenaustausch Die nächste Abbildung zeigt den Datenaustausch zwischen über- und untergeordnetem E/A- System. Die einzelnen Kommunikationsbeziehungen sind nachstehend anhand von Nummern erläutert: ① Datenaustausch zwischen übergeordnetem IO-Controller und normalem IO-Gerät Der IO-Controller und die IO-Geräte tauschen Daten überPROFINET aus. ②...
  • Seite 747: I-Device Konfigurieren

    Kommunikation 11.5 PROFINET ③ Transferbeziehung zwischen Anwenderprogramm und Transferbereich Es werden Ein- und Ausgangsdaten zwischen Anwenderprogramm und Transferbereich ausge‐ tauscht. ④ Datenaustausch zwischen Anwenderprogramm und E/A des I-Device Es werden Ein- und Ausgangsdaten zwischen Anwenderprogramm und der zentralen/dezentra‐ len Peripherie ausgetauscht. ⑤...
  • Seite 748 Kommunikation 11.5 PROFINET 5. Jetzt können Sie in der Klappliste "Zugewiesener IO-Controller" den IO-Controller auswählen. Nachdem Sie den IO-Controller ausgewählt haben, werden in der Netzsicht die Vernetzung und das IO-System zwischen beiden Geräten angezeigt. 6. Über das Kontrollkästchen "Parametrierung der PN-Schnittstelle durch übergeordneten IO- Controller"...
  • Seite 749 Kommunikation 11.5 PROFINET Hinweis Wenn Sie eine S7-1200 als I-Device konfigurieren, beträgt die maximale Größe eines Übertragungsbereichs 1024 Eingangs- oder Ausgangsbytes. Je nach lokaler E/A und Einschränkungen beim Adressraum auf dem steuernden Gerät gibt es möglicherweise begrenzende Faktoren. Konfigurieren eines I-Device mit einer GSD-Datei Wenn Sie ein I-Device in einem anderen Projekt nutzen oder wenn das I-Device in einem anderen Engineering-System verwendet wird, konfigurieren Sie den übergeordneten IO-Controller und das I-Device wie oben beschrieben.
  • Seite 750 Kommunikation 11.5 PROFINET ① PROFINET ② Logische Zuweisung Prinzip Der Zugriff auf die Submodule des Shared Device wird dann auf die einzelnen IO-Controller aufgeteilt. Jedes Submodul des Shared Device wird exklusiv einem IO-Controller zugewiesen. Voraussetzung (GSD-Konfiguration) • STEP 7 V12 Service Pack 1 oder höher •...
  • Seite 751: Zugriff Konfigurieren

    Kommunikation 11.5 PROFINET Zugriff konfigurieren Das IO-Device muss in verschiedenen Projekten vorhanden sein, so dass die Module oder Submodule eines IO-Device verschiedenen IO-Controllern zugewiesen werden können. Für jeden IO-Controller ist ein eigenes Projekt erforderlich. Mit dem Parameter "Shared Device" des Schnittstellenmoduls bestimmen Sie die Module und Submodule, auf die der IO-Controller Zugriff hat: •...
  • Seite 752: Regeln Für Die Konfiguration

    Kommunikation 11.5 PROFINET Regeln für die Konfiguration • IO-Controller, die das Shared Device verwenden, werden in verschiedenen Projekten angelegt. In jedem Projekt muss darauf geachtet werden, dass das Shared Device in jeder Station identisch konfiguriert ist. Nur ein einziger IO-Controller darf jemals vollständigen Zugriff auf ein Submodul haben.
  • Seite 753 Kommunikation 11.5 PROFINET STEP 7 V13 SP1 und ist begrenzt auf die Konfiguration mit zwei IO-Controllern der S7-1200- Serie, die ein Shared Device gemeinsam nutzen. Im Beispiel werden zwei Projekte mit jeweils einem IO-Controller angelegt: • Controller1 • Controller2 Sie müssen das Shared Device in beiden Projekten erstellen, auch wenn es sich physisch um ein und dasselbe IO-Gerät handelt.
  • Seite 754 Kommunikation 11.5 PROFINET Vorgehensweise: Projekt 2 anlegen Um das zweite Projekt mit einem Shared Device anzulegen, gehen Sie wie folgt vor: 1. Starten Sie STEP 7 erneut. Eine neue Instanz von STEP 7 wird geöffnet. 2. Legen Sie in der neuen Instanz ein neues Projekt mit dem Namen "Controller2" an. 3.
  • Seite 755 Kommunikation 11.5 PROFINET 3. Behalten Sie die Einstellung "Controller1" für alle Module und Submodule bei, die im Adressbereich der lokalen CPU verbleiben sollen. Wählen Sie die Einstellung "---" für alle Module und Submodule aus, die sich im Adressbereich der CPU aus dem Projekt "Controller2" befinden sollen. Dies bedeutet, dass ein IO-Controller außerhalb des Projekts Zugriff auf das Modul bzw.
  • Seite 756 Kommunikation 11.5 PROFINET 7. Prüfen Sie schließlich, ob sich die Einstellungen für den Zugriff auf die einzelnen Module und Submodule in beiden Projekten ergänzen. Damit ist gemeint, dass, wenn die lokale CPU in einem Projekt Zugriff hat, im anderen Projekt die Option "---" eingestellt sein muss und umgekehrt.
  • Seite 757: Übersetzen Und Laden

    Kommunikation 11.5 PROFINET • Wenn Sie den IO-Controller mit STEP 7 (TIA Portal) konfigurieren: – Öffnen Sie das entsprechende Projekt. – Wählen Sie die PROFINET-Schnittstelle des IO-Controllers aus. – Wählen Sie den Bereich "Erweiterte Optionen > Echtzeit-Einstellungen > IO- Kommunikation" im Inspektorfenster aus und legen Sie den Sendetakt fest. •...
  • Seite 758 Kommunikation 11.5 PROFINET Mit dem Projekt S7-1200-I-Device konfigurieren Sie das I-Device. Sie verwenden die PROFINET GSD-Variante von S7-1200-I-Device in den Projekten Controller1 und Controller2, um die Übertragungsbereiche in dem jeweiligen übergeordneten IO-Controller zuzuweisen. Konzept des Shared I-Device Für das Konzept des Shared I-Device werden mindestens drei getrennte Projekte benötigt: •...
  • Seite 759: Controller, Die Das I-Device Gemeinsam Nutzen

    Kommunikation 11.5 PROFINET Controller, die das I-Device gemeinsam nutzen Sie müssen die aus der I-Device-Konfiguration erstellte PROFINET GSD-Datei in alle Engineering- Systeme laden, die Sie bei der Konfiguration eines PROFINET IO-Systems mit diesem Shared I‑Device verwenden. Wenn Sie alle Verwendungen dieses I-Device mit STEP 7 V13 SP1 konfigurieren, ist es ausreichend, die GSD-Datei in STEP 7 zu installieren.
  • Seite 760 Kommunikation 11.5 PROFINET 5. Weisen Sie die Modulparameter zu. Insbesondere müssen Sie die folgenden Einstellungen für die CPU im Bereich der PROFINET-Schnittstelle [X1] konfigurieren: – Aktivieren Sie die Option "IO-Device" im Bereich "Betriebsart". – Konfigurieren Sie die Übertragungsbereiche im Bereich "Betriebsart > I-Device- Konfiguration".
  • Seite 761 Abschnitt "Allgemeine Gerätebeschreibungsdatei (GSD) exportieren"). Wenn Sie den Namen im Exportdialog nicht ändern, erhält die GSD-Datei einen Namen im zugewiesenen Format (zum Beispiel "GSDML-V2.31-#Siemens-PreConf_S7-1200-I-Device-20130925-123456"). Vorgehensweise: Projekt Controller1 anlegen Um das erste Projekt mit einem Shared I-Device anzulegen, gehen Sie wie folgt vor: 1.
  • Seite 762 Kommunikation 11.5 PROFINET 6. Weisen Sie den IO-Controller "Controller1" dem I-Device zu. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 763 Kommunikation 11.5 PROFINET 7. Wählen Sie den Bereich "Shared Device" in den Eigenschaften des I-Device aus: – In der Tabelle sind alle Übertragungsbereiche und die PROFINET-Schnittstelle dem lokalen IO-Controller zugewiesen (Controller1). – Definieren Sie die Übertragungsbereiche, auf die die Controller1-CPU keinen Zugriff haben soll.
  • Seite 764: Vorgehensweise - Projekt Controller2 Anlegen

    Kommunikation 11.5 PROFINET 8. Sie können die Adressen aus der Gerätesicht des IO-Controllers in der Geräteübersicht anpassen. Um die Geräteübersicht aufzurufen, doppelklicken Sie auf das I-Device. 9. Speichern Sie das Projekt. Vorgehensweise - Projekt Controller2 anlegen Um das zweite Projekt mit einem Shared Device anzulegen, gehen Sie wie folgt vor: 1.
  • Seite 765 Kommunikation 11.5 PROFINET 3. Behalten Sie die Einstellung "Controller1" für alle Übertragungsbereiche bei, die im Adressbereich der lokalen CPU verbleiben sollen. Wählen Sie die Einstellung "---" für alle Übertragungsbereiche aus, die sich im Adressbereich der CPU "Controller2" aus dem Projekt "Controller2" befinden sollen. Dies bedeutet, dass ein IO-Controller außerhalb des Projekts Zugriff auf den Übertragungsbereich erhält.
  • Seite 766 Kommunikation 11.5 PROFINET • Wenn Sie den IO-Controller mit STEP 7 (TIA Portal) konfigurieren, gehen Sie wie folgt vor: – Öffnen Sie das entsprechende Projekt. – Wählen Sie die PROFINET-Schnittstelle des IO-Controllers aus. – Wählen Sie den Bereich "Erweiterte Optionen > Echtzeit-Einstellungen > IO- Kommunikation"...
  • Seite 767 Kommunikation 11.5 PROFINET Als "Manager" muss die 1215/1217 MRP-Pakete im Netzwerk senden, offene Ports im Ring erkennen, blockierte Ports verwalten und den Managerstatus mit anderen potentiellen Managern verhandeln. Die Familie der S7-1200 CPUs hat drei Modelle (siehe oben), die das MRP-Protokoll und die Konfigurationsparameter für die Initialisierung des Betriebs als MRP-Client oder MRP-Manager unterstützen.
  • Seite 768: Siehe Auch

    Kommunikation 11.5 PROFINET MRP-Manager Der MRP-Manager gestattet der S7-1200 PLC, als Redundanzmanager zu fungieren. Bei einer Konfiguration in dieser Rolle arbeitet die S7-1200 mit Testtelegrammen, um mit Client-PLCs zu kommunizieren und sicherzustellen, dass die Verbindung im Ring nicht unterbrochen ist. Wird eine Unterbrechung zu einem Client erkannt, informiert die als MRP-Manager fungierende S7-1200 die Clientgeräte im Ring über die Veränderung und verwendet sofort die Ringports.
  • Seite 769: Medienredundanz Bei Ringtopologien

    Kommunikation 11.5 PROFINET 11.5.15.1 Medienredundanz bei Ringtopologien Um die Netzwerkverfügbarkeit eines Industrial-Ethernet-Netzwerks mit optischen oder elektrischen linearen Bustopologien zu erhöhen, können Sie eine lineare Bustopologie in eine Ringtopologie umwandeln, indem Sie die Enden miteinander verbinden. Geräte in einer Ringtopologie können IO-Devices, IO-Controller, externe Switches und/oder die integrierten Switches von Kommunikationsmodulen sein.
  • Seite 770: Medienredundanzverfahren

    Kommunikation 11.5 PROFINET Ringport 1 und Ringport 2. Die Testtelegramme laufen in beide Richtungen um den Ring, bis sie am anderen Ringport des MRP-Managers ankommen. Eine Unterbrechung des Rings kann durch Verlust der Verbindung zwischen zwei Geräten oder durch Ausfall eines Geräts im Ring verursacht werden. Wenn die Testtelegramme des MRP-Managers während einer Unterbrechung des Rings nicht mehr am anderen Ringport ankommen, verbindet der MRP-Manager seine zwei Ringports.
  • Seite 771 Kommunikation 11.5 PROFINET Topologie Die folgende Abbildung zeigt eine mögliche Topologie für Geräte in einem Ring mit MRP. Die Geräte im schattiert dargestellten Oval befinden sich in der Redundanzdomäne. Dies ist ein Beispiel für eine Ringtopologie mit MRP: Die folgenden Regeln gelten für eine Ringtopologie mit Medienredundanz und MRP: •...
  • Seite 772 Kommunikation 11.5 PROFINET Grenzbedingungen Sie haben die folgenden Kommunikationsmöglichkeiten: • Mit dem MRP ist der MRP- und der RT: RT-Betrieb möglich. Hinweis Die RT-Kommunikation wird unterbrochen (Stationsausfall), wenn die Neukonfigurationszeit des Rings größer ist als die ausgewählte Überwachungszeit des IO- Device.
  • Seite 773: Medienredundanz Konfigurieren

    Kommunikation 11.5 PROFINET 11.5.15.3 Medienredundanz konfigurieren Alle Komponenten in Ihrer Anwendung müssen das Medienredundanzprotokoll (MRP) unterstützen. Vorgehen Um Medienredundanz zu konfigurieren, gehen Sie wie folgt vor: 1. Stellen Sie durch geeignete Portverschaltungen einen Ring her (z.B. in der Topologiesicht). 2. Wählen Sie ein PROFINET-Gerät aus, für das Sie Medienredundanz konfigurieren möchten. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 774 Kommunikation 11.5 PROFINET 3. Navigieren Sie im Inspektorfenster zu "PROFINET-Schnittstelle [X1] > Erweiterte Optionen > Medienredundanz". 4. Weisen Sie unter „Medienredundanzrolle" dem Gerät eine der Rollen "Manager (Auto)", "Client" oder "Kein Gerät im Ring" zu. Wenn Sie in der Topologiesicht im TIA Portal einen Ring konfigurieren, legt das TIA Portal die Medienredundanzrolle automatisch für Sie fest.
  • Seite 775 Kommunikation 11.5 PROFINET 3. Navigieren Sie zum Gerät der erforderlichen MRP-Domäne im Inspektorfenster. 4. Legen Sie für die PROFINET-Geräte eine der Rollen "Manager (Auto)", "Client" oder "Nicht Teilnehmer des Rings" zu. Option für "Medienredundanz": MRP-Rolle Abhängig vom verwendeten Gerät sind die Rollen "Manager", "Manager (Auto)", "Client" und "Nicht Teilnehmer des Rings"...
  • Seite 776 Kommunikation 11.5 PROFINET Option für "Medienredundanz": Ringport 1 und Ringport 2 Wählen Sie jeweils einzeln die Ports aus, die Sie als Ringport 1 oder Ringport 2 konfigurieren möchten. Die Klappliste zeigt die Auswahl möglicher Ports für jeden Gerätetyp an. Wenn die Ports im Werk eingestellt wurden, sind die Felder nicht verfügbar.
  • Seite 777: S7-Routing Zwischen Cpu Und Cp-Schnittstellen

    • Routing von einem CP zu einem anderen CP Weitere Informationen zu allen S7-1200 CPs, die die Funktion "S7-Routing" unterstützen, finden Sie auf der Website Siemens Industry Online-Support, Produkt-Support. Der CP 1243-1 (https:// support.industry.siemens.com/cs/de/de/view/584459) wird als Beispiel für einen CP gezeigt.
  • Seite 778: S7-Routing Zwischen Zwei Cp-Schnittstellen

    Kommunikation 11.5 PROFINET einem CP-Modul sowie das Routing von einem CP-Modul zu der PN/IE-Schnittstelle des PLC möglich ist. 11.5.16.2 S7-Routing zwischen zwei CP-Schnittstellen Da die S7-1200 CPUs bis zu CP-Module unterstützen, können Sie alle drei Module an unterschiedliche S7-Subnetze anschließen. Wenn Sie mindestens zwei CP-Module im lokalen Grundgerät der CPU installieren und mit verschiedenen S7-Subnetzen verbinden, können Sie Routing einsetzen.
  • Seite 779 Kommunikation 11.5 PROFINET SNMP nutzt das UDP-Transportprotokoll und hat zwei Netzwerkkomponenten: • SNMP-Manager: Überwacht die Netzwerkteilnehmer. • SNMP-Client: Erfasst die verschiedenen netzwerkspezifischen Informationen in den einzelnen Netzwerkteilnehmern und speichert sie in strukturierter Form in der Management Information Base (MIB). Mit diesen Daten kann eine ausführliche Netzwerkdiagnose durchgeführt werden.
  • Seite 780 Kommunikation 11.5 PROFINET 3. Öffnen Sie das Register "Attribute". Deaktivieren Sie das Kontrollkästchen "Optimierter Bausteinzugriff": 4. Klicken Sie auf die Schaltfläche "OK". Daraufhin wird eine Meldung angezeigt, die Ihnen rät, Ihr Programm neu zu übersetzen. Übersetzen Sie Ihr Programm zu diesem Zeitpunkt neu. 5.
  • Seite 781: Anweisungen Für Die Dezentrale Peripherie

    Kommunikation 11.5 PROFINET 7. Fügen Sie im KOP-Editor im Anlauf-OB (OB100) in Netzwerk 1 eine Anweisung Label (Sprungmarke) (im nachstehenden Beispiel heißt die Sprungmarke "Check") und eine Anweisung WRREC (Datensatz schreiben) mit den gezeigten Eingängen und Ausgängen ein: 8. Fügen Sie die folgende Schleife und den folgenden Prüfcode mit dem Ausgang "Zu Sprungmarke springen"...
  • Seite 782 Netzwerk angeschlossen. Das CM 1242-5 (DP-Slave) kann der Kommunikationspartner von DP- Mastern V0/V1 sein. Wenn Sie das Modul in einem Fremdsystem konfigurieren möchten, finden Sie auf der im Lieferumfang des Moduls enthaltenen CD sowie auf den Seiten des Siemens Automation-Kundensupports (https://support.industry.siemens.com/cs/ww/de/ps/...
  • Seite 783: Kommunikationsdienste Der Profibus-Cms

    Hinweis Halten Sie die PROFIBUS CM-Firmware stets auf dem neuesten Stand (http:// support.automation.siemens.com/WW/view/de/42131407). Ein Firmware-Update können Sie auf eine der folgenden Arten durchführen: • Mit den Online- und Diagnosewerkzeugen von STEP 7 (Seite 1212) • Mit einer SIMATIC Memory Card (Seite 131) •...
  • Seite 784: Verweis Auf Die Benutzerhandbücher Für Profibus-Cms

    Verweis auf die Benutzerhandbücher für PROFIBUS-CMs Weitere Informationen Ausführliche Informationen über die PROFIBUS-CMs finden Sie in den Handbüchern zu den jeweiligen Geräten. Diese stehen im Internet auf den Seiten des Kundensupports von Siemens Industrial Automation unter den folgenden IDs zur Verfügung: • CM 1242‑5 (https://support.industry.siemens.com/cs/ww/de/ps/15667) •...
  • Seite 785: Dp-Master Und -Slave Konfigurieren

    Kommunikation 11.6 PROFIBUS 11.6.3 DP-Master und -Slave konfigurieren 11.6.3.1 CM 1243-5 (DP-Master) und DP-Slave hinzufügen Verwenden Sie im Portal "Geräte & Netze" den Hardwarekatalog, um PROFIBUS-Module zur CPU hinzuzufügen. Diese Module werden an der linken Seite der CPU angeschlossen. Um ein Modul in die Hardwarekonfiguration einzufügen, selektieren Sie das Modul im Hardwarekatalog und doppelklicken, oder Sie ziehen es in den markierten Steckplatz.
  • Seite 786: Konfigurieren Der Profibus-Schnittstelle

    • Adresse 0: Reserviert für die Netzwerkkonfiguration und/oder an den Bus angeschlossene Programmierwerkzeuge • Adresse 1: Reserviert von Siemens für den ersten Master • Adresse 126: Reserviert für Geräte im Werk, die keine Schaltereinstellung haben und über das Netzwerk neu adressiert werden müssen •...
  • Seite 787 Kommunikation 11.6 PROFIBUS Tabelle 11-65 Parameter für die PROFIBUS-Adresse Parameter Beschreibung Subnetz Name des Subnetzes, mit dem das Gerät verbunden ist. Um ein neues Subnetz anzulegen, klicken Sie auf Schaltfläche "Neues Subnetz hinzufügen". Die Voreinstellung ist "nicht verbunden". Zwei Arten von Ver‐ bindungen sind möglich: •...
  • Seite 788 Kommunikation 11.7 ASi 11.6.6 Diagnoseereignisse für die dezentrale Peripherie Weitere Informationen zur Verwendung dieser Diagnoseinformationen mit diesen Kommunikationsnetzwerken finden Sie unter "Diagnose (PROFINET oder PROFIBUS): Diagnoseereignisse für die dezentrale Peripherie" (Seite 469). 11.7 Das S7-1200 AS-i Master CM 1243-2 ermöglicht die Anbindung eines AS-i-Netzwerks an eine S7-1200 CPU.
  • Seite 789: As-I-Master Und -Slavegeräte Konfigurieren

    S7-1200 PLC erlaubt maximal drei AS-i Master CM 1243-2. Hinweis Es ist empfehlenswert, die AS-i CM-Firmware stets auf dem neuesten Stand zu halten (http:// support.automation.siemens.com/WW/view/de/43416171). Die aktuelle Firmware finden Sie auf der Siemens-Website "Service & Support". 11.7.1 AS-i-Master und -Slavegeräte konfigurieren Der AS-i-Master CM 1243-2 ist als Kommunikationsmodul in das S7-1200 Automatisierungssystem integriert.
  • Seite 790: Logische Netzwerkverbindungen Zwischen Zwei As-I-Geräten Konfigurieren

    Kommunikation 11.7 ASi Im Hardwarekatalog können Sie auch die AS-i-Slaves hinzufügen. Um beispielsweise einen Slave mit den Merkmalen "E/A-Modul, kompakt, digital, Eingang" hinzuzufügen, erweitern Sie im Hardwarekatalog die folgenden Behälter: • Feldgeräte • AS-Schnittstellen-Slaves Wählen Sie anschließend in der Liste der Bestellnummern "3RG9 001-0AA00" (AS-i SM-U, 4DI) aus und fügen Sie den Slave mit den Merkmalen "E/A-Modul, kompakt, digital, Eingang"...
  • Seite 791: Einem As-I-Slave Eine As-I-Adresse Zuweisen

    Kommunikation 11.7 ASi Hinweis "Diagnosealarm für Fehler in der AS‑i-Konfiguration" und "Automatische Adressenprogrammierung" sind stets aktiv und deshalb grau dargestellt. 11.7.1.4 Einem AS-i-Slave eine AS-i-Adresse zuweisen AS-i-Slaveschnittstelle konfigurieren Um Parameter für die AS-i-Schnittstelle zu konfigurieren, klicken Sie auf das gelbe AS-i-Feld am AS‑i-Slave.
  • Seite 792 Kommunikation 11.7 ASi ① AS-i-Slaveadresse 1; Gerät: AS-i SM-U, 4DI; Bestellnummer: 3RG9 001-0AA00 ② AS-i-Slaveadresse 2A; Gerät: AS-i 8WD44, 3DO, A/B; Artikelnummer: 8WD4 428-0BD ③ AS-i-Slaveadresse 3; Gerät: AS-i SM-U, 2DI/2DO; Artikelnummer: 3RG9 001-0AC00 Geben Sie hier die AS-i-Slaveadresse ein: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 793: Datenaustausch Zwischen Dem Anwenderprogramm Und As-I-Slaves

    Kommunikation 11.7 ASi Tabelle 11-69 Parameter für die AS-i-Schnittstelle Parameter Beschreibung Netzwerk Name des Netzwerks, mit dem das Gerät verbunden ist. Adresse(n) Zugewiesene AS-i-Adresse für das Slavegerät im Bereich von 1(A oder B) bis 31(A oder B) für insgesamt bis zu 62 Slavegeräte 11.7.2 Datenaustausch zwischen dem Anwenderprogramm und AS-i-Slaves...
  • Seite 794 Buskonfiguration informieren. Hierfür verwenden Sie die Online-Funktion "IST > SOLL". Weitere Informationen Ausführliche Informationen zum AS-i-Master CM 1243-2 finden Sie im Handbuch "AS-I Master CM 1243-2 und AS-i-Datenentkopplungsmodul DCM 1271 für SIMATIC S7-1200" (https:// support.industry.siemens.com/cs/ww/de/ps/15750/man). S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 795: Slaves Mit Step 7 Konfigurieren

    Kommunikation 11.7 ASi 11.7.2.2 Slaves mit STEP 7 konfigurieren Digitale AS-i-Werte übertragen Die CPU greift im zyklischen Betrieb über den AS-i-Master CM1243-2 auf die digitalen Eingänge und Ausgänge der AS-i-Slaves zu. Der Zugriff auf die Daten erfolgt über E/A-Adressen oder mittels Datensatzübertragung.
  • Seite 796: Analoge As-I-Werte Übertragen

    Kommunikation 11.7 ASi Dem Digitaleingabemodul (AS-i SM-U, 4DI) im AS-i-Netzwerk oben wurde die E/A-Adresse 2 zugewiesen. Wenn Sie auf das Digitaleingabemodul klicken, wird in den "Eigenschaften" des Geräts im Register "E/A-Adressen" die E/A-Adresse wie im Folgenden angezeigt: Sie können auf die Daten der AS-i-Slaves im Anwenderprogramm zugreifen, indem Sie die deren E/A-Adressen mit den entsprechenden Bitverknüpfungsoperationen (z.
  • Seite 797: Mit As-I-Online-Werkzeugen Arbeiten

    Ausführliche Informationen zum AS-i-Master CM 1243-2 finden Sie im Handbuch "AS-I Master CM 1243-2 und AS-i-Datenentkopplungsmodul DCM 1271 für SIMATIC S7-1200" (http:// support.automation.siemens.com/WW/view/en/50414115/133300). 11.7.3 Anweisungen für die dezentrale Peripherie Weitere Informationen zur Verwendung der Anweisungen für die dezentrale Peripherie mit diesen Kommunikationsnetzwerken finden Sie unter "Dezentrale Peripherie (PROFINET,...
  • Seite 798 Kommunikation 11.7 ASi Es gibt zwei AS-i-Betriebsarten: • Schutzmodus: – Das AS-i-Slavegerät und die E/A-Adressen der CPU können nicht geändert werden. – Die grüne LED "CM" ist ausgeschaltet. • Konfigurationsmodus: – Sie können in Ihrem AS-i-Slavegerät und an den E/A-Adressen der CPU erforderliche Änderungen vornehmen.
  • Seite 799: Konfigurationsfehler

    Kommunikation 11.8 S7-Kommunikation Slave ohne Adresszuweisung erkannt und wird erst nach Zuweisung einer Adresse in die normale Kommunikation einbezogen. Konfigurationsfehler Wenn die gelbe LED "CER" leuchtet, liegt ein Fehler in der Gerätekonfiguration des AS-i-Slaves vor. Wählen Sie die Schaltfläche "IST > SOLL", um die Slave-Gerätekonfiguration des AS-i- Mastermoduls CM1243-2 durch die Slave-Gerätekonfiguration des AS-i-Feldnetzwerks zu überschreiben.
  • Seite 800 Kommunikation 11.8 S7-Kommunikation Tabelle 11-70 Anweisungen GET und PUT KOP/FUP Beschreibung "GET_DB"( Mit der Anweisung GET lesen Sie Daten aus einer entfernten S7-CPU aus. Die entfernte req:=_bool_in_, ID:=_word_in_, CPU kann sich dabei im Betriebszustand RUN oder STOP befinden. ndr=>_bool_out_, error=>_bool_out_, STEP 7 erstellt automatisch den DB, wenn status=>_word_out_, Sie die Anweisung einfügen.
  • Seite 801 Kommunikation 11.8 S7-Kommunikation Parameter und Datentyp Datentyp Beschreibung ERROR Output Bool • ERROR=0 STATUS-Wert: STATUS Output Word – 0000H: Weder Warnung noch Fehler. – <> 0000H: Warnung, STATUS liefert ausführliche Informatio‐ nen. • ERROR=1 Fehler. STATUS liefert ausführliche Informationen über die Natur des Fehlers.
  • Seite 802 Kommunikation 11.8 S7-Kommunikation Bei der steigenden Flanke am Parameter REQ lädt die Leseanweisung (GET) oder die Schreibanweisung (PUT) die Parameter ID, ADDR_1 und RD_1 (GET) oder SD_1 (PUT). • Bei GET: Die entfernte CPU gibt die angeforderten Daten an die Empfangsbereiche aus (RD_x).
  • Seite 803: S7-Verbindung Erstellen

    Kommunikation 11.8 S7-Kommunikation 11.8.2 S7-Verbindung erstellen Verbindungsmechanismen Um mit Hilfe der Anweisungen PUT/GET mit entfernten Teilnehmern zu kommunizieren, benötigt der Benutzer entsprechende Rechte. Die Option "Zugriff über PUT/GET-Kommunikation erlauben" ist standardmäßig nicht aktiviert. Der Lese- und Schreibzugriff auf CPU-Daten ist dann nur mit Kommunikationsverbindungen möglich, die für die lokale CPU und für den entfernten Teilnehmer konfiguriert bzw.
  • Seite 804: Zuweisung Von Verbindungsparametern Für Get/Put

    Kommunikation 11.8 S7-Kommunikation 11.8.3 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren Allgemeine Parameter konfigurieren Sie legen die Kommunikationsparameter im Dialog "Eigenschaften" der Kommunikationsanweisung fest. Dieser Dialog wird am unteren Ende der Seite angezeigt, wenn Sie einen Teil der Anweisung selektiert haben. Weitere Informationen finden Sie unter "Gerätekonfiguration: Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren (Seite 600)".
  • Seite 805: Verbindungsparameter

    Kommunikation 11.8 S7-Kommunikation Im Inspektorfenster werden die Eigenschaften der Verbindung angezeigt, wenn Sie einen Teil der Anweisung auswählen. Sie können die Kommunikationsparameter über das Register "Konfiguration" im Dialog "Eigenschaften" der Kommunikationsanweisung konfigurieren. Hinweis Die GET/PUT-Funktion ist im Programm einer CPU ab V4.1 nicht automatisch aktiviert Die GET/PUT-Funktion im Programm einer CPU V3.0 ist in einer CPU ab V4.1 automatisch aktiviert.
  • Seite 806: Parameter Verbindungs-Id

    Kommunikation 11.8 S7-Kommunikation Tabelle 11-73 Verbindungsparameter: Allgemeine Definitionen Parameter Definition Verbindungs‐ Endpunkt "Lokaler Endpunkt": Name der lokalen CPU parameter: "Partner-Endpunkt": Name der Partner-CPU (dezentral) Allgemein Hinweis: In der Klappliste "Partner-Endpunkt" zeigt das System alle potenziellen S7-Verbindungspartner des aktuellen Projekts sowie die Option "Nicht spezifi‐ ziert"...
  • Seite 807 Kommunikation 11.8 S7-Kommunikation Parameter Verbindungsname Der Verbindungsname lässt sich über ein besonderes Bedienelement, den Dialog "Verbindungsübersicht", bearbeiten. In diesem Dialog werden alle verfügbaren S7- Verbindungen angezeigt, die als Alternative für die aktuelle GET/PUT-Kommunikation ausgewählt werden können. Sie können in dieser Tabelle eine vollständig neue Verbindung anlegen.
  • Seite 808 Kommunikation 11.8 S7-Kommunikation Für die Anweisung GET oder PUT wird im Inspektorfenster automatisch das Register "Eigenschaften" mit den folgenden Menüoptionen angezeigt: • "Konfiguration" • "Verbindungsparameter" PROFINET S7-Verbindung konfigurieren Wählen Sie für den "Partner-Endpunkt" die Option "PLC_3" aus. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 809 Kommunikation 11.8 S7-Kommunikation Das System reagiert mit den folgenden Änderungen: Tabelle 11-74 Verbindungsparameter: Allgemeine Werte Parameter Definition Verbindungs‐ Endpunkt "Lokaler Endpunkt" enthält "PLC_1" (schreibgeschützt). parameter: Das Feld "Partner-Endpunkt" enthält "PLC_3[CPU319-3PN/DP]": Allgemein • Die Farbe wechselt von Rot nach Weiß. • Das "Partner"-Gerätebild wird angezeigt.
  • Seite 810 Kommunikation 11.8 S7-Kommunikation Vollständige PROFINET S7-Verbindung In der "Netzsicht" wird in der Tabelle "Verbindungen" zwischen "PLC_1" und "PLC_3" eine bidirektionale S7-Verbindung angezeigt. PROFIBUS S7-Verbindung konfigurieren Wählen Sie für den "Partner-Endpunkt" die Option "PLC_3" aus. S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 811 Kommunikation 11.8 S7-Kommunikation Das System reagiert mit den folgenden Änderungen: Tabelle 11-75 Verbindungsparameter: Allgemeine Werte Parameter Definition Verbindungs‐ Endpunkt "Lokaler Endpunkt" enthält "PLC_1" (schreibgeschützt). parameter: Das Feld "Partner-Endpunkt" enthält "PLC_3[CPU319-3PN/DP]": Allgemein • Die Farbe wechselt von Rot nach Weiß. • Das "Partner"-Gerätebild wird angezeigt.
  • Seite 812: Gründe, Warum Eine Not-Ip-Adresse Benötigt Werden Kann

    Kommunikation 11.9 Was tun, wenn kein Zugriff auf die CPU über die IP-Adresse möglich ist Vollständige PROFIBUS S7-Verbindung In der "Netzsicht" wird in der Tabelle "Verbindungen" zwischen "PLC_1" und "PLC_3" eine unidirektionale S7-Verbindung angezeigt. 11.9 Was tun, wenn kein Zugriff auf die CPU über die IP-Adresse möglich Wenn Sie die CPU nicht über die IP-Adresse erreichen, können Sie eine (temporäre) Not-IP- Adresse für die CPU einstellen.
  • Seite 813: Ip-Adresse Nach Zuweisung Einer Not-Ip-Adresse Wiederherstellen

    Kommunikation 11.10 OPC UA-Server Eine Not-IP-Adresse zuweisen Sie können unter folgenden Umständen eine Not-IP-Adresse zuweisen: • In der Gerätekonfiguration in STEP 7 ist "IP-Adresse im Projekt einstellen" für das IP-Protokoll ausgewählt. • Die CPU befindet sich im Betriebszustand STOP. In diesen Fällen können Sie für die IP-Adresse des Geräts mit einem DCP-Tool eine Not-IP-Adresse einstellen.
  • Seite 814: Aktivierung Des Opc Ua-Servers

    Kommunikation 11.10 OPC UA-Server • Wählen Sie im Fenster "Allgemein" "OPC UA" aus. – Im Fenster "OPC UA > Server" können Sie Folgendes einstellen: - Allgemeine Einstellungen - Optionen - Security - Diagnose 11.10.1.1 Aktivierung des OPC UA-Servers Der OPC UA-Server ist standardmäßig nicht aktiviert. Sie müssen den OPC UA-Server aktivieren, indem Sie in den Hardware-Eigenschaften der CPU das Kontrollkästchen "OPC UA-Server aktivieren"...
  • Seite 815 Kommunikation 11.10 OPC UA-Server Serverantwort im Detail: • Wenn Sie die Werte von PLC-Variablen anfordern, erhalten Sie die Werte, die aktuell waren, bevor die CPU in STOP gegangen ist. • Wenn Sie Werte in den OPC UA-Server schreiben, akzeptiert der OPC UA-Server diese Werte. Die CPU verarbeitet diese Werte jedoch nicht, weil das Anwenderprogramm im Betriebszustand STOP nicht ausgeführt wird.
  • Seite 816: Einstellungen Für Den Opc Ua-Server

    Kommunikation 11.10 OPC UA-Server Beispiele • Sie möchten nur einen weiteren Codebaustein im Programm einfügen. Weder Datenbausteine noch Eingänge, Ausgänge, Merker, Zeiten oder Zähler werden dadurch beeinflusst. Reaktion beim Laden: Ein laufender OPC UA-Server wird nicht unterbrochen. • Sie möchten ein neues Datenmodul laden und haben das Datenmodul als nicht OPC UA- relevant gekennzeichnet.
  • Seite 817: S7-1200 Als Opc Ua-Server Verwenden

    Kommunikation 11.10 OPC UA-Server Kommunikationslast erhöht werden. Das ist abhängig von der Last durch andere Kommunikationsaktivitäten (beispielsweise PROFINET). Tabelle 11-76 Einstellungen für den OPC UA-Server Servereinstellungen Min. Max. Standardein‐ Vom Anwender stellung einstellbar? Kommunikationsanschlüsse 1024 49151 4840 Max. Sitzungs-Timeout 600.000 s 30 s Gleichzeitige Sitzungen Max.
  • Seite 818: Hinweise Zu Konfigurationsgrenzen Bei Der Verwendung Von Serverschnittstellen

    Kommunikation 11.10 OPC UA-Server Hinweise zu Konfigurationsgrenzen bei der Verwendung von Serverschnittstellen • Anzahl der Serverschnittstellen • Anzahl der OPC UA-Teilnehmer • Wenn Sie Methoden implementiert haben: Anzahl der Servermethoden oder Servermethoden-Instanzen Konfigurationsgrenzen für die OPC UA-Server-Schnittstellen und -Servermethoden In der nachfolgenden Tabelle finden Sie die Konfigurationsgrenzen für S7-1200 CPUs. Diese müssen auch beim Übersetzen und Laden einer Konfiguration berücksichtigt werden.
  • Seite 819: Sicherheit Des Opc Ua-Servers

    Kommunikation 11.10 OPC UA-Server 11.10.2 Sicherheit des OPC UA-Servers Serversicherheit ist lediglich eine der Sicherheitsmethoden zum Sichern der Technik. Andere Methoden zum Sichern der Technik sind u.a. TIAP-Sicherheit und PLC-Sicherheit. Der OPC UA-Server benötigt ein Zertifikat für die Aktivierung. Das TIA Portal generiert automatisch ein Zertifikat, wenn Sie den Server aktivieren.
  • Seite 820: Unterstützte Sicherheitsrichtlinien

    Kommunikation 11.10 OPC UA-Server Hinweis Begrenzte Anzahl Zertifikate bei der S7-1200 Die S7-1200 hat einen vom System vorgegebenen Grenzwert von 64 Zertifikaten. In diese Anzahl werden alle Zertifikate eingerechnet (z.B. Webzertifikate, OPC UA-Zertifikate und OUC-Zertifikate). Wenn Sie mehr als 64 Zertifikate haben, zeigt das TIA Portal in einer Fehlermeldung an, dass Sie die maximale Anzahl von 64 Zertifikaten überschritten haben.
  • Seite 821 Kommunikation 11.10 OPC UA-Server Tabelle 11-77 Von der S7-1200 unterstützte OPC UA-Sicherheitsrichtlinien Sicherheitsrichtlinie Standardmäßig aktiviert? Keine Sicherheit Basic128Rsa15 – Sign Nein Basic128Rsa15 – Sign & Encrypt Nein Basic256 – Sign Nein Basic256 – Sign & Encrypt Nein Basic256Sha256 – Sign Basic256Sha256 –...
  • Seite 822: Benutzerauthentifizierung

    Kommunikation 11.10 OPC UA-Server 11.10.2.2 Vertrauenswürdige Clients Der OPC UA-Server kann so konfiguriert werden, dass er nur Verbindungen von vertrauenswürdigen Clients gestattet. Standardmäßig ist der Server so konfiguriert, dass er Client-Zertifikate automatisch akzeptiert. Sie definieren die Liste der vertrauenswürdigen Clients, die anhand ihrer Zertifikate erkannt werden.
  • Seite 823 Kommunikation 11.10 OPC UA-Server Wenn die Gastbenutzer-Authentifizierung aktiviert ist, wird der Client nicht aufgefordert, beim Herstellen der Verbindung einen Benutzernamen und ein Passwort einzugeben. Wenn die Gastbenutzer-Authentifizierung deaktiviert ist, dürfen nur Clients, die einen zuvor angegebenen Benutzernamen mit Passwort bereitstellen, eine Verbindung aufbauen. Sie können gültige Benutzer für den OPC UA-Server auf zwei Arten definieren: •...
  • Seite 824: Unterstützte Datentypen

    Kommunikation 11.10 OPC UA-Server 11.10.3 Schnittstelle des OPC UA-Servers Der S7‑1200 OPC UA-Server unterstützt die standardmäßige SIMATIC-Serverschnittstelle. Er unterstützt jedoch nicht das automatische "Veröffentlichen" von CPU- und DB-Variablen über diese Auswahl. Stattdessen müssen Sie die Struktur und den Inhalt der Serverschnittstelle im TIA Portal definieren und diese dann in die PLC laden.
  • Seite 825 Kommunikation 11.10 OPC UA-Server Beachten Sie, dass diese Liste die unterstützten grundlegenden Teilnehmertypen darstellt. Sie stellt keine vollständige Liste aller unterstützten Teilnehmertypen dar, weil sich viele SIMATIC- Datentypen den grundlegenden Teilnehmertypen zuordnen lassen. Jeder SIMATIC-Datentyp, der einem grundlegenden Teilnehmertyp zugeordnet werden kann, ist ebenfalls ein unterstützter Teilnehmertyp.
  • Seite 826 Kommunikation 11.10 OPC UA-Server Die folgenden Informationen werden von der standardmäßigen SIMATIC-Serverschnittstelle bereitgestellt: Attribut Wert Nodeld Ns=SI;s=PLC BrowseName SI:<PLC> Dabei ist <PLC> der Name, den der Benutzer der PLC im TIA Portal-Projekt zugeord‐ net hat. Referenzen NodeClass BrowseName Kommentar ComponentOf des Objekts DeviceSet OrganizedBy des Ordners Objects HasTypeDefinition ObjectType SimaticDeviceType...
  • Seite 827 Kommunikation 11.10 OPC UA-Server 11.10.3.3 Ladbare Serverschnittstellen Sie erstellen und bearbeiten Komponenten der OPC UA-Serverschnittstelle im TIA Portal. Sie können OPC UA-Serverschnittstellen auf zwei Arten definieren: • Mit Hilfe von extern erstellten XML-Dateien (die Begleitspezifikationen genannt werden) • Mit Hilfe einer direkt im TIA Portal definierten Serverschnittstelle, die auf Datenbausteinelementen und globalen Variablen basiert, die Sie in Ihr Programm aufnehmen können Beim Laden in das Zielsystem wird auf diese Weise die Serverschnittstelle festgelegt, die...
  • Seite 828 Kommunikation 11.10 OPC UA-Server Im Dialog für die Servererstellung können Sie die Serviceschnittstelle hinzufügen oder definieren. So definieren Sie die OPC UA-Serverschnittstelle im TIA Portal: • Wählen Sie "Serverschnittstelle", Typ: Schnittstelle • Wählen Sie "Begleitspezifikation", Typ: Begleitspezifikation • Wählen Sie "Begleitspezifikation", Typ: Referenz-Namensraum S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 829 Kommunikation 11.10 OPC UA-Server Runtime-Lizenz erforderlich Eine Runtime-Lizenz ist erforderlich, um den OPC UA-Server für die S7-1200 CPU auszuführen. Die folgenden Lizenzen sind verfügbar: • SIMATIC OPC UA S7-1200 Basic DVD 6ES7823-0BA00-2BA0 • SIMATIC OPC UA S7-1200 Basic DL 6ES7823-0BE00-2BA0 Der erforderliche Lizenztyp wird unter "Eigenschaften >...
  • Seite 830: Diagnosemeldungen Bei Statusänderung

    Kommunikation 11.10 OPC UA-Server Wie gezeigt haben Sie folgende Auswahlmöglichkeiten: • Diagnosemeldungen bei Statusänderung • Diagnosemeldungen • Zusammengefasste Diagnosemeldungen Diagnosemeldungen bei Statusänderung Für die Arten von Diagnosemeldungen, die über die zwei Kontrollkästchen "Änderung des OPC UA-Serverstatus" und "Änderung des Sitzungsstatus" gesteuert werden, gibt es keine zusammengefassten Meldungen.
  • Seite 831: Zusammengefasste Diagnosemeldungen

    Kommunikation 11.10 OPC UA-Server Zusammengefasste Diagnosemeldungen Diese Parametrierung gilt nur für Diagnosemeldungen des OPC UA-Servers. Unterschiedliche Einstellungen können für die CPU-globalen Sicherheitsereignisse gewählt werden. Das Kontrollkästchen "Diagnosemeldungen bei hohem Meldeaufkommen zusammenfassen" legt fest, ob der Erfassungsmechanismus für alle Diagnosemeldungen des OPC UA-Servers aktiviert wird oder nicht.
  • Seite 832 Kommunikation 11.10 OPC UA-Server • Anzahl Teilnehmer pro RegisterNodes • Anzahl Teilnehmer pro TranslateBrowsePathsToNodeIds • Anzahl Teilnehmer pro Write • Anzahl Teilnehmer pro MethodCall • Speicherverbrauch Hinweis Servicerequest überschreitet einen konfigurierten Grenzwert oder eine Systemgrenze Wenn ein Servicerequest einen konfigurierten Grenzwert oder eine Systemgrenze überschreitet, reagiert der Server in den meisten Fällen mit einer Servicestörung.
  • Seite 833: Entferntes Lesen Des Diagnosepuffers Bei Opc Ua

    Kommunikation 11.10 OPC UA-Server und vom Datentyp der Elemente unabhängig ist. Nach der Abtastung gibt es einen Veröffentlichungsauftrag und der Server sendet die Elemente an den Client. Wenn die Warteschlange zu viele Elemente enthält, kann es zu einer "Überlast" des Kommunikationsstapels kommen.
  • Seite 834: Arten Von Sicherheitsmeldungen

    Kommunikation 11.10 OPC UA-Server Die Meldungen werden generiert, wenn eine Sicherheitsprüfung fehlschlägt und ein Vorgang nicht wie gefordert ausgeführt wird. In den meisten Fällen wird der Statuscode, der von anderen Sicherheitskomponenten wie OpenSSL, UMAC 711 oder OPC UA Stack zurückgegeben wird, in die Diagnosemeldung geschrieben.
  • Seite 835 Kommunikation 11.10 OPC UA-Server Sicherheit von OPC UA-Meldungen Die Meldungen von OPC UA in Bezug auf die Sicherheit des OPC UA-Servers werden vom OPC UA- Server generiert und verwenden die Standard-Alarmdomäne oder Prüfungen während der Zertifikateverifizierung. Sie können die OPC UA-bezogene Sicherheitsprüfung im Eigenschaftsfenster im TIA Portal aktivieren oder deaktivieren (siehe unten).
  • Seite 836 Kommunikation 11.10 OPC UA-Server Mit dem OPC UA-Diagnosepuffer können Sie jetzt Informationen über verbundene Clients abrufen, um den Status Ihres OPC UA-Server anzuzeigen. Sie können: • Sehen, wann ein Client eine Verbindung zu Ihrem OPC UA-Server herstellt • Eine Meldung erhalten, wenn der Client die Verbindung zu Ihrem OPC UA-Server trennt Eine Diagnosemeldung wird in den Diagnosepuffer geschrieben, wenn sich der Zustand einer Sitzung ändert.
  • Seite 837 Kommunikation 11.10 OPC UA-Server Tabelle 11-80 Implementierte Anwendungsfälle für Zustandsänderungen von OPC UA-Sitzungen Voraussetzung Benutzeraktion Erwartetes Verhalten Zustände OPC UA-Server Client stellt eine Verbin‐ Diagnosemeldungen mit Zustands‐ Created, Activa‐ läuft, kein Client dung zum OPC UA-Server änderungen (siehe Spalte "Zustän‐ verbunden her und übergibt korrek‐...
  • Seite 838 Kommunikation 11.10 OPC UA-Server Tabelle 11-81 Implementierte Anwendungsfälle für Zustandsänderungen von OPC UA-Sitzungen Voraussetzung Benutzeraktion Erwartetes Verhalten Zustände OPC UA-Server HW-Download mit aktivi‐ Diagnosemeldungen mit Zustands‐ Shutdown, Star‐ läuft ertem OPC UA-Server änderungen (siehe Spalte "Zustän‐ ting, Running de") werden dem Diagnosepuffer hinzugefügt.
  • Seite 839: Falsche Opc Ua-Verwendung

    Kommunikation 11.10 OPC UA-Server Wenn sich der Zustand einer OPC UA-Sitzung oder Subscription ändert, werden die Informationen zu diesen Ereignissen in den OPC UA-Diagnosepuffer geschrieben. Die möglichen Subscription-Zustände werden nachstehend aufgeführt: • Created • Closed • Normal • Late • KeepAlive •...
  • Seite 840 Kommunikation 11.10 OPC UA-Server Senden des Request erkennt, dass ein Service oder Request ungültig ist, sollte er den Request nicht senden. Ansonsten wird diese Diagnosemeldung ausgelöst. Die Anforderung einer ungültigen NodeID kann durch Durchsuchen erkannt werden – also löst das Anfordern eines ungültigen Teilnehmers eine Meldung "Falsche Verwendung" aus. Beim Lesen optionaler Attribute, Überschreiten von Grenzwerten für Subscriptions oder Sitzungen des Servers kann der Client dieses Problem nur durch "Versuchen"...
  • Seite 841: Zusammenfassende Meldungen Für Opc Ua

    Kommunikation 11.10 OPC UA-Server • Republish • SetPublishingMode • OpenSecureChannel • CloseSecureChannel 11.10.4.5 Zusammenfassende Meldungen für OPC UA Beispiel für Diagnosemeldungen im OPC UA-Diagnosepuffer: Falsche Verwendung des Service. Siehe Beispiel unten. Tabelle 11-83 Zusammenfassung von Meldungen für OPC UA für die falsche Verwendung des Service Mel‐...
  • Seite 842 Kommunikation 11.10 OPC UA-Server Der OPC UA-Client "sieht" nur die definierten Eingänge und Ausgänge. Der Inhalt des Funktionsbausteins, die Methode oder der Algorithmus, bleibt gegenüber dem externen OPC UA-Client verborgen. Der OPC UA-Client empfängt Rückmeldungen bei erfolgreicher Ausführung und vom Funktionsbaustein (Methode) zurückgegebene Werte oder aber eine Fehlermeldung, wenn die Ausführung nicht erfolgreich war.
  • Seite 843: Servermethode Implementieren

    Kommunikation 11.10 OPC UA-Server Servermethode implementieren Ein Programm (Funktionsbaustein) zum Implementieren einer Servermethode ist wie folgt strukturiert: 1. Aufruf der Servermethode mit OPC_UA_ServerMethodPre abfragen Sie rufen zunächst die Anweisung "OPC_UA_ServerMethodPre" in Ihrem Anwenderprogramm auf (in Ihrer Servermethode). Diese Anweisung hat die folgenden Aufgaben: –...
  • Seite 844 Kommunikation 11.10 OPC UA-Server ① Client die Servermethode "Cool" aufgerufen hat ④ ⑥ • Wurde die Servermethode nicht aufgerufen, kehrt die Programmausführung über direkt zum zyklischen Anwenderprogramm zurück. Die CPU setzt das zyklische Anwenderprogramm nach "Cool1" fort. ④ • Wurde die Servermethode aufgerufen, wird diese Information über an die Servermethode "Cool"...
  • Seite 845: Informationen Zu Serveranweisungen

    Kommunikation 11.10 OPC UA-Server Ist das der Fall, werden die Ausgangsdaten der Methodeninstanz an den OPC UA-Server weitergeleitet und die Methodeninstanz wird benachrichtigt, dass die Methode abge‐ schlossen wurde. Der OPC UA-Server wird benachrichtigt. ⑥ Aufruf des Methoden-FB (hier: FB Cool) mit der erforderlichen Instanz und den Prozess‐ parametern.
  • Seite 846 Kommunikation 11.10 OPC UA-Server Sie können auch die aufgeführten Datentypen verwenden, beispielsweise als Elemente von Strukturen/Arrays/UDTs für Eingangs- und Ausgangsparameter von selbst erstellten Servermethoden (UAMethod_InParameters und UAMethod_OutParameters). SIMATIC-Datentyp OPC UA-Datentyp BOOL Boolescher Wert SINT SByte INT16 DINT INT32 USINT Byte UINT UINT16 UDINT...
  • Seite 847 Verbindungen). Offene Browser-Instanzen können jeweils zwischen 2 und 8 Verbindungen verwenden. Der Webserver gestattet bis zu sieben angemeldete Benutzer, doch Siemens empfiehlt, die Anzahl gleichzeitig angemeldeter Benutzer möglichst gering zu halten. Bei mittlerer Auslastung sind im Durchschnitt 7 gleichzeitige Benutzer normalerweise in Ordnung.
  • Seite 848 Webserver • Variablenzustand (Seite 879) - CPU-Variablen und E/A, zugänglich über Adressen oder PLC- Variablennamen • Beobachtungstabellen (Seite 881) - Beobachtungstabellen, die Sie in STEP 7 konfiguriert haben • Online-Sicherung (Seite 883) - Möglichkeit, eine Online-CPU zu sichern oder eine frühere Sicherungskopie wiederherzustellen •...
  • Seite 849: Voraussetzungen Für Den Webbrowser

    Webserver Voraussetzungen für den Webbrowser Siemens hat die Webserver-Standardseiten getestet und prüft die Unterstützung folgender Webbrowser: • Internet Explorer 11 • Microsoft Edge V44 • Microsoft Edge Chromium Based V86 • Mozilla Firefox V64 • Opera V58 • Google Chrome V75 •...
  • Seite 850: Betriebsverhalten Des Webservers

    Webserver 12.1 Webserver aktivieren Betriebsverhalten des Webservers Das Betriebsverhalten des Webservers kann von vielen Faktoren beeinflusst werden. Die S7-1200 CPU und das Programmiergerät müssen die Zeit mit anderen Aufgaben teilen, die Ressourcen und Verarbeitungszeit verbrauchen. Wenn Ihr Webserver ein schlechtes Betriebsverhalten zeigt, probieren Sie diese Anpassungen aus, um das Betriebsverhalten des Webservers zu verbessern: •...
  • Seite 851 Variablen kann den Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen (Seite 163) und Webserver-Benutzer-IDs (Seite 852) durch starke Passwörter.
  • Seite 852: Konfigurieren Von Webserver-Benutzern

    Webserver 12.2 Konfigurieren von Webserver-Benutzern Wenn Sie benutzerdefinierte Webseiten (Seite 894) erstellt und aktiviert haben, können Sie über das Navigationsmenü der Standard- bzw. Basis-Webseiten darauf zugreifen. Hinweis Geräteaustausch: Ersetzen einer CPU V3.0 durch eine CPU V4.x Wenn Sie eine vorhandene CPU V3.0 durch eine CPU V4.x ersetzen (Seite 1456) und Ihr V3.0- Projekt in ein V4.x-Projekt konvertieren, müssen Sie beachten, dass STEP 7 und die CPU V4.x die folgenden Webservereinstellungen beibehalten: •...
  • Seite 853 Webserver 12.2 Konfigurieren von Webserver-Benutzern • Variablenzustand schreiben • Benutzerdefinierte Webseiten öffnen • In benutzerdefinierte Webseiten schreiben • Dateien lesen • Dateien schreiben/löschen • Betriebszustand wechseln • LEDs blinken lassen • Firmware-Update durchführen • Sicherungskopie der CPU erstellen • CPU wiederherstellen •...
  • Seite 854 Variablen kann den Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen (Seite 163) und Webserver-Benutzer-IDs durch starke Passwörter.
  • Seite 855: Über Den Pc Auf Die Webseiten Zugreifen

    Webserver 12.3 Über den PC auf die Webseiten zugreifen 12.3 Über den PC auf die Webseiten zugreifen Auf die S7-1200 Standard-Webseiten können Sie mit einem PC oder einem mobilen Gerät über die IP-Adresse der S7‑1200 CPU oder die IP-Adresse eines über Webserver aktivierten CP (Seite 858) im lokalen Baugruppenträger zugreifen.
  • Seite 856: Sicherer Zugriff

    überträgt die Daten über eine sichere Verbindung, die für niemanden sichtbar ist. Üblicherweise wird eine Sicherheitswarnung angezeigt, die Sie mit "Ja" bestätigen müssen, um die Standard- Webseiten aufzurufen. Um die Anzeige der Sicherheitswarnung bei jedem sicheren Zugriff zu vermeiden, können Sie das Siemens-Softwarezertifikat in Ihren Webbrowser importieren (Seite 858). 12.4 Über ein mobiles Gerät auf die Webseiten zugreifen...
  • Seite 857 Webserver 12.4 Über ein mobiles Gerät auf die Webseiten zugreifen In diesem Beispiel kann ein mobiles Gerät, das sich in Reichweite des lokalen Wireless Access Points befindet, die Verbindung zu PLC 3 und PLC 4 über deren IP-Adressen herstellen. Außerhalb der Reichweite des lokalen Funksignals kann ein mobiles Gerät über das Internet die Verbindung zu PLC 1 und PLC 2 mit Hilfe der weitergeleiteten Adresse der jeweiligen PLC herstellen.
  • Seite 858: Verwenden Eines Cp-Moduls Für Den Zugriff Auf Die Webseiten

    Sie ein oder zwei Minuten und versuchen Sie den Zugriff erneut. 12.6 Herunterladen und Installieren eines Sicherheitszertifikats Sie können das Siemens-Standard-Sicherheitszertifikat in Ihre Internet Optionen herunterladen. Mit dem Zertifikat müssen Sie nicht bei jedem Aufruf von https://ww.xx.yy.zz (wobei "ww.xx.yy.zz" die IP-Adresse des Geräts ist) in Ihrem Webbrowser die Sicherheitsabfrage beantworten.
  • Seite 859: Herunterladen Des Zertifikats

    Zertifikate aus der PLC-Konfiguration entfernen. Herunterladen des Zertifikats Klicken Sie auf der Einführungsseite (Seite 866) auf den Link "Zertifikat herunterladen", um das Siemens-Sicherheitszertifikat auf Ihren PC herunterzuladen. Die Vorgehensweise zum Herunterladen und Importieren unterscheidet sich je nach verwendetem Webbrowser. Zertifikat im Internet Explorer importieren 1.
  • Seite 860 7. Wenn der Dialog "Sicherheitswarnung" angezeigt wird, klicken Sie auf "Ja", um die Installation des Zertifikats zu bestätigen. Andere Browser Folgen Sie den Konventionen Ihres Webbrowsers, um das Siemens-Zertifikat zu importieren und zu installieren. Nachdem Sie das Siemens-Sicherheitszertifikat "S7-1200 Controller Family" in den Internetoptionen für die Inhalte Ihres Webbrowsers installiert haben, brauchen Sie keine...
  • Seite 861: Standard-Webseiten

    Webserver 12.7 Standard-Webseiten 12.7 Standard-Webseiten 12.7.1 Aufbau der Standard-Webseiten Alle S7-1200 Standard-Webseiten haben einen gemeinsamen Aufbau und verfügen über Links für die Navigation und Bedienelemente für die Seite. Unabhängig davon, ob Sie die Seite auf einem PC oder einem mobilen Gerät aufrufen, hat jede Seite den gleichen Inhalt. Aufbau und Navigationselemente sind jedoch je nach Bildschirmgröße und Auflösung des Geräts unterschiedlich.
  • Seite 862 Webserver 12.7 Standard-Webseiten ⑥ Navigationsbereich zum Wechseln zu einer anderen Seite ⑦ Inhaltsbereich der spezifischen Standard-Webseite, die Sie gerade anzeigen. In diesem Beispiel handelt es sich um die Diagnoseseite. Hinweis Standard-Webseiten von CP-Modulen Bestimmte CP-Module (Seite 858) bieten Standard-Webseiten, die vom Aussehen und der Funktionalität her den Standard-Webseiten der S7‑1200 CPU ähnlich sind.
  • Seite 863: Anmeldung Und Benutzerrechte

    Webserver 12.7 Standard-Webseiten 12.7.3 Anmeldung und Benutzerrechte Auf dem PC bietet jede der Standard-Webseiten ein Anmeldefenster oberhalb des Navigationsbereichs. Aufgrund von Platzbeschränkungen bieten die Basis-Webseiten eine eigene Anmeldeseite. Die S7-1200 unterstützt mehrere Benutzer-Logins mit verschiedenen Zugriffsstufen (Rechten): • Diagnoseabruf • Variablen lesen •...
  • Seite 864 Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen. Berechtigte Anwender sind in der Lage, Änderungen des Betriebszustands vorzunehmen, PLC- Daten zu schreiben und Firmware-Updates durchzuführen. Siemens empfiehlt, die folgenden Sicherheitsvorkehrungen einzuhalten: • Schützen Sie die CPU-Zugriffsstufen (Seite 163) und Webserver-Benutzer-IDs (Seite 852) durch starke Passwörter.
  • Seite 865 Nach dreißig Minuten Inaktivität werden Sie automatisch abgemeldet. Wenn die angezeigte Seite ständig aktualisiert wird, läuft der Anmeldezeitraum nicht ab und Ihre Sitzung bleibt offen. Hinweis Wenn bei der Anmeldung Fehler auftreten, laden Sie das Siemens-Sicherheitszertifikat (Seite 858) von der Einführungsseite (Seite 866) herunter. Danach können Sie sich fehlerfrei anmelden.
  • Seite 866 Webserver 12.7 Standard-Webseiten Abmelden Zum Abmelden klicken Sie auf einem PC oder einem Mobilgerät mit großem Display einfach auf einer belie‐ bigen Seite auf den Link "Abmelden". Navigieren Sie über die Basisseiten von der Startseite zur Seite für die An- und Abmeldung und tippen Sie auf die Schaltfläche "Abmelden".
  • Seite 867 12.7 Standard-Webseiten Auf dieser Seite klicken Sie auf "Enter", um die S7-1200 Standard-Webseiten aufzurufen. Oben auf der Seite finden Sie Links zu nützlichen Websites von Siemens sowie einen Link, um das Siemens-Sicherheitszertifikat herunterzuladen (Seite 858). Sie können auch angeben, dass die Einführungsseite bei künftigen Zugriffen auf den Webserver übersprungen werden soll.
  • Seite 868 Webserver 12.7 Standard-Webseiten 12.7.6 Diagnose Die Diagnoseseite zeigt identifizierende Eigenschaften der CPU, Konfigurationseinstellungen für Knowhow-Schutz und Speicherauslastung von Ladespeicher, Arbeitsspeicher und remanentem Speicher an: Die Seite enthält drei Register: • Identifikation: identifizierende Eigenschaften von Modul und Anlage sowie Informationen zum Standort aus STEP 7 •...
  • Seite 869 Webserver 12.7 Standard-Webseiten Register "Programmschutz" Das Register "Programmschutz" enthält die folgenden Informationen: • Knowhow-Schutz (Seite 167): Zeigt an, ob Sie für die Programmbausteine in STEP 7 Knowhow-Schutz konfiguriert haben. • Bindung (Seite 168): Zeigt an, ob Sie das Programm entweder an die CPU oder an die SIMATIC Memory Card gebunden haben.
  • Seite 870 12.7 Standard-Webseiten Register "Speicher" Register "Fehlersicher" Weitere Informationen zur Diagnoseseite des Registers "Fehlersicher" finden Sie unterS7-1200 Handbuch Funktionale Sicherheit (https://support.industry.siemens.com/cs/ww/de/view/ 104547552). 12.7.7 Diagnosepuffer Die Diagnosepufferseite zeigt Diagnoseereignisse an. Das neueste Ereignis wird mit Nummer 1 ganz oben angezeigt. Das älteste Ereignis hat die Nummer 50. Im linken Auswahlfeld können Sie wählen, welcher Bereich von Diagnosepuffereinträgen angezeigt werden soll, entweder die...
  • Seite 871 Webserver 12.7 Standard-Webseiten Die Diagnosepuffer-Seite enthält auch eine Schaltfläche , um den Diagnosepuffer als CSV- Datei zu speichern. Standardmäßig speichert der Webserver die Datei im kommagetrennten Format als ASLog.csv in Ihrem Download-Ordner. Die Datei enthält den vollständigen Diagnosepuffer zum Zeitpunkt des Speichervorgangs. Sie können die Datei so oft speichern, wie Sie möchten, und mehrere Dateien behalten.
  • Seite 872 Webserver 12.7 Standard-Webseiten 12.7.8 Modulinformationen Die Modulinformationsseite: • Zeigt Informationen zu allen Modulen im lokalen Baugruppenträger an. Im oberen Abschnitt der Seite wird ein Überblick über die Module basierend auf der Gerätekonfiguration in STEP 7 angezeigt, im unteren Abschnitt werden Zustand, Identifikation und Firmware- Informationen des ausgewählten Moduls basierend auf dem entsprechend angeschlossenen Modul angezeigt.
  • Seite 873: Weitere Einzelheiten Anzeigen

    Webserver 12.7 Standard-Webseiten Sym‐ Bedeutung Wartung notwendig Wartung angefordert Fehler Die CPU kann das Modul oder Gerät nicht erreichen (bei anderen Geräten als der CPU). Die CPU hat eine Verbindung zum Gerät hergestellt, doch der Modulstatus ist unbekannt (bei anderen Geräten als der CPU). Daten zu Eingängen und Ausgängen sind nicht verfügbar, weil das Submodul seine E/A-Kanäle gesperrt hat (bei anderen Geräten als der CPU).
  • Seite 874 Wenn Sie im oberen Bereich auf ein F‑E/A-Modul klicken, wird im unteren Bereich ein Register "Sicherheit" angezeigt. In diesem Register werden spezifische Daten zum ausgewählten Modul wie unter S7-1200 Handbuch Funktionale Sicherheit (https://support.industry.siemens.com/cs/ ww/de/view/104547552) beschrieben angezeigt. Modulinformationen: Register "Firmware" Im Register "Firmware" der Modulinformationsseite werden Informationen über die Firmware des ausgewählten Moduls angezeigt.
  • Seite 875: Firmware-Update Durchführen

    Die CPU muss sich im Betriebszustand STOP befinden, um ein Firmware-Update durchzuführen. Befindet sich die CPU im Betriebszustand STOP, klicken Sie auf die Schaltfläche "Durchsuchen", um eine Firmware-Datei auszuwählen. Firmware-Updates stehen auf der Website Siemens Industry Online-Support (https://support.industry.siemens.com/cs/ww/de) zur Verfügung.
  • Seite 876 Webserver 12.7 Standard-Webseiten verwendet werden. Sie können die Funktion "Warmstart" zu keinem anderen Zeitpunkt aufrufen. 12.7.9 Kommunikation Die Kommunikationsseite zeigt die Parameter der angeschlossenen CPU, Kommunikationsstatistiken, Ressourcen und Informationen zu Verbindungen an. Für die Anzeige der Kommunikationsseite benötigen Sie das Recht "Diagnose abfragen". Register "Parameter"...
  • Seite 877 Webserver 12.7 Standard-Webseiten Register "Statistik" Das Register "Statistik" zeigt eine Statistik der Sende- und Empfangskommunikation an: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 878 Webserver 12.7 Standard-Webseiten Register "Verbindungsressourcen" Das Register "Verbindungsressourcen" zeigt Informationen über die Gesamtanzahl der Verbindungsressourcen an und wie diese den verschiedenen Arten der Kommunikation zugeordnet sind: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 879 Webserver 12.7 Standard-Webseiten Register "Verbindungsstatus" Das Register "Verbindungsstatus" zeigt die Verbindungen der CPU und die Verbindungsdetails der ausgewählten Verbindung an. 12.7.10 Variablenstatus Auf der Seite Variablenstatus können Sie alle E/A oder Speicherdaten in Ihrer CPU anzeigen. Sie können eine direkte Adresse (wie %E0.0), einen PLC-Variablennamen oder eine Variable aus einem spezifischen Datenbaustein eingeben.
  • Seite 880 Webserver 12.7 Standard-Webseiten Zum Anzeigen der Seite Variablenstatus ist das Recht "Variablenstatus lesen" erforderlich. Wenn Sie sich als Benutzer mit dem Recht (Seite 863) "Variablenstatus schreiben" anmelden, können Sie die Datenwerte auch ändern. Geben im entsprechenden Feld "Steuerwert" die Werte ein, die Sie festlegen möchten.
  • Seite 881: Beobachtungstabellen

    Webserver 12.7 Standard-Webseiten Bei Werten, die häufig beobachten oder bedienen, sollten Sie in Betracht ziehen, stattdessen eine Beobachtungstabelle (Seite 881) zu verwenden. Hinweis Beachten Sie bei der Nutzung der Standardseite für den Variablenstatus Folgendes: • Setzen Sie alle Zeichenkettenänderungen in einzelne Hochkommata. •...
  • Seite 882 Webserver 12.7 Standard-Webseiten STEP 7-Konfiguration zur Auswahl von Beobachtungstabellen für den Webserver In der Gerätekonfiguration der CPU in STEP 7 können Sie Beobachtungstabellen, die vom Webserver angezeigt werden sollen, hinzufügen. Für jede Beobachtungstabelle, die Sie in der Liste der vorhandenen Beobachtungstabellen auswählen, weisen Sie entweder Rechte zum Lesen oder zum Lesen/Schreiben zu.
  • Seite 883: Online-Sicherung

    Webserver 12.7 Standard-Webseiten Ändern von Variablen in Beobachtungstabellen über den Webserver Wenn Sie eine Beobachtungstabelle mit der Zugriffsstufe "Lesen/Schreiben" geladen haben und sich am Webserver mit dem Recht (Seite 852) "Variablen schreiben" angemeldet haben, können Sie Variablenwerte auch genau wie in einer Beobachtungstabelle in STEP 7 ändern. Sie können einen einzelnen Variablenwert ändern und auf "Los"...
  • Seite 884 Webserver 12.7 Standard-Webseiten Wenn Sie die Seite "Online-Sicherung" über eines der Web-fähigen CP-Module aufgerufen haben, können Sie eine Sicherung durchführen, jedoch keine Wiederherstellung. Hinweis Sicherungs- und Wiederherstellungsfunktionen können Sie auch in STEP 7 (Seite 1247) durchführen. In der vollständigen Beschreibung dieser Themen erfahren Sie, welche Daten Sie sichern und wiederherstellen können.
  • Seite 885 Webserver 12.7 Standard-Webseiten PLC wiederherstellen Geben Sie im Bereich PLC wiederherstellen der Seite das Benutzerpasswort für den Webserver ein und klicken Sie auf die Schaltfläche "Durchsuchen" oder "Datei wählen" (abhängig von Ihrem Browser), um eine zuvor gespeicherte Sicherungsdatei auszuwählen. Klicken Sie auf die Schaltfläche "Online-Sicherung laden"...
  • Seite 886: Datenprotokollseite

    Webserver 12.7 Standard-Webseiten 12.7.13 Datenprotokollseite Auf der Seite "Datenprotokolle" können Sie mit Datenprotokollen aus Ihrem STEP 7-Programm interagieren. Sie können: • eine Liste sämtlicher Datenprotokolle auf Ihrer PLC anzeigen • ein Datenprotokoll von Ihrer PLC auf Ihren Computer laden • ein Datenprotokoll von Ihrer PLC löschen •...
  • Seite 887 Webserver 12.7 Standard-Webseiten Wenn im STEP 7-Programm ein Datenprotokoll geöffnet ist oder in ein Datenprotokoll geschrieben wird, kann der Webserver die Datenprotokolldatei nicht löschen, nicht laden sowie nicht abrufen und löschen. Außerdem können Sie, während der Webserver ein Datenprotokoll entweder über den Befehl zum Laden oder den Befehl zum Abrufen und Löschen lädt, keinen anderen Datenprotokollvorgang durchführen, bis der Ladevorgang beendet ist oder abgebrochen wurde.
  • Seite 888: Ein Datenprotokoll Löschen

    Webserver 12.7 Standard-Webseiten Vorgang Fehlerbedingung Fehlermeldung Herunterladen Anwendung beschäftigt • Anwenderprogramm hält die Datenprotokolldatei geöff‐ Löschen • Laden eines Datenprotokolls findet gerade statt Abrufen/Löschen Herunterladen Interner Fehler • Unerwarteter interner PLC-Fehler Löschen Abrufen/Löschen Ein Datenprotokoll löschen Sie können ein Datenprotokoll löschen, indem Sie in der Spalte "Löschen" eines Datenprotokolls auf das Symbol klicken.
  • Seite 889 Webserver 12.7 Standard-Webseiten "Anwenderdateien" anzeigen. Wenn Sie Rechte zum Lesen und Schreiben von Dateien haben, können Sie außerdem: • eine Liste sämtlicher Anwenderdateien auf Ihrer PLC anzeigen • eine Anwenderdatei von Ihrer PLC auf Ihren Computer herunterladen • eine Anwenderdatei von Ihrem Computer in Ihre PLC hochladen •...
  • Seite 890: Seitenaufteilung In Der Liste Der Anwenderdateien

    Webserver 12.7 Standard-Webseiten Seitenaufteilung in der Liste der Anwenderdateien In der Liste der Anwenderdateien werden jeweils 50 Einträge auf einer Seite angezeigt. In einer Klappliste können Sie den Bereich auswählen, den Sie anzeigen möchten. Liste der Anwenderdateien drucken Sie können die Liste der Anwenderdateien auf Ihrer PLC drucken, indem Sie auf Ihrer PLC- Webseite auf das Symbol "Drucken"...
  • Seite 891: Fehler In Zusammenhang Mit Anwenderdateien

    Webserver 12.7 Standard-Webseiten Fehler in Zusammenhang mit Anwenderdateien Die Seite "Anwenderdateien" zeigt eine Fehlermeldung an, wenn die Ausführung eines Vorgangs fehlschlägt: Die Fehlermeldung wird so lange auf der Seite angezeigt, bis Sie die Seite "Anwenderdateien" neu laden. Die folgenden Vorgänge verursachen, dass der Webserver die Seite "Anwenderdateien"...
  • Seite 892: Eine Anwenderdatei Hochladen

    Webserver 12.7 Standard-Webseiten Vorgang Fehlerbedingung Fehlermeldung Herunterladen Fehler beim Löschen der Datei - Memory • Datei ist nicht vorhanden Card ist schreibgeschützt Löschen • Interner PLC-Fehler Abrufen/Löschen Anwenderdatei hochladen • Fehler beim Hochladen der Datei Dateiname fehlt oder ist ungültig •...
  • Seite 893: Api Für Datenprotokolle Und Anwenderdateien

    Webserver 12.7 Standard-Webseiten 12.7.15 API für Datenprotokolle und Anwenderdateien API für Datenprotokolle und Anwenderdateien Für die S7-1200 gibt es eine API-Funktion für Datenprotokolle und Anwenderdateien. Weitere Informationen finden Sie im S7-1500, ET200SP, ET200pro Webserver-Handbuch. 12.7.16 Dateibrowser Die Dateibrowser-Seite bietet Zugriff auf Dateien im internen Ladespeicher der CPU und auf der Memory Card (externer Ladespeicher).
  • Seite 894: Benutzerdefinierte Webseiten

    über die Angriffe mittels Cross-Site-Scripting (XSS), Code Injection oder andere Methoden möglich sind. Schützen Sie Ihre S7‑1200 CPU durch sichere Installation vor unberechtigtem Zugriff. Informationen dazu finden Sie in den "Operational Guidelines" auf der Industrial Security- Website (http://www.siemens.com/industrialsecurity). S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 895: Html-Seiten Anlegen

    • HTML-Seiten mit einem HTML-Editor wie Microsoft Frontpage anlegen (Seite 895) • AWP-Befehle in HTML-Kommentare im HTML-Code einfügen (Seite 896):Bei den AWP- Befehlen handelt es sich um einen fest vorgegebenen Satz Befehle, den Siemens für den Zugriff auf CPU-Informationen bereitstellt.
  • Seite 896: Benutzerdefinierte Webseiten Aktualisieren

    Dateien muss unterhalb dieses Grenzwerts bleiben, damit STEP 7 Ihre Seiten richtig übersetzen kann. Siemens empfiehlt, alle Web-Ressourcendateien (CCC-Dateien, Bilder, JavaScript-Dateien und HTML-Dateien) mit einer Größe von maximal 512 KB zu erstellen. Andernfalls können Probleme beim Senden der Datei vom Webserver zum Browser auftreten. Sie sehen die Größe der jeweiligen Web-Ressourcendatei im Dateiexplorer des Verzeichnisses.
  • Seite 897: Überblick Über Die Awp-Befehle

    Webserver 12.8 Benutzerdefinierte Webseiten • Enum-Typen definieren (Seite 905) • Variablen zu Enum-Typen zuweisen (Seite 905) • Datenbausteinfragmente erstellen (Seite 907) Allgemeine Syntax Mit Ausnahme des Befehls zum Lesen einer Variablen haben die AWP-Befehle die folgende Syntax: <!-- AWP_ <Befehlsname und Parameter> --> Sie nutzen die AWP-Befehle in Verbindung mit typischen HTML-Formularbefehlen, um Variablen in die CPU zu schreiben.
  • Seite 898 Webserver 12.8 Benutzerdefinierte Webseiten Sondervariablen lesen <!-- AWP_Out_Variable Name='<Typ>:<Name>' [Use='<Varname>'] --> Sondervariablen schreiben <!-- AWP_In_Variable Name='<Typ>:<Name>' [Use='<Varname>']--> Enum-Typen definieren <!-- AWP_Enum_Def Name='<Name Enum- Typ>' Values='<Wert>, <Wert>,... ' --> Enum-Typen definieren <!-- AWP_In_Variable Name='<Varname>' Enum="<Name Enum-Typ>" --> <!-- AWP_Out_Variable Name='<Varname>' Enum="<Name Enum-Typ>" --> Fragmente erstellen <!-- AWP_Start_Fragment Name='<Name>' [Type=<Typ>][ID=<ID>] -->...
  • Seite 899 Webserver 12.8 Benutzerdefinierte Webseiten Beispiel für das Lesen einer über Alias angegebenen Variable <!-- AWP_Out_Variable Name='Merker1' Use='"Mein_Datenbaustein".flag1' --> :=Merker1: Hinweis Wie Sie Aliasnamen für PLC-Variablen und Datenbausteinvariablen definieren, wird unter Alias für einen Variablenverweis nutzen (Seite 904) beschrieben. Wenn ein Variablenname oder Datenbausteinname Sonderzeichen enthält, müssen Sie zusätzlich Anführungszeichen oder Escape-Zeichen verwenden.
  • Seite 900: Beispiele Mit Html-Eingabefeldern

    Webserver 12.8 Benutzerdefinierte Webseiten Parameter <Varname1> Wenn keine Use-Klausel angegeben ist, ist Varname1 die Variable, in die geschrieben wird. Hierbei kann es sich um eine PLC-Variable aus Ihrem STEP 7-Programm, um eine Variable aus einem spezifischen Datenbaustein oder um einen Datenbausteinnamen handeln.
  • Seite 901: Beispiel Mit Beschreibbarem Datenbaustein

    Webserver 12.8 Benutzerdefinierte Webseiten Beispiel mit beschreibbarem Datenbaustein <!-- AWP_In_Variable Name='"Datenbaustein_1"' --> <form method="post"> <p>Bremsen: <input name='"Datenbaustein_1".Bremsen' type="text" /> % </p> <p>Turbinendrehzahl: <input name='"Datenbaustein_1".Turbinendrehzahl' size="10" value='"Datenbaustein_1".Turbinendrehzahl' type="text" /> </p> </form> Beispiel mit einer HTML-Auswahlliste <!-- AWP_In_Variable Name='"Datenbaustein_1".FreigabeManuelleÜbersteuerung'--> <form method="post"> <select name='"Datenbaustein_1".FreigabeManuelleÜbersteuerung'> <option value=:"Datenbaustein_1".FreigabeManuelleÜbersteuerung:>...
  • Seite 902 Webserver 12.8 Benutzerdefinierte Webseiten Parameter <Typ> Der Typ der Sondervariablen; möglich sind: HEADER COOKIE_VALUE COOKIE_EXPIRES <Name> In der HTTP-Dokumentation finden Sie eine Liste aller Namen der HEADER-Variablen. Hier werden einige Beispiele aufgeführt: Status: Antwortcode Location: Pfad für die Umleitung Retry-After: Zeitdauer, über die der Dienst dem anfordernden Client voraussichtlich nicht zur Verfügung steht.
  • Seite 903 Webserver 12.8 Benutzerdefinierte Webseiten 12.8.2.4 Sondervariablen schreiben Der Webserver bietet die Möglichkeit, Werte aus Sondervariablen der HTTP-Antwortkopfzeile in die CPU zu schreiben. Sie können beispielsweise in STEP 7 Informationen zu dem Cookie einer benutzerdefinierten Webseite, zu dem Benutzer, der auf eine Seite zugreift, oder Header- Informationen speichern.
  • Seite 904 Webserver 12.8 Benutzerdefinierte Webseiten In diesem Beispiel schreibt die Webseite den Wert der HTTP-Sondervariablen "SERVER:current_user_id" in die PLC-Variable "Meine_Benutzer-ID". Hinweis Nur ein Benutzer mit Rechten zum Ändern von Variablen kann Daten in die CPU schreiben. Der Webserver ignoriert die Befehle, wenn der Benutzer keine Änderungsrechte hat. Wenn ein Variablenname oder Datenbausteinname Sonderzeichen enthält, müssen Sie zusätzliche Anführungszeichen oder Escape-Zeichen verwenden.
  • Seite 905 Webserver 12.8 Benutzerdefinierte Webseiten <-- AWP_Out_Variable Name='Gewicht' Use='"Gewicht_Rohmilchbehälter"' --> In diesem Beispiel kann der Wert der PLC-Variable "Gewicht_Rohmilchbehälter" in der übrigen benutzerdefinierten Webseite einfach als "Gewicht" angegeben werden. Wenn ein Variablenname oder Datenbausteinname Sonderzeichen enthält, müssen Sie zusätzlich Anführungszeichen oder Escape-Zeichen verwenden. Dies wird unter Handhabung von Variablennamen mit Sonderzeichen (Seite 909) beschrieben.
  • Seite 906 Webserver 12.8 Benutzerdefinierte Webseiten Syntax <!-- AWP_In_Variable Name='<Varname>' Enum="<Enum-Typ>" --> <!-- AWP_Out_Variable Name='<Varname>' Enum="<Enum-Typ>" --> Parameter <Varname> Name der PLC-Variable oder Datenbausteinvariable, die dem Enum-Typ zugewiesen werden soll, oder Name des Aliasnamens einer PLC-Variable (Seite 904), sofern de‐ klariert. Varname muss in einfache Anführungszeichen gesetzt werden. Innerhalb der einfa‐ chen Anführungszeichen setzen Sie eine PLC-Variable sowie einen Datenbausteinna‐...
  • Seite 907: Fragmente Erstellen

    Webserver 12.8 Benutzerdefinierte Webseiten <p><input type="hidden" name='"Alarm"' value="Behälter ist voll" /></ p> <p><input type="submit" value='Behälter ist voll setzen' /><p> </form> Weil die Definition des Enum-Typs (Seite 905) dem numerischen Wert 1 den Text "Behälter ist voll" zuweist, wird der Wert 1 in den Aliasnamen "Alarm" geschrieben, welcher der PLC-Variablen "Motor1.Alarm"...
  • Seite 908: Fragmente Importieren

    Webserver 12.8 Benutzerdefinierte Webseiten <ID> Ganzzahlige Identifikationsnummer. Wenn Sie den Parameter ID nicht angeben, weist der Webserver standardmäßig eine Nummer zu. Geben Sie bei manuellen Fragmenten für die ID eine niedrige Nummer an. Die ID ist der Weg, über den das STEP 7-Programm ein manuelles Fragment steuert.
  • Seite 909: Definitionen Verbinden

    Webserver 12.8 Benutzerdefinierte Webseiten Auszug aus dem HTML-Code in einer anderen *.html-Datei, der das Fragment mit dem Logobild importiert: <!-- AWP_Import_Fragment Name='Mein_Firmenlogo' --> Beide *.html-Dateien (die Datei, die das Fragment erstellt und die Datei, die das Fragment importiert) befinden sich in der Ordnerstruktur, die Sie festlegen, wenn Sie die benutzerdefinierten Seiten in STEP 7 konfigurieren (Seite 911).
  • Seite 910 Webserver 12.8 Benutzerdefinierte Webseiten • Bei Variablennamen oder Datenbausteinvariablennamen, die einen nach links geneigten Schrägstrich ("Backslash") enthalten, stellen Sie dem Backslash einen weiteren Backslash voran. • Wenn ein Variablenname oder Datenbausteinvariablenname einen Doppelpunkt, ein Kleiner- als-Zeichen, Größer-als-Zeichen oder ein Kaufmanns-Und enthält, definieren Sie für die gelesene Variable einen Alias ohne Sonderzeichen und lesen die Variable über diesen Aliasnamen.
  • Seite 911: Verwendung Von Benutzerdefinierten Webseiten Konfigurieren

    Webserver 12.8 Benutzerdefinierte Webseiten Namens- und Verwendungsklauseln Die AWP-Befehle AWP_In_Variable, AWP_Out_Variable, AWP_Enum_Def, AWP_Enum_Ref, AWP_Start_Fragment und AWP_Import_Fragment haben Namensklauseln. HTML- Formularbefehle wie <input> und <select> haben ebenfalls Namensklauseln. AWP_In_Variable und AWP_Out_Variable können zusätzlich Verwendungsklauseln haben. Unabhängig vom Befehl ist die Syntax von Namens- und Verwendungsklauseln hinsichtlich der Handhabung von Sonderzeichen die gleiche: •...
  • Seite 912: Programmbausteine Generieren

    Webserver 12.8 Benutzerdefinierte Webseiten 4. Wählen Sie "Erlaubt nur HTTPS-Zugriff" aus, um sicherzustellen, dass der Webserver die Kommunikation verschlüsselt, und um die Sicherheit Ihrer über das Web zugänglichen CPU zu erhöhen. 5. Geben Sie den Namen des Ordners auf Ihrem PC ein, in dem Sie die HTML-Standardseite (Startseite) gespeichert haben.
  • Seite 913: Programmbausteine Löschen

    Webserver 12.8 Benutzerdefinierte Webseiten Programmbausteine löschen Um Datenbausteine zu löschen, die Sie zuvor generiert haben, klicken Sie auf die Schaltfläche "Datenbausteine löschen". STEP 7 löscht den Steuerdatenbaustein und alle Datenbausteinfragmente aus Ihrem Projekt, in dem sich die benutzerdefinierten Webseiten befinden. 12.8.4 Konfigurieren der Einstiegsseite In der Gerätekonfiguration der CPU können Sie eine benutzerdefinierte Webseite als...
  • Seite 914: Verwendung Des Steuer-Dbs

    Webserver 12.8 Benutzerdefinierte Webseiten WWW-Anweisung programmieren Das STEP 7-Programm muss die Anweisung WWW ausführen, damit die benutzerdefinierten Webseiten über die Standard-Webseiten aufrufbar sind. Sie können festlegen, dass die benutzerdefinierten Webseiten nur unter bestimmten Bedingungen entsprechend den Anwendungsvoraussetzungen und Einstellungen verfügbar sind. Dann kann Ihre Programmlogik steuern, wann die Anweisung WWW aufzurufen ist.
  • Seite 915: Programmbausteine In Die Cpu Laden

    Webserver 12.8 Benutzerdefinierte Webseiten Typischerweise verwendet Ihr STEP 7-Programm den Steuer-DB direkt wie über den Vorgang "Bausteine generieren" angelegt, ohne weitere Änderungen. Das STEP 7-Anwenderprogramm kann jedoch globale Befehle im Steuer-DB festlegen, um den Webserver zu deaktivieren oder ihn anschließend wieder zu aktivieren. Außerdem muss das STEP 7-Anwenderprogramm das Verhalten von benutzerdefinierten Webseiten, die Sie als manuelle DB-Fragmente anlegen (Seite 911), über eine Anforderungstabelle im Steuer-DB steuern.
  • Seite 916: Einschränkungen Bei Benutzerdefinierten Webseiten

    Webserver 12.8 Benutzerdefinierte Webseiten Hinweis Sie können für den Webserver auch eine benutzerdefinierte Seite als Einstiegsseite definieren (Seite 913). 12.8.8 Einschränkungen bei benutzerdefinierten Webseiten Die Einschränkungen bei Standard-Webseiten (Seite 937) gelten auch bei benutzerdefinierten Webseiten. Zudem gibt es bei benutzerdefinierten Webseiten einige spezifische Aspekte. Kapazität des Ladespeichers Ihre benutzerdefinierten Webseiten werden, wenn Sie auf "Bausteine generieren"...
  • Seite 917: Beispiel Für Eine Benutzerdefinierte Webseite

    Webserver 12.8 Benutzerdefinierte Webseiten 12.8.9 Beispiel für eine benutzerdefinierte Webseite 12.8.9.1 Webseite zum Beobachten und Steuern einer Windturbine Stellen Sie sich als Beispiel für eine benutzerdefinierte Webseite eine Webseite vor, die dazu dient, eine Windturbine entfernt zu beobachten und zu steuern: Beschreibung In dieser Anwendung ist jede Windturbine des Windparks mit einer S7-1200 zur Steuerung der Turbine ausgestattet.
  • Seite 918 Webserver 12.8 Benutzerdefinierte Webseiten Verwendete Dateien Dieses Beispiel für eine benutzerdefinierte Webseite besteht aus drei Dateien: • Windturbine.html: Dies ist die HTML-Seite mit der oben dargestellten Anzeige. Über AWP- Befehle wird auf Steuerungsdaten zugegriffen. • Windturbine.css: Dies ist das Cascading Style Sheet, das die Formatierungsvorgaben für die HTML-Seite enthält.
  • Seite 919: Steuerungsdaten Lesen Und Anzeigen

    Webserver 12.8 Benutzerdefinierte Webseiten • Übersteuerung der Ausrichtung: Aktiviert die manuelle Übersteuerung der Turbinenaus‐ richtung und die manuelle Einstellung der Ausrichtung. Das STEP 7-Anwenderpro‐ gramm verlangt, dass die Einstellung für ma‐ nuelle Übersteuerung und für Übersteue‐ rung der Ausrichtung wahr ist, damit die Aus‐ richtungseinstellung angewendet werden kann.
  • Seite 920: Enum-Typ Verwenden

    Webserver 12.8 Benutzerdefinierte Webseiten <p>Leistungsabgabe:</p> </td> <td> <p style="margin-bottom:5px;"> :="Datenbaustein_1".Leistungsabgabe: kW</p> </td> </tr> 12.8.9.3 Enum-Typ verwenden Die HTML-Seite "Remote Wind Turbine Monitor" verwendet Enum-Typen für die drei Stellen, an denen die HTML-Seite "ON" oder "OFF" für einen Booleschen Wert anzeigt und an der der Benutzer einen Booleschen Wert eingibt.
  • Seite 921: Benutzereingaben In Die Steuerung Schreiben

    Webserver 12.8 Benutzerdefinierte Webseiten </option> <option value="Ein">Ja</option> <option selected value="Aus">Nein</option> </select> Die Auswahlliste ist in einem Formular auf der HTML-Seite enthalten. Wenn der Anwender auf die Schaltfläche "Senden" klickt, lädt die Seite das Formular hoch. Dadurch wird der Wert "1" in die Boolesche Variable "FreigabeManuelleÜbersteuerung"...
  • Seite 922 Webserver 12.8 Benutzerdefinierte Webseiten Hinweis Beachten Sie Folgendes: Wenn eine benutzerdefinierte Seite ein Dateneingabefeld für eine schreibbare Datenbausteinvariable vom Datentyp "String" enthält, muss der Anwender die Zeichenkette bei der Eingabe des Textes in das Feld in einfache Anführungszeichen setzen. Hinweis Beachten Sie, dass, wenn Sie einen gesamten Datenbaustein in einer Deklaration AWP_In_Variable deklarieren, z.
  • Seite 923 Webserver 12.8 Benutzerdefinierte Webseiten Turbinennummer: Int Windgeschwindigkeit: Real Windrichtung: Real Temperatur: Real Leistungsabgabe: Real FreigabeManuelleÜbersteuerung: Bool Turbinendrehzahl: Real ÜbersteuerungAusrichtung: Bool Ausrichtung: Real ÜbersteuerungAnstellwinkel: Bool Anstellwinkel: Real Bremsen: Real Die benutzerdefinierte Webseite zeigt aktuelle Werte für die PLC- Daten und bietet eine Auswahlliste, um die drei Booleschen Werte mit zugewiesenem Aufzählungstyp festzulegen.
  • Seite 924 Webserver 12.8 Benutzerdefinierte Webseiten <h2>Fernüberwachung von Windturbinen: Turbine Nr.:="Datenbaustein_1".Turbinennummer:</h2> </td> <tr style="height: 2%;"><td style="width: 25%;"><p>Windgeschwindigkeit:</p></td> <td><p> :="Datenbaustein_1".Windgeschwindigkeit: km/h</p></td> </tr> <tr style="height: 2%;"> <td style="width: 25%;"><p>Windrichtung:</p></td> <td><p> :="Datenbaustein_1".Windrichtung: Grad</p></td> </tr> <tr style="height: 2%;"><td style="width: 25%;"><p>Temperatur:</p></td> <td><p> :="Datenbaustein_1".Temperatur: Grad C</p></td> </tr> <tr style="height: 2%;"> <td style="width: 25%;"><p>Leistungsabgabe:</p></td>...
  • Seite 925 Webserver 12.8 Benutzerdefinierte Webseiten </td> </tr> <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;"> <p>Übersteuerung Ausrichtung: :="Datenbaustein_1".ÜbersteuerungAusrichtung: </p> </td> <td class="Text">Einstellen: <select name='"Datenbaustein_1".ÜbersteuerungAusrichtung'> <option value=':="Datenbaustein_1".ÜbersteuerungAusrichtung:'> </ option> <option value="Ein">Ja</option> <option value="Aus">Nein</option> </select> </td> </tr> <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;"> <p>Ausrichtung Turbine:</p>...
  • Seite 926 Webserver 12.8 Benutzerdefinierte Webseiten </td> <td> <p style="margin-bottom:5px;"><input name='"Datenbaustein_1".Anstellwinkel' size="10" value=':="Datenbaustein_1".Anstellwinkel:' type="text"> Grad</p> </td> </tr> <tr style="height: 2%;"> <td colspan="2"> <input type="submit" value="Einstellungen und Werte für Übersteuerung absenden"> </td> </tr> </form> <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;"><p>Bremsen:</p></td> <td> <form method="POST"...
  • Seite 927 Webserver 12.8 Benutzerdefinierte Webseiten margin-top:0px; margin-bottom:0px; TD.Text { font-family: Arial; font-weight: bold; color: #FFFFFF; font-size: 12.0pt; margin-top:0px; margin-bottom:0px; 12.8.9.7 Konfiguration der Beispiel-Webseite in STEP 7 Um die HTML-Seite "Remote Wind Turbine Monitor" als benutzerdefinierte Webseite für die S7-1200 einzufügen, konfigurieren Sie die Daten für die HTML-Seite in STEP 7 und erstellen aus der HTML-Seite Datenbausteine.
  • Seite 928: Abschließende Schritte

    Webserver 12.8 Benutzerdefinierte Webseiten Abschließende Schritte Um die HTML-Seite "Remote Wind Turbine Monitor" wie konfiguriert nutzen zu können, erstellen Sie die Bausteine, programmieren die WWW-Anweisung (Seite 913) mit der Nummer des generierten Steuer-DBs als Eingangsparameter, laden die Programmbausteine in die CPU und versetzen die CPU in den Betriebszustand RUN.
  • Seite 929: Sprachumschaltung Programmieren

    Webserver 12.8 Benutzerdefinierte Webseiten 12.8.10.2 Sprachumschaltung programmieren Der Webserver führt die Sprachumschaltung anhand des Cookies "siemens_automation_language" durch. Dieses Cookie wird in den HTML-Seiten definiert und eingerichtet und vom Webserver ausgewertet, um eine Seite in der jeweiligen Sprache aus dem Sprachordner mit dem Namen der entsprechenden Sprache anzuzeigen. Die HTML-Seite muss JavaScript enthalten, um für dieses Cookie eine der vordefinierten Sprachkennungen einzurichten: "de", "en", "es", "fr", "it"...
  • Seite 930 Webserver 12.8 Benutzerdefinierte Webseiten HTML für "langswitch.html" im Ordner "de" Die Kopfzeile für die deutsche Seite "langswitch.html" ist mit der Kopfzeile der englischen Seite identisch, außer dass die deutsche Sprache eingestellt ist. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>...
  • Seite 931 Webserver 12.8 Benutzerdefinierte Webseiten // Geben Sie den Pfad für die Anwendung an, weil ansonsten // der Pfad auf die anfordernde Seite gelegt werden würde // und diese Seite das Cookie nicht erhalten würde. /* OPTIONAL Geben Sie eine Ablaufzeit an, wenn dieses Cookie länger existieren soll als die aktuelle Browser-Sitzung: var now...
  • Seite 932: Erweiterte Steuerung Von Benutzerdefinierten Webseiten

    Webserver 12.8 Benutzerdefinierte Webseiten 12.8.11 Erweiterte Steuerung von benutzerdefinierten Webseiten Wenn Sie für Ihre benutzerdefinierten Webseiten Datenbausteine generieren, erstellt STEP 7 einen Steuer-DB, der die Anzeige von und die Interaktion mit den benutzerdefinierten Webseiten steuert. STEP 7 erstellt zudem einen Satz DB-Fragmente, die die einzelnen Seiten darstellen. Unter normalen Umständen müssen Sie die Struktur des Steuer-DBs nicht kennen und brauchen auch nicht zu wissen, wie Sie ihn ändern.
  • Seite 933: Anforderungstabelle

    Webserver 12.8 Benutzerdefinierte Webseiten Bausteinvariable Datentyp Beschreibung initialized BOOL Webanwendung ist initialisiert last_error Letzter Fehler, der von einem WWW-Anweisungs‐ aufruf (Seite 913) zurückgegeben wurde, wenn der Rückgabecode für WWW 16#0010 lautet: 16#0001: Struktur DB-Fragment inkonsistent 16#0002: Name der Anwendung existiert bereits 16#0003: keine Ressourcen (Speicher) 16#0004: Struktur Steuer-DB inkonsistent 16#0005: DB-Fragment nicht verfügbar...
  • Seite 934 Webserver 12.8 Benutzerdefinierte Webseiten Bausteinvariable Datentyp Beschreibung waiting BOOL Fragment wartet auf Freigabe sending BOOL Fragment sendet aborting BOOL Benutzer hat die aktuelle Anforderung abgebro‐ chen Funktionsweise Immer wenn Ihr Programm den Steuer-DB ändert, muss es die WWW-Anweisung mit der Nummer des geänderten Steuer-DBs als Parameter aufrufen.
  • Seite 935 Die S7‑1200 CPU bietet eine Web-API, die Ihnen als Schnittstelle zum Lesen und Schreiben von Prozessdaten dient. Die S7‑1200 Web-API implementiert die Funktionalität der S7‑1500 Web- API, die im Kapitel Webseiten > Anwendungsprogrammierschnittstelle (API) in diesem Dokument (https://support.industry.siemens.com/cs/us/en/view/59193560/de) dokumentiert wird. Das S7‑1500 Dokument beschreibt die Web-API-Funktionalität für einen bestimmten Satz S7-1500 CPUs.
  • Seite 936: Unterstützte Web-Api-Methoden

    Die von der S7‑1500 Web-API unterstützten Datentypen finden Sie hier: Webseiten > Anwendungsprogrammierschnittstelle (API) > Prozessdaten lesen und schreiben > Unterstützte Datentypen in diesem Dokument (https:// support.industry.siemens.com/cs/us/en/view/59193560/de). 12.8.12.2 Unterstützte Web-API-Methoden Ab V4.5 unterstützt die S7-1200 die folgenden Web-API-Methoden: Unterstützte Web-API-Methoden Api.Ping...
  • Seite 937: Anzahl Der Verbindungen

    Webseiten über eine der beiden URLs http://ww.xx.yy.zz oder https://ww.xx.yy.zz aufrufen. Dabei steht "ww.xx.yy.zz" für die IP-Adresse der CPU. • Siemens bietet für den sicheren Zugriff auf den Webserver ein Sicherheitszertifikat. Auf der Standard-Webseite "Einführung" (Seite 866) können Sie das Zertifikat herunterladen und in die Internetoptionen Ihres Webbrowsers importieren (Seite 858).
  • Seite 938: Verwendung Von Javascript

    Webserver 12.9 Einschränkungen Beachten Sie auch, dass die Anzahl aktiver Verbindungen die Leistung der Seite beeinflussen kann. Deshalb werden die Webseiten möglicherweise nicht vollständig geladen. Hinweis Vor dem Schließen des Webservers abmelden Wenn Sie sich am Webserver angemeldet haben, sollten Sie sich vor dem Schließen des Webbrowsers unbedingt abmelden.
  • Seite 939: Regeln Für Die Eingabe Von Variablennamen Und Werten

    Webserver 12.9 Einschränkungen 12.9.3 Regeln für die Eingabe von Variablennamen und Werten Beachten Sie bei der Nutzung der Standardseiten Variablenstatus (Seite 879)undBeobachtungstabellen (Seite 881) Folgendes: • Wenn Sie den gesamten Wert einer DTL-Variablen ändern, z. B. "Datenbaustein_1_.DTL_Variable, verwenden Sie die folgende DTL-Syntax für den Änderungswert: DTL#JJJJ-MM-TT-HH-MM-SS[.sssssssss] •...
  • Seite 940 Webserver 12.9 Einschränkungen 4. Ändern Sie im Textimport-Assistenten die Standardoption für "Ursprünglicher Datentyp" von "Feste Breite" in "Getrennt". 5. Wählen Sie die Schaltfläche "Weiter". 6. Aktivieren Sie im Dialog "Schritt 2" das Kontrollkästchen "Komma", um den Trennzeichentyp von "Tab" in "Komma" zu ändern. 7.
  • Seite 941: Kommunikationsprozessor Und Modbus-Tcp

    Kommunikationsprozessor und Modbus-TCP 13.1 Mit den seriellen Kommunikationsschnittstellen arbeiten Zwei Kommunikationsmodule (CMs) und ein Kommunikationsboard (CB) bieten die Schnittstelle für die PtP-Kommunikation: • CM 1241 RS232 (Seite 1427) • CM 1241 RS422/485 (Seite 1428) • CB 1241 RS485 (Seite 1424) Sie können bis zu drei CMs (jeden Typs) plus ein CB, insgesamt vier Kommunikationsschnittstellen anschließen.
  • Seite 942: Abschließen Eines Rs485-Busanschlusssteckers

    13.2 Abschließen eines RS485-Busanschlusssteckers Siemens bietet einen RS485-Busanschlussstecker (Seite 1443), mit dem Sie problemlos mehrere Geräte an ein RS485-Netz anschließen können. Der Stecker verfügt über zwei Klemmensätze, mit denen Sie die Eingangs- und Ausgangskabel für das Netz befestigen können. Der Stecker verfügt zudem über Schalter, um das Netz selektiv abschließen zu können.
  • Seite 943: Punkt-Zu-Punkt-Kommunikation (Ptp)

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Schaltkreis aufzunehmen. CB 1241 hat keinen 9-poligen Steckverbinder. Die folgende Tabelle zeigt die Anschlüsse an einen 9-poligen Steckverbinder am Kommunikationspartner. Tabelle 13-2 Abschluss des CB 1241 Abschlussgerät (Abschluss EIN) Kein Abschlussgerät (Abschluss AUS) ① M an den Kabelschirm anschließen ①...
  • Seite 944 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.1 PtP, frei programmierbare Kommunikation Das Punkt-zu-Punkt-Protokoll für die frei programmierbare Kommunikation bietet maximale Freiheit und Flexibilität, erfordert jedoch eine aufwändige Implementierung im Anwenderprogramm. PtP bietet eine Vielzahl an Möglichkeiten: • Direktes Senden von Informationen an ein externes Gerät, wie z.
  • Seite 945 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Die S7-1200 unterstützt daher zwei Sätze PtP-Anweisungen: • Ältere Punkt-zu-Punkt-Anweisungen (Seite 1117): Diese Anweisungen wurden vor der Version V4.0 der S7-1200 benutzt und ermöglichen nur die serielle Kommunikation mit Hilfe eines Kommunikationsmoduls CM 1241 oder eines Kommunikationsboards CB 1241. •...
  • Seite 946: Kommunikationsmodul Konfigurieren

    Eine vollständige Beschreibung des Protokolls finden Sie in dem Kapitel des Handbuchs Handbuch S7-300 Punkt-zu-Punkt-Kopplung CP 341 Aufbauen und Parametrieren. (https:// support.industry.siemens.com/cs/de/de/view/1117397), in dem die Prinzipien der seriellen Datenübertragung beschrieben werden. Kommunikationsmodul konfigurieren Um mit einem Partner über das Protokoll 3964(R) zu kommunizieren, müssen Sie eines der folgenden Kommunikationsmodule in Ihre Gerätekonfiguration in STEP 7 einschließen:...
  • Seite 947: Konfigurieren Der Frei Programmierbaren Ptp-Kommunikation

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Sie können auch die früheren Punkt-zu-Punkt-Anweisungen zum Senden und Empfangen verwenden: • SEND_PTP (Sendepufferdaten übertragen) (Seite 1125) • RCV_PTP (Empfangsmeldungen aktivieren) (Seite 1128) 13.3.3 Konfigurieren der frei programmierbaren PtP-Kommunikation Zur Konfiguration der Kommunikationsschnittstellen für die frei programmierbare PtP- Kommunikation sind die folgenden Vorgehensweisen möglich: •...
  • Seite 948 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Beim CM 1241 RS422/485 stehen zusätzliche Optionen für die Portkonfiguration, wie unten dargestellt, zur Verfügung. Der 422-Modus des CM 1241 RS422/485 unterstützt auch die Software-Flusskontrolle. Wählen Sie "Portkonfiguration", um die folgenden RS422/485-Parameter zu bearbeiten: •...
  • Seite 949: Steuerung Der Flusskontrolle

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.3.1 Steuerung der Flusskontrolle Die Flusskontrolle sorgt für den Ausgleich zwischen unterschiedlichen Kapazitäten von Absender und Empfänger der Daten, so dass keine Daten verlorengehen. Mit der Flusskontrolle ist gewährleistet, dass der Absender nicht mehr Informationen überträgt als der Empfänger verarbeiten kann.
  • Seite 950: Sendeparameter Konfigurieren

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Signale Data Terminal Ready (DTR) und Data Set Ready (DSR) Das CM setzt DTR für jede Art der Hardware-Flusskontrolle auf 1. Es überträgt erst, wenn das Signal DSR eingeschaltet wird. Der Zustand von DSR wird nur am Anfang der Sendefunktion ausgewertet.
  • Seite 951 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Sie können ferner die Parameter für das Senden einer Meldung im Anwenderprogramm mit der Anweisung Send_Config (Seite 968) dynamisch konfigurieren oder ändern. Hinweis Parameterwerte, die mit Send_Config im Anwenderprogramm eingegeben wurden, überschreiben die Eigenschaften "Konfiguration Sendemeldung". Parameter, die mit der Anweisung Send_Config eingegeben wurden, werden bei einer Abschaltung nicht in der CPU gespeichert.
  • Seite 952: Empfangsparameter Konfigurieren

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.3.3 Empfangsparameter konfigurieren In der Gerätekonfiguration der CPU legen Sie fest, wie Daten über eine Kommunikationsschnittstelle empfangen und wie Meldungsbeginn und Meldungsende erkannt werden sollen. Sie geben diese Parameter in den Eigenschaften "Konfiguration Empfangsmeldung" für die ausgewählte Schnittstelle an. Sie können ferner die Meldungsparameter im Anwenderprogramm mit der Anweisung Receive_Config (Seite 970) dynamisch konfigurieren oder ändern.
  • Seite 953 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) empfangen wird (nicht das angegebene Startzeichen), startet das CM bzw. CB die Suche nach dem Meldungsstart erneut, indem es auf die Zeit für den Leitungsleerlauf wartet. Parameter Definition Start mit beliebigem Zeichen Die Bedingung "Beliebiges Zeichen" gibt an, dass durch erfolgreichen Empfang eines beliebigen Zeichens ein Meldungsbeginn angezeigt wird.
  • Seite 954 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Beispielkonfiguration: Meldungsbeginn bei einer von zwei Zeichenfolgen Beachten Sie die folgende Konfiguration der Bedingungen für den Meldungsbeginn: S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 955: Bedingungen Für Das Meldungsende

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Bei dieser Konfiguration ist die Startbedingung erfüllt, wenn eines der folgenden Bitmuster vorliegt: • Empfang einer Zeichenfolge mit 5 Zeichen, bei der das erste Zeichen 0x6A und das fünfte Zeichen 0x1C ist. Die Zeichen 2, 3 und 4 können hierbei beliebig sein. Nach dem Empfang des fünften Zeichens beginnt die Überwachung auf die Endebedingung.
  • Seite 956 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) zwischen zwei beliebigen Zeichen 40 Bitzeiten überschreitet oder wenn 50 Bytes empfangen wurden. Parameter Definition Meldungsende erkennen Das Meldungsende ist erreicht, wenn die konfigurierte Wartezeit auf das Meldungsende ab‐ durch Meldungs-Timeout gelaufen ist. Die Timeout-Zeit der Meldung beginnt, wenn eine Startbedingung erfüllt wurde. Die Voreinstellung ist 200 ms, der Wertebereich ist 0 bis 65535 ms.
  • Seite 957 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter Definition Meldungsende durch Zei‐ Das Meldungsende ist erreicht, wenn die konfigurierte maximale Zeit zwischen zwei beliebi‐ chenabstand erkennen gen, aufeinanderfolgenden Zeichen einer Meldung abgelaufen ist. Die Voreinstellung für den Zeichenabstand ist 12 Bittakte und die maximale Zahl ist 65535 Bittakte, bis maximal acht Sekunden.
  • Seite 958: Angabe Der Meldungslänge In Der Meldung

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Beispielkonfiguration: Meldung mit einer Zeichenfolge beenden Beachten Sie die folgende Konfiguration der Bedingungen für das Meldungsende: Die Endebedingung ist in diesem Fall erfüllt, wenn zwei aufeinanderfolgende Zeichen 0x6A, gefolgt von zwei beliebigen Zeichen, empfangen werden. Das Zeichen vor 0x6A 0x6A gehört nicht zur Endezeichenfolge.
  • Seite 959 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Beispiel 1: Es wird eine Meldung betrachtet, die nach dem folgenden Protokoll strukturiert ist: Zeichen 3 bis 14, nach Länge gezählt INDEX 0x0C xxxx xxxx xxxx xxxx xxxx Die Parameter für die Länge des Meldungsempfangs konfigurieren Sie wie folgt: •...
  • Seite 960: Konfigurieren Der 3964(R)-Kommunikation

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.4 Konfigurieren der 3964(R)-Kommunikation 13.3.4.1 Konfigurieren der 3964(R)-Kommunikationsports Zur Konfiguration der Kommunikationsschnittstellen für die 3964(R)-Kommunikation sind die folgenden Vorgehensweisen möglich: • Konfigurieren Sie die Portparameter in der Gerätekonfiguration in STEP 7. Die CPU speichert die Einstellungen in der Gerätekonfiguration und übernimmt die Einstellungen nach einem Neustart.
  • Seite 961: Konfigurieren Von 3964(R)-Priorität Und Protokollparametern

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter Definition Drahtbruch* Aktivieren Sie eine der folgenden Optionen: • Keine Drahtbruchprüfung • Drahtbruchprüfung aktivieren Baudrate Die Voreinstellung für die Baudrate ist 9,6 kBit/s. Gültige Werte sind: 300 Baud, 600 Baud, 1,2 kBit/s, 2,4 kBit/s, 4,8 kBit/s, 9,6 kBit/s, 19,2 kBit/s, 38,4 kBit/s, 57,6 kBit/s, 76,8 kBit/s und 115,2 kBit/s.
  • Seite 962 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter Definition Priorität Hoch oder niedrig: Das CM hat entweder hohe oder niedrige Priorität und der Kommunikati‐ onspartner muss die entgegengesetzte Priorität haben. Mit Blockprüfung (3964) Wenn ausgewählt, wird die Übertragungssicherheit bei der 3964(R)-Kommunikation durch Einschließen eines Blockprüfzeichens (BCC) angewendet.
  • Seite 963: Punkt-Zu-Punkt-Anweisungen

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.5 Punkt-zu-Punkt-Anweisungen 13.3.5.1 Gemeinsame Parameter für Punkt-zu-Punkt-Operationen Tabelle 13-3 Allgemeine Eingangsparameter der PTP-Anweisungen Parameter Beschreibung Viele der PtP-Anweisungen haben einen Eingang REQ, der die Anweisung bei einer steigenden Flanke (0 nach 1) initiiert. Der Eingang REQ muss während der Ausführung einer Anweisung 1 (WAHR) sein, doch der Eingang REQ kann so lange wie gewünscht WAHR bleiben.
  • Seite 964 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter Datentyp Standard Beschreibung ERROR Bool FALSCH Wird eine Ausführung lang auf WAHR gesetzt, um anzuzeigen, dass die letzte Anforderung mit Fehlern abgeschlossen wurde, der ent‐ sprechende Fehlercode befindet sich in STATUS; andernfalls FALSCH. STATUS Word Ergebniszustand:...
  • Seite 965 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Tabelle 13-6 Gemeinsame Fehlerklassen Beschreibung der Klasse Fehlerklassen Beschreibung Portkonfiguration 16#81Ax Für die Beschreibung häufiger Fehler in der Schnittstellenkonfigu‐ ration Sendekonfiguration 16#81Bx Für die Beschreibung häufiger Fehler in der Sendekonfiguration Empfangskonfiguration 16#81Cx Für die Beschreibung häufiger Fehler in der Empfangskonfiguration 16#82Cx Sende-Laufzeit 16#81Dx...
  • Seite 966 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Informationen finden Sie unter Kommunikationsports konfigurieren (Seite 947) und Flusskontrolle verwalten (Seite 949). Tabelle 13-8 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Aktiviert die Konfigurationsänderung bei steigender Flanke dieses Eingangs. (Standardwert: Falsch) PORT PORT Nachdem Sie das CM oder CB eingebaut und konfiguriert haben, erscheint die...
  • Seite 967 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung LINE_PRE UInt Gibt den inaktiven Leitungszustand (Leerlauf) an. Für RS422- und RS485-Mo‐ dule wird der inaktive Leitungszustand durch Anlegen einer Vorspannung an die Signale R(A) und R(B) hergestellt. Die folgenden Einstellungen sind mög‐ lich: •...
  • Seite 968 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.5.3 Send_Config (Parameter für die serielle Kommunikation dynamisch konfigurieren) Tabelle 13-10 Anweisung Send_Config (Sendekonfiguration) KOP/FUP Beschreibung "Send_Config_DB"( Send_Config ermöglicht das dyna‐ mische Konfigurieren serieller Über‐ REQ:=_bool_in_, PORT:=_word_in_, tragungsparameter für eine PtP- Kommunikationsschnittstelle. In ei‐ RTSONDLY:=_uint_in_, RTSOFFDLY:=_uint_in_, nem CM oder CB anstehende Mel‐...
  • Seite 969 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung IDLELINE UInt Dieser Parameter gibt an, dass vor dem Start jeder Meldung für die angegebene Anzahl von Bitzeiten die Leitung im Leerlauf bleibt. Maximal sind 65535 Bit‐ zeiten bis maximal 8 Sekunden möglich. Der Wert 0 deaktiviert die Funktion. (Standardwert: 0) USR_END* STRING[2]...
  • Seite 970 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.5.4 Receive_Config (Parameter für den seriellen Empfang dynamisch konfigurieren) Tabelle 13-13 Anweisung Receive_Config (Empfangskonfiguration) KOP/FUP Beschreibung "Receive_Config_DB"( Receive_Config führt die dynami‐ sche Konfiguration serieller Emp‐ REQ:=_bool_in_, PORT:=_uint_in_, fangsparameter für eine PtP-Kom‐ munikationsschnittstelle durch. Die‐ Receive_Conditions:=_struct _in_, se Anweisung konfiguriert die Bedin‐...
  • Seite 971: Datentypstruktur Des Parameters Conditions, Teil 1 (Startbedingungen)

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Startbedingungen für die Anweisung Receive_P2P Die Anweisung Receive_P2P verwendet die von der Anweisung Receive_Config angegebene Konfiguration, um Anfang und Ende von Punkt-zu-Punkt-Kommunikationsmeldungen zu bestimmen. Der Meldungsbeginn wird von den Startbedingungen festgelegt. Der Meldungsbeginn kann anhand von einer oder mehreren Startbedingungen ermittelt werden. Sind mehrere Startbedingungen angegeben, müssen alle Bedingungen erfüllt sein, damit die Meldung gestartet wird.
  • Seite 972 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung STRSEQ3 Char[5] Zeichenfolge 3, Startzeichen (5 Zeichen). Standardwert: 0 STRSEQ4CTL Byte Zeichenfolge 4, Steuerung für jedes Zeichen ignorieren/vergleichen. Standardwert: B#16#0 STRSEQ4 Char[5] Zeichenfolge 4, Startzeichen (5 Zeichen), Standardwert: 0 Beispiel Sehen Sie sich die folgende empfangene hexadezimal-codierte Meldung an: "68 10 aa 68 bb 10 aa 16".
  • Seite 973 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Datentypstruktur des Parameters CONDITIONS, Teil 2 (Endebedingungen) Tabelle 13-17 Struktur von CONDITIONS für Endebedingungen Parameter Parametertyp Datentyp Beschreibung ENDCOND UInt Dieser Parameter gibt die Bedingung für das Meldungsende • 01H - Antwortzeit • 02H - Meldungszeit •...
  • Seite 974 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter Parametertyp Datentyp Beschreibung ENDSEQ1CTL Byte Zeichenfolge 1, Steuerung für jedes Zeichen ignorieren/ B#16#0 vergleichen: Dies sind die Aktivierungsbits für jedes Zeichen der Ende‐ zeichenfolge. Zeichen 1 ist Bit 0, Zeichen 2 ist Bit 1, ..., Zeichen 5 ist Bit 4.
  • Seite 975 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.5.5 P3964_Config (3964(R)-Protokoll konfigurieren) Tabelle 13-19 Anweisung P3964_Config (3964_Config (3964(R)-Protokoll konfigurieren) KOP/FUP Beschreibung "P3964_Config_DB"( Mit P3964_Config können Sie während der Laufzeit Priorität und Protokollpara‐ REQ:=_bool_in_, PORT:=_uint_in_, meter ändern. BCC:=_usint_in, Sie können die statische Anfangskonfi‐ Priority:= _usint_in, guration des Ports in den Eigenschaften CharacterDelayTime:=_uint_in,...
  • Seite 976 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung BuildupAttempts IN UInt Anzahl der Verbindungsversuche (Standardwert: 6 Verbindungsversuche) 1 bis 255 RepetitionAt‐ UInt Anzahl der Übertragungsversuche (Standardwert: 6 Verbindungsversuche) tempts 1 bis 255 DONE Bool Eine Ausführung lang WAHR, nachdem die letzte Anforderung fehlerfrei aus‐ geführt wurde ERROR Bool...
  • Seite 977 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.5.6 Send_P2P (Sendepufferdaten übertragen) Tabelle 13-22 Anweisung Send_P2P (Punkt-zu-Punkt-Daten senden) KOP/FUP Beschreibung "Send_P2P_DB"( Send_P2P startet die Übertragung der Daten und überträgt den zuge‐ REQ:=_bool_in_, PORT:=_word_in_, wiesenen Puffer zur Kommunikati‐ onsschnittstelle. Das Programm der BUFFER:=_variant_in_, LENGTH:=_uint_in_, CPU wird weiterhin ausgeführt, während das CM oder CB die Daten...
  • Seite 978 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) aus, wenn das CM oder CB immer noch sendet. Nach dem Ende der Sendeanweisung gibt das CM oder CB den Status 16#0000 für die Sendeanweisung aus (sofern kein Fehler aufgetreten ist). Nachfolgende Ausführungen von Send_P2P mit REQ = 0 geben den Status 16#7000 (frei) aus.
  • Seite 979: Interaktion Der Parameter Length Und Buffer

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) STATUS (W#16#..) Beschreibung 81D7 Interner Fehler / Synchronisationsfehler zwischen FB und CM 81D8 Sendeversuch abgelehnt, weil der Anschluss nicht konfiguriert ist. 81DF CM hat Schnittstelle zum FB aus einem der folgenden Gründe zurückgesetzt • Modul neu gestartet (Aus-/Einschalten) •...
  • Seite 980 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) der Datenstruktur des Parameters BUFFER senden möchten, können Sie LENGTH wie folgt setzen: Tabelle 13-25 Parameter LENGTH und BUFFER LENGTH BUFFER Beschreibung Nicht verwendet Die vollständigen Daten werden wie vom Parameter BUFFER definiert gesen‐ det.
  • Seite 981 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Tabelle 13-27 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung PORT PORT Nachdem Sie das CM oder CB eingebaut und konfiguriert haben, erscheint die Portkennung in der Parameter-Klappliste am Box-Anschluss PORT. Der zugewie‐ sene CM- oder CB-Portwert ist die Eigenschaft "Hardwarekennung"...
  • Seite 982 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) STATUS (W#16#...) Beschreibung 81E5 Umgekehrtes Biassignal (Drahtbruch) 81E6 Meldungswarteschlange voll. Dieser Fehler wird ohne Daten gemeldet. Tritt er auf, schaltet das Modul zwischen einer fehlerfreien Datenübertragung und dem Fehler hin und her. 81E7 Interner Fehler, Synchronisationsfehler zwischen Anweisung und CM: wird bei einem Sequenzfehler gesetzt 81E8 Meldung beendet, Zeitüberschreitung zwischen Zeichen erreicht, bevor Meldungsende erkannt wurde...
  • Seite 983 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Tabelle 13-30 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Aktiviert das Löschen des Empfangspuffers bei steigender Flanke dieses Freiga‐ beeingangs (Standardwert: Falsch) PORT PORT Nachdem Sie das CM oder CB eingebaut und konfiguriert haben, erscheint die Portkennung in der Parameter-Klappliste am Box-Anschluss PORT.
  • Seite 984 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung Bool Datenterminal bereit, Modul bereit (Ausgang). Standardwert: False Bool Datensatz bereit, Kommunikationsteilnehmer bereit (Eingang). Standardwert: False Bool Sendeanforderung, Modul sendebereit (Ausgang). Standardwert: False Bool Sendebereit, Kommunikationsteilnehmer kann Daten empfangen (Eingang). Standardwert: False Bool Datenträger erkannt, Signalpegel empfangen (immer False, nicht unterstützt)
  • Seite 985 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Parameter und Datentyp Datentyp Beschreibung SIGNAL Byte Gibt die festzusetzenden Signale an: (mehrere zulässig). Standardwert: 0 • 01H = RTS • 02H = DTR • 04H = DSR Bool Sendeanforderung, Modul bereit, zu setzenden Wert zu senden (wahr oder falsch), Standardwert: Falsch Bool Datenterminal bereit, Modul bereit, zu setzenden Wert zu senden (wahr...
  • Seite 986 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Tabelle 13-38 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Aktiviert die Konfigurationsänderung bei steigender Flanke an diesem Eingang. (Standardwert: Falsch) PORT PORT Nachdem Sie das CM oder CB eingebaut und konfiguriert haben, er‐ scheint die Portkennung in der Parameter-Klappliste am Box-Anschluss PORT.
  • Seite 987: Programmieren Der Ptp-Kommunikation

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Tabelle 13-40 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Aktiviert die Konfigurationsänderung bei steigender Flanke an diesem Eingang. (Standardwert: Falsch) PORT PORT Nachdem Sie das CM oder CB eingebaut und konfiguriert haben, er‐ scheint die Portkennung in der Parameter-Klappliste am Box-Anschluss PORT.
  • Seite 988: Kommunikationsanweisungen

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Die Schnittstellenkonfiguration und die Meldungskonfiguration können für jedes CM oder CB in der Gerätekonfiguration oder mit den folgenden Anweisungen Ihres Anwenderprogramms durchgeführt werden: • Port_Config (Seite 965) • Send_Config (Seite 968) • Receive_Config (Seite 970) Kommunikationsanweisungen Mit den Anweisungen für die Punkt-zu-Punkt-Kommunikation kann das Anwenderprogramm Meldungen an die Kommunikationsschnittstellen senden und von diesen Meldungen...
  • Seite 989: Beispiel: Punkt-Zu-Punkt-Kommunikation

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 4. Die Anweisung Receive-P2P (Seite 980) wird wiederholt ausgeführt, um auf eine Antwort abzufragen. Wenn das CM oder CB eine Antwortmeldung erfasst hat, kopiert die Anweisung Receive_P2P die Antwort in die CPU und meldet, dass neue Daten empfangen wurden. 5.
  • Seite 990 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Sendepins (2 und 3) schalten, wenn Sie die beiden Ports anschließen. Hierzu gehen Sie auf eine der folgenden Arten vor: • Verwenden Sie einen NULL-Modemadapter, um die Pins 2 und 3 zu tauschen, zusammen mit einem herkömmlichen RS232-Kabel.
  • Seite 991 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) • Beginn des Meldungsempfangs konfigurieren: Konfigurieren Sie das CM 1241 so, dass der Meldungsempfang beginnt, wenn die Kommunikationsleitung mindestens 50 Bitzeiten (ca. 5 ms bei 9600 Baud = 50 * 1/9600) inaktiv ist: • Ende des Meldungsempfangs konfigurieren: Konfigurieren Sie das CM 1241 so, dass der Meldungsempfang beendet wird, wenn maximal 100 Byte oder ein Zeilenschaltungszeichen (10 dezimal oder a hexadezimal) empfangen wurden.
  • Seite 992 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) S7-1200 Automatisierungssystem Systemhandbuch, V4.5 05/2021, A5E02486681-AO...
  • Seite 993 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) 13.3.7.2 Betriebsarten RS422 und RS485 RS422 konfigurieren Im RS422-Modus gibt es, abhängig von Ihrer Netzwerkkonfiguration, drei Betriebsarten. Wählen Sie je nach den Geräten in Ihrem Netzwerk eine dieser Betriebsarten aus. Die verschiedenen Einstellungen für "Ausgangszustand Empfangsleitung" beziehen sich auf die im Folgenden dargestellten Fälle.
  • Seite 994 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Fall 2: RS422 ohne Kabelbrucherkennung, Vorspannung in Vorwärtsrichtung • Betriebsart: RS422 • Ausgangszustand Empfangsleitung: Vorspannung in Vorwärtsrichtung (Vorspannung mit R(B) > R(A) > 0 V) • Kabelbruch: Keine Kabelbrucherkennung (Sender nur beim Senden aktiviert) Fall 3: RS422: Keine Kabelbrucherkennung, keine Vorspannung •...
  • Seite 995: Step 7-Programm Programmieren

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) RS485 konfigurieren Im RS485-Modus gibt es nur eine Betriebsart. Die verschiedenen Einstellungen für "Ausgangszustand Empfangsleitung" beziehen sich auf die im Folgenden dargestellten Fälle. • Halbduplex (RS485), Zweidrahtmodus. Für "Ausgangszustand Empfangsleitung": – Wählen Sie "Ohne", wenn Sie die Vorspannung und den Abschluss vorgeben (Fall 5). –...
  • Seite 996 Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Globaler Datenbaustein "Comm_Buffer": Erstellen Sie einen globalen Datenbaustein (DB) und nennen Sie ihn "Comm_Buffer". Erstellen Sie einen Wert im Datenbaustein, nämlich "buffer", mit dem Datentyp "Array [0 .. 99] of byte". Netzwerk 1: Aktivieren Sie die Anweisung RCV_PTP immer, wenn SEND_PTP nicht aktiv ist. Tag_8 in MW20.0 zeigt in Netzwerk 4 an, wenn der Sendevorgang abgeschlossen ist und wenn das Kommunikationsmodul damit für den Meldungsempfang bereit ist.
  • Seite 997: Terminalemulator Konfigurieren

    Kommunikationsprozessor und Modbus-TCP 13.3 Punkt-zu-Punkt-Kommunikation (PtP) Netzwerk 4: Überwachen Sie den Ausgang DONE von SEND_PTP und setzen Sie den Übertragungsmerker (Tag_8 in M20.0) zurück, wenn der Übertragungsvorgang beendet ist. Wenn der Übertragungsmerker zurückgesetzt wird, wird die Anweisung RCV_PTP in Netzwerk 1 aktiviert, um die nächste Meldung zu empfangen.
  • Seite 998: Kommunikation Über Die Universelle Serielle Schnittstelle (Uss)

    Kommunikationsprozessor und Modbus-TCP 13.4 Kommunikation über die universelle serielle Schnittstelle (USS) 13.4 Kommunikation über die universelle serielle Schnittstelle (USS) Die USS-Anweisungen steuern den Betrieb von Motorantrieben, die das Protokoll der universellen seriellen Schnittstelle (USS) unterstützen. Mit den USS-Anweisungen können Sie über RS485-Verbindungen mit mehreren Antrieben mit dem CM 1241 RS485- Kommunikationsmodul oder einem CB 1241 RS485-Kommunikationsboard kommunizieren.
  • Seite 999: Uss-Kommunikation Über Profibus Oder Profinet

    Kommunikationsprozessor und Modbus-TCP 13.4 Kommunikation über die universelle serielle Schnittstelle (USS) USS-Kommunikation über PROFIBUS oder PROFINET Ab Version V4.1 der S7-1200 CPU in Verbindung mit STEP 7 V13 SP1 wird die USS-Fähigkeit der CPU zur Nutzung eines dezentralen PROFINET- oder PROFIBUS-Peripheriebaugruppenträgers für die Kommunikation mit verschiedenen Geräten (RFID-Lesegeräten, GPS und anderen) erweitert: •...
  • Seite 1000: Version Der Uss-Anweisungen Auswählen

    Kommunikationsprozessor und Modbus-TCP 13.4 Kommunikation über die universelle serielle Schnittstelle (USS) Der blaue Pfeil kennzeichnet den bidirektionalen Kommunikationsfluss zwischen den Geräten. Hinweis Ab der Version V4.1 der S7-1200 können PtP-Anweisungen für alle Arten der PtP- Kommunikation verwendet werden: seriell, seriell über PROFINET und seriell über PROFIBUS. STEP 7 stellt die alten PtP-Anweisungen nur zur Unterstützung vorhandener Programme bereit.

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis