Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens Simatic s7 Handbuch

Siemens Simatic s7 Handbuch

Automatisierungssystem
Vorschau ausblenden Andere Handbücher für Simatic s7:
Inhaltsverzeichnis

Werbung

S7-1200 Automatisierungssystem
SIMATIC
S7
S7-1200 Automatisierungssystem
Systemhandbuch
V4.2, 09/2016
A5E02486681-AK
___________________
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

  • Seite 1 ___________________ S7-1200 Automatisierungssystem 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)
  • Seite 2: Rechtliche Hinweise

    Hinweise in den zugehörigen Dokumentationen müssen beachtet werden. Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann. Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft.
  • Seite 3: Vorwort

    (https://support.industry.siemens.com/cs/ww/de) an. 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 (https://support.industry.siemens.com/cs/ww/de/view/108168658) umfasst Aktualisierungen des Systemhandbuchs "SIMATIC S7-1200 Automatisierungssystem", die nach dessen Publikation aufgetreten sind. ● 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)
  • Seite 5 Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern.
  • Seite 6 Vorwort S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 7: Inhaltsverzeichnis

    Inhaltsverzeichnis Vorwort ..............................3 Produktübersicht ........................... 27 Einführung in den S7-1200 PLC ..................... 27 Erweiterungsfähigkeit der CPU ....................31 Grundlegende HMI-Panels ..................... 34 Neue Funktionen ........................... 35 STEP 7 Programmiersoftware ....................... 39 Systemvoraussetzungen ......................40 Einfaches Arbeiten mit unterschiedlichen Ansichten .............. 41 Bedienerfreundliche Werkzeuge .....................
  • Seite 8 Inhaltsverzeichnis Verdrahtungsrichtlinien ......................79 PLC-Grundlagen ........................... 87 Ausführung des Anwenderprogramms .................. 87 5.1.1 Betriebszustände der CPU ....................91 5.1.2 Verarbeitung des Zyklus im Betriebszustand RUN ..............95 5.1.3 Organisationsbausteine (OBs) ....................96 5.1.3.1 Programmzyklus-OB ......................96 5.1.3.2 Anlauf-OB ..........................97 5.1.3.3 Verzögerungsalarm-OB ......................
  • Seite 9 Inhaltsverzeichnis 5.5.4 Programmkarte ........................152 5.5.5 Firmware-Update ........................156 Vorgehensweise bei verlorenem Passwort................159 Gerätekonfiguration ..........................161 Einfügen einer CPU ......................162 Konfiguration aus einer angeschlossenen CPU laden ............164 Module zur Konfiguration hinzufügen ................... 166 Konfigurationssteuerung ....................... 167 6.4.1 Vorteile und Nutzung der Konfigurationssteuerung ..............
  • Seite 10 Inhaltsverzeichnis 7.6.4 Kopierschutz ........................228 Laden der Programmelemente .................... 230 Synchronisieren der Online-CPU und des Offline-Projekts ..........234 Laden von der Online-CPU ....................236 7.9.1 Vergleich der Online-CPU mit der Offline-CPU ..............236 7.10 Debugging und Testen des Programms ................237 7.10.1 Daten in der CPU beobachten und steuern .................
  • Seite 11 Inhaltsverzeichnis 8.6.8.2 Anweisungen Big- und Little-Endian-Format lesen und schreiben (SCL) ......301 8.6.9 Variant-Anweisungen ......................303 8.6.9.1 VariantGet (VARIANT Variablenwert lesen) ................. 303 8.6.9.2 VariantPut (VARIANT Variablenwert schreiben) ..............304 8.6.9.3 CountOfElements (Anzahl ARRAY-Elemente abfragen) ............305 8.6.10 Anweisungen in älteren Systemen ..................306 8.6.10.1 Anweisungen FieldRead (Feld lesen) und FieldWrite (Feld schreiben) .......
  • Seite 12 Inhaltsverzeichnis Erweiterte Anweisungen ........................355 Datums-, Uhrzeit- und Uhrfunktionen .................. 355 9.1.1 Datums- und Uhrzeitanweisungen ..................355 9.1.2 Uhrzeitfunktionen ......................... 358 9.1.3 Datenstruktur TimeTransformationRule ................362 9.1.4 SET_TIMEZONE (Zeitzone setzen) ..................363 9.1.5 RTM (Betriebsstundenzähler) ....................364 Zeichenketten- und Zeichenanweisungen ................366 9.2.1 Datentyp String ........................
  • Seite 13 Inhaltsverzeichnis 9.5.1 Anweisungen ATTACH und DETACH (OB und Alarmereignis einander zuweisen/Zuweisung aufheben) ................... 445 9.5.2 Weckalarme .......................... 449 9.5.2.1 SET_CINT (Weckalarm parametrieren) ................449 9.5.2.2 QRY_CINT (Weckalarmparameter abfragen) ............... 451 9.5.3 Uhrzeitalarme ........................452 9.5.3.1 SET_TINTL (Uhrzeitalarm festlegen) ..................453 9.5.3.2 CAN_TINT (Uhrzeitalarm löschen) ..................
  • Seite 14 Inhaltsverzeichnis 9.10.4 DELETE_DB (Datenbaustein löschen) ................577 9.11 Adressverarbeitung ......................579 9.11.1 GEO2LOG (Aus dem Steckplatz die Hardwarekennung ermitteln) ........579 9.11.2 LOG2GEO (Steckplatz über Hardwarekennung ermitteln) ..........581 9.11.3 IO2MOD (Aus einer E/A-Adresse die Hardwarekennung ermitteln) ........582 9.11.4 RD_ADDR (E/A-Adressen über Hardwarekennung ermitteln) ..........
  • Seite 15 Inhaltsverzeichnis 10.2.5 Regler PID_Compact und PID_3Step konfigurieren ............. 659 10.2.6 PID_Temp-Regler konfigurieren ................... 662 10.2.7 Regler PID_Compact und PID_3Step in Betrieb nehmen ............ 678 10.2.8 PID_Temp-Regler in Betrieb nehmen ................... 680 10.3 Bewegungssteuerung ......................690 10.3.1 Phasenlage ........................... 696 10.3.2 Konfigurieren eines Impulsgenerators ..................
  • Seite 16 Inhaltsverzeichnis Kommunikation ............................ 847 11.1 Asynchrone Kommunikationsverbindungen ................ 849 11.2 PROFINET ........................... 852 11.2.1 Netzwerkverbindung erstellen ....................854 11.2.2 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren ........855 11.2.3 IP-Adressen zuweisen ......................859 11.2.3.1 IP-Adressen für Programmier- und Netzwerkgeräte zuweisen ........... 859 11.2.3.2 Ermitteln der IP-Adresse Ihres Programmiergeräts .............
  • Seite 17 Inhaltsverzeichnis 11.2.13.3 Merkmale eines I-Device ...................... 981 11.2.13.4 Datenaustausch zwischen über- und untergeordnetem E/A-System ........983 11.2.13.5 I-Device konfigurieren ......................985 11.2.14 Shared Devices ........................988 11.2.14.1 Shared-Device-Funktion ....................... 988 11.2.14.2 Beispiel: Ein Shared Device konfigurieren (GSD-Konfiguration) .......... 991 11.2.14.3 Beispiel: Ein I-Device als Shared Device konfigurieren ............
  • Seite 18 Inhaltsverzeichnis Webserver ............................1057 12.1 Webserver aktivieren ......................1060 12.2 Konfigurieren von Webserver-Benutzern ................1062 12.3 Über den PC auf die Webseiten zugreifen ................ 1064 12.4 Über ein mobiles Gerät auf die Webseiten zugreifen ............1066 12.5 Verwenden eines CP-Moduls für den Zugriff auf die Webseiten ........1068 12.6 Standard-Webseiten ......................
  • Seite 19 Eingeschränkte Funktionen, wenn Cookies in den Internetoptionen nicht erlaubt sind ..1147 12.8.3 Regeln für die Eingabe von Variablennamen und Werten ..........1148 12.8.4 Siemens-Sicherheitszertifikat importieren ................1148 12.8.5 Datenprotokolle im CSV-Format in nicht amerikanische/englische Versionen von Microsoft Excel importieren ....................1150 Kommunikationsprozessor und Modbus-TCP ..................1151...
  • Seite 20 Inhaltsverzeichnis 13.4.3.1 USS_Port_Scan (Kommunikation über USS-Netzwerk bearbeiten) ........1221 13.4.3.2 USS_Drive_Control (Daten mit Antrieb tauschen) ............. 1223 13.4.3.3 USS_Read-Param (Parameter aus dem Antrieb auslesen) ..........1226 13.4.3.4 USS_Write_Param (Parameter im Antrieb ändern) ............1228 13.4.4 USS-Zustandscodes ......................1230 13.4.5 Allgemeine Voraussetzungen für die USS-Antriebseinrichtung ........1232 13.4.6 Beispiel: Allgemeine USS-Antriebsverbindung und -einrichtung ........
  • Seite 21 Inhaltsverzeichnis 13.8.4.3 Beispiel: MB_CLIENT 2 in älteren Systemen: Mehrere Anforderungen mit unterschiedlichen TCP-Verbindungen ................1344 13.8.4.4 Beispiel: MB_CLIENT 3 in älteren Systemen: Schreibanforderung für das Prozessabbild der Ausgänge ....................1345 13.8.4.5 Beispiel: MB_CLIENT 4 in älteren Systemen: Mehrere Anforderungen koordinieren ..1345 13.9 Modbus RTU-Kommunikation in älteren Systemen (nur CM/CB 1241) ......
  • Seite 22 15.17.2 Sichern einer Online-CPU ....................1437 15.17.3 Wiederherstellen einer CPU ....................1439 Technische Daten ..........................1441 Siemens-Website für Online-Support ................1441 Allgemeine technische Daten .................... 1441 Anschlussbelegung PROFINET-Schnittstellenport X1 ............1452 CPU 1211C ........................1453 A.4.1 Allgemeine technische Daten und Leistungsmerkmale ............. 1453 A.4.2...
  • Seite 23 Inhaltsverzeichnis A.6.4 Analoge Eingänge ....................... 1488 A.6.4.1 Schrittantwort der integrierten analogen Eingänge der CPU..........1488 A.6.4.2 Abtastzeit der integrierten analogen Ports der CPU ............1489 A.6.4.3 Messbereiche der analogen Eingänge für Spannung (CPUs)..........1489 A.6.5 Schaltpläne der CPU 1214C ....................1490 CPU 1215C .........................
  • Seite 24 Inhaltsverzeichnis A.12.1 SM 1278 4xIO-Link-Master SM ..................1571 A.12.1.1 SM 1278 4xIO-Link-Master - Überblick ................1574 A.12.1.2 Anschluss ........................... 1577 A.12.1.3 Parameter/Adressbereich ....................1579 A.12.1.4 Alarm-, Fehler- und Systemmeldungen ................1582 A.13 Digitale Signalboards (SBs) ....................1586 A.13.1 Technische Daten des SB 1221 200 kHz Digitaleingabe ..........1586 A.13.2 Technische Daten des SB 1222 200 kHz Digitalausgabe ..........
  • Seite 25 Inhaltsverzeichnis A.22 Zugehörige Produkte ......................1640 A.22.1 PM 1207 Stromversorgungsmodul ..................1640 A.22.2 CSM 1277 Compact Switch Module ................... 1640 A.22.3 CM CANopen-Modul ......................1641 A.22.4 Kommunikationsmodul RF120C ..................1641 A.22.5 SM 1238 Energy Meter ....................... 1642 A.22.6 SIWAREX Wägeelektronik ....................1642 Berechnung der Leistungsbilanz ......................1643 Bestellinformationen...........................1647 CPU-Module ........................
  • Seite 26 Inhaltsverzeichnis S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 27: Produktübersicht

    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 das kompakte Design, 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 Die CPU verfügt über einen PROFINET-Port zur Kommunikation über ein PROFINET- Netzwerk. Für die Kommunikation über PROFIBUS-, GPRS-, RS485- oder RS232-, RS 422- , IEC-, DNP3- und Breitband-Netzwerke stehen weitere Module zur Verfügung. ①...
  • Seite 29 Produktübersicht 1.1 Einführung in den S7-1200 PLC Merkmal CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C Erweiterung: Signalmodul (SM) Keine 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 1441).
  • Seite 32 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/de/view/109483435) ① Status-LEDs ② Schiebelasche Busstecker ③ Steckbarer Klemmenblock für die Anwenderverdrah- tung S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 33 Produktübersicht 1.2 Erweiterungsfähigkeit der CPU Art des Moduls Beschreibung Kommunikationsmodule (CMs) und Kom- munikationsprozessoren (CPs) erweitern die CPU um verschiedene Kommunikati- onsmöglichkeiten, z. B. PROFIBUS oder RS232/RS485 (für PtP, Modbus oder USS) oder AS-i-Master. Ein CP bietet Möglichkeiten für andere Arten der Kommunikation, z.
  • Seite 34: Grundlegende Hmi-Panels

    Produktübersicht 1.3 Grundlegende HMI-Panels Grundlegende HMI-Panels Die SIMATIC HMI Basic Panels bieten Geräte mit Touchscreen für grundlegende Aufgaben im Bereich Bedienen und Beobachten. Alle Panels weisen die Schutzklasse IP65 auf und sind nach CE, UL, cULus und NEMA 4x zertifiziert. Die erhältlichen Basic HMI Panels (Seite 1652)sind nachstehend beschrieben: ●...
  • Seite 35: Neue Funktionen

    Neue Funktionen Folgende Funktionen sind in der Version 4.2 neu hinzugekommen: ● Erweiterungen des Webservers (Seite 1057): – Mehr gemeinsame Funktionen mit dem S7-1500 Webserver – Möglichkeit, eine benutzerdefinierte Webseite als Startseite festzulegen – Neue oder verbesserte Standard-Webseiten: Beobachtungstabellen (Seite 1091) Online-Sicherung (Seite 1093) Kommunikation (Seite 1085) Aufnahme von Kommunikationsstatistiken ●...
  • Seite 36 Neue Funktionen Gen_UsrMsg (Anwenderdiagnosemeldungen erzeugen) (Seite 462) RD_SINFO (Startinformation des aktuellen OBs auslesen) (Seite 466) Get_Name (Namen eines PROFINET IO-Device lesen) (Seite 479) GetStationInfo (IP- oder MAC-Adresse eines PROFINET IO-Device lesen) (Seite 486) CTRL_PTO (Impulsfolge) (Seite 516) DataLogClear (Datenprotokoll leeren) (Seite 549) DataLogDelete (Datenprotokoll löschen) (Seite 552) CREATE_DB (Datenbaustein erstellen) (Seite 566) ATTR_DB (Attribute eines Datenbausteins lesen) (Seite 575)
  • Seite 37 Neue Module erweitern die Leistungsfähigkeit der S7-1200 CPU und bieten Ihnen die erforderliche Flexibilität für Ihren Automatisierungsbedarf: ● Neue fehlersichere CPUs (https://support.industry.siemens.com/cs/ww/de/view/104547552): Es gibt zwei neue fehlersichere CPUs in Verbindung mit der S7-1200 V4.2 oder höher: – CPU 1212FC DC/DC/DC (6ES7212-1AF40-0XB0) –...
  • Seite 38 Neue Funktionen S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 39: Step 7 Programmiersoftware

    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 40: Systemvoraussetzungen

    STEP 7 Programmiersoftware 3.1 Systemvoraussetzungen Systemvoraussetzungen Sie müssen STEP 7 mit Administratorrechten installieren. Tabelle 3- 1 Systemvoraussetzungen Hardware/Software Voraussetzungen Prozessortyp Intel® Core™ i5-3320M ab 3,3 GHz 8 GB Freier Festplattenspeicher 2 GB auf Systemlaufwerk C:\ Betriebssysteme Sie können STEP 7 mit den folgenden Betriebssystemen ver- wenden (nur 64 Bit): Microsoft Windows 7 Home Premium SP1 oder höher (nur •...
  • Seite 41: 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 42 STEP 7 Programmiersoftware 3.2 Einfaches Arbeiten mit unterschiedlichen Ansichten In jeder Ansicht können Sie auch Konfigurationsaufgaben durchführen. Das Inspektorfenster zeigt die Eigenschaften und weitere Informationen für das im Arbeitsbereich ausgewählte Objekt an. Für die verschiedenen von Ihnen gewählten Objekte zeigt das Inspektorfenster jeweils die konfigurierbaren Eigenschaften.
  • Seite 43: Bedienerfreundliche Werkzeuge

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge Bedienerfreundliche Werkzeuge 3.3.1 Anweisungen in Ihr Anwenderprogramm einfügen STEP 7 bietet Taskcards mit den Anweisungen für Ihr Programm. Die Anweisungen sind nach Funktionen gegliedert. Um Ihr Programm anzulegen, ziehen Sie die Anweisungen von der Taskcard in ein Netzwerk.
  • Seite 44: Erstellen Einer Komplexen Gleichung Mit Einer Einfachen Anweisung

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.3 Erstellen einer komplexen Gleichung mit einer einfachen Anweisung Mit der Anweisung Calculate (Seite 271) können Sie eine mathematische Funktion erstellen, die mehrere Eingangsparameter verarbeitet und das Ergebnis entsprechend der von Ihnen vorgegebenen Gleichung ausgibt. Erweitern Sie im Basic-Anweisungsverzeichnis den Ordner der mathematischen Funktionen.
  • Seite 45 STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge Geben Sie in diesem Beispiel die folgende Gleichung zum Skalieren eines Rohanalogwerts ein. (Die Bezeichnungen "In" und "Out" entsprechen den Parametern der Anweisung Calcu- late.) = ((Out - Out ) / (In - In )) * (In - In ) + Out...
  • Seite 46: Ergänzen Von Eingängen Oder Ausgängen In Einer Kop- Oder Fup-Anweisung

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.4 Ergänzen von Eingängen oder Ausgängen in einer KOP- oder FUP-Anweisung Bei einigen Anweisungen können Sie weitere Eingänge oder Ausgänge erstel- len. ● Um einen Eingang oder Ausgang hinzuzufügen, klicken Sie auf das Symbol "Erstellen" oder an einem der vorhandenen Parameter IN oder OUT mit der rechten Maustaste auf den Eingangsanschluss und wählen den Befehl "Eingang einfügen".
  • Seite 47: Auswählen Einer Version Für Eine Anweisung

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.6 Auswählen einer Version für eine Anweisung Durch die Entwicklung und die Ausgabezyklen bestimmter Befehlssätze (z. B. Modbus, PID und Bewegungssteuerung) ist es inzwischen zu mehreren freigegebenen Versionen dieser Anweisungen gekommen. Um die Kompatibilität und Migration mit älteren Projekten sicherzustellen, können Sie in STEP 7 auswählen, welche Anweisungsversion Sie in Ihr Anwenderprogramm einfügen.
  • Seite 48: Drag & Drop Zwischen Editoren

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.8 Drag & Drop zwischen Editoren Damit Sie Aufgaben schnell und unkompliziert erledigen können, ermöglicht STEP 7 das Ziehen und Ablegen mit der Maus ("Drag & Drop") von Elementen zwischen den Editoren. So können Sie beispielsweise einen Eingang von der CPU an die Adresse einer Anweisung in Ihrem Anwenderprogramm ziehen.
  • Seite 49: Wechseln Des Betriebszustands Der Cpu

    In der Gerätekonfiguration in STEP 7 (Seite 161) können Sie auch den Standardbetriebszustand beim Einschalten der CPU konfigurieren (Seite 91). Hinweis Sie können den Betriebszustand der CPU auch über den Webserver (Seite 1057) oder das SIMATIC Automation Tool (https://support.industry.siemens.com/cs/ww/de/view/98161300) ändern. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 50: Aufruftyp Eines Db Ändern

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.10 Aufruftyp eines DB ändern In STEP 7 können Sie problemlos die Zuweisung einrich- ten oder ändern, die zwischen einem DB und einer An- weisung oder einem DB und einem FB besteht, der sich in einem FB befindet.
  • Seite 51: Geräte Vorübergehend Vom Netzwerk Trennen

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.11 Geräte vorübergehend vom Netzwerk trennen In der Netzwerkansicht können Sie einzelne Netzwerkgeräte vom Subnetz trennen. Weil die Konfiguration des Geräts nicht aus dem Projekt entfernt wird, können Sie die Verbindung des Geräts mühelos wiederherstellen. Klicken Sie mit der rechten Maustaste auf den Schnittstellenanschluss des Netzwerk- geräts und wählen Sie im Kontextmenü...
  • Seite 52: Virtuelles Abziehen Von Geräten Aus Der Konfiguration

    STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.12 Virtuelles Abziehen von Geräten aus der Konfiguration STEP 7 bietet Ihnen eine virtuelle Ablage für "nicht gesteckte" Baugruppen. Sie kön- nen eine Baugruppe vom Baugruppenträ- ger "abziehen" und dabei die Konfiguration der Baugruppe speichern. Diese abgezo- genen Baugruppen werden mit dem Pro- jekt zusammen gespeichert;...
  • Seite 53: Rückwärtskompatibilität

    STEP 7 Programmiersoftware 3.4 Rückwärtskompatibilität Rückwärtskompatibilität STEP 7 V14 unterstützt die Konfiguration und Programmierung der S7-1200 CPU V4.2 und stellt alle neuen Funktionen (Seite 35) bereit. Sie können Projekte für S7-1200 CPUs V4.0 und V4.1 aus STEP 7 (V12 oder höher) in eine S7-1200 CPU V4.2 laden.
  • Seite 54 STEP 7 Programmiersoftware 3.4 Rückwärtskompatibilität S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 55: Einbau

    S71200 kann horizontal oder vertikal eingebaut werden. Die kompakte Größe der S7- 1200 macht eine effiziente Platzausnutzung möglich. Das SIMATIC S7-1200 System ist anhand von Normen für elektrische Geräte als offenes Betriebsmittel klassifiziert. Sie müssen die S7-1200 in einem Gehäuse, Schaltschrank oder in einer Schaltzentrale einbauen.
  • Seite 56: Lassen Sie Genügend Abstand Für Kühlung Und Verdrahtung

    Einbau 4.1 Richtlinien für den Einbau von S71200 Geräten Halten Sie die S7-1200 Geräte fern von Wärme, Hochspannung und elektrischen Störungen Als allgemeine Regel für die Anordnung von Geräten in Ihrem System gilt, dass Sie Geräte, die Hochspannung oder hohe elektrische Störungen erzeugen, von den elektronischen Niederspannungsgeräten wie der S7-1200 fernhalten.
  • Seite 57 Einbau 4.1 Richtlinien für den Einbau von S71200 Geräten Wenn Sie das Layout für Ihr S71200 System planen, lassen Sie genügend Abstand für die Verdrahtung und die Kommunikationskabelanschlüsse. ① ③ Seitenansicht Senkrechter Einbau ② ④ Waagerechter Einbau Freiraum S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 58: Leistungsbilanz

    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 1441) finden Sie Informationen zur 5-V-DC-Leistungsbilanz Ihrer CPU und zum 5-V-DC-Leistungsbedarf der Signalmodule, Signalboards und Kommunikationsmodule.
  • Seite 59 Einbau 4.2 Leistungsbilanz Einige der 24-V-DC-Eingangsports des S7-1200 Systems sind miteinander verbunden, wobei ein logischer Bezugsleiter mehrere M-Klemmen verbindet. Die folgenden Stromkreise sind beispielsweise miteinander verbunden, sofern sie in den Datenblättern als "nicht potentialgetrennt" angegeben sind: die 24-V-DC-Versorgung der CPU, der Leistungseingang für die Relaisspule eines SM oder die Versorgung eines nicht potentialgetrennten Analogeingangs.
  • Seite 60: 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.2, 09/2016, A5E02486681-AK...
  • Seite 61 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...
  • Seite 62 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau Alle CPUs, SMs, CMs und CPs können auf der DIN-Schiene oder im Schaltschrank montiert werden. Verwenden Sie die Hutschienenklemmen für die Befestigung des Geräts auf der Hutschiene. Diese Klemmen rasten auch in einer ausgezogenen Position ein, um den Einbau des Geräts in einer Schalttafel zu ermöglichen.
  • Seite 63 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 64: Einbau Und Ausbau Der Cpu

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.2 Einbau und Ausbau der CPU Sie können die CPU in einer Schalttafel oder auf einer Standard-Hutschiene einbauen. Hinweis Schließen Sie die Kommunikationsmodule an die CPU an und bauen Sie alle Module gemeinsam ein. Installieren Sie die Signalmodule erst nach dem Einbau der CPU. Beachten Sie beim Einbau der Geräte auf der Hutschiene oder in einer Schalttafel Folgendes: ●...
  • Seite 65 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 jeweils 75 mm mit der Schalttafel. 2. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leis- tung getrennt sind.
  • Seite 66: 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 67: 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 68: 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 69 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 Leistung getrennt sind.
  • Seite 70: 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 64) gezeigt. Tabelle 4- 8 Einbau eines CMs oder CPs Aufgabenstellung Vorgehensweise...
  • Seite 71: 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 72: 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 73 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 linken Seite des Signalmoduls.
  • Seite 74: Ts (Teleservice)-Adapter

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 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.
  • Seite 75 Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau ① ④ TS-Modul Steckverbinder des TS-Moduls ② ⑤ TS-Adapter Kann nicht geöffnet werden ③ ⑥ Elemente Ethernet-Port Hinweis Stellen Sie vor dem Anschließen eines TS-Moduls und eines TS-Adapters sicher, dass die ④ Kontaktstifte nicht verbogen sind.
  • Seite 76: Einlegen Der Sim-Karte

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.8.2 Einlegen der SIM-Karte Lokalisieren Sie den SIM-Kartensteckplatz auf der Unterseite des TS module GSM. Hinweis Die SIM-Karte darf nur entnommen oder gesteckt werden, wenn das TS module GSM ausgeschaltet ist. Tabelle 4- 15 Einlegen der SIM-Karte Aufgabenstellung Vorgehensweise Drücken Sie mit einem spitzen Objekt...
  • Seite 77: Einbau Des Ts-Adapters Auf Einer Din-Schiene

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.8.3 Einbau des TS-Adapters auf einer DIN-Schiene Voraussetzungen: Sie müssen den TS-Adapter und das TS-Modul miteinander verbunden haben und die DIN-Schiene muss installiert sein. Hinweis Wenn Sie das TS-Gerät vertikal oder in einer Umgebung mit starken Schwingungen einbauen, kann sich das TS-Modul vom TS-Adapter lösen.
  • Seite 78: Schalttafeleinbau Des Ts-Adapters

    Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.8.4 Schalttafeleinbau des TS-Adapters Voraussetzungen: Sie müssen den TS-Adapter und das TS-Modul miteinander verbunden haben. ① 1. Schieben Sie den Schieber für Anbauten zur Rückseite des TS-Adapters und des TS- Moduls in Pfeilrichtung, bis der Schieber einrastet. ②...
  • Seite 79: Verdrahtungsrichtlinien

    Einbau 4.4 Verdrahtungsrichtlinien Verdrahtungsrichtlinien Die ordnungsgemäße Erdung und Verdrahtung aller elektrischen Geräte ist wichtig für den optimalen Betrieb Ihres Systems und für die zusätzliche Störfestigkeit Ihrer Anwendung und der S7-1200. Die Schaltpläne der S7-1200 finden Sie in den technischen Daten (Seite 1441).
  • Seite 80: Richtlinien Für Die Potentialtrennung

    Einbau 4.4 Verdrahtungsrichtlinien Richtlinien für die Potentialtrennung Die Grenzwerte der AC-Spannungsversorgung und die E/A-Grenzen zu AC-Stromkreisen der S7-1200 sind dafür konzipiert und zugelassen, sichere elektrische Trennung zwischen AC-Netzspannungen und Niederspannungskreisen zu bieten. Je nach Norm umfassen diese Grenzen doppelte oder verstärkte Isolierung bzw. grundlegende plus zusätzliche Isolierung. Komponenten, die diese Grenzen kreuzen, z.B.
  • Seite 81 Einbau 4.4 Verdrahtungsrichtlinien Richtlinien für die Verdrahtung der S71200 Wenn Sie die Verdrahtung Ihrer S7-1200 planen, richten Sie einen Einzeltrennschalter ein, der gleichzeitig die Spannung der Spannungsversorgung für die S7-1200 CPU, die Spannung aller Eingangskreise und die Spannung aller Ausgangskreise trennt. Sorgen Sie für Überstromschutz, z.
  • Seite 82: Siehe Auch

    Einbau 4.4 Verdrahtungsrichtlinien Eine Zusammenfassung der Verdrahtungsregeln für die S7-1200 CPUs, SMs und SBs finden Sie nachstehend: Tabelle 4- 17 Verdrahtungsregeln für S7-1200-CPUs, -SMs und -SBs Verdrahtungsregeln für ... CPU- und SM-Anschluss SB-Anschluss Anschließbare Leiterquer- 2 mm bis 0,3 mm (14 AWG bis 1,3 mm bis 0,3 mm...
  • Seite 83: 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 84: Typische Schutzbeschaltungen Für Dc- Oder Relaisausgänge, Die Induktive Dc-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 Einsatz einer Diode (A) quer zur induktiven DC-Last geeignet, doch wenn für Ihre Anwendung schnellere Ausschaltzeiten erforderlich sind, ist der Einsatz ei- ner Zener-Diode (B) empfehlenswert.
  • Seite 85: Richtlinien Für Differenzein- Und -Ausgänge

    Einbau 4.4 Verdrahtungsrichtlinien Wenn Sie Ihre eigene Schutzbeschaltung entwerfen, finden Sie in der folgenden Tabelle Werte für Widerstand und Kondensator für eine Vielzahl von AC-Lasten. Diese Werte basieren auf Berechnungen mit idealen Komponentenparametern. Die Angabe I effektiv in der Tabelle bezieht sich auf den Beharrungsstrom der Last im vollständig eingeschalteten Zustand.
  • Seite 86 Einbau 4.4 Verdrahtungsrichtlinien S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 87: Plc-Grundlagen

    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 88 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 89: Aktualisierung Von Prozessabbildern Und Teilprozessabbildern

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Aktualisierung von Prozessabbildern und Teilprozessabbildern Die CPU aktualisiert die lokalen digitalen und analogen Ein- und Ausgänge synchron zum Zyklus mit einem internen Speicherbereich, dem so genannten Prozessabbild. Das Prozessabbild enthält eine Momentaufnahme der physischen Ein- und Ausgänge (physische E/A von CPU, Signalboard und Signalmodulen).
  • Seite 90 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Um digitale oder analoge E/A einem Teilprozessabbild zuzuweisen oder um E/A aus der Aktualisierung des Prozessabbilds auszuschließen, gehen Sie wie folgt vor: 1. Öffnen Sie für das entsprechende Gerät das Register "Eigenschaften" in der Gerätekonfiguration. 2.
  • Seite 91: Betriebszustände Der Cpu

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Sie können bei Ausführung einer Anweisung die Werte physischer Eingänge direkt lesen und auch direkt Werte in physische Ausgänge schreiben. Beim direkten Lesen wird auf den aktuellen Zustand des physischen Eingangs zugegriffen. Das Prozessabbbild der Eingänge wird, unabhängig davon, ob der Eingang für die Speicherung im Prozessabbild konfiguriert ist, nicht aktualisiert.
  • Seite 92 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Sie können die Einstellung "Anlauf nach NETZ-EIN" der CPU konfigurieren. Diese Einstellungen finden Sie in der Gerätekonfiguration der CPU unter "Anlauf". Beim Einschalten führt die CPU eine Reihe von Diagnoseprüfungen und anschließend die Systeminitialisierung durch. Während der Initialisierung des Systems löscht die CPU den gesamten nicht remanenten Speicherbereich der Merker und setzt alle nicht remanenten DB-Inhalte auf die Anfangswerte aus dem Ladespeicher zurück.
  • Seite 93 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Sie können den aktuellen Betriebszustand mit den Befehlen "STOP" und "RUN" (Seite 1402) in den Online-Tools der Programmiersoftware ändern. Sie können ferner eine STP- Anweisung (Seite 329) in Ihr Programm einfügen, um die CPU in den Betriebszustand STOP zu versetzen.
  • Seite 94: 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 95: Verarbeitung Des Zyklus Im Betriebszustand Run

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.2 Verarbeitung des Zyklus im Betriebszustand RUN In jedem Zyklus schreibt die CPU in die Ausgänge, sie liest die Eingänge, führt das Anwenderprogramm aus, aktualisiert die Kommunikationsmodule und antwortet auf Anwenderalarmereignisse und Kommunikationsanfragen. Kommunikationsanfragen werden während des Zyklus regelmäßig bearbeitet.
  • Seite 96: Organisationsbausteine (Obs)

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3 Organisationsbausteine (OBs) OBs steuern die Ausführung des Anwenderprogramms. Die Ausführung eines Organisationsbausteins wird durch bestimmte Ereignisse in der CPU angestoßen. OBs können sich nicht gegenseitig aufrufen und sie können auch nicht aus einer FC oder einem FB aufgerufen werden.
  • Seite 97: Anlauf-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.2 Anlauf-OB Anlauf-OBs werden einmal ausgeführt, wenn der Betriebszustand der CPU von STOP nach RUN wechselt, beim Hochfahren in den Betriebszustand RUN und bei einem vorgegebenen Wechsel von STOP nach RUN. Anschließend beginnt die Ausführung des Programmzyklus. Anlaufereignisse Das Anlaufereignis tritt einmal bei einem Wechsel von STOP in RUN auf und verursacht die Ausführung des Anlauf-OBs durch die CPU.
  • Seite 98: Weckalarm-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.4 Weckalarm-OB Weckalarm-OBs werden in bestimmten Abständen ausgeführt. Sie können bis zu vier Weckalarmereignisse konfigurieren, wobei jedem Ereignis jeweils ein OB entspricht. Weckalarmereignisse Die Weckalarmereignisse ermöglichen Ihnen, die Ausführung eines Alarm-OBs zu einer konfigurierten Zykluszeit einzurichten. Die Anfangszykluszeit wird beim Anlegen des Weckalarm-OBs konfiguriert.
  • Seite 99: Prozessalarm-Ob

    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 100: Zeitfehler-Ob

    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 101: Diagnosefehler-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Der Zeitfehler-OB enthält Anlaufinformationen, anhand derer Sie ermitteln können, welches Ereignis und welcher OB den Zeitfehler erzeugt hat. Sie können im OB Anweisungen 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...
  • Seite 102 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Um einen Diagnosefehler-OB in Ihr Projekt einzufügen, müssen Sie einen Diagnosefehleralarm hinzufügen. Hier doppelklicken Sie in der Projektnavigation unter "Programmbausteine" auf "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.
  • Seite 103: Ob "Ziehen Oder Stecken Von Modulen

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Tabelle 5- 7 Anlaufinformationen für den Diagnosefehler-OB Eingang Datentyp Beschreibung IOstate WORD E/A-Zustand des Geräts: Bit 0 = 1, wenn die Konfiguration korrekt ist, und Bit 0 = 0, wenn • die Konfiguration nicht mehr korrekt ist. Bit 4 = 1, wenn ein Fehler vorliegt (Beispiel: Drahtbruch).
  • Seite 104: Baugruppenträger- Oder Stationsfehler-Ob ("Rack Or Station Failure Ob")

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Unabhängig davon, ob dieser OB programmiert wurde, wechselt die CPU in STOP, wenn eine dieser Bedingungen für ein Modul im zentralen Baugruppenträger eintritt. Tabelle 5- 8 Anlaufinformationen für den OB "Ziehen oder Stecken von Modulen" Eingang Datentyp Beschreibung...
  • Seite 105: Uhrzeit-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.10 Uhrzeit-OB Uhrzeit-OBs werden anhand konfigurierter Uhrzeitbedingungen ausgeführt. Die CPU unterstützt zwei Uhrzeit-OBs. Uhrzeitereignisse Sie können ein Uhrzeitalarmereignis so konfigurieren, dass es zu einer bestimmten Uhrzeit oder zyklisch auftritt, wobei Sie einen der folgenden Zyklen einstellen können: ●...
  • Seite 106: Aktualisierungs-Ob

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.12 Aktualisierungs-OB Aktualisierungs-OBs werden ausgeführt, wenn ein DPV1- oder PNIO-Slave einen Aktualisierungsalarm auslöst. Aktualisierungsereignisse Ausführlichere Informationen zu Ereignissen, die einen Aktualisierungsalarm auslösen, sind in der Herstellerdokumentation des DPV1- oder PNIO-Slaves zu finden. Tabelle 5- 12 Anlaufinformationen für einen Aktualisierungs-OB Eingang Datentyp Beschreibung...
  • Seite 107: Mc-Preservo

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.3.15 MC-PreServo 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 vor der Bearbeitung des OB MC-Servo ausgeführt. Ereignisse des MC-PreServo Mit dem OB MC-PreServo können Sie die konfigurierten Informationen zum Anwendungszyklus innerhalb von Mikrosekunden auslesen.
  • Seite 108: 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 109: Unterbrechbare Und Nicht Unterbrechbare Ausführungsarten

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Unterbrechbare und nicht unterbrechbare Ausführungsarten OBs (Seite 96) 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 179) können Sie konfigurieren, ob die OB-Ausführung unterbrechbar oder nicht unterbrechbar sein soll.
  • Seite 110: Wissenswertes Zu Prioritäten Und Warteschlange Für Die Ausführung Von Ereignissen

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Hinweis Wenn Sie die OB-Ausführungsart als nicht unterbrechbar festlegen, kann ein Zeitfehler-OB lediglich Programmzyklus-OBs unterbrechen. Vor V4.0 der S7-1200 CPUs konnte ein Zeitfehler-OB jeden ausgeführten OB unterbrechen. Ab V4.0 müssen Sie die OB-Ausführung als unterbrechbar konfigurieren, wenn ein Zeitfehler-OB (oder ein anderer OB höherer Priorität) auch andere ausgeführte OBs und nicht nur Programmzyklus-OBs unterbrechen können soll.
  • Seite 111 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Weitere Informationen zum Überlastverhalten der CPU und zu Ereigniswarteschlangen finden Sie im STEP 7 Informationssystem. Jedes Ereignis einer CPU hat eine Priorität. Die Ereignisse werden von der CPU im Allgemeinen in der Reihenfolge der Priorität (höchste zuerst) bearbeitet. Ereignisse mit gleicher Priorität werden von der CPU nach dem First-In-First-Out-Prinzip bearbeitet.
  • Seite 112 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Außerdem erkennt die CPU andere Ereignisse, die nicht über zugehörige OBs verfügen. Die folgende Tabelle zeigt diese Ereignisse und die entsprechenden Aktionen der CPU: Tabelle 5- 17 Zusätzliche Ereignisse Ereignis Beschreibung CPU-Aktion Peripheriezugriffsfehler Fehler beim direkten Le- Die CPU schreibt das erste Auftreten in sen/Schreiben der E/A den Diagnosepuffer und bleibt im Betriebs-...
  • Seite 113: Überwachen Und Konfigurieren Der Zykluszeit

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.4 Überwachen und Konfigurieren der Zykluszeit Die Zykluszeit ist die Zeit, die das Betriebssystem der CPU benötigt, um die zyklische Phase des Betriebszustands RUN auszuführen. Die CPU bietet zwei Verfahren zum Überwachen der Zykluszeit: ● Maximale Zykluszeit ●...
  • Seite 114: Konfigurieren Von Zykluszeit Und Kommunikationslast

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Wird der Zyklus nicht innerhalb der vorgegebenen Mindestzykluszeit beendet, so wird er normal bis zum Ende ausgeführt (einschließlich der Kommunikationsbearbeitung) und die Überschreitung der Mindestzeit erzeugt keine Systemreaktion. In der folgenden Tabelle sind die Bereiche und Voreinstellungen für die Zykluszeitüberwachung angegeben. Tabelle 5- 18 Bereich für die Zykluszeit Zykluszeit Bereich (ms)
  • Seite 115: Cpu-Speicher

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.5 CPU-Speicher Speicherverwaltung Die CPU stellt die folgenden Speicherbereiche für Anwenderprogramm, Daten und Konfiguration bereit: ● Der Ladespeicher ist ein nicht-flüchtiger Speicher für Anwenderprogramm, Daten und Konfiguration. Beim Laden eines Projekts in die CPU speichert die CPU das Programm zunächst im Ladespeicher.
  • Seite 116 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms ● Variablen eines Funktionsbausteins (FB): Wenn ein FB vom Typ "Optimierter Bausteinzugriff" ist, enthält der Schnittstelleneditor für diesen FB eine Spalte "Remanent". In dieser Spalte können Sie für jede Variable einzeln entweder "Remanent", "Nicht remanent" oder "Im IDB setzen" auswählen. Wenn Sie einen solchen FB im Programm anordnen, enthält der dem FB entsprechende Instanz-DB ebenfalls die Spalte "Remanent".
  • Seite 117: 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 118 PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Der Systemspeicher konfiguriert ein Byte mit Bits, die bei einem spezifischen Ereignis eingeschaltet werden (Wert = 1). Tabelle 5- 19 Systemspeicher Reserviert Immer Immer Diagnosestatusanzeige Anzeige erster Zyklus ausge- einge- Wert 0 1: Änderung 1: Erster Zyklus nach •...
  • Seite 119: Diagnosepuffer

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Tabelle 5- 20 Taktmerker Bitnummer Variablenname Period(en) Frequenz (Hz) 0.625 1.25 Weil der Taktmerker asynchron zum CPU-Zyklus läuft, kann sich der Zustand des Taktmerkers wäh- rend eines langen Zyklus mehrere Male ändern. 5.1.6 Diagnosepuffer Die CPU unterstützt einen Diagnosepuffer, der für jedes Diagnoseereignis einen Eintrag enthält.
  • Seite 120: Echtzeituhr

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Wenn Sie auswählen, dass Sicherheitsereignisse eingeschränkt werden sollen, werden die folgenden Ereignistypen eingeschränkt: ● Online gehen mit dem richtigen oder falschen Passwort ● Geänderte Kommunikationsdaten erkannt ● Geänderte Daten auf Memory Card erkannt ● Geänderte Firmware-Aktualisierungsdatei erkannt ●...
  • Seite 121: Konfigurieren Der Ausgänge Für Den Wechsel Von Run In Stop

    PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.8 Konfigurieren der Ausgänge für den Wechsel von RUN in STOP Sie können das Verhalten der digitalen und analogen Ausgänge für den Betriebszustand STOP der CPU konfigurieren. Für jeden Ausgang einer CPU, eines SB oder SM können Sie die Werte der Ausgänge einfrieren oder einen Ersatzwert aufschalten: ●...
  • Seite 122: Datenspeicher, Speicherbereiche, E/A Und Adressierung

    PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Datenspeicher, Speicherbereiche, E/A und Adressierung 5.2.1 Zugriff auf die Daten der S7-1200 STEP 7 vereinfacht die symbolische Programmierung. Dazu erstellen Sie für die Adressen der Daten symbolische Namen oder "Variablen", die entweder in Form von PLC-Variablen für Speicheradressen und E/A oder in Form von lokalen Variablen innerhalb eines Codebausteins vorkommen.
  • Seite 123 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Tabelle 5- 21 Speicherbereiche Speicherbereich Beschreibung Forcen Remanent Wird zu Beginn des Zyklus aus den physi- Nein Nein Prozessabbild der Ein- schen Eingängen kopiert gänge Direktes Lesen der physischen Eingänge von Nein E_:P CPU, SB oder SM (physischer Eingang) Wird zu Beginn des Zyklus in die physischen...
  • Seite 124 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung 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. Zugriff auf Daten in den Speicherbereichen der CPU STEP 7 vereinfacht die symbolische Programmierung.
  • Seite 125 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung Zugriffe über E_:P haben keinen Einfluss auf den im Prozessabbild der Eingänge gespeicherten Wert. Tabelle 5- 23 Absolute Adressierung für den Speicherbereich E (direkt) E[Byteadresse].[Bitadresse]:P E0.1:P Byte, Wort oder Doppelwort E[Größe][Anfangsadresse des EB4:P, EW5:P oder ED12:P Byte]:P A (Prozessabbild der Ausgänge): Die CPU kopiert die im Prozessabbild der Ausgänge gespeicherten Werte in die physischen Ausgänge.
  • Seite 126 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung M (Speicherbereich der Merker): Den Speicherbereich der Merker (M) können Sie für Steuerungsrelais und Daten verwenden, um Zwischenergebnisse von Anweisungen oder andere Steuerungsinformationen zu speichern. Auf den Speicherbereich der Merker können Sie im Bit, Byte, Wort und Doppelwortformat zugreifen. Auf den Merkerspeicher ist sowohl der Lese- als auch der Schreibzugriff erlaubt.
  • Seite 127 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 128 PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung E/A in der CPU und in E/A-Modulen konfigurieren Wenn Sie eine CPU und E/A-Module in Ihre Gerä- tekonfiguration einfügen, weist STEP 7 E- und A- Adressen automatisch zu. Sie können die vorein- gestellte Adressierung ändern, indem Sie in der Gerätekonfiguration das Adressfeld auswählen und neue Zahlen eingeben.
  • Seite 129: Verarbeitung Von Analogwerten

    PLC-Grundlagen 5.3 Verarbeitung von Analogwerten Verarbeitung von Analogwerten Analoge Signalmodule liefern Eingangssignale oder erwarten Ausgangswerte, die entweder einen Spannungsbereich oder einen Strombereich darstellen. Diese Bereiche sind ±10 V, ±5 V, ±2,5 V oder 0 bis 20 mA. Die von den Modulen ausgegebenen Werte sind ganzzahlige Werte.
  • Seite 130 PLC-Grundlagen 5.3 Verarbeitung von Analogwerten In PLC-Anwendungen wird üblicherweise der Analogeingangswert in einen Gleitpunktwert zwischen 0.0 und 1.0 normiert. Das Ergebnis würde dann in einen Gleitpunktwert im Bereich der physikalischen Einheiten umgewandelt. Der Einfachheit halber nutzen die folgenden KOP-Anweisungen konstante Bereichswerte; es können jedoch auch Variablen verwendet werden.
  • Seite 131: Datentypen

    PLC-Grundlagen 5.4 Datentypen Datentypen Datentypen geben die Größe eines Datenelements und die Art der Auswertung der Daten an. Jeder Anweisungsparameter unterstützt mindestens einen Datentyp, einige Parameter unterstützen mehrere Datentypen. Halten Sie den Mauszeiger auf dem Parameterfeld einer Anweisung, damit Ihnen angezeigt wird, welche Datentypen für den jeweiligen Parameter unterstützt werden.
  • Seite 132: Datentypen Bool, Byte, Word Und Dword

    PLC-Grundlagen 5.4 Datentypen Ferner wird das folgende numerische BCD-Format von den Umwandlungsanweisungen unterstützt, obwohl es nicht als Datentyp zur Verfügung steht. Tabelle 5- 28 Größe und Bereich des BCD-Formats Format Größe (Bit) Bereich Beispiel für konstanten Eintrag BCD16 -999 bis 999 123, -123 BCD32 -9999999 bis 9999999...
  • Seite 133: Ganzzahlige Datentypen

    PLC-Grundlagen 5.4 Datentypen Daten- Bit- Zahlen- Zahlen- Beispiele für Beispiele für größe bereich Konstanten Adressen Hexadezimal DW#16#0000_0000 bis DW#16#20_F30A, DW#16#FFFF_FFFF, 16#B_01F6 16#0000_0000 bis 16#FFFF_FFFF * Der Unterstrich "_" ist ein Tausendertrennzeichen, um die Lesbarkeit von Zahlen mit mehr als acht Ziffern zu verbessern. 5.4.2 Ganzzahlige Datentypen Tabelle 5- 30 Ganzzahlige Datentypen (U = vorzeichenlos, S = kurz, D = doppelt)
  • Seite 134: Gleitpunktzahl/Realzahl-Datentypen

    PLC-Grundlagen 5.4 Datentypen 5.4.3 Gleitpunktzahl/Realzahl-Datentypen Realzahlen (bzw. Gleitpunktzahlen) werden als einfachgenaue 32-Bit-Zahlen (Real) oder als doppeltgenaue 64-Bit-Zahlen (LReal) dargestellt, wie in der Norm ANSI/IEEE7541985 beschrieben. Einfachgenaue Gleitpunktzahlen sind bis zu 6 signifikante Ziffern genau und doppeltgenaue Gleitpunktzahlen sind bis zu 15 signifikante Ziffern genau. Sie können maximal 6 (Real) oder 15 (LReal) signifikante Ziffern angeben, wenn Sie eine Gleitpunktkonstante eingeben.
  • Seite 135: 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...
  • Seite 136 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 137: Zeichen- Und Zeichenfolge-Datentypen

    PLC-Grundlagen 5.4 Datentypen 5.4.5 Zeichen- und Zeichenfolge-Datentypen Tabelle 5- 35 Zeichen- und Zeichenfolge-Datentypen Datentyp Größe Bereich Beispiel für konstanten Eintrag Char 8 Bit 16#00 bis 16#FF 'A', 't', '@', 'ä', '∑' WChar 16 Bits 16#0000 bis 16#FFFF 'A', 't', '@', 'ä', '∑', Asiatische Zeichen, kyrilli- sche Zeichen und andere String n+ 2 Byte...
  • Seite 138 PLC-Grundlagen 5.4 Datentypen Das folgende Beispiel zeigt eine Zeichenfolge mit der maximalen Zeichenzahl 10 und der tatsächlichen Zeichenzahl 3. Die Zeichenfolge enthält somit 3 Zeichen mit je einem Byte, kann aber bis auf 10 Zeichen mit je einem Byte erweitert werden. Tabelle 5- 36 Beispiel für einen Datentyp String Gesamtzei- Tatsächliche...
  • Seite 139: Datentyp Array

    PLC-Grundlagen 5.4 Datentypen 5.4.6 Datentyp ARRAY Arrays Sie können ein Array erstellen, das mehrere Elemente des gleichen Datentyps enthält. Arrays können in der Bausteinschnittstelle von OB, FC, FB und DB angelegt werden. Im PLC-Variableneditor können Sie kein Array erstellen. Um ein Array in der Bausteinschnittstelle zu erstellen, benennen Sie das Array und wählen den Datentyp "Array [lo ..
  • Seite 140: Datentyp Struktur

    PLC-Grundlagen 5.4 Datentypen 5.4.7 Datentyp Struktur Mit dem Datentyp "Struct" können Sie eine aus anderen Datentypen bestehende Datenstruktur definieren. Der Datentyp Struct kann genutzt werden, um eine Gruppe zusammengehöriger Prozessdaten als eine Dateneinheit zu behandeln. Der Datentyp Struct wird benannt und die interne Datenstruktur im Datenbausteineditor oder in einem Bausteinschnittstelleneditor deklariert.
  • Seite 141: Pointer-Datentyp "Variant

    PLC-Grundlagen 5.4 Datentypen 5.4.9 Pointer-Datentyp "Variant" Der Datentyp Variant kann auf Variablen verschiedener Datentypen oder Parameter verweisen. Der Pointer Variant kann auf Strukturen und einzelne Strukturkomponenten zeigen. Der Pointer Variant belegt keinen Platz im Speicher. Tabelle 5- 40 Eigenschaften des Pointers Variant Länge Darstellung Format...
  • Seite 142: Zugriff Auf Eine Variable Mit Einer At-Überlagerung

    PLC-Grundlagen 5.4 Datentypen Hinweis Auf folgende Datentypen kann über Slices zugegriffen werden: Byte, Char, Conn_Any, Date, DInt, DWord, Event_Any, Event_Att, Hw_Any, Hw_Device, HW_Interface, Hw_Io, Hw_Pwm, Hw_SubModule, Int, OB_Any, OB_Att, OB_Cyclic, OB_Delay, OB_WHINT, OB_PCYCLE, OB_STARTUP, OB_TIMEERROR, OB_Tod, Port, Rtm, SInt, Time, Time_Of_Day, UDInt, UInt, USInt und Word.
  • Seite 143 PLC-Grundlagen 5.4 Datentypen Beispiel Dieses Beispiel zeigt die Eingangsparameter eines FBs mit Standardzugriff. Die Bytevariable B1 wird mit einem Booleschen Array überlagert: Ein weiteres Beispiel ist eine Variable vom Typ DWord, die mit einem Datentyp Struct überlagert wird, der ein Wort, ein Byte und zwei Boolesche Werte enthält: Die Offset-Spalte der Bausteinschnittstelle zeigt die Lage der überlagerten Datentypen relativ zur Originalvariablen.
  • Seite 144 PLC-Grundlagen 5.4 Datentypen Regeln ● Die Überlagerung von Variablen ist nur in FB- und FC-Bausteinen mit Standardzugriff (kein optimierter Zugriff) möglich. ● Sie können Parameter für alle Bausteintypen und alle Deklarationsabschnitte überlagern. ● Ein überlagerter Parameter kann wie jeder andere Bausteinparameter verwendet werden. ●...
  • Seite 145: Memory Card Verwenden

    PLC-Grundlagen 5.5 Memory Card verwenden Memory Card verwenden Hinweis Die CPU unterstützt nur die vorformatierten SIMATIC Memory Cards (Seite 1635). Löschen Sie vor dem Kopieren von Programmen auf die formatierte Memory Card alle zuvor gespeicherten Programme von der Memory Card. Sie können die Memory Card als Übertragungskarte oder als Programmkarte nutzen.
  • Seite 146: Memory Card In Die Cpu Stecken

    PLC-Grundlagen 5.5 Memory Card verwenden 5.5.1 Memory Card in die CPU stecken 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. Sie müssen auf einem leitfähigen, geerdeten Boden stehen und/oder ein geerdetes Armband tragen, wenn Sie mit der Memory Card arbeiten.
  • Seite 147: Cpu-Verhalten Beim Stecken Einer Memory Card

    PLC-Grundlagen 5.5 Memory Card verwenden Hinweis Wenn Sie eine Memory Card im Betriebszustand STOP der CPU stecken, zeigt der Diagnosepuffer die Meldung an, dass die Auswertung der Memory Card gestartet wurde. Die CPU wertet die Memory Card aus, wenn Sie entweder die CPU in den Betriebszustand RUN versetzen, den Speicher der CPU über MRES urlöschen oder die CPU aus- und wieder einschalten.
  • Seite 148: Auswertung Der Memory Card Durch Die Cpu

    PLC-Grundlagen 5.5 Memory Card verwenden Auswertung der Memory Card durch die CPU Wenn Sie in den Schutzeigenschaften der Gerätekonfiguration (Seite 226) der CPU die Einstellung "Kopieren vom internen Ladespeicher in den externen Ladespeicher deaktivieren" nicht auswählen, ermittelt die CPU, welche Art von Memory Card Sie stecken: ●...
  • Seite 149: Anlaufparameter Der Cpu Vor Dem Kopieren Des Projekts Auf Die Memory Card Konfigurieren

    PLC-Grundlagen 5.5 Memory Card verwenden 5.5.2 Anlaufparameter der CPU vor dem Kopieren des Projekts auf die Memory Card konfigurieren Wenn Sie ein Programm auf eine Übertragungskarte oder eine Programmkarte kopieren, enthält das Programm die Anlaufparameter für die CPU. Stellen Sie stets vor dem Kopieren des Programms auf die Memory Card sicher, dass Sie den Betriebszustand der CPU nach dem Ausschalten und Wiedereinschalten konfiguriert haben.
  • Seite 150: Übertragungskarte Anlegen

    PLC-Grundlagen 5.5 Memory Card verwenden Übertragungskarte anlegen Denken Sie daran, die Anlaufparameter der CPU zu konfigurieren (Seite 149), bevor Sie ein Programm auf die Übertragungskarte kopieren. Um eine Übertragungskarte 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 151: Übertragungskarte Verwenden

    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 152: Programmkarte

    PLC-Grundlagen 5.5 Memory Card verwenden 3. Nach dem Neustart und der Auswertung der Memory Card kopiert die CPU das Programm in den internen Ladespeicher der CPU. Die RUN/STOP-LED blinkt abwechselnd grün und gelb, um kenntlich zu machen, dass das Programm kopiert wird. Wenn die RUN/STOP-LED eingeschaltet wird (und dauerhaft gelb leuchtet) und die MAINT-LED blinkt, ist der Kopiervorgang beendet.
  • Seite 153 PLC-Grundlagen 5.5 Memory Card verwenden Programmkarte anlegen Bei Einsatz als Programmkarte funktioniert die Memory Card als externer Ladespeicher der CPU. Wenn Sie die Programmkarte ziehen, ist der interne Ladespeicher der CPU leer. Hinweis Wenn Sie eine leere Memory Card in die CPU stecken und eine Auswertung der Memory Card durchführen, indem Sie die CPU aus- und wieder einschalten, die CPU von STOP nach RUN versetzen oder ein Urlöschen (MRES) durchführen, werden das Programm und die geforcten Werte aus dem internen Ladespeicher der CPU in die Memory Card kopiert.
  • Seite 154: Programmkarte Als Externen Ladespeicher Für Die Cpu Nutzen

    PLC-Grundlagen 5.5 Memory Card verwenden 4. Wählen Sie im Dialog "Memory Card" in der Klappliste die Option "Programm" aus. 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 155 PLC-Grundlagen 5.5 Memory Card verwenden Um mit Ihrer CPU eine Programmkarte zu nutzen, gehen Sie folgendermaßen vor: 1. Schieben Sie die Programmkarte in die CPU. Befindet sich die CPU im Betriebszustand RUN, geht sie in STOP. Die Wartungs-LED (MAINT) blinkt, um anzuzeigen, dass die Memory Card ausgewertet werden muss.
  • Seite 156: Firmware-Update

    ACHTUNG 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. S7-1200 Automatisierungssystem...
  • Seite 157 PLC-Grundlagen 5.5 Memory Card verwenden Um das Firmware-Update auf Ihre Memory Card zu laden, 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. (Ist die Karte schreibgeschützt, schieben Sie den Schutzschalter aus der Verriegelungsposition heraus.) Sie können eine SIMATIC Memory Card verwenden, die bereits ein Anwenderprogramm oder ein anderes Firmware-Update enthält, doch Sie müssen einige der Dateien auf der...
  • Seite 158 PLC-Grundlagen 5.5 Memory Card verwenden 1. Schieben Sie die Memory Card in die CPU. Befindet sich die CPU im Betriebszustand RUN, geht sie in STOP. Die Wartungs-LED (MAINT) blinkt, um anzuzeigen, dass die Memory Card ausgewertet werden muss. 2. Starten Sie die CPU neu, um das Firmware-Update zu starten. Alternative Methoden zum Neustarten der CPU sind ein Wechsel von STOP in RUN oder ein Urlöschen (MRES) in STEP 7.
  • Seite 159: Vorgehensweise Bei Verlorenem Passwort

    PLC-Grundlagen 5.6 Vorgehensweise bei verlorenem Passwort Vorgehensweise bei verlorenem Passwort Wenn Sie das Passwort für eine passwortgeschützte CPU verloren haben, löschen Sie das passwortgeschützte Programm mit einer leeren Übertragungskarte. Die leere Übertragungskarte löscht den internen Ladespeicher der CPU. Dann können Sie ein neues Anwenderprogramm aus STEP 7 in die CPU laden.
  • Seite 160 PLC-Grundlagen 5.6 Vorgehensweise bei verlorenem Passwort S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 161: 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 162: 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 Projek- tansicht 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 163 Gerätekonfiguration 6.1 Einfügen einer CPU Dialog "Neues Gerät hinzufü- gen" Gerätesicht der Hardwarekonfi- guration Nach der Auswahl der CPU in der Gerätesicht werden die Ei- genschaften der CPU im Inspek- torfenster angezeigt. Die CPU hat keine vorkonfigu- rierte IP-Adresse. Sie müssen der CPU daher bei der Geräte- konfiguration manuell eine IP- Adresse zuweisen.
  • Seite 164: Konfiguration Aus Einer Angeschlossenen Cpu Laden

    Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden Konfiguration aus einer angeschlossenen CPU laden STEP 7 ermöglicht das Laden der Hardwarekonfiguration einer angeschlossenen CPU auf zweierlei Art: ● das Laden des angeschlossenen Geräts als neue Station ● das Konfigurieren einer nicht spezifizierten CPU mittels Hardwareerkennung der angeschlossenen CPU Zu beachten ist jedoch, dass im ersten Fall sowohl die Hardwarekonfiguration als auch die Software der angeschlossenen CPU geladen werden.
  • Seite 165: Hardwarekonfiguration Einer Nicht Spezifizierten Cpu Erkennen

    Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden Hardwarekonfiguration einer nicht spezifizierten CPU erkennen Wenn eine Verbindung zu einer CPU besteht, können Sie die Konfiguration dieser CPU einschließlich evtl. vorhandener Module aus dem Gerät in Ihr Projekt la- den. Legen Sie dazu einfach ein neues Projekt an und wählen Sie anstelle einer bestimmten CPU die "nicht spezifizierte CPU".
  • Seite 166: Module Zur Konfiguration Hinzufügen

    Gerätekonfiguration 6.3 Module zur Konfiguration hinzufügen Module zur Konfiguration hinzufügen Im Hardwarekatalog können Sie Module zur CPU hinzufügen: ● Signalmodule (SMs) für zusätzliche digitale oder analoge Ein- und Ausgänge. Diese Module werden an der rechten Seite der CPU angeschlossen. ● Signalboards (SBs) bieten eine begrenzte Zahl von zusätzlichen Ein-/Ausgängen für die CPU.
  • Seite 167: 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 168 Gerätekonfiguration 6.4 Konfigurationssteuerung 3. Im Knoten "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.2, 09/2016, A5E02486681-AK...
  • Seite 169 Gerätekonfiguration 6.4 Konfigurationssteuerung 5. Legen Sie einen Datenbaustein mit dem gewählten PLC-Datentyp an. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 170 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 171: Modulanordnung

    Gerätekonfiguration 6.4 Konfigurationssteuerung 7. Rufen Sie im Anlauf-OB die erweiterte Anweisung WRREC (Datensatz schreiben) auf, um den Steuerdatensatz zu Index 196 der Hardware-ID 33 zu übertragen. Verwenden Sie eine Sprungmarke (JMP), um zu warten, bis die Anweisung WRREC beendet ist. Netzwerk 1: Netzwerk 2: Hinweis...
  • Seite 172: Steuerdatensatz

    Gerätekonfiguration 6.4 Konfigurationssteuerung Steuerdatensatz Ein Steuerdatensatz 196 enthält die Steckplatzbelegung und die tatsächliche Konfiguration wie unten gezeigt: Byte Element Wert Erklärung Bausteinlänge Header Baustein-ID Version Subversion 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...
  • Seite 173 Gerätekonfiguration 6.4 Konfigurationssteuerung Regeln Die folgenden Regeln sind zu beachten: ● Die Konfigurationssteuerung unterstützt keine Änderung der Position für Kommunikationsmodule. Die im Steuerdatensatz angegebenen Positionen der Steckplätze 101 bis 103 müssen dem tatsächlichen Aufbau entsprechen. Ist für den Steckplatz in Ihrer Gerätekonfiguration kein Modul konfiguriert, geben Sie für diese Position den Wert 255 in den Steuerdatensatz ein.
  • Seite 174: Verhalten Im Betrieb

    Gerätekonfiguration 6.4 Konfigurationssteuerung Verhalten im Betrieb Für die Online-Anzeige und die Anzeige im Diagnosepuffer (Modul OK oder Modul fehlerhaft) nutzt STEP 7 die Gerätekonfiguration, nicht die abweichende reale Konfiguration. Beispiel: Ein Modul gibt Diagnosedaten aus. Dieses Modul steckt laut Konfiguration in Steckplatz 4, tatsächlich aber in Steckplatz 3.
  • Seite 175: Beispiel Für Die Konfigurationssteuerung

    Gerätekonfiguration 6.4 Konfigurationssteuerung 6.4.3 Beispiel für die Konfigurationssteuerung Dieses Beispiel beschreibt eine Konfiguration bestehend aus einer CPU und drei E/A- Modulen. Das Modul an Steckplatz 3 ist im ersten tatsächlichen Aufbau nicht vorhanden und wird daher mit Hilfe der Konfigurationssteuerung "verborgen". Im zweiten Aufbau wird das anfangs verborgene Modul zwar verwendet, aber nun im letzten Steckplatz konfiguriert.
  • Seite 176 Gerätekonfiguration 6.4 Konfigurationssteuerung Um anzuzeigen, dass ein Modul fehlt, muss Steckplatz 3 im Steuerdatensatz mit 0 konfiguriert werden. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 177 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 S7-1200 Automatisierungssystem...
  • Seite 178 Gerätekonfiguration 6.4 Konfigurationssteuerung Um die Gerätekonfiguration an den tatsächlichen Aufbau anzupassen, sind die Module durch Bearbeiten des Steuerdatensatzes den richtigen Steckplätzen zuzuordnen. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 179: Ä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 180 Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Tabelle 6- 2 CPU-Eigenschaften Eigenschaft Beschreibung PROFINET-Schnittstelle Einstellen der IP-Adresse für die CPU und die Uhrzeitsynchronisation DE, DA und AE Einstellen des Verhaltens der lokalen (integrierten) digitalen und analogen E/A (z.B. Filter- zeiten für die Digitaleingänge und die Reaktion von Digitalausgängen auf das Versetzen der CPU in den Betriebszustand STOP).
  • Seite 181: Filterzeiten Für Digitaleingänge Einrichten

    Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Eigenschaft Beschreibung Konfigurationssteuerung Ermöglicht die Konfiguration einer Mastergerätekonfiguration, die Sie für verschiedene tat- (Seite 167) sächliche Gerätekonfigurationen steuern können. Verbindungsressourcen Bietet einen Überblick über die Kommunikationsverbindungsressourcen der CPU und die (Seite 849) Anzahl der konfigurierten Verbindungsressourcen. Übersicht über Adressen Bietet einen Überblick über die E/A-Adressen, die für die CPU konfiguriert sind.
  • Seite 182: Konfiguration Von Filterzeiten Für Als Hscs Verwendete Digitaleingänge

    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 183: Impulsabgriff

    Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs 6.6.3 Impulsabgriff Die S7-1200 CPU bietet den Impulsabgriff für digitale Eingänge. Mit der Funktion "Impulsabgriff" können Sie hohe oder niedrige Impulse erfassen, die eine so kurze Dauer haben, dass sie von der CPU leicht übersehen werden können, wenn die Digitaleingänge zu Beginn eines Zyklus gelesen werden.
  • Seite 184: 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 1057). Es besteht auch die Möglichkeit, keine Projektsprache für die Sprache einer Benutzeroberfläche festzulegen.
  • Seite 185: 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 186: Modulparameter Konfigurieren

    Gerätekonfiguration 6.8 Modulparameter konfigurieren Modulparameter konfigurieren Um die Betriebsparameter der Module zu konfigurieren, wählen Sie das Modul in der Gerätesicht aus und öffnen im Inspektorfenster das Register "Eigenschaften", um die Parameter für das Modul einzurichten. Signalmodul (SM) oder Signalboard (SB) konfigurieren In der Gerätekonfiguration für Signalmodule und Signalboards können Sie Folgendes konfigurieren: ●...
  • Seite 187 Gerätekonfiguration 6.8 Modulparameter konfigurieren Kommunikationsschnittstelle (CM, CP oder CB) konfigurieren Sie konfigurieren die Parameter für das Netzwerk je nach Typ der Kommunikationsschnittstelle. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 188: Cpu Für Die Kommunikation Konfigurieren

    Gerätekonfiguration 6.9 CPU für die Kommunikation konfigurieren 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 189 Gerätekonfiguration 6.9 CPU für die Kommunikation konfigurieren Bei den TCP-, ISO-on-TCP- und UDP-Ethernet- Protokollen konfigurieren Sie die Verbindungen der lokalen und der Partner-CPU in den "Eigen- schaften" der Anweisung (TSEND_C, TRCV_C oder TCON). Die Abbildung zeigt die "Verbindungseigenschaf- ten" im Register "Verbindung" einer ISO-on-TCP- Verbindung.
  • Seite 190: Uhrzeitsynchronisation

    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 191 Gerätekonfiguration 6.10 Uhrzeitsynchronisation Wenn Sie den NTP-Server verwenden, können Sie das Aktualisierungsintervall auswählen. Für das Aktualisierungsintervall des NTP-Servers sind standardmäßig 10 Sekunden eingestellt. Wenn Sie die Uhrzeitsynchronisation in einem Modul aktivieren, werden Sie von der Engineering Station (ES) aufgefordert, das Kontrollkästchen "CPU synchronisiert die Module des Geräts"...
  • Seite 192 Gerätekonfiguration 6.10 Uhrzeitsynchronisation S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 193: Programmierkonzepte

    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 194 Programmierkonzepte 7.1 Richtlinien für das Entwerfen einer Automatisierungslösung mit einem PLC-Gerät Empfohlene Schritte Aufgaben Definieren der Opera- Erstellen Sie die folgenden Pläne der OperatorStationen anhand der Anforderungen in den Be- torStationen schreibungen der Funktionsbereiche: Position aller OperatorStationen in Bezug zum Prozess bzw. zur Anlage •...
  • Seite 195: Strukturieren Ihres Anwenderprogramms

    Programmierkonzepte 7.2 Strukturieren Ihres Anwenderprogramms Strukturieren Ihres Anwenderprogramms Beim Erstellen eines Anwenderprogramms für Automatisierungslösungen fügen Sie die Anweisungen für das Programm in Codebausteine ein: ● Ein Organisationsbaustein (OB) reagiert auf ein bestimmtes Ereignis in der CPU und kann die Ausführung des Anwenderprogramms unterbrechen. Der Standardbaustein für die zyklische Ausführung des Anwenderprogramms (OB 1) stellt die Grundstruktur für Ihr Anwenderprogramm bereit.
  • Seite 196: 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 197: Verwendung Von Bausteinen Zum Strukturieren Ihres Programms

    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. Der aufrufende Baustein gibt gerätespezifische Parameter an den aufgerufenen Baustein weiter.
  • Seite 198: Organisationsbaustein (Ob)

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3.1 Organisationsbaustein (OB) Organisationsbausteine dienen zur Strukturierung Ihres Programms. Sie bilden die Schnittstelle zwischen dem Betriebssystem und dem Anwenderprogramm. OBs sind ereignisgesteuert. Ein Ereignis, z. B. ein Diagnosealarm oder ein Zeitintervall, veranlasst die CPU zur Ausführung eines OB.
  • Seite 199: Zusätzliche Obs Anlegen

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Zusätzliche OBs anlegen Sie können mehrere OBs für Ihr Anwenderprogramm anlegen. Dies gilt auch für die Programmzyklus- und Anlauf-OB-Ereignisse. Im Dialog "Neuen Baustein hinzufügen" können Sie einen OB anlegen und einen Namen für den neuen OB eingeben. Wenn Sie mehrere Programmzyklus-OBs für Ihr Anwenderprogramm anlegen, führt die CPU die einzelnen Programmzyklus-OBs in numerischer Reihenfolge aus.
  • Seite 200: Funktion (Fc)

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3.2 Funktion (FC) Eine Funktion (FC) ist ein Codebaustein, der typischerweise eine bestimmte Operation mit einer Anzahl von Eingangswerten durchführt. Die FC speichert die Ergebnisse dieser Operation an bestimmten Speicherorten. Verwenden Sie beispielsweise FCs, um Standardoperationen und mehrfach verwendbare Operationen (z.
  • Seite 201: Wiederverwendbare Codebausteine Mit Zugewiesenem Speicher

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Wiederverwendbare Codebausteine mit zugewiesenem Speicher Typischerweise wird ein FB für die Steuerung des Ablaufs von Tätigkeiten oder Geräten verwendet, deren Betrieb nicht innerhalb eines Zyklus endet. Für die Speicherung der Betriebsparameter, damit diese zwischen zwei Zyklen schnell zugänglich sind, hat jeder FB in Ihrem Anwenderprogramm einen oder mehrere Instanz-DBs.
  • Seite 202: 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 203: Datenbaustein (Db)

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3.4 Datenbaustein (DB) Sie können in Ihrem Anwenderprogramm Datenbausteine (DBs) zum Speichern der Daten für die Codebausteine anlegen. Alle Programmbausteine im Anwenderprogramm können auf die Daten in einem globalen DB zugreifen, doch ein Instanz-DB speichert Daten für einen spezifischen Funktionsbaustein (FB).
  • Seite 204: Anlegen Wiederverwendbarer Codebausteine

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Beachten Sie, dass bei neuen Datenbausteinen standardmäßig der optimierte Bausteinzugriff eingestellt wird. Wenn Sie "Optimierter Bausteinzugriff" deaktivieren, wird der Standardzugriff für den Baustein festgelegt. Hinweis Bausteinzugriffstyp für einen FB und seinen Instanz-DB Wenn für Ihren FB die Option "Optimierter Bausteinzugriff"...
  • Seite 205: Übergabe Von Parametern An Bausteine

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Bibliotheken dienen beispielsweise dazu, Bausteinvorlagen zu erstellen, die Sie zunächst in die Projektbibliothek kopieren und dann dort weiterentwickeln. Abschließend kopieren Sie die Bausteine von der Projektbibliothek in eine globale Bibliothek. Die globale Bibliothek stellen Sie anderen Kollegen im Projekt zur Verfügung.
  • Seite 206: Bausteinoptimierung Und Parameterübergabe

    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 207: Auswirkung Der Optimierungseinstellungen Auf Anwenderprogramme

    Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Wenn das Anwenderprogramm einen komplexen Parameter (zum Beispiel STRUCT) an eine Funktion übergibt, prüft das System die Optimierungseinstellung des Datenbausteins mit der Struktur und die Optimierungseinstellung des Programmbausteins. Wenn Sie sowohl den Datenbaustein als auch die Funktion optimieren, dann übergibt das Anwenderprogramm die Struktur als "Call-by-Reference".
  • Seite 208 Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Es gibt mehrere Möglichkeiten, dieses Problem zu vermeiden: ● Die beste Lösung ist, bei Verwendung komplexer Datentypen (zum Beispiel STRUCT) die Optimierungseinstellungen des Programmbausteins und des Datenbausteins aneinander anzupassen. Dadurch wird gewährleistet, dass das Anwenderprogramm die Parameter stets als "Call-by-Reference"...
  • Seite 209: Datenkonsistenz

    Programmierkonzepte 7.4 Datenkonsistenz Datenkonsistenz Die CPU erhält die Datenkonsistenz für alle elementaren Datentypen (z.B. Word oder DWord) und alle systemdefinierten Strukturen (z.B. IEC_TIMERS oder DTL). Der Lese- bzw. Schreibvorgang des Werts kann nicht unterbrochen werden. (Die CPU z.B. schützt den Zugriff auf einen Wert vom Datentyp DWord, bis die vier Bytes des DWord gelesen oder geschrieben wurden.) Um sicherzustellen, dass die Programmzyklus-OBs und die Alarm- OBs nicht gleichzeitig in dieselbe Adresse im Speicher schreiben können, führt die CPU...
  • Seite 210 Programmierkonzepte 7.4 Datenkonsistenz Die PtP-Anweisungen (Punkt-zu-Punkt), PROFINET-Anweisungen (wie TSEND_C und TRCV_C), die PROFINET-Anweisungen für die dezentrale Peripherie (Seite 406) und die PROFIBUS-Anweisungen für die dezentrale Peripherie (Seite 406) übertragen Datenpuffer, die unterbrochen werden können. Stellen Sie die Datenkonsistenz für die Datenpuffer dadurch sicher, dass Sie Lese- und Schreibvorgänge in den Puffern sowohl im Programmzyklus-OB als auch im Alarm-OB verhindern.
  • Seite 211: Programmiersprache

    Programmierkonzepte 7.5 Programmiersprache Programmiersprache STEP 7 bietet die folgenden Standardprogrammiersprachen für die S7-1200: ● KOP (Kontaktplan) ist eine grafische Programmiersprache. Die Darstellung beruht auf Schaltplänen (Seite 211). ● FUP (Funktionsplan) ist eine Programmiersprache, die auf den grafischen Logiksymbolen der Booleschen Algebra (Seite 212) basiert. ●...
  • Seite 212: Funktionsplan (Fup)

    Programmierkonzepte 7.5 Programmiersprache Beim Anlegen eines KOP-Netzwerks sind die folgenden Regeln zu beachten: ● Sie können keine Verzweigung anlegen, die zu einem Signalfluss in die Gegenrichtung führen könnte. ● Sie können keine Verzweigung anlegen, die einen Kurzschluss verursachen würde. 7.5.2 Funktionsplan (FUP) Ebenso wie KOP ist auch FUP eine grafische Programmiersprache.
  • Seite 213: Scl

    7.5 Programmiersprache 7.5.3 Structured Control Language (SCL) ist eine höhere, PASCAL-basierte Programmiersprache für die SIMATIC S7-CPUs. SCL unterstützt die Bausteinstruktur von STEP 7 (Seite 197). Ihr Projekt kann Programmbausteine in jeder der drei Programmiersprachen: SCL, KOP und FUP enthalten. In SCL-Anweisungen werden die Standardoperatoren der Programmierung verwendet, z. B.
  • Seite 214 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.
  • Seite 215: 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 216 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 217: Steuerungsanweisungen

    Programmierkonzepte 7.5 Programmiersprache Steuerungsanweisungen Eine Steuerungsanweisung ist eine besondere Art von SCL-Ausdruck, der die folgenden Aufgaben durchführt: ● Programmverzweigung ● Wiederholung von Abschnitten des SCL-Programmcodes ● Sprung zu anderen Teilen des SCL-Programms ● Bedingte Ausführung Die SCL-Steuerungsanweisungen umfassen IF-THEN, CASE-OF, FOR-TO-DO, WHILE-DO, REPEAT-UNTIL, CONTINUE, GOTO und RETURN.
  • Seite 218 Programmierkonzepte 7.5 Programmiersprache Andere Codebausteine aus Ihrem SCL-Programm aufrufen Um einen anderen Codebaustein in Ihrem Anwenderprogramm aufzurufen, geben Sie einfach den Namen (oder die absolute Adresse) von FB oder FC mit den Parametern ein. Für einen FB müssen Sie den Instanz-DB angeben, der mit dem FB aufgerufen werden soll. <DB-Name>...
  • Seite 219: Indexierte Adressierung Mit Den Anweisungen Peek Und Poke

    Programmierkonzepte 7.5 Programmiersprache 7.5.3.3 Indexierte Adressierung mit den Anweisungen PEEK und POKE SCL bietet die Anweisungen PEEK und POKE, mit denen Sie aus Datenblöcken, E/A oder dem Speicher lesen oder in diese schreiben können. Sie geben für die Operation Parameter mit einem spezifischen Byte- oder Bit-Versatz an.
  • Seite 220 Programmierkonzepte 7.5 Programmiersprache POKE(area:=_in_, Schreibt den Wert (Byte, Wort oder Doppel- dbNumber:=_in_, wort) in den angegebenen byteOffset des byteOffset:=_in_, angegebenen Datenbausteins, der E/A oder value:=_in_); des Speicherbereichs. Beispiel für den Verweis auf einen Datenbau- stein: POKE(area:=16#84, dbNumber:=2, byteOffset:=3, value:="Tag_1"); Beispiel für den Verweis auf Ausgang AB3: POKE(area:=16#82, dbNumber:=0, byteOffset:=3, value:="Tag_1");...
  • Seite 221: En Und Eno In Kop, Fup Und Scl

    Programmierkonzepte 7.5 Programmiersprache 7.5.4 EN und ENO in KOP, FUP und SCL "Signalfluss" (EN und ENO) für eine Anweisung ermitteln Einige Anweisungen (z. B. mathematische Anweisungen und Übertragungsanweisungen ) zeigen Parameter für EN und ENO an. Diese Parameter beziehen sich auf den Signalfluss in KOP oder FUP und legen fest, ob die Anweisung in diesem Zyklus ausgeführt wird.
  • Seite 222 Programmierkonzepte 7.5 Programmiersprache 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. Beispiele: “MyFunction” ( IN1 := … , IN2 := …...
  • Seite 223: Siehe Auch

    Programmierkonzepte 7.6 Schutz Siehe auch OK (Gültigkeit prüfen) und NOT_OK (Ungültigkeit prüfen) (Seite 268) Schutz 7.6.1 Zugriffsschutz für die CPU Die CPU bietet vier Sicherheitsstufen, um den Zugang zu bestimmten Funktionen einzuschränken. Mit dem Einrichten der Schutzstufe und des Passworts für eine CPU schränken Sie die Funktionen und Speicherbereiche ein, die ohne Eingabe eines Passworts zugänglich sind.
  • Seite 224 Programmierkonzepte 7.6 Schutz Bei Passwörtern wird Groß- und Kleinschreibung unterschieden. Um die Schutzstufe und die Passwörter zu konfigurieren, gehen Sie folgendermaßen vor: 1. Wählen Sie in der "Gerätekonfiguration" die CPU aus. 2. Wählen Sie im Inspektorfenster das Register "Eigenschaften". 3. Wählen Sie die Eigenschaft "Schutz", um die Schutzstufe auszuwählen und Passwörter einzugeben.
  • Seite 225 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 1062) durch starke Passwörter.
  • Seite 226: Externer Ladespeicher

    Programmierkonzepte 7.6 Schutz Verbindungsmechanismen Auch für den Zugriff auf entfernte Verbindungspartner über die Anweisungen PUT/GET benötigt der Anwender die entsprechende Berechtigung. Standardmäßig ist die Option "Zugriff über PUT/GET-Kommunikation erlauben" nicht aktiviert. In diesem Fall ist der Lese- und Schreibzugriff auf CPU-Daten nur mit Kommunikationsverbindungen möglich, bei denen sowohl die lokale CPU als auch der Kommunikationspartner konfiguriert oder programmiert werden müssen.
  • Seite 227: Knowhow-Schutz

    Programmierkonzepte 7.6 Schutz 7.6.3 Knowhow-Schutz Mit dem Knowhow-Schutz können Sie einen oder mehrere Codebausteine (OB, FB, FC oder DB) in Ihrem Programm vor unbefugtem Zugriff schützen. Sie können ein Passwort eingeben, um den Zugriff auf einen Codebaustein einzuschränken. Der Passwortschutz verhindert das unbefugte Lesen oder Ändern des Codebausteins.
  • Seite 228: Kopierschutz

    Programmierkonzepte 7.6 Schutz 7.6.4 Kopierschutz Eine weitere Sicherheitsfunktion ermöglicht Ihnen, Programmbausteine mit einer bestimmten Memory Card oder CPU zu verknüpfen. Diese Funktion ist vor allem zum Schutz geistigen Eigentums nützlich. Wird ein Programmbaustein mit einem bestimmten Gerät verknüpft, so ist die Verwendung des Programms oder Codebausteins nur in Verbindung mit einer bestimmten Memory Card oder CPU möglich.
  • Seite 229 Programmierkonzepte 7.6 Schutz 3. Für die Verknüpfung mit der Seriennummer einer CPU oder Memory Card können Sie wählen, ob die Seriennummer beim Laden eingefügt oder die Seriennummer von der Memory Card oder CPU eingegeben werden soll. Hinweis Bei der Seriennummer ist die Groß- und Kleinschreibung zu beachten. Für die dynamische Verknüpfung mit einem obligatorischen Passwort ist das Passwort festzulegen, mit dem der Baustein geladen oder kopiert werden kann.
  • Seite 230: Laden Der Programmelemente

    Programmierkonzepte 7.7 Laden der Programmelemente Laden der Programmelemente Sie können die Elemente Ihres Projekts aus dem Programmiergerät in die CPU laden. Wenn Sie ein Projekt laden, speichert die CPU das Anwenderprogramm (OBs, FCs, FBs und DBs) im internen Ladespeicher oder, sofern eine SIMATIC Memory Card vorhanden ist, im externen Ladespeicher (Karte).
  • Seite 231 Programmierkonzepte 7.7 Laden der Programmelemente Laden ins Zielsystem, wenn sich die konfigurierte CPU von der angeschlossenen CPU unterscheidet STEP 7 und die S7-1200 gestatten das Laden ins Zielsystem, wenn die angeschlossene CPU die Kapazität hat, die geladenen Daten von der konfigurierten CPU basierend auf den Speicheranforderungen des Projekts und der Kompatibilität der Peripherie zu speichern.
  • Seite 232 Programmierkonzepte 7.7 Laden der Programmelemente STEP 7 und die S7-1200 verbieten das Laden ins Zielsystem, wenn die angeschlossene CPU nicht die Kapazität hat, die aus der konfigurierten CPU geladenen Daten zu speichern. Beispielsweise können Sie die Hardwarekonfiguration und das Programm in den folgenden Fällen nicht laden: ●...
  • Seite 233 Programmierkonzepte 7.7 Laden der Programmelemente Wiederherstellen nach fehlgeschlagenem Laden ins Zielsystem Wenn der Ladevorgang fehlschlägt, wird im Register "Info" im Inspektorfenster der Grund angezeigt. Auch der Diagnosepuffer liefert Informationen. Nach einem fehlgeschlagenen Ladevorgang gehen Sie wie folgt vor, um das Laden ins Zielsystem erfolgreich durchzuführen: 1.
  • Seite 234: Synchronisieren Der Online-Cpu Und Des Offline-Projekts

    Programmierkonzepte 7.8 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 235 Programmierkonzepte 7.8 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 236: Laden Von Der Online-Cpu

    Programmierkonzepte 7.9 Laden von der Online-CPU 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 Pro- grammbausteine vor: 1. Fügen Sie eine CPU hinzu, die der Online-CPU entspricht.
  • Seite 237: Debugging Und Testen Des Programms

    Programmierkonzepte 7.10 Debugging und Testen des Programms 7.10 Debugging und Testen des Programms 7.10.1 Daten in der CPU beobachten und steuern Sie können Werte in der Online-CPU beobachten und steuern (siehe folgende Tabelle). Tabelle 7- 5 Daten mit STEP 7 beobachten und steuern Editor Beobachten Steuern...
  • Seite 238: Beobachtungstabellen Und Forcetabellen

    Programmierkonzepte 7.10 Debugging und Testen des Programms 7.10.2 Beobachtungstabellen und Forcetabellen Mit Hilfe von "Beobachtungstabellen" können Sie die Werte eines Anwenderprogramms, das von der Online-CPU ausgeführt wird, überwachen und ändern. Sie können in Ihrem Projekt unterschiedliche Beobachtungstabellen erstellen und speichern, um eine Vielzahl von Testumgebungen abzudecken.
  • Seite 239: Querverweis Zum Anzeigen Der Verwendung

    Programmierkonzepte 7.10 Debugging und Testen des Programms 7.10.3 Querverweis zum Anzeigen der Verwendung Das Inspektorfenster zeigt Querverweise dazu an, wie ein Objekt innerhalb des gesamten Projekts verwendet wird, z. B. im Anwenderprogramm, in der CPU oder den HMI-Geräten. Im Register "Querverweis" werden die Instanzen angezeigt, wo und von welchen anderen Objekten ein ausgewähltes Objekt verwendet wird.
  • Seite 240: Aufrufstruktur Zur Prüfung Der Aufrufhierarchie

    Programmierkonzepte 7.10 Debugging und Testen des Programms 7.10.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 241: Anweisungen

    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 IF in THEN Schließer- und Öffnerkontakte: Sie können Kontakte untereinander ver-...
  • Seite 242 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 243: 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 Anweisungsverzeichnis auf einen Eingang oder einen Aus- gang ziehen, um einen Logikinvertierer für diesen Box- Anschluss zu erstellen.
  • Seite 244: Setz- Und Rücksetzoperationen

    Anweisungen 8.1 Bitverknüpfungen Tabelle 8- 7 Datentypen für die Parameter Parameter Datentyp Beschreibung Bool Zugewiesenes Bit ● 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 245: Bitfeld Setzen Und 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 geschrieben, beginnend an Adresse OUT. Wird SET_BF nicht aktiviert, verändert sich OUT nicht. Nicht verfügbar Bitfeld rücksetzen: RESET_BF schreibt den Datenwert 0 in "n"...
  • Seite 246 Anweisungen 8.1 Bitverknüpfungen Tabelle 8- 13 Datentypen für die Parameter Parameter Datentyp Beschreibung S, S1 Bool Eingang setzen; 1 weist auf Dominanz hin R, R1 Bool Eingang zurücksetzen; 1 weist auf Dominanz hin INOUT Bool Zugewiesene Bitvariable "INOUT" Bool Folgt dem Zustand von Bit "INOUT" Variable "INOUT"...
  • Seite 247: Operationen Steigende Flanke Und Fallende Flanke

    Anweisungen 8.1 Bitverknüpfungen 8.1.3 Operationen Steigende Flanke und Fallende Flanke Tabelle 8- 14 Anweisungen "Steigende Flanke" und "Fallende Flanke" Beschreibung Nicht verfügbar Operand auf positive Signalflanke abfragen. KOP: Der Zustand dieses Kontakts ist WAHR, wenn eine steigende Flanke (AUS-nach-EIN) am zugewiesenen Bit IN erkannt wird. Der logische Zustand des Kontakts wird dann mit dem Eingangszustand des Signalflusses verknüpft, um den Ausgangszustand des Signalflus- ses zu setzen.
  • Seite 248 Anweisungen 8.1 Bitverknüpfungen Beschreibung Nicht verfügbar Operand bei negativer Signalflanke setzen. KOP: Das zugewiesene Bit OUT ist WAHR, wenn eine fallende Flanke (EIN-nach-AUS) am Signalfluss, der in die Spule eintritt, erkannt wird. Der Eingangszustand des Signalflusses durchläuft die Spule immer als Ausgangszustand des Signalflusses.
  • Seite 249 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 Q=> _bool_out_); Instanz-DB gespeichert. Der Signalfluss oder der logische Zustand des Ausgangs Q ist WAHR, wenn eine steigende Flanke (AUS-nach-EIN) am Eingangszustand CLK (FUP) oder am Signalfluss CLK (KOP) er- kannt wird.
  • Seite 250 Anweisungen 8.1 Bitverknüpfungen Alle Flankenanweisungen verwenden einen Merker (M_BIT: P/N Kontakte/Spulen, P_TRIG/N_TRIG) oder (Instanz-DB-Bit: R_TRIG, F_TRIG) zur Speicherung des vorhergehenden Zustands des beobachteten Eingangssignals. Eine Flanke wird durch Vergleichen des Zustands des Eingangs mit dem vorhergehenden Zustand erkannt. Wenn die Zustände am Eingang auf einen Signalwechsel in der gewünschten Richtung hinweisen, wird eine Flanke gemeldet, indem der Ausgang auf WAHR gesetzt wird.
  • Seite 251: Funktionsweise Der Zeiten

    Anweisungen 8.2 Funktionsweise der Zeiten Funktionsweise der Zeiten Mit den Zeitanweisungen können Sie programmierte Zeitverzögerungen einrichten. Die Anzahl der Zeiten, die Sie in Ihrem Anwenderprogramm verwenden können, ist lediglich durch den Speicherplatz in der CPU begrenzt. Jede Zeit nutzt eine 16 Byte große DB- Struktur vom Datentyp IEC_Timer, um Zeitdaten zu speichern, die im oberen Bereich der Box- oder Spulenanweisung angegeben werden.
  • Seite 252 Anweisungen 8.2 Funktionsweise der Zeiten Tabelle 8- 19 Datentypen für die Parameter Parameter Datentyp Beschreibung Box: IN Bool TP, TON und TONR: Spule: Signalfluss Box: 0 = Zeit deaktivieren, 1 = Zeit aktivieren Spule: Kein Signalfluss = Zeit deaktivieren, Signalfluss = Zeit aktivieren TOF: Box: 0 = Zeit aktivieren, 1 = Zeit deaktivieren Spule: Kein Signalfluss = Zeit aktivieren, Signalfluss = Zeit deaktivieren...
  • Seite 253: Beispiel Für Eine Zeitspule

    Anweisungen 8.2 Funktionsweise der Zeiten Die Werte von PT (voreingestellte Zeit) und ET (abgelaufene Zeit) werden in den Daten des angegebenen DBs IEC_TIMER als vorzeichenbehaftete doppelte Ganzzahlen gespeichert, die einen Zeitwert in Millisekunden darstellen. Der Datentyp TIME verwendet die Kennung T# und kann als einfache Zeiteinheit (T#200ms oder 200) oder als zusammengesetzte Zeiteinheiten wie T#2s_200ms eingegeben werden.
  • Seite 254: Spulen Zeit Rücksetzen -(Rt)- Und Zeitdauer Laden -(Pt)

    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 DBs IEC_Timer auf 0 zurückgesetzt.
  • Seite 255 Anweisungen 8.2 Funktionsweise der Zeiten Zeit Zeitdiagramm TOF: Ausschaltverzögerung generieren Die Zeit TON setzt den Ausgang Q nach einer vorein- gestellten Zeit auf AUS zurück. TONR: Zeitakkumulator Die Zeit TONR setzt den Ausgang Q nach einer vorein- gestellten Zeit auf EIN. Die abgelaufene Zeit wird über mehrere Zeitintervalle kumuliert, bis Eingang R zum Zurücksetzen der abgelaufenen Zeit angestoßen wird.
  • Seite 256: Programmierung Von Zeiten

    Anweisungen 8.2 Funktionsweise der Zeiten Die Zeit wird nur dann aktualisiert, wenn: ● Eine Zeitanweisung (TP, TON, TOF oder TONR) ausgeführt wird ● Das Element "ELAPSED" der Zeitstruktur im DB direkt von einer Anweisung referenziert wird ● Das Element "Q" der Zeitstruktur im DB direkt von einer Anweisung referenziert wird Programmierung von Zeiten Die folgenden Konsequenzen von Zeiten sind bei der Planung und Erstellung Ihres Anwenderprogramms zu berücksichtigen:...
  • Seite 257: Zeitdaten Durch Zuweisen Eines Globalen Db Als Remanente Daten Speichern

    Anweisungen 8.2 Funktionsweise der Zeiten Speichern von Zeitdaten 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 beendet wird und eine neue Session im Betriebszustand RUN gestartet wird, gehen die in der vorherigen RUN-Session gespeicherten Zeitdaten verloren, sofern die Zeitdatenstruktur nicht als remanent definiert ist (Zeiten TP, TON, TOF und TONR).
  • Seite 258: Zeitdaten Durch Zuweisen Eines Multiinstanz-Db Als Remanente Daten Speichern

    Anweisungen 8.2 Funktionsweise der Zeiten Zeitdaten durch Zuweisen eines Multiinstanz-DB als remanente Daten speichern Diese Möglichkeit funktioniert nur, wenn Sie die Zeit in einem FB ablegen. Diese Variante ist davon abhängig, ob in den FB-Eigenschaften "Optimierter Bausteinzugriff" festgelegt ist (nur die symbolische Adressierung ist möglich). Um zu prüfen, wie das Zugriffsattribut eines vorhandenen FB konfiguriert ist, klicken Sie mit der rechten Maustaste in der Projektnavigation auf den FB, wählen "Eigenschaften"...
  • Seite 259: Funktionsweise Der Zähler

    Anweisungen 8.3 Funktionsweise der Zähler 8. Öffnen Sie den Instanz-Datenbaustein, der angelegt wurde, als Sie den FB im Editor platziert haben. 9. Suchen Sie unter "Statisch" die gewünschte Zeitstruktur. Aktivieren Sie in der Spalte "Remanent" dieser Zeitstruktur das Kontrollkästchen, um diese Struktur als remanent zu definieren.
  • Seite 260 Anweisungen 8.3 Funktionsweise der Zähler Tabelle 8- 24 Datentypen für die Parameter Parameter Datentyp Beschreibung CU, CD Bool Aufwärts- oder Abwärtszählen um jeweils eine Ein- heit R (CTU, CTUD) Bool Zählwert auf Null zurücksetzen LD (CTD, CTUD) Bool Ladesteuerung für den voreingestellten Wert SInt, Int, DInt, USInt, UInt, UDInt Voreingestellter Zählwert Q, QU...
  • Seite 261 Anweisungen 8.3 Funktionsweise der Zähler Funktionsweise der Zähler Tabelle 8- 25 Funktionsweise von CTU (Vorwärtszählen) Zähler Bedienung Der Zähler CTU zählt um 1 vorwärts, wenn der Wert des Parameters CU von 0 nach 1 wechselt. Das CTU-Zeitdiagramm zeigt die Funktionswei- se bei einem vorzeichenlosen ganzzahligen Zählwert (dabei ist PV = 3).
  • Seite 262 Anweisungen 8.3 Funktionsweise der Zähler Tabelle 8- 27 Funktionsweise von CTUD (Vorwärts- und Rückwärtszählen) Zähler Bedienung Der Zähler CTUD zählt um 1 vorwärts oder rückwärts, wenn der Vorwärtszähleingang (CU) oder der Rückwärtszähleingang (CD) von 0 nach 1 wechselt. Das CTUD-Zeitdiagramm zeigt die Funktionsweise bei ganzzahli- gem Zählwert ohne Vorzeichen (und PV = 4).
  • Seite 263: Zählerdaten Durch Zuweisen Eines Globalen Dbs Als Remanente Daten Speichern

    Anweisungen 8.3 Funktionsweise der Zähler Zählerdaten durch Zuweisen eines globalen DBs als remanente Daten speichern Diese Option funktioniert unabhängig davon, wo der Zähler platziert wird (OB, FC oder FB). 1. Globalen DB erstellen: – Doppelklicken Sie in der Projektnavigation auf "Neuen Baustein hinzufügen". –...
  • Seite 264: Zählerdaten Durch Zuweisen Eines Multiinstanz-Db Als Remanente Daten Speichern

    Anweisungen 8.3 Funktionsweise der Zähler 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" festgelegt ist (nur die symbolische Adressierung ist möglich). Um zu prüfen, wie das Zugriffsattribut eines vorhandenen FB konfiguriert ist, klicken Sie mit der rechten Maustaste in der Projektnavigation auf den FB, wählen "Eigenschaften"...
  • Seite 265 Anweisungen 8.3 Funktionsweise der Zähler 5. Klicken Sie auf "OK". Die Zähleranweisung erscheint im Editor mit dem Typ INT für die Voreinstellung und den Zählwert, und die IEC_COUNTER-Struktur erscheint in der FB- Schnittstelle unter "Statisch". 6. Ändern Sie ggf. den Typ in der Zähleranweisung von INT in einen anderen Typ. Die Zählerstruktur wird entsprechend verändert.
  • Seite 266: Funktionsweise Von Vergleichern

    Anweisungen 8.4 Funktionsweise von Vergleichern Funktionsweise von Vergleichern 8.4.1 Vergleichsoperationen Tabelle 8- 28 Vergleichsoperationen Beschreibung out := in1 = in2; Vergleicht zwei Werte desselben Datentyps. Hat der KOP-Kontaktvergleich das Ergebnis WAHR, wird der Kontakt aktiviert. Ist das Ergebnis des FUP- IF in1 = in2 Boxvergleichs WAHR, ist der Box-Ausgang ebenfalls THEN out := 1;...
  • Seite 267: In_Range (Wert Innerhalb Bereich) Und Out_Range (Wert Außerhalb Bereich)

    Anweisungen 8.4 Funktionsweise von Vergleichern 8.4.2 IN_Range (Wert innerhalb Bereich) und OUT_Range (Wert außerhalb Bereich) Tabelle 8- 31 Anweisungen Wert innerhalb eines Bereichs und Wert außerhalb eines Bereichs KOP/FUP Beschreibung out := IN_RANGE(min, Prüft, ob ein Eingabewert innerhalb oder außerhalb eines angege- val, max);...
  • Seite 268: Ok (Gültigkeit Prüfen) Und Not_Ok (Ungültigkeit Prüfen)

    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 269: Variant- Und Array-Vergleichsoperationen

    Anweisungen 8.4 Funktionsweise von Vergleichern 8.4.4 Variant- und Array-Vergleichsoperationen 8.4.4.1 Gleich- und Ungleich-Vergleichsoperationen Die S7-1200 CPU bietet Anweisungen für die Abfrage des Datentyps einer Variablen, auf die ein Variant-Operand zeigt und für den Vergleich, ob diese mit dem Datentyp des anderen Operanden übereinstimmt (gleich) oder nicht (ungleich).
  • Seite 270: Null-Vergleichsoperationen

    Anweisungen 8.4 Funktionsweise von Vergleichern Tabelle 8- 37 Datentypen für die Parameter Parameter Datentyp Beschreibung Operand1 Variant Erster Operand Operand2 Datentypen Bitzeichenfolgen, Ganzzahlen, Zweiter Operand Gleitpunktzahlen, Zeiten, Datum und Uhrzeit, Zeichenfolgen, ARRAY, PLC 8.4.4.2 Null-Vergleichsoperationen Die Anweisungen IS_NULL und NOT_NULL können verwendet werden, um festzustellen, ob der Eingang auf ein Objekt zeigt oder nicht.
  • Seite 271: Arithmetische Funktionen

    Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 41 Datentypen für die Parameter Parameter Datentyp Beschreibung Operand Variant Operand zur Prüfung, ob es sich um einen Array handelt. 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 die herkömmli- Funktion erstellen, die Eingänge (IN1, IN2, ..
  • Seite 272 Anweisungen 8.5 Arithmetische Funktionen Klicken Sie auf das Taschenrechnersymbol, um den Dialog aufzurufen und ihre mathematische Funktion zu definieren. Sie geben Ihre Gleichung als Eingänge (wie IN1 und IN2) und Operationen ein. Wenn Sie auf "OK" klicken, um die Funktion zu speichern, erstellt der Dialog automatisch die Eingänge für die Anweisung CALCULATE.
  • Seite 273: Anweisungen Addieren, Subtrahieren, Multiplizieren Und Dividieren

    Anweisungen 8.5 Arithmetische Funktionen 8.5.2 Anweisungen Addieren, Subtrahieren, Multiplizieren und Dividieren Tabelle 8- 44 Anweisungen Addieren, Subtrahieren, Multiplizieren und Dividieren KOP/FUP Beschreibung out := in1 + in2; ADD: Addieren (IN1 + IN2 = OUT) • out := in1 - in2; SUB: Subtrahieren (IN1 - IN2 = OUT) •...
  • Seite 274: Mod (Divisionsrest Einer Division)

    Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 46 ENO-Status Beschreibung Kein Fehler Der resultierende Wert der arithmetischen Operation liegt außerhalb des gültigen Zahlenbereichs für den ausgewählten Datentyp. Der niederwertigste Teil des Ergebnisses, der in die Zielgröße passt, wird zu- rückgegeben. Division durch 0 (IN2 = 0): Das Ergebnis ist undefiniert und Null wird zurückgegeben. Real/LReal: Ist einer der Werte NaN (not a number, keine Zahl), so wird der Wert NaN zurückgegeben ADD Real/LReal: Sind beide Eingangswerte INF (unendlich) mit unterschiedlichen Vorzeichen, ist diese Operation ungültig und es wird als Ergebnis NaN zurückgegeben.
  • Seite 275: Neg (Zweierkomplement Erstellen)

    Anweisungen 8.5 Arithmetische Funktionen 8.5.4 NEG (Zweierkomplement erstellen) Tabelle 8- 50 Anweisung NEG (Zweierkomplement erstellen) KOP/FUP Beschreibung -(in); Mit der Anweisung NEG wird das arithmetische Vorzeichen des Werts von Parameter IN umgekehrt und das Ergebnis im Parameter OUT gespeichert. In KOP und FUP: Klicken Sie auf die "???" und wählen Sie den Datentyp in der Klappliste aus. Tabelle 8- 51 Datentypen für die Parameter Parameter Datentyp...
  • Seite 276: 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 in_out := in_out + 1; Erhöht einen ganzzahligen Wert mit oder ohne Vorzeichen: 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 277: Abs (Absolutwert Bilden)

    Anweisungen 8.5 Arithmetische Funktionen 8.5.6 ABS (Absolutwert bilden) Tabelle 8- 56 Anweisung ABS (Absolutwert bilden) KOP/FUP Beschreibung out := ABS(in); Berechnet den Absolutwert einer vorzeichenbehafteten Ganzzahl oder Real- zahl an Parameter IN und speichert das Ergebnis in Parameter OUT. In KOP und FUP: Klicken Sie auf die "???" und wählen Sie den Datentyp in der Klappliste aus. Tabelle 8- 57 Datentypen für die Parameter Parameter Datentyp...
  • Seite 278: Min (Minimum Abrufen) Und Max (Maximum Abrufen)

    Anweisungen 8.5 Arithmetische Funktionen 8.5.7 MIN (Minimum abrufen) und MAX (Maximum abrufen) Tabelle 8- 59 Anweisungen MIN (Minimum abrufen) und MAX (Maximum abrufen) KOP/FUP Beschreibung out:= MIN( Die Anweisung MIN vergleicht den Wert zweier Parameter IN1 in1:=_variant_in_, und IN2 und weist den kleineren Wert dem Parameter OUT zu. in2:=_variant_in_ [,...in32]);...
  • Seite 279: Limit (Grenzwert Setzen)

    Anweisungen 8.5 Arithmetische Funktionen 8.5.8 LIMIT (Grenzwert setzen) Tabelle 8- 62 Anweisung LIMIT (Grenzwert setzen) KOP/FUP Beschreibung LIMIT(MN:=_variant_in_, Mit der Anweisung Limit können Sie prüfen, ob der Wert von Pa- IN:=_variant_in_, rameter IN innerhalb des mit Parameter MIN und MAX and if not, MX:=_variant_in_, clamps the value at MIN or MAX.
  • Seite 280: Exponential-, Logarithmus- Und Trigonometrieanweisungen

    Anweisungen 8.5 Arithmetische Funktionen 8.5.9 Exponential-, Logarithmus- und Trigonometrieanweisungen Mit den Gleitpunktanweisungen können Sie arithmetische Funktionen mit dem Datentyp Real oder LReal programmieren: ● SQR: Quadrat bilden (IN = OUT) ● SQRT: Quadratwurzel bilden (√IN = OUT) ● LN: Natürlichen Logarithmus bilden (LN(IN = OUT) ●...
  • Seite 281 Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 66 Datentypen für die Parameter Parameter Datentyp Beschreibung IN, IN1 Real, LReal, Konstante Eingänge SInt, Int, DInt, USInt, UInt,UDInt, Real, LReal, Konstante Eingang EXPT-Exponent Real, LReal Ausgänge Tabelle 8- 67 ENO-Zustand Anweisung Bedingung Ergebnis (OUT) Alle Kein Fehler Gültiges Ergebnis...
  • Seite 282: Anweisungen Zum Übertragen Von Daten

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Anweisungen zum Übertragen von Daten 8.6.1 MOVE (Wert kopieren), MOVE_BLK (Bereich kopieren), UMOVE_BLK (Bereich ununterbrechbar kopieren) und MOVE_BLK_VARIANT (Bereich kopieren) Mit den Übertragungsanweisungen kopieren Sie Datenelemente in eine neue Adresse im Speicher und wandeln die Daten von einem Datentyp in einen anderen um. Die Quelldaten werden dadurch nicht verändert.
  • Seite 283 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 69 Datentypen für die Anweisung MOVE Parameter Datentyp Beschreibung SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Quelladresse DWord, Char, WChar, Array, Struct, DTL, Time, Date, TOD, IEC Datentypen, PLC-Datentypen SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Zieladresse DWord, Char, WChar, Array, Struct, DTL, Time, Date, TOD,...
  • Seite 284 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Regeln für die Anweisungen zum Übertragen von Daten • Um Daten vom Datentyp Bool zu kopieren, verwenden Sie SET_BF, RESET_BF, R, S oder eineAusgangsspule (KOP) (Seite 244). • Um Daten eines einzelnen elementaren Datentyps zu kopieren, verwenden Sie MOVE. •...
  • Seite 285 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 73 Bedingungscodes für die Anweisung MOVE_BLK_VARIANT RET_VAL Beschreibung (W#16#...) 0000 Kein Fehler 80B4 Datentypen passen nicht. 8151 Zugriff auf Parameter SRC nicht möglich. 8152 Der Operand von Parameter SRC hat einen ungültigen Typ. 8153 Fehler bei der Codegenerierung an Parameter SRC 8154...
  • Seite 286: Deserialize

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 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. Ist der Vergleich WAHR, ist der Box-Ausgang WAHR. Der Speicherbereich mit der sequentiellen Darstellung eines PLC-Datentyps muss den Datentyp "Array of Byte"...
  • Seite 287 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 288 Anweisungen 8.6 Anweisungen zum Übertragen von Daten 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: S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 289: Serialize

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.3 Serialize Mit der Anweisung "Serialize" können mehrere PLC-Datentypen (UDT) ohne jeglichen Strukturverlust in eine sequentielle Darstellung umgewandelt werden. Die Anweisung kann verwendet werden, um mehrere strukturierte Datenelemente aus Ihrem Programm vorübergehend in einem Puffer abzulegen, zum Beispiel einem globalen Datenbaustein, und sie dann in eine andere CPU zu übertragen.
  • Seite 290: Beispiel: Anweisung Serialize

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 79 Parameter RET_VAL RET_VAL Beschreibung (W#16#...) 0000 Kein Fehler 80B0 Die Speicherbereiche für die Parameter SRC_VARIABLE und DEST_ARRAY überlappen sich. 8150 Datentyp Variant von Parameter SRC_VARIABLE enthält keinen Wert. 8152 Fehler bei der Codegenerierung an Parameter SRC_VARIABLE. 8236 Der Datenbaustein an Parameter DEST_ARRAY ist kein Baustein mit Standardzugriff.
  • Seite 291 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Netzwerk 3: Anweisung "Serialize" serialisiert die Daten eines bestimmten Artikels, die während der Laufzeit berechnet werden, aus Datenbaustein "Source" und schreibt sie in sequentieller Darstellung in Datenbaustein "Buffer" nach den Zeichen "arti". Bausteinschnittstelle: Benutzerdefinierte PLC-Datentypen: Die Strukturen der beiden PLC-Datentypen (UDT) für dieses Beispiel sind nachstehend dargestellt:...
  • Seite 292: Fill_Blk (Speicher Mit Bitmuster Belegen) Und Ufill_Blk (Speicher Ununterbrechbar Mit Bitmuster Belegen)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 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 Beschreibung FILL_BLK( Anweisung Unterbrechbar befüllen: Befüllt einen Adressbereich in:=_variant_in, mit Kopien eines angegebenen Datenelements. count:=int, out=>_variant_out);...
  • Seite 293 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Die Anweisungen FILL_BLK und UFILL_BLK unterscheiden sich in der Verarbeitung von Alarmen: ● Alarmereignisse werden in die Warteschlange gestellt und während der Ausführung von FILL_BLK verarbeitet. Die Anweisung FILL_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 294: Swap (Anordnung Ändern)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.5 SWAP (Anordnung ändern) Tabelle 8- 83 Anweisung SWAP KOP/FUP Beschreibung out := SWAP(in); Kehrt die Bytereihenfolge bei Zwei-Byte- und Vier-Byte-Datenelementen um. Die Bitfolge innerhalb eines Bytes wird nicht geändert. ENO ist nach der Aus- führung der Anweisung SWAP immer WAHR.
  • Seite 295: Lower_Bound: (Untere Array-Grenze Auslesen)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.6 LOWER_BOUND: (Untere ARRAY-Grenze auslesen) Tabelle 8- 85 Anweisung LOWER_BOUND KOP/FUP Beschreibung out := LOWER_BOUND( In der Bausteinschnittstelle können Sie Variablen ARR:=_variant_in_, mit ARRAY[*] deklarieren. Für diese lokalen DIM:=_udint_in_); Variablen können Sie die Grenzwerte des ARRAY auslesen.
  • Seite 296 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 LOWER_BOUND aus. Die CPU liest die untere Variablengrenze des ARRAY #ARRAY_A aus dem eindimensionalen Array aus.
  • Seite 297: Upper_Bound: (Obere Array-Grenze Auslesen)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.7 UPPER_BOUND: (Obere ARRAY-Grenze auslesen) Tabelle 8- 86 Anweisung LOWER_BOUND KOP/FUP Beschreibung out := UPPER_BOUND( In der Bausteinschnittstelle können Sie Variablen ARR:=_variant_in_, mit ARRAY[*] deklarieren. Für diese lokalen DIM:=_udint_in_); Variablen können Sie die Grenzwerte des ARRAY auslesen.
  • Seite 298 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 299: Anweisungen Speicher Lesen / In Speicher Schreiben

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.8 Anweisungen Speicher lesen / in Speicher schreiben 8.6.8.1 PEEK und POKE (nur SCL) SCL bietet die Anweisungen PEEK und POKE, mit denen Sie aus Datenblöcken, E/A oder dem Speicher lesen oder in diese schreiben können. Sie geben für die Operation Parameter mit einem spezifischen Byte- oder Bit-Versatz an.
  • Seite 300 Anweisungen 8.6 Anweisungen zum Übertragen von Daten POKE(area:=_in_, Schreibt den Wert (Byte, Wort oder Doppel- dbNumber:=_in_, wort) in den angegebenen byteOffset des byteOffset:=_in_, angegebenen Datenbausteins, der E/A oder value:=_in_); des Speicherbereichs. Beispiel für den Verweis auf einen Datenbau- stein: POKE(area:=16#84, dbNumber:=2, byteOffset:=3, value:="Tag_1");...
  • Seite 301: Anweisungen Big- Und Little-Endian-Format Lesen Und Schreiben (Scl)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.8.2 Anweisungen Big- und Little-Endian-Format lesen und schreiben (SCL) Die S7-1200 CPU stellt SCL-Anweisungen für das Lesen und Schreiben von Daten in Little- Endian- und Big-Endian-Format bereit. Little-Endian-Format bedeutet, dass das Byte mit dem niederwertigsten Bit an der kleinsten Speicheradresse gespeichert wird.
  • Seite 302 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 89 Parameter für die WRITE_LITTLE and WRITE_BIG -Anweisung Parameter Datentyp Beschreibung src_variable Bitzeichenfolgen, Ganzzahlen, Gleitpunktzahlen, LDT, TOD, Quelldaten aus Variable LTOD, DATA, Char, WChar dest_array Array of Byte Speicherbereich, in den Daten geschrieben werden sollen DINT Nullbasierte Position, ab der Daten...
  • Seite 303: Variant-Anweisungen

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.9 Variant-Anweisungen 8.6.9.1 VariantGet (VARIANT Variablenwert lesen) Mit der Anweisung "Variant Variablenwert lesen" kann der Wert der Variablen ausgelesen werden, auf die der Pointer Variant am Parameter SRC zeigt, und in die Variable von Parameter DST geschrieben werden.
  • Seite 304: Variantput (Variant Variablenwert Schreiben)

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.9.2 VariantPut (VARIANT Variablenwert schreiben) Mit Anweisung "VARIANT Variablenwert schreiben" kann der Wert der Variablen in Parameter SRC in die Variable in Parameter DST geschrieben werden, auf die VARIANT zeigt. Parameter DST hat Datentyp VARIANT. Für Parameter SRC kann jeder Datentyp außer VARIANT programmiert werden.
  • Seite 305: Countofelements (Anzahl Array-Elemente Abfragen)

    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 306: 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 307 Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 101 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Index Eingang DInt Die Indexnummer des Array-Elements, das gelesen oder in das geschrieben werden soll. Member Eingang Binärzahlen, Ganzzahlen, Adresse des ersten Elements in einem eindimensi- Gleitpunktzahlen, Zeiten, onalen Array, definiert in einem globalen Datenbau- DATE, TOD, CHAR und...
  • Seite 308: Beispiel: Zugriff Auf Daten Über Array-Indexierung

    Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel: Zugriff auf Daten über Array-Indexierung Um mit einer Variable auf Elemente eines Arrays zuzugreifen, verwenden Sie einfach die Variable als Array-Index in Ihrer Programmlogik. Im folgenden Netzwerk beispielsweise wird basierend auf dem Booleschen Wert eines Arrays aus Booleschen Werten ein Ausgang in "Datenbaustein_1", der von der PLC-Variable "Index"...
  • Seite 309: Umwandlungsoperationen

    Anweisungen 8.7 Umwandlungsoperationen Umwandlungsoperationen 8.7.1 CONV (Wert umwandeln) Tabelle 8- 102 Anweisung Umwandeln (CONV) KOP/FUP Beschreibung out := <data type in>_TO_<data type out>(in); Konvertiert ein Datenelement von einem Datentyp in einen anderen Datentyp. 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 310: Umwandlungsanweisungen In Scl

    Anweisungen 8.7 Umwandlungsoperationen 8.7.2 Umwandlungsanweisungen in SCL Umwandlungsanweisungen in SCL Tabelle 8- 105 Umwandlung von Bool, Byte, Word oder DWord Datentyp Anweisung Ergebnis BOOL_TO_BYTE, BOOL_TO_WORD, Bool Der Wert wird in das niederwertigste Bit des Zieldaten- BOOL_TO_DWORD, BOOL_TO_INT, typs übertragen. BOOL_TO_DINT BYTE_TO_BOOL Byte Das niederwertigste Bit wird in den Zieldatentyp übertra-...
  • Seite 311 Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 106 Umwandlung einer kurzen Ganzzahl (SInt oder USInt) Datentyp Anweisung Ergebnis SINT_TO_BOOL SInt Das niederwertigste Bit wird in den Zieldatentyp übertra- gen. SINT_TO_BYTE Der Wert wird in den Zieldatentyp übertragen. SINT_TO_WORD, SINT_TO_DWORD Der Wert wird in das niederwertigste Byte des Zieldaten- typs übertragen.
  • Seite 312 Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 108 Umwandlung einer doppelten Ganzzahl (Dint oder UDInt) Datentyp Anweisung Ergebnis DINT_TO_BOOL DInt Das niederwertigste Bit wird in den Zieldatentyp ü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 übertragen.
  • Seite 313: Round (Zahl Runden) Und Trunc (Ganzzahl Erzeugen)

    Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 111 Umwandlung von Char oder String Datentyp Anweisung Ergebnis CHAR_TO_SINT, CHAR_TO_USINT, Char Der Wert wird umgewandelt. CHAR_TO_INT, CHAR_TO_UINT, CHAR_TO_DINT, CHAR_TO_UDINT CHAR_TO_STRING Der Wert wird zum ersten Zeichen der Zeichen- kette übertragen. STRING_TO_SINT, STRING_TO_USINT, String Der Wert wird umgewandelt. STRING_TO_INT, STRING_TO_UINT, STRING_TO_DINT, STRING_TO_UDINT, STRING_TO_REAL, STRING_TO_LREAL...
  • Seite 314: Ceil Und Floor (Aus Gleitpunktzahl Nächsthöhere Und Nächstniedere Ganzzahl Erzeugen)

    Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 114 ENO-Status Beschreibung Ergebnis OUT Kein Fehler Gültiges Ergebnis IN ist +/- INF oder +/- NaN +/- INF oder +/- NaN 8.7.4 CEIL und FLOOR (Aus Gleitpunktzahl nächsthöhere und nächstniedere Ganzzahl erzeugen) Tabelle 8- 115 Anweisungen CEIL und FLOOR KOP/FUP Beschreibung...
  • Seite 315: Scale_X (Skalieren) Und Norm_X (Normieren)

    Anweisungen 8.7 Umwandlungsoperationen 8.7.5 SCALE_X (Skalieren) und NORM_X (Normieren) Tabelle 8- 118 Anweisungen SCALE_X und NORM_X KOP/FUP Beschreibung out :=SCALE_X(min:=_in_, Skaliert den normierten Realparameter VALUE value:=_in_, (0,0 <= VALUE <= 1,0) in den mit den Parame- max:=_in_); tern MIN und MAX vorgegebenen Datentyp und Wertebereich: OUT = VALUE (MAX - MIN) + MIN out :=NORM_X(min:=_in_,...
  • Seite 316 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 317: Beispiel (Kop): Normieren Und Skalieren Eines Analogeingangswerts

    Anweisungen 8.7 Umwandlungsoperationen Beispiel (KOP): Normieren und Skalieren eines Analogeingangswerts Ein Analogeingang eines analogen Signalmoduls oder Signalboards mit Stromeingang liegt im Bereich von 0 bis 27648 der gültigen Werte. Angenommen, ein Analogeingang stellt eine Temperatur dar, wobei der Wert 0 des Analogeingangs -30,0 Grad C und der Wert 27648 die Temperatur 70,0 Grad C darstellt.
  • Seite 318: Variant-Umwandlungsanweisungen

    Anweisungen 8.7 Umwandlungsoperationen Weitere Informationen zur Darstellung von Analogeingängen (Seite 1556) und zur Darstellung von Analogausgängen (Seite 1558) für Spannung und Strom finden Sie in den technischen Daten. 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.
  • Seite 319: Db_Any_To_Variant (Db_Any In Variant Konvertieren)

    Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 124 Fehlercodes für Anweisung VARIANT_TO_DB_ANY Beschreibung (W#16#...) 0000 Kein Fehler 252C Der Datentyp Variant von Parameter IN hat den Wert 0. Die CPU wechselt in Betriebszustand STOP. 8131 Der Datenbaustein existiert nicht oder ist zu kurz (erster Zugriff). 8132 Der Datenbaustein ist zu kurz und kein Array-Datenbaustein (zwei- ter Zugriff).
  • Seite 320 Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 127 ENO-Status Bedingung Ergebnis Kein Fehler Die Anweisung wandelt die Datenbaustein- nummer in das Variant-Format und speichert sie im Funktionsausgang DB_ANY Freigabeeingang EN hat Signalzustand "0" oder IN- Die Anweisung tut nichts. Parameter ist ungültig. Tabelle 8- 128 Fehlercodes für Anweisung DB_ANY_TO_VARIANT Beschreibung...
  • Seite 321: Programmsteuerungsoperationen

    Anweisungen 8.8 Programmsteuerungsoperationen Programmsteuerungsoperationen 8.8.1 Anweisungen JMP (Springen bei VKE = 1), JMPN (Springen bei VKE = 0) und Label (Sprungmarke) Tabelle 8- 129 Anweisungen JMP, JMPN und LABEL Beschreibung Siehe GOTO (Seite 345)- Springen bei VKE (Verknüpfungsergebnis) = 1: Anweisung.
  • Seite 322: Jmp_List (Sprungliste Definieren)

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.2 JMP_LIST (Sprungliste definieren) Tabelle 8- 131 Anweisung JMP_LIST KOP/FUP Beschreibung CASE k OF Die Anweisung JMP_LIST verteilt die Programmsprünge, um die Aus- 0: GOTO dest0; führung von Programmabschnitten zu steuern. Je nach Wert des Ein- 1: GOTO dest1; gangs K erfolgt ein Sprung zur entsprechenden Sprungmarke im 2: GOTO dest2;...
  • Seite 323: Switch (Sprungverteilung)

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.3 SWITCH (Sprungverteilung) Tabelle 8- 133 Anweisung SWITCH KOP/FUP Beschreibung Nicht verfügbar Die Anweisung SWITCH verteilt die Programmsprünge, um die Ausführung von Programmabschnitten zu steuern. Je nach Er- gebnis des Vergleichs zwischen dem Wert des Eingangs K und den Werten der angegebenen Vergleichseingänge wird ein Sprung zu der Sprungmarke durchgeführt, die dem ersten Ver- gleichstest mit dem Ergebnis WAHR entspricht.
  • Seite 324: 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 325: Ret (Rückgabewert)

    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 326: Endis_Pw (Cpu-Passwort Aktivieren/Deaktivieren)

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.5 ENDIS_PW (CPU-Passwort aktivieren/deaktivieren) Tabelle 8- 138 Anweisung ENDIS_PW KOP/FUP Beschreibung ENDIS_PW( Mit der Anweisung ENDIS_PW kann die req:=_bool_in_, Verbindung eines Clients mit einer S7-1200 f_pwd:=_bool_in_, CPU freigegeben oder gesperrt werden, full_pwd:=_bool_in_, auch wenn der Client das richtige Passwort bereitstellt.
  • Seite 327 Anweisungen 8.8 Programmsteuerungsoperationen ENDIS_PW wird synchron in einem Programmzyklus ausgeführt und die Passwort- Ausgangsparameter zeigen immer den aktuellen Stand der Passwortfreigabe, unabhängig vom Eingangsparameter REQ. Passwörter, die Sie freigeben, müssen grundsätzlich auch gesperrt werden können. Andernfalls wird ein Fehler ausgegeben und es werden alle Passwörter freigegeben, die vor der Ausführung von ENDIS_PW freigegeben waren.
  • Seite 328: Re_Trigr (Zyklusüberwachungszeit Neu Starten)

    Anweisungen 8.8 Programmsteuerungsoperationen Hinweis Schützen Sie die CPU-Zugriffsstufen durch starke Passwörter. Starke Passwörter sind mindestens zehn Zeichen lang, bestehen aus Buchstaben, Zahlen und Sonderzeichen, sind keine Wörter, die in einem Wörterbuch gefunden werden können, und sind keine Namen oder Kennungen, die sich aus persönlichen Daten ableiten lassen. Halten Sie das Passwort geheim und ändern Sie es häufig.
  • Seite 329: Maximale Zykluszeit Des Plc-Geräts Einstellen

    Anweisungen 8.8 Programmsteuerungsoperationen Maximale Zykluszeit des PLC-Geräts einstellen Konfigurieren Sie den Wert für die maximale Zykluszeit in der Gerätekonfiguration unter "Zykluszeit". Tabelle 8- 142 Zykluszeitwerte Zykluszeitüberwachung Mindestwert Höchstwert Voreinstellung Maximale Zykluszeit 1 ms 6000 ms 150 ms Laufzeitüberwachung Endet die maximale Zykluszeit, bevor der Zyklus vollständig ist, wird ein Fehler erzeugt. Wenn das Anwenderprogramm einen Zeitfehleralarm-OB (OB 80) enthält, führt die CPU den Zeitfehleralarm-OB aus.
  • Seite 330: Anweisungen Get_Error Und Get_Error_Id (Fehler Lokal Abrufen Und Fehler-Id Lokal Abrufen)

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.8 Anweisungen GET_ERROR und GET_ERROR_ID (Fehler lokal abrufen und Fehler-ID lokal abrufen) Die Anweisungen GET_ERROR liefern Informationen über Fehler in der Ausführung von Programmbausteinen. Wenn Sie eine Anweisung GET_ERROR oder GET_ERROR_ID in Ihren Codebaustein aufnehmen, können Sie Programmfehler in Ihrem Programmbaustein behandeln.
  • Seite 331 Anweisungen 8.8 Programmsteuerungsoperationen Strukturkomponenten Datentyp Beschreibung MODE Byte Zugriffsart: Je nach Art des Zugriffs können die folgenden Informationen ausgegeben werden: Betriebsart Offset Area Adresse Umfang Number (Num- mer) Area Offset Area DB-Nr. Offset PtrNr. Area DB-Nr. Offset /Zugr. PtrNr. Stpl.- Area DB-Nr.
  • Seite 332 Anweisungen 8.8 Programmsteuerungsoperationen GET_ERROR_ID Tabelle 8- 147 Anweisung GetErrorID KOP/FUP Beschreibung GET_ERR_ID(); Zeigt an, wenn ein Fehler in der Ausführung eines Programmbausteins aufgetreten ist und meldet die ID (Kennung) des Fehlers. Tabelle 8- 148 Datentypen für die Parameter Parameter Datentyp Beschreibung Word Fehlerkennwerte für das ErrorStruct-Element ERROR_ID...
  • Seite 333: Funktionsweise

    Anweisungen 8.8 Programmsteuerungsoperationen 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. Dann meldet die CPU keinen Fehler im Diagnosepuffer.
  • Seite 334: Runtime (Programmlaufzeit Messen)

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.9 RUNTIME (Programmlaufzeit messen) Tabelle 8- 150 Anweisung RUNTIME KOP/FUP Beschreibung Ret_Val := RUNTIME( Misst die Laufzeit des gesamten Programms, einzelner Bausteine _lread_inout_); oder von Befehlssequenzen. Soll die Laufzeit des gesamten Programms gemessen werden, ist die Anweisung "Programmlaufzeit messen"...
  • Seite 335: Beispiel: Anweisung Runtime

    Anweisungen 8.8 Programmsteuerungsoperationen Beispiel: Anweisung RUNTIME Das folgende Beispiel zeigt, wie Anweisung RUNTIME für die Messung der Ausführungszeit eines Funktionsbausteins verwendet wird: Netzwerk 1: Netzwerk 2: Netzwerk 3: Wenn der Operand "Tag_1" in Netzwerk 1 Signalzustand "1" hat, wird Anweisung RUNTIME ausgeführt.
  • Seite 336: Programmsteuerungsanweisungen In Scl

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10 Programmsteuerungsanweisungen in SCL 8.8.10.1 Übersicht über die Programmsteuerungsanweisungen in SCL Structured Control Language (SCL) bietet drei Arten von Programmsteuerungsanweisungen für die Strukturierung Ihres Anwenderprogramms: ● Auswahlanweisungen: Mit Hilfe einer Auswahlanweisung können Sie den Programmfluss in alternative Anweisungsfolgen steuern. ●...
  • Seite 337: If-Then-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.2 IF-THEN-Anweisung Die IF-THEN-Anweisung ist eine bedingte Anweisung, die den Programmfluss steuert, indem eine Gruppe von Anweisungen basierend auf der Auswertung eines Bool-Werts eines logischen Ausdrucks ausgeführt wird. Die Ausführung mehrerer IF-THEN-Anweisungen können Sie auch mit Hilfe von Klammern verschachteln bzw. strukturieren. Tabelle 8- 153 Elemente der IF-THEN-Anweisung Beschreibung...
  • Seite 338: Case-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen Eine IF-Anweisung wird entsprechend den folgenden Regeln ausgeführt: ● Die erste Anweisungsfolge, deren logischer Ausdruck = WAHR ist, wird ausgeführt. Die übrigen Anweisungsfolgen werden nicht ausgeführt. ● Wenn kein Boolescher Ausdruck = WAHR ist, wird die von ELSE eingeführte Anweisungsfolge ausgeführt (oder keine Anweisungsfolge, falls keine ELSE-Verzweigung vorhanden ist).
  • Seite 339 Anweisungen 8.8 Programmsteuerungsoperationen Eine CASE-Anweisung wird entsprechend den folgenden Regeln ausgeführt: ● Der Testwert-Ausdruck muss einen Wert vom Typ Int zurückgeben. ● Bei der Verarbeitung einer Anweisung CASE prüft das Programm, ob der Wert des Testwert-Ausdrucks in einer angegebenen Werteliste enthalten ist. Wird eine Übereinstimmung gefunden, wird die der Liste zugewiesene Anweisungskomponente ausgeführt.
  • Seite 340: For-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.4 FOR-Anweisung Tabelle 8- 157 Elemente der FOR-Anweisung Beschreibung FOR "Steuervariable" := "Anfang" TO "Ende" Eine FOR-Anweisung dient zur Wiederholung [BY "Inkrement"] DO einer Folge von Anweisungen, solange eine Steu- Anweisung; ervariable innerhalb des angegebenen Wertebe- reichs liegt. Die Definition einer Schleife mit FOR umfasst die Angabe eines Anfangs- und eines END_FOR;...
  • Seite 341: While-Do-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.5 WHILE-DO-Anweisung Tabelle 8- 159 WHILE-Anweisung Beschreibung WHILE "Bedingung" DO Die WHILE-Anweisung führt eine Anweisungsfolge aus, bis eine vorgegebene Bedin- Anweisung; gung WAHR ist. Anweisung; WHILE-Schleifen können Sie verschachteln. Die END_WHILE-Anweisung bezieht ...; sich auf die zuletzt ausgeführte WHILE-Anweisung. END_WHILE;...
  • Seite 342: Repeat-Until-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.6 REPEAT-UNTIL-Anweisung Tabelle 8- 161 REPEAT-Anweisung Beschreibung REPEAT Die REPEAT-Anweisung führt eine Gruppe von Anweisungen aus, bis eine vorgegebe- Anweisung; ne Bedingung WAHR ist. REPEAT-Schleifen können Sie verschachteln. Die END_REPEAT-Anweisung bezieht UNTIL "Bedingung" sich immer auf die zuletzt ausgeführte REPEAT-Anweisung. END_REPEAT;...
  • Seite 343: Continue-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.7 CONTINUE-Anweisung Tabelle 8- 163 CONTINUE-Anweisung Beschreibung CONTINUE Die CONTINUE-Anweisung überspringt die nachfolgenden Anweisungen einer Pro- Anweisung; grammschleife (FOR, WHILE, REPEAT) und setzt die Schleife mit der Überprüfung fort, ob die Bedingung für die Beendigung erfüllt ist. Ist dies nicht der Fall, wird die Schleife fortgesetzt.
  • Seite 344: Exit-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.8 EXIT-Anweisung Tabelle 8- 164 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 345: Goto-Anweisung

    Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.9 GOTO-Anweisung Tabelle 8- 165 GOTO-Anweisung Beschreibung GOTO JumpLabel; Die GOTO-Anweisung überspringt Anweisungen, indem sie zu einer Sprungmarke Anweisung; in demselben Baustein springt..; Die Sprungmarke ("JumpLabel") und die GOTO-Anweisung müssen sich in dem- JumpLabel: Anweisung; selben Baustein befinden.
  • Seite 346: Wortverknüpfung

    Anweisungen 8.9 Wortverknüpfung Wortverknüpfung 8.9.1 Verknüpfungsoperationen AND (UND), OR (ODER) und XOR (EXKLUSIV ODER) Tabelle 8- 167 Verknüpfungsoperationen AND (UND), OR (ODER) und XOR (EXKLUSIV ODER) KOP/FUP Beschreibung out := in1 AND in2; AND: UND-Verknüpfung out := in1 OR in2; OR: ODER-Verknüpfung out := in1 XOR in2;...
  • Seite 347: Inv (Einerkomplement Erstellen)

    Anweisungen 8.9 Wortverknüpfung 8.9.2 INV (Einerkomplement erstellen) Tabelle 8- 169 Anweisung INV KOP/FUP Beschreibung Nicht verfügbar Berechnet das binäre Einerkomplement des Parameters IN. Das Einer- komplement wird gebildet durch Invertieren jedes Bitwerts des Parame- ters IN (Ändern von 0 in 1 und 1 in 0). ENO ist nach der Ausführung dieser Anweisung immer WAHR.
  • Seite 348 Anweisungen 8.9 Wortverknüpfung Tabelle 8- 172 Datentypen für die Parameter Parameter Datentyp Beschreibung ENCO: Byte, Word, DWord ENCO: Bitmuster für die Umwandlung DECO: UInt DECO: Binärwert für die Umwandlung ENCO: Int ENCO: Umgewandelter Wert DECO: Byte, Word, DWord DECO: Umgewandeltes Bitmuster Tabelle 8- 173 ENO-Status Bedingung...
  • Seite 349: Anweisungen Sel (Selektieren), Mux (Multiplexen) Und Demux (Demultiplexen)

    Anweisungen 8.9 Wortverknüpfung 8.9.4 Anweisungen SEL (Selektieren), MUX (Multiplexen) und DEMUX (Demultiplexen) Tabelle 8- 175 Anweisung SEL (Selektieren) KOP/FUP Beschreibung out := SEL( Die Anweisung SEL weist einen von zwei Eingangswerten, abhängig g:=_bool_in, vom Wert des Parameters G, dem Parameter OUT zu. in0:-_variant_in, in1:=_variant_in);...
  • Seite 350 Anweisungen 8.9 Wortverknüpfung Um einen Eingang hinzuzufügen, klicken Sie auf das Symbol "Erstellen" oder an einem der vorhandenen Parameter IN mit der rechten Maustaste auf den Eingangsanschluss 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 351 Anweisungen 8.9 Wortverknüpfung Um einen Ausgang hinzuzufügen, klicken Sie auf das Symbol "Erstellen" oder an einem der vorhandenen Parameter OUT mit der rechten Maustaste auf den Ausgangsanschluss und wählen den Befehl "Ausgang einfügen". 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".
  • Seite 352: Schieben Und Rotieren

    Anweisungen 8.10 Schieben und Rotieren 8.10 Schieben und Rotieren 8.10.1 Anweisungen SHL (Rechts schieben) und SHL (Links schieben) Tabelle 8- 182 Anweisungen SHR und SHL KOP/FUP Beschreibung out := SHR( Mit den Schiebeanweisungen (SHL und SHR) schieben Sie das in:=_variant_in_, Bitmuster von Parameter IN.
  • Seite 353: Anweisungen Ror (Rechts Rotieren) Und Rol (Links Rotieren)

    Anweisungen 8.10 Schieben und Rotieren 8.10.2 Anweisungen ROR (Rechts rotieren) und ROL (Links rotieren) Tabelle 8- 185 Anweisungen ROR und ROL KOP/FUP Beschreibung out := ROL( Mit den Rotieranweisungen (ROR und ROL) können Sie das Bitmuster in:=_variant_in_, von Parameter IN rotieren. Das Ergebnis wird dem Parameter OUT n:=_uint_in);...
  • Seite 354 Anweisungen 8.10 Schieben und Rotieren S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 355: 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 356 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 357 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 in1:=_DTL_in, Parameter OUT liefert den Differenzwert als Datentyp Time. in2:=_DTL_in); DTL - DTL = Time •...
  • Seite 358: 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 135) stellt Datum- und Uhrzeitwerte bereit. S7-1200 Automatisierungssystem...
  • Seite 359 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9- 9 Anweisungen für die Systemzeit KOP/FUP Beschreibung ret_val := WR_SYS_T (Uhrzeit einstellen) stellt die Echtzeituhr in der CPU WR_SYS_T( anhand des DTL-Werts von Parameter IN ein. Dieser Zeitwert berücksichtigt weder die jeweilige Ortszeit noch die Sommer- /Winterzeitumschaltung.
  • Seite 360 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9- 10 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Einzustellende Uhrzeit für die Systemuhr der CPU RD_SYS_T: Aktuelle Systemzeit der CPU RD_LOC_T: Aktuelle Lokalzeit, einschließlich Anpassung an Sommer-/Winterzeit (sofern konfiguriert) LOCTIME WR_LOC_T: Lokale Uhrzeit BOOL...
  • Seite 361 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Bedingungscodes: ENO = 1 bedeutet, dass kein Fehler aufgetreten ist. ENO = 0 bedeutet, dass ein Ausführungsfehler aufgetreten ist und ein Bedingungscode am Ausgang RET_VAL ansteht. RET_VAL (W#16#..) Beschreibung 0000 Die aktuelle Lokalzeit wird als Winterzeit angegeben. 0001 Es wurde die Sommerzeit wurde konfiguriert und die aktuelle Lokalzeit wird als Sommerzeit ange- geben.
  • Seite 362: Datenstruktur Timetransformationrule

    Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.3 Datenstruktur TimeTransformationRule Beschreibung Die Regeln für den Wechsel zwischen Sommer- und Winterzeit sind in der Struktur TimeTransformationRule festgelegt. Die Struktur ist wie folgt: Name Datentyp Beschreibung TimeTransformationRule STRUCT Bias Zeitunterschied zwischen Ortszeit und UTC [Minuten] Bereich: -1439 bis 1439 DaylightBias Zeitunterschied zwischen Sommerzeit und Winterzeit [Minuten]...
  • Seite 363: Set_Timezone (Zeitzone Setzen)

    Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.4 SET_TIMEZONE (Zeitzone setzen) Tabelle 9- 11 Anweisung SET_TIMEZONE KOP/FUP Beschreibung "SET_TIMEZONE_DB"( Stellt die Parameter für lokale Zeitzone und REQ:=_bool_in, Sommer-/Winterzeitumschaltung ein, an- Timezone:=_struct_in, hand deren die CPU-Systemzeit in die DONE=>_bool_out_, jeweilige Ortszeit umgewandelt wird. BUSY=>_bool_out_, ERROR=>_bool_out_, STATUS=>_word_out_);...
  • Seite 364: Rtm (Betriebsstundenzähler)

    Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.5 RTM (Betriebsstundenzähler) Tabelle 9- 13 Anweisung RTM KOP/FUP Beschreibung RTM(NR:=_uint_in_, Die Anweisung RTM (Betriebsstundenzähler) kann die Betriebs- MODE:=_byte_in_, stundenzähler in der CPU setzen, starten, stoppen und lesen. PV:=_dint_in_, CQ=>_bool_out_, CV=>_dint_out_); Tabelle 9- 14 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung...
  • Seite 365 Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Ein Spannungsausfall oder Neustart der CPU bewirkt einen Abschaltvorgang, bei dem die aktuellen Werte der Betriebsstundenzähler im remanenten Speicher abgelegt werden. Beim Anlauf der CPU werden die gespeicherten Werte der Betriebsstundenzähler erneut in die Zähler geladen, so dass die vorherigen Betriebsstunden nicht verloren sind.
  • Seite 366: Zeichenketten- Und Zeichenanweisungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Zeichenketten- und Zeichenanweisungen 9.2.1 Datentyp String Datentyp STRING Daten des Typs String werden mit einem Header aus 2 Bytes gefolgt von bis zu 254 Zeichenbytes im ASCII-Code gespeichert. Ein Header für String-Daten hat zwei Längenbytes.
  • Seite 367: S_Mov (Zeichenkette Verschieben)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.2 S_MOV (Zeichenkette verschieben) Tabelle 9- 16 Anweisung Zeichenkette verschieben KOP/FUP Beschreibung out := in; Zeichenkette der Quelle IN in die Adresse OUT kopieren. Die Ausführung S_MOVE wirkt sich nicht auf den Inhalt der Quellzeichenkette aus. Tabelle 9- 17 Datentypen für die Parameter Parameter Datentyp...
  • Seite 368 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen S_CONV (Zeichenkette umwandeln) Tabelle 9- 18 Anweisungen für die Zeichenkettenkonvertierung KOP/FUP Beschreibung out := Konvertiert eine Zeichenkette in den entsprechenden Wert bzw. <Type>_TO_<Type>(in); einen Wert in die entsprechende Zeichenkette. Die Anweisung S_CONV verfügt über keine Optionen zur Formatierung des Aus- gangswerts.
  • Seite 369 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen S_CONV (Umwandlung von Wert in Zeichenkette) Tabelle 9- 20 Datentypen (Zahlenwert in Zeichenkette umwandeln) Parameter und Daten- Datentyp Beschreibung String, WString, Char, WChar, SInt, Int, DInt, USInt, UInt, UDInt, Eingegebener Zahlenwert Real, LReal String, WString Ausgegebene Zeichenkette Ein ganzzahliger Wert mit oder ohne Vorzeichen oder ein Gleitpunktwert IN wird in die entsprechende Zeichenkette umgewandelt und steht in Parameter OUT bereit.
  • Seite 370 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 21 Maximale Zeichenkettenlänge für jeden Datentyp Datentyp IN Von S_CONV Beispiel für eine umgewandelte Gesamtlänge der Zeichenkette mit den Bytes für maxi- zugeordnete Zeichenkette male und tatsächliche Länge Zeichenposi- tionen USInt "x255" 6 SInt "-128"...
  • Seite 371 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Umwandlung beginnt in der eingegebenen Zeichenkette an Zeichenversatz P und läuft bis zum Ende der Zeichenkette oder bis zum ersten Zeichen, das nicht "+", "-", ".", ",", "e", "E" oder eines der Zeichen von "0" bis "9" ist. Das Ergebnis wird an der in Parameter OUT angegebenen Adresse ausgegeben.
  • Seite 372 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen VAL_STRG (Zahlenwert in Zeichenkette umwandeln) Tabelle 9- 26 Anweisung Zahlenwert in Zeichenkette wandeln KOP/FUP Beschreibung "VAL_STRG"( Konvertiert einen ganzzahligen Wert mit oder ohne Vor- in:=_variant_in, zeichen oder einen Gleitpunktwert in die entsprechende size:=_usint_in, Zeichenkettendarstellung. prec:=_usint_in, format:=_word_in, p:=uint_in,...
  • Seite 373 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Der Parameter FORMAT der Anweisung VAL_STRG ist nachstehend definiert. Die freien Bitpositionen müssen auf Null gesetzt werden. Tabelle 9- 28 Format der Anweisung VAL_STRG Bit 8 Bit 7 Bit 0 s = Zeichen für das Vorzeichen 1= Vorzeichen "+"...
  • Seite 374: Mit Eno Gemeldete Bedingungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen ● Ist als FORMAT die Festpunktdarstellung eingestellt, so werden ganzzahlige Werte mit und ohne Vorzeichen und Werte des Datentyps Real wie folgt in den Ausgangspuffer geschrieben: <führende Leerzeichen><Vorzeichen><Ziffern ohne führende Nullen>'.'<PREC-Ziffern> ● Führende Nullen links vom Dezimalpunkt (mit Ausnahme der Ziffer direkt neben dem Dezimalpunkt) werden unterdrückt.
  • Seite 375: Erweiterte Anweisungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 31 Beispiel für die Umwandlung von Zeichenketten in Werte mit S_CONV IN-Zeichenkette Datentyp OUT OUT-Wert "123" Int oder DInt WAHR "-00456" Int oder DInt -456 WAHR "123,45" Int oder DInt WAHR "+2345" Int oder DInt 2345 WAHR...
  • Seite 376 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 33 Beispiel: STRG_VAL-Umwandlung IN-Zeichenkette FORMAT Datentyp OUT OUT-Wert (W#16#..) "123" 0000 Int oder DInt WAHR "-00456" 0000 Int oder DInt -456 WAHR "123,45" 0000 Int oder DInt WAHR "+2345" 0000 Int oder DInt 2345 WAHR "00123AB"...
  • Seite 377 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die folgenden Beispiele für VAL_STRG-Umwandlungen beruhen auf einer Zeichenkette OUT, die wie folgt initialisiert wurde: " " Current Temp = xxxxxxxxxx C Dabei steht das Zeichen " " für Leerzeichen, die dem umgewandelten Wert zugeordnet sind. Tabelle 9- 34 Beispiel: VAL_STRG-Umwandlung Datentyp IN-Wert...
  • Seite 378: Anweisungen Strg_To_Chars Und Chars_To_Strg (In/Aus Zeichenkette Und Array Aus Char Umwandeln)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.3.2 Anweisungen Strg_TO_Chars und Chars_TO_Strg (In/aus Zeichenkette und Array aus CHAR umwandeln) Strg_TO_Chars kopiert eine ASCII-Zeichenkette in ein Array aus Zeichenbytes. Chars_TO_Strg kopiert ein Array aus ASCII-Zeichen-Bytes in eine Zeichenkette. Hinweis Nur die nullbasierten Array-Typen (Array [0..n] of Char) oder (Array [0..n] of Byte) sind als Eingangsparameter Chars bei der Anweisung Chars_TO_Strg zulässig, oder als IN_OUT- Parameter Chars bei der Anweisung Strg_TO_Chars .
  • Seite 379 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 37 Anweisung Chars_TO_Strg KOP/FUP Beschreibung Chars_TO_Strg( Das gesamte Array oder ein Teil eines Arrays aus Zeichen Chars:=_variant_in_, wird in eine Zeichenkette kopiert. pChars:=_dint_in_, Die Ausgangszeichenkette muss deklariert sein, bevor Cnt:=_uint_in_, Chars_TO_Strg ausgeführt wird. Die Zeichenkette wird dann Strg=>_string_out_);...
  • Seite 380: Ath Und Hta (In/Aus Ascii-Zeichenkette Und Hexadezimalzahl Umwandeln)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.3.3 ATH und HTA (In/aus ASCII-Zeichenkette und Hexadezimalzahl umwandeln) Mit den Anweisungen ATH (ASCII-Zeichenkette in Hexadezimalzahl wandeln) und HTA (Hexadezimalzahl in ASCII-Zeichenkette wandeln) können Sie ASCII-Zeichen (0 bis 9 und Großbuchstaben A bis F) in die entsprechenden 4-Bit-Hexadezimaldarstellungen umwandeln und umgekehrt.
  • Seite 381 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 43 Anweisung HTA KOP/FUP Beschreibung ret_val := HTA( Konvertiert gepackte Hexadezimalziffern in die entsprechenden in:=_variant_in_, ASCII-Zeichenbytes. n:=_uint_in_, out=>_variant_out_); Tabelle 9- 44 Datentypen für die Anweisung HTA Parameter und Datentyp Datentyp Beschreibung Variante Zeigt zum Eingangsbyte-Datenfeld UInt Anzahl der Bytes, die umgewandelt werden sollen (jedes Eingangsbyte...
  • Seite 382 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 46 ATH and HTA-Bedingungscodes RET_VAL Beschreibung (W#16#..) 0000 Kein Fehler WAHR 0007 Ungültiges ATH-Eingangszeichen: Es wurde ein Zeichen gefunden, bei dem es sich FALSCH nicht um ein ASCII-Zeichen 0-9, einen Kleinbuchstaben a-f oder um einen Großbuch- staben A-F handelte 8101 Unzulässiger oder ungültiger Eingangspointer, zum Beispiel ein Zugriff auf einen DB,...
  • Seite 383: Zeichenkettenanweisungen

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4 Zeichenkettenanweisungen Ihr Steuerungsprogramm kann mit den folgenden Zeichenketten- und Zeichenanweisungen Meldungen für Bedieneranzeigen und Prozessprotokolle erzeugen. 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 MAX_LEN(in);...
  • Seite 384: Len (Länge Einer Zeichenkette Ermitteln)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.2 LEN (Länge einer Zeichenkette ermitteln) Tabelle 9- 49 Anweisung LEN KOP/FUP Beschreibung out := LEN(in); LEN (Länge) gibt die aktuelle Länge der Zeichenkette IN am Ausgang OUT aus. Eine leere Zeichenkette hat die Länge Null. Tabelle 9- 50 Datentypen für die Parameter Parameter und Datentyp Datentyp...
  • Seite 385: Anweisungen Left, Right Und Mid (Teilzeichenketten In Einer Zeichenkette Lesen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 54 ENO-Zustand Bedingung Keine Fehler Gültige Zeichen Resultierende Zeichenkette nach Verknüpfung ist größer als die maximale Die resultierenden Zeichen wer- Länge von Zeichenkette OUT den kopiert, bis die maximale Länge von OUT erreicht ist Die aktuelle Länge von IN1 überschreitet die maximale Länge von IN1, die Aktuelle Länge wird auf 0 gesetzt aktuelle Länge von IN2 überschreitet die maximale Länge von IN2 oder die...
  • Seite 386 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 56 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung String, WString Eingegebene Zeichenkette Länge der zu erstellenden Teilzeichenkette: LEFT verwendet die Anzahl der Zeichen ganz links in der Zei- • chenkette RIGHT verwendet die Anzahl der Zeichen ganz rechts in der •...
  • Seite 387: Delete (Zeichen In Einer Zeichenkette Löschen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.5 DELETE (Zeichen in einer Zeichenkette löschen) Tabelle 9- 58 Anweisung Teilzeichenkette löschen KOP/FUP Beschreibung out := DELETE(in, L, p); Löscht L Zeichen aus der Zeichenkette IN. Mit dem Löschen der Zeichen wird an Zeichenposition P (einschließlich) begonnen, und die restliche Teilzeichenkette wird an Parameter OUT ausgege- ben.
  • Seite 388: Insert (Zeichen In Einer Zeichenkette Einfügen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.6 INSERT (Zeichen in einer Zeichenkette einfügen) Tabelle 9- 61 Anweisung Teilzeichenkette einfügen KOP/FUP Beschreibung out := INSERT(in1, in2, p); Fügt die Zeichenkette IN2 in die Zeichenkette IN1 ein. Das Ein- fügen beginnt nach dem Zeichen an Position P. Tabelle 9- 62 Datentypen für die Parameter Parameter und Datentyp Datentyp...
  • Seite 389: Replace (Zeichen In Einer Zeichenkette Ersetzen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.7 REPLACE (Zeichen in einer Zeichenkette ersetzen) Tabelle 9- 64 Anweisung Teilzeichenkette ersetzen KOP/FUP Beschreibung out := REPLACE( Ersetzt L Zeichen in der Zeichenkette im Parameter IN1. Das Er- in1:=_string_in_, setzen beginnt an Zeichenposition P (einschließlich) der Zeichen- in2:=_string_in_, kette IN1, die Ersetzungszeichen werden aus Parameter IN2 übernommen.
  • Seite 390: Find (Zeichen In Einer Zeichenkette Finden)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 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 IN2 ersetzt das Endzeichen von IN1 ab Position P Resultierende Zeichenkette nach Ersetzen ist größer als die maxi-...
  • Seite 391 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 68 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung String, WString In dieser Zeichenkette suchen String, WString Diese Zeichenkette suchen Zeichenposition in Zeichenkette IN1, erstes positives Suchergebnis Tabelle 9- 69 ENO-Zustand Bedingung Keine Fehler Gültige Zeichenposition...
  • Seite 392: Informationen Zur Laufzeit

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5 Informationen zur Laufzeit 9.2.5.1 GetSymbolName (Namen einer Variable am Eingangsparameter auslesen) Tabelle 9- 70 Anweisung GetSymbolName KOP/FUP Beschreibung OUT := GetSymbolName( Die Anweisung GetSymbolName gibt eine variable:=_parameter_in_, Zeichenkette aus, die dem Namen einer Vari- size:=_dint_in_);...
  • Seite 393: Beispiel: Bedeutung Des Parameters Size

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Bedeutung des Parameters SIZE Das folgende Beispiel veranschaulicht die Bedeutung des Parameters SIZE. Der folgende Variablenname wird aus der Bausteinschnittstelle gelesen: "MyPLCTag" (die doppelten Anführungszeichen am Anfang und Ende des Namens gehören zum Namen). SIZE Ausgabe von GetSymbol- Bedeutung...
  • Seite 394: Beispiel: Lesen Eines Symbolischen Namens

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Lesen eines symbolischen Namens Im folgenden Beispiel lesen Sie den Namen einer Variablen, die über den Eingangsparameter eines Bausteins verschaltet ist. Legen Sie zwei Variablen in einem globalen Datenbaustein zum Speichern der Daten an. Legen Sie einen Eingangsparameter inputValue mit dem Datentyp BYTE im Baustein Level1 an.
  • Seite 395: Getsymbolpath (Zusammengesetzten Globalen Namen Der Eingangsparameterversorgung Abfragen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5.2 GetSymbolPath (Zusammengesetzten globalen Namen der Eingangsparameterversorgung abfragen) Tabelle 9- 71 Anweisung GetSymbolPath KOP/FUP Beschreibung OUT := GetSymbolPath( Die Anweisung GetSymbolPath liest den zu- variable:=_parameter_in_, sammengesetzten globalen Namen eines size:=_dint_in_); Eingangsparameters an der lokalen Schnitt- stelle eines Bausteins (FB oder FC).
  • Seite 396: Verwendung

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Verwendung Beachten Sie die folgenden Tipps zur Verwendung der Anweisung GetSymbolPath: ● Geben Sie die Bausteinschnittstelle, über die der Name der Eingangsvariablen gelesen wird, am Parameter VARIABLE der Anweisung an: – Wenn eine Datenbausteinvariable den Eingangsparameter liefert, gibt GetSymbolPath den Namen des DB, darin enthaltene Strukturen und den Namen der Variablen aus.
  • Seite 397: Beispiel: Aufrufen Von Getsymbolpath Über Mehrere Stufen Des Bausteinaufrufs

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Aufrufen von GetSymbolPath über mehrere Stufen des Bausteinaufrufs Das folgende Beispiel zeigt die Verwendung von GetSymbolPath über mehrere Aufrufstufen: ● Organisationsbaustein OB1 ruft den Baustein FB_Level_1 auf, der wiederum den Baustein FB_Level_2 aufruft. ●...
  • Seite 398: Getinstancename (Namen Der Baustein-Instanz Auslesen)

    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 size:=_dint_in_); Sie den Namen des Instanz-Datenbausteins in einem Funktionsbaustein lesen. Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetInstanceName: Parameter Deklaration Datentyp...
  • Seite 399 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Bedeutung des Parameters SIZE Um die Länge des gelesenen Instanznamens zu begrenzen, verwenden Sie den Parameter SIZE. Wenn die Anweisung den Namen abgeschnitten hat, wird dies durch die Zeichen "..." (Unicode-Zeichen 16#2026) am Ende des Namens deutlich gemacht. Beachten Sie, dass dieses Zeichen die Länge 1 hat.
  • Seite 400: Beispiel: Lesen Des Namens Eines Instanz-Datenbausteins

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Lesen des Namens eines Instanz-Datenbausteins Das folgende Beispiel zeigt, wie Sie den Namen eines Instanz-Datenbausteins lesen. Legen Sie zwei Variablen in einem globalen Datenbaustein zum Speichern der Daten an. Definieren Sie die Parameter der Anweisung wie folgt: Der Baustein Level1_gin führt die Anweisung GetInstanceName aus, wodurch der zugehörige Instanz-Datenbaustein des Bausteins Level1_gin ermittelt und der Name am Ausgangsparameter OUT als Zeichenkette ausgegeben wird (outputInstName).
  • Seite 401: Getinstancepath (Zusammengesetzten Globalen Namen Der Baustein-Instanz Abfragen)

    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 OUT := GetInstancePath( Mit der Anweisung GetInstancePath lesen Sie size:=_dint_in_); den zusammengesetzten globalen Namen der Bausteininstanz in einem Funktionsbaustein. Der zusammengesetzte globale Name der Bausteininstanz ist der Pfad der vollständigen Aufrufhierarchie, wenn das Programm mehre-...
  • Seite 402 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Aufrufen von GetInstancePath, um den Pfad des Aufrufs eines FB mit mehreren Instanzen abzufragen Im folgenden Beispiel ruft der Funktionsbaustein FB_Level_3 die Anweisung GetInstancePath auf. ● Der Funktionsbaustein FB_Level_3 speichert seine Daten in dem aufrufenden Funktionsbaustein FB_Level_2.
  • Seite 403: Getblockname (Name Des Bausteins Auslesen)

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen SIZE Ausgabe von GetIn- Bedeutung stancePath '"IDB_...' Erstes Zeichen von WSTRING:' • Die ersten fünf Zeichen des Namens und Kennzeichen • dafür, dass der Name abgeschnitten wurde: "IDB_... Letztes Zeichen von WSTRING:' • '"IDB_LEVEL_1".Level_2_ Erstes Zeichen von WSTRING:' •...
  • Seite 404 Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GetBlockName: Parameter Deklaration Datentyp Speicherbereich Beschreibung SIZE Input UINT E, A, M, D, L oder Begrenzt die Anzahl von Zeichen, die am Parameter Konstante RET_VAL ausgegeben werden. SIZE >...
  • Seite 405: Beispiel: Lesen Eines Bausteinnamens

    Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen SIZE Ausgabe von GetBlockNa- Bedeutung '"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_gbn"' Erstes Zeichen von WSTRING:' •...
  • Seite 406: Dezentrale E/A (Profinet, Profibus Oder As-I)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.1 Anweisungen für die dezentrale E/A Die folgenden Anweisungen für die dezentrale Peripherie können mit PROFINET, PROFIBUS oder AS-i verwendet werden: ● Anweisung RDREC (Seite 407): Liest einen Datensatz mit der Nummer INDEX aus einem Modul oder Gerät.
  • Seite 407: 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 "RDREC_DB"( Mit der Anweisung RDREC lesen Sie...
  • Seite 408 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): Bei einem Ausgabemodul muss Bit 15 gesetzt werden (zum •...
  • Seite 409 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 410: Getio (Prozessabbild Lesen)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Wenn Sie "RDREC" oder "WRREC" verwenden, um einen Datensatz für PROFINET IO zu lesen oder zu schreiben, interpretiert die CPU negative Werte in den Parameter INDEX, MLEN und LEN als vorzeichenlose 16-Bit-Ganzzahlen. 9.3.3 GETIO (Prozessabbild lesen) Mit der Anweisung "GETIO"...
  • Seite 411 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "GETIO": Parameter Deklaration Datentyp Beschreibung HW_SUBMOD Hardware-ID des DP-Normslaves/PROFINET IO-Device STATUS DWord Enthält die Fehlerinformationen von "DPRD_DAT (Seite 432)" im Format DW#16#40xxxx00 Gelesene Datenmenge in Byte INPUTS IN_OUT...
  • Seite 412: Setio (Prozessabbild Übertragen)

    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 413: Getio_Part (Prozessabbildbereich Lesen)

    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 432)" auf. Tabelle 9- 79 Anweisung GETIO_PART (Prozessabbildbereich lesen) KOP/FUP Beschreibung...
  • Seite 414 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung GETIO_PART: Parameter Deklaration Datentyp Beschreibung HW_SUBMO Hardwarekennung des Moduls DULE OFFSET Nummer des ersten im Prozessabbild zu lesenden Bytes für die Kompo- nente (kleinster möglicher Wert: 0) Zu lesende Bytezahl STATUS...
  • Seite 415: Setio_Part (Prozessabbildbereich Übertragen)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.6 SETIO_PART (Prozessabbildbereich übertragen) Mit der Anweisung "SETIO_PART" schreiben Sie konsistent Daten aus dem von OUTPUTS angegebenen Quellbereich in die Ausgänge von Modulen und Submodulen von DP-Slaves und PROFINET IO-Devices. SETIO_PART ruft die Anweisung "DPWR_DAT (Seite 432)" auf.
  • Seite 416 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 Kom- ponente (kleinster möglicher Wert: 0) Zu schreibende Bytezahl STATUS...
  • Seite 417: Ralrm (Alarm Empfangen)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.7 RALRM (Alarm empfangen) Die Anweisung RALRM (Alarm lesen) können Sie für PROFINET und PROFIBUS einsetzen. Tabelle 9- 81 Anweisung RALRM KOP/FUP Beschreibung "RALRM_DB"( Mit der Anweisung RALRM (Alarm lesen) lesen Sie Diagnose- mode:=_int_in_, alarminformationen aus einem PROFIBUS- oder PROFINET f_ID:=_word_in_,...
  • Seite 418 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter und Datentyp Datentyp Beschreibung HW_IO (Word) Hardwarekennung des E/A-Moduls, das den Diagnosealarm verursacht Hinweis: In der Beschreibung des Parameters F_ID finden Sie eine Erläuterung dazu, wie Sie die Geräte-ID ermitteln. DWord, UInt, UDInt, Länge der empfangenen Alarminformationen AINFO DInt, Real, LReal...
  • Seite 419: Ralrm Aufrufen

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) RALRM aufrufen Die Anweisung RALRM können Sie in drei verschiedenen Betriebsarten (MODE) aufrufen. Tabelle 9- 83 Betriebsarten der Anweisung RALRM MODE Beschreibung ID enthält die Hardwarekennung des E/A-Moduls, das den Alarm ausgelöst hat. •...
  • Seite 420: Daten Des Organisationsbausteins Tinfo

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Daten des Organisationsbausteins TInfo Die folgende Tabelle zeigt, wie die TInfo-Daten für die Anweisung RALRM angeordnet sind: Ebenso für OBs: Status, Aktualisierung, SI-Format OB-Klasse OB-Nr. Profil, Diagnosefehleralarm, Ziehen oder Stecken von Modulen, Baugruppenträger- oder Stationsausfall LADDR TI_Submodule - OBs: Status, Aktualisie-...
  • Seite 421: D_Act_Dp (Dp-Slaves Deaktivieren/Aktivieren)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.8 D_ACT_DP (DP-Slaves deaktivieren/aktivieren) Mit der Anweisung "D_ACT_DP" können Sie konfigurierte PROFINET IO-Devices zielgerichtet aktivieren bzw. deaktivieren. Außerdem können Sie ermitteln, ob jedes zugewiesene PROFINET IO-Device gegenwärtig aktiviert oder deaktiviert ist. Hinweis Die Anweisung D_ACT_DP können Sie nur bei PROFINET IO-Devices verwenden.
  • Seite 422: Anwendung

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Anwendung Wenn Sie in einer CPU PROFINET IO-Devices konfigurieren, die nicht tatsächlich vorhanden oder gegenwärtig nicht erforderlich sind, greift die CPU trotzdem weiterhin in regelmäßigen Abständen auf diese PROFINET IO-Devices zu. Nach der Deaktivierung dieser Geräte endet der CPU-Zugriff.
  • Seite 423 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) PROFINET IO-Devices deaktivieren Wenn Sie ein PROFINET IO-Device mit D_ACT_DP deaktivieren, werden die Prozessausgänge des Geräts auf die konfigurierten Ersatzwerte oder auf 0 (sicherer Zustand) gesetzt. Der zugeordnete PROFINET IO-Controller spricht diese Komponente nicht weiterhin an.
  • Seite 424 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) PROFINET IO-Devices aktivieren Wenn Sie ein PROFINET IO-Device mit D_ACT_DP wieder aktivieren, konfiguriert und parametriert der zugehörige PROFINET IO-Controller die Komponente (wie bei der Rückkehr einer ausgefallenen PROFINET IO-Station). Diese Aktivierung ist beendet, wenn die Komponente in der Lage ist, Anwenderdaten zu übertragen.
  • Seite 425: Erweiterte Anweisungen

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter Deklarati- Datentyp Beschreibung RET_VAL Tritt ein Fehler auf, während das Programm die Funktion ausführt, enthält der Rückgabewert einen Fehlercode. BUSY Bool Aktivcode: BUSY = 1: Der Auftrag ist noch aktiv. •...
  • Seite 426 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Fehlercode* Bedeutung (W#16#...) 80A6 Steckplatzfehler im PROFINET IO-Device; es kann nicht auf alle Anwenderdaten zugegriffen werden (dieser Fehlercode ist nur bei MODE = 1 verfügbar). Hinweis: D_ACT_DP gibt diese Fehlerinformation nur aus, wenn die aktivierte Kom- ponente nach der Parametrierung und vor dem Ende der Ausführung der Anweisung D_ACT_DP erneut ausfällt.
  • Seite 427: Status-Parameter Für Rdrec, Wrrec Und Ralrm

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.9 STATUS-Parameter für RDREC, WRREC und RALRM Der Ausgangsparameter STATUS enthält Fehlerinformationen, die als ARRAY[1...4] OF BYTE mit der folgenden Struktur ausgewertet werden: Tabelle 9- 85 Ausgangs-Array STATUS Array-Element Name Beschreibung STATUS[1] Function_Num B#16#00, wenn kein Fehler vorliegt...
  • Seite 428 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#..) Die Anweisung RALRM (Seite 417) kann die Anlaufin- formationen, Verwaltungsinformationen, Headerinforma- tionen und weitere Alarminformationen des OBs nicht liefern. Bei den folgenden OBs können Sie die Anweisung DPNRM_DG (Seite 441) verwenden, um die aktuellen Diagnosemeldungen des betreffenden DP-Slaves asyn- chron zu lesen (Adressinformationen aus den Anlaufin-...
  • Seite 429 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#..) Ungültiger Bereich DP-Slave oder Modul meldet Zugriff auf ungültigen Da- tenbereich. Statuskonflikt DP-Slave oder Modul nicht betriebsbereit Zugriff verweigert DP-Slave oder Modul verweigert den Zugriff. Ungültiger Bereich DP-Slave oder Modul meldet einen ungültigen Bereich für einen Parameter oder Wert.
  • Seite 430 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 Res- sourcenfehler. Prüfen Sie die Dokumentation des Her- stellers des DP-Slaves oder des Moduls.
  • Seite 431 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Array-Element STATUS[4] Bei DPV1-Fehlern übergibt der DP-Master STATUS[4] an die CPU und die Anweisung. Ohne DPV1-Fehler ist dieser Wert auf 0 gesetzt, mit den folgenden Ausnahmen bei RDREC: ● STATUS[4] enthält die Zielbereichslänge von RECORD, wenn MLEN > die Zielbereichslänge aus RECORD.
  • Seite 432: Andere

    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 433 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 434: Fehlercodes

    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 435: Rcvrec (Datensatz Empfangen)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Wenn Sie auf DPV1-Slaves zugreifen, können Fehlerinformationen von diesen Slaves vom DP-Master an die Anweisung weitergeleitet werden. 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).
  • Seite 436: Betriebszustände

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Setzen Sie CODE1 und CODE2 auf 0, um dem übergeordneten Controller eine positive Antwort zu geben. Wenn der empfangene Datensatz abgelehnt werden soll, geben Sie die negative Antwort an den übergeordneten Controller in Fehlercode 1 von CODE1 und in Fehlercode 2 von CODE2 ein.
  • Seite 437 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Nach dem Empfang des Datensatzes (NEW = 1) müssen Sie die Anweisung RCVREC zweimal aufrufen, um vollständige Bearbeitung zu gewährleisten. Beachten Sie hierbei die folgende Reihenfolge: • Erster Aufruf mit MODE = 1 oder MODE = 2 •...
  • Seite 438: Prvrec (Datensatz Bereitstellen)

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3.10.3 PRVREC (Datensatz bereitstellen) Ein I-Device kann eine Anforderung zur Bereitstellung eines Datensatzes von einem übergeordneten Controller empfangen. Das I-Device stellt mit der Anweisung PRVREC (Datensatz bereitstellen) den Datensatz im Anwenderprogramm bereit. Tabelle 9- 92 Anweisung PRVREC KOP/FUP Beschreibung...
  • Seite 439 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Wenn die Anforderung zur Bereitstellung eines Datensatzes angenommen wird, schreiben Sie den angeforderten Datensatz in RECORD, um dem übergeordneten Controller eine positive Antwort zu senden, und schreiben den Wert 0 in CODE1 und CODE2. Wenn die Anforderung zur Bereitstellung eines Datensatz abgelehnt werden soll, geben Sie die negative Antwort an den übergeordneten Controller in Fehlercode 1 von CODE1 und in Fehlercode 2 von CODE2 ein.
  • Seite 440 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Hinweis Nach dem Empfang einer Anforderung (NEW = 1) müssen Sie die Anweisung PRVREC zweimal aufrufen, um vollständige Bearbeitung zu gewährleisten. Beachten Sie hierbei die folgende Reihenfolge: • Erster Aufruf mit MODE = 1 oder MODE = 2 •...
  • Seite 441: Dpnrm_Dg (Diagnosedaten Eines Dp-Slaves Lesen)

    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 ret_val := DPNRM_DG( Mit der Anweisung DPNRM_DG können Sie die aktuellen Diagnose- req:=_bool_in_, daten eines DP-Slaves in dem Format, das in EN 50 170 Band 2, laddr:=_word_in_,...
  • Seite 442: Erweiterte Anweisungen

    Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9- 95 Struktur der Slave-Diagnosedaten Byte Beschreibung Teilnehmerstatus 1 Teilnehmerstatus 2 Teilnehmerstatus 3 Master-Teilnehmernummer Hersteller-ID (oberes Byte) Hersteller-ID (unteres Byte) 6 ... Weitere slave-spezifische Diagnoseinformationen Tabelle 9- 96 Fehlercodes der Anweisung DPNRM_DG Fehlercode Beschreibung Einschränkung...
  • Seite 443 Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Fehlercode Beschreibung Einschränkung 80B3 Tatsächlicher Modultyp entspricht nicht dem erforderlichen Modultyp. 80C0 Keine Diagnoseinformationen vorhanden. 80C1 Die Daten des vorherigen Schreibauftrags für denselben Datensatz auf dem Modul wurden vom Modul noch nicht verarbeitet. 80C2 Das Modul verarbeitet derzeit die maximal mögliche Anzahl von Aufträgen für eine CPU.
  • Seite 444: Profienergy

    Referenzinformationen 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.2, 09/2016, A5E02486681-AK...
  • Seite 445: Alarme

    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(...
  • Seite 446: 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 447: Neue Prozessalarm-Obs In Ihr Programm Einfügen

    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. Alle vorhandenen Prozessalarm-OBs werden in der Klappliste "Prozessalarm:"...
  • Seite 448: Allgemeine Funktionsweise

    Erweiterte Anweisungen 9.5 Alarme Allgemeine Funktionsweise Jeder Prozessalarm kann einem Prozessalarm-OB zugeordnet werden, der bei Auftreten des Prozessalarmereignisses in die Warteschlange für die Bearbeitung gestellt wird. Die Zuordnung von OB und Ereignis kann während der Konfiguration oder zur Laufzeit erfolgen. Sie haben die Möglichkeit, zur Zeit der Konfiguration einem aktivierten Ereignis einen OB zuzuordnen bzw.
  • Seite 449: Weckalarme

    Erweiterte Anweisungen 9.5 Alarme 9.5.2 Weckalarme 9.5.2.1 SET_CINT (Weckalarm parametrieren) Tabelle 9- 100 SET_CINT (Weckalarm parametrieren) KOP/FUP Beschreibung ret_val := SET_CINT( Der angegebene Alarm-OB wird gesetzt, um die zykli- ob_nr:=_int_in_, sche Ausführung zu starten, die den Programmzyklus cycle:=_udint_in_, unterbricht. phase:=_udint_in_); Tabelle 9- 101 Datentypen für die Parameter Parameter und Datentyp...
  • Seite 450 Erweiterte Anweisungen 9.5 Alarme Wenn OBs niedrigerer und höherer Priorität in demselben Zeitintervall aufgerufen werden, wird der OB niedrigerer Priorität erst aufgerufen, wenn die Bearbeitung des OBs höherer Priorität beendet ist. Der Ausführungsbeginn des OBs niedrigerer Priorität kann sich je nach Verarbeitungszeit des OBs höherer Priorität verschieben.
  • Seite 451: Qry_Cint (Weckalarmparameter Abfragen)

    Erweiterte Anweisungen 9.5 Alarme 9.5.2.2 QRY_CINT (Weckalarmparameter abfragen) Tabelle 9- 103 QRY_CINT (Weckalarm abfragen) KOP/FUP Beschreibung ret_val := QRY_CINT( Parameter und Ausführungszustand eines Weck- ob_nr:=_int_in_, alarm-OBs werden abgerufen. Die zurückgegebe- cycle=>_udint_out_, nen Werte existierten zur Zeit der Ausführung von QRY_CINT. phase=>_udint_out__, status=>_word_out_);...
  • Seite 452: Uhrzeitalarme

    Systemzeit verändern und dadurch in gewissem 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.2, 09/2016, A5E02486681-AK...
  • Seite 453: Set_Tintl (Uhrzeitalarm Festlegen)

    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 OB_NR:=_int_in_, kann für eine Ausführung oder für wieder- SDT:=_dtl_in_, holte Ausführungen in einem zugewiese- nen Zeitraum festgelegt werden.
  • Seite 454 Erweiterte Anweisungen 9.5 Alarme Der Wochentagswert der DTL-Daten im Parameter SDT wird ignoriert. Das aktuelle Datum und die aktuelle Uhrzeit einer CPU stellen Sie über die Funktion "Uhrzeit stellen" in der Ansicht "Online & Diagnose" einer Online-CPU ein. Sie müssen Tag, Monat und Jahr einstellen.
  • Seite 455: Can_Tint (Uhrzeitalarm Löschen)

    Erweiterte Anweisungen 9.5 Alarme 9.5.3.2 CAN_TINT (Uhrzeitalarm löschen) Tabelle 9- 110 CAN_TINT (Uhrzeitalarm löschen) KOP/FUP Beschreibung ret_val:=CAN_TINT(_int_in); Löscht das Uhrzeitalarmereig- nis für den angegebenen Alarm-OB. Tabelle 9- 111 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung OB_NR OB_TOD (INT) OB-Nummer (symbolisch adressierbar) RET_VAL Ausführungsbedingung...
  • Seite 456: Act_Tint (Uhrzeitalarm Aktivieren)

    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-OB. 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...
  • Seite 457: Erweiterte Anweisungen

    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.
  • Seite 458: Verzögerungsalarme

    Erweiterte Anweisungen 9.5 Alarme 9.5.4 Verzögerungsalarme Sie können die Bearbeitung des Verzögerungsalarms mit den Anweisungen SRT_DINT und CAN_DINT starten und abbrechen und den Alarmzustand mit der Anweisung QRY_DINT abfragen. Jeder Verzögerungsalarm ist ein einmaliges Ereignis, das nach einer vorgegebenen Verzögerungszeit auftritt. Wird das Zeitverzögerungsereignis gelöscht, bevor die Zeitverzögerung abgelaufen ist, tritt der Alarm nicht im Programm auf.
  • Seite 459: Bedienung

    Erweiterte Anweisungen 9.5 Alarme Bedienung Ist EN=1, startet Anweisung SRT_DINT die interne Zeitverzögerung (DTIME). Wenn die Zeitverzögerung abläuft, generiert die CPU eine Programmunterbrechung, die die Ausführung des zugeordneten Verzögerungsalarm-OBs anstößt. Mit der Anweisung CAN_DINT können Sie einen gestarteten Verzögerungsalarm abbrechen, bevor die angegebene Verzögerungszeit auftritt.
  • Seite 460 Erweiterte Anweisungen 9.5 Alarme Parameter STATUS von QRY_DINT Tabelle 9- 122 Wenn ein Fehler (REL_VAL <> 0) vorliegt, ist STATUS = 0. 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.
  • Seite 461: Anweisungen Dis_Airt Und En_Airt (Ausführung Von Alarmen Höherer Priorität Und Asynchronen Fehlerereignissen Verzögern/Aktivieren)

    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();...
  • Seite 462: Alarme

    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 Mode:=_uint_in_, Sie einen Anwenderdiagnosealarm, bei dem TextID:=_uint_in_, es sich entweder um einen kommenden oder gehenden Alarm handeln kann. Mit Hilfe von TextListID:=_uint_in_, Anwenderdiagnosealarmen können Sie einen Anwendereintrag in den Diagnosepuffer...
  • Seite 463 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 • 2: gehender Alarm •...
  • Seite 464 Erweiterte Anweisungen 9.6 Alarme Byte Parameter Datentyp Startwert Beschreibung Nummer des Begleitwerts 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 587). Fehlercode* Bedeutung (W#16#...)
  • Seite 465: Diagnose (Profinet Oder Profibus)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Diagnose (PROFINET oder PROFIBUS) 9.7.1 Diagnoseanweisungen Die folgenden Diagnoseanweisungen können entweder mit PROFINET oder PROFIBUS verwendet werden: ● Anweisung RD_SINFO (Seite 466): Liest die Startinformation des aktuellen OBs ● Anweisung LED (Seite 476): Liest den Zustand der LEDS eines dezentralen Peripheriegeräts ●...
  • Seite 466: Rd_Sinfo (Startinformation Des Aktuellen Obs Auslesen)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 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" lesen Sie die TOP_SI=>_variant_out_, Startinformation der folgenden OBs: Letzter aufgerufener OB, der noch nicht voll- •...
  • Seite 467 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) SDTs des Parameters TOP_SI In der folgenden Tabelle werden die möglichen SDTs für den Parameter TOP_SI gezeigt: Organisationsbausteine (OB) Systemdatentypen (SDT) Nummern der Systemdatentypen Beliebig SI_classic* 592* SI_none ProgramCycleOB ProgramCycleOB TimeOfDay TimeOfDay TimeDelayOB SI_Delay CyclicOB SI_Cyclic...
  • Seite 468 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Strukturen Die folgenden Tabellen definieren die Strukturelemente der einzelnen Strukturen: Tabelle 9- 128 Struktur SI_classic Strukturelement Datentyp Beschreibung EV_CLASS BYTE Bits 0 bis 3: Ereignis-ID • Bits 4 bis 7: Ereignisklasse • EV_NUM BYTE Ereignisnummer PRIORITY...
  • Seite 469 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 131 Struktur SI_TimeOfDay Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT := 10 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ...
  • Seite 470 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 135 Struktur SI_Submodule Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT 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 471 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 138 Struktur SI_CPURedundancyError Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT := 72 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ...
  • Seite 472 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 141 Struktur SI_PlugPullModule Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT := 83 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ...
  • Seite 473 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 144 Struktur SI_Servo Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT := 91 OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ...
  • Seite 474 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 147 Struktur SI_ProgIOAcessError Strukturelement Datentyp Beschreibung SI_Format USINT 16#FF = Keine Informationen • 16#FE = Optimierte Startinformation • OB_Class USINT OB-Klasse für "Keine Informationen" oder "Optimierte Startinformation" OB_Nr UINT OB-Nummer (1 ... 32767) BlockNr UINT Für OB_Class = 121, 122...
  • Seite 475 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 476: Led (Led-Status Lesen)

    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 477: Erweiterte Anweisungen

    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 478: Get_Im_Data (Identifikations- Und Wartungsdaten Lesen)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.4 Get_IM_Data (Identifikations- und Wartungsdaten lesen) Mit der Anweisung Get_IM_Data prüfen Sie die Identifikations- und Wartungsdaten (I&M) für das angegebene Modul oder Submodul. Tabelle 9- 151 Anweisung Get_IM_Data KOP/FUP Beschreibung "GET_IM_DATA_DB"(LADDR:=16#0 Mit der Anweisung Get_IM_Data prüfen Sie die Identifikations- und Wartungsdaten (I&M) IM_TYPE:=0, für das angegebene Modul oder Submodul.
  • Seite 479: Get_Name (Namen Eines Profinet Io-Device Lesen)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) ● Wenn das jeweilige Array aus Byte/Char in DATA länger ist als die angeforderten I&M- Daten, wird der Bytewert 16#00 angehängt. ● Andere Datentypen werden nicht unterstützt, es wird der Fehler 8093 zurückgegeben. Tabelle 9- 153 Bedingungscodes RET_VAL (W#16#...)
  • Seite 480 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Der Name, der gelesen wird, hängt vom Typ des IO-Device ab: ● DP-Slave oder IO-Device: Name des Kopfmoduls ● I-Slave oder I-Device: Name des Interfacemoduls ● HMI-Panel: Name der Schnittstelle ● PC-Station: Name des Interfacemoduls ●...
  • Seite 481 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Deklaration Datentyp Beschreibung DInt Länge des Namens des IO-Device (Anzahl Zeichen). STATUS Word Statusparameter: Der Parameter wird nur für die Dauer eines Aufrufs gesetzt. Um den Status anzuzeigen, sollten Sie des- halb den Parameter STATUS in einen freien Datenbereich kopieren.
  • Seite 482 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 483 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 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. Zum Lesen des gesamten Datentyps String müssen Sie die Klammern löschen, um folgendes Endergebnis zu erzielen: "Datablock".String.
  • Seite 484 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. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 485 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 4. Ausführung der Anweisung Get_Name beenden: – Nach der Ausführung der Anweisung schreibt das Programm "Conveyor_1", den Stationsnamen des ET 200SP, in den Datenbaustein am Parameter DATA. – Das Programm schreibt "10", die Anzahl der Zeichen im Stationsnamen, in den Parameter LEN.
  • Seite 486: Getstationinfo (Ip- Oder Mac-Adresse Eines Profinet Io-Device Lesen)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 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). Hinweis Die Anweisung GetStationInfo können Sie nur bei PROFINET IO-Devices verwenden.
  • Seite 487 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Die Anweisung zeigt den Ausführungszustand des Leseauftrags über die Ausgangsparameter BUSY, DONE und ERROR und den Ausgangsparameter STATUS an. Hinweis Adressieren Sie das IO-Device nur über die Hardwarekennung der Station. Die Station, das IO-Device und die PROFINET-Sschnittstelle haben jeweils eine eigene Hardwarekennung.
  • Seite 488: Parameter Data

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Deklaration Datentyp Beschreibung ERROR Bool Parameter STATUS: 0: Kein Fehler. • 1: Während der Ausführung der Anweisung ist ein Fehler • aufgetreten. Ausführliche Informationen werden über den Parameter STATUS ausgegeben. STATUS Word Parameter STATUS: Der Parameter wird nur für die Dauer eines Aufrufs gesetzt.
  • Seite 489 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) ● Zum Speichern der MAC-Adresse verwenden Sie die Struktur "IF_CONF_MAC" am Parameter DATA. Byte Parameter Datentyp Startwert Beschreibung 0 … 1 UINT ID der Struktur "IF_CONF_MAC" 2 … 3 Length UNIT Länge der gelesenen Daten in BYTE 4 ...
  • Seite 490 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel Im folgenden Beispiel lesen Sie mit der Anweisung GetStationInfo die IP-Adressdaten eines IO-Device und schreiben die Informationen in einen Datenbaustein. Die IP-Adressdaten umfassen die IP-Adresse, die Subnetzmaske und (sofern verwendet) die Adressdaten des Routers.
  • Seite 491 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 2. Parameter für die Anweisung GetStationInfo zuweisen: – 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.2, 09/2016, A5E02486681-AK...
  • Seite 492 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 493 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 5. Ausführung der Anweisung GetStationInfo beenden: – 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"...
  • Seite 494: 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 ret_val := DeviceStates( DeviceStates ruft die Betriebszustände von laddr:=_word_in_, E/A-Geräten in einem E/A-Untersystem ab.
  • Seite 495 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 157 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR HW_IOSYSTEM Logische Adresse: (Kennung des E/A-Systems) MODE UInt Unterstützt fünf Betriebsarten. Der Eingang MODE legt fest, wel- che Daten an der für STATE-Informationen angegebenen Stelle ausgegeben werden.
  • Seite 496: Beispiele Für Die Konfiguration Von Devicestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.7.1 Beispiele für die Konfiguration von DeviceStates Beispiel in PROFIBUS Das Beispiel in PROFIBUS besteht aus den folgenden Komponenten: ● 16 PROFIBUS-Geräte mit den Namen "DPSlave_10" bis "DPSlave_25" ● Die 16 PROFIBUS-Geräte verwenden jeweils eine der PROFIBUS-Adressen 10 bis 25. ●...
  • Seite 497 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 160 Beispiel 2: Ein Modul wurde aus dem PROFIBUS-Slavegerät "DPSlave_12" gezo- gen. Für MODE 2 (Gerät defekt) wird der Wert 0x0110_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0x01 Bit 7 0000-0001 Bit 0 Bit 0 ist wahr;...
  • Seite 498: Beispiel In Profinet

    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 ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert. ●...
  • Seite 499 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 164 Beispiel 2: Ein Modul wurde aus dem PROFINET-Slavegerät "et200s_1" gezogen. Für MODE 2 (Gerät defekt) wird der Wert 0x0300_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0x03 Bit 7 0000-0011 Bit 0 Bit 0 ist wahr;...
  • Seite 500: 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 ret_val := ModuleStates( ModuleStates ruft die Betriebszustände von laddr:=_word_in_, E/A-Modulen ab.
  • Seite 501 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 168 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR HW_DEVICE Logische Adresse (Kennung der E/A-Module) MODE UInt Unterstützt fünf Betriebsarten. Der Eingang MODE legt fest, wel- che Daten an der für STATE-Informationen angegebenen Stelle ausgegeben werden.
  • Seite 502: Beispiele Für Die Konfiguration Von Modulestates

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.8.1 Beispiele für die Konfiguration von ModuleStates Beispiel in PROFIBUS Das Beispiel in PROFIBUS besteht aus den folgenden Komponenten: ● 16 PROFIBUS-Geräte mit den Namen "DPSlave_10" bis "DPSlave_25" ● Die 16 PROFIBUS-Geräte verwenden jeweils eine der PROFIBUS-Adressen 10 bis 25. ●...
  • Seite 503 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 171 Beispiel 2: Ein Modul wurde aus dem PROFIBUS-Slavegerät "DPSlave_12" gezo- gen. Für MODE 2 (Modul defekt) wird der Wert 0x0900_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0x09 Bit 7 0000-1001 Bit 0 Bit 0 ist wahr;...
  • Seite 504 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 ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert. ●...
  • Seite 505 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 175 Beispiel 2: Ein Modul wurde aus dem PROFINET-Slavegerät "et200s_1" gezogen. Für MODE 2 (Modul defekt) wird der Wert 0x0180_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Hinweise Byte 1 0x01 Bit 7 0000-0001 Bit 0 Bit 0 ist wahr;...
  • Seite 506: Get_Diag (Diagnoseinformationen Lesen)

    Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.9 GET_DIAG (Diagnoseinformationen lesen) Beschreibung Mit der Anweisung GET_DIAG können Sie die Diagnoseinformationen eines Hardwaregeräts auslesen. Das Hardwaregerät wird über den Parameter LADDR ausgewählt. Mit dem Parameter MODE wählen Sie aus, welche Diagnoseinformationen ausgelesen werden sollen.
  • Seite 507: 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 Bitzeichenfolge der unter- Diagnoseinformationen für ein stützten Modi als DWord, Modul als DWord, wobei Bit...
  • Seite 508 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 509 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Datentyp Wert Beschreibung 16 bis 31 Von der CPU erzeugte Zustandsinformationen für Module: Bit 16 = 1: Modul deaktiviert Bit 17 = 1: CiR-Operation aktiv Bit 18 = 1: Eingang nicht verfügbar Bit 19 = 1: Ausgang nicht verfügbar Bit 20 = 1: Überlauf Diagnosepuffer Bit 21 = 1: Diagnose nicht verfügbar...
  • Seite 510 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Datentyp Wert Beschreibung Modul defekt Keine Spannung In STOP/ohne DIS Eingang 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)
  • Seite 511 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.2, 09/2016, A5E02486681-AK...
  • Seite 512: Diagnoseereignisse Für Die Dezentrale Peripherie

    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 513 Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Über die Anweisung GET_DIAG (Seite 506) können Sie für jede Station die Diagnoseinformationen abrufen. Auf diese Weise können Sie die im Gerät aufgetretenen Fehler programmatisch behandeln und, sofern gewünscht, die CPU in den Betriebszustand STOP versetzen.
  • Seite 514: Impuls

    Erweiterte Anweisungen 9.8 Impuls Impuls 9.8.1 CTRL_PWM (Impulsdauermodulation) Tabelle 9- 185 Anweisung CTRL_PWM (Impulsdauermodulation) KOP/FUP Beschreibung "CTRL_PWM_DB"( Bietet eine feste Zykluszeit mit variabler relativer Ein- PWM:=_uint_in_, schaltdauer. Der PWM-Ausgang läuft nach dem Start ENABLE:=_bool_in_, kontinuierlich mit der angegebenen Frequenz (Zyklus- zeit).
  • Seite 515 Erweiterte Anweisungen 9.8 Impuls Die Impulsdauer wird beim ersten Wechsel der CPU in RUN auf den in der Gerätekonfiguration eingegebenen Anfangswert gesetzt. Zum Ändern der Impulsdauer schreiben Sie die gewünschten Werte in die in der Gerätekonfiguration angegebene Ausgangswortadresse ("Ausgangsadressen"/"Anfangsadresse:"). Um die gewünschte Impulsdauer in das entsprechende Ausgangswort zu schreiben, nutzen Sie eine Anweisung wie Übertragen, Umwandeln, Arithmetik oder PID.
  • Seite 516: Ctrl_Pto (Impulsfolge)

    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 517 Erweiterte Anweisungen 9.8 Impuls Die Anweisung CTRL_PTO speichert die Parameterinformationen im DB. Die Parameter des Datenbausteins werden nicht separat vom Anwender geändert, sondern von der Anweisung CTRL_PTO gesteuert. 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.
  • Seite 518 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 519: Funktionsweise Der Impulsausgänge

    Erweiterte Anweisungen 9.8 Impuls Tabelle 9- 190 Fehlercodewerte am Parameter STATUS Fehlercode (W#16#...) Beschreibung Keine Fehler 0x8090 Der Impulsgenerator mit der angegebenen Hardware-ID wird verwendet. 0x8091 Die Frequenz liegt außerhalb des Bereichs. Die gewünschte Frequenz überschreitet die maximale Frequenz des ausgewählten Impulsausgangs. 0x80A1 PTO-Kennung (Hardware-ID) adressiert keine gültige PTO.
  • Seite 520 Erweiterte Anweisungen 9.8 Impuls Sie können integrierte CPU-Ausgänge oder die Ausgänge eines optionalen Signalboards nutzen. In der folgenden Tabelle werden die Adressen der Ausgänge aufgeführt (wobei die Standardkonfiguration der Ausgänge vorausgesetzt wird). Wenn Sie die Adressen der Ausgänge geändert haben, entsprechen die Adressen den von Ihnen zugewiesenen. Beachten Sie, dass PWM nur einen Ausgang benötigt, während PTO optional zwei Ausgänge je Kanal nutzen kann.
  • Seite 521: Konfigurieren Eines Impulskanals Für Pwm Oder Pto

    Erweiterte Anweisungen 9.8 Impuls Beschreibung Impuls Richtung SB-Ausgänge A4.2 PTO3 Integrierte E/A A0.4 A0.5 SB-E/A A4.0 A4.1 PWM3 Integrierte Ausgänge A0.4 SB-Ausgänge A4.1 PTO4 Integrierte E/A A0.6 A0.7 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.
  • Seite 522: Parametrierung

    Erweiterte Anweisungen 9.8 Impuls Tabelle 9- 192 CPU-Ausgang: Höchstfrequenz (PTO) und Mindestzykluszeit (PWM) CPU-Ausgangskanal: PTO-Höchstfrequenz PWM-Mindestzykluszeit 1211C Aa.0 bis Aa.3 100 kHz 10 µs 1212C Aa.0 bis Aa.3 100 kHz 10 µs Aa.4, Aa.5 20 kHz 50 µs 1214C und 1215C Aa.0 bis Aa.3 100 kHz 10 µs...
  • Seite 523 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 524: Ermittlung Des Impulsdauerwerts

    Erweiterte Anweisungen 9.8 Impuls Ermittlung des Impulsdauerwerts Die "Impulsdauer" ergibt sich durch Multiplizieren der "Anfangsimpulsdauer" mit der "Zykluszeit". Wenn Sie eine "Zeitbasis", ein "Impulsdauerformat", eine "Zykluszeit" und die "Anfangsimpulsdauer" wählen, müssen Sie berücksichtigen, dass die Summe der "Impulsdauer" kein Bruchwert sein darf. Wenn Ihre resultierende "Impulsdauer" ein Bruchwert ist, müssen Sie Ihre "Anfangsimpulsdauer"...
  • Seite 525: Hardwareausgänge

    Erweiterte Anweisungen 9.8 Impuls Hardwareausgänge Wählen Sie im Bereich der Hardwareausgänge den Ausgangskanal im Dropdown-Menü aus. Je nach Konfiguration steht einer oder stehen zwei Ausgänge zur Auswahl. Wenn Sie einen Ausgangskanal einem Impulsgenerator zuweisen, kann der Ausgangskanal nicht von einem anderen Impulsgenerator, HSC oder Prozessabbild verwendet werden.
  • Seite 526 Erweiterte Anweisungen 9.8 Impuls Wenn die CPU von STOP nach RUN wechselt, initialisiert die CPU den Zykluszeitwert im Speicherbereich A mit dem in Abschnitt "Parametrierung" zugewiesenen Wert für die "Zykluszeit". Die Einheiten und Wertebereiche für den Zykluszeitwert im Speicherbereich A entsprechen der Konfiguration im Abschnitt "Parametrierung".
  • Seite 527: 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 528: 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 529: Erstellen Sie Zunächst Einen Neuen Plc-Datentyp

    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 530: Erstellen Sie Dann Einen Rezeptdatenbaustein

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Erstellen Sie dann einen Rezeptdatenbaustein ● Erstellen Sie Ihren Rezept-DB als globalen Datenbaustein mit aktivierter DB-Eigenschaft "Nur im Ladespeicher ablegen". ● Der Name des Rezeptdatenbausteins wird als Dateiname der entsprechenden CSV-Datei verwendet. Die im DB-Namen enthaltenen Zeichen müssen sich an die Namenseinschränkungen des Windows-Dateisystems halten.
  • Seite 531: Import Von Rezepten (Aus Csv-Datei In Rezept-Db)

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Import von Rezepten (aus CSV-Datei in Rezept-DB) 1. Eine vorhandene CSV-Rezeptdatei laden Sie über die Dateibrowser-Seite des CPU- Webservers aus dem CPU-Ladespeicher in einen PC. 2. Ändern Sie die CSV-Rezeptdatei mithilfe eines ASCII-Texteditors. Sie können die Startwerte der Komponenten ändern, jedoch nicht die Datentypen oder Datenstruktur.
  • Seite 532: 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- 194 Anweisung RecipeExport KOP/FUP Beschreibung "RecipeExport_DB"( Die Anweisung "RecipeExport" exportiert alle req:=_bool_in_, Rezeptdatensätze aus einem Rezeptdaten- done=>_bool_out_, baustein in das CSV-Dateiformat. Die CSV- Datei enthält Produktnamen, Komponenten- busy=>_bool_out_, namen und Startwerte.
  • Seite 533 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 195 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Steuerparameter REQUEST: Aktiviert den Export bei einer steigen- den Flanke. RECIPE_DB Durchgang Variant Pointer auf den Rezeptdatenbaustein. Weitere Informationen finden Sie im Beispiel für einen Rezept-DB (Seite 528). Die im DB-Namen enthaltenen Zeichen müssen sich an die Namenseinschränkungen des Windows-Dateisystems halten.
  • Seite 534 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle RecipeImport (Rezeptimport) Tabelle 9- 197 Anweisung RecipeImport KOP/FUP Beschreibung "RecipeImport_DB"( Die Anweisung "RecipeImport" im- req:=_bool_in_, portiert Rezeptdaten aus einer CSV- done=>_bool_out_, Datei im CPU-Ladespeicher in einen vom Parameter RECIPE_DB ange- busy=>_bool_out_, gebenen Rezeptdatenbaustein. error=>_bool_out_, Während des Importvorgangs wer- status=>_word_out_, den die Startwerte im Rezeptdaten-...
  • Seite 535 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Damit ein Importvorgang durchgeführt werden kann, muss ein Rezept-DB mit einer Struktur, die der Datenstruktur der CSV-Datei entspricht, vorhanden sein. 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.
  • Seite 536: Beispielprogramm Für Rezepte

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle ERROR STATUS Beschreibung (W#16#..) 80D0 +n Struktur des Rezeptdatenbausteins und der CSV-Datei stimmen nicht überein: Daten- typ im Feld n stimmt nicht überein (n <= 46). 80FF Struktur des Rezeptdatenbausteins und der CSV-Datei stimmen nicht überein: Daten- typ im Feld n stimmt nicht überein (n >...
  • Seite 537 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Instanz-DBs Die von den Anweisungen RecipeExport ("RecipeExport_DB") und RecipeImport ("RecipeImport_DB") verwendeten Instanz-DBs werden automatisch erstellt, wenn Sie die Anweisungen in Ihr Programm einfügen. Die Instanz-DBs dienen zum Steuern der Anweisungsausführung und werden in der Programmlogik nicht referenziert. Beispielprogramm für Rezepte Netzwerk 1 Eine steigende Flanke an REQ startet den Exportvorgang.
  • Seite 538 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 4 Erfassen Sie den Ausgang STATUS der Ausführung von RecipeImport, weil er nur einen Zyklus lang gültig ist. Netzwerk 5 READ_DBL kopiert die Startwerte von einem Rezept "Recipe_DB". Products[1] (im CPU-Ladespeicher) in die aktuellen Werte des DBs "Active_Recipe" (im CPU- Arbeitsspeicher).
  • Seite 539: Datenprotokolle

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2 Datenprotokolle Ihr Steuerungsprogramm kann mit den Anweisungen Data log Laufzeitdatenwerte in beständigen Protokolldateien speichern. Die CPU speichert Datenprotokolldateien im Flash- Speicher (CPU oder Memory Card) im Standard-CSV-Format (durch Komma getrennte Werte). Die CPU organisiert die Datensätze in einer kreisförmigen Protokolldatei vordefinierter Größe.
  • Seite 540: Parameter Header Für Die Anweisung Datalogcreate

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter HEADER für die Anweisung DataLogCreate Der Parameter HEADER zeigt auf die Spaltenköpfe in der obersten Zeile der Datenmatrix in der CSV-Datei. HEADER-Daten müssen sich im DB- oder M-Speicher befinden und die Zeichen müssen den üblichen Formatregeln für CSV-Dateien entsprechen, wobei die einzelnen Spaltennamen durch Komma zu trennen sind.
  • Seite 541 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 201 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. (Standardwert: Falsch) RECORDS UDint Die maximale Anzahl Datensätze, die das kreisförmige Datenprotokoll enthalten kann, bevor der älteste Eintrag überschrieben wird: Der Datensatz mit der Kopfzeile ist in dieser Anzahl nicht...
  • Seite 542 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung HEADER Durchgang Variant Pointer auf die Spaltenköpfe des Datenprotokolls in der obersten Zeile der Datenmatrix in der CSV-Datei. (Stan- dardwert: null). HEADER-Daten müssen sich im DB- oder M-Speicher befinden. Die Zeichen müssen den üblichen Formatregeln für CSV-Dateien entsprechen, und die einzelnen Spalten- namen sind durch Komma zu trennen.
  • Seite 543 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Die CPU erstellt basierend auf den Parametern RECORDS und DATA eine Datenprotokolldatei mit einer vordefinierten festen Größe und organisiert die Datensätze in einer kreisförmigen Protokolldatei. Die Anweisung DataLogWrite fügt neue Datensätze in die Datenprotokolldatei ein, bis die maximale Anzahl Datensätze, die im Parameter RECORDS vorgegeben ist, gespeichert ist.
  • Seite 544 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Hinweis Die Anweisung DataLogNewFile kopiert die Datensatzstruktur eines vorhandenen Datenprotokolls Wenn Sie das Überschreiben von Datensätzen verhindern möchten, können Sie mit der Anweisung DataLogNewFile ein neues Datenprotokoll basierend auf dem aktuellen Datenprotokoll anlegen, nachdem das aktuelle Datenprotokoll die maximale Anzahl von Datensätzen gespeichert hat.
  • Seite 545 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogOpen (Datenprotokoll öffnen) Tabelle 9- 203 Anweisung DataLogOpen KOP/FUP Beschreibung "DataLogOpen_DB"( Öffnet eine bereits vorhandene Datenprotokolldatei. Sie müssen req:=_bool_in_, ein Datenprotokoll öffnen, damit Sie neue Datensätze in das Proto- mode:=_uint_in_, koll schreiben (Seite 547) können. Sie können Datenprotokolle einzeln öffnen und schließen.
  • Seite 546 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Sie können entweder den NAMEN oder eine ID (Parameter ID als Eingang) eines bereits vorhandenen Datenprotokolls eingeben. Wenn Sie beide Parameter angeben, und eine gültige ID entspricht dem Datenprotokoll NAME, wird die ID verwendet und der NAME wird ignoriert.
  • Seite 547 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogWrite (Datenprotokoll schreiben) Tabelle 9- 206 Anweisung DataLogWrite KOP/FUP Beschreibung "DataLogWrite_DB"( Schreibt einen Datensatz in das angegebene Datenprotokoll. Das be- req:=_bool_in_, reits bestehende Zieldatenprotokoll muss geöffnet (Seite 545) sein, done=>_bool_out_, damit Sie mit einer Anweisung DataLogWrite in das Protokoll schreiben können.
  • Seite 548 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Der Parameter DATA einer Anweisung DataLogCreate definiert die Speicheradresse und die Datenstruktur des Datensatzpuffers. Um neue Datensatzdaten aus dem Puffer in ein Datenprotokoll zu übertragen, muss das Steuerungsprogramm den Datensatzpuffer mit aktuellen Laufzeitprozesswerten laden und dann die Anweisung DataLogWrite ausführen. Der Parameter ID gibt eine Datenprotokoll- und Datensatzkonfiguration an.
  • Seite 549: Voraussetzung

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 208 Werte von ERROR und STATUS ERROR STATUS (W#16#) Beschreibung 0000 Kein Fehler 0001 Zeigt an, dass das Datenprotokoll voll ist: Jedes Datenprotokoll wird mit einer vorgegebenen Maximalanzahl von Datensätzen angelegt. Der letzte Datensatz dieser Maximalanzahl wurde geschrieben.
  • Seite 550 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "DataLogClear": Parameter Deklaration Datentyp Speicherbereich Beschreibung Input BOOL E, A, M, D, L, T, C Ausführung der Anweisung bei einer steigen- oder Konstante den Flanke (T und C sind nur bei der S7-1500 in KOP und FUP verfügbar)
  • Seite 551: Datalogclose (Datenprotokoll Schließen)

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogClose (Datenprotokoll schließen) Tabelle 9- 210 Anweisung DataLogClose KOP/FUP Beschreibung "DataLogClose_DB"( Schließt eine geöffnete Datenprotokolldatei. Eine für ein req:=_bool_in_, geschlossenes Datenprotokoll ausgeführte Anweisung done=>_bool_out_, DataLogWrite führt zu einem Fehler. Schreibanweisun- gen für dieses Datenprotokoll sind erst zulässig, nach- busy=>_bool_out_, dem eine Anweisung DataLogOpen ausgeführt wurde.
  • Seite 552 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogDelete (Datenprotokoll löschen) Tabelle 9- 213 Anweisung DataLogDelete KOP/FUP Beschreibung "DataLogDelete_DB"( Mit der Anweisung "DataLogDelete" löschen Sie REQ:=_bool_in_, eine Datenprotokolldatei. Das Datenprotokoll und NAME:=_variant_in_, die darin enthaltenen Datensätze können nur gelöscht werden, wenn sie mit der Anweisung DelFile:=_bool_in_, "DataLogCreate"...
  • Seite 553: Parameter Name Und Id

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter NAME und ID Wählen Sie das zu löschende Datenprotokoll mit den Parametern NAME und ID aus. Der Parameter ID wird zuerst ausgewertet. Ist ein Datenprotokoll mit der relevanten ID vorhanden, wird der Parameter NAME nicht ausgewertet. Wenn am Parameter ID der Wert 0 verwendet wird, muss am ParameterNAME ein Wert mit dem Datentyp STRING verwendet werden.
  • Seite 554: Datalognewfile (Datenprotokoll In Neuer Datei)

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogNewFile (Datenprotokoll in neuer Datei) Tabelle 9- 214 Anweisung DataLogNewFile KOP/FUP Beschreibung "DataLogNewFile_DB"( Ermöglicht Ihrem Programm, eine neue req:=_bool_in_, Datenprotokolldatei basierend auf einer records=:_udint_in_, bestehenden Datenprotokolldatei anzulegen. done=>_bool_out_, Wenn Sie die Anweisung einfügen, erstellt busy=>_bool_out_, STEP 7 automatisch den zugehörigen In- error=>_bool_out_,...
  • Seite 555 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 Anforde- rung 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 556: Arbeiten Mit Datenprotokollen

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 216 Werte von ERROR und STATUS ERROR STATUS (W#16#) Beschreibung 0000 Kein Fehler 7000 Aufruf ohne REQ-Flanke: BUSY = 0, DONE = 0 7001 Erster Aufruf mit REQ-Flanke (in Bearbeitung): BUSY = 1, DONE = 0 7002 Aufruf (in Bearbeitung): BUSY = 1, DONE = 0 8070...
  • Seite 557: 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 558: 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 559: 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 560 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Daten Datenbytes des Datenprotokolls = ((Datenbytes in einem Datensatz + Zeitstempel-Bytes + 12 Bytes) * Anzahl der Datensätze) Datenbytes in einem Datensatz Der Parameter DATA der Anweisung DataLogCreate zeigt auf eine Struktur, die die Anzahl der Datenfelder und den Datentyp jedes Datenfelds für einen Protokolldatensatz zuweist.
  • Seite 561: Beispielprogramm Für Datenprotokolle

    Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Anzahl der Datensätze in einer Datenprotokolldatei Der Parameter RECORDS der Anweisung DataLogCreate legt die maximale Anzahl Datensätze in einer Datenprotokolldatei fest. Zeitstempelbytes in einem Datensatz ● Kein Zeitstempel = 0 Byte ● Zeitstempel = 20 Byte 9.9.2.5 Beispielprogramm für Datenprotokolle Dieses Beispielprogramm für Datenprotokolle zeigt nicht die gesamte Programmlogik, die...
  • Seite 562 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 1 Eine steigende Flanke an REQ startet die Datenprotokollerstellung. 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 563 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 5 Der Zustand des Eingangs EN basiert auf dem Zeitpunkt, zu dem die Ausführung von DataLogCreate beendet ist. Ein Erstellungsvorgang erstreckt sich über viele Zyklen und muss beendet sein, damit ein Schreibvorgang durchgeführt werden kann. Die positive Flanke am Eingang REQ ist das Ereignis, das eine aktivierte Schreiboperation auslöst.
  • Seite 564 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 8 Der ID-Parameter ist ein IN/OUT-Typ. Zunächst geben Sie den ID-Wert des vorhandenen Datenprotokolls an, dessen Struktur Sie kopieren möchten. Nachdem die Anweisung DataLogNewFile durchgeführt wurde, wird ein neuer und eindeutiger ID-Wert für das neue Datenprotokoll in die Adresse des ID-Verweises zurückgeschrieben.
  • Seite 565 Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 218 In Excel angezeigte, heruntergeladene Beispiele für CSV-Dateien Zwei geschriebene Datensätze in einer Datei, die maximal fünf Datensätze ent- halten kann Fünf Datensätze in einer Datenprotokoll- datei, die maximal fünf Datensätze enthal- ten kann Nachdem ein weiterer Datensatz in die oben abgebildete Datei, die bereits voll...
  • Seite 566: Datenbausteinsteuerung

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10 Datenbausteinsteuerung 9.10.1 CREATE_DB (Datenbaustein erstellen) Tabelle 9- 219 Anweisung CREATE_DB KOP/FUP Beschreibung ret_val := CREATE_DB( Mit der Anweisung "CREATE_DB" erstellen Sie REQ:=_bool_in_, einen neuen Datenbaustein im Lade- und/oder LOW_LIMIT:=_uint_in_, Arbeitsspeicher. UP_LIMIT:=_uint_in_, Die Anweisung "CREATE_DB" ändert die Prüf- COUNT:=_udint_in_, summe des Anwenderprogramms nicht.
  • Seite 567: Startwerte Des Datenbausteins

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Startwerte des Datenbausteins Mit dem Parameter SRCBLK definieren Sie Startwerte für den zu erstellenden DB. Der Parameter SRCBLK ist ein Pointer auf einen DB oder einen DB-Bereich, aus dem Sie die Startwerte übernehmen. Der am Parameter SRCBLK adressierte DB muss mit Standardzugriff erstellt worden sein (Attribut "Optimierter Bausteinzugriff"...
  • Seite 568 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "CREATE_DB": Parameter Deklara- Daten- Speicherbereich Beschreibung tion Input BOOL E, A, M, D, L oder Pegelausgelöster Steuerparameter "request to activate" Konstante REQ = 1: Anforderung zum Erstellen des Datenbausteins LOW_LIMIT Input UINT E, A, M, D, L oder...
  • Seite 569 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklara- Daten- Speicherbereich Beschreibung tion Bit 3 = 0: Erstellung des DB entweder im Ladespeicher oder • im Arbeitsspeicher (Auswahl über Bit 0, siehe oben) Bit 3 = 1: Erstellung des DB sowohl im Ladespeicher als •...
  • Seite 570 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter RET_VAL Fehlercode* Beschreibung (W#16#...) 0000 Kein Fehler 0081 Der Zielbereich ist größer als der Quellbereich. Der Quellbereich wird vollständig in den Zielbereich geschrieben. Die übrigen Bytes des Zielbereichs wer- den nicht geändert. 7000 Erster Aufruf mit REQ = 0: Keine Datenübertragung aktiv; BUSY hat den Wert 0. 7001 Erster Aufruf mit REQ = 1: Datenübertragung angestoßen;...
  • Seite 571: Anweisungen Read_Dbl Und Writ_Dbl (Datenbaustein Im Ladespeicher Lesen/Schreiben)

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10.2 Anweisungen READ_DBL und WRIT_DBL (Datenbaustein im Ladespeicher lesen/schreiben) Tabelle 9- 220 Anweisungen READ_DBL und WRIT_DBL KOP/FUP Beschreibung READ_DBL( Kopiert DB-Startwerte oder einen Teil req:=_bool_in_, der Werte aus dem Ladespeicher in srcblk:=_variant_in_, einen Ziel-DB im Arbeitsspeicher. busy=>_bool_out_, Der Inhalt des Ladespeichers wird dstblk=>_variant_out_);...
  • Seite 572 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Typischerweise wird ein DB sowohl im Ladespeicher (Flash) als auch im Arbeitsspeicher (RAM) gespeichert. Die Startwerte (Anfangswerte) werden immer im Ladespeicher gespeichert und die aktuellen Werte werden immer im Arbeitsspeicher gespeichert. Mit READ_DBL können Sie einen Satz Startwerte aus dem Ladespeicher in die aktuellen Werte eines DBs im Arbeitsspeicher kopieren, der von Ihrem Programm referenziert wird.
  • Seite 573: Informationen Zu Rezepten Und Zur Maschineneinrichtung

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung READ_DBL und WRIT_DBL werden asynchron zum Programmzyklus ausgeführt. Die Verarbeitung erstreckt sich über mehrere Aufrufe von READ_DBL und WRIT_DBL. Sie starten den DB-Übertragungsauftrag durch Aufruf von REQ = 1 und überwachen anschließend die Ausgänge BUSY und RET_VAL, um zu ermitteln, wann die Datenübertragung beendet und korrekt ist.
  • Seite 574 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Tabelle 9- 222 Bedingungscodes RET_VAL Beschreibung (W#16#...) 0000 Kein Fehler 0081 Warnung: Der Quellbereich ist kleiner als der Zielbereich. Die Quelldaten werden vollständig kopiert, wobei die zusätzlichen Bytes im Zielbereich nicht verändert werden. 7000 Aufruf mit REQ = 0: BUSY = 0 7001 Erster Aufruf mit REQ = 1 (in Bearbeitung): BUSY = 1 7002...
  • Seite 575: Attr_Db (Attribute Eines Datenbausteins Lesen)

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10.3 ATTR_DB (Attribute eines Datenbausteins lesen) Tabelle 9- 223 Anweisung ATTR_DB KOP/FUP Beschreibung ret_val := ATTR_DB( Mit der Anweisung "ATTR_DB" rufen Sie Informa- REQ:=_bool_in_, tionen über einen Datenbaustein (DB) im Arbeits- DB_NUMBER:=_uint_in_, speicher der CPU ab. Die Anweisung ermittelt die DB_LENGTH=>_udint_out_, am Parameter ATTRIB für den ausgewählten DB festgelegten Attribute.
  • Seite 576 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklaration Datentyp Speicherbereich Beschreibung Wenn Bit 0 = 1, ist Bit 2 irrelevant und erhält den Wert 1. Bit 2 = 0: Remanent - Der DB wird als remanent • betrachtet, wenn mindestens ein Wert als rema- nent definiert wurde.
  • Seite 577: Delete_Db (Datenbaustein Löschen)

    Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10.4 DELETE_DB (Datenbaustein löschen) Tabelle 9- 224 Anweisung DELETE_DB KOP/FUP Beschreibung ret_val := DELETE_DB( Mit der Anweisung "DELETE_DB" löschen Sie REQ := _bool_in_, einen Datenbaustein (DB), den das Anwender- DB_NUMBER := programm durch Aufrufen der Anweisung _uint_in_, "CREATE_DB (Seite 566)"...
  • Seite 578 Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter RET_VAL Fehlercode* Bedeutung (W#16#...) 0000 Kein Fehler. 7000 Erster Aufruf mit REQ = 0: Keine Datenübertragung aktiv; BUSY hat den Wert 0. 7001 Erster Aufruf mit REQ = 1: Datenübertragung angestoßen; BUSY hat den Wert 1. 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Datenübertragung bereits aktiv;...
  • Seite 579: Adressverarbeitung

    Erweiterte Anweisungen 9.11 Adressverarbeitung 9.11 Adressverarbeitung 9.11.1 GEO2LOG (Aus dem Steckplatz die Hardwarekennung ermitteln) Mit Anweisung GEO2LOG wird die Hardwarekennung anhand der Steckplatzinformationen ermittelt. Tabelle 9- 225 Anweisung GEO2LOG KOP/FUP Beschreibung ret_val := GEO2LOG( Mit Anweisung GEO2LOG wird die Hard- GEOADDR:=_variant_in_out_, warekennung anhand der Steckplatzin- laddr:=_word_out_);...
  • Seite 580 Erweiterte Anweisungen 9.11 Adressverarbeitung Parameter AREA des Systemdatentyps GEOADDR wird nicht ausgewertet. Tabelle 9- 226 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung GEOADDR IN/OUT or Variant Pointer auf die Struktur des Systemdatentyps GEOADDR. Der Systemda- IN ? tentyp GEOADDR enthält die Steckplatzinformationen, aus denen die Hardware-ID ermittelt wird.
  • Seite 581: Log2Geo (Steckplatz Über Hardwarekennung Ermitteln)

    Erweiterte Anweisungen 9.11 Adressverarbeitung 9.11.2 LOG2GEO (Steckplatz über Hardwarekennung ermitteln) Mit der Anweisung LOG2GEO ermitteln Sie die geografische Adresse (Modulsteckplatz) aus der logischen Adresse einer Hardwarekennung. Tabelle 9- 228 Anweisung LOG2GEO KOP/FUP Beschreibung ret_val := LOG2GEO( Mit der Anweisung LOG2GEO ermitteln laddr:=_word_in_, Sie den zu einer Hardwarekennung gehö- rigen Modulsteckplatz.
  • Seite 582: Io2Mod (Aus Einer E/A-Adresse Die Hardwarekennung Ermitteln)

    Erweiterte Anweisungen 9.11 Adressverarbeitung Tabelle 9- 229 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR HW_ANY Hardwarekennung des IO-Systems oder des Moduls. Die Nummer wird automatisch zugewiesen und in den Eigenschaften der CPU oder der Schnittstelle der Hardwarekonfiguration gespeichert. RET_VAL Fehlercode der Anweisung GEOADDR...
  • Seite 583 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 584: Rd_Addr (E/A-Adressen Über Hardwarekennung Ermitteln)

    Erweiterte Anweisungen 9.11 Adressverarbeitung 9.11.4 RD_ADDR (E/A-Adressen über Hardwarekennung ermitteln) Mit der Anweisung RD_ADDR rufen Sie die E/A-Adressen eines Submoduls ab. Tabelle 9- 234 Anweisung RD_ADDR KOP/FUP Beschreibung ret_val := RD_ADDR( Mit der Anweisung RD_ADDR rufen Sie die laddr:=_word_in_, E/A-Adressen eines Submoduls ab. PIADDR=>_udint_out_, PICount=>_uint_out_, PQADDR=>_udint_out_,...
  • Seite 585 Erweiterte Anweisungen 9.11 Adressverarbeitung Tabelle 9- 235 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR HW_IO Hardwarekennung des (Sub-)Moduls RET_VAL Fehlercode der Anweisung PIADDR UDInt Anfangsadresse des Eingangsmoduls PICOUNT UInt Anzahl der Bytes der Eingänge PQADDR UDInt Anfangsadresse des Ausgangsmoduls PQCOUNT UInt Anzahl der Bytes der Ausgänge...
  • Seite 586: Systemdatentyp Geoaddr

    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 587: Gemeinsame Fehlercodes Für Die Erweiterten Anweisungen

    Erweiterte Anweisungen 9.12 Gemeinsame Fehlercodes für die erweiterten Anweisungen 9.12 Gemeinsame Fehlercodes für die erweiterten Anweisungen Tabelle 9- 237 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...
  • Seite 588 Erweiterte Anweisungen 9.12 Gemeinsame Fehlercodes für die erweiterten Anweisungen S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 589: Technologieanweisungen

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die grundlegenden Zähleranweisungen, die unter "Zähler" (Seite 259) 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 590: Anweisung Ctrl_Hsc_Ext (Schnellen Zähler Steuern)

    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 hsc:=_hw_hsc_in_, (Schnellen Zähler steuern (erweitert)) done:=_done_out_, nutzt eine in einem benutzerdefinierten globalen DB abgelegte systemdefinierte busy:=_busy_ out_, Datenstruktur, um Zählerdaten zu spei- error:=_error_out_,...
  • Seite 591: Beispiel

    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 592 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 593 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 4. Weisen Sie die Variable "'Data_block_1'. MyHSC" dem Eingangsanschluss CTRL der Anweisung CTRL_HSC_EXT zu: – Wählen Sie "Data_Block_1" aus. – Wählen Sie "MyHSC" aus. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 594: Siehe Auch

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) – 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" folgt, drücken Sie nicht nur die Eingabetaste.
  • Seite 595: Systemdatentypen (Sdt) Der Anweisung Ctrl_Hsc_Ext

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.1.3 Systemdatentypen (SDT) der Anweisung CTRL_HSC_EXT Die folgenden Systemdatentypen (SDTs) werden nur für den Anschluss CTRL der Anweisung CTRL_HSC_EXT verwendet. Um sie zu verwenden, erstellen Sie einen Anwenderdatenbaustein und fügen ein Objekt mit dem Datentyp des SDT hinzu, der der konfigurierten Betriebsart (Zählart) des HSC entspricht.
  • Seite 596 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Wenn bei ausgeführter Anweisung CTRL_HSC_EXT ein Ereignis auftritt, setzt die Anweisung ein Statusbit. Bei der nachfolgenden Ausführung der Anweisung löscht die Anweisung das Statusbit, sofern das Ereignis nicht erneut vor der Ausführung der Anweisung auftritt. Tabelle 10- 4 Struktur HSC_Count Strukturelement Deklaration...
  • Seite 597 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Strukturelement Deklaration Datentyp Beschreibung NewLimitBehavi- Ergebnis des Werts CurrentCount bei Überlauf: 1 = Current- Count auf entgegengesetzten Grenzwert setzen; 2 = Current- Count auf StartValue setzen; alle anderen Werte sind reserviert NewSyncBehavi- Dieser Wert wird nicht verwendet. NewCurrentCount IN Dint Wert von CurrentCount...
  • Seite 598 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Wenn EdgeCount gültig ist, berechnen Sie die Periode in Nanosekunden mit Hilfe der folgenden Formel: Periode = ElapsedTime/EdgeCount. Der berechnete Periodenwert ist ein Mittelwert aus den Zeitperioden sämtlicher Impulse, die während des Messintervalls auftreten. Wenn die Periode eines kommenden Impulses größer als das Messintervall ist (10, 100 oder 1000 ms), benötigt die Periodenberechnung mehrere Messintervalle.
  • Seite 599 Technologieanweisungen 10.1 Zählen (schnelle Zähler) 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. Die Anweisung CTRL_HSC_EXT bietet in der Betriebsart Frequenz die folgenden Möglichkeiten: Tabelle 10- 6 Struktur von HSC_Frequency Strukturelement...
  • Seite 600: Betrieb Des Schnellen Zählers

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.2 Betrieb des schnellen Zählers 10.1.2.1 Synchronisierungsfunktion Mit der Synchronisierungsfunktion setzen Sie den Zähler mit einem externen Eingangssignal auf den Startwert. Sie können den Startwert durch Ausführen der Anweisung CTRL_HSC_EXT ändern. Dadurch lässt sich der aktuelle Zählwert bei Auftreten eines externen Eingangssignals mit einem gewünschten Wert synchronisieren.
  • Seite 601: Gate-Funktion

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Informationen zur Konfiguration der Synchronisierungsfunktion finden Sie unter Eingangsfunktionen (Seite 613). 10.1.2.2 Gate-Funktion In vielen Anwendungen müssen Zählprozesse in Abstimmung mit anderen Ereignissen gestartet oder gestoppt werden. In solchen Fällen wird das Zählen über die Funktion des internen Gates gestartet und gestoppt.
  • Seite 602 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die folgende Abbildung zeigt ein Beispiel für das Öffnen und Schließen des Hardware-Gates mit einem Digitaleingang. Der Digitaleingang ist für den Pegel "Aktiv High" konfiguriert: 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.
  • Seite 603: Erfassungsfunktion

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.2.3 Erfassungsfunktion Mit der Erfassungsfunktion speichern Sie den aktuellen Zählerwert mit einem externen Referenzsignal. Wenn über das Bit "HSC_Count.EnCapture" konfiguriert und aktiviert, bewirkt die Erfassungsfunktion, dass bei Auftreten einer externen Eingangsflanke der aktuelle Zählwert erfasst wird. Die Erfassungsfunktion ist unabhängig vom Zustand des internen Gates wirksam.
  • Seite 604: 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 605: Anwendungen

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.2.5 Anwendungen In einer typischen Anwendung wird über den HSC die Rückmeldung eines Winkelschrittgebers überwacht. Der Geber liefert eine angegebene Anzahl von Zählwerten pro Umdrehung, die Sie als Taktgeneratoreingang für den HSC verwenden können. Außerdem gibt es einen Rücksetzimpuls, der einmal pro Umdrehung auftritt und den Sie als Synchronisierungseingang für den HSC verwenden können.
  • Seite 606: 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 607 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 608: Zählarten

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.1 Zählarten Es gibt vier Zählarten bzw. Betriebsarten. Wenn Sie die Betriebsart ändern, ändern sich auch die verfügbaren Konfigurationsoptionen für den HSC: ● Zählen: Zählt die Anzahl von Impulsen und inkrementiert oder dekrementiert den Zählwert abhängig vom Zustand der Richtungssteuerung. Externe E/A können den Zählwert zurücksetzen, das Zählen deaktivieren, die Erfassung des aktuellen Zählwerts auslösen oder bei einem angegebenen Ereignis einen einzelnen Impuls erzeugen.
  • Seite 609: Betriebsphase

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.2 Betriebsphase Wählen Sie die gewünschte Betriebsphase des HSC aus. Die vier Abbildungen unten zeigen, wann sich der Zählerwert ändert, wann das Ereignis auftritt, dass der aktuelle Wert (CV) gleich dem Referenzwert (RV) ist, und wann das Ereignis des Richtungswechsels auftritt.
  • Seite 610 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 S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 611: Vierfacher A/B-Zähler

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 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 Vierfacher A/B-Zähler Der vierfache A/B-Zähler zählt: ●...
  • Seite 612 Technologieanweisungen 10.1 Zählen (schnelle Zähler) S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 613: Anfangswerte

    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 614: Gate-Eingang

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Erfassungseingang Der Erfassungseingang setzt den erfassten Zählwert auf den Zählwert, der im Moment der Auslösung des Erfassungseingangs gespeichert wurde. Sie können die Erfassung auslösen, wenn sich der Eingangsanschluss in einem der folgenden Zustände befindet: ● Wechselt von Low nach High ●...
  • Seite 615: Alarmereignisse

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.6 Alarmereignisse Im Bereich für die Ereigniskonfiguration können Sie einen Prozessalarm-OB aus dem Dropdown-Menü auswählen (oder einen neuen OB erstellen) und ihn einem HSC-Ereignis zuordnen. Die Priorität des Alarms liegt im Bereich von 2 bis 26, wobei 2 die niedrigste Priorität und 26 die höchste Priorität ist.
  • Seite 616 Technologieanweisungen 10.1 Zählen (schnelle Zähler) WARNUNG Gefahren beim Ändern der Filterzeiteinstellung für digitale Eingangskanäle Wenn die bisherige Einstellung der Filterzeit eines Digitaleingangskanals verändert wird, muss möglicherweise bis zu 20,0 ms lang ein neuer Eingangswert mit Pegel 0 vorhanden sein, damit der Filter vollständig auf neue Eingänge reagiert. Während dieses Zeitraums werden kurze Impulse mit Pegel "0", die kürzer als 20,0 ms sind, möglicherweise nicht erkannt oder gezählt.
  • Seite 617 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Tabelle 10- 10 SB-Eingang: Höchstfrequenz (optionales Board) Signalboard (SB) SB-Eingangskanal Betriebsphase: Einphasen- Betriebsphase: A/B-Zähler zähler oder Zweiphasen- oder A/B-Zähler vierfach zähler SB 1221, 200 kHz Ee.0 bis Ee.3 200 kHz 160 kHz SB 1223, 200 kHz Ee.0, Ee.1 200 kHz 160 kHz...
  • Seite 618: Anschlussbelegung Des Hardwareausgangs

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.3.8 Anschlussbelegung des Hardwareausgangs Wenn Sie den Vergleichsausgang aktivieren, wählen Sie einen freien Ausgang aus. Sobald Sie einen Ausgang zur Verwendung durch einen HSC (oder andere Technologieobjekte wie einen Impulsgenerator) konfiguriert haben, gehört dieser Ausgang exklusiv diesem Objekt. Keine andere Komponente kann den Ausgang verwenden, und der Ausgang kann nicht auf einen Wert geforct werden.
  • Seite 619: Frühere Anweisung Ctrl_Hsc (Schnellen Zähler Steuern)

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.4 Frühere Anweisung CTRL_HSC (Schnellen Zähler steuern) 10.1.4.1 Übersicht über die Anweisung Tabelle 10- 12 Anweisung CTRL_HSC (für allgemeine Zählaufgaben) KOP/FUP Beschreibung "CTRL_HSC_1_DB" ( Jede Anweisung CTRL_HSC (Schnellen hsc:=W#16#0, Zähler steuern) nutzt eine in einem DB dir:=False, abgelegte Struktur, um Zählerdaten zu speichern.
  • Seite 620 Technologieanweisungen 10.1 Zählen (schnelle Zähler) Tabelle 10- 13 Datentypen für die Parameter Parameter Deklaration Datentyp Beschreibung HW_HSC HSC-Kennung Bool 1 = Neue Richtung anfordern 1, 2 Bool 1 = Anforderung zum Setzen eines neuen Zählwerts Bool 1 = Anforderung zum Setzen eines neuen Referenzwerts PERIOD Bool 1 = Anforderung zum Setzen eines neuen Zeitintervalls...
  • Seite 621: Verwenden Von Ctrl_Hsc

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) Bei einem Fehler wird ENO auf 0 gesetzt und der Ausgang STATUS gibt einen Bedingungscode an: Tabelle 10- 14 Execution condition codes STATUS (W#16#) Beschreibung Kein Fehler 80A1 HSC-Kennung adressiert keinen HSC 80B1 Ungültiger Wert in NEW_DIR 80B2 Ungültiger Wert in NEW_CV 80B3...
  • Seite 622: Aktueller Zählwert Des Hsc

    Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.4.3 Aktueller Zählwert des HSC Die CPU speichert den aktuellen Wert jedes HSC in der Adresse eines Eingangs (E). Die folgende Tabelle zeigt die Standardadressen für den aktuellen Wert jedes HSC. Sie können die E-Adresse für den aktuellen Wert ändern, indem Sie die Eigenschaften der CPU in der Gerätekonfiguration ändern.
  • Seite 623: Pid-Regelung

    Technologieanweisungen 10.2 PID-Regelung 10.2 PID-Regelung STEP 7 bietet die folgenden PID-Anweisungen 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 624 Technologieanweisungen 10.2 PID-Regelung PID-Algorithmus Der PID-Regler (Proportional/Integral/Differential) misst das Zeitintervall zwischen zwei Aufrufen und wertet dann die Ergebnisse aus, um die Abtastzeit zu überwachen. Bei jedem Wechsel des Betriebszustands sowie beim ersten Anlauf wird ein Mittelwert der Abtastzeit errechnet. Dieser Wert dient als Referenzwert für die Überwachungsfunktion und zur Berechnung.
  • Seite 625: Anweisung Pid Und Technologieobjekt Einfügen

    Technologieanweisungen 10.2 PID-Regelung 10.2.1 Anweisung PID und Technologieobjekt einfügen STEP 7 bietet zwei Anweisungen für den PID-Regler: ● Die Anweisung PID_Compact und das zugehörige Technologieobjekt bieten einen universellen PID-Regler mit Einstellung. Das Technologieobjekt enthält alle Einstellungen für den Regelkreis. ● Die Anweisung PID_3Step und das zugehörige Technologieobjekt bieten einen PID- Regler mit bestimmten Einstellungen für motorbetätigte Ventile.
  • Seite 626 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 17 (Optional) Technologieobjekt in der Projektnavigation anlegen Sie können Technologieobjekte für Ihr Projekt auch vor dem Einfügen der PID-Anweisung anlegen. Wenn Sie das Technologieobjekt vor dem Einfügen der PID-Anweisung in Ihr Anwenderprogramm anlegen, können Sie das Technologieobjekt später beim Einfügen der PID-Anweisung auswählen.
  • Seite 627: Pid_Compact

    Technologieanweisungen 10.2 PID-Regelung 10.2.2 PID_Compact 10.2.2.1 Anweisung PID_Compact Die Anweisung PID_Compact bietet einen universellen PID-Regler mit integrierter Selbsteinstellung für den Automatik- und Handbetrieb. Tabelle 10- 18 Anweisung PID_Compact KOP/FUP Beschreibung "PID_Compact_1"( PID_Compact stellt einen PID-Regler mit Setpoint:=_real_in_, Selbsteinstellung für den Automatik- und Input:=_real_in_, Handbetrieb bereit.
  • Seite 628 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 19 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input Real Eine Variable des Anwenderprogramms wird als Quelle des Prozess- werts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Con- fig.InputPerOn = FALSE einstellen.
  • Seite 629 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Output_PWM Bool Ausgangswert für die Impulsdauermodulation. (Standardwert: FALSE) Der Ausgangswert wird aus Ein- und Aus-Zeiten gebildet. SetpointLimit_H Bool Sollwert oberer Grenzwert. (Standardwert: FALSE) Wenn SetpointLimit_H = TRUE ist, ist der absolute obere Grenzwert des Sollwerts erreicht (Setpoint ≥...
  • Seite 630 Technologieanweisungen 10.2 PID-Regelung Funktionsweise des Reglers PID_Compact Bild 10-1 Funktionsweise des Reglers PID_Compact Bild 10-2 Funktionsweise des Reglers PID_Compact als PIDT1-Regler mit Anti-Windup S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 631: Grenzwerte Für Den Prozesswert Bei Der Anweisung Pid_Compact

    Technologieanweisungen 10.2 PID-Regelung 10.2.2.2 Grenzwerte für den Prozesswert bei der Anweisung PID_Compact "Grenzwerte für den Prozesswert" werden normalerweise in Verbindung mit dem Analogeingang verwendet, können jedoch auch für andere Zwecke genutzt werden. Die Konfiguration der Grenzwerte für den Prozesswert dient zwei Funktionen: ●...
  • Seite 632: Errorbit-Parameter Der Anweisung Pid_Compact

    Technologieanweisungen 10.2 PID-Regelung Wenn Sie einen außerhalb des zulässigen Bereichs liegenden Sollwert eingeben, begrenzt der Compact_PID die Prozessvariable automatisch auf den konfigurierten Bereich. Wenn der obere Grenzwert des Prozesswerts beispielsweise auf 120% eingestellt ist (wie im Bild oben dargestellt), können Sie trotzdem einen Sollwert über 120% eingeben. Wenn sich die Prozessvariable einem Wert von 120% annähert, reduziert der PID den Ausgang und regelt den Prozess am oberen Grenzwert von 120%.
  • Seite 633 Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 1000 Ungültiger Wert am Parameter Setpoint: Wert hat ungültiges Zahlenformat. 2, 3 10000 Ungültiger Wert am Parameter ManualValue: Wert hat ungültiges Zahlen- format. Hinweis: Wenn vor dem Auftreten des Fehlers ActivateRecoverMode = TRUE war, verwendet PID_Compact SubstituteOutput als Ausgangswert. Sobald Sie im Parameter ManualValue einen gültigen Wert zuweisen, ver- wendet PID_Compact diesen als Ausgangswert.
  • Seite 634: Warnparameter Der Anweisung Pid_Compact

    Technologieanweisungen 10.2 PID-Regelung 10.2.2.4 Warnparameter der Anweisung PID_Compact Liegen am PID-Regler mehrere Warnungen an, werden die Werte der Fehlercodes mittels binärer Addition angezeigt. Die Anzeige von Fehlercode 0003 beispielsweise weist darauf hin, dass die Fehler 0001 und 0002 anstehen. Tabelle 10- 21 Parameter Warning der Anweisung PID_Compact Warning (DW#16#...) Beschreibung...
  • Seite 635: Pid_3Step

    Technologieanweisungen 10.2 PID-Regelung 10.2.3 PID_3Step 10.2.3.1 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- 22 Anweisung PID_3Step KOP/FUP Beschreibung "PID_3Step_1"( PID_3Step konfiguriert einen PID-Regler SetpoInt:=_real_in_, mit Selbsteinstellungsfunktionen, der für Input:=_real_in_, motorbetätigte Ventile und Stellglieder ManualValue:=_real_in_,...
  • Seite 636 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 23 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input Real Eine Variable des Anwenderprogramms wird als Quelle des Prozess- werts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Con- fig.InputPerOn = FALSE einstellen.
  • Seite 637 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung ManualUP Bool Manual_UP = TRUE: • – Das Ventil wird geöffnet, auch wenn Sie Output_PER oder eine Positionsrückmeldung verwenden. Das Ventil wird nicht weiter bewegt, wenn der obere Endpunkt erreicht ist. – Siehe auch Config.VirtualActuatorLimit Manual_UP = FALSE: •...
  • Seite 638 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Output_UP Bool Digitaler Ausgangswert zum Öffnen des Ventils. (Standardwert: FALSE) Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_UP verwendet. Output_DN Bool Digitaler Ausgangswert zum Schließen des Ventils. (Standardwert: FALSE) Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_DN verwendet.
  • Seite 639 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Error Bool Wenn Error = TRUE, steht mindestens eine Fehlermeldung an. (Stan- dardwert: FALSE) Hinweis: Der Parameter Error in V1.x PID war das Feld der ErrorBits mit den Fehlercodes. Jetzt zeigt ein Boolescher Merker an, dass ein Fehler aufgetreten ist.
  • Seite 640 Technologieanweisungen 10.2 PID-Regelung Bild 10-4 Funktionsweise des Reglers PID_3Step ohne Positionsrückmeldung S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 641 Technologieanweisungen 10.2 PID-Regelung Bild 10-5 Funktionsweise des Reglers PID_3Step mit aktivierter Positionsrückmeldung S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 642: Errorbit-Parameter Der Anweisung Pid_3Step

    Technologieanweisungen 10.2 PID-Regelung 10.2.3.2 ErrorBit-Parameter der Anweisung PID_3Step Stehen mehrere Fehler an, werden die Werte der Fehlercodes mittels binärer Addition angezeigt. Die Anzeige von Fehlercode 0003 beispielsweise weist darauf hin, dass auch die Fehler 0001 und 0002 anstehen. Tabelle 10- 24 ErrorBit-Parameter der Anweisung PID_3STEP ErrorBit (DW#16#...) Beschreibung...
  • Seite 643 Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 10000 Ungültiger Wert am Parameter ManualValue: Wert hat ungültiges Zahlen- format. Das Stellglied kann nicht auf den manuellen Wert wechseln und bleibt in seiner aktuellen Position. Weisen Sie in ManualValue einen gültigen Wert zu oder bewegen Sie das Stellglied im Handbetrieb mit Manual_UP und Manual_DN.
  • Seite 644: Warnparameter Der Anweisung Pid_3Step

    Technologieanweisungen 10.2 PID-Regelung 10.2.3.3 Warnparameter der Anweisung PID_3Step Liegen am PID-Regler mehrere Warnungen an, werden die Werte der Fehlercodes mittels binärer Addition angezeigt. Die Anzeige von Fehlercode 0003 beispielsweise weist darauf hin, dass die Fehler 0001 und 0002 anstehen. Tabelle 10- 25 Parameter Warning der Anweisung PID_Compact Warning (DW#16#...) Beschreibung...
  • Seite 645: Pid_Temp

    Technologieanweisungen 10.2 PID-Regelung 10.2.4 PID_Temp 10.2.4.1 Anweisung PID_Temp Die Anweisung PID_Temp bietet einen universellen PID-Regler für die speziellen Anforderungen der Temperaturregelung. Tabelle 10- 26 Anweisung PID_Temp KOP/FUP Beschreibung "PID_Temp_1"( PID_Temp bietet die folgenden Möglichkei- Setpoint:=_real_in_, ten: Input:=_real_in_, Heizen und Kühlen im Prozess mit ver- •...
  • Seite 646 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 27 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input Real Eine Variable des Anwenderprogramms wird als Quelle des Prozess- werts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Con- fig.InputPerOn = FALSE einstellen.
  • Seite 647 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Mode IN/OUT Wird bei einer steigenden Flanke an Eingang Mode Activate aktiviert. Auswahl der Betriebsart (Standardwert: 0,0): Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Feineinstellung • Mode = 3: Automatikbetrieb •...
  • Seite 648 Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung OutputCool_PWM Bool Pulsbreitenmodulierter Ausgangswert für Kühlen. (Standardwert: FALSE) Dieser Ausgangswert wird nur berechnet, wenn er mit Parameter Con- fig.Output.Cool.Select = 1 (Standardwert) ausgewählt wurde. Ist er nicht ausgewählt, ist der Ausgang immer FALSE. SetpointLimit_H Bool Sollwert oberer Grenzwert.
  • Seite 649: Regelung Von Heizung Und/Oder Kühlung Auswählen

    Technologieanweisungen 10.2 PID-Regelung Funktionsweise des PID_Temp-Reglers Regelung von Heizung und/oder Kühlung auswählen Zunächst müssen Sie auswählen, ob Sie zusätzlich zum Heizausgang am Parameter "ActivateCooling" ein Kühlgerät benötigen. Anschließend müssen Sie festlegen, ob Sie zwei PID-Parametersätze (erweiterter Modus) oder nur einen PID-Parametersatz mit einem zusätzlichen Heiz-/Kühlfaktor am Parameter "AdvancedCooling"...
  • Seite 650 Technologieanweisungen 10.2 PID-Regelung DeadZone Mit dem Parameter "DeadZone" können Sie eine Breite der Regelabweichung beim Heizen und Kühlen festlegen, die vom PID-Algorithmus vernachlässigt wird. Das bedeutet, dass eine Regelabweichung innerhalb dieses Bereichs unterdrückt wird, und der PID_Temp- Regler verhält sich so, als ob der Sollwert und Prozesswert identisch sind. So können Sie unnötige Eingriffe durch den Regler um den Sollwert reduzieren und das Stellglied beibehalten.
  • Seite 651 Technologieanweisungen 10.2 PID-Regelung Funktionsweise von PID_Temp-Reglern Die folgenden Blockschaltbilder veranschaulichen den Standard- und Kaskadenbetrieb der Anweisung PID_Temp: Bild 10-6 PID_Temp_Operation_Block_Diagram S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 652: Kaskadieren Von Reglern

    Technologieanweisungen 10.2 PID-Regelung Bild 10-7 PID_Temp_Cascade_Operation_Block_Diagram Kaskadieren von Reglern Sie können Temperatur-PID-Regler kaskadieren, um mehrere Temperaturen, die vom gleichen Stellglied geregelt werden, zu verarbeiten. Aufrufreihenfolge Sie müssen kaskadierende PID-Regler im selben OB-Zyklus aufrufen. Zunächst müssen Sie den Master aufrufen, dann die nächsten Slaves im Regelsignalfluss und schließlich den letzten Slave in der Kaskade.
  • Seite 653 Technologieanweisungen 10.2 PID-Regelung Kommunikationsverbindungen Beim Kaskadieren von Reglern müssen Sie den Master und Slave so verbinden, dass sie miteinander Informationen austauschen können. Sie müssen den Master-IN/OUT-Parameter des Slaves mit dem Slave-IN/OUT-Parameter des Masters in der Richtung des Signalflusses verbinden. Im Folgenden sehen Sie eine Verbindung von PID_Temp-Reglern in einer Kaskade mit zwei Unterkaskaden: "PID_Temp1"...
  • Seite 654: Ersatzsollwert

    Technologieanweisungen 10.2 PID-Regelung Ersatzsollwert Die Anweisung PID_Temp liefert einen zweiten Sollwerteingang am Parameter "ReplacementSetpoint", den Sie aktivieren können, indem Sie den Parameter "ReplacementSetpointOn" = WAHR einstellen. Sie können "ReplacementSetpoint" während der Inbetriebnahme oder Einstellung eines Slavereglers als Ihren Sollwerteingang verwenden, ohne die Verbindung von Ausgang und Sollwert zwischen Master und Slave trennen zu müssen.
  • Seite 655: Betriebsarten Und Fehlerbehandlung

    Technologieanweisungen 10.2 PID-Regelung Betriebsarten und Fehlerbehandlung Der PID_Temp-Regler gestattet das Wechseln der Betriebsart durch seinen Master oder die Slaves nicht. Das bedeutet, dass ein Master in der Kaskade in der aktuellen Betriebsart bleibt, wenn ein Slave einen Fehler meldet. Dies ist ein Vorteil, wenn zwei oder mehr parallele Slaves mit diesem Masterregler arbeiten: Ein Fehler in einer Kette führt nicht zum Abschalten der parallelen Kette.
  • Seite 656: Errorbit-Parameter Von Pid_Temp

    Technologieanweisungen 10.2 PID-Regelung 10.2.4.2 ErrorBit-Parameter von PID_Temp Liegen am PID-Regler mehrere Warnungen an, werden die Werte der Fehlercodes mittels binärer Addition angezeigt. Die Anzeige von Fehlercode 0003 beispielsweise weist darauf hin, dass die Fehler 0001 und 0002 anstehen. Tabelle 10- 28 ErrorBit-Parameter der Anweisung PID_Temp ErrorBit (DW#16#...) Beschreibung...
  • Seite 657 Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 20000 Ungültiger Wert der Variablen SubstituteValue: Wert hat ungültiges Zahlen- format. PID_Temp verwendet die untere Grenze des Ausgangswerts als Aus- gangswert. Hinweis: Wenn vor dem Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE ist und der Fehler nicht mehr ansteht, gehtPID_Temp wieder in den Automatikbetrieb.
  • Seite 658: Warnparameter Von Pid_Temp

    Technologieanweisungen 10.2 PID-Regelung 10.2.4.3 Warnparameter von PID_Temp Liegen am PID-Regler mehrere Warnungen an, werden die Werte der Fehlercodes mittels binärer Addition angezeigt. Die Anzeige von Fehlercode 0003 beispielsweise weist darauf hin, dass die Fehler 0001 und 0002 anstehen. Tabelle 10- 29 Parameter Warning der Anweisung PID_Temp Warning (DW#16#...) Beschreibung...
  • Seite 659: Regler Pid_Compact Und Pid_3Step Konfigurieren

    Technologieanweisungen 10.2 PID-Regelung 10.2.5 Regler PID_Compact und PID_3Step konfigurieren Die Parameter des Technologieobjekts legen die Funktionsweise des PID-Reglers fest. Öffnen Sie den Konfigurationseditor über das Symbol. Tabelle 10- 30 Beispielhafte Konfigurationseinstellungen für die Anweisung PID_Compact Einstellungen Beschreibung Grundlagen Reglertyp Wählt die physikalischen Einheiten aus. Reglerlogik invertieren Ermöglicht die Auswahl eines invers funktionierenden PID-Reglers.
  • Seite 660 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 31 Beispielhafte Konfigurationseinstellungen für die Anweisung PID_3Step Einstellungen Beschreibung Grundlagen Reglertyp Wählt die physikalischen Einheiten aus. Reglerlogik invertieren Ermöglicht die Auswahl eines invers funktionierenden PID-Reglers. Ist diese Option nicht ausgewählt, verhält sich der PID-Regler entsprechend •...
  • Seite 661 Technologieanweisungen 10.2 PID-Regelung Einstellungen Beschreibung Stellglied Motorübergangs- Legt die Zeit vom offenen zum geschlossenen Ventil fest. (Ermitteln Sie diesen Wert zeit vom Datenblatt oder anhand des Ventil-Typenschilds.) Kleinste EIN-Zeit Legt die minimale Betätigungszeit für das Ventil fest. (Ermitteln Sie diesen Wert vom Datenblatt oder anhand des Ventil-Typenschilds.) Kleinste AUS-Zeit Legt die minimale Pausenzeit für das Ventil fest.
  • Seite 662: Pid_Temp-Regler Konfigurieren

    Technologieanweisungen 10.2 PID-Regelung 10.2.6 PID_Temp-Regler konfigurieren Die Parameter des Technologieobjekts legen die Funktionsweise des PID-Reglers fest. Öffnen Sie den Konfigurationseditor über das Symbol. S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 663 Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 32 Beispielhafte Konfigurationseinstellungen für die Anweisung PID_Temp Einstellungen Beschreibung Grundla- Reglertyp Wählt die physikalischen Einheiten aus. Betriebsart nach Startet den PID-Regler neu, nachdem er zurückgesetzt wurde oder CPU-Neustart wenn eine Eingangsgrenze überschritten und in den gültigen Be- aktivieren reich zurückgeführt wurde.
  • Seite 664 Technologieanweisungen 10.2 PID-Regelung Reglertyp Einstel- TO-DB-Parameter Wertebereich Beschreibung lung ten- Physika- "PhysicalQuantity" Vorauswahl für Wert der Allgemein • lische (Enu physikalischen Temperatur (= • Größe Einheit Standard) Keine Regelung mit meh- reren Werten und nicht bearbeitbar im Onli- nemodus der funktiona- len Ansicht.
  • Seite 665 Technologieanweisungen 10.2 PID-Regelung Eingangs-/Ausgangsparameter Einstel- TO-DB-Parameter Wertebereich Beschreibung lung tentyp Sollwert Sollwert Real) Real Nur auf der Eigen- schaftsseite zugänglich. Keine Regelung mit mehreren Werten im Onlinemodus der funkti- onalen Ansicht. Auswahl "Config.InputPerOn" Bool Bool Auswahl des zu verwen- Eingang (Enu denden Eingangs.
  • Seite 666 Technologieanweisungen 10.2 PID-Regelung Einstel- TO-DB-Parameter Wertebereich Beschreibung lung tentyp Ausgang "Config.ActivateCooling" Bool Bool Wenn dieses Kontroll- aktivie- kästchen aktiviert wird: Wird der "Con- • (Küh- fig.Output. lung) Heat.PidLowerLimit = 0.0 einmal festge- legt. Wird der Parameter • "Con- fig.ActivateCooling" auf WAHR gesetzt, statt auf FALSCH, wenn nicht aktiviert (= Standard).
  • Seite 667 Technologieanweisungen 10.2 PID-Regelung Einstel- TO-DB-Parameter Wertebereich Beschreibung lung tentyp Auswahl "Config.Output.Cool.Select" 2 >= Config.Output. Auswahl des zum Küh- Ausgang (Enu Heat.Select len zu verwendenden (Küh- >= 0 Ausgangs. lung) Mögliche Auswahl: "OutputCool" (Real) • "OutputCool_PWM" • (Bool) (= Standard) "OutputCool_PER •...
  • Seite 668 Technologieanweisungen 10.2 PID-Regelung Kaskadenparameter Mit den folgenden Parametern können Sie Regler als Master oder Slaves auswählen und die Anzahl der Slaveregler festlegen, die ihren Sollwert direkt vom Masterregler erhalten: Einstel- TO-DB-Parameter Wertebereich Beschreibung lung ten- Dieser "Config.Cascade.IsMaster" Bool Bool Zeigt, ob dieser Regler Regler ein Master in einer Kas- ist ein...
  • Seite 669 Technologieanweisungen 10.2 PID-Regelung Einstel- TO-DB-Parameter Wertebereich Beschreibung lung ten- Anzahl "Config.Cascade.CountSlaves" 255 >= Con- Anzahl der Slaveregler, der Sla- fig.Cascade. die ihren Sollwert direkt CountSlaves von diesem Masterregler >= 1 erhalten. Die Anweisung PID_Temp verarbeitet diesen Wert, zusammen mit anderen, für die Anti- Windup-Behandlung.
  • Seite 670 Technologieanweisungen 10.2 PID-Regelung Beispiel: Kaskadieren von Reglern Im nachstehenden Dialog "Grundeinstellungen" sehen Sie den Abschnitt "Eingangs- /Ausgangsparameter" und den Abschnitt "Kaskade" für den Slaveregler "PID_Temp_2" nach Auswahl von "PID_Temp_1" als Master. Sie stellen die Verbindungen zwischen Master- und Slavereglern her: Netzwerk 1: In diesen Netzwerken stellen Sie die Verbindung zwischen dem Master "PID_Temp_1"...
  • Seite 671: Selbsteinstellung Des Temperaturprozesses

    Technologieanweisungen 10.2 PID-Regelung Netzwerk 2: Sie stellen die Verbindung zwischen den Parametern "OutputHeat" und "Slave" des Masters "PID_Temp_1" mit den Parametern "Setpoint" und "Master" des Slaves "PID_Temp_2" her: Selbsteinstellung des Temperaturprozesses Die Anweisung PID_Temp bietet zwei Betriebsarten für die Selbsteinstellung: ●...
  • Seite 672 Technologieanweisungen 10.2 PID-Regelung Je nach Reglerkonfiguration stehen verschiedene Varianten dieser Einstellmethoden zur Verfügung: Konfiguration Regler mit Heizausgang Regler mit Heiz- und Kühl- Regler mit Heiz- und Kühl- ausgang und Verwendung ausgang und Verwendung des Kühlfaktors von zwei PID- Parametersätzen Zugehörige Config.ActivateCooling Config.ActivateCooling Config.ActivateCooling...
  • Seite 673 Technologieanweisungen 10.2 PID-Regelung Ausgangswertgrenzen und -skalierung Kühlaktivierung deaktiviert Wenn Sie die Anweisung PID_Temp als Master für eine Kaskade konfigurieren, ist das Kontrollkästchen "Ausgang aktivieren (Kühlung)" in der Ansicht "Grundeinstellungen" nicht selektiert und deaktiviert, und auch alle Einstellungen in der Ansicht "Ausgangseinstellungen", die von der Aktivierung der Kühlung abhängig sind, sind deaktiviert.
  • Seite 674 Technologieanweisungen 10.2 PID-Regelung S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 675 Technologieanweisungen 10.2 PID-Regelung Kühlaktivierung aktiviert Die nachstehende Abbildung zeigt den Abschnitt "Ausgangswertgrenzen und -skalierung" in der Ansicht "Ausgansgeinstellungen" mit aktivierter Kühlung (OutputCool_PER und OutputHeat_PWM in der Ansicht "Eingangs-/Ausgangsparameter" ausgewählt; OutputCool und OutputHeat immer aktiviert): S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 676: Betriebsarten

    Technologieanweisungen 10.2 PID-Regelung Betriebsarten Um die Betriebsart manuell zu ändern, müssen Sie den Parameter "Mode" des Reglers festlegen und ihn aktivieren, indem Sie "ModeActivate" von FALSCH nach WAHR setzen (ausgelöst durch eine steigende Flanke). Sie müssen "ModeActivate" vor dem nächsten Betriebsartenwechsel zurücksetzen;...
  • Seite 677 Technologieanweisungen 10.2 PID-Regelung "Mode" / "Sta- Name Beschreibung te" Handbetrieb In dieser Betriebsart skaliert, begrenzt und überträgt der PID-Regler den Wert des Para- meters "ManualValue" an die Ausgänge. Der PID-Regler weist den "ManualValue" in der Skalierung des PID-Algorithmus zu (wie "PidOutputSum"), deshalb entscheidet dessen Wert, ob er an den Heiz- oder Kühlaus- gängen wirksam ist.
  • Seite 678: Regler Pid_Compact Und Pid_3Step In Betrieb Nehmen

    Technologieanweisungen 10.2 PID-Regelung 10.2.7 Regler PID_Compact und PID_3Step in Betrieb nehmen Sie konfigurieren den PID-Regler im Inbetriebnahme-Editor für die Selbsteinstellung beim Anlauf und für die Selbsteinstellung während des Betriebs. Zum Aufrufen des Inbetriebnahme-Editors klicken Sie im Anweisungsverzeichnis oder in der Projektna- vigation auf das entsprechende Symbol.
  • Seite 679 Technologieanweisungen 10.2 PID-Regelung Nun können Sie die Werte beliebiger Konfigurationsparameter Ihres PID-Reglers ändern, wie in nachstehender Abbildung dargestellt. Sie können für jeden Parameter den Istwert mit dem Startwert des Projekts (offline) und dem Startwert des PLCs (online) vergleichen. Dies ist erforderlich, um die Online-/Offline- Unterschiede des Technologieobjekt-Datenbausteins (TO-DB) zu vergleichen und die Werte zu kennen, die beim nächsten Wechsel von STOP nach START des PLCs als aktuelle Werte verwendet werden.
  • Seite 680: Pid_Temp-Regler In Betrieb Nehmen

    Technologieanweisungen 10.2 PID-Regelung 10.2.8 PID_Temp-Regler in Betrieb nehmen Sie konfigurieren den PID-Regler im Inbetriebnahme-Editor für die Selbsteinstellung beim Anlauf und für die Selbsteinstellung während des Betriebs. Um den Inbetrieb- nahme-Editor aufzurufen, klicken Sie im Anweisungsverzeichnis oder in der Projekt- navigation auf das entsprechende Symbol. Tabelle 10- 34 Beispiel für einen Inbetriebnahmebildschirm (PID_Temp) Messung: Um den Sollwert, den Prozesswert (Eingangs-...
  • Seite 681 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Daten Wertebereich Beschreibung ten- Minimale "Config.Output.Heat. Real 100000,0 Ein Impuls an Out- Ein- MinimumOnTime" >= "Config.Output. putHeat_PWM ist Heat. niemals kürzer als schaltzeit MinimumOnTime dieser Wert. (Heizen) >= 0,0 Minimale "Config.Output.Heat. Real 100000,0 Eine Unterbrechung Aus- MinimumOffTime"...
  • Seite 682: Pid-Parameter

    Technologieanweisungen 10.2 PID-Regelung PID-Parameter Nachstehend wird der Abschnitt "PID-Parameter" der Ansicht "Erweiterte Einstellungen" mit der Kühlung und/oder der Funktion "PID-Parameterumschaltung" deaktiviert gezeigt. Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Manuelle "Retain.CtrlParams. Bool Bool Sie müssen dieses SetByUser" Kontrollkästchen akti- Eingabe vieren, um PID- aktivieren Parameter manuell eingeben zu können.
  • Seite 683 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Gewichtung "Retain.CtrlParams. Real 1,0 >=DWeighting Gewichtung des PID- des D- Heat.DWeighting" >= 0,0 Differenzialanteils für Anteils die Heizung entweder (Heizen) im direkten oder im zurückgeführten Re- gelpfad. Abtastzeit "Retain.CtrlParams. Real 100000,0 Interner Aufrufzyklus des PID- Heat.Cycle"...
  • Seite 684 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Reglerstruk- "PIDSelfTune.SUT. "PIDSe- Sie können den Einstel- tur (Heizen) TuneRuleHeat", lfTune.SUT. lalgorithmus für die TuneRuleHeat" Heizung auswählen. "PIDSelfTune.TIR. = 0..2, TuneRuleHeat" Mögliche Auswahl: "PIDSe- PID (Temperatur) (= • lfTune.TIR. Standard) TuneRuleHeat" = 0..5 ("PIDSelfTune.SUT.
  • Seite 685 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Koeffizient Retain.CtrlParams. Real TdFiltRatio >= 0,0 Der Koeffizient des Differen- Cool.TdFiltRatio" PID- zierverzug Differenzierverzugs für (Kühlen) die Kühlung, der den Differenzierverzug als Koeffizienten aus der PID-Differenzierzeit festlegt. Gewichtung "Retain.CtrlParams. Real 1,0 >=PWeighting Gewichtung der PID- des P- Cool.PWeighting"...
  • Seite 686 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Regelzone "Retain.CtrlParams. Real ControlZone > 0,0 Breite der Regelabwei- (Kühlen) Cool.ControlZone" chungszone für die Kühlung, wo der PID- Regler aktiv ist. Wenn die Regelabweichung diesen Bereich ver- lässt, wird der Ausgang auf maximale Aus- gangswerte umge- schaltet.
  • Seite 687 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Reglerstruk- "PIDSelfTune.SUT. "PIDSe- Sie können den Einstel- tur (Kühlen) TuneRuleCool", lfTune.SUT. lalgorithmus für die TuneRuleHeat" Kühlung auswählen. "PIDSelfTune.TIR. = 0..2, TuneRuleCool" Mögliche Auswahl: "PIDSe- PID (Temperatur) (= • lfTune.TIR. Standard) TuneRuleHeat" = 0..5 ("PIDSelfTune.SUT.
  • Seite 688 Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Wertebereich Beschreibung tentyp Das Feld zeigt den Wert in der Zeiteinheit "s" (Sekunden) an. Nur verfügbar, wenn Sie in den PID-Parametern "Manuelle Eingabe aktivieren" aktivieren ("Retain.CtrlParams.SetByUser" = WAHR). Die Maßeinheit wird am Ende des Felds wie in der Ansicht "Grundeinstellungen" ausgewählt angezeigt.
  • Seite 689 Technologieanweisungen 10.2 PID-Regelung Sie können für jeden Parameter den Istwert mit dem Startwert des Projekts (offline) und dem Startwert des PLCs (online) vergleichen. Dies ist erforderlich, um die Online-/Offline- Unterschiede des Technologieobjekt-Datenbausteins (TO-DB) zu vergleichen und die Werte zu kennen, die beim nächsten Wechsel von STOP nach START des PLCs als aktuelle Werte verwendet werden.
  • Seite 690: Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3 Bewegungssteuerung Die CPU bietet Bewegungssteuerungsfunktionen für den Betrieb von Schrittmotoren und Servomotoren mit Impulsschnittstelle. Die Bewegungssteuerungsfunktion übernimmt die Steuerung und Überwachung der Antriebe. ● Das Technologieobjekt "Achse" konfiguriert die Daten des mechanischen Antriebs, die Antriebsschnittstelle, die dynamischen Parameter und andere Eigenschaften des Antriebs.
  • Seite 691 Technologieanweisungen 10.3 Bewegungssteuerung Die vier Impulsgeneratoren verfügen über Standard-E/A-Zuweisungen. Sie können die Impulsgeneratoren jedoch auch für jeden digitalen Ausgang an der CPU oder am SB konfigurieren. Impulsgeneratoren an der CPU können nicht SMs oder dezentralen E/A zugewiesen werden. Hinweis Impulsfolgen können von anderen Anweisungen im Anwenderprogramm nicht verwendet werden Wenn Sie die Ausgänge der CPU oder des Signalboards als Impulsgeneratoren (für PWM oder Bewegungssteuerungsanweisungen) konfigurieren, steuern die entsprechenden...
  • Seite 692 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 36 CPU-Ausgang: Höchstfrequenz CPU-Ausgangskanal: Impuls- und Rich- A/B, vorwärts/rückwärts tungsausgang und Impuls/Richtung 1211C Aa.0 bis Aa.3 100 kHz 100 kHz 1212C Aa.0 bis Aa.3 100 kHz 100 kHz Aa.4, Aa.5 20 kHz 20 kHz 1214C und 1215C Aa.0 bis Aa.3 100 kHz 100 kHz...
  • Seite 693 Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Konfiguration der Impulsausgangsgeschwindigkeit der CPU 1217C Hinweis Mit den integrierten Differentialausgängen kann die CPU 1217C vier Impulsausgänge bis 1 MHz generieren. Die folgenden Beispiele zeigen vier mögliche Kombinationen von Ausgangsgeschwindigkeiten: ● Beispiel 1: 4 x 1-MHz-PTOs, kein Richtungsausgang ●...
  • Seite 694 Technologieanweisungen 10.3 Bewegungssteuerung P = Impuls Integrierte CPU-Ausgänge Ausgänge schnelles SB Ausgänge Standard- D = Richtung Beispiel PTO1 PTO2 2 - 100 PTO3 kHz; PTO4 2 - 200 kHz (alle mit Rich- tungs- ausgang Beispiel: Konfiguration der Impulsausgangsgeschwindigkeit der CPU 1211C, CPU 1212C, CPU 1214C und CPU 1215C Die folgenden Beispiele zeigen vier mögliche Kombinationen von Ausgangsgeschwindigkeiten:...
  • Seite 695 Technologieanweisungen 10.3 Bewegungssteuerung P = Impuls Integrierte CPU-Ausgänge Ausgänge schnelles Ausgänge Standard- D = Richtung 2 x 20 PTO4 kHz (alle mit Rich- tungsaus- gang) Beispiel 3: PTO1 4 - 200 PTO2 kHz (kein PTO3 Richtungs- ausgang) PTO4 Beisp. 4: PTO1 2 - 100 PTO2...
  • Seite 696: Phasenlage

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.1 Phasenlage Die Phasenlage-Schnittstelle zum Schrittmotor/Servoantrieb bietet die folgenden vier Optionen: ● PTO (Impuls A und Richtung B): Wenn Sie eine PTO-Option (Impuls A und Richtung B) auswählen, steuert ein Ausgang (P0) die Impulse und ein Ausgang (P1) steuert die Richtung.
  • Seite 697 Technologieanweisungen 10.3 Bewegungssteuerung ● PTO (A/B phasenverschoben): Wenn Sie eine PTO-Option (A/B phasenverschoben) auswählen, geben beide Ausgänge Impulse mit der angegebenen Geschwindigkeit, doch um 90 Grad phasenverschoben aus. Hierbei handelt es sich um eine 1X-Konfiguration, bei der ein Impuls die Zeitdauer zwischen positiven Übergängen von P0 aufweist. In diesem Fall wird die Richtung anhand des Ausgangs ermittelt, der zuerst von 0 nach 1 wechselt.
  • Seite 698 Technologieanweisungen 10.3 Bewegungssteuerung ● PTO (A/B phasenverschoben - vierfach): Wenn Sie eine PTO-Option (A/B phasenverschoben - vierfach) auswählen, geben beide Ausgänge Impulse mit der angegebenen Geschwindigkeit, aber um 90 Grad phasenverschoben aus. Bei der vierfachen Option handelt es sich um eine 4X-Konfiguration, bei der ein Impuls dem Übergang aller Ausgänge entspricht (positiv und negativ).
  • Seite 699: Konfigurieren Eines Impulsgenerators

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.2 Konfigurieren eines Impulsgenerators 1. Hinzufügen eines Technologieobjekts: – Erweitern Sie in der Projektnavigation den Knoten "Technologieobjekte" und wählen Sie "Neues Objekt hinzufügen" aus. – Wählen Sie das Symbol "Achse" (benennen Sie es ggf. um) und klicken Sie auf "OK", um den Konfigurationseditor für das Achsenobjekt zu öffnen.
  • Seite 700 Technologieanweisungen 10.3 Bewegungssteuerung Hinweis Konfigurieren eines Impulsgenerators für Signalboard-Ausgänge: Wählen Sie die Eigenschaften "Impulsgeneratoren (PTO/PWM)" für eine CPU (in der Gerätekonfiguration) und aktivieren Sie einen Impulsgenerator. Bei jeder S7-1200 CPU V1.0, V2.0, V2.1 und V2.2 stehen zwei Impulsgeneratoren zur Verfügung. Bei den S7-1200 CPUs V3.0 und V4.0 sind vier Impulsgeneratoren verfügbar.
  • Seite 701: Ungeregelte Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.3 Ungeregelte Bewegungssteuerung 10.3.3.1 Achse konfigurieren Sie verbinden die ungeregelte Achse mit dem PLC und dem Antrieb über eine Impulsfolge (PTO). Für Bewegungssteuerungsanwendungen mit PTO benötigt die CPU entweder integrierte digitale E/A oder digitale E/A eines Signalboards (SB). Dadurch wird die Anzahl der Achsen, die bei kleineren PLCs verfügbar sind, eingeschränkt.
  • Seite 702 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 39 STEP 7-Werkzeuge für die Bewegungssteuerung Werkzeug Beschreibung Konfiguration Konfiguriert die folgenden Eigenschaften des Technologieobjekts "Achse": Auswahl des gewünschten PTO und Konfiguration der Antriebsschnittstelle • Eigenschaften der Mechanik und des Übertragungsverhältnisses des Antriebs (bzw. der •...
  • Seite 703 Technologieanweisungen 10.3 Bewegungssteuerung Im Auswahlverzeichnis für die PTO-Achse sind die Konfigurationsmenüs für Geber, Modulo, Positi- onsüberwachung und Regelung nicht enthalten. Nachdem Sie das Technologieobjekt für die Achse angelegt haben, konfigurieren Sie die Achse, in- dem Sie die grundlegenden Parameter definieren, z.
  • Seite 704 Technologieanweisungen 10.3 Bewegungssteuerung Konfigurieren Sie die Eigenschaften für die An- triebssignale, Antriebsmechanik und Positions- überwachung (Hardware- und Software- Endschalter). Sie konfigurieren die Bewegungssteuerungsdyna- mik und das Verhalten des Not-Aus-Befehls. Ferner konfigurieren Sie das Verhalten der Referenzpunktfahrt (passiv und aktiv). Im Steuerpanel "Inbetriebnahme" können Sie die Funktionalität unabhängig von Ihrem An- wenderprogramm testen.
  • Seite 705: Inbetriebnahme

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.3.2 Inbetriebnahme Diagnosefunktion "Status- und Fehlerbits" Mit der Diagnosefunktion "Status- und Fehlerbits" können Sie die wichtigsten Status- und Fehlermeldungen der Achse überwachen. Die Diagnosefunktionsanzeige ist im Online- Modus bei aktiver Achse in der Betriebsart "Manuelle Steuerung" und "Automatiksteuerung" verfügbar.
  • Seite 706 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 42 Status der Achsbewegung Status Beschreibung Stillstand Die Achse ist im Stillstand. (Variable des Technologieobjekts: <Achsenname>.StatusBits.StandStill) Beschleunigung Die Achse beschleunigt. (Variable des Technologieobjekts: <Achsenname>.StatusBits.Acceleration) Konstante Geschwindigkeit Die Achse fährt mit konstanter Geschwindigkeit. (Variable des Technologieobjekts: <Achsenname>.StatusBits.ConstantVelocity) Verzögerung Die Achse verzögert (verlangsamt die Fahrt).
  • Seite 707 Technologieanweisungen 10.3 Bewegungssteuerung Fehler Beschreibung Konfigurationsfehler Das Technologieobjekt "Achse" wurde falsch konfiguriert oder änderbare Konfigurations- daten wurden während der Laufzeit des Anwenderprogramms fehlerhaft geändert. (Variable des Technologieobjekts: <Achsenname>.ErrorBits.ConfigFault) Allgemeiner Fehler Ein interner Fehler ist aufgetreten. (Variable des Technologieobjekts: <Achsenname>.ErrorBits.SystemFault) Diagnosefunktion "Bewegungsstatus" Mit der Diagnosefunktion "Bewegungsstatus"...
  • Seite 708: Startwertsteuerung Bei Der Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung Startwertsteuerung bei der Bewegungssteuerung Sie können die Istwerte der Bewegungssteuerungs-Konfigurationsparameter so ändern, dass das Verhalten des Prozesses im Online-Modus optimiert werden kann. Öffnen Sie die Technologieobjekte für die Bewegungssteuerung und deren Konfigurationsobjekt. Um die Startwertsteuerung aufzurufen, klicken Sie auf das Brillensymbol in der linken oberen Ecke des Dialogfelds: S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 709 Technologieanweisungen 10.3 Bewegungssteuerung Nun können Sie die Werte beliebiger Konfigurationsparameter Ihrer Bewegungssteuerung wie in nachstehender Abbildung gezeigt ändern. Sie können für jeden Parameter den Istwert mit dem Startwert des Projekts (offline) und dem Startwert des PLCs (online) vergleichen. Dies ist erforderlich, um die Online-/Offline- Unterschiede des Technologieobjekt-Datenbausteins (TO-DB) zu vergleichen und die Werte zu kennen, die beim nächsten Wechsel von STOP nach START des PLCs als aktuelle Werte verwendet werden.
  • Seite 710 Technologieanweisungen 10.3 Bewegungssteuerung Die Abbildung oben zeigt den Bildschirm der Bewegungssteuerungsparameter mit Vergleichssymbolen. Die Symbole weisen darauf hin, welche Werte sich zwischen Online- und Offline-Projekt unterscheiden. Ein grünes Symbol kennzeichnet die Werte, die gleich sind. Ein blau-orangefarbenes Symbol zeigt an, dass die Werte voneinander abweichen. Außerdem können Sie auf die Parameterschaltfläche mit dem Abwärtspfeil klicken, um ein kleines Fenster anzuzeigen, in dem für jeden Parameter der Startwert des Projekts (offline) und der Startwert des PLCs (online) angezeigt werden.
  • Seite 711: Geregelte Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4 Geregelte Bewegungssteuerung 10.3.4.1 Achse konfigurieren Sie verbinden die geregelte Achse mit dem PLC und dem Antrieb über eine von zwei Verbindungen: ● Analogantrieb: Bei dieser Verbindung können die integrierten analogen E/A oder die analogen E/A eines SB oder eines Signalmoduls (SM) verwendet werden. Es werden keine PTOs verwendet.
  • Seite 712 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 47 STEP 7-Werkzeuge für die geregelte Bewegungssteuerung Werkzeug Beschreibung Konfiguration Konfiguriert die folgenden Eigenschaften des Technologieobjekts "Achse": Auswahl der gewünschten analogen Antriebsanbindung oder Auswahl von PROFIdrive und • Konfiguration von Antriebs- und Geberschnittstelle Eigenschaften der Mechanik und des Übertragungsverhältnisses von Antrieb und Geber •...
  • Seite 713 Technologieanweisungen 10.3 Bewegungssteuerung Nachdem Sie das Technologieobjekt für die Achse angelegt haben, konfigurieren Sie die Achse, indem Sie die grundlegenden Parameter definieren, entweder die Analogantriebs- oder die PROFIdrive-Verbindung und die Konfiguration von Antrieb und Geber. Im Auswahlverzeichnis für die Analogantriebs- oder PROFIdrive-Verbindung sind die Konfigurati- onsmenüs für Geber, Modulo, Positionsüberwa- chung und Regelung enthalten.
  • Seite 714 Technologieanweisungen 10.3 Bewegungssteuerung Konfiguration der analogen Antriebsanbindung Im Konfigurationsdialog "Allgemein" wählen Sie die folgenden Parameter aus: • Optionsfeld "Analoge Antriebsanbindung" • Maßeinheit Im Konfigurationsdialog "Antrieb" wählen Sie die folgenden Parameter aus: • Hardwareausgänge des Analogantriebs • Datenaustausch Antriebsgeschwindigkeiten Hinweis: Die maximale Geschwindigkeit muss größer oder gleich der Referenzgeschwindigkeit (Nenngeschwindigkeit) sein.
  • Seite 715 Technologieanweisungen 10.3 Bewegungssteuerung PROFIdrive-Konfiguration Im Konfigurationsdialog "Allgemein" wählen Sie die folgenden Parameter aus: • Optionsfeld "PROFIdrive" • Maßeinheit Im Konfigurationsdialog "Antrieb" wählen Sie die folgenden Parameter aus: • PROFIdrive-Antrieb • Datenaustausch mit dem Antrieb Hinweis: Die maximale Geschwindigkeit muss größer oder gleich der Referenzgeschwindigkeit (Nenngeschwindigkeit) sein.
  • Seite 716 Technologieanweisungen 10.3 Bewegungssteuerung Erweiterte Parameter Sie können außerdem die folgenden Eigenschaften der geregelten Achse festlegen: ● Modulo ● Positionsgrenzen ● Dynamik ● Referenzpunktfahrt ● Positionsüberwachung ● Schleppfehler ● Stillstandsignal ● Regelung Modulo: Sie können eine "Modulo"-Achse konfigu- rieren, um die Last in einem zyklischen Bereich zu bewegen, der über einen Startwert bzw.
  • Seite 717 Technologieanweisungen 10.3 Bewegungssteuerung Referenzpunktfahrt: Ferner können Sie das Verhalten der Referenzpunktfahrt (passiv und aktiv) konfigurieren. "Positionsüberwachung": Sie können die Toleranzzeit sowie eine minimale Verweilzeit im Positionierfenster konfigurieren. Das System verbindet die folgenden drei Parameter direkt mit dem TO-DB der Achse: •...
  • Seite 718 Technologieanweisungen 10.3 Bewegungssteuerung "Stillstandsignal": Sie können die folgenden Parameter festlegen: • Kleinste Verweilzeit im Stillstandsfenster • Stillstandsfenster. "Regelung": Sie können die Geschwindig- keitsverstärkung "Vorverstärkung (Kv- Faktor)" konfigurieren. Im Steuerpanel "Inbetriebnahme" können Sie die Funktionalität unabhängig von Ihrem An- wenderprogramm testen. Klicken Sie auf das Symbol "Anlauf", um die Achse in Betrieb zu nehmen.
  • Seite 719: Servoobs

    CPU automatisch den Organisationsbaustein "MC-Servo (OB 91)" für die Bearbeitung der Technologieobjekte. Die Bewegungssteuerungsfunktionalität der Technologieobjekte erstellt eine eigene Prioritätsklasse, und das SIMATIC S7-1200 Ausführungssystem ruft den OB entsprechend dem Anwendungszyklus auf. Der OB MC-Servo OB ist schreibgeschützt. Sie können den Inhalt nicht ändern.
  • Seite 720: Konfigurieren Der Achse Mit Einem Mc-Servo (Ob 91) Für Den Anwendungszyklus

    Technologieanweisungen 10.3 Bewegungssteuerung Konfigurieren der Achse mit einem MC-Servo (OB 91) für den Anwendungszyklus MC-Servo (OB 91) für den Anwendungszyklus Den Anwendungszyklus, in dem der OB MC-Servo aufgerufen wird, können Sie in den Eigenschaften des Organisationsbausteins festlegen: ● Synchron zum BUS: Sie rufen den OB MC-Servo synchron mit einem Bussystem auf. Sie legen den Sendetakt in den Eigenschaften des ausgewählten Bussystems fest.
  • Seite 721: Drehzahlgeregelter Betrieb

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4.3 Drehzahlgeregelter Betrieb Bei drehzahlgeregeltem Betrieb können Sie mit der Betriebsart "Drehzahlgeregelt" eine Positionierachse bewegen. Mit der Anweisung MC_Power können Sie die Achse aktivieren. Mit den Anweisungen MC_MoveVelocity und MC_MoveJog können Sie die Achse mit Geschwindigkeitsollwerten bewegen. Sie können die Achse trotz eines Sensorfehlers bewegen, selbst wenn keine gültigen Werte verfügbar sind.
  • Seite 722 Technologieanweisungen 10.3 Bewegungssteuerung MC_Power Mit der Anweisung MC_Power können Sie die Achse in der Betriebsart "Drehzahlgeregelt" aktivieren. Diese Möglichkeit haben Sie, wenn keine gültigen Werte verfügbar sind oder die Achse nicht in die Betriebsart "Lagegeregelt" wechseln kann. Sie können nur die Startmodi "0" und "1" verwenden. Andere Werte liefern einen Fehler: StartMode PTO-Achse Servoachse...
  • Seite 723: Sonstige Bewegungssteuerungsbefehle

    Technologieanweisungen 10.3 Bewegungssteuerung Sonstige Bewegungssteuerungsbefehle Die Betriebsart "Drehzahlgeregelt" bleibt aktiv, bis einer der folgenden Befehle aktiv wird: ● MC_MoveAbsolute ● MC_MoveRelative ● MC_MoveVelocity (PositionControlled = WAHR) ● MC_MoveJog (PositionControlled = WAHR) ● MC_Home: – Aktive Referenzpunktfahrt (Betriebsart 3) – Andere Betriebsarten (passiv, direkt, Einstellung des Absolutwertgebers) werden mit ErrorId zurückgewiesen: ErrorId 8207: "Command rejected"...
  • Seite 724: Unterstützung Von Telegramm 4

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4.4 Unterstützung von Telegramm 4 Das PROFdrive-Telegramm 4 enthält Antriebswerte und zwei Werte von verschiedenen Gebern. Der erste Geberwert kommt vom Geber am Motor. Der zweite Geberwert wird von einem zusätzlichen Geber an der Maschine geliefert. Der Geber an der Maschine ist direkt an eine SINAMICS CU angeschlossen, und die CU liefert beide Sensorwerte im Telegramm 4.
  • Seite 725 CU310-2 PN V4.7 hinzuzufügen. Erweitern Sie hierzu die folgenden Behälter: – Sonstige Feldgeräte – PROFINET IO – Antriebe – SIEMENS AG – SINAMICS Fügen Sie den Antrieb ein, wie in den Bildern unten dargestellt: Konfigurieren Sie Ihr PROFINET-Netzwerk. 2. Wählen Sie das Antriebsobjekt DO SERVO aus: –...
  • Seite 726 Technologieanweisungen 10.3 Bewegungssteuerung 3. Telegramm 4 auswählen: – Erweitern Sie im Hardwarekatalog den Behälter für Submodule: – Doppelklicken oder ziehen Sie das "Standardtelegramm 4, PZD-6/15;SERVO" und fügen Sie es in die zweite leere Zeile ein: – Sie müssen eine leere Zeile überspringen, um das Telegramm 4 wie im Bild unten dargestellt einzufügen: S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 727 Technologieanweisungen 10.3 Bewegungssteuerung 4. Geber im Konfigurationsdialog "Antrieb" auswählen: – Navigieren Sie zum Konfigurationsdialog für Achsen und zu den Grundparametern im Konfigurationsdialog "Antrieb". – Navigieren Sie zum Feld "Auswahl PROFIdrive-Antrieb", "Antrieb:" . – Klicken Sie auf die Ellipsenschaltfläche. – Doppelklicken Sie auf "PROFINET IO-System", um diesen Ordner zu öffnen. –...
  • Seite 728 Technologieanweisungen 10.3 Bewegungssteuerung 5. Geber konfigurieren: – Wenn Sie im Konfigurationsdialog "Antrieb" Telegramm 4 ausgewählt haben, stellt der Konfigurationsdialog "Geber" einen neuen Eintrag "Geber des Antriebstelegramms" im Navigationsbaum zur Verfügung. Wenn Sie den Eintrag "Geber des Antriebstelegramms" auswählen, zeigt das rechte Fenster zwei Einträge mit Geberwerten: Geber 1 und Geber 2.
  • Seite 729: Simulationsachse

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4.5 Simulationsachse Den Simulationsbetrieb können Sie nutzen, wenn Sie mit PROFIdrive oder analoger Antriebsanbindung an einem PLC ohne angeschlossenen Antrieb arbeiten möchten. Der Simulationsbetrieb ist erforderlich, wenn Sie eine der folgenden Aufgaben ausführen möchten: ● Inbetriebnahme einer Programmsequenz ohne Antrieb ●...
  • Seite 730 Technologieanweisungen 10.3 Bewegungssteuerung Betriebsart 1: "Antrieb und Geber simulieren": ● In dieser Betriebsart arbeitet die Achse in Ihrem Programm auf einem PLC ohne real angeschlossene Hardware (PROFIdrive-Antrieb und Geber). ● Sie benötigen nicht die logischen E/A-Adressen im Technologieobjekt-Datenbaustein (TO-DB). Sie brauchen also die Geber- und Antriebskonfiguration sowie zusätzliche Digitalsignale (Hardware-Endschalter und Referenzpunktschalter) im TO und in der Hardware-Konfiguration nicht zu konfigurieren.
  • Seite 731: Datenübernahme

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4.6 Datenübernahme Übersicht Es besteht die Möglichkeit zur Übernahme von Antriebs- und Geberwerten, die aus dem Antriebs- oder Gebermodul ausgelesen werden können und sowohl im PLC als auch im Antriebs-/Gebergerät identisch konfiguriert wurden. Datenübernahme RT konfigurieren Die CPU konfiguriert die Datenübernahme RT im TO-DB für den jeweiligen Antrieb und Geber: ●...
  • Seite 732 Technologieanweisungen 10.3 Bewegungssteuerung Das folgende Bild zeigt den Konfigurationsdialog "Antrieb": ● Wenn ein SINAMICS-Antrieb angeschlossen ist: – Das Kontrollkästchen ist in der Voreinstellung markiert. – Die Bedienelemente "Bezugsdrehzahl" und "Maximale Drehzahl" unter dem Kontrollkästchen sind grau dargestellt. – Datenübernahme RT für Antriebsdaten ist aktiviert. –...
  • Seite 733 Technologieanweisungen 10.3 Bewegungssteuerung Das folgende Bild zeigt den Konfigurationsdialog "Geber": S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 734: Datenübernahme Rt Ausführen

    Technologieanweisungen 10.3 Bewegungssteuerung ● Wenn ein PROFIdrive-Geber angeschlossen ist: – Das Kontrollkästchen ist in der Voreinstellung markiert. – Die Bedienelemente "Gebertyp" (nur "Schritte pro Umdrehung") und "Feinauflösung" unter dem Kontrollkästchen sind grau dargestellt. – Datenübernahme RT für Geberdaten ist aktiviert. –...
  • Seite 735: Status Der Datenübernahme Und Fehler Bei Der Datenübernahme Anzeigen

    Technologieanweisungen 10.3 Bewegungssteuerung Status der Datenübernahme und Fehler bei der Datenübernahme anzeigen Die Bewegungssteuerung zeigt den Status von Datenübernahme RT an und meldet Fehler in Parametern und ErrorIDs/ErrorInfos: ● Die Bewegungssteuerung meldet den Status der Datenübernahme an der Achse: Wenn die Datenübernahme nicht oder fehlerhaft funktioniert, meldet die Bewegungssteuerung einen Fehler an der Achse und zeigt die ErrorID/ErrorInfo der Anweisung MC_Power an.
  • Seite 736 Technologieanweisungen 10.3 Bewegungssteuerung Ausgewählter aktueller Datensatz vom Antrieb Ein SINAMICS-Antrieb unterstützt verschiedene Datensätze für Geber und Antrieb. Der SINAMICS-Antrieb übernimmt den im Moment der Übernahme aktuellen Datensatz. Deshalb wird "p51" (aktueller Datensatz des Antriebs) ausgelesen: ● Die Bezugsdrehzahl ist für alle Datensätze gleich: "p2000" (Bezugsdrehzahl) ist unabhängig vom Datensatz.
  • Seite 737 Technologieanweisungen 10.3 Bewegungssteuerung Die Werte jedes Parameters sind in den folgenden Tabellen aufgeführt: TO-DB-Antriebsparameter Wert Actor.type 0 = Analog • 1 = PROFIdrive • 2 = PTO • Hinweis: Das TIA Portal unterstützt nur den Rota- tionsantrieb. Daher ist nur der Wert "1" gültig. Actor.Interface.AddressIn.RID 0208_0708 = Telegrammm 1 •...
  • Seite 738: Prüfung Der Maximalen Geschwindigkeit

    Technologieanweisungen 10.3 Bewegungssteuerung Prüfung der maximalen Geschwindigkeit Das TIA Portal prüft die Gültigkeit des TO-DB-Parameters "DynamicLimits.MaxVelocity". Bei Datenübernahme ist die Prüfung jedoch nur möglich, wenn das System in RUN ist und die Sicherheitsabfrage für das TIA Portal nicht durchgeführt wird. Konsistenzprüfung Die Bewegungssteuerung führt beim ersten Anlauf oder Wiederanlauf der TO-Achse eine Konsistenzprüfung durch.
  • Seite 739 Technologieanweisungen 10.3 Bewegungssteuerung Parameter Die Bewegungssteuerung übernimmt folgende Parameter: TO-DB-Sensorparameter SINAMICS/PROFIdrive-Parameter Sensor[i].System P979.[1] oder P979.[11] • Bit 0 = 0: Drehgeber • Bit 0 = 1: Lineargeber • Inkrementaldrehgeber Sensor[i].Parameter.StepsPerRevolution P979.[2] oder P979.[12] Sensor[i].Parameter.FineResolutionXist1 P979.[3] oder P979.[13] Inkrementallineargeber Sensor[i].Parameter.Resolution P979.[2] oder P979.[12] Sensor[i].Parameter.FineResolutionXist1 P979.[3] oder P979.[13] Absolutdrehgeber...
  • Seite 740 Technologieanweisungen 10.3 Bewegungssteuerung Konsistenzprüfung Die Bewegungssteuerung führt beim ersten Anlauf oder Wiederanlauf der TO-Achse eine Konsistenzprüfung durch. Die Bewegungssteuerung zeigt auch eine ErrorID an, wenn die Datenübernahme des Gebers aktiviert ist. Eine Konsistenzprüfung erstreckt sich auf Telegramm und Gebertyp: ● Telegramm in "p922" oder "p2079": Bei einer Diskrepanz zwischen TO und Geberkonfiguration meldet die Bewegungssteuerung einen Fehler.
  • Seite 741 Technologieanweisungen 10.3 Bewegungssteuerung Geber Voreinstellung Wechselbar Kommentar Sen- DINT R (mit Wiederan- Übernahme akti- sor.DataAdaptation lauf) viert: 0: NEIN • 1: JA • StatusSensor Kommentar StatusSensor.AdaptationState DINT Übernahmestatus: 0: NOT_ADAPTED: Kann keine • Daten übernehmen. 1: IN_ADAPTATION: Datenüber- • nahme soeben gestartet. 2: ADAPTED: Daten sind über- •...
  • Seite 742: Achssteuerung Mit Dem Technologiemodul (Tm) Pulse

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.4.7 Achssteuerung mit dem Technologiemodul (TM) Pulse Das TM Pulse ist ein zweikanaliges ET 200SP-Impulsausgangsmodul für den Einsatz mit Ventilen und Motoren. Das Modul unterstützt entweder zwei 24-V-DC-Kanäle mit 2 A oder einen 24-V-DC-Kanal mit 4 A. In der Betriebsart "Gleichstrommotor"...
  • Seite 743 Technologieanweisungen 10.3 Bewegungssteuerung Um das TM Pulse zu konfigurieren, gehen Sie folgendermaßen vor: 1. Konfigurieren Sie Ihre S7-1200 CPU. 2. Wählen Sie das erforderliche ET 200SP Interfacemodul und platzieren Sie es in der Gerätesicht: 3. ET 200SP TM Pulse hinzufügen: 4.
  • Seite 744 Technologieanweisungen 10.3 Bewegungssteuerung Um die Bewegungsachse mit Stellungsrückmeldung zu konfigurieren, gehen Sie folgendermaßen vor: 1. Wenn Sie Ihre Schnittstelle mit einer geregelten Bewegungssteuerung konfigurieren, verwenden Sie eine analoge Steuerung, nicht PROFIdrive oder PTO. Konfigurieren Sie die Achse, die geregelt werden soll, so wie eine Achse mit einem analogen Ausgang als Eingang eines Servoantriebs.
  • Seite 745 Technologieanweisungen 10.3 Bewegungssteuerung 2. Im Konfigurationsdialog "Allgemein" für die Achskonfiguration wählen Sie "Analoge Antriebsanbindung": S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 746: Analogausgang

    Technologieanweisungen 10.3 Bewegungssteuerung 3. Sie benötigen jetzt für Ihre Antriebskonfiguration Analogausgänge und eine Antriebsfreigabe. Gehen Sie in die Gerätesicht des ET 200SP Interfacemoduls und die Geräteübersichtseingabe für das TM Pulse. Mit Hilfe der Anfangsausgangsadresse für das TM Pulse und den Regelungs- und Rückgabeschnittstellentabellen im Handbuch SIMATIC ET 200SP Technologiemodul TM Pulse 2x24V (6ES7138-6DB00-0BB1) können Sie die folgenden Analogausgänge und Antriebsfreigaben für Ihren Antrieb festlegen:...
  • Seite 747 Technologieanweisungen 10.3 Bewegungssteuerung 4. Im Konfigurationsdialog Drehgeber für die Achskonfiguration beenden Sie die Konfiguration durch Auswahl eines der folgenden Geber: ● Technologiemodul Count ● Technologiemodul (TM) Pulse ● Schneller Zähler (HSC) S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 748: To-Befehlstabelle Pto Konfigurieren

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.5 TO-Befehlstabelle PTO konfigurieren Mit Hilfe der Technologieobjekte können Sie eine Anweisung MC_CommandTable konfigurieren. Im folgenden Beispiels wird gezeigt, wie dies durchgeführt wird. Hinzufügen eines Technologieobjekts 1. Erweitern Sie in der Projektnavigation den Knoten "Technologieobjekte" und wählen Sie "Neues Objekt hinzufügen"...
  • Seite 749: Schritte Für Ihre Anwendung Planen

    Technologieanweisungen 10.3 Bewegungssteuerung Schritte für Ihre Anwendung planen Die gewünschte Bewegungsfolge können Sie im Konfigurationsfenster "Befehlstabelle" erstellen und das Ergebnis in der grafischen Darstellung im Kurvendiagramm prüfen. Sie können die Befehlstypen auswählen, die für die Verarbeitung der Befehlstabelle verwendet werden sollen. Bis zu 32 Schritte können eingegeben werden. Die Befehle werden der Reihe nach verarbeitet und erzeugen mühelos ein komplexes Bewegungsprofil.
  • Seite 750 Technologieanweisungen 10.3 Bewegungssteuerung In der folgenden Abbildung wird "Command complete" als Übergang zum nächsten Schritt verwendet. Diese Art des Übergangs ermöglicht es Ihrem Gerät, auf die Start- /Stoppgeschwindigkeit zu verzögern und dann zu Beginn des nächsten Schritts erneut zu beschleunigen. ①...
  • Seite 751 Technologieanweisungen 10.3 Bewegungssteuerung In der folgenden Abbildung wird "Blending motion" als Übergang zum nächsten Schritt verwendet. Diese Art des Übergangs ermöglicht es Ihrem Gerät, die Geschwindigkeit bis zum Start des nächsten Schritts beizubehalten, was zu einem glatten Übergang des Geräts von einem Schritt zum nächsten führt.
  • Seite 752: Funktionsweise Der Bewegungssteuerung Bei Der S7-1200

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.6 Funktionsweise der Bewegungssteuerung bei der S7-1200 10.3.6.1 Für die Bewegungssteuerung verwendete CPU-Ausgänge Die CPU bietet vier Impulsgeneratoren. Jeder Impulsgenerator bietet einen Impulsausgang und einen Richtungsausgang zum Steuern eines Schrittmotorantriebs oder eines Servomotorantriebs mit Impulsschnittstelle. Der Impulsausgang bietet den Antrieb mit den für die Motorbewegung erforderlichen Impulsen.
  • Seite 753 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 49 Standardadresszuweisungen für die Impuls- und Richtungsausgänge Verwendung von Ausgängen für die Bewegungssteuerung Impuls Richtung PTO1 Integrierte E/A A0.0 A0.1 SB-E/A A4.0 A4.1 PTO2 Integrierte E/A A0.2 A0.3 SB-E/A A4.2 A4.3 PTO3 Integrierte E/A A0.4 A0.5 SB-E/A A4.0...
  • Seite 754: Hardware- Und Software-Endschalter Für Die Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung Antriebsschnittstelle Für die Bewegungssteuerung können Sie optional für eine Antriebsschnittstelle die Zustände "Antrieb freigegeben" und "Antrieb bereit" konfigurieren. Wenn Sie die Antriebsschnittstelle verwenden, können der Digitalausgang für "Antrieb freigegeben" und der Digitaleingang für "Antrieb bereit" frei ausgewählt werden. Hinweis Die Firmware übernimmt die Steuerung über die entsprechenden Impuls- und Richtungsausgänge, wenn die PTO (Pulse Train Output) ausgewählt und einer Achse...
  • Seite 755 Technologieanweisungen 10.3 Bewegungssteuerung Hardware-Endschalter Hardware-Endschalter geben den maximalen Verfahrbereich der Achse vor. Hardware- Endschalter sind physikalische Schaltelemente, die an alarmfähige Eingänge der CPU angeschlossen werden müssen. Verwenden Sie nur Hardware-Endschalter, die nach der Anfahrt dauerhaft geschaltet bleiben. Der Schaltzustand kann erst nach der Rückkehr in den zulässigen Verfahrbereich rückgängig gemacht werden.
  • Seite 756 Technologieanweisungen 10.3 Bewegungssteuerung Wenn die Hardware-Endschalter angefahren werden, bremst die Achse mit der konfigurierten Notfallverzögerung bis zum Stillstand. Die angegebene Notfallverzögerung muss ausreichend sein, um die Achse vor dem mechanischen Stopp zuverlässig zu stoppen. Das folgende Diagramm zeigt das Verhalten der Achse nach Anfahrt der Hardware- Endschalter.
  • Seite 757 Technologieanweisungen 10.3 Bewegungssteuerung Software-Endschalter Software-Endschalter begrenzen den Arbeitsbereich der Achse. Sie müssen sich relativ zum Verfahrbereich innerhalb der Hardware-Endschalter befinden. Weil die Positionen der Software-Endschalter flexibel eingerichtet werden können, lässt sich der Arbeitsbereich der Achse individuell je nach aktuellem Verfahrprofil einschränken. Im Gegensatz zu Hardware- Endschaltern werden Software-Endschalter ausschließlich über die Software implementiert und benötigen keine eigenen Schaltelemente.
  • Seite 758: Konfiguration Der Flankenerkennung Bei Adressänderung

    Technologieanweisungen 10.3 Bewegungssteuerung Konfiguration der Flankenerkennung bei Adressänderung Wenn Sie eine Positionsgrenze oder einen Eingang Referenzpunktschalter für eine Eingangsadresse in einer TO-Positionierachse konfigurieren, legt die Bewegungssteuerung automatisch Flankenalarme fest. Wenn Sie anschließend die Positionsgrenze oder den Eingang Referenzpunktschalter mit einer anderen Adresse versehen, bleibt die Konfiguration mit Flankenerkennung für die alte Adresse aktiv.
  • Seite 759 Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Neue Adresse für HW-Endschalter mit Flankenerkennung angeben und Flankenerkennung an der alten Adresse deaktivieren 1. Aktueller Status: Sie haben einen "Eingang unterer HW-Endschalter" mit E0.2 verschaltet. Diese Konfiguration hat automatisch die Flankenerkennung an E0.2 aktiviert. Diese Konfiguration erscheint auch in den CPU-Eigenschaften, Digitaleingänge: 2.
  • Seite 760 Technologieanweisungen 10.3 Bewegungssteuerung 3. Die CPU übernimmt die neue Adresse E0.6 und aktiviert die Flankenerkennung an E0.6. Die Flankenerkennung von E0.2 in den CPU-Eigenschaften, Digitaleingänge, wird automatisch deaktiviert: S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 761 Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Neue Adresse für HW-Endschalter mit Flankenerkennung angeben und Flankenerkennung an der alten Adresse beibehalten 1. Aktueller Status: Sie haben einen "Eingang unterer HW-Endschalter" mit E0.2 verschaltet. Diese Konfiguration hat automatisch die Flankenerkennung an E0.2 aktiviert. Diese Konfiguration erscheint auch in den CPU-Eigenschaften, Digitaleingänge: 2.
  • Seite 762 Technologieanweisungen 10.3 Bewegungssteuerung 3. Die CPU übernimmt die neue Adresse E0.6 und aktiviert die Flankenerkennung an E0.6. Die Flankenerkennung von E0.2 in den CPU-Eigenschaften, Digitaleingänge, bleibt aktiviert: S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 763: Beispiel: Änderung An Neuer Adresse Für Hw-Endschalter Mit Flankenerkennung Zurücknehmen

    Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Änderung an neuer Adresse für HW-Endschalter mit Flankenerkennung zurücknehmen 1. Aktueller Status: Sie haben einen "Eingang unterer HW-Endschalter" mit E0.2 verschaltet. Diese Konfiguration hat automatisch die Flankenerkennung an E0.2 aktiviert. Diese Konfiguration erscheint auch in den CPU-Eigenschaften, Digitaleingänge: 2.
  • Seite 764: Weitere Informationen

    Technologieanweisungen 10.3 Bewegungssteuerung 3. Der "Eingang unterer HW-Endschalter" bleibt für E0.2 konfiguriert und Flankenerkennung an E0.2 bleibt aktiviert: Weitere Informationen Ihr Anwenderprogramm kann die Grenzwerte der Hardware- oder Softwareposition durch Aktivieren oder Deaktivieren der Hardware- und Software-Grenzwertfunktionen übersteuern. Die Auswahl erfolgt über den Achsen-DB. ●...
  • Seite 765: Referenzpunktfahrt

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.6.3 Referenzpunktfahrt Bei der Referenzpunktfahrt werden die Achsenkoordinaten an die reale, physikalische Position des Antriebs angepasst. (Befindet sich der Antrieb gegenwärtig an Position x, wird die Achse in Position x gebracht.) Bei positionsgesteuerten Achsen beziehen sich die Einträge und Anzeigen für die Position exakt auf diese Achsenkoordinaten.
  • Seite 766 Technologieanweisungen 10.3 Bewegungssteuerung ● Betriebsart 2 - Passive Referenzpunktfahrt: Wenn sich die Achse bewegt und den Referenzpunktschalter überfährt, wird die aktuelle Position als Referenzpunkt gesetzt. Bei dieser Funktion wird der normale Maschinenverschleiß und das Zahnflankenspiel berücksichtigt, um den Bedarf an manuellem Verschleißausgleich zu verhindern. Der Positionseingang der Anweisung für die Referenzpunktfahrt wird wie zuvor zur vom Referenzpunktschalter angegebenen Position addiert, um den Referenzpunkt mühelos zu versetzen.
  • Seite 767: Konfiguration Der Parameter Für Die Referenzpunktfahrt

    Technologieanweisungen 10.3 Bewegungssteuerung Konfiguration der Parameter für die Referenzpunktfahrt Sie konfigurieren die Parameter für aktive und passive Referenzpunktfahrt im Fenster "Homing". Das Verfahren der Referenzpunktfahrt wird über den Eingangsparameter "Mode" der Bewegungssteuerungsanweisung festgelegt. Hier bedeutet Mode = 2 passive Referenzpunktfahrt und Mode = 3 bedeutet aktive Referenzpunktfahrt. Hinweis Stellen Sie anhand einer der folgenden Maßnahmen sicher, dass die Maschine bei Richtungsumkehr nicht zu einem mechanischen Endstopp fährt:...
  • Seite 768 Technologieanweisungen 10.3 Bewegungssteuerung Parameter Beschreibung Automatische Umkehr nach Errei- Aktivieren Sie das Kontrollkästchen, um den Hardware-Endschalter als Umkehrno- chen der Hardware-Endschalter cken für die Referenzpunktanfahrt zu nutzen. Die Hardware-Endschalter müssen für die Richtungsumkehr konfiguriert und aktiviert sein. (Nur bei aktiver Referenzpunkt- fahrt) Wenn der Hardware-Endschalter während der aktiven Referenzpunktfahrt erreicht wird, bremst die Achse mit der konfigurierten Verzögerung (nicht mit der Notfallver-...
  • Seite 769: Referenzpunktfahrt Für Pegel Des Referenzpunktschalters

    Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 52 Die Referenzpunktfahrt beeinflussende Faktoren Beeinflussende Faktoren: Ergebnis: Konfiguration Konfiguration Aktuelle Verfahrrichtung Referenzpunktfahrt zu Anfahrrichtung Referenzpunktschalter Referenzpunktschalter Positiv "Untere Seite (negativ)" Positive Richtung Unten Negative Richtung Oben Positiv "Obere Seite (positiv)" Positive Richtung Oben Negative Richtung Unten Negativ "Untere Seite (negativ)"...
  • Seite 770: Beispiel: Pegel Für Passiven Referenzpunktschalter Auswählen

    Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Pegel für passiven Referenzpunktschalter auswählen 1. Sie haben ein S7-1200 Projekt mit einer Analog/PROFIdrive-Achse und passiver Referenzpunktfahrt konfiguriert. Je nach Anwendung wählen Sie "Oberer Pegel" oder "Unterer Pegel" für den passiven Referenzpunktschalter: 2. Das Programm führt eine passive Referenzpunktfahrt durch. 3.
  • Seite 771: Beispiel: Pegel Für Aktiven Referenzpunktschalter Auswählen

    Technologieanweisungen 10.3 Bewegungssteuerung Beispiel: Pegel für aktiven Referenzpunktschalter auswählen 1. Sie haben ein S7-1200 Projekt mit einer Analog/PROFIdrive-Achse und aktiver Referenzpunktfahrt konfiguriert. Je nach Anwendung wählen Sie "Oberer Pegel" oder "Unterer Pegel" für den aktiven Referenzpunktschalter: 2. Das Programm führt eine aktive Referenzpunktfahrt durch. 3.
  • Seite 772 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 53 Geschwindigkeitskennlinie für die Referenzpunktfahrt bei der Bewegungssteuerung Funktionsweise Hinweise Anfahrgeschwindigkeit Referenziergeschwindigkeit Referenzpunktkoordinaten Referenzpunktversatz ① Suchphase (blaues Kennliniensegment): Wenn die aktive Referenzpunktfahrt startet, beschleunigt die Achse auf die konfigurierte "Anfahrgeschwindigkeit" und sucht bei dieser Geschwindigkeit nach dem Referenzpunktschalter. ②...
  • Seite 773: Ruckbegrenzung

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.6.4 Ruckbegrenzung Mit der Ruckbegrenzung können Sie die mechanischen Beanspruchungen während der Beschleunigungs- und Verzögerungsphase verringern. Der Wert für die Beschleunigung und Verzögerung wird nicht abrupt verändert, wenn die Schrittbegrenzung aktiv ist, der Wert wird stattdessen während einer Übergangsphase angepasst. Die folgende Abbildung zeigt die Geschwindigkeits- und Beschleunigungskurve ohne und mit Ruckbegrenzung.
  • Seite 774: Bewegungssteuerungsanweisungen

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7 Bewegungssteuerungsanweisungen 10.3.7.1 Übersicht MC-Anweisungen Die Bewegungssteuerungsanweisungen verwenden einen zugehörigen Technologie- Datenbaustein und die dafür zugewiesene PTO (Impulsfolge) der CPU, um die Bewegung einer Achse zu steuern. ● MC_Power (Seite 776) aktiviert und deaktiviert eine Achse für die Bewegungssteuerung. ●...
  • Seite 775 Technologieanweisungen 10.3 Bewegungssteuerung CPU-Firmwarestände Wenn Sie mit einer S7-1200 CPU ab Firmware V4.1 arbeiten, wählen Sie Version V5.0 der Bewegungsanweisungen. Wenn Sie mit einer S7-1200 CPU mit Firmwareversion V4.0 oder niedriger arbeiten, wählen Sie die entsprechende Version V4.0, V3.0, V2.0 oder V1.0 der Bewegungsanweisungen. Hinweis Die Anweisungen der Bewegungssteuerung V1.0 bis V3.0 steuern aktiv den ENO-Ausgang der Anweisung.
  • Seite 776: Mc_Power (Achse Freigeben/Sperren)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.2 MC_Power (Achse freigeben/sperren) Hinweis Wenn die Achse wegen eines Fehlers ausgeschaltet wird, wird sie nach Behebung und Quittierung des Fehlers automatisch wieder aktiviert. Hierfür ist erforderlich, dass der Eingangsparameter Enable den Wert WAHR während dieses Vorgangs gespeichert hat. Tabelle 10- 55 Anweisung MC_Power KOP/FUP...
  • Seite 777 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 56 Parameter für die MC_Power-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN_OUT TO_Axis Technologieobjekt "Achse" Enable Bool FALSE (Standard): Alle aktiven Aufgaben werden entsprechend • dem parametrierten "StopMode" abgebrochen und die Achse wird gestoppt. TRUE: Die Bewegungssteuerung versucht, die Achse zu aktivieren. •...
  • Seite 778 Technologieanweisungen 10.3 Bewegungssteuerung ① Eine Achse wird aktiviert und dann wieder deaktiviert. Nachdem der Antrieb das Signal "Antrieb bereit" an die CPU zurückgemeldet hat, kann die erfolgreiche Aktivierung über "Status_1" ausgelesen werden. ② Nach einer Achsenfreigabe ist ein Fehler aufgetreten, der verursacht hat, dass die Achse deaktiviert wurde. Der Fehler wird behoben und mit "MC_Reset"...
  • Seite 779: Mc_Reset (Fehler Bestätigen)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.3 MC_Reset (Fehler bestätigen) Tabelle 10- 57 Anweisung MC_Reset KOP/FUP Beschreibung "MC_Reset_DB"( Mit der Anweisung MC_Reset quittieren Sie Axis:=_multi_fb_in_, "Betriebsfehler mit Achsenstopp" und "Konfigu- Execute:=_bool_in_, rationsfehler". Die Fehler, die quittiert werden müssen, finden Sie in der "Liste von ErrorIDs Restart:=_bool_in_, und ErrorInfos"...
  • Seite 780 Technologieanweisungen 10.3 Bewegungssteuerung Die Aufgabe MC_Reset kann von keiner anderen Bewegungssteuerungsaufgabe abgebrochen werden. Die neue Aufgabe MC_Reset bricht keine anderen aktiven Bewegungssteuerungsaufgaben ab. Tabelle 10- 58 Parameter der Anweisung MC_Reset Parameter und Datentyp Datentyp Beschreibung Axis TO_Axis_1 Technologieobjekt "Achse" Execute Bool Starten der Aufgabe bei einer positiven Flanke Restart...
  • Seite 781: Mc_Home (Referenzpunktfahrt Der Achse Durchführen)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.4 MC_Home (Referenzpunktfahrt der Achse durchführen) Tabelle 10- 59 Anweisung MC_Home KOP/FUP Beschreibung "MC_Home_DB"( Mit der Anweisung MC_Home passen Axis:=_multi_fb_in_, Sie die Achsenkoordinaten an die reale, Execute:=_bool_in_, physikalische Position des Antriebs an. Für die absolute Positionierung der Ach- Position:=_real_in_, se ist eine Referenzpunktfahrt erforder- Mode:=_int_in_,...
  • Seite 782 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 60 Parameter für die MC_Home-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN_OUT TO_Axis Technologieobjekt "Achse" Execute Bool Starten der Aufgabe bei einer positiven Flanke Position Real Mode = 0, 2 und 3 (Absolute Position der Achse nach •...
  • Seite 783 Technologieanweisungen 10.3 Bewegungssteuerung Parameter und Datentyp Datentyp Beschreibung ErrorInfo Word Fehlerinfo-ID für Parameter ErrorID ReferenceMarkPosition Real Position der Achse an der Referenzmarke im bisherigen Ko- ordinatensystem. Ausgangsparameter "ReferenceMarkPosition": Vor Ausführung der Referenzierfunktion wird die alte Position gespeichert und dieser Wert im Ausgangsparameter "ReferenceMarkPosition"...
  • Seite 784 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 61 Übersteuerungsantwort Betriebsart Beschreibung 0 oder 1 Die Aufgabe MC_Home kann von keiner anderen Bewegungssteuerungsaufgabe abgebrochen werden. Die neue Aufgabe MC_Home bricht keine aktiven Bewegungssteuerungsaufgaben ab. Positionsbezogene Be- wegungssteuerungsaufgaben werden nach der Referenzpunktfahrt entsprechend der neuen Referenzpunkt- position (Wert am Eingangsparameter Position) wieder aufgenommen.
  • Seite 785: Mc_Halt (Achse Pausieren)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.5 MC_Halt (Achse pausieren) Tabelle 10- 62 Anweisung MC_Halt KOP/FUP Beschreibung "MC_Halt_DB"( Mit der Anweisung MC_Halt stoppen Sie Axis:=_multi_fb_in_, alle Bewegungen und bringen die Achse Execute:=_bool_in_, zum Stillstand. Die Stillstandposition ist nicht definiert. Done=>_bool_out_, Busy=>_bool_out_, Um die Anweisung MC_Halt zu verwen- CommandAborted=>_bool_out_, den, muss die Achse zunächst freigege- ben werden.
  • Seite 786 Technologieanweisungen 10.3 Bewegungssteuerung Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Ver- zögerung = 5,0 ① Die Achse wird von einer Aufgabe MC_Halt gebremst, bis sie zum Stillstand kommt. Der Stillstand der Achse wird über "Done_2"...
  • Seite 787: Mc_Moveabsolute (Achse Absolut Positionieren)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.6 MC_MoveAbsolute (Achse absolut positionieren) Tabelle 10- 64 Anweisung MC_MoveAbsolute KOP/FUP Beschreibung "MC_MoveAbsolute_DB"( Mit der Anweisung Axis:=_multi_fb_in_, MC_MoveAbsolute starten Sie Execute:=_bool_in_, eine Positionierbewegung der Achse zu einer absoluten Position. Position:=_real_in_, Velocity:=_real_in_, Um die Anweisung Direction:=_int_in_, MC_MoveAbsolute zu verwenden, muss die Achse zunächst freige- Done=>_bool_out_, geben und zum Referenzpunkt...
  • Seite 788 Technologieanweisungen 10.3 Bewegungssteuerung Sie können die Positionierachse als Modulo-Achse konfigurieren. Bei Verwendung einer Modulo-Achse können Sie die Bewegungsrichtung mit dem Eingangsparameter "Direction" auswählen. Die Bewegungssteuerung ignoriert den Eingang "Direction", wenn die Achse keine Modulo-Achse ist. Die folgende Tabelle zeigt die gültigen Werte für den Eingang "Direction": Wert Enumeration Kommentar...
  • Seite 789: Mc_Moverelative (Achse Relativ Positionieren)

    Technologieanweisungen 10.3 Bewegungssteuerung Übersteuerungsantwort Die Aufgabe MC_MoveAbsolute kann von Die neue Aufgabe MC_MoveAbsolute den folgenden Bewegungssteuerungsauf- bricht die folgenden aktiven Bewegungs- gaben abgebrochen werden: steuerungsaufgaben ab: • MC_Home Mode = 3 • MC_Home Mode = 3 • MC_Halt • MC_Halt •...
  • Seite 790 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 67 Parameter für die MC_MoveRelative-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis TO_Axis_1 Technologieobjekt "Achse" Execute Bool Starten der Aufgabe bei einer positiven Flanke (Standardwert: Falsch) Distance Real Verfahrweg für den Positioniervorgang (Standardwert: 0,0) Grenzwerte: -1.0e ≤...
  • Seite 791 Technologieanweisungen 10.3 Bewegungssteuerung Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Ver- zögerung = 10,0 ① Die Achse wird von einer Aufgabe MC_MoveRelative den Weg ("Distance") 1000,0 gefahren. Wenn die Achse die Zielposition erreicht, wird dies über "Done_1" gemeldet. Wenn "Done_1" = WAHR ist, wird eine andere Aufgabe MC_MoveRelative mit dem Verfahrweg 500,0 gestartet.
  • Seite 792: Mc_Movevelocity (Achse Mit Vordefinierter Geschwindigkeit Bewegen)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.8 MC_MoveVelocity (Achse mit vordefinierter Geschwindigkeit bewegen) Tabelle 10- 68 Anweisung MC_MoveVelocity KOP/FUP Beschreibung "MC_MoveVelocity_DB"( Mit der Anweisung Axis:=_multi_fb_in_, MC_MoveVelocity bewegen Sie Execute:=_bool_in_, die Achse konstant mit der ange- gebenen Geschwindigkeit. Velocity:=_real_in_, Direction:=_int_in_, Um die Anweisung Current:=_bool_in_, MC_MoveVelocity zu verwenden, muss die Achse zunächst freige- PositionControlled:=_bool_in_,...
  • Seite 793 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 69 Parameter für die MC_MoveVelocity-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis TO_SpeedAxis Technologieobjekt "Achse" Execute Bool Starten der Aufgabe bei einer positiven Flanke (Standardwert: Falsch) Velocity Real Geschwindigkeitsangabe für die Achsenbewegung (Standardwert: 100.0) Grenzwerte: Start-/Stoppgeschwindigkeit ≤ |Velocity| ≤ Maximal- geschwindigkeit Velocity = 0,0 ist zulässig) Direction...
  • Seite 794 Technologieanweisungen 10.3 Bewegungssteuerung Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Ver- zögerung = 10,0 ① Eine aktive Aufgabe MC_MoveVelocity meldet über "InVel_1", dass die Zielgeschwindigkeit erreicht wurde. Sie wird dann von einer anderen Aufgabe MC_MoveVelocity abgebrochen. Der Abbruch wird über "Abort_1" gemeldet. Wenn die neue Zielgeschwindigkeit 15,0 erreicht ist, wird dies über "InVel_2"...
  • Seite 795: Mc_Movejog (Achse Im Tippbetrieb Bewegen)

    Technologieanweisungen 10.3 Bewegungssteuerung Hinweis Verhalten bei auf Null gesetzter Geschwindigkeit (Velocity = 0,0) Eine Aufgabe MC_MoveVelocity mit "Velocity" = 0,0 (wie eine Aufgabe MC_Halt) bricht aktive Bewegungssteuerungsaufgaben ab und stoppt die Achse mit der konfigurierten Verzögerung. Wenn die Achse zum Stillstand kommt, gibt der Ausgangsparameter "InVelocity"...
  • Seite 796 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 71 Parameter für die MC_MoveJog-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis TO_SpeedAxis Technologieobjekt "Achse" JogForward Bool Solange der Parameter WAHR ist, bewegt sich die Achse mit der im Parameter "Velocity" angegebenen Geschwindigkeit in positiver Rich- tung.
  • Seite 797 Technologieanweisungen 10.3 Bewegungssteuerung Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Ver- zögerung = 5,0 ① Die Achse wird im Tippbetrieb über "Jog_F" in positiver Richtung bewegt. Wenn die Zielgeschwindigkeit 50,0 er- reicht ist, wird dies über "InVelo_1" gemeldet. Die Achse bremst erneut bis zum Stillstand, nachdem Jog_F zurück- gesetzt wird.
  • Seite 798: Mc_Commandtable (Achssteuerungsbefehle Als Bewegungsfolge Ausführen)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.10 MC_CommandTable (Achssteuerungsbefehle als Bewegungsfolge ausführen) Tabelle 10- 72 Anweisung MC_CommandTable KOP/FUP Beschreibung "MC_CommandTable_DB"( Führt eine Reihe einzelner Bewe- Axis:=_multi_fb_in_, gungen für eine Motorsteue- CommandTable:=_multi_fb_in_, rungsachse aus, die zu einer Bewegungsfolge verbunden wer- Execute:=_bool_in_, den können. StartIndex:=_uint_in_, EndIndex:=_uint_in_, Einzelne Bewegungen werden in einer Befehlstabelle eines Tech-...
  • Seite 799 Technologieanweisungen 10.3 Bewegungssteuerung Parameter und Datentyp Datentyp Anfangs- Beschreibung wert Step Schritt wird gerade bearbeitet Code Word 16#0000 Anwenderdefinierte Kennung des in Bearbeitung befindlichen Schritts Die gewünschte Bewegungsfolge können Sie im Konfigurationsfenster "Befehlstabelle" erstellen und das Ergebnis in der grafischen Darstellung im Kurvendiagramm prüfen. Sie können die Befehlstypen auswählen, die für die Verarbeitung der Befehlstabelle verwendet werden sollen.
  • Seite 800 Technologieanweisungen 10.3 Bewegungssteuerung Voraussetzungen für die Ausführung von MC_CommandTable: ● Das Technologieobjekt TO_Axis_PTO V2.0 muss ordnungsgemäß konfiguriert sein. ● Das Technologieobjekt TO_CommandTable_PTO muss korrekt konfiguriert sein. ● Die Achse muss freigegeben sein. Übersteuerungsantwort Die Aufgabe MC_CommandTable kann Die neue Aufgabe MC_CommandTable bricht von den folgenden Bewegungssteue- die folgenden aktiven Bewegungssteuerungs- rungsaufgaben abgebrochen werden:...
  • Seite 801: Mc_Changedynamic (Dynamikeinstellungen Der Achse Ändern)

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.7.11 MC_ChangeDynamic (Dynamikeinstellungen der Achse ändern) Tabelle 10- 75 Anweisung MC_ChangeDynamic KOP/FUP Beschreibung "MC_ChangeDynamic_DB"( Ändert die Dynamikeinstellungen Execute:=_bool_in_, einer Bewegungssteuerungsach- ChangeRampUp:=_bool_in_, RampUpTime:=_real_in_, Wert der Hochlaufzeit (Be- • ChangeRampDown:=_bool_in_, schleunigung) ändern RampDownTime:=_real_in_, Wert der Rücklaufzeit (Verzö- • ChangeEmergency:=_bool_in_, gerung) ändern EmergencyRampTime:=_real_in_, Wert der Not-Aus-Rücklaufzeit...
  • Seite 802 Technologieanweisungen 10.3 Bewegungssteuerung Parameter und Datentyp Datentyp Beschreibung ChangeEmergency Bool TRUE = Not-Aus-Rücklaufzeit in Übereinstimmung mit dem Eingangsparameter "EmergencyRampTime" ändern. Standard- wert:FALSE EmergencyRampTime Real Zeit (in Sekunden), während der die Achse im Not-Aus-Modus ohne Ruckbegrenzung von der konfigurierten Maximalge- schwindigkeit bis zum Stillstand verzögert werden soll. Stan- dardwert: 2,00 Die Änderung beeinflusst die Variable <Achsenname>.
  • Seite 803: Mc_Writeparam (Parameter Eines Technologieobjekts Schreiben)

    Technologieanweisungen 10.3 Bewegungssteuerung Übersteuerungsantwort Ein Befehl MC_ChangeDynamic kann von keinem anderen Bewegungssteuerungsbefehl abgebrochen werden. Der neue Befehl MC_ChangeDynamic bricht keine aktiven Bewegungssteuerungsaufgaben Hinweis Für die Eingangsparameter "RampUpTime", "RampDownTime", "EmergencyRampTime" und "RoundingOffTime" können Werte angegeben werden, die dazu führen, dass die resultierenden Achsenparameter "Beschleunigung", "Verzögerung", "Not-Aus-Verzögerung"...
  • Seite 804 Technologieanweisungen 10.3 Bewegungssteuerung Sie können in öffentliche Parameter schreiben. Sie können nicht in "MotionStatus" und "StatusBits" schreiben. Die folgende Tabelle zeigt die gültigen Parameter: Name des beschreibbaren Parameters Name des beschreibbaren Parameters Actor.InverseDirection DynamicDefaults.Acceleration Actor.DirectionMode DynamicDefaults.Deceleration Actor.DriveParameter.PulsesPerDriveRevolution DynamicDefaults.Jerk Sensor[1].ActiveHoming.Mode DynamicDefaults.EmergencyDeceleration Sensor[1].ActiveHoming.SideInput PositionLimitsHW.Active Sensor[1].ActiveHoming.Offset...
  • Seite 805: Anweisung Mc_Readparam (Parameter Des Technologieobjekts Lesen)

    Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 79 Bedingungscodes für ERRORID und ERRORINFO ERRORID ERRORINFO Beschreibung (W#16#...) (W#16#...) Parameter TO-DB einer Achse wurde erfolgreich geändert 8410 0028 Ungültiger Parameter (Achsparameter TO-DB mit falscher Länge) 8410 0029 Ungültiger Parameter (kein Achsparameter TO-DB) 8410 002B Ungültiger Parameter (Achsparameter TO-DB schreibgeschützt) 8410...
  • Seite 806 Technologieanweisungen 10.3 Bewegungssteuerung Die Anweisung MC_ReadParam funktioniert bei Freigabeverhalten. Solange der Eingang "Enable" wahr ist, liest die Anweisung den angegebenen "Parameter" in den Speicherort "Value". Der "Position"-Wert der Achse "MotionStatus" wird basierend auf dem aktuellen HSC-Wert an jedem Steuerpunkt im Zyklus aktualisiert. Der "Velocity"-Wert der Achse "MotionStatus"...
  • Seite 807: Aktive Befehle Überwachen

    Technologieanweisungen 10.3 Bewegungssteuerung TO-Parameter Die Achse "MotionStatus" besteht aus vier Werten. Überwachen Sie diese Werte auf Veränderungen, die während der Ausführung des Programms gelesen werden können: Variablenname Datentyp Lesbar über MC_ReadParam MotionStatus: Struktur Nein REAL Position • REAL Geschwindigkeit • REAL Entfernung •...
  • Seite 808 Technologieanweisungen 10.3 Bewegungssteuerung Das Verhalten der Statusbits wird im Folgenden für verschiedene Beispielsituationen aufgeführt. ● Das erste Beispiel zeigt das Verhalten der Achse bei einer abgeschlossenen Aufgabe. Wenn die Bewegungssteuerungsaufgabe zum Zeitpunkt des Abschlusses vollständig durchgeführt wurde, wird dies durch den Wert WAHR am Ausgangsparameter "Done" gemeldet.
  • Seite 809 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 83 Beispiel 1 - Vollständige Durchführung der Aufgabe Wenn "Execute" = FALSCH während der Verarbeitung der Wenn "Execute" = FALSCH nach Abschluss der Aufgabe Aufgabe ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 810 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 84 Beispiel 2 - Abbruch der Aufgabe Wenn "Execute" = FALSCH nach Abbruch der Aufgabe Wenn "Execute" = FALSCH vor Abbruch der Aufgabe ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 811 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 85 Beispiel 3 - Fehler während der Ausführung der Aufgabe Wenn "Execute" = FALSCH vor Auftreten des Fehlers Wenn "Execute" = FALSCH nach Auftreten des Fehlers ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 812: Mc_Velocity Überwachen

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.8.2 MC_Velocity überwachen Die Aufgaben der Bewegungssteuerungsanweisung "MC_MoveVelocity" lösen eine Bewegung mit der vorgegebenen Geschwindigkeit aus. ● Die Aufgaben der Bewegungssteuerungsanweisung "MC_MoveVelocity" haben kein definiertes Ende. Das Ziel der Aufgabe ist erfüllt, wenn die parametrierte Geschwindigkeit zum ersten Mal erreicht ist und die Achse mit konstanter Geschwindigkeit fährt. Wenn die parametrierte Geschwindigkeit erreicht ist, wird dies durch den Wert WAHR am Ausgangsparameter "InVelocity"...
  • Seite 813 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 86 Beispiel 1 - Wenn die parametrierte Geschwindigkeit erreicht wird Wenn "Execute" = FALSCH vor Erreichen der parametrier- Wenn "Execute" = FALSCH nach Erreichen der parametrier- ten Geschwindigkeit ten Geschwindigkeit ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 814 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 87 Beispiel 2 - Wenn die Aufgabe vor Erreichen der parametrierten Geschwindigkeit abgebrochen wird Wenn "Execute" = FALSCH vor Abbruch der Aufgabe Wenn "Execute" = FALSCH nach Abbruch der Aufgabe ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 815 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 88 Beispiel 3 - Wenn vor Erreichen der parametrierten Geschwindigkeit ein Fehler auftritt Wenn "Execute" = FALSCH vor Auftreten des Fehlers Wenn "Execute" = FALSCH nach Auftreten des Fehlers ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute"...
  • Seite 816: Mc_Movejog Überwachen

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.8.3 MC_MoveJog überwachen Die Aufgaben der Bewegungssteuerungsanweisung "MC_MoveJog" implementieren einen Tippbetrieb. ● Die Bewegungssteuerungsaufgaben "MC_MoveJog" haben kein definiertes Ende. Das Ziel der Aufgabe ist erfüllt, wenn die parametrierte Geschwindigkeit zum ersten Mal erreicht ist und die Achse mit konstanter Geschwindigkeit fährt. Wenn die parametrierte Geschwindigkeit erreicht ist, wird dies durch den Wert WAHR am Ausgangsparameter "InVelocity"...
  • Seite 817 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 89 Beispiel 1 - Wenn die parametrierte Geschwindigkeit erreicht und gehalten wird JogForward JogBackward ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "JogForward" oder "JogBackward" gestartet. ② Während die Aufgabe aktiv ist, meldet der Ausgangsparameter "Busy" den Wert WAHR. ③...
  • Seite 818 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 90 Beispiel 2 - Wenn die Aufgabe während der Ausführung abgebrochen wird JogForward JogBackward ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "JogForward" oder "JogBackward" gestartet. ② Während die Aufgabe aktiv ist, meldet der Ausgangsparameter "Busy" den Wert WAHR. ③...
  • Seite 819 Technologieanweisungen 10.3 Bewegungssteuerung Tabelle 10- 91 Beispiel 3 - Wenn während der Ausführung der Aufgabe ein Fehler aufgetreten ist JogBackward JogForward ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "JogForward" oder "JogBackward" gestartet. ② Während die Aufgabe aktiv ist, meldet der Ausgangsparameter "Busy" den Wert WAHR. ③...
  • Seite 820: Errorids Und Errorinfos Für Die Bewegungssteuerung

    Technologieanweisungen 10.3 Bewegungssteuerung 10.3.9 ErrorIDs und ErrorInfos für die Bewegungssteuerung In der folgenden Tabelle werden alle ErrorIDs und ErrorInfos aufgeführt, die bei Bewegungssteuerungsanweisungen und Datenübernahme vorkommen können. Neben der Fehlerursache werden auch Maßnahmen zum Beheben des Fehlers aufgeführt. Abhängig von der Fehlerreaktion wird die Achse bei Betriebsfehlern mit Achsenstopp gestoppt.
  • Seite 821 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#8003 Unterer HW-Endschalter wurde erreicht Bei Antriebsver- bindung über PTO 16#000E Der untere HW-Endschalter wurde Quittieren Sie den Fehler bei einer (Pulse Train Out- erreicht. Die Achse wurde mit der freigegebenen Achse mit der Anwei- put): Not-Aus-Verzögerung gestoppt.
  • Seite 822 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#8008 Ungültige Bewegungsrichtung 16#002E Die ausgewählte Bewegungsrichtung Ändern Sie die Bewegungsrichtung • ist nicht zulässig. und starten Sie den Befehl erneut. 16#002F Eine Reversierbewegung ist bei der Passen Sie die zulässige Drehrich- •...
  • Seite 823 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#800B Bereichsverletzung der Position Freigabe entfer- 16#0039 Bereichsverletzung in positiver Rich- Fahren Sie die Achse an einen Refe- tung renzpunkt in einem gültigen Istwertbe- reich. 16#003A Bereichsverletzung in negativer Rich- tung 16#003B Die Änderung der Istposition in einem Passen Sie die Modulo-Länge des Servotakt ist größer als die Modulo- eingesetzten Gebers an.
  • Seite 824: Betriebsfehler Ohne Achsenstopp

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#800F Fehler im Zielbereich Freigabe entfer- 16#0045 Zielbereich nicht erreicht Zielbereich wurde nicht innerhalb der Toleranzzeit für die Positionierung erreicht. Prüfen Sie die Konfiguration der • Positionsüberwachung. Prüfen Sie die Konfiguration des •...
  • Seite 825 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8205 Achse wird gegenwärtig vom Anwenderprogramm gesteuert (der Fehler wird nur in der Achssteuer- tafel angezeigt) 16#0013 Die Achse ist im Anwenderprogramm freige- Deaktivieren Sie die Achse mit der Anweisung geben. "MC_Power" und wählen Sie in der Achssteuerta- fel wieder die Handsteuerung aus.
  • Seite 826: Bausteinparameterfehler

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#820B Befehlstabelle kann nicht ausgeführt werden 16#0026 Ausführen des Ladevorgangs im Betriebszu- Warten Sie, bis der Ladevorgang beendet ist. stand RUN 16#820C Keine Konfiguration verfügbar 16#0001 Interner Fehler Kontaktieren Sie die Hotline. Bausteinparameterfehler ErrorID ErrorInfo Beschreibung...
  • Seite 827 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#0055 Ungültiger Modus am Inkrementalgeber Starten Sie eine Referenzpunktfahrt für einen Inkrementalgeber über den Parameter "Mode" = 0, 1, 2, 3. 16#0056 Ungültiger Modus am Absolutwertgeber Passive und aktive Referenzpunktfahrt ("Mode" = 2, 3) sind bei einem Absolutwertgeber nicht mög- lich.
  • Seite 828: Konfigurationsfehler Der Achse

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#840D Ungültiger Wert am Parameter "RampDownTime" der Bewegungssteuerungsanweisung 16#0002 Wert ist keine gültige Zahl. Korrigieren Sie den Wert; starten Sie den Befehl erneut. 16#000A Wert ist kleiner als oder gleich 0. 16#840E Ungültiger Wert am Parameter "EmergencyRampTime" der Bewegungssteuerungsanweisung 16#0002 Wert ist keine gültige Zahl.
  • Seite 829 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8603 Ungültige Parametrierung von "Eingang Bereit" 16#000B Die Adresse ist ungültig. Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei. 16#8604 Ungültiger Wert "Impulse pro Motorumdrehung" 16#000A Wert ist kleiner als oder gleich null Laden Sie eine fehlerfreie Konfiguration in die...
  • Seite 830 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8608 Ungültiger Wert "Beschleunigung" 16#0002 Wert ist keine gültige Zahl. Laden Sie eine fehlerfreie Konfiguration in die • Steuerung; geben Sie die Achse erneut mit der 16#0003 Wert ist größer als die obere Hardwaregrenze Anweisung "MC_Power"...
  • Seite 831 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#860B Wert für Position des unteren SW-Endschalters ist ungültig 16#0002 Wert ist keine gültige Zahl. Laden Sie eine fehlerfreie Konfiguration in die • Steuerung; geben Sie die Achse erneut mit der 16#0005 Wert ist außerhalb des Zahlenbereichs (größer als 1E+12) Anweisung "MC_Power"...
  • Seite 832 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#860F Ungültiger Wert "Referenzpunktversatz" 16#0002 Wert ist keine gültige Zahl. Laden Sie eine fehlerfreie Konfiguration in die • Steuerung; geben Sie die Achse erneut mit der 16#0005 Wert ist außerhalb des Zahlenbereichs (größer als 1E+12) Anweisung "MC_Power"...
  • Seite 833 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8612 Ungültige Adresse des Referenzpunktschalters 16#000B Ungültige Adresse Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der 16#000C Die Adresse der fallenden Flanke ist ungültig. Anweisung "MC_Power" frei. 16#000D Die Adresse der steigenden Flanke ist ungül- tig.
  • Seite 834 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#0030 Wert hat ein falsches Zahlenformat oder ist Laden Sie eine fehlerfreie Konfiguration in die • außerhalb des gültigen Zahlenbereichs Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei. Korrigieren Sie den falschen Wert online; quit- •...
  • Seite 835 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#861C Unzulässige Kombination von Daten für Referenzpunktfahrt mit Inkrementalgeber 16#0031 Wert ist ungültig. Laden Sie eine fehlerfreie Konfiguration in die • Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei. Korrigieren Sie den falschen Wert online; quit- •...
  • Seite 836 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8621 Die festgelegte Feinauflösung für Gn_XIST1 in <Achsenna- me>.Sensor.Sensor[1].Parameter.FineResolutionXist1 stimmt nicht mit der Einstellung in PRO- FIdrive-Parameter P979 überein. 16#0030 Wert hat ein falsches Zahlenformat oder ist Laden Sie eine fehlerfreie Konfiguration in die •...
  • Seite 837 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8627 Die Konfiguration der PROFIdrive-Schnittstelle des Istwerts ist fehlerhaft. Ungültiger Wert in <Ach- senname>.Sensor.Sensor[1].Interface.AddressIn oder <Achsenna- me>.Sensor.Sensor[1].Interface.AddressOut 16#0011 Der Auswahlwert ist ungültig. Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power"...
  • Seite 838 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#862C Parameter der Stillstandsüberwachung ist fehlerhaft. Ungültiger Wert in <Achsenna- me>.StandStillSignal.MinDwellTime 16#0030 Wert hat ein falsches Zahlenformat oder ist Laden Sie eine fehlerfreie Konfiguration in die • außerhalb des gültigen Zahlenbereichs Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power"...
  • Seite 839 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8631 Die festgelegte Feinauflösung für Gn_XIST2 ist ungültig. Ungültiger Wert in <Achsenna- me>.Sensor.Sensor[1].Parameter.FineResolutionXist2 16#0030 Wert hat ein falsches Zahlenformat oder ist Laden Sie eine fehlerfreie Konfiguration in die • außerhalb des gültigen Zahlenbereichs Steuerung;...
  • Seite 840 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8636 Steuerungsfaktor ist falsch. Unültiger Wert des Vorsteuerungsfaktors <Achsenna- me>.PositionControl.Kpc 16#0030 Wert hat ein falsches Zahlenformat oder ist Laden Sie eine fehlerfreie Konfiguration in die • außerhalb des gültigen Zahlenbereichs Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power"...
  • Seite 841 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#863B Fehler am Geber 16#0049 Konfigurationsfehler am Gerät Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei. 16#004A Die Technologie benötigt einen kleineren Ser- Interner Systemfehler.
  • Seite 842: Datenübernahmefehler

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#863F Ungültiger Wert für das Konfigurationsdatum <Achsenname>.Actor.DriveParameter.MaxSpeed 16#0030 Wert hat ein falsches Zahlenformat oder ist Korrigieren Sie den Referenzwert im Antrieb und außerhalb des gültigen Zahlenbereichs in der Konfiguration des Technologieobjekts in Actuator.MaxSpeed/2. Bei einer Analogantriebverbindung korrigieren Sie den Referenzwert im Antrieb und in der Konfigura- tion des Technologieobjekts in Actua-...
  • Seite 843 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#005F Feinauflösung Drehmo- Wiederanlauf Fehler bei der ment/Grenzwert Kraft (p1544): Es ist Übernahme kein Parameter vorhanden oder sein Wert kann nicht gelesen werden oder liegt außerhalb der zulässigen Grenzwerte. Das Lesen der Parame- ter wurde abgebrochen, weil die Hardware einen Fehler gemeldet hat.
  • Seite 844 Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#0063 Geberauflösung (r0979[2/12]): Es ist Wiederanlauf Fehler bei der kein Parameter vorhanden oder sein Übernahme Wert kann nicht gelesen werden oder liegt außerhalb der zulässigen Grenzwerte. Das Lesen der Parame- ter wurde abgebrochen, weil die Hardware einen Fehler gemeldet hat.
  • Seite 845: Konfigurationsfehler Der Befehlstabelle

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#006C Im Antrieb ist ein Funktionsmodul mit Rücksetzen Konfigurationsfeh- Linearmotor eingestellt. 16#8644 Diskrepanz zwischen TO und Geberkonfiguration 16#0068 Der konfigurierte Telegrammtyp ist Rücksetzen Konfigurationsfeh- nicht kompatibel mit dem Telegramm- typ des Geräts (P922 oder P2079). 16#006A Die elementare Periodenzeit des Rücksetzen Konfigurationsfeh-...
  • Seite 846: Interne Fehler

    Technologieanweisungen 10.3 Bewegungssteuerung ErrorID ErrorInfo Beschreibung Abhilfe 16#8703 Wert für "Dauer" in der Befehlstabelle ist ungültig 16#0002 Wert ist keine gültige Zahl. Laden Sie eine fehlerfreie Konfiguration in die • Steuerung; geben Sie die Achse erneut mit der 16#0021 Wert ist größer als 64800 s Anweisung "MC_Power"...
  • Seite 847: Kommunikation

    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. PROFINET PROFINET wird für den Austausch von Daten über das Anwenderprogramm mit anderen Kommunikationspartnern über Ethernet verwendet: ●...
  • Seite 848: Cpu-Zu-Cpu-Kommunikation Über S7

    TeleService-Kommunikation Bei TeleService über GPRS kommuniziert eine Engineering-Station, auf der STEP 7 installiert ist, über das GSM-Netz und das Internet mit einer SIMATIC S7-1200-Station mit einem CP 1242-7. Die Verbindung erfolgt über einen Telecontrol-Server, der als Vermittler dient und mit dem Internet verbunden ist.
  • Seite 849: Asynchrone Kommunikationsverbindungen

    Kommunikation 11.1 Asynchrone Kommunikationsverbindungen 11.1 Asynchrone Kommunikationsverbindungen Überblick über die Kommunikationsdienste Die CPU unterstützt die folgenden Kommunikationsdienste: Kommunikationsdienst Funktionalität Bei PROFIBUS DP Bei Ether- CM 1243-5 CM 1242-5 Mastermodul Slavemo- PG-Kommunikation Inbetriebnahme, Test, Diagnose Nein HMI-Kommunikation Bedienen und Beobachten Nein S7-Kommunikation Datenaustausch über konfigurierte Nein...
  • Seite 850 Kommunikation 11.1 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 6 frei verfügbaren Verbindungen können jedoch genutzt werden, um die Anzahl Verbindungen in jeder Kategorie nach dem Bedarf Ihrer Anwendung zu erhöhen.
  • Seite 851 Kommunikation 11.1 Asynchrone Kommunikationsverbindungen Dies ist nur ein Beispiel. Die tatsächliche Anzahl der Verbindungen kann je nach Typ und Version des HMI-Geräts unterschiedlich sein. Beispiel HMI 1 HMI 2 HMI 3 HMI 4 HMI 5 Gesamtzahl verfügbarer Verbin- dungsres- sourcen Verwendete Verbin- dungsres-...
  • Seite 852: Profinet

    Kommunikation 11.2 PROFINET 11.2 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 Eine mit einer anderen CPU verbundene S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 853: Ethernet-Switch

    Kommunikation 11.2 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 854: Netzwerkverbindung Erstellen

    Kommunikation 11.2 PROFINET 11.2.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- 1 Netzwerkverbindung erstellen Handlungsanweisung Ergebnis Wählen Sie die "Netzwerkansicht"...
  • Seite 855: Verbindungspfad Zwischen Lokaler Und Partner-Cpu Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.2 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren Eine Verbindung zwischen lokaler CPU und entfernter Partner-CPU definiert eine logische Zuweisung von zwei Kommunikationspartnern für die Herstellung von Kommunikationsdiensten. Eine Verbindung definiert folgende Elemente: ● Beteiligte Kommunikationspartner (einer aktiv, einer passiv) ●...
  • Seite 856 Kommunikation 11.2 PROFINET Hinweis Wenn Sie die Verbindungseigenschaften für eine CPU konfigurieren, können Sie in STEP 7 entweder einen bestimmten Verbindungs-DB in der Partner-CPU auswählen (sofern vorhanden) oder einen Verbindungs-DB für die Partner-CPU anlegen. Die Partner-CPU muss im Projekt bereits angelegt sein, es darf sich nicht um eine "nicht spezifizierte" CPU handeln.
  • Seite 857 Kommunikation 11.2 PROFINET Tabelle 11- 3 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önnen auf die Schaltfläche "Hervorgehoben: Verbindung"...
  • Seite 858 Kommunikation 11.2 PROFINET Parameter Definition Port (dezimal): TCP und UPD: Port der Partner-CPU im Dezimalformat TSAP und Subnetz-ID: ISO on TCP (RFC 1006) und S7-Kommunikation: TSAPs der lokalen CPU und der Partner-CPU im ASCII- und Hexadezimalformat Verwenden Sie beim Konfigurieren einer Verbindung mit einer S7-1200 CPU über ISO-on-TCP in der TSAP- Erweiterung für die passiven Kommunikationsteilnehmer nur ASCII-Zeichen.
  • Seite 859: Ip-Adressen Zuweisen

    Weil durch die Aktivierung des Webservers berechtigte Benutzer in der Lage sind, den Betriebszustand zu ändern, PLC-Daten zu schreiben und Firmware-Updates durchzuführen, empfiehlt Siemens, die folgenden Sicherheitsvorkehrungen einzuhalten: • Aktivieren Sie den Zugriff auf den Webserver nur über das HTTPS-Protokoll.
  • Seite 860 Kommunikation 11.2 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 Wenn Sie mit Windows 7 arbeiten, können Sie die IP-Adresse Ihres Programmiergeräts mit den folgenden Menübefehlen zuweisen oder prüfen:...
  • Seite 861: Ermitteln Der Ip-Adresse Ihres Programmiergeräts

    Kommunikation 11.2 PROFINET 11.2.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 862 Kommunikation 11.2 PROFINET 3. Wählen Sie im Dialog "Online & Diagnose" die folgenden Menübe- fehle: • "Funktionen" • "IP-Adresse zuordnen" 4. Geben Sie im Feld "IP-Adresse" Ihre neue IP-Adresse ein und klicken Sie auf die Schaltfläche "IP-Adresse zuweisen". 5. Prüfen Sie in der "Projektnavi- gation"...
  • Seite 863: Ip-Adresse Für Eine Cpu In Ihrem Projekt Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.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 864 Kommunikation 11.2 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 865 Kommunikation 11.2 PROFINET Hinweis Alle IP-Adressen werden beim Laden des Projekts konfiguriert. Wenn die CPU keine vorkonfigurierte IP-Adresse besitzt, müssen Sie das Projekt mit der MAC-Adresse des Zielgeräts zuweisen. Ist Ihre CPU an einen Router oder ein Netzwerk angeschlossen, so muss auch die IP-Adresse des Routers eingegeben werden.
  • Seite 866: Konfigurieren Des Profinet-Ports

    Kommunikation 11.2 PROFINET Konfigurieren des PROFINET-Ports Standardmäßig konfiguriert die CPU die Ports der PROFINET-Schnittstelle für die Autonegotiation. Damit die Autonegotiation einwandfrei funktioniert, müssen Sie beide Stationen für die Autonegotiation einrichten. Wenn eine Station eine feste Konfiguration hat (z. B. Vollduplex bei 100 MBit/s) und die andere Station für die Autonegotiation eingerichtet ist, schlägt die Autonegotiation fehl, was zu Halbduplexbetrieb führt.
  • Seite 867 Kommunikation 11.2 PROFINET 3. Überwachen: Wenn Sie dieses Kontrollkästchen aktivieren, wird eine Meldung im Diagnosepuffer abgelegt, sofern eine der folgenden Situationen am Port auftritt: – Am Port kann keine Verbindung hergestellt werden – Eine hergestellte Verbindung schlägt fehl – Sie wählen "TP 100 MBit/s Vollduplex" als Übertragungsrate/Duplex, und die CPU stellt mittels Autonegotiation eine Verbindung mit der ausgehandelten Übertragungsrate ungleich 100 MBit/s oder dem ausgehandelten Duplex ungleich Halbduplex her.
  • Seite 868: Testen Des Profinet-Netzwerks

    Kommunikation 11.2 PROFINET 11.2.4 Testen des PROFINET-Netzwerks Nachdem die Konfiguration beendet ist, laden Sie das Programm (Seite 230) 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 869: Im Dialog "Erweitertes Laden" Auf Angeschlossene Netzwerkgeräte Abfragen

    Kommunikation 11.2 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 870: Ermitteln Der Ethernet-Adresse (Mac-Adresse) Der Cpu

    Kommunikation 11.2 PROFINET 11.2.5 Ermitteln der Ethernet-Adresse (MAC-Adresse) der CPU In PROFINET-Netzwerken ist die MAC-Adresse (Media-Access-Control-Adresse) eine Kennung, die den Netzwerkschnittstellen zur eindeutigen Kennzeichnung vom Hersteller zugewiesen wird. Die MAC-Adresse enthält üblicherweise die registrierte Identifikationsnummer des Herstellers. Das Standardformat (IEEE 802.3) für den Druck von MAC-Adressen als Klartext besteht aus sechs Gruppen zu je zwei Hexadezimalziffern mit Bindestrichen (-) oder Doppelpunkten (:) als Trennzeichen in der Reihenfolge der Übertragung (zum Beispiel 01-23-45-67-89-ab oder 01:23:45:67:89:ab).
  • Seite 871: Ntp-Synchronisation (Network Time Protocol, Ntp) Konfigurieren

    Systemzeit verändern und dadurch in gewissem 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.2, 09/2016, A5E02486681-AK...
  • Seite 872 Kommunikation 11.2 PROFINET 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). Anhand der Antworten der Server wird die zuverlässigste und genaueste Uhrzeit ermittelt und die Uhrzeit der Station synchronisiert.
  • Seite 873: Anlaufzeit, Benennung Und Adresszuweisung Von Profinet-Geräten

    Kommunikation 11.2 PROFINET 11.2.7 Anlaufzeit, Benennung und Adresszuweisung von PROFINET-Geräten PROFINET IO kann die Anlaufzeit für Ihr System verlängern (konfigurierbarer Timeout- Wert). Ein größere Anzahl von Geräten und langsame Geräte wirken sich auf die Zeitdauer aus, die die Umschaltung in RUN benötigt. Bei V4.0 und späteren Versionen sind maximal 16 PROFINET IO-Geräte im S7-1200 PROFINET-Netzwerk möglich.
  • Seite 874: Offene Benutzerkommunikation

    Kommunikation 11.2 PROFINET 11.2.8 Offene Benutzerkommunikation 11.2.8.1 Protokolle Der integrierte PROFINET-Port der CPU unterstützt mehrere Kommunikationsstandards über ein Ethernet-Netzwerk: ● Transport Control Protocol (TCP) ● ISO on TCP (RFC 1006) ● User Datagram Protocol (UDP) Tabelle 11- 7 Protokolle und Kommunikationsanweisungen Protokoll Verwendungsbeispie- Eintragen der Daten
...
  • Seite 875: Tcp Und Iso On Tcp

    Kommunikation 11.2 PROFINET 11.2.8.2 TCP und ISO on TCP Transport Control Protocol (TCP) ist ein Standardprotokoll, beschrieben von RFC 793: Transmission Control Protocol. Wesentlicher Zweck des TCP ist die Bereitstellung einer zuverlässigen, sicheren Verbindung zwischen zwei Paaren von Prozessen. Dieses Protokoll hat die folgenden Merkmale: ●...
  • Seite 876: Kommunikationsdienste Und Verwendete Portnummern

    Kommunikation 11.2 PROFINET 11.2.8.3 Kommunikationsdienste und verwendete Portnummern Die S7-1200 CPU unterstützt die in der nachstehenden Tabelle aufgeführten Protokolle. Bei jedem Protokoll weist die CPU die Adressparameter, die entsprechende Kommunikationsschicht sowie die Kommunikationsrolle und die Kommunikationsrichtung zu. Diese Informationen ermöglichen die Anpassung der Sicherheitsmaßnahmen zum Schutz des Automatisierungssystem an die verwendeten Protokolle (z.
  • Seite 877: Ad-Hoc-Modus

    Kommunikation 11.2 PROFINET 11.2.8.4 Ad-hoc-Modus Typischerweise empfangen die Protokolle TCP und ISO-on-TCP Datenpakete mit fest angegebener Länge von 1 bis 8192 Byte. Die Kommunikationsanweisungen TRCV_C und TRCV jedoch bieten auch einen Ad-hoc-Kommunikationsmodus, in dem Datenpakete variabler Länge von 1 bis 1472 Byte empfangen werden können. Hinweis Wenn Sie die Daten in einem "optimierten"...
  • Seite 878 Kommunikation 11.2 PROFINET Das folgende Beispiel zeigt die Kommunikation zwischen zwei CPUs, die zwei getrennte Verbindungen zum Senden und Empfangen von Daten nutzen. ● Die Anweisung TSEND_C in CPU_1 bezieht sich auf die Anweisung TRCV_C in CPU_2 über die erste Verbindung ("Verbindungs-ID 1" bei beiden CPUs, CPU_1 und CPU_2). ●...
  • Seite 879 Kommunikation 11.2 PROFINET Das folgende Beispiel zeigt die Kommunikation zwischen zwei CPUs, die nur eine Verbindung zum Senden und Empfangen von Daten nutzen. ● Jede CPU nutzt eine Anweisung TCON, um die Verbindung zwischen den beiden CPUs zu konfigurieren. ● Die Anweisung TSEND in CPU_1 bezieht sich auf die Anweisung TRCV in CPU_2 über die Verbindungs-ID ("Verbindungs-ID 1"), die von der Anweisung TCON in CPU_1 konfiguriert wurde.
  • Seite 880 Kommunikation 11.2 PROFINET Wie das folgende Beispiel zeigt, können Sie auch mit einzelnen Anweisungen TSEND und TRCV über eine von einer Anweisung TSEND_C oder TRCV_C erstellte Verbindung kommunizieren. Die Anweisungen TSEND und TRCV erstellen selbst keine neue Verbindung, deshalb müssen Sie den DB und die Verbindungs-ID nutzen, die von einer Anweisung TSEND_C, TRCV_C oder TCON erstellt wurden.
  • Seite 881: Parameter Für Die Profinet-Verbindung

    Kommunikation 11.2 PROFINET 11.2.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" der Anweisung im Register "Konfiguration"...
  • Seite 882 Kommunikation 11.2 PROFINET Byte Parameter und Datentyp Beschreibung rem_tsap_id_len USInt Länge des Parameters rem_tsap_id in Bytes; mögliche Werte: TCP: 0 (passiv) oder 2 (aktiv, Standard) • ISO-on-TCP: 2 bis 16 • UDP: 0 • next_staddr_len USInt Dieser Parameter wird nicht verwendet. 12 …...
  • Seite 883 Kommunikation 11.2 PROFINET Byte Parameter und Datentyp Beschreibung 40 … 55 rem_tsap_id Array [1..16] of Komponente der Partneradresse der Verbindung: Byte TCP: Portnummer der Partner-CPU. Bereich: 1 bis 49151; • empfohlene Werte: 2000 bis 5000): – rem_tsap_id[1] = High Byte der Portnummer in Hexadezi- malnotierung;...
  • Seite 884: Siehe Auch

    [1..32] of Zeichenfeld für TSAP-Name Byte Auswahl lokale Übertragung 46 … 47 TSelLength UInt Länge von TSelector 48 … 79 TSel array [1..32] of Zeichenfeld für TSAP-Name Byte Siehe auch S7-1200 CM/CPs (https://support.industry.siemens.com/cs/de/de/ps) S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 885: Anweisungen Tsend_C Und Trcv_C

    Kommunikation 11.2 PROFINET 11.2.8.7 Anweisungen TSEND_C und TRCV_C Ab Version V4.1 der S7-1200 CPU zusammen mit STEP 7 V13 SP1 ist die Fähigkeit der Anweisungen TSEND_C und TRCV_C dahingehend erweitert, dass Verbindungsparameter mit Strukturen nach "TCON_IP_v4" und "TCON_IP_RFC" verwendet werden können. Die S7-1200 unterstützt daher zwei Sätze TSEND_C- und TRCV_C-Anweisungen: ●...
  • Seite 886 Kommunikation 11.2 PROFINET TSEND_C und TRCV_C (Daten über Ethernet senden und empfangen) Die Anweisung TSEND_C verbindet die Funktionen der 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 "TCON, TDISCON, TSEND UND TRCV (Seite 908)".) Die Mindestdatengröße, die gesendet (TSEND_C) oder empfangen (TRCV_C) werden kann, ist ein Byte;...
  • Seite 887 Kommunikation 11.2 PROFINET Tabelle 11- 11 Anweisungen TSEND_C und TRCV_C KOP/FUP Beschreibung "TSEND_C_DB"( TSEND_C stellt eine TCP- oder ISO-on-TCP- req:=_bool_in_, Verbindung zu einem Partner her, sendet Daten cont:=_bool_in_, und kann die Verbindung auch wieder beenden. Nach dem Einrichten und Aufbauen der Verbin- len:=_uint_in_, dung wird diese automatisch von der CPU ge- done=>_bool_out_,...
  • Seite 888 Kommunikation 11.2 PROFINET Tabelle 11- 12 Datentypen für die Parameter von TSEND_C und TRCV_C Parameter und Datentyp Datentyp Beschreibung Bool Startet den Sendeauftrag bei einer steigenden Flanke (TSEND_C) EN_R Bool Empfang aktivieren (TRCV_C) CONT Bool Steuert die Kommunikationsverbindung: 0: Kommunikationsverbindung nach dem Senden der Daten •...
  • Seite 889 Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung COM_RST IN_OUT Bool Optionaler Parameter (versteckt) Startet die Anweisung neu: 0: Irrelevant • 1: Startet die Anweisung vollständig neu. Die vorhandene • Verbindung wird entweder beendet oder zurückgesetzt und gemäß CONT erneut aufgebaut. Der Parameter COM_RST wird nach Auswertung durch die Anweisung TSEND_C oder TRCV_C zurückgesetzt und darf deshalb nicht statisch geschaltet werden.
  • Seite 890 Kommunikation 11.2 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 891 Kommunikation 11.2 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 892 Kommunikation 11.2 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 893 Kommunikation 11.2 PROFINET 2. Empfangen von Daten über eine vorhandene Kommunikationsverbindung: Der Datenempfang ist aktiviert, wenn der Parameter EN_R auf den Wert 1 gesetzt ist. Wie oben beschrieben, wird zunächst die Kommunikationsverbindung hergestellt. Die empfangenen Daten werden in einen Empfangsbereich geschrieben. Sie geben die Länge des Empfangsbereichs abhängig von der verwendeten Protokollvariante entweder mit dem Parameter LEN an (wenn LEN <>...
  • Seite 894 Kommunikation 11.2 PROFINET Der Parameter COM_RST wird nach Auswertung durch die Anweisung TRCV_ zurückgesetzt. TRCV_C arbeitet mit den gleichen Empfangsmodi wie die Anweisung TRCV. Die folgende Tabelle zeigt, wie Daten in den Empfangsbereich geschrieben werden: Protokollvariante Verfügbarkeit der Daten im Emp- Parameter Connection_type der Parameter LEN Parameter fangsbereich...
  • Seite 895 Kommunikation 11.2 PROFINET Hinweis ISO on TCP (protokollgesteuerte Datenübertragung) Bei der Protokollvariante ISO on TCP werden die Daten protokollgesteuert übertragen. Der Empfangsbereich wird von den Parametern LEN und DATA definiert. Parameter BUSY, DONE und ERROR Hinweis 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.
  • Seite 896: Parameter Error Und Status

    Kommunikation 11.2 PROFINET Parameter Error und Status Tabelle 11- 14 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. 7000 Keine Ausführung eines Sendeauftrags aktiv; keine Kommunikationsverbindung hergestellt. 7001 Ausführung des Sendeauftrags (TSEND_C) oder Empfangsauftrags (TRCV_C) starten.
  • Seite 897 Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung (W#16#...) 8085 Der Parameter LEN ist größer als der größte zulässige Wert. • Der Wert am Parameter LEN oder DATA wurde nach dem ersten Aufruf geändert. • 8086 Der Parameter ID im Parameter CONNECT liegt außerhalb des zulässigen Bereichs. 8087 Maximale Anzahl Verbindungen erreicht;...
  • Seite 898: Anweisungen Tsend_C Und Trcv_C In Älteren Systemen

    Kommunikation 11.2 PROFINET Hinweis Fehlermeldungen der Anweisungen TCON, TSEND, TRCV und TDISCON Intern verwendet Anweisung TSEND_C die Anweisungen TCON, TSEND und TDISCON und die Anweisung TRCV_C verwendet die Anweisungen TCON, TRCV und TDISCON. Weitere Informationen zu den Fehlermeldungen dieser Anweisungen finden Sie unter TCON, TDISCON, TSEND UND TRCV (Seite 908).
  • Seite 899 Kommunikation 11.2 PROFINET Wenn Sie eine TSEND_C- oder TRCV_C-Anweisung über das Anweisungsverzeichnis in Ihr Programm platzieren, wird je nach der ausgewählten TSEND_C- oder TRCV_C-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 > Systembausteine >...
  • Seite 900 Kommunikation 11.2 PROFINET Tabelle 11- 15 Anweisungen TSEND_C und TRCV_C KOP/FUP Beschreibung "TSEND_C_DB"( TSEND_C stellt eine TCP- oder ISO-on-TCP- req:=_bool_in_, Verbindung zu einem Partner her, sendet Daten cont:=_bool_in_, und kann die Verbindung auch wieder beenden. Nach dem Einrichten und Aufbauen der Verbin- len:=_uint_in_, dung wird diese automatisch von der CPU ge- done=>_bool_out_,...
  • Seite 901 Kommunikation 11.2 PROFINET Tabelle 11- 16 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 steigenden Flanke über die im Parameter CONNECT beschrie- (TSEND_C) bene Verbindung. CONT = 1 ist ebenfalls erforderlich, um die Kommunikationsverbindung herzustellen und aufrechtzuerhal- ten.
  • Seite 902 Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung ERROR Bool Statusparameter mit den folgenden Werten: 0: Kein Fehler • 1: Fehler während der Verarbeitung aufgetreten. STATUS • enthält Informationen zum Fehlertyp. STATUS Word Statusinformationen umfassen Fehlerinformationen. (Siehe Tabelle "Fehler- und Statusparameter" unten.) RCVD_LEN Tatsächliche empfangene Datenmenge in Byte (TRCV_C)
  • Seite 903 Kommunikation 11.2 PROFINET Funktionsweise von TSEND_C Die folgenden Funktionen beschreiben die Funktionsweise der Anweisung TSEND_C: ● Um eine Verbindung herzustellen, ist TSEND_C mit CONT = 1 auszuführen. ● Nach der erfolgreichen Herstellung der Verbindung setzt TSEND_C den Parameter DONE für einen Zyklus. ●...
  • Seite 904 Kommunikation 11.2 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 am Parameter RCVD_LEN ausgegeben.
  • Seite 905 Kommunikation 11.2 PROFINET Bedingungscodes von TSEND_C und TRCV_C Error und Status ERROR STATUS Beschreibung 0000 Auftrag fehlerfrei ausgeführt 7000 Keine laufende Auftragsbearbeitung 7001 Auftragsbearbeitung starten, Verbindung herstellen, auf Verbindungspartner warten 7002 Daten werden gesendet oder empfangen 7003 Verbindung wird beendet 7004 Verbindung hergestellt, wird überwacht, keine laufende Auftragsbearbeitung 8085...
  • Seite 906 Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung 80B4 Wenn Sie eine passive Verbindung über ISO on TCP (connection_type = B#16#12) aufbauen, werden Sie anhand des Fehlercodes 80B4 gewarnt, wenn der eingegebene TSAP keiner der folgenden Voraussetzungen für Adressen entspricht: Hat der lokale TSAP eine Länge von 2 und einen ID-Wert von E0 oder E1 (hexade- •...
  • Seite 907: Anweisungen Tcon, Tdiscon, Tsend Und Trcv

    Kommunikation 11.2 PROFINET 11.2.8.9 Anweisungen TCON, TDISCON, TSEND und TRCV Ab Version V4.1 der S7-1200 CPU zusammen mit STEP 7 V13 SP1 wurde die Fähigkeit der Anweisungen TCON, TDISCON, TSEND und TRCV dahingehend erweitert, dass Verbindungsparameter mit Strukturen nach "TCON_IP_v4" und "TCON_IP_RFC" verwendet werden können.
  • Seite 908 Kommunikation 11.2 PROFINET Um die Version einer TCON-, TDISCON-, TSEND- oder TRCV-Anweisung in einem Programm zu ermitteln, müssen Sie die Eigenschaften in der Projektnavigation aufrufen, nicht die Eigenschaften einer im Programmeditor angezeigten Box. Wählen Sie in der Projektnavigation eine FB- oder FC-Instanz einer TCON-, TDISCON-, TSEND- oder TRCV- Anweisung aus, klicken Sie mit der rechten Maustaste, wählen Sie "Eigenschaften"...
  • Seite 909 Kommunikation 11.2 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- 19 Interaktionen zwischen den Parametern BUSY, DONE und ERROR BUSY DONE ERROR Beschreibung Auftrag wird bearbeitet.
  • Seite 910 Kommunikation 11.2 PROFINET Tabelle 11- 21 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 angegebe- nen 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 911 Kommunikation 11.2 PROFINET Beide Kommunikationsteilnehmer führen die Anweisung TCON aus, um die Kommunikationsverbindung einzurichten und herzustellen. Mit Parametern geben Sie die aktiven und passiven Endpunkte der Kommunikation an. Nach dem Einrichten und Aufbauen der Verbindung wird sie automatisch von der CPU gehalten und überwacht. Wird die Verbindung durch eine Leitungsstörung oder vom entfernten Teilnehmer abgebrochen, so versucht der aktive Teilnehmer, sie wieder aufzubauen.
  • Seite 912 Kommunikation 11.2 PROFINET ERROR STATUS Erklärung (W#16#...) 80B5 TCON: Für Verbindungstyp 13 = UDP ist nur die passive Herstellung einer Verbindung zuläs- sig (der Parameter active_est der Struktur TCON_IP_v4 hat den Wert TRUE). 80B6 TCON: Parametrierungsfehler im Parameter connection_type des Datenbausteins für die Ver- bindungsbeschreibung.
  • Seite 913 Kommunikation 11.2 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 914 Kommunikation 11.2 PROFINET Tabelle 11- 24 Datentypen für die Parameter von TSEND und TRCV Parameter und Datentyp Datentyp Beschreibung Bool TSEND: Startet den Sendeauftrag bei einer steigenden Flanke. Die Daten werden aus dem mit DATA und LEN bezeichneten Bereich übertragen. EN_R Bool TRCV: Aktiviert die CPU für den Empfang, bei EN_R = 1 ist TRCV...
  • Seite 915: Funktionsweise Von Trcv

    Kommunikation 11.2 PROFINET Hinweis Die Anweisung TSEND 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 916 Kommunikation 11.2 PROFINET Sobald alle Auftragsdaten empfangen sind, werden sie von TRCV in den Empfangsbereich übertragen und NDR wird auf 1 gesetzt. Tabelle 11- 25 Eintragen der Daten
 in den Empfangsbereich Protokollvari- Eintragen der Daten
 in Parameter Wert des Parameters LEN Wert des Parameters ante den Empfangsbereich...
  • Seite 917 Kommunikation 11.2 PROFINET Tabelle 11- 26 Bedingungscodes von ERROR und STATUS für TSEND und TRCV ERROR STATUS Beschreibung 0000 Sendeauftrag fehlerfrei ausgeführt (TSEND) • Neue Daten angenommen: Die aktuelle Länge der empfangenen Daten wird in • RCVD_LEN (TRCV) gezeigt. 7000 Keine laufende Auftragsbearbeitung (TSEND) •...
  • Seite 918: Ältere Anweisungen Tcon, Tdiscon, Tsend Und Trcv

    Kommunikation 11.2 PROFINET Ethernet-Verbindungsprotokolle Jede CPU hat einen integrierten PROFINET-Anschluss, der die standardmäßige PROFINET-Kommunikation unterstützt. Die Anweisungen TSEND_C, TRCV_C, 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 855)". 11.2.8.10 Ältere Anweisungen TCON, TDISCON, TSEND und TRCV Vor STEP 7 V13 SP1 und den S7-1200 V4.1 CPUs haben die Anweisungen TCON,...
  • Seite 919 Kommunikation 11.2 PROFINET Um die Version einer TCON-, TDISCON-, TSEND- oder TRCV-Anweisung in einem Programm zu ermitteln, müssen Sie die Eigenschaften in der Projektnavigation aufrufen, nicht die Eigenschaften einer im Programmeditor angezeigten Box. Wählen Sie in der Projektnavigation eine FB- oder FC-Instanz einer TCON-, TDISCON-, TSEND- oder TRCV- Anweisung aus, klicken Sie mit der rechten Maustaste, wählen Sie "Eigenschaften"...
  • Seite 920 Kommunikation 11.2 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- 27 Interaktionen zwischen den Parametern BUSY, DONE und ERROR BUSY DONE ERROR Beschreibung WAHR Irrelevant Irrelevant...
  • Seite 921 Kommunikation 11.2 PROFINET Tabelle 11- 29 Datentypen für die Parameter von TCON und TDISCON Parameter und Datentyp Datentyp Beschreibung Bool Der Steuerparameter REQ startet den Auftrag durch Her- stellung der von ID angegebenen Verbindung. Der Auftrag beginnt bei einer steigenden Flanke. CONN_OUC (Word) Verweis auf die Verbindung, die mit dem entfernten Teil- nehmer oder zwischen dem Anwenderprogramm und der...
  • Seite 922 Kommunikation 11.2 PROFINET Beide Kommunikationsteilnehmer führen die Anweisung TCON aus, um die Kommunikationsverbindung einzurichten und herzustellen. Mit Parametern geben Sie die aktiven und passiven Endpunkte der Kommunikation an. Nach dem Einrichten und Aufbauen der Verbindung wird sie automatisch von der CPU gehalten und überwacht. Wird die Verbindung durch eine Leitungsstörung oder vom entfernten Teilnehmer abgebrochen, so versucht der aktive Teilnehmer, sie wieder aufzubauen.
  • Seite 923 Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung 80B4 TCON: Wenn Sie eine passive Verbindung über ISO on TCP (connection_type = B#16#12) aufbauen, werden Sie anhand des Fehlercodes 80B4 gewarnt, wenn der eingegebene TSAP keiner der folgenden Voraussetzungen für Adressen entspricht: Hat der lokale TSAP eine Länge von 2 und einen ID-Wert von E0 oder E1 (hexade- •...
  • Seite 924 Kommunikation 11.2 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 925 Kommunikation 11.2 PROFINET Tabelle 11- 32 Datentypen für die Parameter von TSEND und TRCV Parameter und Datentyp Datentyp Beschreibung Bool TSEND: Startet den Sendeauftrag bei einer steigenden Flanke. Die Daten werden aus dem mit DATA und LEN bezeichneten Bereich übertragen. EN_R Bool TRCV: Aktiviert die CPU für den Empfang, bei EN_R = 1 ist TRCV...
  • Seite 926 Kommunikation 11.2 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 ist Hinweis Die Standardeinstellung des Parameters LEN (LEN = 0) ermittelt anhand des Parameters...
  • Seite 927: Bedingungscodes Von Tsend Und Trcv Error Und Status

    Kommunikation 11.2 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 928: Anweisung T_Reset (Bestehende Verbindung Beenden Und Neu Aufbauen)

    Kommunikation 11.2 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 929 Kommunikation 11.2 PROFINET Die Anweisung "T_RESET" kann für alle Verbindungstypen ausgeführt werden, unabhängig davon, ob die lokale Schnittstelle der CPU oder die Schnittstelle eines CM/CP für die Verbindung verwendet wurde. Eine Ausnahme bilden Verbindungen für die Datenübertragung im Ad-hoc-Modus mit TCP, da auf diese Verbindungen nicht mit einer Verbindungs-ID verwiesen werden kann.
  • Seite 930: Anweisung T_Diag (Status Einer Verbindung Prüfen Und Informationen Lesen)

    Kommunikation 11.2 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.2.8.12 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- 35...
  • Seite 931 Kommunikation 11.2 PROFINET Mögliche Verbindungsinformationen Die Struktur TDiag_Status kann zum Lesen der Verbindungsinformationen am Parameter RESULT verwendet werden. Die Struktur TDiag_Status enthält nur die wichtigsten Informationen über einen Verbindungsendpunkt (z. B. das verwendete Protokoll, den Verbindungszustand und die Anzahl der gesendeten oder empfangenen Datenbytes). Die Struktur und Parameter der TDiag_Status-Struktur werden nachstehend beschrieben (siehe Tabelle zur Struktur TDIAG_Status).
  • Seite 932 Kommunikation 11.2 PROFINET Parameter BUSY, DONE und ERROR Den Status der Ausführung von T_DIAG können Sie mit den Parametern BUSY, DONE, ERROR und STATUS prüfen. Der Parameter BUSY zeigt den Bearbeitungszustand an. Mit dem Parameter DONE prüfen Sie, ob eine Anweisung erfolgreich ausgeführt wurde. Der Parameter ERROR wird gesetzt, wenn während der Ausführung von T_DIAG Fehler auftreten.
  • Seite 933 Kommunikation 11.2 PROFINET Struktur TDIAG_Status Die folgende Tabelle enthält Einzelheiten zur Struktur TDIAG_Status. Der Wert jedes Elements ist nur gültig, wenn die Anweisung fehlerfrei ausgeführt wurde. Tritt ein Fehler auf, ändert sich der Inhalt der Parameter nicht: Name Datentyp Beschreibung Die folgenden Parameter befinden sich in der Struktur TDIAG_Status: InterfaceID HW_ANY...
  • Seite 934 Kommunikation 11.2 PROFINET Name Datentyp Beschreibung State BYTE Aktueller Status des Verbindungsendpunkts 0x00: Nicht verwendet. • 0x01: Verbindung beendet. Temporärer Status, beispielsweise nach Aufruf der • Anweisung T_RESET. Das System versucht dann automatisch, die Verbindung wiederherzustellen. 0x02: Der aktive Verbindungsendpunkt versucht, eine Verbindung zum dezent- •...
  • Seite 935: Anweisung Tmail_C (Email Über Die Ethernet-Schnittstelle Der Cpu Senden)

    Kommunikation 11.2 PROFINET 11.2.8.13 Anweisung TMAIL_C (Email über die Ethernet-Schnittstelle der CPU senden) Überblick Mit der Anweisung "TMAIL_C" können Sie eine E-Mail über die Ethernet-Schnittstelle der S7-1200 CPU senden. Die Anweisung TMAIL_C hat zwei Funktionalitäten: ● E-Mail über die CPU-Schnittstelle (nur SMTP ohne SSL) ●...
  • Seite 936: Funktionsweise Der Anweisung

    Kommunikation 11.2 PROFINET Den Inhalt der E-Mail und die Verbindungsdaten legen Sie mit den folgenden Parametern fest: ● Mit den Parametern TO_S und CC legen Sie die Empfängeradresse fest. ● Den Inhalt der E-Mail legen Sie mit den Parametern SUBJECT und TEXT fest. ●...
  • Seite 937 Kommunikation 11.2 PROFINET Die Verbindung wird auch beendet, wenn die Anweisung erfolgreich ausgeführt und die E- Mail gesendet wurde. ACHTUNG Anwenderprogramme ändern Sie können die Teile Ihres Anwenderprogramms, die direkt die Aufrufe von "TMAIL_C" betreffen, nur ändern, wenn: • sich die CPU in STOP befindet •...
  • Seite 938 Kommunikation 11.2 PROFINET SMTP-Authentifizierung Authentifizierung bezeichnet hier ein Verfahren zur Identitätsprüfung, zum Beispiel mit einer Passwortabfrage. Wenn Sie die Schnittstelle der S7-1200 CPU verwenden, unterstützt die Anweisung "TMAIL_C" das SMTP-Authentifizierungsverfahren AUTH-LOGIN, das für die meisten Mailserver erforderlich ist. Informationen zum Authentifizierungsverfahren Ihres Mailservers finden Sie im Handbuch zu Ihrem Mailserver oder auf der Webseite Ihres Internet- Dienstanbieters.
  • Seite 939 Kommunikation 11.2 PROFINET Parameter Deklaration Datentyp Speicherbe- Beschreibung reich TEXT Input STRING Text der E-Mail (optional) STRING mit einer maximalen Länge von 180 Zeichen (Byte). Wird hier eine leere Zeichenkette zugewiesen, wird die Mail ohne Text gesendet. ATTACHMEN Input VARIANT E-Mail-Anlage (optional) Verweis auf ein Byte/Wort/Doppelwort- Feld (ArrayOfByte, ArrayOfWord oder...
  • Seite 940 Kommunikation 11.2 PROFINET Parameter Deklaration Datentyp Speicherbe- Beschreibung reich ERROR (Sei- Output BOOL E, A, M, D, Statusparameter te 943) ERROR = 0: Kein Fehler aufgetre- • ten. ERROR = 1: Fehler während der • Verarbeitung aufgetreten. STATUS enthält Informationen zum Fehler- typ.
  • Seite 941 Kommunikation 11.2 PROFINET Welche Struktur verwendet werden kann, hängt von der mit dem Parameter InterfaceId angesprochenen Schnittstelle ab. Soll die Anweisung "TMAIL_C" mit der internen Schnittstelle verwendet werden, muss für Parameter MAIL_ADDR_PARAM Struktur Tmail_v4 verwendet werden. Tabelle 11- 37 Tmail_v4: Adressierung des Mailservers über die IP-Adresse (IPv4) Parameter Datentyp Beschreibung...
  • Seite 942 Kommunikation 11.2 PROFINET Tabelle 11- 38 Tmail_FQDN: Adressierung des Mailservers über FQDN Parameter Datentyp Beschreibung Tmail_v6 Struct Tmail_FQDN LADDR Hardwarekennung der Schnittstelle CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#22 als Verbindungstyp für FQDN. ActiveEstablished BOOL Status-Bit. Auf "1" zu setzen, wenn die Verbindung aufge- baut ist.
  • Seite 943 Kommunikation 11.2 PROFINET Parameter TO_S und CC Die Parameter TO_S und CC sind Zeichenketten mit z. B. dem folgenden Inhalt: ● <wenna@mydomain.com>, <ruby@mydomain.com> ● <admin@mydomain.com>, <judy@mydomain.com> Bei der Eingabe der Parameter sind die folgenden Regeln zu beachten: ● Ein Leerzeichen und eine öffnende spitze Klammer "<" müssen vor jeder Adresse eingegeben werden.
  • Seite 944 Kommunikation 11.2 PROFINET 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 fehlerfrei beendet. bedeutet nicht, dass die gesendete Mail tat- sächlich ankommt.
  • Seite 945 Kommunikation 11.2 PROFINET Rückgabe- Bedeutung Hinweise wert STATUS* (W#16#...): 8014 Verbindungsaufbau nicht möglich. Es wurde möglicherweise eine falsche Mailserver-IP-Adresse (MailServerAddress (Seite 940)) oder eine zu kurze Zeit (WatchDogTime (Seite 940)) für den Verbin- dungsaufbau eingegeben. Es ist auch möglich, dass die CPU keine Verbindung zum Netz- werk hat oder die CPU-Konfiguration fehlerhaft ist.
  • Seite 946: Udp

    Kommunikation 11.2 PROFINET Rückgabe- Bedeutung Hinweise wert STATUS* (W#16#...): 8550 Mailserver nicht erreichbar. Sie haben Sie haben einen falschen Benutzernamen keine Zugriffsrechte. oder ein falsches Passwort eingegeben oder der Mailserver unterstützt Ihre Anmeldung nicht. Eine andere Fehlerursache kann ein Fehler im Domainnamen nach dem "@" in Parameter TO_S oder CC sein (siehe auch: Parameter TO_S und CC (Seite 943)).
  • Seite 947: Tusend Und Turcv

    Kommunikation 11.2 PROFINET 11.2.8.15 TUSEND und TURCV Die folgenden Anweisungen steuern den UDP-Kommunikationsprozess: ● TCON baut die Kommunikation zwischen dem Client- und dem Server-PC (CPU) auf. ● TUSEND und TURCV senden und empfangen Daten. ● TDISCON trennt die Kommunikation zwischen dem Client und dem Server. Weitere Informationen zu den Kommunikationsanweisungen TCON und TDISCON finden Sie im Abschnitt "TCP und ISO-on-TCP"...
  • Seite 948 Kommunikation 11.2 PROFINET Tabelle 11- 40 Datentypen für die Parameter von TUSEND und TURCV Parameter und Datentyp Datentyp Beschreibung Bool Startet den Sendeauftrag bei einer steigenden Flanke. Die Da- ten werden aus dem mit DATA und LEN bezeichneten Bereich (TUSEND) übertragen.
  • Seite 949 Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung DATA IN_OUT Variant Adresse des Sendebereichs (TUSEND) oder Empfangsbereichs (TURCV): das Prozessabbild der Eingänge • das Prozessabbild der Ausgänge • ein Merkerbit • einen Datenbaustein • ADDR IN_OUT Variant Pointer auf die Adresse des Empfängers (bei TUSEND) oder des Senders (bei TURCV) (z.
  • Seite 950 Kommunikation 11.2 PROFINET Tabelle 11- 42 Bedingungscodes von TUSEND und TURCV für ERROR und STATUS ERROR STATUS Beschreibung 0000 Sendeauftrag fehlerfrei ausgeführt (TUSEND). • Neue Daten wurden angenommen. Die aktuelle Länge der empfangenen Daten wird • in RCVD_LEN (TURCV) gezeigt. 7000 Keine laufende Auftragsbearbeitung (TUSEND) •...
  • Seite 951: Betrieb

    Kommunikation 11.2 PROFINET Ethernet-Verbindungsprotokolle Jede CPU hat einen integrierten PROFINET-Anschluss, der die standardmäßige PROFINET-Kommunikation unterstützt. Die Anweisungen TUSEND und TURCV unterstützen das UDP-Ethernet-Protokoll. Weitere Informationen finden Sie im Kapitel ""Gerätekonfiguration" unter "Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren" (Seite 855). Betrieb Beide Partner sind in der UDP-Kommunikation passiv.
  • Seite 952 Kommunikation 11.2 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.2, 09/2016, A5E02486681-AK...
  • Seite 953: T_Config

    Kommunikation 11.2 PROFINET 11.2.8.16 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 954 Kommunikation 11.2 PROFINET Tabelle 11- 43 Anweisung T_CONFIG KOP/FUP Beschreibung "T_CONFIG_DB"( Die Anweisung T_CONFIG ändert die Parameter Req:=_bool_in_, der IP-Konfiguration über das Anwenderprogramm. Interface:=_uint_in_, T_CONFIG arbeitet asynchron. Die Ausführung Conf_Data:=_variant_in_, erstreckt sich über mehrere Aufrufe. Done=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, Status=>_dword_out_, Err_Loc=>_dword_out_); Tabelle 11- 44 T_CONFIG-Datentypen für die Parameter Parameter und Datentyp...
  • Seite 955 Kommunikation 11.2 PROFINET Die IP-Konfigurationsdaten werden im Datenbaustein CONF_DATA abgelegt, zusammen mit einem Variant-Pointer auf den oben angegebenen Parameter CONF_DATA. Die erfolgreiche Ausführung der Anweisung T_CONFIG endet mit der Übergabe der IP-Konfigurationsdaten an die Netzwerkschnittstelle. Die Status- und Fehlermeldungen der Anweisung "T_CONFIG"werden an den Parametern STATUS und ERR_LOC ausgegeben: ●...
  • Seite 956 Kommunikation 11.2 PROFINET STATUS* ERR_LOC* Bedeutung C080_8B00 0001_000x Fehler im Systemdatentyp IF_CONF_V4, IF_CONF_NOS oder IF_CONF_NTP: Der Parameter Id hat einen ungültigen Wert. Verwenden Sie für IF_CONF_V4 den Wert 30, für IF_CONF_NOS den Wert 40, für IF_CONF_NTP den Wert 17. C080_8C00 0001_000x Fehler im Systemdatentyp IF_CONF_V4, IF_CONF_NOS oder IF_CONF_NTP: Falscher Systemdatentyp verwendet, falsche Reihenfolge oder mehrmalige Verwendung...
  • Seite 957 Kommunikation 11.2 PROFINET Datenbaustein CONF_DATA Die folgende Abbildung zeigt, wie die zu übertragenden Konfigurationsdaten im Konfigurations-DB gespeichert werden. ① ④ Konfigurations-DB Unterfeld 2 ② ⑤ Konfigurationsdaten Unterfeld ③ ⑥ Unterfeld 1 Unterfeldspezifische Parameter Die Konfigurationsdaten von CONF_DB bestehen aus einem Feld mit einem Header (IF_CONF_Header) und mehreren Unterfeldern.
  • Seite 958 Kommunikation 11.2 PROFINET Tabelle 11- 46 Elemente des Datentyps IF_CONF_V4 Name Datentyp Startwert Beschreibung UInt subfield_type_id Length UInt subfield_length Mode UInt subfield_mode (1: Dauerhaft oder 2: Temporär) InterfaceAddress IP_V4 Schnittstellenadresse ADDR Array [1..4] of Byte ADDR[1] Byte High Byte der IP-Adresse: 200 ADDR[2] Byte High Byte der IP-Adresse: 12...
  • Seite 959 Kommunikation 11.2 PROFINET Tabelle 11- 47 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 Array[1..240] of Byte Stationsname: Sie müssen das ARRAY ab dem ersten Byte station) belegen.
  • Seite 960 Kommunikation 11.2 PROFINET Tabelle 11- 48 Elemente des Datentyps IF_CONF_NTP Name Datentyp Startwert Beschreibung UInt subfield_type_id Length UInt subfield_length Mode UInt subfield_mode (2: Temporär) NTP_IP Array[1...4] of IP_V4 IP-Adressen von NTP-Servern NTP_IP[1] IP_V4 IP-Adressen von NTP-Server 1 ADDR Array[1...4] of Byte ADDR[1] Byte High Byte der IP-Adresse...
  • Seite 961: Beispiel: Ip-Parameter Mit Anweisung T_Config Ändern

    Kommunikation 11.2 PROFINET Beispiel: IP-Parameter mit Anweisung T_CONFIG ändern Im folgenden Beispiel werden im Unterfeld "addr" die Parameter "InterfaceAddress" (IP- Adresse), "SubnetMask" und "DefaultRouter" (IP-Router) geändert. Auf der Seite "Ethernet- Adresse" in den "Eigenschaften" der CPU können Sie über das Optionsfeld "IP-Adresse wird direkt am Gerät eingestellt"...
  • Seite 962 Kommunikation 11.2 PROFINET S7-1200 Automatisierungssystem Systemhandbuch, V4.2, 09/2016, A5E02486681-AK...
  • Seite 963: Beispiel: Ip-Parameter Und Profinet Io-Gerätenamen Mit Anweisung T_Config Ändern

    Kommunikation 11.2 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 964 Kommunikation 11.2 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 965: Gemeinsame Parameter Für Anweisungen

    Kommunikation 11.2 PROFINET 11.2.8.17 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 966: Eingeschränkte Tsaps Und Portnummern Für Passive Iso- Und Tcp-Kommunikation

    Kommunikation 11.2 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 entsprechende Fehlercode befindet sich in STATUS; andernfalls FALSCH. STATUS Word Ergebniszustand: Wird das Bit DONE oder NDR gesetzt, wird STATUS auf 0 •...
  • Seite 967: Kommunikation Mit Einem Programmiergerät

    Kommunikation 11.2 PROFINET 11.2.9 Kommunikation mit einem Programmiergerät Eine CPU kann mit einem Programmiergerät STEP 7 in einem Netzwerk kommunizieren. 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 968: Konfigurieren Der Geräte

    Kommunikation 11.2 PROFINET Für die PROFINET-Verbindung ist eine optionale Zugentlastung verfügbar. Bestellinformationen finden Sie unter Ersatzteile und sonstige Hardware (Seite 1653). 11.2.9.2 Konfigurieren der Geräte Wenn Sie bereits ein Projekt mit einer CPU angelegt haben, öffnen Sie Ihr Projekt in STEP Sonst legen Sie ein Projekt an und fügen eine CPU (Seite 162) in den Baugruppenträger ein.
  • Seite 969: Testen Ihres Profinet-Netzwerks

    Kommunikation 11.2 PROFINET 11.2.9.4 Testen Ihres PROFINET-Netzwerks Nach Abschluss der Konfiguration müssen Sie Ihr Projekt in die CPU laden. Alle IP- Adressen werden beim Laden des Projekts konfiguriert. Die Funktion "Laden in Gerät" der 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.
  • Seite 970: Konfigurieren Der Logischen Netzwerkverbindungen Zwischen Zwei Geräten

    Kommunikation 11.2 PROFINET Tabelle 11- 50 Erforderliche Schritte zum Konfigurieren der Kommunikation zwischen einer HMI und einer CPU Schritt Aufgabenstellung Hardware-Kommunikationsverbindung herstellen Eine PROFINET-Schnittstelle stellt die physische Verbindung zwischen einer HMI und einer CPU 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 971: Kommunikation Plc/Plc

    Kommunikation 11.2 PROFINET 11.2.11 Kommunikation PLC/PLC Eine CPU kann mit den Anweisungen TSEND_C und TRCV_C mit einer anderen CPU im Netzwerk kommunizieren. Berücksichtigen Sie beim Einrichten der Kommunikation zwischen zwei CPUs Folgendes: ● Konfiguration/Setup: Eine Hardwarekonfiguration ist erforderlich. ● Unterstützte Funktionen: Lesen/Schreiben von Daten in eine vernetzte CPU ●...
  • Seite 972: Konfigurieren Der Logischen Netzwerkverbindungen Zwischen Zwei Geräten

    Kommunikation 11.2 PROFINET 11.2.11.1 Konfigurieren der logischen Netzwerkverbindungen zwischen zwei Geräten Nachdem Sie den Baugruppenträger mit der CPU konfiguriert haben, können Sie Ihre Netzwerkverbindungen einrichten. Im Portal "Geräte & Netze" können Sie in der "Netzsicht" die Geräte in Ihrem Projekt vernetzen.
  • Seite 973: Sende- Und Empfangsparameter Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.11.3 Sende- und Empfangsparameter konfigurieren Über Kommunikationsbausteine (z. B. TSEND_C und TRCV_C) werden Verbindungen zwischen zwei CPUs hergestellt. Damit die PROFINET-Kommunikation von den CPUs aufgenommen werden kann, müssen die Parameter zum Senden und Empfangen von Meldungen eingerichtet werden. Diese Parameter legen fest, wie die Kommunikation abläuft, wenn Meldungen von einem Zielgerät gesendet oder von diesem empfangen werden.
  • Seite 974 Kommunikation 11.2 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 975 Kommunikation 11.2 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 976: Cpu Und Profinet Io-Gerät Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.12 CPU und PROFINET IO-Gerät konfigurieren 11.2.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 977: Cpus Und Gerätenamen Zuweisen

    Kommunikation 11.2 PROFINET 11.2.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.
  • Seite 978: Io-Zykluszeit Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.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 979: Cpu Und Profinet I-Device Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.13 CPU und PROFINET I-Device konfigurieren 11.2.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.
  • Seite 980: Eigenschaften Und Vorteile Des I-Device

    Kommunikation 11.2 PROFINET 11.2.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 981: Merkmale Eines I-Device

    Kommunikation 11.2 PROFINET 11.2.13.3 Merkmale eines I-Device Ein I-Device wird in einem E/A-System wie ein Standard-IO-Gerät eingefügt. 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).
  • Seite 982: I-Device Mit Untergeordnetem Profinet Io-System

    Kommunikation 11.2 PROFINET 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. Somit kann ein I-Device über seine PROFINET-Schnittstelle zu einem übergeordneten E/A- System gehören und als IO-Controller sein eigenes untergeordnetes E/A-System unterstützen.
  • Seite 983: Beispiel: I-Device Als Io-Gerät Und Io-Controller

    Kommunikation 11.2 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 984 Kommunikation 11.2 PROFINET ① Datenaustausch zwischen übergeordnetem IO-Controller und normalem IO-Gerät Der IO-Controller und die IO-Geräte tauschen Daten über PROFINET aus. ② Datenaustausch zwischen übergeordnetem IO-Controller und I-Device Der IO-Controller und das I-Device tauschen Daten über PROFINET aus. Der Datenaustausch zwischen einem übergeordneten IO-Controller und einem I-Device beruht auf der üblichen Beziehung zwischen IO-Controller und IO-Gerät.
  • Seite 985: I-Device Konfigurieren

    Kommunikation 11.2 PROFINET ⑤ Datenaustausch zwischen I-Device und einem untergeordneten IO-Gerät Es werden Daten zwischen I-Device und seinen IO-Geräten ausgetauscht. Die Datenübertra- gung erfolgt über PROFINET. 11.2.13.5 I-Device konfigurieren Für die Konfiguration gibt es grundsätzlich zwei Möglichkeiten: ● Konfiguration eines I-Device in einem Projekt ●...
  • Seite 986: Konfiguration Eines I-Device In Einem Projekt

    Kommunikation 11.2 PROFINET Konfiguration eines I-Device in einem Projekt 1. Ziehen Sie mit der Maus eine PROFINET-CPU aus dem Hardwarekatalog in die Netzsicht. 2. Ziehen Sie mit der Maus eine PROFINET-CPU, die auch als IO-Device konfiguriert werden kann, aus dem Hardwarekatalog in die Netzsicht. Dieses Gerät wird als I-Device konfiguriert (z.
  • Seite 987: Konfigurieren Eines I-Device Mit Einer Gsd-Datei

    Kommunikation 11.2 PROFINET 7. Konfigurieren Sie die Transferbereiche. Die Transferbereiche finden Sie im Navigationsbereich "I-Device-Kommunikation": – Klicken Sie in der Spalte "Transferbereich" in das erste Feld. STEP 7 weist einen Standardnamen zu, den Sie ändern können. – Wählen Sie die Art der Kommunikationsbeziehung aus: Derzeit können Sie lediglich CD oder F-CD auswählen.
  • Seite 988: Shared Devices

    Kommunikation 11.2 PROFINET 11.2.14 Shared Devices 11.2.14.1 Shared-Device-Funktion In größeren und weiter verteilten Systemen werden häufig zahlreiche IO-Controller eingesetzt. Ohne die "Shared-Device"-Funktion ist jedes E/A-Modul eines IO-Device dem gleichen IO- Controller zugewiesen. Wenn Sensoren, die sich physisch nahe beieinander befinden, verschiedenen IO-Controllern Daten liefern müssen, sind dafür mehrere IO-Devices erforderlich.
  • Seite 989: Voraussetzung (Gsd-Konfiguration)

    Kommunikation 11.2 PROFINET 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 990: Einstellung Der Echtzeiteigenschaften

    Kommunikation 11.2 PROFINET Einstellung der Echtzeiteigenschaften STEP 7 berechnet die Kommunikationslast und somit die resultierenden Aktualisierungszeiten. Sie müssen die Anzahl der projektexternen IO-Controller in dem Projekt, in dem die PROFINET-Schnittstelle des Shared Device dem IO-Controller zugewiesen ist, angeben, damit eine Berechnung mit Shared-Device-Konfigurationen möglich ist.
  • Seite 991: Beispiel: Ein Shared Device Konfigurieren (Gsd-Konfiguration)

    Kommunikation 11.2 PROFINET Grenzbedingungen Die folgenden Grenzbedingungen entstehen, weil eine Shared-Device-Konfiguration über mehrere Projekte verteilt ist: ● Die Adressen von Modulen und Submodulen, die diesem IO-Controller nicht zugewiesen sind, fehlen in der Adressübersicht jedes IO-Controllers, der Zugriff auf ein Shared Device hat.
  • Seite 992: Vorgehensweise: Projekt 1 Anlegen

    Kommunikation 11.2 PROFINET Vorgehensweise: Projekt 1 anlegen Um das erste Projekt mit einem Shared Device anzulegen, gehen Sie wie folgt vor: 1. Starten Sie STEP 7. 2. Legen Sie ein neues Projekt mit dem Namen "Controller1" an. 3. Fügen Sie eine CPU 1215C aus dem Hardwarekatalog in die Netzsicht ein. Benennen Sie es "Controller1".
  • Seite 993: Vorgehensweise: Projekt 2 Anlegen

    Kommunikation 11.2 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 994: Vorgehensweise: Zugriff Auf Das Shared Device Konfigurieren

    Kommunikation 11.2 PROFINET Vorgehensweise: Zugriff auf das Shared Device konfigurieren Die Module und Submodule, die Sie in das Shared Device einfügen, werden automatisch der lokalen CPU zugewiesen. Um die Zuweisung zu ändern, gehen Sie wie folgt vor: 1. Wählen Sie in der Netz- oder Gerätesicht von Projekt "Controller1" das Schnittstellenmodul aus.
  • Seite 995 Kommunikation 11.2 PROFINET 6. Wählen Sie die Einstellung "---" für alle Module und Submodule, die sich im Adressbereich der CPU aus dem Projekt "Controller1" befinden sollen. 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.
  • Seite 996: Vorgehensweise: Echtzeiteinstellungen Anpassen

    Kommunikation 11.2 PROFINET Vorgehensweise: Echtzeiteinstellungen anpassen Um zu gewährleisten, dass alle IO-Controller und Shared Devices mit dem passenden Sendetakt betrieben werden und dass die Aktualisierungszeiten anhand der Kommunikationslast richtig berechnet werden, müssen Sie die folgenden Einstellungen prüfen und anpassen: 1. Wählen Sie das Projekt aus, dessen IO-Controller Zugriff auf die PROFINET-Schnittstelle und die Ports des Shared Device hat.
  • Seite 997: Beispiel: Ein I-Device Als Shared Device Konfigurieren

    Kommunikation 11.2 PROFINET 11.2.14.3 Beispiel: Ein I-Device als Shared Device konfigurieren In diesem Beispiel wird beschrieben, wie Sie eine S7-1200 mit STEP 7 ab Version V13 SP1 als I-Device konfigurieren und sie dann in zwei Projekten als Shared Device einsetzen. Eine "dezentrale"...
  • Seite 998: Controller, Die Das I-Device Gemeinsam Nutzen

    Kommunikation 11.2 PROFINET I-Device Sie weisen die folgenden Parameter für eine S7-1200 CPU als I-Device zu: ● Zentrale und dezentrale Peripherie ● Gewünschte Übertragungsbereiche ● Anzahl der IO-Controller mit Zugriff auf dieses I-Device (bei einem Shared Device immer größer als 1) Hinweis Sie konfigurieren das I-Device ohne einen übergeordneten IO-Controller.
  • Seite 999: Vorgehensweise: Projekt S7-1200-I-Device Anlegen

    Kommunikation 11.2 PROFINET Vorgehensweise: Projekt S7-1200-I-Device anlegen Um das Projekt mit einem Shared I-Device anzulegen, gehen Sie wie folgt vor: 1. Starten Sie STEP 7. 2. Legen Sie ein neues Projekt mit dem Namen "S7-1200-I-Device" an. 3. Fügen Sie eine CPU 1215C aus dem Hardwarekatalog in die Netzsicht ein. Weisen Sie den Namen "S7-1200-I-Device"...
  • Seite 1000 Kommunikation 11.2 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".

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis