SIMATIC S7 S7-1200 Automatisierungssystem Systemhandbuch V4.2.
Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.
Vorwort Zweck des Handbuchs Die Familie S7-1200 umfasst verschiedene speicherprogrammierbare Steuerungen (SPS), mit denen Sie eine breite Palette von Automatisierungsaufgaben lösen können. Durch das kompakte Design, die Möglichkeit der Erweiterung, den günstigen Preis und einen leistungsstarken Befehlssatz eignet sich die S71200 hervorragend für eine Vielzahl von Steuerungsanwendungen.
Vorwort Dokumentation und Information S7-1200 und STEP 7 bieten eine Vielzahl von Dokumentationen und anderen Quellen mit technischen Informationen. ● Das Systemhandbuch S7-1200 Automatisierungssystem bietet spezielle Informationen zu Funktionsweise, Programmierung und technischen Daten der gesamten S7-1200Produktfamilie. Das Systemhandbuch steht elektronisch (im PDF-Format) zur Verfügung. Sie können dieses und andere elektronische Handbücher auf der Siemens-Website Industry OnlineSupport (https://support.
Vorwort Security-Hinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen. Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht.
Vorwort S7-1200 Automatisierungssystem 6 Systemhandbuch, V4.2.
Inhaltsverzeichnis Vorwort ................................................................................................................................................... 3 1 Produktübersicht ................................................................................................................................... 27 1.1 Einführung in den S7-1200 PLC .............................................................................................27 1.2 Erweiterungsfähigkeit der CPU .............
Inhaltsverzeichnis 4.4 5 Verdrahtungsrichtlinien .......................................................................................................... 79 PLC-Grundlagen ................................................................................................................................... 87 5.1 5.1.1 5.1.2 5.1.3 5.1.3.1 5.1.3.2 5.1.3.3 5.1.3.4 5.1.3.5 5.1.3.6 5.1.3.7 5.1.3.8 5.1.3.9 5.1.3.10 5.1.3.11 5.1.3.12 5.1.3.13 5.1.3.14 5.1.3.15 5.1.3.16 5.1.3.17 5.1.4 5.1.5 5.1.5.1 5.1.6 5.1.7 5.
Inhaltsverzeichnis 6 7 5.5.4 5.5.5 Programmkarte .....................................................................................................................153 Firmware-Update ..................................................................................................................157 5.6 Vorgehensweise bei verlorenem Passwort...........................................................................160 Gerätekonfiguration ............................................................
Inhaltsverzeichnis 8 7.6.4 Kopierschutz ........................................................................................................................ 224 7.7 Laden der Programmelemente ............................................................................................ 226 7.8 Synchronisieren der Online-CPU und des Offline-Projekts ................................................. 229 7.9 7.9.1 Laden von der Online-CPU .............................................................
Inhaltsverzeichnis 8.6.8.2 8.6.9 8.6.9.1 8.6.9.2 8.6.9.3 8.6.10 8.6.10.1 Anweisungen Big- und Little-Endian-Format lesen und schreiben (SCL) ............................294 Variant-Anweisungen ............................................................................................................295 VariantGet (VARIANT Variablenwert lesen) .........................................................................295 VariantPut (VARIANT Variablenwert schreiben) ..........................................
Inhaltsverzeichnis 9 Erweiterte Anweisungen ......................................................................................................................345 9.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 Datums-, Uhrzeit- und Uhrfunktionen .................................................................................. 345 Datums- und Uhrzeitanweisungen ....................................................................................... 345 Uhrzeitfunktionen .............................................
Inhaltsverzeichnis 9.5.1 9.5.2 9.5.2.1 9.5.2.2 9.5.3 9.5.3.1 9.5.3.2 9.5.3.3 9.5.3.4 9.5.4 9.5.5 Anweisungen ATTACH und DETACH (OB und Alarmereignis einander zuweisen/Zuweisung aufheben) ...........................................................................................432 Weckalarme ..........................................................................................................................436 SET_CINT (Weckalarm parametrieren) ........................................................
Inhaltsverzeichnis 10 9.10.4 DELETE_DB (Datenbaustein löschen) ................................................................................ 561 9.11 9.11.1 9.11.2 9.11.3 9.11.4 9.11.5 Adressverarbeitung .............................................................................................................. 563 GEO2LOG (Aus dem Steckplatz die Hardwarekennung ermitteln) ..................................... 563 LOG2GEO (Steckplatz über Hardwarekennung ermitteln) ................................
Inhaltsverzeichnis 10.2.5 10.2.6 10.2.7 10.2.8 Regler PID_Compact und PID_3Step konfigurieren .............................................................640 PID_Temp-Regler konfigurieren ...........................................................................................643 Regler PID_Compact und PID_3Step in Betrieb nehmen ....................................................659 PID_Temp-Regler in Betrieb nehmen ...................................................................................
Inhaltsverzeichnis 11 Kommunikation ....................................................................................................................................827 11.1 Asynchrone Kommunikationsverbindungen ........................................................................ 829 11.2 11.2.1 11.2.2 11.2.3 11.2.3.1 11.2.3.2 11.2.3.3 11.2.3.4 11.2.4 11.2.5 11.2.6 11.2.7 11.2.8 11.2.8.1 11.2.8.2 11.2.8.3 11.2.8.4 11.2.8.5 11.2.8.6 11.2.8.7 11.2.8.8 11.2.8.9 11.2.8.10 11.2.8.11 11.2.8.12 11.2.8.
Inhaltsverzeichnis 11.2.13.3 11.2.13.4 11.2.13.5 11.2.14 11.2.14.1 11.2.14.2 11.2.14.3 11.2.15 11.2.15.1 11.2.15.2 11.2.15.3 11.2.16 11.2.16.1 11.2.16.2 11.2.17 11.2.17.1 11.2.18 11.2.19 11.2.20 11.2.21 Merkmale eines I-Device ......................................................................................................960 Datenaustausch zwischen über- und untergeordnetem E/A-System ...................................962 I-Device konfigurieren ......................................................
Inhaltsverzeichnis 12 Webserver ......................................................................................................................................... 1039 12.1 Webserver aktivieren ......................................................................................................... 1041 12.2 Konfigurieren von Webserver-Benutzern ........................................................................... 1043 12.3 Über den PC auf die Webseiten zugreifen ........................
Inhaltsverzeichnis 13 12.7.10.1 12.7.10.2 12.7.10.3 12.7.11 Ordnerstruktur anlegen .......................................................................................................1116 Sprachumschaltung programmieren...................................................................................1116 STEP 7 für die Verwendung einer mehrsprachigen Seitenstruktur konfigurieren ..............1120 Erweiterte Steuerung von benutzerdefinierten Webseiten .................................................
Inhaltsverzeichnis 13.4.3.1 13.4.3.2 13.4.3.3 13.4.3.4 13.4.4 13.4.5 13.4.6 USS_Port_Scan (Kommunikation über USS-Netzwerk bearbeiten) .................................. 1202 USS_Drive_Control (Daten mit Antrieb tauschen) ............................................................. 1204 USS_Read-Param (Parameter aus dem Antrieb auslesen) .............................................. 1207 USS_Write_Param (Parameter im Antrieb ändern) ...........................................................
Inhaltsverzeichnis 13.8.4.3 13.8.4.5 Beispiel: MB_CLIENT 2 in älteren Systemen: Mehrere Anforderungen mit unterschiedlichen TCP-Verbindungen ................................................................................1328 Beispiel: MB_CLIENT 3 in älteren Systemen: Schreibanforderung für das Prozessabbild der Ausgänge ..............................................................................................1329 Beispiel: MB_CLIENT 4 in älteren Systemen: Mehrere Anforderungen koordinieren ........
Inhaltsverzeichnis A 15.13.4 15.13.4.1 15.13.4.2 15.13.5 15.13.5.1 15.13.5.2 Werte in der CPU über die Beobachtungstabelle beobachten und steuern ...................... 1394 Variablen mit Trigger beobachten oder steuern ................................................................ 1395 Ausgänge im Betriebszustand STOP freischalten ............................................................. 1396 Werte in der CPU forcen ..................................................................................
Inhaltsverzeichnis A.6.4 A.6.4.1 A.6.4.2 A.6.4.3 A.6.5 Analoge Eingänge...............................................................................................................1469 Schrittantwort der integrierten analogen Eingänge der CPU..............................................1469 Abtastzeit der integrierten analogen Ports der CPU ...........................................................1470 Messbereiche der analogen Eingänge für Spannung (CPUs)............................................
Inhaltsverzeichnis A.12.1 A.12.1.1 A.12.1.2 A.12.1.3 A.12.1.4 SM 1278 4xIO-Link-Master SM.......................................................................................... 1557 SM 1278 4xIO-Link-Master - Überblick .............................................................................. 1560 Anschluss ........................................................................................................................... 1563 Parameter/Adressbereich .........................................
Inhaltsverzeichnis A.22 A.22.1 A.22.2 A.22.3 A.22.4 A.22.5 A.22.6 Zugehörige Produkte ..........................................................................................................1625 PM 1207 Stromversorgungsmodul .....................................................................................1625 CSM 1277 Compact Switch Module ...................................................................................1625 CM CANopen-Modul .........................................................
Inhaltsverzeichnis S7-1200 Automatisierungssystem 26 Systemhandbuch, V4.2.
Produktübersicht 1.1 1 Einführung in den S7-1200 PLC Die Steuerung S7-1200 bietet Ihnen die erforderliche Flexibilität und Leistung zur Steuerung einer breiten Palette von Geräten für Ihre Automatisierungslösungen. Durch den kompakten Aufbau, die flexible Konfiguration und einen leistungsstarken Befehlssatz eignet sich die S71200 hervorragend für eine große Bandbreite von Steuerungsanwendungen.
Produktübersicht 1.
Produktübersicht 1.
Produktübersicht 1.1 Einführung in den S7-1200 PLC Merkmal CPU 1211C Ausführungszeit arithm. Operationen 2,3 μs/Operation CPU 1212C Ausführungszeit Boolesche Operationen 0,08 μs/Operation CPU 1214C CPU 1215C CPU 1217C 1 Die niedrigere Geschwindigkeit ist gültig, wenn der HSC für den A/B-Zählerbetrieb konfiguriert ist. 2 Bei CPU-Varianten mit Relaisausgängen müssen Sie ein digitales Signalboard (SB) installieren, um die Impulsausgänge zu verwenden.
Produktübersicht 1.
Produktübersicht 1.2 Erweiterungsfähigkeit der CPU 1.2 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 1423).
Produktübersicht 1.2 Erweiterungsfähigkeit der CPU Tabelle 1- 3 S7-1200 Erweiterungsmodule Art des Moduls Beschreibung Die CPU unterstützt ein steckbares Erweiterungsboard: • Ein Signalboard (SB) stellt zusätzliche E/A für Ihre CPU bereit. Das SB wird auf der Vorderseite der CPU angeschlossen. • Mit einem Kommunikationsboard (CB) können Sie Ihre CPU um einen Kommunikationsanschluss erweitern. • Ein Batterieboard (BB) gewährleistet die langfristige Pufferung der Echtzeituhr.
Produktübersicht 1.2 Erweiterungsfähigkeit der CPU Art des Moduls Beschreibung Kommunikationsmodule (CMs) und Kommunikationsprozessoren (CPs) erweitern die CPU um verschiedene Kommunikationsmö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. B. für den Anschluss der CPU über ein GPRS-, LTEIEC-, DNP3- oder WDC-Netzwerk. • Die CPU unterstützt maximal 3 CMs oder CPs. • Jedes CM bzw.
Produktübersicht 1.3 Grundlegende HMI-Panels 1.3 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.
Produktübersicht 1.3 Grundlegende HMI-Panels S7-1200 Automatisierungssystem 36 Systemhandbuch, V4.2.
Neue Funktionen 2 Folgende Funktionen sind in der Version 4.2.
Neue Funktionen S7-1200 Automatisierungssystem 38 Systemhandbuch, V4.2.
STEP 7 Programmiersoftware 3 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 OnlineHilfe. STEP 7 bietet Standardprogrammiersprachen, mit denen Sie das Steuerungsprogramm für Ihre Anwendung bequem und effizient entwickeln können.
STEP 7 Programmiersoftware 3.1 Systemvoraussetzungen 3.1 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 RAM 8 GB Freier Festplattenspeicher 2 GB auf Systemlaufwerk C:\ Betriebssysteme Sie können STEP 7 mit den folgenden Betriebssystemen verwenden (nur 64 Bit): • Microsoft Windows 7 Home Premium SP1 oder höher (nur STEP 7 Basic, wird bei STEP 7 Profe
STEP 7 Programmiersoftware 3.2 Einfaches Arbeiten mit unterschiedlichen Ansichten 3.2 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.
STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge In der Editorleiste werden alle derzeit geöffneten Editoren angezeigt. Mit der Editorleiste arbeiten Sie so schneller und effizienter. Zum Umschalten zwischen geöffneten Editoren klicken Sie einfach auf den gewünschten Editor. Sie können auch zwei Editoren gleichzeitig anzeigen und diese vertikal oder horizontal anordnen. Dadurch sind "Drag&Drop"Operationen zwischen Editoren möglich.
STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.2 Zugreifen auf Anweisungen in der Funktionsleiste "Favoriten" STEP 7 enthält eine Funktionsleiste "Favoriten" für den schnellen Zugriff auf Anweisungen, die Sie häufig verwenden. Um eine Anweisung in Ihr Netzwerk einzufügen, genügt ein Klick auf das entsprechende Symbol. (Um im Anweisungsverzeichnis die "Favoriten" aufzurufen, doppelklicken Sie auf das Symbol.
STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.3 Erstellen einer komplexen Gleichung mit einer einfachen Anweisung Mit der Anweisung Calculate (Seite 267) 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.
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 Calculate.
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 erstellen. ● 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".
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.
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. Sie brauchen zum Auswählen der Eingänge oder Ausgänge der CPU mindestens den Zoomfaktor 200 %.
STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.9 Wechseln des Betriebszustands der CPU Die CPU verfügt nicht über einen physischen Schalter zum Ändern des Betriebszustands (STOP oder RUN). Klicken Sie in der Funktionsleiste auf die Schaltfläche "CPU starten" oder "CPU stoppen", um den Betriebszustand der CPU zu ändern. Beim Konfigurieren der CPU in der Gerätekonfiguration (Seite 161) legen Sie das Anlaufverhalten der CPU über ihre Eigenschaften fest (Seite 179).
STEP 7 Programmiersoftware 3.3 Bedienerfreundliche Werkzeuge 3.3.10 Aufruftyp eines DB ändern In STEP 7 können Sie problemlos die Zuweisung einrichten oder ändern, die zwischen einem DB und einer Anweisung oder einem DB und einem FB besteht, der sich in einem FB befindet. • Sie können die Zuweisung zwischen verschiedenen DBs umschalten. • Sie können die Zuweisung zwischen einem Einzelinstanz-DB und einem Multiinstanz-DB wechseln.
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 Netzwerkgeräts und wählen Sie im Kontextmenü den Befehl "Vom Subnetz trennen".
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önnen eine Baugruppe vom Baugruppenträger "abziehen" und dabei die Konfiguration der Baugruppe speichern. Diese abgezogenen Baugruppen werden mit dem Projekt zusammen gespeichert; dadurch können Sie sie später wieder einsetzen, ohne die Parameter erneut konfigurieren zu müssen. Diese Funktion wird z. B.
STEP 7 Programmiersoftware 3.4 Rückwärtskompatibilität 3.4 Rückwärtskompatibilität STEP 7 V15 unterstützt die Konfiguration und Programmierung der S7-1200 CPU V4.2.x und stellt alle neuen Funktionen (Seite 37) bereit. Sie können Projekte für S7-1200 CPUs V4.0 und V4.1 aus STEP 7 (V13 SP1 oder höher) in eine S7-1200 CPU V4.2.x laden.
STEP 7 Programmiersoftware 3.4 Rückwärtskompatibilität S7-1200 Automatisierungssystem 54 Systemhandbuch, V4.2.
4 Einbau 4.1 Richtlinien für den Einbau von S71200 Geräten Die S7-1200 Geräte wurden so ausgelegt, dass sie einfach einzubauen sind. Sie können eine S7-1200 entweder in einer Schalttafel oder auf einer Standard-Hutschiene einbauen; die S71200 kann horizontal oder vertikal eingebaut werden. Die kompakte Größe der S71200 macht eine effiziente Platzausnutzung möglich. Das SIMATIC S7-1200 System ist anhand von Normen für elektrische Geräte als offenes Betriebsmittel klassifiziert.
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.
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 Waagerechter Einbau ③ ④ Senkrechter Einbau Freiraum S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
Einbau 4.2 Leistungsbilanz 4.2 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 1423) finden Sie Informationen zur 5-V-DC-Leistungsbilanz Ihrer CPU und zum 5-V-DC-Leistungsbedarf der Signalmodule, Signalboards und Kommunikationsmodule.
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.
Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.1 Befestigungsmaße für S7-1200 Geräte S7-1200 Automatisierungssystem 60 Systemhandbuch, V4.2.
Einbau 4.
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. Das Innenmaß der Bohrung für die Hutschienenklemmen am Gerät beträgt 4,3 mm.
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. Failure to replace an S7-1200 device with the same model, orientation, or order could result in death, severe personal injury and/or property damage due to unexpected equipment operation.
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.
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 Leistung getrennt sind. 3. Hängen Sie die CPU oben an der Hutschiene ein. 4.
Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.3 Tabelle 4- 4 Ein- und Ausbau eines SBs, CBs oder BBs 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. 2. Nehmen Sie die obere und untere Abdeckung des Klemmenblocks von der CPU ab. 3. Führen Sie einen Schraubendreher in den Schlitz oben auf der CPU an der Hinterseite der Abdeckung ein. 4.
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. Setzen Sie eine neue Batterie im BB 1297 mit der positiven Seite der Batterie nach oben und der negativen Seite neben der gedruckten Beschaltungsplatte ein. 2.
Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau 4.3.4 Tabelle 4- 6 Einbau und Ausbau eines SMs 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. 2. Nehmen Sie die Abdeckung für den Anschluss an der rechten Seite der CPU ab: – Führen Sie einen Schraubendreher in den Schlitz über der Abdeckung ein.
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. 2. Ziehen Sie die E/A-Steckverbinder und die Verdrahtung vom SM (Seite 71) ab. 3. Ziehen Sie den Busstecker zurück. – Setzen Sie einen Schraubendreher an der Lasche an der Oberseite des SM an.
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 1. Stellen Sie sicher, dass die CPU und alle S7-1200 Geräte von der elektrischen Leistung getrennt sind. 2.
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.
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. 2. Richten Sie ihn zu den Stiften im Gerät aus. 3.
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. 3. Schieben Sie den Hakenfortsatz der Buchse in das Gehäuse am Busanschluss und drücken Sie vorsichtig, damit der Haken einrastet. 4.
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. Um für zusätzliche Zugentlastung zu sorgen, fixieren Sie in diesem Fall das steckerseitige Kabelende mit einem Kabelbinder auf der DIN-Schiene (oder an einem anderen Träger).
Einbau 4.3 Vorgehensweisen zum Einbau und Ausbau ① ② ③ TS-Modul TS-Adapter Elemente ④ ⑤ ⑥ Steckverbinder des TS-Moduls Kann nicht geöffnet werden Ethernet-Port Hinweis Stellen Sie vor dem Anschließen eines TS-Moduls und eines TS-Adapters sicher, dass die Kontaktstifte ④ nicht verbogen sind. Stellen Sie beim Anschließen sicher, dass der Stecker und die Führungsstifte korrekt positioniert sind. Schließen Sie nur ein TS-Modul an den TS-Adapter an.
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 auf den Auswurfknopf des SIMKartenfachs (in Pfeilrichtung) und nehmen Sie das SIM-Kartenfach heraus.
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. Montieren Sie einen Endhalter 8WA1808 auf der DIN-Schiene, um sicherzustellen, dass die Module miteinander verbunden bleiben.
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 TSModuls in Pfeilrichtung, bis der Schieber einrastet. 2. Schrauben Sie den TS-Adapter und das TS-Modul an der mit ② gekennzeichneten Position an der gewünschten Montagewand fest.
Einbau 4.4 Verdrahtungsrichtlinien 4.4 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 1423). Voraussetzung Bevor Sie ein elektrisches Gerät erden oder verdrahten, müssen Sie sicherstellen, dass die Spannungsversorgung der Geräte ausgeschaltet ist.
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.
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. B. durch eine Sicherung oder einen Schutzschalter, um Fehlerstrom in der Versorgungsverdrahtung zu begrenzen.
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 ...
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.
Einbau 4.4 Verdrahtungsrichtlinien Typische Schutzbeschaltungen für DC- oder Relaisausgänge, die induktive DC-Lasten schalten ① Diode 1N4001 oder gleichwertig ② Zener-Diode 8,2 V (DC- 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 einer Zener-Diode (B) empfehlenswert. Bemessen Sie die Zener-Diode gemäß dem Strom im Ausgangskreis.
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.
Einbau 4.4 Verdrahtungsrichtlinien S7-1200 Automatisierungssystem 86 Systemhandbuch, V4.2.
PLC-Grundlagen 5.1 5 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.
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.
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).
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. Erweitern Sie ggf. die Auswahl unter "Allgemein", um die gewünschten E/A anzuzeigen. 3. Wählen Sie "E/A-Adressen". 4.
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.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.1 Betriebszustände der CPU Die CPU hat drei Betriebszustände: Betriebszustand STOP, Betriebszustand STARTUP und Betriebszustand RUN. Die Status-LEDs auf der Vorderseite der CPU geben den aktuellen Betriebszustand an. ● Im Betriebszustand STOP führt die CPU das Programm nicht aus. Sie können ein Projekt in die CPU laden. ● Im Betriebszustand STARTUP werden die Anlauf-OBs (sofern vorhanden) einmal abgearbeitet.
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.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Sie können den aktuellen Betriebszustand mit den Befehlen "STOP" und "RUN" (Seite 1386) in den Online-Tools der Programmiersoftware ändern. Sie können ferner eine STPAnweisung (Seite 321) in Ihr Programm einfügen, um die CPU in den Betriebszustand STOP zu versetzen. Auf diese Weise können Sie die Bearbeitung Ihres Programms abhängig von der Programmlogik unterbrechen.
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.
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. Diese Aktionen (außer den Anwenderalarmereignissen) werden zyklisch fortlaufend bearbeitet.
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. Sie können auch nicht aus einer FC oder einem FB aufgerufen werden. Nur ein Ereignis wie ein Diagnosealarm oder ein Zeitintervall veranlasst die CPU zur Ausführung eines 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.
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.
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).
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Die Bits in EventType sind von dem auslösenden Modul abhängig. Dies wird nachstehend gezeigt: 5.1.3.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Durch Ausführen der Anweisung RE_TRIGR (Seite 320) zum Neustarten der Zykluszeitüberwachung kann das Anwenderprogramm die Ausführung des Programmzyklus bis zum Zehnfachen der konfigurierten maximalen Zykluszeit verlängern. Wenn jedoch der Fehler "Maximale Zykluszeit überschritten" zweimal in demselben Programmzyklus auftritt, ohne dass die Zykluszeit zurückgesetzt wird, geht die CPU in STOP, unabhängig davon, ob der Zeitfehler-OB vorhanden ist.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Diagnosefehlerereignisse Analoge (lokale), PROFINET-, PROFIBUS- und einige digitale (lokale) Geräte können Diagnosefehler erkennen und melden. Das Auftreten bzw. Verschwinden eines von verschiedenen Diagnosefehlern führt zu einem Diagnosefehlerereignis.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Tabelle 5- 7 1 5.1.3.8 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). (Bit 4 = 0, wenn kein Fehler vorliegt.
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 5.1.3.
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: ● Minütlich: Der Alarm tritt einmal pro Minute auf. ● Stündlich: Der Alarm tritt einmal pro Stunde auf.
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 5.1.3.
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.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Eingang Datentyp Beschreibung PIP_Output BOOL WAHR zeigt an, dass die CPU das zugehörige Prozessabbild der Ausgänge nach dem letzten Zyklus in angemessener Zeit an die Ausgänge übertragen hat. IO_System USINT Nummer des dezentralen Peripheriesystems, das den Alarm auslöst Event_Count INT n: Anzahl verlorener Zyklen -1: unbekannte Anzahl verlorener Zyklen (z. B. weil sich der Zyklus geändert hat) 5.1.3.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Betrachten Sie die beiden folgenden Fälle, in denen Alarmereignisse einen Zyklus-OB und einen Zeitverzögerungs-OB auslösen. In beiden Fällen ist der Zeitverzögerungs-OB (OB 201) keinem Teilprozessabbild zugewiesen (Seite 87) und er wird mit Priorität 4 ausgeführt. Der Zyklus-OB (OB 200) ist dem Teilprozessabbild TPA1 zugewiesen und wird mit Priorität 2 ausgeführt.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Wissenswertes zu Prioritäten und Warteschlange für die Ausführung von Ereignissen Die CPU begrenzt die Anzahl anstehender Ereignisse aus einer einzigen Quelle, indem jedem Ereignistyp eine eigene Warteschlange zugewiesen wird. Sobald die maximale Zahl anstehender Ereignisse eines bestimmten Typs erreicht ist, wird das nächste Ereignis nicht mehr bearbeitet und geht verloren.
PLC-Grundlagen 5.
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 Lesen/Schreiben der E/A Die CPU schreibt das erste Auftreten in den Diagnosepuffer und bleibt im Betriebszustand RUN.
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 ● Mindestzykluszeit Die Zyklusüberwachung beginnt nach abgeschlossenem Anlaufereignis. Projektiert werden kann diese Funktion in der CPU unter "Gerätekonfiguration > Zykluszeit".
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.
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. Dieser Speicher befindet sich entweder auf einer Memory Card (sofern vorhanden) oder in der CPU.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Remanenter Speicher Sie können Datenverlust nach Spannungsausfall dadurch vermeiden, dass Sie bestimmte Daten als remanent definieren. Die folgenden Daten können Sie in der CPU als remanent definieren: ● Merker (M): Sie können die Größe des remanenten Speichers für Merker in der PLCVariablentabelle oder in der Zuweisungsliste definieren. Der remanente Merkerspeicher beginnt immer an MB0 und läuft über die angegebene Anzahl von Bytes ununterbrochen weiter.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Die CPU unterstützt insgesamt 10240 Byte remanenter Daten. Um zu ermitteln, wieviele Bytes verfügbar sind, klicken Sie in der PLC-Variablentabelle oder in der Zuweisungsliste in der Funktionsleiste auf das Symbol "Remanent". Hier geben Sie zwar den remanenten Bereich für den Merkerspeicher an, doch die zweite Zeile gibt den verbleibenden Gesamtspeicher für M und DB zusammen an.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Die CPU initialisiert diese Bytes beim Wechsel von STOP in STARTUP. Die Bits des Taktmerkers wechseln während der Betriebsarten STARTUP und RUN synchron zum CPUTakt.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Der Taktmerker konfiguriert ein Byte, das die einzelnen Bits in bestimmten Abständen einund ausschaltet. Jeder Taktmerker erzeugt einen Rechteckimpuls im entsprechenden Merkerspeicher M. Diese Bits können, vor allem in Verbindung mit Flankenanweisungen, als Steuerbits für die zyklische Auslösung von Aktionen im Anwendercode verwendet werden. Tabelle 5- 20 Taktmerker Bitnummer 7 6 5 4 3 2 1 0 Period(en) 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms Reduzieren der Anzahl der Sicherheitsdiagnoseereignisse Einige Sicherheitsereignisse erzeugen wiederholte Einträge im Diagnosepuffer. Diese Meldungen können den Diagnosepuffer füllen und möglicherweise andere Meldungen verdecken. Sie können den PLC so konfigurieren, dass die Anzahl der durch Sicherheitsereignisse ausgelösten Diagnosemeldungen begrenzt wird.
PLC-Grundlagen 5.1 Ausführung des Anwenderprogramms 5.1.7 Echtzeituhr Die CPU verfügt über eine Echtzeituhr. Wenn die CPU ausgeschaltet ist, wird die Uhr über einen Hochleistungskondensator mit Spannung versorgt. Der Hochleistungskondensator wird aufgeladen, wenn die CPU eingeschaltet ist. War die CPU mindestens 24 Stunden eingeschaltet, so reicht die Ladung des Hochleistungskondensators für den Betrieb der Uhr typischerweise für 20 Tage.
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: ● Durch einen vorgegebenen Ausgangswert ersetzen (Voreinstellung): Sie geben für jeden Ausgang (Kanal) der CPU, des SB oder SM einen Ersatzwert ein.
PLC-Grundlagen 5.2 Datenspeicher, Speicherbereiche, E/A und Adressierung 5.2 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.
PLC-Grundlagen 5.
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. Typischerweise werden Variablen entweder in der PLC-Variablentabelle, einem Datenbaustein oder in der Schnittstelle eines OB, FC oder FB angelegt.
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) Bit E[Byteadresse].[Bitadresse]:P E0.1:P Byte, Wort oder Doppelwort E[Größe][Anfangsadresse des Byte]:P EB4:P, EW5:P oder ED12:P A (Prozessabbild der Ausgänge): Die CPU kopiert die im Prozessabbild der Ausgänge gespeicherten Werte in die physischen Ausgänge.
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.
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.
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 AAdressen automatisch zu. Sie können die voreingestellte Adressierung ändern, indem Sie in der Gerätekonfiguration das Adressfeld auswählen und neue Zahlen eingeben.
PLC-Grundlagen 5.3 Verarbeitung von Analogwerten 5.3 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. Dabei stellt 0 bis 27648 den Nennbereich für Strom und -27648 bis 27648 den für Spannung dar.
PLC-Grundlagen 5.4 Datentypen 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. Netzwerk 1 Netzwerk 2 5.4 Datentypen Datentypen geben die Größe eines Datenelements und die Art der Auswertung der Daten an.
PLC-Grundlagen 5.4 Datentypen Alle Datentypen, mit Ausnahme der Datentypen String, Struct, Array und DTL sind im PLCVariableneditor und in den Bausteinschnittstellen verfügbar. String, Struct, Array und DTL sind nur in den Bausteinschnittstellen verfügbar. Für viele der Eingangsparameter können Sie auch einen konstanten Wert eingeben.
PLC-Grundlagen 5.4 Datentypen 5.4.
PLC-Grundlagen 5.4 Datentypen 5.4.2 Ganzzahlige Datentypen Tabelle 5- 30 Ganzzahlige Datentypen (U = vorzeichenlos, S = kurz, D = doppelt) Datentyp 5.4.3 Bitgröße Zahlenbereich Beispiele für Konstanten Beispiele für MB0, DB1.DBB4, Variablenname USInt 8 0 bis 255 78, 2#01001110 SInt 8 -128 bis 127 +50, 16#50 UInt 16 0 bis 65.535 65295, 0 Int 16 -32.768 bis 32.767 30000, +30000 UDInt 32 0 bis 4.294.967.295 4042322160 DInt 32 -2.147.483.648 bis 2.147.483.
PLC-Grundlagen 5.4 Datentypen Bei Berechnungen, die eine lange Reihe von Werten einschließlich sehr großen und sehr kleinen Zahlen benötigen, kann es zu ungenauen Ergebnissen kommen. Dies kann auftreten, wenn sich die Zahlen um 10 hoch x unterscheiden, wobei x > 6 (Real) oder 15 (LReal) ist. Beispiel (Real): 100 000 000 + 1 = 100 000 000. 5.4.
PLC-Grundlagen 5.4 Datentypen TOD TOD-Daten (TIME_OF_DAY) werden als vorzeichenlose doppelte Ganzzahl gespeichert, die als Anzahl der Millisekunden seit Mitternacht für die angegebene Uhrzeit ausgewertet wird (Mitternacht = 0 ms). Es müssen die Stunden (24 h/Tag), Minuten und Sekunden angegeben werden. Die Angabe der Nachkommastellen der Sekunde ist optional. DTL Der DTL-Datentyp (Date and Time Long) nutzt eine 12-Byte-Struktur, um Angaben zum Datum und zur Uhrzeit zu speichern.
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 WChar 8 Bit 16#00 bis 16#FF 'A', 't', '@', 'ä', '∑' 16 Bits 16#0000 bis 16#FFFF 'A', 't', '@', 'ä', '∑', Asiatische Zeichen, kyrillische Zeichen und andere String n+ 2 Byte n = (0 bis 254 Bytes) "ABC" WString n+ 2 Wörter n = (0 bis 65534 Wörter) "ä123@XYZ.
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 Gesamtzeichenzahl Tatsächliche Zeichenzahl Zeichen 1 Zeichen 2 Zeichen 3 ... Zeichen 10 10 3 'C' (16#43) 'A' (16#41) 'T' (16#54) ... - Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 ...
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 ..
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. Arrays und Strukturen können auch zu einer größeren Struktur zusammengefügt werden.
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 (Byte) Darstellung Format Beispieleintrag 0 Symbolischer Operand MeineVariable DB-Name.Strukturname.Elementname MeinDB.Strukt1.
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.
PLC-Grundlagen 5.4 Datentypen 5.4.11 Zugriff auf eine Variable mit einer AT-Überlagerung Mit Hilfe der AT-Variablenüberlagerung können Sie mit einer überlagerten Deklaration eines anderen Datentyps auf eine bereits deklarierte Variable eines Bausteins zugreifen. Sie können beispielsweise die einzelnen Bits einer Variable vom Datentyp Byte, Word oder DWord mit einem Bool-Array adressieren.
PLC-Grundlagen 5.4 Datentypen Die Überlagerungstypen können in der Programmlogik direkt angesprochen werden: KOP FUP SCL IF #OV[1] THEN ... END_IF; IF #DW1_Struct.W1 = W#16#000C THEN ... END_IF; out1 := #DW1_Struct.B1; IF #OV[4] AND #DW1_Struct.BO2 THEN ... END_IF; Regeln ● In FB- und FC-Bausteinen mit Standardzugriff (kein optimierter Zugriff) ist die Überlagerung von Variablen möglich. ● In optimierten FB- und FC-Bausteinen ist die Überlagerung von Variablen möglich, die remanent sind.
PLC-Grundlagen 5.5 Memory Card verwenden 5.5 Memory Card verwenden Hinweis Die CPU unterstützt nur die vorformatierten SIMATIC Memory Cards (Seite 1620). 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. Übertragungskarten und Programmkarten enthalten alle Codebausteine und Datenbausteine, alle Technologieobjekte und die Gerätekonfiguration.
PLC-Grundlagen 5.5 Memory Card verwenden WARNUNG Vergewissern Sie sich vor dem Einlegen der Memory Card, dass die CPU keinen Prozess ausführt. Wenn Sie eine Memory Card (unabhängig davon, ob als Programm-, Übertragungs- oder Firmware-Aktualisierungskarte genutzt) in eine laufende CPU stecken, geht die CPU sofort in den Betriebszustand STOP, was zu Prozessunterbrechung und dadurch zu Tod oder schweren Personenschäden führen kann.
PLC-Grundlagen 5.5 Memory Card verwenden Tabelle 5- 41 Memory Card einsetzen Zum Einsetzen einer Memory Card öffnen Sie die obere Abdeckung der CPU und stecken die Memory Card in den Steckplatz. Ein Steckverbinder ermöglicht einfaches Stecken und Ziehen des Moduls. Die Memory Card ist so geformt, dass sie nur in eine Richtung in den Schacht gesteckt werden kann. CPU-Verhalten beim Stecken einer Memory Card Wenn Sie eine Memory Card in die CPU stecken, führt die CPU folgende Schritte aus: 1.
PLC-Grundlagen 5.5 Memory Card verwenden Wenn Sie in den Schutzeigenschaften der Gerätekonfiguration der CPU die Einstellung "Kopieren vom internen Ladespeicher in den externen Ladespeicher deaktivieren" ausgewählt haben, verhält sich die CPU wie folgt: ● Leere Memory Card: Eine leere Memory Card hat keine Auftragsdatei (S7_JOB.S7S). Wenn Sie eine leere Memory Card stecken, führt die CPU nichts durch.
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.
PLC-Grundlagen 5.5 Memory Card verwenden Übertragungskarte anlegen Denken Sie daran, die Anlaufparameter der CPU zu konfigurieren (Seite 150), 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.
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" geöffnet. 6. Klicken Sie im Dialog "Vorschau laden" auf die Schaltfläche "Laden", um die CPU in die Memory Card zu kopieren. 7.
PLC-Grundlagen 5.5 Memory Card verwenden Um das Programm in die CPU zu übertragen, gehen Sie folgendermaßen vor: 1. Stecken Sie die Übertragungskarte in die CPU (Seite 146). Wenn sich die CPU in RUN befindet, geht die CPU in den Betriebszustand STOP. Die Wartungs-LED (MAINT) blinkt, um anzuzeigen, dass die Memory Card ausgewertet werden muss. Das vorhandene Programm befindet sich jetzt immer noch in der CPU. 2. Schalten Sie die CPU aus und wieder ein, um die Memory Card auszuwerten.
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.
PLC-Grundlagen 5.5 Memory Card verwenden 4. Wählen Sie im Dialog "Memory Card" im Kontextmenü 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" geöffnet. 6.
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. 2. Schalten Sie die CPU aus und wieder ein, um die Memory Card auszuwerten. Alternative Methoden zum Neustarten der CPU sind ein Wechsel von STOP in RUN oder ein Urlöschen (MRES) in STEP 7.
PLC-Grundlagen 5.5 Memory Card verwenden 5.5.5 Firmware-Update Mit einer SIMATIC Memory Card können Sie auch eine Firmware-Aktualisierung durchführen. 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.
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 SDKartenleser, der an Ihren Computer angeschlossen ist. (Ist die Karte schreibgeschützt, schieben Sie den Schutzschalter aus der Verriegelungsposition heraus.
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.
PLC-Grundlagen 5.6 Vorgehensweise bei verlorenem Passwort 5.6 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.
Gerätekonfiguration 6 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 Signalboard (SB), Kommunikationsboard (CB) oder Batterieboard (BB): max.
Gerätekonfiguration 6.1 Einfügen einer CPU 6.1 Einfügen einer CPU Eine CPU können Sie entweder in der Portalansicht oder in der Projektansicht von STEP 7 in Ihr Projekt einfügen: • Wählen Sie in der Portalansicht das Portal "Geräte & Netze" und klicken Sie auf "Neues Gerät hinzufügen". • Doppelklicken Sie in der Projektansicht unter dem Projektnamen auf "Neues Gerät hinzufügen". Achten Sie darauf, dass Sie die richtige Variante und Firmware-Version aus der Liste auswählen.
Gerätekonfiguration 6.1 Einfügen einer CPU Dialog "Neues Gerät hinzufügen" Gerätesicht der Hardwarekonfiguration Nach der Auswahl der CPU in der Gerätesicht werden die Eigenschaften der CPU im Inspektorfenster angezeigt. Die CPU hat keine vorkonfigurierte IP-Adresse. Sie müssen der CPU daher bei der Gerätekonfiguration manuell eine IPAdresse zuweisen. Ist Ihre CPU an einen Router im Netzwerk angeschlossen, so muss auch die IP-Adresse des Routers eingegeben werden.
Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden 6.
Gerätekonfiguration 6.2 Konfiguration aus einer angeschlossenen CPU laden Wählen Sie im Gerätekonfigurationseditor die Option zum Erkennen der Konfiguration des angeschlossenen Geräts. Nachdem Sie im Online-Dialog die CPU ausgewählt und auf die Schaltfläche zum Laden geklickt haben, lädt STEP 7 die Hardwarekonfiguration einschließlich möglicher Module (SM, SB oder CM) aus der CPU. Sie können dann die Parameter für die CPU und die Module (Seite 179) konfigurieren.
Gerätekonfiguration 6.3 Module zur Konfiguration hinzufügen 6.3 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. Das SB wird auf der Vorderseite der CPU gesteckt.
Gerätekonfiguration 6.4 Konfigurationssteuerung Mit der Funktion "Konfigurationssteuerung" (Seite 167) können Signalmodule und Signalboards in der Gerätekonfiguration hinzugefügt werden, die möglicherweise nicht der aktuellen Hardware für eine bestimmte Anwendung entsprechen, aber in anderen Anwendungen verwendet werden, die das gleiche Anwenderprogramm, CPU-Modell und u. U. auch einige der konfigurierten Module teilen. 6.4 Konfigurationssteuerung 6.4.
Gerätekonfiguration 6.4 Konfigurationssteuerung Gehen Sie wie folgt vor, um die Konfigurationssteuerung zu aktivieren und den erforderlichen Steuerdatensatz zu strukturieren: 1. Optional kann die CPU auf die Werkseinstellungen zurückgesetzt werden, um sicherzustellen, dass kein inkompatibler Steuerdatensatz in der CPU vorhanden ist. 2. Wählen Sie die CPU in der Gerätekonfiguration in STEP 7. 3.
Gerätekonfiguration 6.4 Konfigurationssteuerung 5. Legen Sie einen Datenbaustein mit dem gewählten PLC-Datentyp an. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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: – 0: Konfiguriertes Modul in der tatsächlichen Konfiguration nicht vorhanden. (Steckplatz ist leer.
Gerätekonfiguration 6.4 Konfigurationssteuerung Netzwerk 1: Netzwerk 2: Hinweis Die Konfigurationssteuerung ist erst wirksam, wenn die Anweisung WRREC den Steuerdatensatz in den Anlauf-OB übertragen hat. Ist die Konfigurationssteuerung aktiviert und der Steuerdatensatz in der CPU nicht vorhanden, geht diese nach dem Anlauf direkt in STOP. Daher ist es wichtig, dass der Anlauf-OB so programmiert ist, dass der Steuerdatensatz übertragen wird.
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 0 Bausteinlänge 16 Header 1 Baustein-ID 196 2 Version 5 3 Subversion 0 4 Zuweisung einer CPU-Zusatzkarte Tatsächliche Zusatzkarte, 0 oder 255* 5 Zuweisung konfigurierter Steckplatz 2 Tatsächlicher Steckplatz, 0 oder 255* ... ... ...
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.
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. In der Online-Ansicht wird ein Fehler in Steckplatz 4 angezeigt.
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/AModulen. 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.
Gerätekonfiguration 6.4 Konfigurationssteuerung Um anzuzeigen, dass ein Modul fehlt, muss Steckplatz 3 im Steuerdatensatz mit 0 konfiguriert werden. S7-1200 Automatisierungssystem 176 Systemhandbuch, V4.2.
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 Systemhandbuch, V4.2.
Gerätekonfiguration 6.5 Ändern eines Geräts Um die Gerätekonfiguration an den tatsächlichen Aufbau anzupassen, sind die Module durch Bearbeiten des Steuerdatensatzes den richtigen Steckplätzen zuzuordnen. 6.5 Ä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".
Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs 6.6 Konfigurieren des CPU-Betriebs 6.6.1 Übersicht Um die Betriebsparameter der CPU zu konfigurieren, wählen Sie die CPU in der Gerätesicht aus (blauer Rahmen um die gesamte CPU) und öffnen dann im Inspektorfenster das Register "Eigenschaften".
Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Eigenschaft Beschreibung Hardwarekompatibilität: Konfiguration der Ersatzstrategie für alle Systemkomponenten (SM, SB, CM, CP und CPU): • Akzeptablen Ersatz zulassen • Beliebigen Ersatz zulassen (Standard) Jedes Modul enthält interne Anforderungen an die Ersatzkompatibilität basierend auf der Anzahl der E/A, der elektrischen Verträglichkeit und anderen entsprechenden Vergleichspunkten.
Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Eine Eingangsfilterzeit von 6,4 ms bedeutet, dass ein einziger Signalwechsel von '0' auf '1' oder von '1' auf '0' etwa 6,4 ms lang anstehen muss, um erkannt zu werden, und dass einzelne hohe oder niedrige Impulse, die kürzer als 6,4 ms anstehen, nicht erkannt werden.
Gerätekonfiguration 6.6 Konfigurieren des CPU-Betriebs Die Standardfilterzeit für die digitalen Eingänge beträgt 6,4 ms. In der Klappliste "Eingangsfilter" können Sie eine Filterzeit auswählen. Gültige Filterzeiten liegen zwischen 0,1 µs und 20,0 ms.
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.
Gerätekonfiguration 6.7 Mehrsprachigen Support konfigurieren Das folgende Bild zeigt eine schematische Darstellung des Digitaleingangskreises: Das folgende Bild zeigt die Reaktion des aktivierten Impulsabgriffs auf verschiedene Eingangsbedingungen. Gibt es mehr als einen Impuls in einem bestimmten Zyklus, wird nur der erste Impuls gelesen. Bei mehreren Impulsen in einem Zyklus sollten Sie die Interruptereignisse für steigende/fallende Flanken einsetzen: 6.
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.
Gerätekonfiguration 6.8 Modulparameter konfigurieren 6.8 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.
Gerätekonfiguration 6.9 CPU für die Kommunikation 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.
Gerätekonfiguration 6.9 CPU für die Kommunikation konfigurieren 6.9 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.
Gerätekonfiguration 6.9 CPU für die Kommunikation konfigurieren Bei den TCP-, ISO-on-TCP- und UDP-EthernetProtokollen konfigurieren Sie die Verbindungen der lokalen und der Partner-CPU in den "Eigenschaften" der Anweisung (TSEND_C, TRCV_C oder TCON). Die Abbildung zeigt die "Verbindungseigenschaften" im Register "Verbindung" einer ISO-on-TCPVerbindung. Weitere Informationen finden Sie unter "Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren" (Seite 834).
Gerätekonfiguration 6.10 Uhrzeitsynchronisation 6.10 Uhrzeitsynchronisation Ziel der Uhrzeitsynchronisation der Echtzeituhr ist es, eine Masteruhr zu haben, mit der alle anderen lokalen Uhren synchronisiert werden. Die Uhren werden durch die Masteruhr anfänglich synchronisiert und anschließend regelmäßig neu synchronisiert, um sich im Laufe der Zeit summierende Abweichungen zu verhindern.
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 STEP 7 aufgefordert, das Kontrollkästchen "CPU synchronisiert die Module des Geräts" im Dialog "Uhrzeitsynchronisation" zu aktivieren, sofern noch nicht geschehen.
Gerätekonfiguration 6.10 Uhrzeitsynchronisation S7-1200 Automatisierungssystem 192 Systemhandbuch, V4.2.
Programmierkonzepte 7.1 7 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.
Programmierkonzepte 7.2 Strukturieren Ihres Anwenderprogramms Empfohlene Schritte Aufgaben Definieren der OperatorStationen Erstellen Sie die folgenden Pläne der OperatorStationen anhand der Anforderungen in den Beschreibungen der Funktionsbereiche: Zeichnen der Konfigurationspläne Auflisten der symbolischen Namen 7.2 • Position aller OperatorStationen in Bezug zum Prozess bzw. zur Anlage • Mechanische Anordnung der Geräte der Operator-Station, z. B. Display, Schalter und Lampen.
Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 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. Typischerweise werden bei einem linearen Programm alle Programmanweisungen im Zyklus-OB (OB 1) abgelegt.
Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms 7.3 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.
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. Manche OBs haben vordefinierte Startereignisse und vordefiniertes Verhalten.
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.
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. B. mathematische Berechnungen) oder technologische Funktionen (z. B.
Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Sie können ferner die Funktionsbausteinschnittstelle in Betriebszustand RUN ändern und laden (Seite 1405). Startwert im Instanz-DB zuweisen Der Instanz-DB speichert sowohl einen Standardwert als auch einen Startwert für jeden Parameter. Der Startwert gibt den Wert an, der verwendet werden soll, wenn der FB ausgeführt wird. Der Startwert kann dann während der Ausführung Ihres Anwenderprogramms geändert werden.
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). Die gespeicherten Daten in einem DB werden nach der Ausführung des zugehörigen Codebausteins nicht gelöscht.
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.
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.
Programmierkonzepte 7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms Call-by-Reference Wenn das Anwenderprogramm einen Parameter als "Call-by-Reference" an eine Funktion übergibt, verweist das Anwenderprogramm auf die Adresse des tatsächlichen Parameters für den Schnittstellentyp IN/OUT und kopiert den Wert nicht. Dieser Vorgang erfordert keinen zusätzlichen Speicher. Wenn das Anwenderprogramm den Baustein aufruft, verweist es auf die Adresse der tatsächlichen Parameter.
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".
Programmierkonzepte 7.4 Datenkonsistenz 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" übergibt. ● Eine andere Lösung ist die, dass ein Alarm-OB bzw. ein HMI-Gerät ein Element in der Struktur nicht direkt ändert.
Programmierkonzepte 7.5 Programmiersprache Die PtP-Anweisungen (Punkt-zu-Punkt), PROFINET-Anweisungen (wie TSEND_C und TRCV_C), die PROFINET-Anweisungen für die dezentrale Peripherie (Seite 395) und die PROFIBUS-Anweisungen für die dezentrale Peripherie (Seite 395) ü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.
Programmierkonzepte 7.5 Programmiersprache Um Verknüpfungen für komplexe Operationen anzulegen, können Sie Verzweigungen für parallele Kreise einfügen. Parallele Verzweigungen sind nach unten geöffnet oder direkt mit der Stromschiene verbunden. Sie beenden die Verzweigungen nach unten. KOP bietet Box-Anweisungen für eine Vielzahl von Funktionen wie Arithmetik, Zeiten, Zähler und Übertragen. STEP 7 begrenzt die maximale Anzahl von Anweisungen (Zeilen und Spalten) in einem KOP-Netzwerk nicht.
Programmierkonzepte 7.5 Programmiersprache 7.5.2 Funktionsplan (FUP) Ebenso wie KOP ist auch FUP eine grafische Programmiersprache. Die Darstellung der Verknüpfungslogik beruht auf den grafischen Symbolen, die in der booleschen Algebra üblich sind. Um Verknüpfungen für komplexe Operationen anzulegen, fügen Sie parallele Verzweigungen zwischen den Boxen ein. Arithmetische Funktionen und andere komplexe Funktionen können direkt in Verbindung mit den Logikboxen dargestellt werden.
Programmierkonzepte 7.5 Programmiersprache 7.5.3.1 SCL-Programmiereditor Sie können für alle Bausteintypen (OB, FB oder FC) beim Erstellen des Bausteins angeben, dass er die Programmiersprache SCL verwenden soll.
Programmierkonzepte 7.5 Programmiersprache ● Temp: Bei diesen Parametern handelt es sich um temporäre Variablen, die während der Ausführung des Codebausteins verwendet werden. ● Constant: Hierbei handelt es sich um benannte konstante Werte für Ihren Codebaustein. Wenn Sie den SCL-Codebaustein aus einem anderen Codebaustein aufrufen, treten die Parameter des SCL-Codebausteins als Eingänge oder Ausgänge auf.
Programmierkonzepte 7.
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. Eine einzelne Anweisung belegt üblicherweise eine Codezeile.
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.
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. Hinweis Um die Anweisungen PEEK und POKE mit Datenbausteinen zu verwenden, müssen Sie Standarddatenbausteine (keine optimierten Datenbausteine) verwenden.
Programmierkonzepte 7.5 Programmiersprache POKE(area:=_in_, dbNumber:=_in_, byteOffset:=_in_, value:=_in_); Schreibt den Wert (Byte, Wort oder Doppelwort) in den angegebenen byteOffset des angegebenen Datenbausteins, der E/A oder des Speicherbereichs.
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. In SCL können Sie den Parameter ENO auch für einen Codebaustein angeben.
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.
Programmierkonzepte 7.6 Schutz Siehe auch OK (Gültigkeit prüfen) und NOT_OK (Ungültigkeit prüfen) (Seite 264) 7.6 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.
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. S7-1200 Automatisierungssystem 220 Systemhandbuch, V4.2.
Programmierkonzepte 7.6 Schutz Wenn Sie diese Konfiguration in die CPU laden, hat der Anwender HMI-Zugriff und kann ohne Passwort auf die HMI-Funktionen zugreifen. Um Daten zu lesen oder Offline-/OnlineCodebausteine zu vergleichen, muss der Anwender das für den "Lesezugriff" konfigurierte Passwort oder das Passwort für "Vollzugriff (kein Schutz)" eingeben. Um Daten zu schreiben, muss der Anwender das für den "Vollzugriff (kein Schutz)" konfigurierte Passwort eingeben.
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.
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.
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.
Programmierkonzepte 7.6 Schutz Um einen Baustein mit einer bestimmten CPU oder Memory Card zu verknüpfen, öffnen Sie die Taskcard "Eigenschaften" des jeweiligen Codebausteins. 1. Nach dem Öffnen des Codebausteins wählen Sie "Schutz". 2. Wählen Sie in der Klappliste "Kopierschutz" die Art des Kopierschutzes aus, die verwendet werden soll. 3.
Programmierkonzepte 7.7 Laden der Programmelemente 7.7 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).
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.
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.
Programmierkonzepte 7.8 Synchronisieren der Online-CPU und des Offline-Projekts In seltenen Fällen wird der Ladevorgang erfolgreich durchgeführt, doch ein anschließendes Aus- und Wiedereinschalten der CPU schlägt fehl.
Programmierkonzepte 7.8 Synchronisieren der Online-CPU und des Offline-Projekts Hinweis Wenn Sie in dem Projekt, das Sie für den letzten Ladevorgang verwendet haben, Bausteine oder Variablen bearbeiten, brauchen Sie hinsichtlich der Synchronisierung keine Wahl zu treffen. STEP 7 und die CPU erkennen, dass die Änderungen im Offline-Projekt neuer sind als die Online-CPU und fährt mit dem normalen Ladevorgang fort.
Programmierkonzepte 7.9 Laden von der Online-CPU ● Ohne Synchronisierung fortfahren: Wenn Sie auf diese Schaltfläche klicken, lädt STEP 7 das Projekt in die CPU. ● Abbrechen: Wenn Sie auf diese Schaltfläche klicken, brechen Sie den Ladevorgang ab. 7.9 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 Programmbausteine vor: 1.
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).
Programmierkonzepte 7.10 Debugging und Testen des Programms Mit der Beobachtungstabelle können Sie die physischen Ausgänge (A:P) einer CPU, die sich im Betriebszustand STOP befindet, freigeben. Beispielsweise können Sie den Ausgängen bestimmte Werte zuweisen, während Sie die Verdrahtung der CPU testen. STEP 7 bietet zudem eine Forcetabelle zum Forcen einer Variablen auf einen bestimmten Wert.
Programmierkonzepte 7.10 Debugging und Testen des Programms Tabelle 7- 6 Querverweiselemente Spalte Beschreibung Objekt Name des Objekts, das die angegebenen unterlagerten Objekte verwendet oder das von den unterlagerten Objekten verwendet wird Anzahl Anzahl Verwendungen Verwendung Der Ort der Verwendung, z. B. ein Netzwerk Eigenschaft Besondere Eigenschaften der referenzierten Objekte, z. B. die Variablennamen in Multiinstanz-Deklarationen als Zeigt zusätzliche Informationen zum Objekt an, z.
Programmierkonzepte 7.10 Debugging und Testen des Programms Sie können außerdem eine Konsistenzprüfung durchführen, um Zeitstempelkonflikte aufzuzeigen. Zeitstempelkonflikte können durch die Änderung des Zeitstempels eines Bausteins während oder nach der Programmgenererierung verursacht werden. Diese Konflikte führen zu Inkonsistenzen zwischen den aufrufenden und den aufgerufenen Bausteinen.
Programmierkonzepte 7.10 Debugging und Testen des Programms S7-1200 Automatisierungssystem 236 Systemhandbuch, V4.2.
8 Anweisungen 8.1 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.
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.
Anweisungen 8.1 Bitverknüpfungen Logikinvertierer NOT Tabelle 8- 5 KOP VKE (Verknüpfungsergebnis) invertieren FUP SCL NOT Beschreibung Bei der FUP-Programmierung können Sie die Funktion "VKE invertieren" aus der Funktionsleiste "Favoriten" oder dem Anweisungsverzeichnis auf einen Eingang oder einen Ausgang ziehen, um einen Logikinvertierer für diesen BoxAnschluss zu erstellen. Der KOP-Kontakt NOT invertiert den logischen Zustand des Signalflusseingangs.
Anweisungen 8.1 Bitverknüpfungen ● Ist ein Signalfluss durch eine Ausgangsspule vorhanden oder eine FUP-Box "=" aktiviert, so wird das Ausgangsbit auf 1 gesetzt. ● Ist kein Signalfluss durch eine Ausgangsspule vorhanden oder keine FUP-Box "=" aktiviert, so wird das Ausgangsbit auf 0 gesetzt. ● Ist ein Signalfluss durch eine invertierte Ausgangsspule vorhanden oder eine FUP-Box "/=" aktiviert, so wird das Ausgangsbit auf 0 gesetzt.
Anweisungen 8.1 Bitverknüpfungen Bitfeld setzen und rücksetzen Tabelle 8- 10 Anweisungen SET_BF und RESET_BF KOP1 FUP SCL 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" Bits, beginnend an Adresse OUT. Wird RESET_BF nicht aktiviert, verändert sich OUT nicht.
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" Q Bool Folgt dem Zustand von Bit "INOUT" Variable "INOUT" weist die Bitadresse zu, die gesetzt bzw. zurückgesetzt wird. Der optionale Ausgang Q gibt den Signalzustand der Adresse "INOUT" an.
Anweisungen 8.1 Bitverknüpfungen 8.1.3 Operationen Steigende Flanke und Fallende Flanke Tabelle 8- 14 Anweisungen "Steigende Flanke" und "Fallende Flanke" KOP FUP SCL Beschreibung Nicht verfügbar Operand auf positive Signalflanke abfragen. 1 KOP: Der Zustand dieses Kontakts ist WAHR, wenn eine steigende Flanke (AUS-nach-EIN) am zugewiesenen Bit IN erkannt wird.
Anweisungen 8.1 Bitverknüpfungen KOP FUP SCL Beschreibung Nicht verfügbar Operand bei negativer Signalflanke setzen. 1 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. Die Spule N kann an jeder beliebigen Stelle im Netzwerk eingefügt werden.
Anweisungen 8.1 Bitverknüpfungen Tabelle 8- 16 Anweisungen R_TRIG und F_TRIG KOP/FUP SCL "R_TRIG_DB"( CLK:=_in_, Q=> _bool_out_); Beschreibung Variable bei positiver Signalflanke setzen. Der vorhergehende Zustand des Eingangs CLK wird im zugewiesenen 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) erkannt wird.
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.
Anweisungen 8.2 Funktionsweise der Zeiten 8.2 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 DBStruktur vom Datentyp IEC_Timer, um Zeitdaten zu speichern, die im oberen Bereich der Box- oder Spulenanweisung angegeben werden.
Anweisungen 8.
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.
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.
Anweisungen 8.2 Funktionsweise der Zeiten Zeit Zeitdiagramm TOF: Ausschaltverzögerung generieren Die Zeit TON setzt den Ausgang Q nach einer voreingestellten Zeit auf AUS zurück. TONR: Zeitakkumulator Die Zeit TONR setzt den Ausgang Q nach einer voreingestellten Zeit auf EIN. Die abgelaufene Zeit wird über mehrere Zeitintervalle kumuliert, bis Eingang R zum Zurücksetzen der abgelaufenen Zeit angestoßen wird. Hinweis In der CPU ist keiner spezifischen Zeit eine bestimmte Ressource zugeordnet.
Anweisungen 8.
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).
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).
Anweisungen 8.2 Funktionsweise der Zeiten Ist die Option "Optimierter Bausteinzugriff" für den FB nicht angegeben, wird der Standardbausteinzugriff verwendet, der mit klassischen S7-300/400 Konfigurationen kompatibel ist und symbolischen sowie direkten Zugriff gestattet. Um einem FB mit Standardbausteinzugriff eine Multiinstanz zuzuweisen, gehen Sie wie folgt vor: 1. Öffnen Sie den FB zum Bearbeiten. 2. Platzieren Sie die Zeitanweisung an der gewünschten Stelle im FB. 3.
Anweisungen 8.3 Funktionsweise der Zähler 8.3 Funktionsweise der Zähler Tabelle 8- 23 Zähleranweisungen KOP/FUP SCL "IEC_Counter_0_DB".CTU ( CU:=_bool_in, R:=_bool_in, PV:=_in, Q=>_bool_out, CV=>_out); "IEC_Counter_0_DB".CTD ( CD:=_bool_in, LD:=_bool_in, PV:=_in, Q=>_bool_out, CV=>_out); "IEC_Counter_0_DB".
Anweisungen 8.3 Funktionsweise der Zähler Die Anzahl der Zähler, die Sie in Ihrem Anwenderprogramm verwenden können, ist lediglich durch den Speicherplatz in der CPU begrenzt. Zähler benötigen den folgenden Speicherplatz: ● Bei den Datentypen SInt oder USInt benötigt die Zähleranweisung 3 Byte. ● Bei den Datentypen Int oder UInt benötigt die Zähleranweisung 6 Byte. ● Bei den Datentypen DInt oder UDInt benötigt die Zähleranweisung 12 Byte.
Anweisungen 8.3 Funktionsweise der Zähler Tabelle 8- 26 Funktionsweise von CTD (Rückwärtszählen) Zähler Bedienung Der Zähler CTD zählt um 1 rückwärts, wenn der Wert des Parameters CD von 0 nach 1 wechselt. Das CTDZeitdiagramm zeigt die Funktionsweise bei einem vorzeichenlosen ganzzahligen Zählwert (dabei ist PV = 3). • Ist der Wert des Parameters CV (aktueller Zählwert) kleiner oder gleich 0, so lautet der Parameter für den Zählerausgang Q = 1.
Anweisungen 8.3 Funktionsweise der Zähler Speichern von Zählerdaten nach einem RUN-STOP-RUN-Wechsel oder einem Neustart der CPU Wenn eine Session im Betriebszustand RUN mit dem Betriebszustand STOP oder einem Neustart der CPU beendet wird und eine neue Session im Betriebszustand RUN gestartet wird, gehen die in der vorherigen RUN-Session gespeicherten Zählerdaten verloren, sofern die Zählerdatenstruktur nicht als remanent definiert ist (Zeiten CTU, CTD und CTUD).
Anweisungen 8.3 Funktionsweise der Zähler 6. Geben Sie oben in der neuen Zähleranweisung den Namen des globalen DBs und der Zählerstruktur ein, die Sie oben erstellt haben (wählen Sie keinen Namen aus). Beispiel: "Data_block_3.Static_1". Daraufhin wird der entsprechende Typ für die Voreinstellung und den Zählerwert vorgegeben (Beispiel: UInt für eine IEC_UCounter-Struktur).
Anweisungen 8.3 Funktionsweise der Zähler Ist die Option "Optimierter Bausteinzugriff" für den FB nicht angegeben, wird der Standardbausteinzugriff verwendet, der mit klassischen S7-300/400 Konfigurationen kompatibel ist und symbolischen sowie direkten Zugriff gestattet. Um einem FB mit Standardbausteinzugriff eine Multiinstanz zuzuweisen, gehen Sie wie folgt vor: 1. Öffnen Sie den FB zum Bearbeiten. 2. Platzieren Sie die Zähleranweisung an der gewünschten Stelle im FB. 3.
Anweisungen 8.4 Funktionsweise von Vergleichern 8.4 Funktionsweise von Vergleichern 8.4.1 Vergleichsoperationen Tabelle 8- 28 Vergleichsoperationen KOP 1 FUP SCL out := in1 = in2; or IF in1 = in2 THEN out := 1; ELSE out := 0; END_IF; Beschreibung Vergleicht zwei Werte desselben Datentyps. Hat der KOP-Kontaktvergleich das Ergebnis WAHR, wird der Kontakt aktiviert. Ist das Ergebnis des FUPBoxvergleichs WAHR, ist der Box-Ausgang ebenfalls WAHR.
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 SCL out := IN_RANGE(min, val, max); Beschreibung Prüft, ob ein Eingabewert innerhalb oder außerhalb eines angegebenen Wertebereichs liegt. Ist der Vergleich WAHR, ist der Box-Ausgang WAHR.
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) KOP FUP SCL 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. Ist die FUP-Box WAHR, ist der Box-Ausgang WAHR.
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).
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.
Anweisungen 8.5 Arithmetische Funktionen 8.4.4.3 IS_ARRAY (Auf ARRAY prüfen) Mit Anweisung "Auf ARRAY prüfen" kann abgefragt werden, ob Element Variant auf eine Variable des Datentyps Array zeigt. Der muss Datentyp Variant haben. Die Anweisungen geben 1 (wahr) zurück, wenn der Operand ein Array ist. Tabelle 8- 40 IS_ARRAY (Auf ARRAY prüfen) KOP FUP SCL Beschreibung IS_ARRAY(_variant_in_) Prüft, ob die Variable, auf die Element Variant an Operand zeigt, ein Array ist.
Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 43 Datentypen für die Parameter 1 Parameter Datentyp1 IN1, IN2, ..INn SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord Die Parameter IN und OUT müssen denselben Datentyp haben (mit impliziten Umwandlungen der Eingangsparameter).
Anweisungen 8.5 Arithmetische Funktionen 8.5.
Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 46 ENO-Status ENO Beschreibung 1 Kein Fehler 0 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 zurückgegeben. 0 Division durch 0 (IN2 = 0): Das Ergebnis ist undefiniert und Null wird zurückgegeben.
Anweisungen 8.5 Arithmetische Funktionen 8.5.4 NEG (Zweierkomplement erstellen) Tabelle 8- 50 Anweisung NEG (Zweierkomplement erstellen) KOP/FUP SCL -(in); Beschreibung 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.
Anweisungen 8.5 Arithmetische Funktionen Tabelle 8- 54 Datentypen für die Parameter Parameter Datentyp Beschreibung IN/OUT SInt, Int, DInt, USInt, UInt, UDInt Ein- und Ausgang der arithmetischen Operation Tabelle 8- 55 ENO-Status ENO Beschreibung 1 Kein Fehler 0 Der resultierende Wert liegt außerhalb des gültigen Zahlenbereichs für den ausgewählten Datentyp. Beispiel für SInt: INC (+127) ergibt +128, was das Maximum für den Datentyp überschreitet. 8.5.
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 SCL out:= MIN( in1:=_variant_in_, in2:=_variant_in_ [,...in32]); out:= MAX( in1:=_variant_in_, in2:=_variant_in_ [,...in32]); Beschreibung Die Anweisung MIN vergleicht den Wert zweier Parameter IN1 und IN2 und weist den kleineren Wert dem Parameter OUT zu.
Anweisungen 8.5 Arithmetische Funktionen 8.5.8 LIMIT (Grenzwert setzen) Tabelle 8- 62 Anweisung LIMIT (Grenzwert setzen) KOP/FUP SCL LIMIT(MN:=_variant_in_, IN:=_variant_in_, MX:=_variant_in_, OUT:=_variant_out_); Beschreibung Mit der Anweisung Limit können Sie prüfen, ob der Wert von Parameter IN innerhalb des mit Parameter MIN und MAX and if not, clamps the value at MIN or MAX. vorgegebenen Wertebereichs liegt.
Anweisungen 8.5 Arithmetische Funktionen 8.5.
Anweisungen 8.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6 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.
Anweisungen 8.
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 240). • Um Daten eines einzelnen elementaren Datentyps zu kopieren, verwenden Sie MOVE. • Um ein Feld eines elementaren Datentyps zu kopieren, verwenden Sie MOVE_BLK oder UMOVE_BLK. • Um eine Struktur zu kopieren, verwenden Sie MOVE.
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 Der Operand von Parameter SRC hat Datentyp Bool. 8281 Parameter COUNT hat einen ungültigen Wert.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 74 Anweisung DESERIALIZE KOP/FUP SCL ret_val := Deserialize( SRC_ARRAY:=_variant_in_, DEST_VARIABLE=>_variant_out _, POS:=_dint_inout_); Beschreibung Wandelt die sequentielle Darstellung eines PLC-Datentyps (UDT) zurück in einen PLC-Datentyp und füllt den gesamten Inhalt auf.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel: Anweisung "Deserialize" Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Netzwerk 1: Mit Anweisung "MOVE" wird Wert "0" in die Variable des Datenbausteins "#BufferPos" kopiert. Mit Anweisung Deserialize wird dann die sequentielle Darstellung der Kundendaten aus dem Datenbaustein "Buffer" deserialisiert und in Datenbaustein "Target" geschrieben.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Benutzerdefinierte PLC-Datentypen: Die Strukturen der beiden PLC-Datentypen (UDT) für dieses Beispiel sind nachstehend dargestellt: Datenbausteine: Die beiden Datenbausteine für dieses Beispiel sind nachfolgend dargestellt: 8.6.3 Serialize Mit der Anweisung "Serialize" können mehrere PLC-Datentypen (UDT) ohne jeglichen Strukturverlust in eine sequentielle Darstellung umgewandelt werden.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 77 Anweisung SERIALIZE KOP/FUP SCL ret_val := Serialize( SRC_VARIABLE=>_variant_in_, DEST_ARRAY:=_variant_out_, POS:=_dint_inout_); Beschreibung Wandelt einen PLC-Datentyp (UDT) in eine sequentielle Darstellung um.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Beispiel: Anweisung Serialize Das folgende Beispiel zeigt, wie die Anweisung funktioniert: Netzwerk 1: Mit Anweisung "MOVE" wird Wert "0" in Parameter "#BufferPos" kopiert. Mit Anweisung "Serialize" werden die Kundendaten aus dem Datenbaustein "Source" serialisiert und in sequentieller Darstellung in Datenbaustein "Buffer" geschrieben. Die Anweisung speichert die Anzahl der von der sequentiellen Darstellung verwendeten Bytes in Parameter "#BufferPos".
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Benutzerdefinierte PLC-Datentypen: Die Strukturen der beiden PLC-Datentypen (UDT) für dieses Beispiel sind nachstehend dargestellt: Datenbausteine: Die beiden Datenbausteine für diese Beispiel sind nachfolgend dargestellt: 8.6.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Regeln für die Anweisungen Speicher mit Bitmuster belegen • Um Daten vom Datentyp BOOL zu kopieren, verwenden Sie SET_BF, RESET_BF, R, S oder eine Ausgangsspule (KOP). • Um den Speicher mit einem einzelnen elementaren Datentyp zu belegen, verwenden Sie MOVE. • Um ein Feld mit einem elementaren Datentyp zu belegen, verwenden Sie FILL_BLK oder UFILL_BLK. • Um ein einzelnes Zeichen in einer Zeichenkette zu kopieren, verwenden Sie MOVE.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten 8.6.5 SWAP (Anordnung ändern) Tabelle 8- 83 Anweisung SWAP KOP/FUP SCL out := SWAP(in); Beschreibung Kehrt die Bytereihenfolge bei Zwei-Byte- und Vier-Byte-Datenelementen um. Die Bitfolge innerhalb eines Bytes wird nicht geändert. ENO ist nach der Ausführung der Anweisung SWAP immer WAHR. In KOP und FUP: Klicken Sie auf die "???" und wählen Sie den Datentyp in der Klappliste aus.
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 SCL out := LOWER_BOUND( ARR:=_variant_in_, DIM:=_udint_in_); Beschreibung In der Bausteinschnittstelle können Sie Variablen mit ARRAY[*] deklarieren. Für diese lokalen Variablen können Sie die Grenzwerte des ARRAY auslesen. Sie müssen die erforderliche Dimension im Parameter DIM angeben.
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.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Parameter Die folgende Tabelle zeigt die Parameter der Anweisung UPPER_BOUND: (Obere ARRAYGrenze auslesen): Parameter Deklaration Datentyp Speicherbereich Beschreibung EN Input BOOL E, A, M, D, L Freigabeeingang ENO Output BOOL E, A, M, D, L Freigabeausgang ARR Input ARRAY [*] FB: Bereich InOut ARRAY, dessen obere VariFC: Bereiche Input ablengrenze gelesen werden und InOut soll.
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.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten POKE(area:=_in_, dbNumber:=_in_, byteOffset:=_in_, value:=_in_); Schreibt den Wert (Byte, Wort oder Doppelwort) in den angegebenen byteOffset des angegebenen Datenbausteins, der E/A oder des Speicherbereichs.
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 LittleEndian- und Big-Endian-Format bereit. Little-Endian-Format bedeutet, dass das Byte mit dem niederwertigsten Bit an der kleinsten Speicheradresse gespeichert wird. Big-EndianFormat bedeutet, dass das Byte mit dem höchstwertigen Bit an der kleinsten Speicheradresse gespeichert wird.
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, LTOD, DATA, Char, WChar Quelldaten aus Variable dest_array Array of Byte Speicherbereich, in den Daten geschrieben werden sollen pos DINT Nullbasierte Position, ab der Daten in Ausgang dest_array geschrieben werden sollen. Tabelle 8- 90 Parameter RET_VAL RET_VAL* (W#16#...
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Um Strukturen und Felder zu kopieren, kann Anweisung "MOVE_BLK_VARIANT: Bereich kopieren" verwendet werden.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Hinweis Um Strukturen und Felder zu kopieren, kann Anweisung "MOVE_BLK_VARIANT: Bereich kopieren" verwendet werden.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 98 Parameter für die CountOfElements-Anweisung Parameter Datentyp Beschreibung IN Variant Variable mit den Array-Elementen, die gezählt werden sollen RET_VAL UDint Anweisungsergebnis Tabelle 8- 99 ENO-Status ENO Bedingung Ergebnis 1 Kein Fehler Die Anweisung gibt die Anzahl der ArrayElemente zurück. 0 Freigabeeingang EN hat Signalzustand "0" oder Variant zeigt nicht auf ein Array. Die Anweisung gibt 0 zurück. 8.6.
Anweisungen 8.6 Anweisungen zum Übertragen von Daten Tabelle 8- 101 Parameter und Datentyp Datentyp Beschreibung Index Eingang DInt Die Indexnummer des Array-Elements, das gelesen oder in das geschrieben werden soll. Member 1 Eingang Binärzahlen, Ganzzahlen, Gleitpunktzahlen, Zeiten, DATE, TOD, CHAR und WCHAR als Komponenten einer ARRAY-Variablen Adresse des ersten Elements in einem eindimensionalen Array, definiert in einem globalen Datenbaustein oder in einer Bausteinschnittstelle.
Anweisungen 8.7 Umwandlungsoperationen 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" angegeben wird, gesetzt.
Anweisungen 8.7 Umwandlungsoperationen 8.7 Umwandlungsoperationen 8.7.1 CONV (Wert umwandeln) Tabelle 8- 102 Anweisung Umwandeln (CONV) KOP/FUP SCL out := _TO_(in); Beschreibung Konvertiert ein Datenelement von einem Datentyp in einen anderen Datentyp. 1 In KOP und FUP: Klicken Sie auf die "???" und wählen Sie die Datentypen in der Klappliste aus.
Anweisungen 8.7 Umwandlungsoperationen 8.7.2 Umwandlungsanweisungen in SCL Umwandlungsanweisungen in SCL Tabelle 8- 105 Datentyp Bool Byte Umwandlung von Bool, Byte, Word oder DWord Anweisung BOOL_TO_BYTE, BOOL_TO_WORD, BOOL_TO_DWORD, BOOL_TO_INT, BOOL_TO_DINT BYTE_TO_BOOL Ergebnis BYTE_TO_WORD, BYTE_TO_DWORD Der Wert wird in das niederwertigste Byte des Zieldatentyps übertragen.
Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 106 Datentyp SInt Umwandlung einer kurzen Ganzzahl (SInt oder USInt) Anweisung SINT_TO_BOOL Ergebnis SINT_TO_BYTE Der Wert wird in den Zieldatentyp übertragen. Das niederwertigste Bit wird in den Zieldatentyp übertragen.
Anweisungen 8.
Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 111 Datentyp Char String Umwandlung von Char oder String Anweisung CHAR_TO_SINT, CHAR_TO_USINT, CHAR_TO_INT, CHAR_TO_UINT, CHAR_TO_DINT, CHAR_TO_UDINT CHAR_TO_STRING Ergebnis STRING_TO_SINT, STRING_TO_USINT, STRING_TO_INT, STRING_TO_UINT, STRING_TO_DINT, STRING_TO_UDINT, STRING_TO_REAL, STRING_TO_LREAL STRING_TO_CHAR Der Wert wird umgewandelt. Der Wert wird umgewandelt. Der Wert wird zum ersten Zeichen der Zeichenkette übertragen.
Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 114 ENO-Status ENO Beschreibung Ergebnis OUT 1 Kein Fehler Gültiges Ergebnis 0 IN ist +/- INF oder +/- NaN +/- INF oder +/- NaN 8.7.
Anweisungen 8.7 Umwandlungsoperationen 8.7.
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.
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.
Anweisungen 8.7 Umwandlungsoperationen Weitere Informationen zur Darstellung von Analogeingängen (Seite 1541) und zur Darstellung von Analogausgängen (Seite 1543) 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.
Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 124 Fehlercodes für Anweisung VARIANT_TO_DB_ANY Err 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 (zweiter Zugriff).
Anweisungen 8.7 Umwandlungsoperationen Tabelle 8- 127 ENO-Status ENO Bedingung Ergebnis 1 Kein Fehler Die Anweisung wandelt die Datenbausteinnummer in das Variant-Format und speichert sie im Funktionsausgang DB_ANY 0 Freigabeeingang EN hat Signalzustand "0" oder IN- Die Anweisung tut nichts. Parameter ist ungültig. Tabelle 8- 128 Err Fehlercodes für Anweisung DB_ANY_TO_VARIANT Beschreibung (W#16#...) 0000 Kein Fehler 8130 Nummer des Datenbausteins ist 0.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8 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 KOP FUP SCL Beschreibung Siehe GOTO (Seite 335)Anweisung.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.2 JMP_LIST (Sprungliste definieren) Tabelle 8- 131 Anweisung JMP_LIST KOP/FUP Tabelle 8- 132 SCL CASE k OF 0: GOTO 1: GOTO 2: GOTO [n: GOTO END_CASE; Beschreibung dest0; dest1; dest2; destn;] Die Anweisung JMP_LIST verteilt die Programmsprünge, um die Ausführung von Programmabschnitten zu steuern. Je nach Wert des Eingangs K erfolgt ein Sprung zur entsprechenden Sprungmarke im Programm.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.3 SWITCH (Sprungverteilung) Tabelle 8- 133 Anweisung SWITCH KOP/FUP SCL Nicht verfügbar Beschreibung Die Anweisung SWITCH verteilt die Programmsprünge, um die Ausführung von Programmabschnitten zu steuern. Je nach Ergebnis des Vergleichs zwischen dem Wert des Eingangs K und den Werten der angegebenen Vergleichseingänge wird ein Sprung zu der Sprungmarke durchgeführt, die dem ersten Vergleichstest mit dem Ergebnis WAHR entspricht.
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.
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. Wenn es sich bei dem aktuellen Baustein um einen OB handelt, wird der Parameter "Return_Value" ignoriert.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.
Anweisungen 8.8 Programmsteuerungsoperationen ENDIS_PW wird synchron in einem Programmzyklus ausgeführt und die PasswortAusgangsparameter 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.
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. Tabelle 8- 140 Bedingungscodes RET_VAL Beschreibung (W#16#...
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 6000 ms 150 ms 1 ms Laufzeitüberwachung Endet die maximale Zykluszeit, bevor der Zyklus vollständig ist, wird ein Fehler erzeugt.
Anweisungen 8.8 Programmsteuerungsoperationen GET_ERROR Tabelle 8- 144 Anweisung GET_ERROR KOP/FUP SCL GET_ERROR(_out_); Tabelle 8- 145 Beschreibung Zeigt an, wenn ein Fehler in der Ausführung eines lokalen Programmbausteins aufgetreten ist und belegt eine vordefinierte Fehlerdatenstruktur mit ausführlichen Fehlerinformationen.
Anweisungen 8.8 Programmsteuerungsoperationen Strukturkomponenten Datentyp Beschreibung 4 Area 5 6 PtrNr. /Zugr. 7 PtrNr. /Zugr. Stpl.Nr./Umfang Area DB-Nr. Offset Area DB-Nr. Offset Area DB-Nr.
Anweisungen 8.
Anweisungen 8.8 Programmsteuerungsoperationen Der Datentyp ErrorStruct der Anweisung GET_ERROR kann im Datenbausteineditor und in den Bausteinschnittstellen eingefügt werden, damit Ihre Programmlogik auf diese Werte zugreifen kann. Wählen Sie den Datentyp ErrorStruct in der Klappliste aus, um diese Struktur zu ergänzen. Mithilfe von eindeutigen Namen können Sie mehrere ErrorStructElemente erstellen. Die Elemente eines ErrorStruct können nicht umbenannt werden.
Anweisungen 8.8 Programmsteuerungsoperationen Soll die Laufzeit einzelner Bausteine oder Befehlssequenzen gemessen werden, werden drei separate Netzwerke benötigt. Rufen Sie Anweisung "Programmlaufzeit messen" in einem einzelnen Netzwerk Ihres Programms auf. Sie setzen den Startpunkt der Laufzeitmessung mit dem ersten Aufruf der Anweisung. Rufen Sie dann den benötigten Programmbaustein oder die Befehlssequenz im nächsten Netzwerk auf.
Anweisungen 8.8 Programmsteuerungsoperationen Netzwerk 3: Wenn der Operand "Tag_1" in Netzwerk 1 Signalzustand "1" hat, wird Anweisung RUNTIME ausgeführt. Der Startpunkt für die Laufzeitmessung wird mit dem ersten Aufruf der Anweisung gesetzt und als Referenz für den zweiten Aufruf der Anweisung in Operand "Mem" gepuffert. Funktionsbaustein FB1 wird in Netzwerk 2 ausgeführt. Wenn Programmbaustein FN1 ausgeführt ist und Operand "Tag_1" Signalzustand "1" hat, wird Anweisung RUNTIME in Netzwerk 3 ausgeführt.
Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8- 152 Arten von Programmsteuerungsanweisungen in SCL Programmsteuerungsanweisung Beschreibung Auswahl IF-THEN-Anweisung (Seite 328) Ermöglicht Ihnen, den Programmfluss in Abhängigkeit von einer Bedingung, die entweder WAHR oder FALSCH ist, in eine von zwei Alternativen zu verzweigen. CASE-Anweisung (Seite 329) Ermöglicht die selektive Ausführung einer von n alternativen Verzweigungen, basierend auf dem Wert einer Variablen.
Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8- 154 Variablen Variablen der IF-THEN-Anweisung Beschreibung "Bedingung" Erforderlich. Der logische Ausdruck ist entweder WAHR (1) oder FALSCH (0). "Anweisung_A" Optional. Eine oder mehrere Anweisungen, die auszuführen sind, wenn "Bedingung" WAHR ist. "Bedingung-n" Optional. Der logische Ausdruck, der von der optionalen ELSIF-Anweisung auszuwerten ist. "Anweisung_N" Optional.
Anweisungen 8.8 Programmsteuerungsoperationen Tabelle 8- 156 Parameter Parameter Beschreibung "Testwert" Erforderlich. Beliebiger numerischer Ausdruck vom Datentyp Int. "Werteliste" Erforderlich. Ein einzelner Wert oder eine Liste mit durch Komma getrennten Werten oder Wertebereichen. (Einen Wertebereich geben Sie mittels zwei Punkten an: 2..8). Das folgende Beispiel zeigt die verschiedenen Varianten von Wertelisten: 1: Anweisung_A; 2, 4: Anweisung _B; 3, 5..
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.4 FOR-Anweisung Tabelle 8- 157 Elemente der FOR-Anweisung SCL FOR "Steuervariable" := "Anfang" TO "Ende" [BY "Inkrement"] DO Anweisung; ; END_FOR; Beschreibung Eine FOR-Anweisung dient zur Wiederholung einer Folge von Anweisungen, solange eine Steuervariable innerhalb des angegebenen Wertebereichs liegt. Die Definition einer Schleife mit FOR umfasst die Angabe eines Anfangs- und eines Endwerts.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.5 WHILE-DO-Anweisung Tabelle 8- 159 WHILE-Anweisung SCL WHILE "Bedingung" DO Anweisung; Anweisung; ...; END_WHILE; Tabelle 8- 160 Beschreibung Die WHILE-Anweisung führt eine Anweisungsfolge aus, bis eine vorgegebene Bedingung WAHR ist. WHILE-Schleifen können Sie verschachteln. Die END_WHILE-Anweisung bezieht sich auf die zuletzt ausgeführte WHILE-Anweisung. Parameter Parameter Beschreibung "Bedingung" Erforderlich.
Anweisungen 8.8 Programmsteuerungsoperationen 8.8.10.6 REPEAT-UNTIL-Anweisung Tabelle 8- 161 REPEAT-Anweisung SCL REPEAT Anweisung; ; UNTIL "Bedingung" END_REPEAT; Tabelle 8- 162 Beschreibung Die REPEAT-Anweisung führt eine Gruppe von Anweisungen aus, bis eine vorgegebene Bedingung WAHR ist. REPEAT-Schleifen können Sie verschachteln. Die END_REPEAT-Anweisung bezieht sich immer auf die zuletzt ausgeführte REPEAT-Anweisung. Parameter Parameter Beschreibung Anweisung Optional.
Anweisungen 8.8 Programmsteuerungsoperationen Die CONTINUE-Anweisung wird entsprechend den folgenden Regeln ausgeführt: ● Diese Anweisung beendet die Ausführung des Schleifeninhalts sofort. ● Abhängig davon, ob die Bedingung für die Wiederholung der Schleife erfüllt ist oder nicht, wird der Schleifeninhalt erneut ausgeführt oder die Wiederholungsanweisung beendet und die unmittelbar nachfolgende Anweisung ausgeführt.
Anweisungen 8.8 Programmsteuerungsoperationen Verwenden Sie die EXIT-Anweisung innerhalb einer Schleife. In verschachtelten Schleifen gibt die EXIT-Anweisung die Verarbeitung an die nächsthöhere Schachtelungebene zurück. Beispiel: EXIT-Anweisung FOR i := 0 TO 10 DO CASE Wert[i, 0] OF 1..10: Wert [i, 1]:="A"; 11..40: Wert [i, 1]:="B"; 41..100: Wert [i, 1]:="C"; ELSE EXIT; END_CASE; END_FOR; 8.8.10.9 GOTO-Anweisung Tabelle 8- 165 GOTO-Anweisung SCL GOTO JumpLabel; Anweisung; ...
Anweisungen 8.9 Wortverknüpfung 8.8.10.10 RETURN-Anweisung Tabelle 8- 166 Anweisung RETURN SCL RETURN; Beschreibung Die RETURN-Anweisung beendet den Codebaustein, der gerade ausgeführt wird, ohne Bedingungen. Die Programmausführung kehrt zum aufrufenden Baustein oder zum Betriebssystem zurück (beim Beenden eines OB). Beispiel: RETURN-Anweisung: IF "Fehler" <> 0 THEN RETURN; END_IF; Hinweis Nach der Ausführung der letzten Anweisung kehrt der Codebaustein automatisch zum aufrufenden Baustein zurück.
Anweisungen 8.9 Wortverknüpfung Um einen Eingang zu löschen, klicken Sie bei einem der vorhandenen Parameter IN mit der rechten Maustaste auf den Eingangsanschluss (sofern mehr als die zwei ursprünglichen Eingänge vorhanden sind) und wählen den Befehl "Löschen".
Anweisungen 8.9 Wortverknüpfung 8.9.3 Anweisungen DECO (Decodieren) and ENCO (Encodieren) Tabelle 8- 171 Anweisungen ENCO und DECO KOP/FUP SCL Beschreibung out := ENCO(_in_); Wandelt ein Bitmuster in eine Binärzahl um. out := DECO(_in_); Wandelt eine Binärzahl in ein Bitmuster um. Die Anweisung ENCO wandelt den Parameter IN in die Binärzahl um, die der Bitposition des niederwertigsten Bits von Parameter IN entspricht, und gibt das Ergebnis in Parameter OUT aus.
Anweisungen 8.9 Wortverknüpfung Bereich für den DECO-Parameter IN: ● 3 Bits (Werte 0-7) IN werden verwendet, um 1 Bitposition in einem Byte OUT zu setzen ● 4 Bits (Werte 0-15) IN werden verwendet, um 1 Bitposition in einem Word OUT zu setzen ● 5 Bits (Werte 0-31) IN werden verwendet, um 1 Bitposition in einem DWord OUT zu setzen Tabelle 8- 174 Beispiele Wert IN für DECO Wert OUT für DECO (Einzelne Bitposition umwandeln) Byte OUT Min. IN 0 00000001 8 Bits Max. IN 7 10000000 Word OUT Min.
Anweisungen 8.9 Wortverknüpfung Bedingungscodes: ENO ist nach der Ausführung der Anweisung SEL immer WAHR. Tabelle 8- 177 KOP/FUP Anweisung MUX (Multiplexen) SCL out := MUX( k:=_unit_in, in1:=variant_in, in2:=variant_in, Beschreibung Die Anweisung MUX kopiert einen von vielen Eingangswerten, abhängig vom Wert des Parameters K, in den Parameter OUT. Überschreitet der Wert von Parameter K (INn - 1), so wird der Wert des Parameters ELSE in den Parameter OUT kopiert. [...
Anweisungen 8.9 Wortverknüpfung Tabelle 8- 179 KOP/FUP Anweisung DEMUX (Demultiplexen) SCL DEMUX( k:=_unit_in, in:=variant_in, out1:=variant_in, out2:=variant_in, Beschreibung DEMUX kopiert den Wert der Adresse, die dem Parameter IN zugewiesen ist, in einen von vielen Ausgängen. Der Wert des Parameters K gibt an, welcher Ausgang als Ziel des Werts IN ausgewählt wird. Ist der Wert von K größer als die Zahl (OUTn - 1), wird der Wert IN in die Adresse kopiert, die dem Parameter ELSE zugewiesen ist. [...
Anweisungen 8.
Anweisungen 8.10 Schieben und Rotieren ● Falls die Anzahl der zu schiebenden Positionen (N) die Anzahl der Bits im Zielwert überschreitet (8 bei Byte, 16 bei Word, 32 bei DWord), werden alle ursprünglichen Bitwerte hinausgeschoben und durch Nullen ersetzt (OUT wird Null zugewiesen). ● ENO ist bei den Schiebeanweisungen immer WAHR.
Anweisungen 8.10 Schieben und Rotieren Tabelle 8- 187 Beispiel: ROR mit Word-Daten Bits rechts hinausrotieren und links hineinrotieren (N = 1) IN 0100 0000 0000 0001 Wert von OUT vor dem ersten Rotieren: 0100 0000 0000 0001 Nach dem ersten Rotieren rechts: 1010 0000 0000 0000 Nach dem zweiten Rotieren rechts: 0101 0000 0000 0000 S7-1200 Automatisierungssystem 344 Systemhandbuch, V4.2.
9 Erweiterte Anweisungen 9.1 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).
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. Umwandlung aus dem/in den Datentyp DTL Der Datentyp DTL (Date and Time Long) enthält Daten für Jahr, Monat, Datum und Uhrzeit.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9- 5 Anweisung T_DIFF (Zeitdifferenz) KOP/FUP SCL out := T_DIFF( in1:=_DTL_in, in2:=_DTL_in); Tabelle 9- 6 Beschreibung T_DIFF subtrahiert den DTL-Wert (IN2) vom DTL-Wert (IN1). Der Parameter OUT liefert den Differenzwert als Datentyp Time.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.2 Uhrzeitfunktionen WARNUNG Gefahr unbefugter Zugriffe auf Ihre Netzwerke durch NTP-Synchronisation (Network Time Protocol) Wenn ein Angreifer über die NTP-Synchronisation (Network Time Protocol) auf Ihre Netzwerke zugreifen kann, kann er Ihnen möglicherweise durch Veränderung der CPUSystemzeit die Kontrolle über Ihren Prozess entziehen.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen Tabelle 9- 9 Anweisungen für die Systemzeit KOP/FUP SCL ret_val := WR_SYS_T( in:=_DTL_in_); ret_val := RD_SYS_T( out=>_DTL_out); ret_val := RD_LOC_T( out=>_DTL_out); Beschreibung WR_SYS_T (Uhrzeit einstellen) stellt die Echtzeituhr in der CPU anhand des DTL-Werts von Parameter IN ein. Dieser Zeitwert berücksichtigt weder die jeweilige Ortszeit noch die Sommer/Winterzeitumschaltung.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen ● Für die Sommerzeitumschaltung sind Monat, Woche, Tag und Stunde der Umstellung auf Sommerzeit einzugeben. ● Für die Winterzeitumschaltung sind ebenfalls Monat, Woche, Tag und Stunde der Umstellung auf Winterzeit einzugeben. ● Die Zeitzonendifferenz gilt immer bezogen auf die Systemzeit. Die Sommerzeitverschiebung gilt nur, wenn eine Umstellung auf Sommerzeit stattfindet.
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.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.4 SET_TIMEZONE (Zeitzone setzen) Tabelle 9- 11 Anweisung SET_TIMEZONE KOP/FUP SCL "SET_TIMEZONE_DB"( REQ:=_bool_in, Timezone:=_struct_in, DONE=>_bool_out_, BUSY=>_bool_out_, ERROR=>_bool_out_, STATUS=>_word_out_); Beschreibung Stellt die Parameter für lokale Zeitzone und Sommer-/Winterzeitumschaltung ein, anhand deren die CPU-Systemzeit in die jeweilige Ortszeit umgewandelt wird.
Erweiterte Anweisungen 9.1 Datums-, Uhrzeit- und Uhrfunktionen 9.1.5 RTM (Betriebsstundenzähler) Tabelle 9- 13 Anweisung RTM KOP/FUP SCL RTM(NR:=_uint_in_, MODE:=_byte_in_, PV:=_dint_in_, CQ=>_bool_out_, CV=>_dint_out_); Beschreibung Die Anweisung RTM (Betriebsstundenzähler) kann die Betriebsstundenzähler in der CPU setzen, starten, stoppen und lesen.
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. Die Betriebsstundenzähler müssen neu gestartet werden, um weitere Betriebsstunden zu zählen.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2 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. Das erste Byte enthält die maximale Länge, die bei der Initialisierung einer Zeichenkette in eckigen Klammern angegeben bzw. auf 254 voreingestellt ist.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Wenn die tatsächliche Länge der Zeichenkette am Eingang IN die maximale Länge einer am Ausgang OUT gespeicherten Zeichenkette überschreitet, wird der Teil der Zeichenkette IN, der in OUT passt, kopiert. 9.2.3 Anweisungen für die Zeichenkettenkonvertierung 9.2.3.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Wie viele Zeichen ersetzt werden, hängt von Datentyp und Zahlenwert des Parameters IN ab. Die ersetzte Zeichenzahl muss in die in Parameter OUT festgelegte Zeichenkettenlänge passen. Die maximale Zeichenkettenlänge (erstes Byte) der Zeichenkette in Parameter OUT muss größer oder gleich der maximal erwarteten Zahl umgewandelter Zeichen sein.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen STRG_VAL (Zeichenkette in Zahlenwert umwandeln) Tabelle 9- 22 Anweisung Zeichenkette in Zahlenwert wandeln KOP/FUP SCL "STRG_VAL"( in:=_string_in, format:=_word_in, p:=uint_in, out=>_variant_out); Beschreibung Konvertiert eine Zahlenzeichenkette in die entsprechende ganzzahlige oder Gleitpunktdarstellung. In KOP/FUP: Klicken Sie auf die "???" und wählen Sie den Datentyp in der Klappliste aus.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Der Parameter FORMAT der Anweisung STRG_VAL ist nachstehend definiert. Die freien Bitpositionen müssen auf Null gesetzt werden. Tabelle 9- 24 Format der Anweisung STRG_VAL Bit 16 0 Bit 8 Bit 7 0 0 0 0 0 0 0 0 Bit 0 0 0 f = Darstellungsformat 1= Exponentielle Darstellung 0 = Festpunktdarstellung r = Dezimalpunktformat (Kommazeichen) 0 = ".
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen VAL_STRG (Zahlenwert in Zeichenkette umwandeln) Tabelle 9- 26 Anweisung Zahlenwert in Zeichenkette wandeln KOP/FUP SCL "VAL_STRG"( in:=_variant_in, size:=_usint_in, prec:=_usint_in, format:=_word_in, p:=uint_in, out=>_string_out); Beschreibung Konvertiert einen ganzzahligen Wert mit oder ohne Vorzeichen oder einen Gleitpunktwert in die entsprechende Zeichenkettendarstellung.
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 16 0 Bit 8 Bit 7 0 0 0 0 0 0 0 0 Bit 0 0 0 s = Zeichen für das Vorzeichen 1= Vorzeichen "+" und "-" 0 = nur Vorzeichen "-" f = Darstellungsformat 1= Exponentielle Darstellung 0 = Festpunktdarstellung r = Dezimalpunktformat (Kommazeichen) 0 = ".
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 Nullen links vom Dezimalpunkt (mit Ausnahme der Ziffer direkt neben dem Dezimalpunkt) werden unterdrückt.
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 ENO "123" Int oder DInt 123 WAHR "-00456" Int oder DInt -456 WAHR "123,45" Int oder DInt 123 WAHR "+2345" Int oder DInt 2345 WAHR "00123AB" Int oder DInt 123 WAHR "123" Real 123,0 WAHR "123,45" Real 123,45 WAHR "1.23e-4" Real 1,23 WAHR "1.23E-4" Real 1,23 WAHR "12.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 33 Beispiel: STRG_VAL-Umwandlung IN-Zeichenkette FORMAT (W#16#....
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 34 Beispiel: VAL_STRG-Umwandlung Datentyp IN-Wert P SIZE FORMAT (W#16#....) PREC UInt 123 16 10 0000 0 UInt UDInt UDInt Int Int Real Real Real Real Real UDInt 9.2.3.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 36 Datentypen für die Parameter (Strg_TO_Chars) Parameter und Datentyp Datentyp Beschreibung Strg IN String, WString Quellzeichenfolge pChars IN DInt Array-Elementnummer des ersten Zeichens der Zeichenkette, das in das Ziel-Array geschrieben wird Chars IN_OUT Variante Der Parameter Chars ist ein Pointer auf ein nullbasiertes Array [0..n] aus Zeichen, das aus der Eingangszeichenkette kopiert wird.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 39 ENO-Status ENO Beschreibung 1 Kein Fehler 0 Chars_TO_Strg: Versuch, mehr Zeichenbytes in die Ausgangszeichenkette zu kopieren als entsprechend dem Byte für die maximale Länge in der Zeichenkettendeklaration zulässig sind 0 Chars_TO_Strg: Der Nullzeichenwert (16#00) wurde im Byte-Array des Eingangszeichens gefunden.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Parameter IN und OUT geben Byte-Arrays, keine hexadezimalen String-Daten an. Die Umwandlung der ASCII-Zeichen und ihre Ausgabe in Hexadezimalzeichen erfolgt in der Reihenfolge, in der sie gelesen werden. Bei einer ungeraden Anzahl ASCII-Zeichen werden Nullen in das äußerste rechte Halbbyte der zuletzt umgewandelten Hexadezimalstelle geschrieben.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Tabelle 9- 46 ATH and HTA-Bedingungscodes RET_VAL (W#16#....) Beschreibung ENO 0000 Kein Fehler WAHR 0007 Ungültiges ATH-Eingangszeichen: Es wurde ein Zeichen gefunden, bei dem es sich nicht um ein ASCII-Zeichen 0-9, einen Kleinbuchstaben a-f oder um einen Großbuchstaben A-F handelte FALSCH 8101 Unzulässiger oder ungültiger Eingangspointer, zum Beispiel ein Zugriff auf einen DB, der nicht existiert.
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 SCL out := MAX_LEN(in); Beschreibung MAX_LEN (Maximale Länge der Zeichenkette) gibt die der Zeichenkette IN am Ausgang OUT zugewiesene maximale Länge an.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.4.2 LEN (Länge einer Zeichenkette ermitteln) Tabelle 9- 49 Anweisung LEN KOP/FUP SCL out := LEN(in); Beschreibung LEN (Länge) gibt die aktuelle Länge der Zeichenkette IN am Ausgang OUT aus. Eine leere Zeichenkette hat die Länge Null.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.
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 SCL out := DELETE(in, L, p); Beschreibung 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 ausgegeben. • Ist L gleich Null, so wird die eingegebene Zeichenkette an OUT ausgegeben.
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 SCL out := INSERT(in1, in2, p); Beschreibung Fügt die Zeichenkette IN2 in die Zeichenkette IN1 ein. Das Einfügen beginnt nach dem Zeichen an Position P.
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 SCL out := REPLACE( in1:=_string_in_, in2:=_string_in_, L:=_int_in_, p:=_int_in); Beschreibung Ersetzt L Zeichen in der Zeichenkette im Parameter IN1. Das Ersetzen beginnt an Zeichenposition P (einschließlich) der Zeichenkette IN1, die Ersetzungszeichen werden aus Parameter IN2 übernommen.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.
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 GetSymbolName Bedeutung 1 '...' • Erstes Zeichen von WSTRING:' • Kennzeichen dafür, dass der Name abgeschnitten wurde: ...
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. Rufen Sie die Anweisung GetSymbolName im Baustein Level1 auf.
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 SCL OUT := GetSymbolPath( variable:=_parameter_in_, size:=_dint_in_); Beschreibung Die Anweisung GetSymbolPath liest den zusammengesetzten globalen Namen eines Eingangsparameters an der lokalen Schnittstelle eines Bausteins (FB oder FC).
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.
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. ● Der Baustein FB_Level_2 führt GetSymbolPath aus, um den Pfad des Parameters an der Schnittstelle REQ2 zu lesen.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5.3 GetInstanceName (Namen der Baustein-Instanz auslesen) Tabelle 9- 72 Anweisung GetInstanceName KOP/FUP SCL OUT := GetInstanceName( size:=_dint_in_); Beschreibung Mit der Anweisung GetInstanceName können Sie den Namen des Instanz-Datenbausteins in einem Funktionsbaustein lesen.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Das folgende Beispiel veranschaulicht die Bedeutung des Parameters SIZE. GetInstanceName hat den folgenden Instanznamen aus der Bausteinschnittstelle gelesen: "Level1_DB" (die doppelten Anführungszeichen am Anfang und Ende des Namens gehören zum Namen). SIZE Ausgabe von GetSymbolPath Bedeutung 1 '...' • Erstes Zeichen von WSTRING:' • Kennzeichen dafür, dass der Name abgeschnitten wurde: ...
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.
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 SCL OUT := GetInstancePath( size:=_dint_in_); Beschreibung Mit der Anweisung GetInstancePath lesen Sie den zusammengesetzten globalen Namen der Bausteininstanz in einem Funktionsbaustein.
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. ● Der Funktionsbaustein FB_Level_2 wiederum speichert seine Daten in dem aufrufenden Funktionsbaustein FB_Level_1.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Die Anweisung GetInstancePath gibt abhängig vom Wert des Parameters SIZE die folgenden Werte für dieses Beispiel aus: SIZE Ausgabe von GetInstancePath Bedeutung 1 '...' • Erstes Zeichen von WSTRING:' • Kennzeichen dafür, dass der Name abgeschnitten wurde: ... • Letztes Zeichen von WSTRING:' • Erstes Zeichen von WSTRING:' • Das erste Zeichen des Namens und Kennzeichen dafür, dass der Name abgeschnitten wurde:"...
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen 9.2.5.5 GetBlockName (Name des Bausteins auslesen) Tabelle 9- 74 Anweisung GetBlockName KOP/FUP SCL RET_VAL := GetBlockName( size:=_dint_in_); Beschreibung Mit der Anweisung GetBlockName lesen Sie den Name des Bausteins, in dem die Anweisung aufgerufen wird.
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Das folgende Beispiel veranschaulicht die Bedeutung des Parameters SIZE. GetBlockName hat den folgenden Bausteinnamen ausgelesen: Level1_gbn (die doppelten Anführungszeichen am Anfang und Ende des Namens gehören zum Namen). SIZE Ausgabe von GetBlockName Bedeutung 1 '...' • Erstes Zeichen von WSTRING:' • Kennzeichen dafür, dass der Name abgeschnitten wurde: ... • Letztes Zeichen von WSTRING:' 2 3 6 0 '"...' '"L...' '"Leve...
Erweiterte Anweisungen 9.2 Zeichenketten- und Zeichenanweisungen Beispiel: Lesen eines Bausteinnamens Das folgende Beispiel zeigt, wie Sie einen Bausteinnamen auslesen. 1. Legen Sie zwei Variablen in einem globalen Datenbaustein zum Speichern der Daten an. 2. Definieren Sie die Parameter der Anweisung wie folgt: Der Baustein Level1_gbn führt die Anweisung GetBlockName aus.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) 9.3 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 396): Liest einen Datensatz mit der Nummer INDEX aus einem Modul oder Gerät. ● Anweisung WRREC (Seite 396): Überträgt einen Datensatz mit der Nummer INDEX in ein von ID angegebenes Modul oder Gerät.
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.
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 REQ IN Bool REQ = 1: Datensatz übertragen ID IN HW_IO (Word) Logische Adresse der DP-Slave/PROFINET IO-Komponente (Modul oder Submodul): • Bei einem Ausgabemodul muss Bit 15 gesetzt werden (zum Beispiel für Adresse 5: ID:=DW#16#8005). Bei einem Kombimodul muss die kleinere der beiden Adressen angegeben werden.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter und Datentyp Datentyp Beschreibung LEN UInt • Länge der abgerufenen Informationen aus dem Datensatz (RDREC) • Maximale Byte-Länge des zu übertragenden Datensatzes (WRREC) • Zielbereich für den abgerufenen Datensatz (RDREC) • Datensatz (WRREC) RECORD OUT (RDREC) IN (WRREC) IN_OUT Variant Die Anweisungen RDREC und WRREC funktionieren asynchron, d.h. die Verarbeitung deckt mehrere Anweisungsaufrufe ab.
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" lesen Sie konsistent Eingänge von Modulen oder Submodulen von DP-Slaves und PROFINET IO-Devices.
Erweiterte Anweisungen 9.
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 DPSlaves und PROFINET IO-Devices. Wenn Sie den relevanten Adressbereich des DPNormslaves/PROFINET IO-Device als einen konsistenten Bereich in einem Prozessabbild konfiguriert haben, werden die Daten an das Prozessabbild übertragen.
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 419)" auf.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Mit dem Eingangsparameter ID, wählen Sie das IO-Modul basierend auf der angegebenen Hardware aus. Mit den Parametern OFFSET und LEN, weisen Sie den Teil des Prozessabbildbereichs zu, der für die von ID adressierte Komponente geschrieben werden soll. Wenn der von OFFSET und LEN angegebene Ausgangsbereich vom Modul nicht vollständig abgedeckt wird, gibt der Baustein den Fehlercode DW#16#4080B700 aus.
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.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter und Datentyp Datentyp Beschreibung ID HW_IO (Word) Hardwarekennung des E/A-Moduls, das den Diagnosealarm verursacht hat OUT Hinweis: In der Beschreibung des Parameters F_ID finden Sie eine Erläuterung dazu, wie Sie die Geräte-ID ermitteln.
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 0 • ID enthält die Hardwarekennung des E/A-Moduls, das den Alarm ausgelöst hat. • Der Ausgangsparameter NEW wird auf WAHR gesetzt. • LEN erzeugt einen Ausgang von 0. • AINFO und TINFO werden nicht mit Informationen aktualisiert.
Erweiterte Anweisungen 9.
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. Sie können die Anweisung nicht mit PROFIBUS DP-Slaves verwenden.
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. Die entsprechenden Fehlerereignisse treten nicht mehr auf.
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. Die Fehler-LEDs auf dem PROFINET IO-Controller oder der CPU melden die deaktivierten PROFINET IO-Devices nicht als fehlerhaft oder abwesend.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Kann anschließend wieder auf das PROFINET IO-Device zugegriffen werden, führt dies zu standardmäßigem Systemverhalten. Hinweis Die Aktivierung eines PROFINET IO-Device kann zeitaufwändig sein. Wenn Sie einen laufenden Aktivierungsauftrag abbrechen möchten, starten Sie D_ACT_DP mit dem gleichen Wert für LADDR und MODE = 2.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Parameter RET_VAL Fehlercode* Bedeutung (W#16#...) 0000 Auftrag fehlerfrei ausgeführt. 0001 Das PROFINET IO-Device ist aktiv (dieser Fehlercode ist nur bei MODE = 0 möglich). 0002 Das PROFINET IO-Device ist deaktiviert (dieser Fehlercode ist nur bei MODE = 0 möglich). 7000 Erster Aufruf mit REQ = 0: Der in LADDR angegebene Auftrag ist nicht aktiv; BUSY hat den Wert 0.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Fehlercode* Bedeutung (W#16#...) 80C1 D_ACT_DP ist gestartet und wird mit einer anderen Adresse fortgesetzt (dieser Fehlercode ist möglich, wenn MODE = 1 und MODE = 2). 80C3 • Temporärer Ressourcenfehler: Die CPU verarbeitet gegenwärtig die maximal mögliche Anzahl von Aktivierungs- und Deaktivierungsaufträgen (8). (Dieser Fehlercode ist nur möglich, wenn MODE = 1 und MODE = 2.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9- 87 STATUS[3]-Werte Error_decode (B#16#....) Error_code_1 (B#16#....
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode (B#16#....) Error_code_1 (B#16#....) Erläuterung (DVP1) Beschreibung B1 Längenfehler beim Schreiben Die Längeninformationen im Parameter RECORD sind falsch. • Bei RALRM: Längenfehler in AINFO Hinweis: Das Online-Informationssystem von STEP 7 bietet unmittelbaren Zugriff auf Informationen dazu, wie die von AINFO zurückgegebenen Puffer auszuwerten sind.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode (B#16#....) Error_code_1 (B#16#....) Erläuterung (DVP1) Beschreibung C1 Einschränkungskonflikt beim Schreiben Die Daten der vorherigen Schreibanforderung an das Modul für denselben Datensatz wurden vom Modul noch nicht verarbeitet. C2 Ressource ausgelastet Das Modul verarbeitet derzeit die maximal mögliche Anzahl von Aufträgen für eine CPU.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Error_decode (B#16#....) Error_code_1 (B#16#....) 89 00 bis FF Erläuterung (DVP1) Beschreibung Fehler im neunten Aufrufparameter (bei RALRM (Seite 405): AINFO) Hinweis: Das Online-Informationssystem von STEP 7 bietet unmittelbaren Zugriff auf Informationen dazu, wie die von AINFO zurückgegebenen Puffer auszuwerten sind.
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. Die Anweisung DPRD_DAT und DPWR_DAT können Sie für PROFINET und PROFIBUS einsetzen.
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 "PLCGrundlagen: Ausführung des Anwenderprogramms" (Seite 87).
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 IODevice 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: ● Der Quellbereich muss mindestens so lang sein wie die Ausgänge des ausgewählten Moduls.
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).
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.
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.
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.
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.
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.
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.
Erweiterte Anweisungen 9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i) Tabelle 9- 95 Struktur der Slave-Diagnosedaten Byte Beschreibung 0 Teilnehmerstatus 1 1 Teilnehmerstatus 2 2 Teilnehmerstatus 3 3 Master-Teilnehmernummer 4 Hersteller-ID (oberes Byte) 5 Hersteller-ID (unteres Byte) 6 ...
Erweiterte Anweisungen 9.4 PROFIenergy 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. - 80C3 Die erforderlichen Ressourcen (Speicher usw.) sind derzeit ausgelastet.
Erweiterte Anweisungen 9.4 PROFIenergy PROFIenergy-Controller (PE-Controller) Der PE-Controller ist eine höhere CPU (z. B. eine S7-1500), die den Ruhezustand von untergeordneten Geräten aktiviert bzw. deaktiviert. Der PE-Controller deaktiviert und reaktiviert bestimmte Produktionskomponenten oder ganze Produktionslinien über das Anwenderprogramm. Untergeordnete Geräte empfangen Befehle vom Anwenderprogramm über entsprechende Anweisungen (Funktionsbausteine).
Erweiterte Anweisungen 9.5 Alarme 9.5 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.
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. ● Ereignisse fallende Flanke: die ersten 12 integrierten Digitaleingänge der CPU (DEa.
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 "" in der Gerätekonfiguration "Prozessalarm:" gekennzeichnet. Nur Prozessalarm-OBs können einem Prozessalarmereignis zugeordnet werden. Alle vorhandenen Prozessalarm-OBs werden in der Klappliste "Prozessalarm:" aufgeführt.
Erweiterte Anweisungen 9.5 Alarme Sie können ein aktiviertes Prozessalarmereignis auch während der Laufzeit zuordnen bzw. die Zuordnung aufheben. Mit den Anweisungen ATTACHund DETACH können Sie dem entsprechenden OB während der Laufzeit (bei Bedarf mehrmals) ein aktiviertes Prozessalarmereignis zuordnen bzw. die Zuordnung aufheben.
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 Tabelle 9- 101 SCL ret_val := SET_CINT( ob_nr:=_int_in_, cycle:=_udint_in_, phase:=_udint_in_); Beschreibung Der angegebene Alarm-OB wird gesetzt, um die zyklische Ausführung zu starten, die den Programmzyklus unterbricht.
Erweiterte Anweisungen 9.5 Alarme Wenn Sie die Ausführung eines OBs niedrigerer Priorität mit fester Zykluszeit starten möchten, muss die Phasenverschiebung größer sein als die Verarbeitungszeit des OBs höherer Priorität. Tabelle 9- 102 Bedingungscodes RET_VAL (W#16#....
Erweiterte Anweisungen 9.5 Alarme 9.5.2.2 QRY_CINT (Weckalarmparameter abfragen) Tabelle 9- 103 QRY_CINT (Weckalarm abfragen) KOP/FUP Tabelle 9- 104 SCL ret_val := QRY_CINT( ob_nr:=_int_in_, cycle=>_udint_out_, phase=>_udint_out__, status=>_word_out_); Beschreibung Parameter und Ausführungszustand eines Weckalarm-OBs werden abgerufen. Die zurückgegebenen Werte existierten zur Zeit der Ausführung von QRY_CINT.
Erweiterte Anweisungen 9.5 Alarme Tritt ein Fehler auf, zeigt RET_VAL den entsprechenden Fehlercode und den Parameter STATUS = 0 an. Tabelle 9- 106 9.5.3 Parameter RET_VAL RET_VAL (W#16#....) Beschreibung 0000 Kein Fehler 8090 OB ist nicht vorhanden oder hat den falschen Typ. 80B2 OB hat kein zugehöriges Ereignis.
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 Tabelle 9- 108 SCL ret_val := SET_TINTL( OB_NR:=_int_in_, SDT:=_dtl_in_, LOCAL:=_bool_in_ PERIOD:=_word_in_ ACTIVATE:=_bool_in_); Beschreibung Festlegen eines Uhrzeitalarms. Der OB kann für eine Ausführung oder für wiederholte Ausführungen in einem zugewiesenen Zeitraum festgelegt werden.
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. STEP 7 berechnet den Alarmzeitraum basierend auf Datum und Uhrzeit der CPU. Hinweis Bei der Umstellung von Sommer- nach Winterzeit ist die erste Stunde des Tages nicht vorhanden.
Erweiterte Anweisungen 9.5 Alarme Tabelle 9- 112 Bedingungscodes RET_VAL (W#16#....) Beschreibung 0000 Kein Fehler 8090 Ungültiger Parameter OB_NR 80A0 Kein(e) Startdatum/-uhrzeit für diesen Alarm-OB eingestellt 9.5.3.3 ACT_TINT (Uhrzeitalarm aktivieren) Tabelle 9- 113 ACT_TINT (Uhrzeitalarm aktivieren) KOP/FUP Tabelle 9- 114 SCL ret_val:=ACT_TINT(_int_in_); Beschreibung Aktiviert das Uhrzeitalarmereignis für den angegebenen Alarm-OB.
Erweiterte Anweisungen 9.5 Alarme 9.5.3.4 QRY_TINT (Status des Uhrzeitalarms abfragen) Tabelle 9- 116 QRY_TINT (Uhrzeitalarm abfragen) KOP/FUP Tabelle 9- 117 SCL ret_val:=QRY_TINT( OB_NR:=_int_in_, STATUS=>_word_out_); Beschreibung Fragt den Uhrzeitalarmstatus für den angegebenen Alarm-OB ab.
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.
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. Ingesamt dürfen maximal vier Verzögerungsalarmereignisse aktiv sein.
Erweiterte Anweisungen 9.5 Alarme Parameter STATUS von QRY_DINT Tabelle 9- 122 Wenn ein Fehler (REL_VAL <> 0) vorliegt, ist STATUS = 0. Bit Wert Beschreibung 0 0 In RUN 1 Beim Anlauf 0 Der Alarm ist aktiviert. 1 Der Alarm ist deaktiviert. 0 Der Alarm ist nicht aktiv oder abgelaufen. 1 Der Alarm ist aktiv. 0 Ein OB mit der in OB_NR angegebenen OB-Nummer existiert nicht. 1 Ein OB mit der in OB_NR angegebenen OB-Nummer existiert.
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 KOP/FUP Anweisungen DIS_AIRT und EN_AIRT SCL DIS_AIRT(); EN_AIRT(); Beschreibung DIS_AIRT verzögert die Bearbeitung neuer Alarmereignisse. Sie können DIS_AIRT in einem OB mehrmals ausführen.
Erweiterte Anweisungen 9.6 Alarme 9.6 Alarme 9.6.1 Gen_UsrMsg (Anwenderdiagnosemeldungen erzeugen) Tabelle 9- 126 Anweisung Gen_UsrMsg KOP/FUP SCL ret_val :=Gen_UsrMsg( Mode:=_uint_in_, TextID:=_uint_in_, TextListID:=_uint_in_, AssocValues:=_struct_inout_); Beschreibung Mit der Anweisung "Gen_UsrMsg" erzeugen Sie einen Anwenderdiagnosealarm, bei dem es sich entweder um einen kommenden oder gehenden Alarm handeln kann.
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 Konstante Parameter zum Auswählen des Status des Alarms: • 1: kommender Alarm • 2: gehender Alarm TextID Input UInt E, A, M, D, L oder Konstante ID des Textlisteneintrags, der für den Alarmtext verwendet werden soll.
Erweiterte Anweisungen 9.6 Alarme Parameter AssocValues Mit dem Systemdatentyp AssocValues definieren Sie, welche Begleitwerte gesendet werden. Maximal sind acht Begleitwerte möglich. Geben Sie den Datentyp "AssocValues" als Datenbaustein ein, um die Struktur anzulegen. Sie wählen Begleitwerte aus, indem Sie die Nummern der Begleitwerte für die Parameter Value[x] eingeben.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter RET_VAL Die folgende Tabelle zeigt die Bedeutung der Werte des Parameters RET_VAL: Fehlercode* (W#16#...) Bedeutung 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.
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.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 150 Zustand von RET_VAL RET_VAL (W#16#...
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 9.7.5 Get_Name (Namen eines PROFINET IO-Device lesen) Die Anweisung "Get_Name" liest den Namen eines PROFINET IO-Device, PROFIBUSSlaves oder AS-i-Slaves. Der Name wird in der Netzsicht und in den Eigenschaften des IODevice angezeigt.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung Get_Name: Parameter Deklaration Datentyp Beschreibung LADDR IN HW_IOSYSTEM Hardwarekennung (HW-IoSystem) des dezentralen IOSystems. Die Nummer wird aus den Systemkonstanten oder den Eigenschaften des IO-Systems abgerufen.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter STATUS Fehlercode* (W#16#...) Bedeutung 0 Kein Fehler 7000 Kein Auftrag in Bearbeitung. 7001 Erster Aufruf der asynchronen Anweisung Get_Name. Die Ausführung der Anweisung ist noch nicht beendet (BUSY = 1, DONE = 0). 7002 Zusätzlicher Aufruf der asynchronen Anweisung Get_Name. Die Ausführung der Anweisung ist noch nicht beendet (BUSY = 1, DONE = 0).
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel Das folgende Beispiel zeigt, wie Sie den Stationsnamen eines ET 200SP PROFINET IODevice 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. – Weisen Sie die CPU als den IO-Controller für das ET 200SP zu. – Verwenden Sie die Standardgerätenummer "1" in den Eigenschaften unter "EthernetAdressen". 2.
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. – Definieren Sie die PLC-Variablen (Speicherbereich, Merker) für die Ausgangsparameter der Anweisung.
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 470 Systemhandbuch, V4.2.
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. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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 IOSystem (angeschlossen über CP/CM-Module). Hinweis Die Anweisung GetStationInfo können Sie nur bei PROFINET IO-Devices verwenden. Sie können die Anweisung nicht mit PROFIBUS DP-Slaves verwenden.
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. Verwenden Sie für die Anweisung GetStationInfo nur die Hardwarekennung der Station.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Deklaration Datentyp Beschreibung ERROR OUT 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 OUT Word Parameter STATUS: Der Parameter wird nur für die Dauer eines Aufrufs gesetzt. Um den Status anzuzeigen, sollten Sie deshalb den Parameter STATUS in einen freien Datenbereich kopieren.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Byte Parameter Datentyp Startwert Beschreibung 0…1 Id UINT 3 ID der Struktur "IF_CONF_MAC" 2…3 Length UNIT 12 Länge der gelesenen Daten in BYTE 4 ... 5 Mode UNIT 0 Nicht relevant bei der Anweisung "GetStationInfo" (bleibt 0) 6 ... 11 MACAddress ARRAY [1..
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Der IO-Controller führt die Anweisung GetStationInfo aus, und die Anweisung liest die IPAdressdaten eines untergeordneten IO-Device (in diesem Beispiel ein ET200SP): 1. ET200SP konfigurieren: – Erstellen Sie das ET 200SP mit dem Stationsnamen "Conveyor_1" in der Netzsicht und weisen Sie es dem gleichen PROFINET IO-System zu wie die CPU. – Weisen Sie die CPU als den IO-Controller für das ET 200SP zu.
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.
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 > Register "Systemkonstanten". Suchen Sie in der Spalte "Name" nach dem IO-Device und in der Spalte "Datentyp" nach "Hw_Device".
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) 4. Anweisung GetStationInfo ausführen: – Wenn der Eingang REQ = 1 ist (FALSE), zeigt die Anweisung am Eingangs/Ausgangsparameter DATA keine IP-Adressdaten bzw. am Ausgangsparameter STATUS Informationen zum Fehlercode an. 5. Ausführung der Anweisung GetStationInfo beenden: – Wenn der Eingang REQ = 1 ist (TRUE), führt das Programm die Anweisung aus und schreibt die IP-Adresse in den Datenbaustein.
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/ASlavegeräte, die an einen spezifischen dezentralen E/A-Master angeschlossen sind, ausgeben. Tabelle 9- 156 KOP/FUP Anweisung DeviceStates SCL ret_val := DeviceStates( laddr:=_word_in_, mode:=_uint_in_, state:=_variant_inout_); Beschreibung DeviceStates ruft die Betriebszustände von E/A-Geräten in einem E/A-Untersystem ab.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 157 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR IN HW_IOSYSTEM Logische Adresse: (Kennung des E/A-Systems) MODE IN UInt Unterstützt fünf Betriebsarten. Der Eingang MODE legt fest, welche Daten an der für STATE-Informationen angegebenen Stelle ausgegeben werden.
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. ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert. ● Es werden die ersten vier Bytes der ausgegebenen STATE-Parameterinformationen angezeigt.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 160 Beispiel 2: Ein Modul wurde aus dem PROFIBUS-Slavegerät "DPSlave_12" gezogen. Für MODE 2 (Gerät defekt) wird der Wert 0x0110_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Byte 1 0x01 Bit 7 0000-0001 Bit 0 Byte 2 0x10 Bit 15 0001-0000 Bit 8 Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Hinweise Bit 0 ist wahr; Daten sind verfügbar. Gerät 12 (Bit 12) ist als defekt gekennzeichnet.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel in PROFINET Das Beispiel in PROFINET besteht aus den folgenden Komponenten: ● 16 PROFINET-Slavegeräte mit den Namen "et200s_1" bis "et200s_16". ● Die 16 PROFINET-Geräte verwenden jeweils eine der PROFINET-Gerätenummern 1 bis 16. ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert. ● Es werden die ersten vier Bytes der ausgegebenen STATE-Parameterinformationen angezeigt.
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 Byte 1 0x03 Bit 7 0000-0011 Bit 0 Byte 2 0x00 Bit 15 0000-0000 Bit 8 Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Hinweise Bit 0 ist wahr; Daten sind verfügbar. Gerät 1 (Bit 1) ist als defekt gekennzeichnet.
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 PROFIBUSoder PROFINET-Station ausgeben. Tabelle 9- 167 KOP/FUP Anweisung ModuleStates SCL ret_val := ModuleStates( laddr:=_word_in_, mode:=_uint_in, state:=_variant_inout); Beschreibung ModuleStates ruft die Betriebszustände von E/A-Modulen ab.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 168 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung LADDR IN HW_DEVICE Logische Adresse (Kennung der E/A-Module) MODE IN UInt Unterstützt fünf Betriebsarten. Der Eingang MODE legt fest, welche Daten an der für STATE-Informationen angegebenen Stelle ausgegeben werden.
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. ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Tabelle 9- 171 Beispiel 2: Ein Modul wurde aus dem PROFIBUS-Slavegerät "DPSlave_12" gezogen. Für MODE 2 (Modul defekt) wird der Wert 0x0900_0000 ausgegeben. Byte mit Wert Bitmuster mit Wert Byte 1 0x09 Bit 7 0000-1001 Bit 0 Byte 2 0x00 Bit 15 0000-0000 Bit 8 Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Hinweise Bit 0 ist wahr; Daten sind verfügbar. Nur Modul 3 (Bit 3) ist als defekt gekennzeichnet.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Beispiel in PROFINET Das Beispiel in PROFINET besteht aus den folgenden Komponenten: ● 16 PROFINET-Slavegeräte mit den Namen "et200s_1" bis "et200s_16". ● Die 16 PROFINET-Geräte verwenden jeweils eine der PROFINET-Gerätenummern 1 bis 16. ● Für jedes Slavegerät sind mehrere E/A-Module konfiguriert. ● Im Beispiel wird der PROFINET-Slave "et200s_1" verwendet, der ein Kopfmodul, ein Powermodul und 18 E/A-Module enthält.
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 Byte 1 0x01 Bit 7 0000-0001 Bit 0 Byte 2 0x80 Bit 15 1000-0000 Bit 8 Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Hinweise Bit 0 ist wahr; Daten sind verfügbar. Nur Modul 15 (Bit 15) ist als defekt gekennzeichnet.
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.
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 0 Ausgabe aller unterstützten Diagnoseinformationen für ein Modul als DWord, wobei Bit X=1 kenntlich macht, dass der Modus X unterstützt wird.
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.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.7 Diagnose (PROFINET oder PROFIBUS) Parameter Datentyp Wert Beschreibung 12 Modul defekt 13 - 14 Keine Spannung 15 CiR 16 In STOP/ohne DIS 17 Eingang 18 19 20 DNN-Struktur Bei einem MODE-Parameter = 2 werden die Diagnoseinformationsdetails in Übereinstimmung mit der Struktur DNN ausgegeben.
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 ① ② DNN DIS S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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: • DNN • DIS 9.7.
Erweiterte Anweisungen 9.8 Impuls Über die Anweisung GET_DIAG (Seite 492) 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. Für dieses Verfahren müssen Sie das Hardwaregerät angeben, aus dem die Statusinformationen ausgelesen werden sollen.
Erweiterte Anweisungen 9.8 Impuls Geben Sie den gewünschten Impulsgenerator über den Variablennamen für den Parameter PWM an. Wenn der Eingang EN gleich WAHR ist, startet oder stoppt die Anweisung PWM_CTRL die angegebene PWM anhand des Werts am Eingang ENABLE. Die Impulsdauer wird von dem Wert der zugewiesenen Adresse des Ausgangsworts angegeben. Weil die CPU die Anforderung verarbeitet, während die Anweisung CTRL_PWM ausgeführt wird, meldet der Parameter BUSY immer FALSCH.
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.
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.
Erweiterte Anweisungen 9.8 Impuls ① ② Die Frequenz wird nach 500 ms in 10 Hz geändert. ③ 1 Hz entspricht 1000 ms. Der 1-Hz-Impuls muss beendet werden, bevor die Frequenz in den neuen Wert von 10 Hz geändert werden kann. 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.
Erweiterte Anweisungen 9.8 Impuls Tabelle 9- 190 Fehlercodewerte am Parameter STATUS Fehlercode (W#16#...) Beschreibung 0 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. 0x80D0 Der Impulsgenerator mit der angegebenen Hardware-ID ist nicht aktiviert.
Erweiterte Anweisungen 9.8 Impuls Die nachstehende Tabelle zeigt die Standard-E/A-Zuweisungen. Die vier Impulsgeneratoren können jedoch für jeden integrierten oder digitalen SB-Ausgang einer CPU konfiguriert werden. Die verschiedenen Ausgänge unterstützen unterschiedliche Spannungen und Geschwindigkeiten. Berücksichtigen Sie dies bei der Zuweisung der PWM/PTO-Ausgänge. Hinweis Impulsfolgen können nicht von anderen Operationen im Anwenderprogramm verwendet werden.
Erweiterte Anweisungen 9.8 Impuls Beschreibung Impuls Richtung Integrierte E/A A0.62 A0.72 SB-E/A A4.2 A4.3 Integrierte Ausgänge A0.62 - SB-Ausgänge A4.3 - PTO4 PWM4 9.8.4 1 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. 2 Die CPU 1212C hat keine Ausgänge A0.6 und A0.7. Deshalb können diese Ausgänge bei der CPU 1212C nicht verwendet werden.
Erweiterte Anweisungen 9.8 Impuls Tabelle 9- 193 Signalboard-Ausgang: Höchstfrequenz (PTO) und Mindestzykluszeit (PWM) Signalboard (SB) SB-Ausgangskanal PTO-Höchstfrequenz PWM-Mindestzykluszeit SB 1222, 200 kHz DAe.0 bis DAe.3 200 kHz 5 µs SB 1223, 200 kHz DAe.0, DAe.1 200 kHz 5 µs SB 1223 DAe.0, DAe.1 20 kHz 50 µs Hinweis Die Mindestzykluszeit jedes Ausgangs von CPU und Signalboard ist in den Tabellen oben angegeben.
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).
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.
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. Hinweis Impulsgeneratorausgänge können nicht von anderen Anweisungen im Anwenderprogramm verwendet werden.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 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".
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Verwaltung von Rezeptdaten Der Rezept-DB verwendet ein Array aus Produktrezeptdatensätzen. Jedes Element des Rezept-Arrays stellt eine unterschiedliche Rezeptvariante dar, die auf einem gemeinsamen Satz Komponenten basiert. ● Sie erstellen einen PLC-Datentyp oder einen Datentyp Struct, der alle Komponenten in einem Rezeptdatensatz definiert. Diese Datentypvorlage wird für alle Rezeptdatensätze wiederverwendet.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.1.2 Beispiel für ein Rezept Beispiel für Rezepte In dieser Tabelle wird gezeigt, wie Sie Rezeptinformationen für die Verwendung in einem Rezept-DB vorbereiten. In diesem Beispiel für einen Rezept-DB sind fünf Datensätze gespeichert, von denen drei verwendet werden. Der vierte und fünfte Datensatz werden zur späteren Erweiterung freigehalten.
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.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle In der folgenden Abbildung ist das Rezept "BlackBeer" erweitert, um alle Komponenten eines Rezeptdatensatzes zu zeigen. Export von Rezepten (von Rezept-DB in CSV-Datei) Durch die Ausführung der Anweisung "RecipeExport (Seite 517)" werden die Daten aus dem Rezept-DB in eine CSV-Datei übertragen (siehe folgende Textdatei). Recipe_DB.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle CSV-Dateien müssen exakt mit der Struktur des entsprechenden Rezept-DBs übereinstimmen ● Die Werte in der CSV-Datei können geändert werden, doch die Struktur darf nicht geändert werden. Für die Anweisung RecipeImport ist es erforderlich, dass die Anzahl der Datensätze und Komponenten exakt der Struktur des Ziel-Rezept-DBs entspricht. Ansonsten schlägt die Ausführung der Anweisung RecipeImport fehl.
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 SCL "RecipeExport_DB"( req:=_bool_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_, Recipe_DB:=_variant_inout_); Beschreibung Die Anweisung "RecipeExport" exportiert alle Rezeptdatensätze aus einem Rezeptdatenbaustein in das CSV-Dateiformat.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 195 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Steuerparameter REQUEST: Aktiviert den Export bei einer steigenden Flanke. RECIPE_DB Durchgang Variant Pointer auf den Rezeptdatenbaustein. Weitere Informationen finden Sie im Beispiel für einen Rezept-DB (Seite 513). Die im DB-Namen enthaltenen Zeichen müssen sich an die Namenseinschränkungen des Windows-Dateisystems halten. Die Zeichen \ /
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle RecipeImport (Rezeptimport) Tabelle 9- 197 Anweisung RecipeImport KOP/FUP Tabelle 9- 198 SCL "RecipeImport_DB"( req:=_bool_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_, Recipe_DB:=_variant_inout_); Beschreibung Die Anweisung "RecipeImport" importiert Rezeptdaten aus einer CSVDatei im CPU-Ladespeicher in einen vom Parameter RECIPE_DB angegebenen Rezeptdatenbaustein.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Regeln für CSV-Dateien: ● Die CSV-Datei muss sich im Stammverzeichnis "Recipes" im internen Ladespeicher oder auch im externen Ladespeicher, sofern eine optionale als Programmkarte verwendete externe Memory Card installiert ist, befinden. ● Der Name der CSV-Datei muss dem Namen des Datenbausteins im Parameter RECIPE_DB entsprechen. ● Die erste Zeile (Überschrift) der CSV-Datei enthält den Namen der Rezeptkomponenten.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.1.4 Beispielprogramm für Rezepte Voraussetzungen für das Beispielprogramm für Rezepte Für das Beispielprogramm für Rezepte müssen die folgenden Voraussetzungen erfüllt sein: ● Ein Rezept-DB mit allen Rezeptdatensätzen. Der Rezept-DB ist im Ladespeicher abgelegt. ● Ein aktiver Rezept-DB mit einer Kopie eines Rezepts im Arbeitsspeicher.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Beispielprogramm für Rezepte Netzwerk 1 Eine steigende Flanke an REQ startet den Exportvorgang. Aus den Daten des Rezept-DBs wird eine CSV-Datei generiert und im Rezeptordner im CPU-Speicher abgelegt. Netzwerk 2 Erfassen Sie den Ausgang STATUS der Ausführung von RecipeExport, weil er nur einen Zyklus lang gültig ist. Netzwerk 3 Eine steigende Flanke an REQ startet den Importvorgang.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 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 CPUArbeitsspeicher). Nach der Ausführung von READ_DBL kann Ihre Programmlogik über die Adressen im Speicher des DBs "Active_Recipe" auf die Komponentenwerte des Rezepts zugreifen. So geben beispielsweise die symbolischen Adressen ("Active_Recipe".productname) und ("Active_Recipe".
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 FlashSpeicher (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.
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. Bei dem Datentyp kann es sich um Strings, Byte-Arrays oder Zeichen-Arrays handeln. Zeichen- bzw.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 201 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. (Standardwert: Falsch) RECORDS IN 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 enthalten.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter und Datentyp Datentyp Beschreibung HEADER Variant Pointer auf die Spaltenköpfe des Datenprotokolls in der obersten Zeile der Datenmatrix in der CSV-Datei. (Standardwert: null). Durchgang 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 Spaltennamen sind durch Komma zu trennen.
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 DataLogCreate ordnet einen permanenten CPU-Speicher für das gesamte Datenprotokoll zu, wenn die Anweisung DONE = WAHR zurückgibt.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Hinweis Die Datenprotokollerstellung muss abgeschlossen sein, bevor eine Anweisung zum Schreiben des Datenprotokolls angestoßen werden kann • Die Operationen DataLogCreate und DataLogNewFile zum Erstellen von Datenprotokollen erstrecken sich über viele Programmzyklen. Die tatsächliche für die Erstellung der Protokolldatei benötigte Zeit hängt von der Datensatzstruktur und der Anzahl der Datensätze ab.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle ERROR STATUS (W#16#....) Beschreibung 1 8097 Gewünschte Dateilänge überschreitet maximale Dateigröße für das Dateisystem. 1 80B2 Keine weiteren Ressourcen-IDs vorhanden Hinweis: Um diesen Fehler zu vermeiden, löschen Sie einige vorhandene Datenprotokolle oder verringern die Anzahl der Spalten in der Datensatzstruktur. 1 80B3 Nicht genügend Ladespeicher. 1 80B4 Die Memory Card (MC) ist schreibgeschützt.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 204 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 205 ERROR Werte von ERROR und STATUS STATUS (W#16#) Beschreibung 0 0000 Kein Fehler 0 0002 Warnung: Datenprotokolldatei wurde von diesem Anwendungsprogramm bereits geöffnet 0 7000 Aufruf ohne REQ-Flanke: BUSY = 0, DONE = 0 0 7001 Erster Aufruf mit REQ-Flanke (in Bearbeitung): BUSY = 1, DONE = 0 0 7002 Nter Aufruf (in Bearbeitung): BUSY = 1, DONE = 0 1 8070 Gesamter interner Instanzspeicher ist belegt.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 207 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. (Standardwert: Falsch) ID Durchgang DWord Numerische Kennung des Datenprotokolls: Wird bei der Anweisung DataLogWrite nur als Eingang verwendet. (Standardwert: 0) Hinweis: Der Zugriff auf diesen Parameter über einen symbolischen Namen ist nicht zulässig.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Hinweis Auswirkung von Datenprotokollen auf den internen CPU-Speicher Jeder Schreibvorgang eines Datenprotokolls verbraucht mindestens 2 KB Speicher. Wenn Ihr Programm häufig kleinere Mengen von Daten schreibt, werden bei jedem Schreibvorgang mindestens 2 KB Speicher verbraucht. Eine bessere Umsetzung wäre die Ansammlung kleiner Datenelemente in einem Datenbaustein (DB), der dann weniger häufig ins Datenprotokoll geschrieben würde.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle DataLogClear (Datenprotokoll leeren) Beschreibung Tabelle 9- 209 Anweisung DataLogClear KOP/FUP SCL "DataLogClear_DB"( REQ:=_bool_in_, DONE=>_bool_out_, BUSY=>_bool_out_, ERROR=>_bool_out_, Beschreibung STATUS=>_word_out_, Mit dem Parameter ID wählen Sie das Datenprotokoll aus, dessen Datensätze gelöscht werden sollen. ID:=_dword_inout_); Die Anweisung "DataLogClear" löscht alle Datensätze in einem vorhandenen Datenprotokoll.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Weitere Informationen zu gültigen Datentypen finden Sie unter "Datentypen (Seite 132)". Parameter STATUS Fehlercode* (W#16#...) Bedeutung 0000 Kein Fehler. 7000 Keine laufende Auftragsbearbeitung. 7001 Start der Auftragsbearbeitung. Parameter BUSY = 1, DONE = 0 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Anweisung bereits aktiv; BUSY hat den Wert 1.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 211 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. (Standardwert: Falsch) ID Durchgang DWord Numerische Kennung eines Datenprotokolls. Wird bei der Anweisung DataLogClose nur als Eingang verwendet. (Standardwert: 0) Hinweis: Der Zugriff auf diesen Parameter über einen symbolischen Namen ist nicht zulässig.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Parameter RET_VAL Fehlercode* (W#16#...) Bedeutung 0 Kein Fehler. 7000 Keine laufende Auftragsbearbeitung. 7001 Start der Auftragsbearbeitung. Parameter BUSY = 1, DONE = 0 7002 Zwischenzeitlicher Aufruf (REQ irrelevant): Anweisung bereits aktiv; BUSY hat den Wert 1. 8091 Ein anderer Datentyp als STRING wird am Parameter NAME verwendet. 8092 Datenprotokoll ist nicht vorhanden. 80A2 Vom Dateisystem zurückgemeldeter Schreibfehler.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Tabelle 9- 215 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. (Standardwert: Falsch) RECORDS IN UDInt Die maximale Anzahl Datensätze, die das kreisförmige Datenprotokoll enthalten kann, bevor der älteste Eintrag überschrieben wird. (Standardwert: 1) Der Datensatz mit der Kopfzeile ist in dieser Anzahl nicht enthalten.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Funktionsweise von DataLogNewFile: Wenn Ihre Programmlogik das Signal "Datenprotokoll voll" erhält, wird mit diesem Zustand eine Anweisung DataLogNewFile aktiviert. Sie müssen Anweisung DataLogNewFile mit der ID eines vorhandenen (üblicherweise vollen) und geöffneten Datenprotokolls ausführen, der Parameter NAME muss jedoch neu und eindeutig sein.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle 9.9.2.3 Arbeiten mit Datenprotokollen Die Datenprotokolldateien werden im beständigen Flash-Speicher im CSV-Format (durch Komma getrennte Werte) gespeichert. Sie können die Datenprotokolle über den PLCWebserver anzeigen oder indem Sie die Memory Card des PLC-Geräts entnehmen und in einen herkömmlichen PC-Kartenleser einlegen.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Datenprotokolle auf einer Memory Card des PLC-Geräts anzeigen Ist in der S7-1200 CPU eine Memory Card vom Typ "Programmkarte" gesteckt, können Sie die Memory Card entnehmen und in einen Standardkartensteckplatz wie SD (Secure Digital) oder MMC (MultiMediaCard) an einem PC oder PG einfügen. Das PLC-Gerät ist beim Entnehmen der Memory Card im Betriebszustand STOP und Ihr Steuerungsprogramm wird nicht ausgeführt.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Regel für die maximale Größe von Datenprotokolldateien Die maximale Größe einer Datenprotokolldatei darf die Größe des freien Ladespeichers bzw. 500 Megabyte (je nachdem, was kleiner ist) nicht überschreiten. Die Größe von 500 Megabyte bezieht sich in diesem Fall auf die Dezimaldefinition von Megabyte, sodass die maximale Größe von Datenprotokolldateien 500.000.000 Byte bzw. 500 x 10002 Byte beträgt.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle USInt 5 UInt 7 UDInt 12 SInt 5 Int 7 DInt 12 Real 16 LReal 25 Time 15 DTL 24 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.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Beispielprogramm für Datenprotokolle Beispielhafte Datenprotokollnamen, Kopfzeilentext und die Struktur MyData werden in einem Datenbaustein erstellt. Die drei MyData-Variablen speichern neue Abtastwerte temporär. Die Prozessabtastwerte an diesen DB-Adressen werden durch Ausführung der Anweisung DataLogWrite in eine Datenprotokolldatei übertragen. Netzwerk 1 Eine steigende Flanke an REQ startet die Datenprotokollerstellung.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 4 Eine positive Flanke löst den Zeitpunkt aus, an dem neue Prozesswerte in der Struktur MyData gespeichert werden. 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.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Netzwerk 7 Eine positive Flanke am Eingang REQ der Anweisung DataLogOpen simuliert, dass der Anwender an einem HMI-Gerät eine Taste drückt, die eine Datenprotokolldatei öffnet. Wenn Sie eine Datenprotokolldatei öffnen, in der alle Datensätze mit Prozessdaten belegt sind, überschreibt die nächste Ausführung der Anweisung DataLogWrite den ältesten Datensatz.
Erweiterte Anweisungen 9.9 Rezepte und Datenprotokolle Vom Beispielprogramm angelegte und mit dem Webserver der S7-1200 CPU angezeigte Datenprotokolldateien ① ② Die Option "Delete" ist nur verfügbar, wenn Sie mit Änderungsrechten angemeldet sind. Die Option "Rename" ist nur verfügbar, wenn Sie mit Änderungsrechten angemeldet sind. S7-1200 Automatisierungssystem 550 Systemhandbuch, V4.2.
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 enthalten kann Fünf Datensätze in einer Datenprotokolldatei, die maximal fünf Datensätze enthalten kann Nachdem ein weiterer Datensatz in die oben abgebildete Datei, die bereits voll ist, geschrieben wurde, überschreibt der sechste Schreibvorgang den ältesten Datensatz 1 mit Datensatz 6.
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung 9.10 Datenbausteinsteuerung 9.10.1 CREATE_DB (Datenbaustein erstellen) Tabelle 9- 219 Anweisung CREATE_DB KOP/FUP SCL ret_val := CREATE_DB( REQ:=_bool_in_, LOW_LIMIT:=_uint_in_, UP_LIMIT:=_uint_in_, COUNT:=_udint_in_, ATTRIB:=_byte_in_, BUSY=>_bool_out_, DB_NUM=>_uint_out_); Beschreibung Mit der Anweisung "CREATE_DB" erstellen Sie einen neuen Datenbaustein im Lade- und/oder Arbeitsspeicher.
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" deaktiviert).
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklaration Datentyp Speicherbereich Beschreibung • Bit 0 = 0: Attribut "Nur im Ladespeicher ablegen" ist nicht festgelegt. Bit 0 = 1: Attribut "Nur im Ladespeicher ablegen" ist festgelegt. Bei dieser Einstellung belegt der DB keinen Speicherplatz im Arbeitsspeicher und wird nicht ins Programm aufgenommen. Auf den DB kann nicht über Bitbefehle zugegriffen werden. Wenn Bit 0 = 1, ist die Auswahl für Bit 2 irrelevant.
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter Deklaration Datentyp Speicherbereich Beschreibung DB_NUM Output DB_DY N (UINT) E, A, M, D, L Nummer des erstellten DBs. * Die hier ausgewählten Eigenschaften entsprechen den Attributen in den Eigenschaften eines Datenbausteins. Weitere Informationen zu gültigen Datentypen finden Sie unter "Datentypen (Seite 132)". Parameter RET_VAL Fehlercode* (W#16#...
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Fehlercode* (W#16#...) Beschreibung Allgemeine Fehlerinformationen Siehe auch: Gemeinsame Fehlercodes für die erweiterten Anweisungen (Seite 570) *Fehlercodes können im Programmeditor als ganzzahlige Werte oder Hexadezimalwerte angezeigt werden. 9.10.
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung WRIT_DBL können Sie die im internen Ladespeicher oder auf einer Memory Card gespeicherten aktuellen Werte im Arbeitsspeicher aktualisieren. Hinweis Auswirkung der Anweisungen WRIT_DBL und READ_DBL auf den Flash-Speicher Die Anweisung WRIT_DBL führt Schreibvorgänge im Flash-Speicher durch (im internen Ladespeicher oder auf einer Memory Card).
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.
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Tabelle 9- 222 RET_VAL Bedingungscodes 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.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.10 Datenbausteinsteuerung Parameter RET_VAL Fehlercode* (W#16#...) Bedeutung 0000 Kein Fehler. 80A1 Fehler im Eingangsparameter DB_NUMBER: der tatsächlich ausgewählte Parameter • Ist 0 • Ist größer als die maximal zulässige DB-Nummer für die verwendete CPU 80B1 Der DB mit der angegebenen Nummer ist in der CPU nicht vorhanden. 80B2 Datenbausteine von Technologieobjekten für die Bewegungssteuerung können mit der Anweisung "ATTR_DB" nicht gelesen werden.
Erweiterte Anweisungen 9.
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 SCL ret_val := GEO2LOG( GEOADDR:=_variant_in_out_, laddr:=_word_out_); Beschreibung Mit Anweisung GEO2LOG wird die Hardwarekennung anhand der Steckplatzinformationen ermittelt.
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 Variant Pointer auf die Struktur des Systemdatentyps GEOADDR. Der Systemdatentyp GEOADDR enthält die Steckplatzinformationen, aus denen die Hardware-ID ermittelt wird. IN/OUT or IN ? Weitere Informationen finden Sie unter "Systemdatentyp GEOADDR (Seite 568)".
Erweiterte Anweisungen 9.11 Adressverarbeitung Die Anweisung LOG2GEO bestimmt die geografische Adresse einer logischen Adresse anhand der Hardwarekennung: ● Mit dem Parameter LADDR wählen Sie die logische Adresse anhand der Hardwarekennung aus. ● GEOADDR enthält die geografische Adresse der am Eingang LADDR angegebenen logischen Adresse. Hinweis Wenn der Typ HW eine Komponente nicht unterstützt, wird eine Untersteckplatznummer für ein Modul 0 ausgegeben.
Erweiterte Anweisungen 9.11 Adressverarbeitung 9.11.3 IO2MOD (Aus einer E/A-Adresse die Hardwarekennung ermitteln) Mit Anweisung IO2MOD wird die Hardwarekennung eines Moduls anhand der E/A-Adresse eines Submoduls ermittelt. Tabelle 9- 231 Anweisung IO2MOD KOP/FUP SCL ret_val := IO2MOD( ADDR:=_word_in_, LADDR:=_word_out_); Beschreibung Mit der Anweisung IO2MOD ermitteln Sie den zu einer Hardwarekennung gehörigen Modulsteckplatz.
Erweiterte Anweisungen 9.11 Adressverarbeitung Weitere Informationen über gültige Datentypen finden Sie unter "Übersicht der gültigen Datentypen" in der STEP 7 Online-Hilfe. Tabelle 9- 233 Bedingungscodes RET_VAL* (W#16#...) Erklärung 0 Kein Fehler. 8090 Die in Parameter ADDR angegebene E/A-Adresse wird von keiner Hardwarekomponente benutzt. * Die Fehlercodes können als ganzzahlige oder als Hexadezimalwerte im Programmeditor angezeigt werden. 9.11.
Erweiterte Anweisungen 9.
Erweiterte Anweisungen 9.11 Adressverarbeitung Struktur des Systemdatentyps GEOADDR Die Struktur GEOADDR wird automatisch erzeugt, wenn als Datentyp "GEOADDR" im Datenbaustein eingegeben wird. Parametername GEOADDR HWTYPE Datentyp Beschreibung STRUCT UINT Hardwaretyp: • 1: IO-System (PROFINET/PROFIBUS) • 2: IO-Device/DP-Slave • 3: Baugruppenträger • 4: Modul • 5: Submodul Wird ein Hardwaretyp von der Anweisung nicht unterstützt, wird der HWTYPE "0" ausgegeben.
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#....
Technologieanweisungen 10.1 10 Zählen (schnelle Zähler) Die grundlegenden Zähleranweisungen, die unter "Zähler" (Seite 256) 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.
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 SCL "CTRL_HSC_1_DB" ( hsc:=_hw_hsc_in_, done:=_done_out_, busy:=_busy_ out_, error:=_error_out_, status:=_status_out_, ctrl:=_variant_in_); 1 STEP 7 erstellt den DB automatisch, wenn Sie die Anweisung einfügen. 2 Im SCL-Beispiel ist "CTRL_HSC_1_DB" der Name des Instanz-DBs.
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" der KOP-Anweisung an.
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. – Fügen Sie in der Spalte "Datentyp" einen der folgenden Systemdatentypen (SDT) hinzu. Wählen Sie den SDT aus, der der konfigurierten Zählweise des HSC entspricht.
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. – 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'.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) – Die vollständige Eingabe für CTRL wird nachfolgend gezeigt. Nachdem Sie den HSC im PLC konfiguriert haben, können Sie die Anweisung CTRL_HSC_EXT ausführen. Bei einem Fehler wird ENO auf 0 gesetzt und der Ausgang STATUS gibt den Bedingungscode an. Siehe auch Systemdatentypen (SDT) der Anweisung CTRL_HSC_EXT (Seite 576) 10.1.1.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) SDT: HSC_Count Der Datentyp "HSC_Count" entspricht einem HSC, der für die Betriebsart "Zählen" konfiguriert ist.
Technologieanweisungen 10.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) Strukturelement Deklaration Datentyp Beschreibung NewReference1 IN Dint Wert von Reference1 NewReference2 IN Dint Wert von Reference2 NewUpperLimit IN Dint Oberer Zählgrenzwert New_Lower_Limit IN Dint Unterer Zählgrenzwert SDT: HSC_Period Der Datentyp "HSC_Period" entspricht einem HSC, der für die Betriebsart "Periode" konfiguriert ist.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die folgenden Beispiele zeigen, wie die Anweisung Periodenmessungen durchführt: S7-1200 Automatisierungssystem 580 Systemhandbuch, V4.2.
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.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) Die folgende Abbildung zeigt ein Beispiel für die Synchronisierung, wenn das Eingangssignal für den Pegel "Aktiv High" konfiguriert ist: Hinweis Die konfigurierten Eingangsfilter verzögern das Steuersignal des Digitaleingangs. Diese Eingangsfunktion ist nur verfügbar, wenn der HSC für die Betriebsart Zählen konfiguriert ist. Informationen zur Konfiguration der Synchronisierungsfunktion finden Sie unter Eingangsfunktionen (Seite 595).
Technologieanweisungen 10.1 Zählen (schnelle Zähler) 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. Jeder HSC-Kanal hat zwei Gates: ein Software-Gate und ein Hardware-Gate. Der Zustand dieser Gates bestimmt den Zustand des internen Gates (siehe nachfolgende Tabelle).
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.
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.
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.
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.
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). ● Wählen Sie den HSC, den Sie aktivieren möchten, in der Liste im Register "Allgemein" aus (siehe Abbildung unten).
Technologieanweisungen 10.
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.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) Einphasenzähler Einphasenzähler (nicht erhältlich für Bewegungssteuerung) zählt Impulse: ● Anwenderprogramm (interne Richtungssteuerung): – 1 ist vorwärts – -1 ist rückwärts ● Hardwareeingang (externe Richtungssteuerung): – Pegel High ist vorwärts. – Pegel Low ist rückwärts. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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 592 Systemhandbuch, V4.2.
Technologieanweisungen 10.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) S7-1200 Automatisierungssystem 594 Systemhandbuch, V4.2.
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.
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 ● Wechselt von High nach Low ● Wechselt von High nach Low oder von Low nach High Gate-Eingang Der Gate-Eingang stoppt das Zählen des HSC.
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.
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.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) Beim Zuweisen eines Eingangs zu einer HSC-Funktion können Sie denselben Eingang mehreren HSC-Funktionen zuweisen. Beispiel: Die Zuweisung von E0.3 zum Synchronisierungseingang von HSC1 und zum Synchronisierungseingang von HSC2 für die Synchronisierung des Zählwerts beider HSCs gleichzeitig ist eine gültige Konfiguration. Sie erzeugt jedoch eine Warnung bei der Übersetzung.
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.
Technologieanweisungen 10.1 Zählen (schnelle Zähler) 10.1.4 Frühere Anweisung CTRL_HSC (Schnellen Zähler steuern) 10.1.4.
Technologieanweisungen 10.
Technologieanweisungen 10.
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. Schnelle Zähler speichern den aktuellen Zählwert in einem DInt-Wert.
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. ● Die Anweisung PID_Temp bietet einen universellen PID-Regler für die speziellen Anforderungen der Temperaturregelung.
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.
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 PIDRegler mit bestimmten Einstellungen für motorbetätigte Ventile.
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.
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.
Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 19 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint IN Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input IN Real Eine Variable des Anwenderprogramms wird als Quelle des Prozesswerts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Config.InputPerOn = FALSE einstellen. Input_PER IN Word Ein Analogeingang wird als Quelle des Prozesswerts verwendet.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Output_PWM1 OUT Bool Ausgangswert für die Impulsdauermodulation. (Standardwert: FALSE) SetpointLimit_H OUT Bool Der Ausgangswert wird aus Ein- und Aus-Zeiten gebildet. Sollwert oberer Grenzwert. (Standardwert: FALSE) Wenn SetpointLimit_H = TRUE ist, ist der absolute obere Grenzwert des Sollwerts erreicht (Setpoint ≥ Config.SetpointUpperLimit). Der Sollwert ist auf Config.SetpointUpperLimit begrenzt.
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 612 Systemhandbuch, V4.2.
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: ● Setzt die Alarmausgänge für den oberen und unteren Grenzwert am PID-Baustein.
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.
Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 1000 2, 3 Ungültiger Wert am Parameter Setpoint: Wert hat ungültiges Zahlenformat. 10000 Ungültiger Wert am Parameter ManualValue: Wert hat ungültiges Zahlenformat. 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, verwendet PID_Compact diesen als Ausgangswert.
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 Warning (DW#16#...) Beschreibung 0000 Keine Warnung vorhanden. 0001 1 Der Wendepunkt wurde in der Erstoptimierung nicht gefunden.
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.
Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 23 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint IN Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input IN Real Eine Variable des Anwenderprogramms wird als Quelle des Prozesswerts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Config.InputPerOn = FALSE einstellen. Input_PER IN Word Ein Analogeingang wird als Quelle des Prozesswerts verwendet.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung ManualUP Bool • IN • 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: – Wenn Sie Output_PER oder eine Positionsrückmeldung verwenden, wird das Ventil auf ManualValue bewegt.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Output_UP Bool Digitaler Ausgangswert zum Öffnen des Ventils. (Standardwert: FALSE) OUT Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_UP verwendet. Output_DN OUT Bool Digitaler Ausgangswert zum Schließen des Ventils. (Standardwert: FALSE) Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_DN verwendet. Output_PER OUT Word Analoger Ausgangswert. Wenn Config.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Error Bool Wenn Error = TRUE, steht mindestens eine Fehlermeldung an. (Standardwert: FALSE) OUT 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. ErrorBits OUT DWord In der Parametertabelle (Seite 624) der ErrorBits für die Anweisung PID_3Step werden die anstehenden Fehlermeldungen beschrieben.
Technologieanweisungen 10.2 PID-Regelung Bild 10-4 Funktionsweise des Reglers PID_3Step ohne Positionsrückmeldung S7-1200 Automatisierungssystem 622 Systemhandbuch, V4.2.
Technologieanweisungen 10.2 PID-Regelung Bild 10-5 Funktionsweise des Reglers PID_3Step mit aktivierter Positionsrückmeldung S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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 0000 Kein Fehler 0001 1, 2 Der Parameter Input liegt außerhalb der Prozesswertgrenzen. Input > Config.
Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 10000 Ungültiger Wert am Parameter ManualValue: Wert hat ungültiges Zahlenformat. 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. 20000 Ungültiger Wert der Variablen SavePosition: Wert hat ungültiges Zahlenformat.
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 Warning (DW#16#...) Beschreibung 0000 Keine Warnung vorhanden. 0001 1 Der Wendepunkt wurde in der Erstoptimierung nicht gefunden.
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.
Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 27 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung Setpoint IN Real Sollwert des PID-Reglers im Automatikbetrieb. (Standardwert: 0,0) Input IN Real Eine Variable des Anwenderprogramms wird als Quelle des Prozesswerts verwendet. (Standardwert: 0,0) Wenn Sie den Parameter Input verwenden, müssen Sie Config.InputPerOn = FALSE einstellen. Input_PER IN Int Ein Analogeingang wird als Quelle des Prozesswerts verwendet.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung Mode Int Wird bei einer steigenden Flanke an Eingang Mode Activate aktiviert. IN/OUT Auswahl der Betriebsart (Standardwert: 0,0): • Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Feineinstellung • Mode = 3: Automatikbetrieb • Mode = 4: Handbetrieb "Ersatzausgangswert mit Fehlerüberwachung" (State = 5). Kann nicht vom Benutzer aktiviert werden; dies ist eine automatische Fehlerreaktion.
Technologieanweisungen 10.2 PID-Regelung Parameter und Datentyp Datentyp Beschreibung OutputCool_PWM1 Bool Pulsbreitenmodulierter Ausgangswert für Kühlen. (Standardwert: FALSE) OUT Dieser Ausgangswert wird nur berechnet, wenn er mit Parameter Config.Output.Cool.Select = 1 (Standardwert) ausgewählt wurde. Ist er nicht ausgewählt, ist der Ausgang immer FALSE. SetpointLimit_H OUT Bool Sollwert oberer Grenzwert.
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" verwenden möchten.
Technologieanweisungen 10.2 PID-Regelung ControlZone Beim PID_Temp-Regler können Sie für jeden Parametersatz am Parameter "ControlZone" eine Regelzone festlegen. Wenn sich die Regelabweichung (Sollwert - Eingang) innerhalb der Regelzone befindet, berechnet PID_Temp die Ausgangssignale mithilfe des PIDAlgorithmus.
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.
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.
Technologieanweisungen 10.2 PID-Regelung Bild 10-8 PID_Temp_Cascading_communication_connection Ersatzsollwert Die Anweisung PID_Temp liefert einen zweiten Sollwerteingang am Parameter "ReplacementSetpoint", den Sie aktivieren können, indem Sie den Parameter "ReplacementSetpointOn" = WAHR einstellen.
Technologieanweisungen 10.2 PID-Regelung Selbsteinstellung Eine Selbsteinstellung für einen kaskadierenden Masterregler muss diese Anforderungen erfüllen: ● Inbetriebnahme vom internen Slave zum ersten Master. ● Alle Slaves des Masters müssen im Automatikbetrieb sein. ● Der Ausgang des Masters muss der Sollwert für die Slaves sein.
Technologieanweisungen 10.2 PID-Regelung Anti-Windup Ein Slave in einer Kaskade erhält seinen Sollwert vom Ausgang seines Masters. Wenn der Slave seine eigenen Ausgangsgrenzwerte erreicht, während der Master immer noch eine Regelabweichung (Sollwert - Eingang) erkennt, wird der Master eingefroren oder er reduziert seinen Integrationsbeitrag, um einen sogenannten "Windup" zu verhindern.
Technologieanweisungen 10.2 PID-Regelung ErrorBit (DW#16#...) Beschreibung 0080 4 Fehler während der Erstoptimierung. Inkorrekte Konfiguration der Grenzen des Ausgangswerts. Prüfen Sie, ob die Grenzen des Ausgangswerts richtig konfiguriert sind, und passen Sie die Steuerungslogik an. 0100 4 Fehler während der Feineinstellung führte zu ungültigen Parametern. 0200 2, 3 Ungültiger Wert am Parameter Input: Wert hat ungültiges Zahlenformat. 0400 Berechnung des Ausgangswerts fehlgeschlagen.
Technologieanweisungen 10.2 PID-Regelung 10.2.4.3 ErrorBit (DW#16#...) Beschreibung 4000000 Fehler beim Starten der Feineinstellung. "Heat.EnableTuning" und "Cool.EnableTuning" können nicht gleichzeitig gesetzt sein. 8000000 Fehler während der PID-Parameterberechnung führte zu ungültigen Parametern (z. B. negative Verstärkung; die aktuellen PID-Parameter bleiben unverändert und die Einstellung wirkt sich nicht aus).
Technologieanweisungen 10.2 PID-Regelung 1 10.2.5 Warning (DW#16#...) Beschreibung 4000 Die angegebene Ausgangsauswahl für Heizen und/oder Kühlen wird nicht unterstützt. Nur OutputHeat und OutputCool sind aktiv. 8000 Der angegebene Wert für den Parameter PIDSelfTune.SUT.AdaptDelayTime wird nicht unterstützt, deshalb wird der Standardwert "0" verwendet. 10000 Der angegebene Wert für den Parameter PIDSelfTune.SUT.CoolingMode wird nicht unterstützt, deshalb wird der Standardwert "0" verwendet.
Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 30 Beispielhafte Konfigurationseinstellungen für die Anweisung PID_Compact Einstellungen Beschreibung Grundlagen Reglertyp Reglerlogik invertieren Prozesswert Wählt die physikalischen Einheiten aus. Ermöglicht die Auswahl eines invers funktionierenden PID-Reglers.
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 Betriebsart nach CPUNeustart aktivieren Ermöglicht die Auswahl eines invers funktionierenden PID-Reglers.
Technologieanweisungen 10.2 PID-Regelung Einstellungen Erweitert 1 Beschreibung Prozesswertüberwachung Legt den oberen und unteren Grenzwert für den Prozesswert fest. PID-Parameter In diesem Fenster kann der Anwender bei Bedarf seine eigenen PIDEinstellungsparameter eingeben. Hierfür muss das Kontrollkästchen "Manuelle Eingabe aktivieren" aktiviert sein. "Positionsrückmeldung skalieren" kann nur geändert werden, wenn Sie in den grundlegenden Einstellungen "Rückmeldung" aktiviert haben. 10.2.
Technologieanweisungen 10.2 PID-Regelung Tabelle 10- 32 Beispielhafte Konfigurationseinstellungen für die Anweisung PID_Temp Einstellungen Grundlagen Beschreibung Reglertyp Wählt die physikalischen Einheiten aus. Betriebsart nach CPU-Neustart aktivieren Startet den PID-Regler neu, nachdem er zurückgesetzt wurde oder wenn eine Eingangsgrenze überschritten und in den gültigen Bereich zurückgeführt wurde.
Technologieanweisungen 10.2 PID-Regelung Reglertyp Einstellung Physikalische Größe Maßeinheit TO-DB-Parameter "PhysicalQuantity" "PhysicalUnit" Datentyp Int (Enu m) Int (Enu m) Wertebereich • Allgemein • Temperatur (= Standard) • Allgemein: Einheiten = % • Temperatur: Einheiten (mögliche Auswahl) = – °C (= Standard) – °F – K Beschreibung Vorauswahl für Wert der physikalischen Einheit Keine Regelung mit mehreren Werten und nicht bearbeitbar im Onlinemodus der funktionalen Ansicht.
Technologieanweisungen 10.2 PID-Regelung Eingangs-/Ausgangsparameter Einstellung Sollwert TO-DB-Parameter Sollwert Datentyp Real) Wertebereich Beschreibung Real Nur auf der Eigenschaftsseite zugänglich. Keine Regelung mit mehreren Werten im Onlinemodus der funktionalen Ansicht. Auswahl Eingang Eingang "Config.InputPerOn" Eingang oder Input_PER Auswahl "Config.Output.Heat.Select" Ausgang (Heizung) Bool (Enu m) Bool Auswahl des zu verwendenden Eingangs.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Ausgang "Config.ActivateCooling" aktivieren (Kühlung) Datentyp Bool Wertebereich Bool Beschreibung Wenn dieses Kontrollkästchen aktiviert wird: • Wird der "Config.Output. Heat.PidLowerLimit = 0.0 einmal festgelegt. • Wird der Parameter "Config.ActivateCooling" auf WAHR gesetzt, statt auf FALSCH, wenn nicht aktiviert (= Standard).
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Auswahl "Config.Output.Cool.Select" Ausgang (Kühlung) Datentyp Int (Enu m) Wertebereich Beschreibung 2 >= Config.Output. Heat.Select >= 0 Auswahl des zum Kühlen zu verwendenden Ausgangs. Mögliche Auswahl: • "OutputCool" (Real) • "OutputCool_PWM" (Bool) (= Standard) "OutputCool_PER (analog)" (Wort) Nur verfügbar, wenn Sie "Ausgang aktivieren (Kühlung)" aktivieren; (Config.ActivateCooling = WAHR).
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: Einstellung Dieser Regler ist ein Master TO-DB-Parameter "Config.Cascade.IsMaster" Datentyp Bool Wertebereich Bool Beschreibung Zeigt, ob dieser Regler ein Master in einer Kaskade ist.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Datentyp Wertebereich Beschreibung Anzahl der Slaves "Config.Cascade.CountSlaves" Int 255 >= Config.Cascade. CountSlaves >= 1 Anzahl der Slaveregler, die ihren Sollwert direkt von diesem Masterregler erhalten. Die Anweisung PID_Temp verarbeitet diesen Wert, zusammen mit anderen, für die AntiWindup-Behandlung. "Anzahl der Slaves" ist nur verfügbar, wenn das Kontrollkästchen "Dieser Regler ist ein Master" aktiviert ist (Config.
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.
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: ● "Erstoptimierung" (Parameter "Mode" = 1) ● "Feineinstellung" (Parameter "Mode" = 2) S7-1200 Automatisierungssystem 652 Systemhandbuch, V4.2.
Technologieanweisungen 10.2 PID-Regelung Je nach Reglerkonfiguration stehen verschiedene Varianten dieser Einstellmethoden zur Verfügung: Konfiguration Regler mit Heizausgang Zugehörige TO-DB-Werte • Config.ActivateCooling • = FALSCH Config.ActivateCooling = WAHR • Config.ActivateCooling = WAHR • Config.AdvancedCooling = irrelevant • Config.AdvancedCooling = FALSCH • Config.
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.
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.
Technologieanweisungen 10.2 PID-Regelung S7-1200 Automatisierungssystem 656 Systemhandbuch, V4.2.
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; der Parameter wird nicht automatisch zurückgesetzt. Der Ausgangsparameter "State" zeigt die aktuelle Betriebsart und wird, wenn möglich, in den gewünschten "Mode" gesetzt.
Technologieanweisungen 10.2 PID-Regelung "Mode" / "State" 4 Name Handbetrieb Beschreibung In dieser Betriebsart skaliert, begrenzt und überträgt der PID-Regler den Wert des Parameters "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ühlausgängen wirksam ist. Sie erreichen diesen Modus durch Einstellung von "Mode" = 4 oder "ManualEnable" = WAHR.
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 Projektnavigation auf das entsprechende Symbol.
Technologieanweisungen 10.2 PID-Regelung PID-Startwertsteuerung Sie können die Istwerte der PID-Konfigurationsparameter ändern, so dass das Verhalten des PID-Reglers im Online-Modus optimiert werden kann. Öffnen Sie die Technologieobjekte für Ihren PID-Regler und dessen Konfigurationsobjekt.
Technologieanweisungen 10.2 PID-Regelung 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: 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.
Technologieanweisungen 10.2 PID-Regelung PWM-Grenzwerte Stellglieder, die über die PWM-Funktion der Software des PID_Temp-Reglers geregelt werden, müssen möglicherweise vor einer zu kurzen Impulsdauer geschützt werden (z. B. muss ein Thyristorrelais mehr als 20 ms eingeschaltet sein, damit es überhaupt reagieren kann). Hierfür weisen Sie eine minimale Einschaltzeit zu. Das Stellglied kann auch kurze Impulse vernachlässigen und somit die Regelqualität beeinträchtigen.
Technologieanweisungen 10.2 PID-Regelung Einstellung Minimale Ein- TO-DB-Parameter Daten tentyp Beschreibung "Config.Output.Cool. MinimumOnTime" Real 100000,0 >= Config.Output. Cool. MinimumOnTime >= 0,0 Ein Impuls an OutputCool_PWM ist niemals kürzer als dieser Wert. "Config.Output.Cool. MinimumOffTime" Real 100000,0 >= Config.Output. Cool. MinimumOffTime >= 0,0 Eine Unterbrechung an OutputCool_PWM ist niemals kürzer als dieser Wert.
Technologieanweisungen 10.2 PID-Regelung Einstellung Manuelle TO-DB-Parameter Datentyp Wertebereich Beschreibung "Retain.CtrlParams. SetByUser" Bool Bool Sie müssen dieses Kontrollkästchen aktivieren, um PIDParameter manuell eingeben zu können. Proportionalverstärkung (Heizen) 2 "Retain.CtrlParams. Heat.Gain" Real Verstärkung >= 0,0 PIDProportionalverstärkung für die Heizung. Integrationszeit (Heizen) 1,2 "Retain.CtrlParams. Heat.
Technologieanweisungen 10.2 PID-Regelung Einstellung Regelzone (Heizen) 2,3 TO-DB-Parameter "Retain.CtrlParams. Heat.ControlZone" Datentyp Real Wertebereich Beschreibung ControlZone > 0,0 Breite der Regelabweichungszone für die Heizung, wo der PIDRegler aktiv ist. Wenn die Regelabweichung diesen Bereich verlässt, wird der Ausgang auf maximale Ausgangswerte umgeschaltet. Der Standardwert ist "MaxReal", also ist die Regelzone so lange deaktiviert, wie die Selbsteinstellung nicht ausgeführt wird.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Reglerstruk- "PIDSelfTune.SUT. tur (Heizen) TuneRuleHeat", Datentyp Int "PIDSelfTune.TIR. TuneRuleHeat" Wertebereich "PIDSelfTune.SUT. TuneRuleHeat" = 0..2, "PIDSelfTune.TIR. TuneRuleHeat" = 0..5 Beschreibung Sie können den Einstellalgorithmus für die Heizung auswählen. Mögliche Auswahl: • PID (Temperatur) (= Standard) ("PIDSelfTune.SUT. TuneRuleHeat" = 2) ("PIDSelfTune.TIR. TuneRuleHeat" = 0) • PID ("PIDSelfTune.SUT.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Datentyp Wertebereich Beschreibung Koeffizient Differenzierverzug (Kühlen) 4 Retain.CtrlParams. Cool.TdFiltRatio" Real TdFiltRatio >= 0,0 Der Koeffizient des PIDDifferenzierverzugs für die Kühlung, der den Differenzierverzug als Koeffizienten aus der PID-Differenzierzeit festlegt. Gewichtung des PAnteils (Kühlen) 4 "Retain.CtrlParams. Cool.
Technologieanweisungen 10.2 PID-Regelung Einstellung Regelzone (Kühlen) 3,4 TO-DB-Parameter "Retain.CtrlParams. Cool.ControlZone" Datentyp Real Wertebereich Beschreibung ControlZone > 0,0 Breite der Regelabweichungszone für die Kühlung, wo der PIDRegler aktiv ist. Wenn die Regelabweichung diesen Bereich verlässt, wird der Ausgang auf maximale Ausgangswerte umgeschaltet. Der Standardwert ist "MaxReal", also ist die Regelzone so lange deaktiviert, wie die Selbsteinstellung nicht ausgeführt wird.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Reglerstruk- "PIDSelfTune.SUT. tur (Kühlen) TuneRuleCool", "PIDSelfTune.TIR. TuneRuleCool" Datentyp Int Wertebereich "PIDSelfTune.SUT. TuneRuleHeat" = 0..2, "PIDSelfTune.TIR. TuneRuleHeat" = 0..5 Beschreibung Sie können den Einstellalgorithmus für die Kühlung auswählen. Mögliche Auswahl: • PID (Temperatur) (= Standard) ("PIDSelfTune.SUT. TuneRuleCool" = 2) ("PIDSelfTune.TIR. TuneRuleCool = 0) • PID ("PIDSelfTune.SUT.
Technologieanweisungen 10.2 PID-Regelung Einstellung TO-DB-Parameter Datentyp Wertebereich Beschreibung 1 Das Feld zeigt den Wert in der Zeiteinheit "s" (Sekunden) an. 2 Nur verfügbar, wenn Sie in den PID-Parametern "Manuelle Eingabe aktivieren" aktivieren ("Retain.CtrlParams.SetByUser" = WAHR). 3 Die Maßeinheit wird am Ende des Felds wie in der Ansicht "Grundeinstellungen" ausgewählt angezeigt.
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-/OfflineUnterschiede 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.
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.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 36 CPU-Ausgang: Höchstfrequenz CPU CPU-Ausgangskanal: Impuls- und Richtungsausgang A/B, vorwärts/rückwärts 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 Aa.0 bis Aa.3 100 kHz 100 kHz Aa.4 bis Ab.1 20 kHz 20 kHz DAa.0 bis DAa.3 1 MHz 1 MHz 100 kHz 100 kHz 1214C und 1215C 1217C (.0+, .0- bis .3+, .3-) DAa.4 bis DAb.
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.
Technologieanweisungen 10.
Technologieanweisungen 10.3 Bewegungssteuerung: P = Impuls Integrierte Ausgänge der CPU Ausgänge schnelles SB D = Richtung 2 x 20 kHz (alle mit Richtungsausgang) PTO4 Beispiel 3: 4 - 200 kHz (kein Richtungsausgang) PTO1 Beisp. 4: 2 - 100 kHz; 2 - 200 kHz (alle mit Richtungsausgang) PTO1 P Ausgänge StandardSB D P PTO2 P PTO3 P PTO4 P P PTO2 D P D PTO3 P PTO4 D P D Hinweis Weitere Informationen finden Sie im Funktionshandbuch SIMATIC STEP 7 S7-1200 Bewegungssteuerung V14.
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. P1 ist high (aktiv), wenn Impulse in positiver Richtung erzeugt werden.
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. Bei positiver Richtung geht P0 P1 voraus.
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). In diesem Fall wird die Richtung anhand des Ausgangs ermittelt, der zuerst von 0 nach 1 wechselt.
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.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Hinweis Bei CPUs mit einer Firmwareversion bis V2.2 benötigt die PTO die interne Funktionalität eines schnellen Zählers (HSC). Das bedeutet, dass der jeweilige HSC nicht anderweitig verwendet werden kann. Die Zuordnung zwischen PTO und HSC ist fest vorgegeben. Wenn PTO1 aktiviert wird, erfolgt die Verbindung mit HSC1. Wenn PTO2 aktiviert wird, erfolgt die Verbindung mit HSC2. Sie können den aktuellen Wert (z. B.
Technologieanweisungen 10.3 Bewegungssteuerung: Im Auswahlverzeichnis für die PTO-Achse sind die Konfigurationsmenüs für Geber, Modulo, Positionsüberwachung und Regelung nicht enthalten. Nachdem Sie das Technologieobjekt für die Achse angelegt haben, konfigurieren Sie die Achse, indem Sie die grundlegenden Parameter definieren, z. B. die PTO und die Konfiguration der Antriebsschnittstelle. Sie konfigurieren auch die anderen Eigenschaften der Achse wie Positionsgrenzwerte, Dynamik und Referenzpunktfahrt.
Technologieanweisungen 10.3 Bewegungssteuerung: Konfigurieren Sie die Eigenschaften für die Antriebssignale, Antriebsmechanik und Positionsüberwachung (Hardware- und SoftwareEndschalter). Sie konfigurieren die Bewegungssteuerungsdynamik 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 Anwenderprogramm testen.
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 OnlineModus bei aktiver Achse in der Betriebsart "Manuelle Steuerung" und "Automatiksteuerung" verfügbar.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 42 Status der Achsbewegung Status Beschreibung Stillstand Die Achse ist im Stillstand. (Variable des Technologieobjekts: .StatusBits.StandStill). Beschleunigung Die Achse beschleunigt. (Variable des Technologieobjekts: .StatusBits.Acceleration). Konstante Geschwindigkeit Die Achse fährt mit konstanter Geschwindigkeit. (Variable des Technologieobjekts: .StatusBits.ConstantVelocity).
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 44 Fehlerbits Fehler Beschreibung Min. Softwaregrenze erreicht Der untere Software-Endschalter wurde erreicht. (Variable des Technologieobjekts: .ErrorBits.SwLimitMinReached). Min. Softwaregrenze überschritten Der untere Software-Endschalter wurde überschritten. Max. Softwaregrenze erreicht Der obere Software-Endschalter wurde erreicht. (Variable des Technologieobjekts: .ErrorBits.SwLimitMinExceeded).
Technologieanweisungen 10.3 Bewegungssteuerung: Diagnosefunktion "Bewegungsstatus" Mit der Diagnosefunktion "Bewegungsstatus" überwachen Sie den Bewegungsstatus der Achse. Die Diagnosefunktionsanzeige ist im Online-Modus bei aktiver Achse in der Betriebsart "Manuelle Steuerung" und "Automatiksteuerung" verfügbar.
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 Ihre Bewegungssteuerung und deren Konfigurationsobjekt.
Technologieanweisungen 10.3 Bewegungssteuerung: 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-/OfflineUnterschiede 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.
Technologieanweisungen 10.3 Bewegungssteuerung: 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. 10.3.4 Geregelte Bewegungssteuerung 10.3.4.
Technologieanweisungen 10.3 Bewegungssteuerung: Die geregelte Achse benötigt ebenfalls einen Geber. Drehgeber können Sie an die folgenden Elemente anschließen: ● Drehgeberschnittstelle am Antrieb ● Schnelle Zähler (HSC) ● Technologiemodule (TM) ● PROFIdrive-Geber auf PROFINET / PROFIBUS Für die PROFIdrive- oder analoge Antriebsverbindung können Sie maximal acht Antriebe (bzw. Achsen) haben.
Technologieanweisungen 10.3 Bewegungssteuerung: Hinweis Sie müssen möglicherweise die Werte der Eingangsparameter der Bewegungssteuerungsanweisungen im Anwenderprogramm an die neue Einheit anpassen. Nachdem Sie das Technologieobjekt für die Achse angelegt haben, konfigurieren Sie die Achse, indem Sie die grundlegenden Parameter definieren, entweder die Analogantriebsoder die PROFIdrive-Verbindung und die Konfiguration von Antrieb und Geber.
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.
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.
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 konfigurieren, um die Last in einem zyklischen Bereich zu bewegen, der über einen Startwert bzw. eine Startposition und eine vorgegebene Länge verfügt.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: "Stillstandsignal": Sie können die folgenden Parameter festlegen: • Kleinste Verweilzeit im Stillstandsfenster • Stillstandsfenster. "Regelung": Sie können die Geschwindigkeitsverstärkung "Vorverstärkung (KvFaktor)" konfigurieren. Im Steuerpanel "Inbetriebnahme" können Sie die Funktionalität unabhängig von Ihrem Anwenderprogramm testen. Klicken Sie auf das Symbol "Anlauf", um die Achse in Betrieb zu nehmen.
Technologieanweisungen 10.3 Bewegungssteuerung: Der OB MC-PreServo und der OB MC-PostServo sind Instanzen des ServoOB und sie sind vom Typ ServoOB. Diese OBs sind optional, sie können nur existieren, wenn der OB MCServo vorhanden ist, und sie enthalten Anwendercode. Alle drei OBs (MC-PreServo, MCServo und MC-PostServo) müssen in der gleichen Laufzeitebene ausgeführt werden und werden vom gleichen Ereignis CyclicServoEvent ausgelöst.
Technologieanweisungen 10.3 Bewegungssteuerung: Überlauf von MC-Servo (OB 91) Der ausgewählte Anwendungszyklus muss lang genug sein, damit alle Technologieobjekte für die Bewegungssteuerung in einem Zyklus bearbeitet werden können. Wird der Anwendungszyklus nicht eingehalten, tritt ein Überlauf auf. Bei Überlauf des MC-Servo (OB 91) geht die CPU nicht in STOP. (Die Aussage in der Online-Hilfe des TIA Portals hinsichtlich STOP bei Überlauf von MC-Servo (OB 91) ist falsch.
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.
Technologieanweisungen 10.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Beispiel: SINAMICS S120 und Geber mit Telegramm 4 konfigurieren 1. Auswählen des SINAMICS Frequenzumrichters: Verwenden Sie den Hardware-Katalog, um einen Frequenzumrichter SINAMICS S120 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.
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 706 Systemhandbuch, V4.2.
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. – Klicken Sie auf "SINAMICS-S120-CU310-2PN".
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.
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.
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).
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: ● .Sensor[i].DataAdaptation: DINT [ 0:NO | 1:YES ] ● .Actor.
Technologieanweisungen 10.3 Bewegungssteuerung: ● 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. – Wenn Sie das Häkchen im Kontrollkästchen entfernen, können Sie die Werte beider Bedienelemente unter dem Kontrollkästchen ändern.
Technologieanweisungen 10.3 Bewegungssteuerung: Das folgende Bild zeigt den Konfigurationsdialog "Geber": S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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. – Wenn Sie das Häkchen im Kontrollkästchen entfernen, können Sie die Werte beider Bedienelemente unter dem Kontrollkästchen ändern.
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.
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. ● Die maximale Drehzahl ist unabhängig vom Datensatz: "p1082".
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 Rotationsantrieb. Daher ist nur der Wert "1" gültig. Actor.Interface.AddressIn.RID Actor.Interface.AddressOut.
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 Antriebs aktiviert ist. Eine Konsistenzprüfung erstreckt sich auf Telegramm, Motortyp und maximale Drehzahl: ● Telegramm in "p922" oder "p2079": Bei einer Diskrepanz zwischen TO und Antriebskonfiguration meldet die Bewegungssteuerung einen Fehler.
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].
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. ● Gebertyp in "P979.
Technologieanweisungen 10.3 Bewegungssteuerung: Geber Typ Voreinstellung Wechselbar Kommentar Sensor.DataAdaptation DINT 0 R (mit Wiederanlauf) Übernahme aktiviert: StatusSensor Typ Kommentar StatusSensor.AdaptationState DINT Übernahmestatus: ErrorWord Typ ... Bool Bit 15: Fehler bei der Übernahme Bool ... Bool • 0: NEIN • 1: JA • 0: NOT_ADAPTED: Kann keine Daten übernehmen. • 1: IN_ADAPTATION: Datenübernahme soeben gestartet. • 2: ADAPTED: Daten sind übernommen.
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" des TM Pulse 2x24V kann ein Motor in beiden Richtungen mit einem zweipoligen PWM-Ausgang angesteuert werden.
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. In der Kanalkonfiguration Option "2 Kanäle (2A)" wählen. 5. Betriebsart "PWM mit Gleichstrommotor" einstellen. 6. Diagnose- und Kanalparameter nach Bedarf einstellen. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: 2. Im Konfigurationsdialog "Allgemein" für die Achskonfiguration wählen Sie "Analoge Antriebsanbindung": S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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.
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 PosInput ● Schneller Zähler (HSC) S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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" aus. 2. Wählen Sie das Symbol "Befehlstabelle" (benennen Sie es ggf.
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.
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. ① Die Achse verzögert zwischen den Schritten auf die Start-/Stoppgeschwindigkeit. S7-1200 Automatisierungssystem 730 Systemhandbuch, V4.2.
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. Bei Verwendung von "Blending motion" kann sich die Gesamtdauer für die vollständige Ausführung eines Profils verkürzen.
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.
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 1 A4.3 1 Integrierte E/A A0.42 A0.52 SB-E/A A4.0 A4.1 Integrierte E/A A0.63 A0.73 SB-E/A A4.2 A4.3 PTO3 PTO4 1 Die Ausgänge A4.2 und A4.3 sind nur beim SB 1222 DQ4 verfügbar.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Hardware-Endschalter Hardware-Endschalter geben den maximalen Verfahrbereich der Achse vor. HardwareEndschalter 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.
Technologieanweisungen 10.3 Bewegungssteuerung: ① ② Die Achse bremst mit der konfigurierten Notfallverzögerung bis zum Stillstand. A [Geschwindigkeit] B Zulässiger Verfahrbereich C Entfernung D Mechanischer Stopp E Unterer Hardware-Endschalter F Oberer Hardware-Endschalter Bereich, in dem die Hardware-Endschalter den Zustand "angefahren" signalisieren.
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.
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.
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. Sie ändern "Eingang unterer HW-Endschalter" in E0.6 und bestätigen.
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 740 Systemhandbuch, V4.2.
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. Sie ändern "Eingang unterer HW-Endschalter" in E0.6 und bestätigen.
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 742 Systemhandbuch, V4.2.
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. Sie ändern "Eingang unterer HW-Endschalter" in E0.6 und bestätigen. Der Dialog "Flankenerkennung" erscheint.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.6.3 Referenzpunktfahrt Bei der Referenzpunktfahrt werden die Achsenkoordinaten an die reale, physikalische Position des Antriebs angepasst. (Wenn der Antrieb aktuell in Position x steht, wird die Achse auf Position x eingestellt.) Bei positionsgeregelten Achsen beziehen sich die Einträge und Anzeigen der Position genau auf diese Achskoordinaten. Hinweis Die Übereinstimmung zwischen den Achsenkoordinaten und der realen Situation ist äußerst wichtig.
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.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Parameter Beschreibung Automatische Umkehr nach Erreichen der Hardware-Endschalter Aktivieren Sie das Kontrollkästchen, um den Hardware-Endschalter als Umkehrnocken für die Referenzpunktanfahrt zu nutzen. Die Hardware-Endschalter müssen für die Richtungsumkehr konfiguriert und aktiviert sein.
Technologieanweisungen 10.
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. Nach dem Ende der passiven Referenzpunktfahrt ist die Achse referenziert.
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. Nach dem Ende der aktiven Referenzpunktfahrt ist die Achse referenziert.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 53 Geschwindigkeitskennlinie für die Referenzpunktfahrt bei der Bewegungssteuerung Funktionsweise Hinweise A Anfahrgeschwindigkeit B Referenziergeschwindigkeit C Referenzpunktkoordinaten D Referenzpunktversatz ① Suchphase (blaues Kennliniensegment): Wenn die aktive Referenzpunktfahrt startet, beschleunigt die Achse auf die konfigurierte "Anfahrgeschwindigkeit" und sucht bei dieser Geschwindigkeit nach dem Referenzpunktschalter.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.7 Bewegungssteuerungsanweisungen 10.3.7.1 Übersicht MC-Anweisungen Die Bewegungssteuerungsanweisungen verwenden einen zugehörigen TechnologieDatenbaustein und die dafür zugewiesene PTO (Impulsfolge) der CPU, um die Bewegung einer Achse zu steuern. ● MC_Power (Seite 756) aktiviert und deaktiviert eine Achse für die Bewegungssteuerung. ● MC_Reset (Seite 759) setzt alle Bewegungssteuerungsfehler zurück.
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.
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.
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 IN 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.
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" quittiert. Die Achse wird dann wieder aktiviert.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.7.3 MC_Reset (Fehler bestätigen) Tabelle 10- 57 Anweisung MC_Reset KOP/FUP SCL "MC_Reset_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Restart:=_bool_in_, Done=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); Beschreibung Mit der Anweisung MC_Reset quittieren Sie "Betriebsfehler mit Achsenstopp" und "Konfigurationsfehler".
Technologieanweisungen 10.3 Bewegungssteuerung: Um einen Fehler mit MC_Reset zu quittieren, gehen Sie folgendermaßen vor: 1. Prüfen Sie die oben angegebenen Voraussetzungen. 2. Starten Sie die Quittierung des Fehlers mit einer steigenden Flanke am Eingangsparameter Execute. 3. Der Fehler wurde quittiert, wenn Done gleich WAHR ist und die Technologieobjektvariable .StatusBits.Error gleich FALSCH ist. 10.3.7.
Technologieanweisungen 10.
Technologieanweisungen 10.3 Bewegungssteuerung: Parameter und Datentyp Datentyp Beschreibung ErrorInfo OUT Word Fehlerinfo-ID für Parameter ErrorID ReferenceMarkPosition OUT Real Position der Achse an der Referenzmarke im bisherigen Koordinatensystem. Ausgangsparameter "ReferenceMarkPosition": Vor Ausführung der Referenzierfunktion wird die alte Position gespeichert und dieser Wert im Ausgangsparameter "ReferenceMarkPosition" zur Verfügung gestellt.
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 Bewegungssteuerungsaufgaben werden nach der Referenzpunktfahrt entsprechend der neuen Referenzpunktposition (Wert am Eingangsparameter Position) wieder aufgenommen.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 63 Parameter für die MC_Halt-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN TO_Axis_1 Technologieobjekt "Achse" Execute IN Bool Starten der Aufgabe bei einer positiven Flanke Done OUT Bool WAHR = Nullgeschwindigkeit erreicht Busy OUT Bool WAHR = Die Aufgabe wird ausgeführt. CommandAborted OUT Bool WAHR = Während der Ausführung wurde die Aufgabe von einer anderen Aufgabe abgebrochen.
Technologieanweisungen 10.3 Bewegungssteuerung: Übersteuerungsantwort Die Aufgabe MC_Halt kann von den folgenden Bewegungssteuerungsaufgaben abgebrochen werden: Die neue Aufgabe MC_Halt bricht die folgenden aktiven Bewegungssteuerungsaufgaben ab: • MC_Home Mode = 3 • MC_Home Mode = 3 • MC_Halt • MC_Halt • MC_MoveAbsolute • MC_MoveAbsolute • MC_MoveRelative • MC_MoveRelative • MC_MoveVelocity • MC_MoveVelocity • MC_MoveJog • MC_MoveJog 10.3.7.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 65 Parameter für die MC_MoveAbsolute-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN TO_Axis_1 Technologieobjekt "Achse" Execute IN Bool Starten der Aufgabe bei einer positiven Flanke (Standardwert: Falsch) Position IN Real Absolute Zielposition (Standardwert: 0,0) Grenzwerte: -1.0e12 ≤ Position ≤ 1.
Technologieanweisungen 10.
Technologieanweisungen 10.3 Bewegungssteuerung: Übersteuerungsantwort Die Aufgabe MC_MoveAbsolute kann von den folgenden Bewegungssteuerungsaufgaben abgebrochen werden: Die neue Aufgabe MC_MoveAbsolute bricht die folgenden aktiven Bewegungssteuerungsaufgaben ab: • MC_Home Mode = 3 • MC_Home Mode = 3 • MC_Halt • MC_Halt • MC_MoveAbsolute • MC_MoveAbsolute • MC_MoveRelative • MC_MoveRelative • MC_MoveVelocity • MC_MoveVelocity • MC_MoveJog • MC_MoveJog 10.3.7.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 67 Parameter für die MC_MoveRelative-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN TO_Axis_1 Technologieobjekt "Achse" Execute IN Bool Starten der Aufgabe bei einer positiven Flanke (Standardwert: Falsch) Distance IN Real Verfahrweg für den Positioniervorgang (Standardwert: 0,0) Grenzwerte: -1.0e12 ≤ Distance ≤ 1.
Technologieanweisungen 10.3 Bewegungssteuerung: Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Verzö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. Wegen der Antwortzeiten (z. B.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.7.
Technologieanweisungen 10.3 Bewegungssteuerung: Parameter und Datentyp Current IN Datentyp Beschreibung Bool Aktuelle Geschwindigkeit beibehalten: • FALSCH: "Aktuelle Geschwindigkeit beibehalten" ist deaktiviert. Die Werte der Parameter "Velocity" und "Direction" werden verwendet. (Standardwert) • WAHR: "Aktuelle Geschwindigkeit beibehalten" ist aktiviert. Die Werte der Parameter "Velocity" und "Direction" werden nicht berücksichtigt.
Technologieanweisungen 10.3 Bewegungssteuerung: Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Verzö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" gemeldet.
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" mindestens einen Programmzyklus lang WAHR an.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 71 Parameter für die MC_MoveJog-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN TO_SpeedAxis Technologieobjekt "Achse" JogForward1 IN Bool Solange der Parameter WAHR ist, bewegt sich die Achse mit der im Parameter "Velocity" angegebenen Geschwindigkeit in positiver Richtung. Das Vorzeichen des Werts im Parameter "Velocity" wird ignoriert.
Technologieanweisungen 10.3 Bewegungssteuerung: Die folgenden Werte wurden im Konfigurationsfenster "Dynamik > Allgemein" konfiguriert: Beschleunigung = 10,0 und Verzögerung = 5,0 ① ② Die Achse wird im Tippbetrieb über "Jog_F" in positiver Richtung bewegt. Wenn die Zielgeschwindigkeit 50,0 erreicht ist, wird dies über "InVelo_1" gemeldet. Die Achse bremst erneut bis zum Stillstand, nachdem Jog_F zurückgesetzt wird. Die Achse wird im Tippbetrieb über "Jog_B" in negativer Richtung bewegt.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.7.
Technologieanweisungen 10.3 Bewegungssteuerung: Parameter und Datentyp Datentyp Anfangswert Beschreibung Step OUT Int 0 Schritt wird gerade bearbeitet Code OUT 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.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: 10.3.7.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 76 Parameter für die MC_ChangeDynamic-Anweisung Parameter und Datentyp Datentyp Beschreibung Axis IN TO_Axis_1 Technologieobjekt "Achse" Execute IN Bool Starten des Befehls bei einer positiven Flanke. Standardwert: FALSE ChangeRampUp IN Bool TRUE = Hochlaufzeit in Übereinstimmung mit dem Eingangsparameter "RampUpTime" ändern.
Technologieanweisungen 10.3 Bewegungssteuerung: Voraussetzungen für die Ausführung von MC_ ChangeDynamic: ● Das Technologieobjekt TO_Axis_PTO V2.0 muss ordnungsgemäß konfiguriert sein. ● Die Achse muss freigegeben sein. Hinweis Für die Antriebsverbindung über PTO (Impulsfolge) können Sie nur die Anweisung MC_ChangeDynamic verwenden. Übersteuerungsantwort Ein Befehl MC_ChangeDynamic kann von keinem anderen Bewegungssteuerungsbefehl abgebrochen werden.
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: Tabelle 10- 78 Name des beschreibbaren Parameters Name des beschreibbaren Parameters Actor.InverseDirection DynamicDefaults.Acceleration Actor.DirectionMode DynamicDefaults.Deceleration Actor.DriveParameter.PulsesPerDriveRevolution DynamicDefaults.Jerk Sensor[1].ActiveHoming.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 79 Bedingungscodes für ERRORID und ERRORINFO ERRORID ERRORINFO Beschreibung (W#16#...) (W#16#...
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" ist die Befehlsgeschwindigkeit am Ende des aktuellen Segments (wird alle ~10 ms aktualisiert).
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 MotionStatus: Datentyp Lesbar über MC_ReadParam Struktur Nein Ja • Position REAL • Geschwindigkeit REAL Ja • Entfernung REAL Ja • Zielposition REAL Ja 10.3.8 Aktive Befehle überwachen 10.3.8.
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. Der Signalzustand des Eingangsparameters "Execute" beeinflusst die Anzeigedauer im Ausgangsparameter "Done".
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 83 Beispiel 1 - Vollständige Durchführung der Aufgabe Wenn "Execute" = FALSCH während der Verarbeitung der Aufgabe Wenn "Execute" = FALSCH nach Abschluss der Aufgabe ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet. Je nach Programmierung kann "Execute" während der Ausführung der Aufgabe auf den Wert FALSCH zurückgesetzt werden oder der Wert WAHR kann bis nach Abschluss der Aufgabe gehalten werden.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 84 Beispiel 2 - Abbruch der Aufgabe 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" während der Ausführung der Aufgabe auf den Wert FALSCH zurückgesetzt werden oder der Wert WAHR kann bis nach Abschluss der Aufgabe gehalten werden.
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" während der Ausführung der Aufgabe auf den Wert FALSCH zurückgesetzt werden oder der Wert WAHR kann bis nach Abschluss der Aufgabe gehalten werden.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: Tabelle 10- 86 Beispiel 1 - Wenn die parametrierte Geschwindigkeit erreicht wird Wenn "Execute" = FALSCH vor Erreichen der parametrierten Geschwindigkeit Wenn "Execute" = FALSCH nach Erreichen der parametrierten Geschwindigkeit ① Die Aufgabe wird bei einer positiven Flanke am Eingangsparameter "Execute" gestartet.
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.
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.
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.
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. ③ Wenn die parametrierte Geschwindigkeit erreicht ist, geht der Ausgangsparameter "InVelocity" nach WAHR.
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. ③ Die Aufgabe wird während ihrer Ausführung von einer anderen Bewegungssteuerungsaufgabe abgebrochen.
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. ③ Während der Ausführung der Aufgabe tritt ein Fehler auf.
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.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8003 Beschreibung Abhilfe Fehlerreaktion Unterer HW-Endschalter wurde erreicht 16#000E Der untere HW-Endschalter wurde erreicht. Die Achse wurde mit der Not-Aus-Verzögerung gestoppt. (Während einer aktiven Referenzpunktfahrt wurde der Referenzpunktschalter nicht gefunden.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8008 Beschreibung Abhilfe Ungültige Bewegungsrichtung - 16#002E Die ausgewählte Bewegungsrichtung ist nicht zulässig. • 16#002F Ändern Sie die Bewegungsrichtung und starten Sie den Befehl erneut. • Passen Sie die zulässige Drehrichtung in der Konfiguration des Technologieobjekts unter "Erweiterte Parameter > Mechanik" an. Starten Sie den Befehl erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#800B Beschreibung Abhilfe Fehlerreaktion Bereichsverletzung der Position 16#0039 Bereichsverletzung in positiver Richtung Fahren Sie die Achse an einen Referenzpunkt in einem gültigen Istwertbe16#003A Bereichsverletzung in negativer Rich- reich. tung Freigabe entfernen 16#003B Die Änderung der Istposition in einem Passen Sie die Modulo-Länge des Servotakt ist größer als die Moduloeingesetzten Gebers an. Länge.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#800F Beschreibung Abhilfe Fehlerreaktion Fehler im Zielbereich 16#0045 16#0046 16#8010 Zielbereich nicht erreicht Zielbereich wieder verlassen 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 Regelkreises. Der Zielbereich wurde innerhalb der Mindestverweilzeit verlassen.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8205 Beschreibung Abhilfe Achse wird gegenwärtig vom Anwenderprogramm gesteuert (der Fehler wird nur in der Achssteuertafel angezeigt) 16#0013 Die Achse ist im Anwenderprogramm freigegeben. 16#0001 - 16#8206 Deaktivieren Sie die Achse mit der Anweisung "MC_Power" und wählen Sie in der Achssteuertafel wieder die Handsteuerung aus.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#820B Beschreibung Abhilfe Befehlstabelle kann nicht ausgeführt werden 16#0026 16#820C Ausführen des Ladevorgangs im Betriebszustand RUN Warten Sie, bis der Ladevorgang beendet ist. Keine Konfiguration verfügbar 16#0001 - Interner Fehler Kontaktieren Sie die Hotline.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8404 Beschreibung Abhilfe Ungültiger Wert am Parameter "Mode" der Bewegungssteuerungsanweisung 16#0011 Der Auswahlwert ist ungültig. Korrigieren Sie den Auswahlwert; starten Sie den Befehl neu. 16#0015 Aktive/passive Referenzpunktfahrt ist nicht konfiguriert Korrigieren Sie die Konfiguration und laden Sie sie in die Steuerung; geben Sie die Achse frei und starten Sie den Befehl erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8409 Beschreibung Abhilfe Ungültiger Wert am Parameter "CommandTable" der Bewegungssteuerungsanweisung 16#001A Der angegebene Wert entspricht nicht der Korrigieren Sie den Wert; starten Sie den Befehl erforderlichen Version des Technologieobjekts. erneut. 16#001B Der angegebene Wert entspricht nicht dem erforderlichen Typ des Technologieobjekts.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8411 Beschreibung Abhilfe Ungültiger Wert am Parameter "Value" der Bewegungssteuerungsanweisung 16#0002 16#0005 16#0006 Wert ist keine gültige Zahl. Korrigieren Sie den Wert; starten Sie den Befehl Wert ist außerhalb des Zahlenbereichs (größer erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8606 Beschreibung Abhilfe Ungültiger Wert "Start-/Stoppgeschwindigkeit" 16#0002 Wert ist keine gültige Zahl. 16#0003 Wert ist größer als die obere Hardwaregrenze 16#0004 Wert ist kleiner als die untere Hardwaregrenze 16#0007 Die Start-/Stoppgeschwindigkeit ist größer als die maximale Geschwindigkeit.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8609 Beschreibung Abhilfe Ungültiger Wert "Verzögerung" 16#0002 Wert ist keine gültige Zahl. 16#0003 Wert ist größer als die obere Hardwaregrenze 16#0004 Wert ist kleiner als die untere Hardwaregrenze 16#0030 Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs 16#860A • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#860C Beschreibung Abhilfe Wert für Position des oberen SW-Endschalters ist ungültig 16#0002 Wert ist keine gültige Zahl. 16#0005 Wert ist außerhalb des Zahlenbereichs (größer als 1E+12) 16#0006 Wert ist außerhalb des Zahlenbereichs (kleiner • als 1E+12) Korrigieren Sie den falschen Wert online; quittieren Sie den Fehler mit der Anweisung "MC_Reset" und starten Sie den Befehl gegebenenfalls erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8610 Beschreibung Abhilfe Ungültiger Wert "Anfahrgeschwindigkeit" 16#0002 Wert ist keine gültige Zahl. 16#0008 Die Geschwindigkeit ist größer als die maximale Geschwindigkeit. 16#0009 16#0030 16#8611 • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei. Die Geschwindigkeit ist kleiner als die Start/Stoppgeschwindigkeit.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8614 Beschreibung Abhilfe Ungültiger Wert "Ruck" 16#0002 Wert ist keine gültige Zahl. 16#001F Wert ist größer als der maximale Ruck 16#0020 Wert ist kleiner als der minimale Ruck 16#0030 Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs 16#8615 • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8618 Beschreibung Abhilfe Wert der Variable .Sensor.Sensor[1].PassiveHoming.Mode ist ungültig 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" frei. • Korrigieren Sie den falschen Wert online; quittieren Sie den Fehler mit der Anweisung "MC_Reset" und starten Sie den Befehl gegebenenfalls erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#861E Beschreibung Abhilfe Die Konfiguration des Messradumfangs des Gebers ist ungültig. Ungültiger Wert in .Sensor.Sensor[1].Parameter.DistancePerRevolution 16#0030 16#861F Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8624 Beschreibung Abhilfe Das festgelegte Gebersystem ist ungültig. Ungültiger Wert in .Sensor.Sensor[1].System 16#0011 16#8625 Der Auswahlwert ist ungültig. • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8629 Beschreibung Abhilfe Grenzwert für Stillstandsignal ist fehlerhaft. Ungültiger Wert in .StandStillSignal.VelocityThreshold 16#0030 16#862A Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#862E Abhilfe Ungültiger Wert für das Konfigurationsdatum .Modulo.Length 16#0030 16#862F Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#8634 Beschreibung Abhilfe Parameter der Schleppabstandüberwachung ist fehlerhaft. Ungültiger Wert in .FollowingError.MaxValue 16#0030 16#8635 Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#863A Beschreibung Abhilfe Kommunikation mit dem Antrieb ist fehlerhaft 16#004C 16#004D 16#004E 16#863B Konfigurationsfehler am Gerät Der Gerätetreiber benötigt einen kleineren Servotakt. Fehler bei der internen Kommunikation mit dem Gerät • Schließen Sie ein geeignetes Gerät an. • Prüfen Sie das Gerät (E/A). • Vergleichen Sie die Projektierung der HWKonfig und des Technologieobjekts.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo 16#863D Beschreibung Abhilfe Kommunikation mit dem Gerät (Antrieb oder Geber) ist fehlerhaft 16#0030 16#0055 16#0056 16#0057 16#863E Wert hat ein falsches Zahlenformat oder ist außerhalb des gültigen Zahlenbereichs • Laden Sie eine fehlerfreie Konfiguration in die Steuerung; geben Sie die Achse erneut mit der Anweisung "MC_Power" frei.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#005C Maximale Drehzahl (p1082): Es ist Wiederanlauf kein Parameter vorhanden oder sein Wert kann nicht gelesen werden oder liegt außerhalb der zulässigen Grenzwerte. Das Lesen der Parameter wurde abgebrochen, weil die Hardware einen Fehler gemeldet hat. Fehler bei der Übernahme 16#005D Max.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID 16#8041 ErrorInfo Beschreibung Abhilfe Fehlerreaktion Fehler beim Übernehmen der Geberkonfiguration 16#0030 Wert hat ein falsches Zahlenformat oder liegt außerhalb des gültigen Zahlenbereichs Wiederanlauf Fehler bei der Übernahme 16#005A Die Datenübernahme wurde aufgrund Wiederanlauf mangelnder Ressourcen abgebrochen.
Technologieanweisungen 10.3 Bewegungssteuerung: ErrorID ErrorInfo Beschreibung Abhilfe Fehlerreaktion 16#0066 Anzahl der auflösbaren Geberumdre- Wiederanlauf hungen (r0979[5/15]): Es ist kein Parameter vorhanden oder sein Wert kann nicht gelesen werden oder liegt außerhalb der zulässigen Grenzwerte. Das Lesen der Parameter wurde abgebrochen, weil die Hardware einen Fehler gemeldet hat. 16#8642 Konfiguration wird intern übernommen 16#0067 1: Unzulässiger Wert für Actor.MaxSpeed (Actor.
Technologieanweisungen 10.3 Bewegungssteuerung: Konfigurationsfehler der Befehlstabelle ErrorID ErrorInfo 16#8700 Beschreibung Abhilfe Wert für "Befehlstyp" in der Befehlstabelle ist ungültig 16#0001 16#8701 - • 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 und starten Sie den Befehl gegebenenfalls erneut.
Technologieanweisungen 10.3 Bewegungssteuerung: Interne Fehler ErrorID ErrorInfo 16#8FFF Beschreibung Abhilfe Interner Fehler 16#F0** - Schalten Sie die CPU aus und ein. Wird der Fehler dadurch nicht behoben, wenden Sie sich an den Kundensupport. Halten Sie die folgenden Informationen bereit: • ErrorID • ErrorInfo • Diagnosepuffereinträge S7-1200 Automatisierungssystem 826 Systemhandbuch, V4.2.
Kommunikation 11 Die S7-1200 bietet mehrere Arten der Kommunikation zwischen CPUs und Programmiergeräten, HMI-Geräten und anderen CPUs. WARNUNG Wenn sich ein Angreifer physischen Zugriff auf Ihre Netzwerke verschaffen kann, kann er möglicherweise Daten lesen und schreiben. Das TIA Portal, die CPU und HMI-Geräte (außer HMI-Geräten über GET/PUT) nutzen die sichere Kommunikation, die Schutz vor Replay- und Man-in-the-Middle-Angriffen bietet.
Kommunikation PROFINET IO-Controller Als IO-Steuerung über PROFINET IO kommuniziert die CPU mit bis zu 16 PN-Geräten im lokalen PN-Netzwerk oder über einen PN/PN-Koppler (Verbund). Ausführliche Informationen hierzu finden Sie unter PROFIBUS and PROFINET International, PI (www.profinet.com). PROFIBUS PROFIBUS wird für den Austausch von Daten über das Anwenderprogramm mit anderen Kommunikationspartnern über das PROFIBUS-Netzwerk verwendet: ● Beim CM 1242-5 fungiert die CPU als PROFIBUS DP-Slave.
Kommunikation 11.1 Asynchrone Kommunikationsverbindungen 11.
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.
Kommunikation 11.1 Asynchrone Kommunikationsverbindungen Ein weiteres Beispiel ist die Anzahl der HMI-Geräte, wie in der nachstehenden Abbildung gezeigt. HMI-Geräte haben 12 verfügbare Verbindungsressourcen. Je nach Typ oder Modell Ihres HMI-Geräts und den verwendeten HMI-Funktionen kann jedes HMI-Gerät tatsächlich eine, zwei oder drei seiner verfügbaren Verbindungsressourcen nutzen.
Kommunikation 11.2 PROFINET 11.2 PROFINET Die CPU kann mit anderen CPUs, mit Programmiergeräten, mit HMI-Geräten und Siemensfremden Geräten über herkömmliche TCP-Kommunikationsprotokolle kommunizieren. Mit der CPU verbundenes Programmiergerät An die CPU angeschlossenes HMI-Gerät Eine mit einer anderen CPU verbundene CPU Ethernet-Switch Die CPU 1211C, 1212C und 1214C haben einen Ethernet-Port und verfügen nicht über einen integrierten Ethernet-Switch.
Kommunikation 11.2 PROFINET Die CPUs 1215C und 1217C besitzen einen integrierten Ethernet-Switch mit 2 Ports. Sie können ein Netzwerk mit einer CPU 1215C und zwei anderen S7-1200 CPUs aufbauen. Zum Anschließen mehrerer CPUs und HMI-Geräte können Sie auch einen auf dem Baugruppenträger montierten Ethernet-Switch CSM1277 mit 4 Ports verwenden. 11.2.1 Netzwerkverbindung erstellen In der Netzsicht der Gerätekonfiguration können Sie die Netzwerkverbindungen zwischen den Geräten in Ihrem Projekt herstellen.
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) ● Art der Verbindung (z. B.
Kommunikation 11.2 PROFINET Verbindungspfade Nach dem Einfügen einer Anweisung TSEND_C, TRCV_C oder TCON in das Anwenderprogramm werden im Inspektorfenster die Eigenschaften der Verbindung anzeigt, wenn Sie einen Teil der Anweisung auswählen. Sie legen die Kommunikationsparameter über das Register "Konfiguration" im Dialog "Eigenschaften" der Kommunikationsanweisung fest.
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" klicken, um die "Eigenschaften" aufzurufen.
Kommunikation 11.
Kommunikation 11.2 PROFINET 11.2.3 IP-Adressen zuweisen 11.2.3.1 IP-Adressen für Programmier- und Netzwerkgeräte zuweisen Wenn Ihr Programmiergerät eine integrierte Adapterkarte nutzt, die an das LAN Ihrer Anlage angeschlossen ist, müssen sich das Programmiergerät und die CPU im gleichen Subnetz befinden. Sie weisen das Subnetz als Kombination aus IP-Adresse und Subnetzmaske für das Gerät zu. Wenn Sie Unterstützung benötigen, wenden Sie sich an Ihren Netzwerkadministrator vor Ort.
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 Um die IP-Adresse Ihres Programmiergeräts zuzuweisen oder zu prüfen, gehen Sie wie folgt vor: 1. Öffnen Sie die Systemsteuerung über das Start-Menü. 2.
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". 3. Erweitern Sie im Dialog "Netzwerk" die "Konfigurationen" und wählen Sie "Industrial Ethernet".
Kommunikation 11.2 PROFINET 3. Wählen Sie im Dialog "Online & Diagnose" Option "Funktionen" > "IP-Adresse zuweisen". 4. Geben Sie im Feld "IP-Adresse" Ihre neue IP-Adresse ein und klicken Sie auf die Schaltfläche "IP-Adresse zuweisen". 5. Prüfen Sie in der Projektnavigation, ob STEP 7 der CPU die neue IP-Adresse zugewiesen hat. Doppelklicken Sie auf "Erreichbare Teilnehmer aktualisieren", um die zuvor konfigurierte IP-Adresse anzuzeigen. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
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.
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. Router benötigen IP-Adressen zum Senden und Empfangen von Datenpaketen.
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.
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.
Kommunikation 11.2 PROFINET 3.
Kommunikation 11.2 PROFINET 11.2.4 Testen des PROFINET-Netzwerks Nachdem die Konfiguration beendet ist, laden Sie das Programm (Seite 226) 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.
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".
Kommunikation 11.2 PROFINET Die MAC-Adresse ist an der Vorderseite links unten auf der CPU aufgedruckt. Sie müssen die untere Abdeckklappe öffnen, um die MAC-Adresse lesen zu können. ① MAC-Adresse Die CPU hat zunächst keine IP-Adresse, sondern nur eine im Werk eingestellte MACAdresse. In der PROFINET-Kommunikation ist es erforderlich, dass allen Geräten eine eindeutige IP-Adresse zugeordnet wird.
Kommunikation 11.2 PROFINET 11.2.6 NTP-Synchronisation (Network Time Protocol, NTP) konfigurieren WARNUNG Gefahr unbefugter Zugriffe auf Ihre Netzwerke durch NTP-Synchronisation (Network Time Protocol) Wenn ein Angreifer über die NTP-Synchronisation (Network Time Protocol) auf Ihre Netzwerke zugreifen kann, kann er Ihnen möglicherweise durch Veränderung der CPUSystemzeit die Kontrolle über Ihren Prozess entziehen.
Kommunikation 11.2 PROFINET Wählen Sie im Eigenschaftenfenster der CPU Gerätekonfiguration den Eintrag "Uhrzeitsynchronisation". In STEP 7 wird der Dialog "Uhrzeitsynchronisation" angezeigt: Hinweis Die CPU empfängt beim Laden des Projekts alle IP-Adressen. Tabelle 11- 6 Parameter für die Uhrzeitsynchronisation Parameter Definition Uhrzeitsynchronisation über NTPServer aktivieren Aktivieren Sie das Kontrollkästchen, um die Uhrzeitsynchronisation über den NTP-Server zu aktivieren.
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 TimeoutWert). 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. Jede Station (bzw.
Kommunikation 11.2 PROFINET 11.2.8 Offene Benutzerkommunikation 11.2.8.
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.
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. B. Firewall).
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.
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). ● Die Anweisung TRCV_C in CPU_1 bezieht sich auf die Anweisung TSEND_C in CPU_2 über die zweite Verbindung ("Verbindungs-ID 2" bei beiden CPUs, CPU_1 und CPU_2).
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.
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. ① TSEND_C in CPU_1 erstellt eine Verbindung und weist dieser Verbindung eine Verbindungs-ID zu (ID = 1).
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 834) an.
Kommunikation 11.2 PROFINET Byte Parameter und Datentyp 10 rem_tsap_id_len Beschreibung 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 11 next_staddr_len USInt Dieser Parameter wird nicht verwendet. 12 … 27 local_tsap_id Array [1..16] of Byte Komponente der lokalen Adresse der Verbindung: • • TCP und ISO-on-TCP: lokale Port-Nr. (mögliche Werte: 1 bis 49151; empfohlene Werte: 2000...
Kommunikation 11.2 PROFINET Byte Parameter und Datentyp 40 … 55 rem_tsap_id Beschreibung Array [1..16] of Byte Komponente der Partneradresse der Verbindung: • • • TCP: Portnummer der Partner-CPU.
Kommunikation 11.2 PROFINET Byte Parameter und Datentyp 10 … 11 RemotePort UInt Beschreibung Dezentrale UDP/TCP-Portnummer 12 … 13 LocalPort UInt Lokale UDP/TCP-Portnummer TCON_IP_RFC Tabelle 11- 10 Struktur der Verbindungsbeschreibung (TCON_IP_RFC): Zur Verwendung mit ISO-on-TCP Byte Parameter und Datentyp 0…1 InterfaceId HW_ANY HW-Kennung des IE-Schnittstellen-Submoduls 2…3 ID CONN_OUC (Word) Verweis auf diese Verbindung: Wertebereich: 1 (Standard) bis 4095.
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: ● Ältere TSEND_C- und TRCV_C-Anweisungen (Seite 877): Diese TSEND_C- und TRCV_C-Anweisungen wurden vor der Version V4.
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 887)".
Kommunikation 11.
Kommunikation 11.2 PROFINET Tabelle 11- 12 Datentypen für die Parameter von TSEND_C und TRCV_C Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Startet den Sendeauftrag bei einer steigenden Flanke IN Bool Empfang aktivieren IN Bool Steuert die Kommunikationsverbindung: (TSEND_C) EN_R (TRCV_C) CONT • 0: Kommunikationsverbindung nach dem Senden der Daten trennen.
Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung COM_RST Bool Optionaler Parameter (versteckt) IN_OUT 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.
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. Wenn Sie die Standardeinstellung des Parameters LEN verwenden und die Daten in kleineren Segmenten als die Größe des Parameters DATA gesendet werden sollen, gilt Folgendes.
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.
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.
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.
Kommunikation 11.2 PROFINET 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 Verbindungsbeschreibung RCVD_LEN TCP Die Daten sind sofort verfügbar.
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.
Kommunikation 11.2 PROFINET Parameter Error und Status Tabelle 11- 14 ERROR Bedingungscodes von TSEND_C und TRCV_C für ERROR und STATUS STATUS Beschreibung (W#16#...) 0 0000 Sendeauftrag (TSEND_C) oder Empfangsauftrag (TRCV_C) fehlerfrei ausgeführt. 0 7000 Keine Ausführung eines Sendeauftrags aktiv; keine Kommunikationsverbindung hergestellt. 0 7001 • Ausführung des Sendeauftrags (TSEND_C) oder Empfangsauftrags (TRCV_C) starten. • Verbindung herstellen. • Auf Verbindungspartner warten.
Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung (W#16#...) 1 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. 1 8086 Der Parameter ID im Parameter CONNECT liegt außerhalb des zulässigen Bereichs. 1 8087 Maximale Anzahl Verbindungen erreicht; keine weitere Verbindung möglich. 1 8088 Der Wert am Parameter LEN entspricht nicht dem am Parameter DATA festgelegten Empfangsbereich.
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 887).
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 FCInstanz finden Sie in der Projektnavigation unter PLC_x > Programmbausteine > Systembausteine > Programmressourcen.
Kommunikation 11.
Kommunikation 11.2 PROFINET Tabelle 11- 16 Datentypen für die Parameter von TSEND_C und TRCV_C Parameter und Datentyp Datentyp Beschreibung REQ IN Bool REQ = 1 startet den Sendeauftrag von TSEND_C bei einer steigenden Flanke über die im Parameter CONNECT beschriebene Verbindung. CONT = 1 ist ebenfalls erforderlich, um die Kommunikationsverbindung herzustellen und aufrechtzuerhalten. IN Bool Ist EN_R = 1, ist TRCV_C empfangsbereit. Der Empfangsauftrag wird verarbeitet.
Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung ERROR Bool Statusparameter mit den folgenden Werten: OUT • 0: Kein Fehler • 1: Fehler während der Verarbeitung aufgetreten. STATUS enthält Informationen zum Fehlertyp. STATUS OUT Word Statusinformationen umfassen Fehlerinformationen. (Siehe Tabelle "Fehler- und Statusparameter" unten.
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. ● Um die Verbindung zu beenden, führen Sie TSEND_C mit CONT = 0 aus. Die Verbindung wird dann sofort abgebrochen. Dies betrifft auch den Empfänger.
Kommunikation 11.2 PROFINET Hinweis Ad-hoc-Modus Den Ad-hoc-Modus gibt es nur bei den Protokollvarianten TCP und ISO on TCP. Den Adhoc-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.
Kommunikation 11.
Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung 1 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 (hexadezimal) für das erste Byte, muss das zweite Byte entweder 00 oder 01 sein.
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.
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.
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 1 0 0 Auftrag wird bearbeitet. 0 1 0 Auftrag erfolgreich ausgeführt. 0 0 1 Auftrag mit Fehler beendet. Die Fehlerursache wird am Parameter STATUS ausgegeben. 0 0 0 Kein neuer Auftrag zugewiesen.
Kommunikation 11.2 PROFINET Tabelle 11- 21 Datentypen für die Parameter von TCON und TDISCON Parameter Deklaration Datentyp Beschreibung REQ IN Bool Startet den Auftrag für den Aufbau der in der ID angegebenen Verbindung bei einer steigenden Flanke. ID IN CONN_OUC (Word) Verweis auf die zugewiesene Verbindung. Wertebereich: W#16#0001 bis W#16#0FFF CONNECT IN_OUT VARIANT (TCON) Pointer auf die Verbindungsbeschreibung • Für TCP oder UDP ist Struktur TCON_IP_v4 zu verwenden.
Kommunikation 11.2 PROFINET Wird die Anweisung TDISCON ausgeführt oder ist die CPU in den Betriebszustand STOP gegangen, so wird die bestehende Verbindung beendet und die eingerichtete Verbindung gelöscht. Um die Verbindung einzurichten und wiederherzustellen, müssen Sie TCON erneut ausführen. Tabelle 11- 22 Bedingungscodes von ERROR und STATUS für TCON und TDISCON ERROR STATUS (W#16#...) Erklärung 0 0000 Verbindung erfolgreich aufgebaut.
Kommunikation 11.2 PROFINET ERROR STATUS (W#16#...) Erklärung 1 80B7 TCON: Bei TCON_IP_v4: • TCP (aktiver Verbindungsaufbau): Entfernter Port ist "0". • TCP (passiver Verbindungsaufbau): Lokaler Port ist "0". • UDP: Lokaler Port ist "0". TCON: Bei TCON_IP_RFC: • Lokale (local_tselector) oder entfernte (remote_tselector) Tranportauswahl wurde mit einer Länge von mehr als 32 Bytes angegeben. • Für TSelLength der Transportauswahl (lokal oder entfernt) wurde eine Länge über 32 eingegeben.
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. In diesem Zustand ist der Ausgang "Busy" der Anweisung TSEND gesetzt und der Ausgang "Status" hat den Wert "0x7002".
Kommunikation 11.2 PROFINET Tabelle 11- 24 Datentypen für die Parameter von TSEND und TRCV Parameter und Datentyp Datentyp Beschreibung REQ IN Bool TSEND: Startet den Sendeauftrag bei einer steigenden Flanke. Die Daten werden aus dem mit DATA und LEN bezeichneten Bereich übertragen. EN_R IN Bool TRCV: Aktiviert die CPU für den Empfang, bei EN_R = 1 ist TRCV empfangsbereit. Der Empfangsauftrag wird bearbeitet. ID IN CONN_OUC (Word) Dies ist ein Verweis auf die zugehörige Verbindung.
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. Während dieses Zeitraums wird ein Wechsel von 0 nach 1 am Eingangsparameter REQ ignoriert.
Kommunikation 11.
Kommunikation 11.2 PROFINET Tabelle 11- 26 Bedingungscodes von ERROR und STATUS für TSEND und TRCV ERROR STATUS Beschreibung 0 0000 • Sendeauftrag fehlerfrei ausgeführt (TSEND) • Neue Daten angenommen: Die aktuelle Länge der empfangenen Daten wird in RCVD_LEN (TRCV) gezeigt.
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 834)". 11.2.8.
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.
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 Auftrag wird bearbeitet. FALSCH WAHR FALSCH Auftrag erfolgreich ausgeführt. FALSCH FALSCH WAHR Auftrag mit Fehler beendet. Die Fehlerursache ist im Parameter STATUS hinterlegt.
Kommunikation 11.2 PROFINET Tabelle 11- 29 Datentypen für die Parameter von TCON und TDISCON Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Der Steuerparameter REQ startet den Auftrag durch Herstellung der von ID angegebenen Verbindung. Der Auftrag beginnt bei einer steigenden Flanke.
Kommunikation 11.2 PROFINET Tabelle 11- 30 Bedingungscodes von ERROR und STATUS für TCON und TDISCON ERROR STATUS Beschreibung 0 0000 Verbindung wurde erfolgreich aufgebaut. 0 7000 Keine laufende Auftragsbearbeitung 0 7001 Auftragsbearbeitung starten, Verbindung herstellen (TCON) oder Verbindung beenden (TDISCON) 0 7002 Folgeaufruf (REQ irrelevant), Verbindung herstellen (TCON) oder Verbindung beenden (TDISCON) 1 8086 Parameter ID ist außerhalb des zulässigen Adressbereichs.
Kommunikation 11.2 PROFINET ERROR STATUS Beschreibung 1 80B7 TCON: Fehler in einem der folgenden Parameter des Datenbausteins für die Verbindungsbeschreibung: • block_length • local_tsap_id_len • rem_subnet_id_len • rem_staddr_len • rem_tsap_id_len • next_staddr_len Hinweis: Beim Betrieb von TCON im passiven TCP-Modus muss LOCAL_TSAP_ID_LEN "2" und REM_TSAP_ID_LEN muss "0" sein. 1 80B8 TCON: Parameter der lokalen Verbindungsbeschreibung und Parameter-ID sind verschieden.
Kommunikation 11.
Kommunikation 11.2 PROFINET Tabelle 11- 32 Datentypen für die Parameter von TSEND und TRCV Parameter und Datentyp Datentyp Beschreibung REQ IN Bool TSEND: Startet den Sendeauftrag bei einer steigenden Flanke. Die Daten werden aus dem mit DATA und LEN bezeichneten Bereich übertragen. EN_R IN Bool TRCV: Aktiviert die CPU für den Empfang, bei EN_R = 1 ist TRCV empfangsbereit. Der Empfangsauftrag wird bearbeitet. ID IN CONN_OUC (Word) Dies ist ein Verweis auf die zugehörige Verbindung.
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 DATA die Länge der zu übertragenden Daten.
Kommunikation 11.2 PROFINET Sobald alle Auftragsdaten empfangen sind, werden sie von TRCV in den Empfangsbereich übertragen und NDR wird auf 1 gesetzt.
Kommunikation 11.2 PROFINET Bedingungscodes von TSEND und TRCV Error und Status ERROR STATUS Beschreibung 0 0000 • Sendeauftrag fehlerfrei ausgeführt (TSEND) • Neue Daten angenommen: Die aktuelle Länge der empfangenen Daten wird in RCVD_LEN (TRCV) gezeigt. • Keine laufende Auftragsbearbeitung (TSEND) • Baustein nicht empfangsbereit (TRCV) • Auftragsbearbeitung starten, Daten werden gesendet: Während dieser Bearbeitung greift das Betriebssystem auf die Daten im Sendebereich DATA zu (TSEND).
Kommunikation 11.2 PROFINET 11.2.8.11 Anweisung T_RESET (bestehende Verbindung beenden und neu aufbauen) Mit der Anweisung "T_RESET" wird eine bestehende Verbindung beendet und anschließend neu aufgebaut: Tabelle 11- 34 KOP/FUP Anweisung T_RESET SCL "T_RESET_DB"( req:=_bool_in_, id:=_word_in_, done=>_bool_out_, error=>_bool_out_, status=>_word_out_); Beschreibung Mit der Anweisung "T_RESET" wird eine bestehende Verbindung beendet und anschließend neu aufgebaut.
Kommunikation 11.2 PROFINET Datentypen für die Parameter Die folgende Tabelle zeigt die Parameter der Anweisung T_RESET: Parameter Deklaration Datentyp Speicherbereich Beschreibung REQ Input BOOL E, A, M, D, L, T, C oder konstant Der Steuerparameter REQUEST startet den Auftrag zur Beendigung der durch ID angegebenen Verbindung. Der Auftrag startet bei einer steigenden Flanke.
Kommunikation 11.2 PROFINET 11.2.8.
Kommunikation 11.2 PROFINET Datentypen für die Parameter Die folgende Tabelle zeigt die Parameter der Anweisung T_DIAG: Parameter Deklaration Datentyp Speicherbereich Beschreibung REQ Input BOOL E, A, M, D, L, T, C oder Konstante Startet die Anweisung zum Prüfen der im Parameter ID angegebenen Verbindung, wenn eine steigende Flanke vorliegt. ID Input CONN_OUC (WORD) L, D oder Konstante Verweis auf die zugewiesene Verbindung.
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.
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 Schnittstellen-ID (LADDR) der CPU oder des CM/CP. ID CONN_OUC ID der diagnostizierten Verbindung.
Kommunikation 11.2 PROFINET Name Datentyp Beschreibung State BYTE Aktueller Status des Verbindungsendpunkts Kind BYTE • 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 dezentralen Kommunikationspartner herzustellen.
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) ● E-Mail über eine CP-Schnittstelle (entweder SMTP ohne SSL oder SMTP mit SSL).
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. ● Mit Pointern VARIANT an den Parametern ATTACHMENT und ATTACHMENT_NAME können Sie außerdem eine Anlage definieren.
Kommunikation 11.2 PROFINET Die Verbindung wird auch beendet, wenn die Anweisung erfolgreich ausgeführt und die EMail 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 • gerade keine E-Mail gesendet wird (d. h., REQ = 0 und BUSY = 0).
Kommunikation 11.2 PROFINET ● Für die Anmeldung benötigt die Anweisung "TMAIL_C" ferner das zugehörige Passwort. Dies ist das Passwort, das Sie beim Einrichten Ihres Mail-Accounts angegeben haben. Er wird mit dem Parameter PassWord an die Struktur im Parameter MAIL_ADDR_PARAM übertragen.
Kommunikation 11.2 PROFINET Parameter Deklaration Datentyp Speicherbe- Beschreibung reich ATTACHMENT_ NAME Input VARIANT D MAIL_ADDR_PA RAM (Seite 920) Input Name der E-Mail-Anlage (optional) Verweis auf eine Zeichenkette mit einer maximalen Länge von 50 Zeichen (Byte), die den Dateinamen der Anlage darstellt. Wird diesem Parameter eine leere Zeichenkette zugewiesen, wird die Mail-Anlage mit dem Dateinamen "attachment.bin" gesendet.
Kommunikation 11.2 PROFINET Parameter MAIL_ADDR_PARAM Mit dem Parameter MAIL_ADDR_PARAM legen Sie die Verbindung für das Senden der EMail in der Struktur Tmail_v4 oder Tmail_FQDN fest und speichern die Mailserver-Adresse und -Anmeldedaten. Welche Struktur für den Parameter MAIL_ADDR_PARAM benutzt wird, hängt von dem Format ab, in dem der Mailserver adressiert werden soll: ● Tmail_v4: Adressierung über die IP-Adresse (IPv4). ● Tmail_FQDN: Adressierung mit "Fully Qualified Domain Name" (FQDN).
Kommunikation 11.2 PROFINET Parameter FullQualifiedDomainName Tabelle 11- 38 Datentyp Beschreibung STRING[254] Fully Qualified Domain Name (kurz: FQDN) des Mailservers. Beispiel: "mymailserver.com". Tmail_FQDN: Adressierung des Mailservers über FQDN Parameter Datentyp Tmail_v6 Struct Beschreibung Tmail_FQDN LADDR Hardwarekennung der Schnittstelle ID CONN_OUC Verbindungs-ID ConnectionType BYTE Verbindungstyp. Wählen Sie 16#22 als Verbindungstyp für FQDN.
Kommunikation 11.2 PROFINET Parameter TO_S und CC Die Parameter TO_S und CC sind Zeichenketten mit z. B. dem folgenden Inhalt: ● , ● , 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. ● Eine schließende spitze Klammer ">" muss nach jeder Adresse eingegeben werden.
Kommunikation 11.2 PROFINET Parameter STATUS Die folgende Tabelle zeigt die Rückgabewerte von TMAIL_C am Parameter STATUS: Rückgabewert Bedeutung Hinweise Die Ausführung von TMAIL_C wurde fehlerfrei beendet. Die fehlerfreie Beendigung von TMAIL_C bedeutet nicht, dass die gesendete Mail tatsächlich ankommt. STATUS* (W#16#...): 0000 Eine fehlerhafte Eingabe der Empfängeradressen erzeugt keinen Statusfehler der Anweisung TMAIL_C.
Kommunikation 11.2 PROFINET Rückgabewert Bedeutung Hinweise 8014 Verbindungsaufbau nicht möglich. Es wurde möglicherweise eine falsche Mailserver-IP-Adresse (MailServerAddress (Seite 920)) oder eine zu kurze Zeit (WatchDogTime (Seite 920)) für den Verbindungsaufbau eingegeben. Es ist auch möglich, dass die CPU keine Verbindung zum Netzwerk hat oder die CPU-Konfiguration fehlerhaft ist.
Kommunikation 11.2 PROFINET Rückgabewert Bedeutung Hinweise 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 922)). 8552 Vorgang abgebrochen: Zugewiesener Wiederholen Sie den Vorgang später.
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" unter TCON, TDISCON, TSEND und TRCV (Seite 887).
Kommunikation 11.2 PROFINET Tabelle 11- 40 Datentypen für die Parameter von TUSEND und TURCV Parameter und Datentyp Datentyp Beschreibung REQ IN Bool Startet den Sendeauftrag bei einer steigenden Flanke. Die Daten werden aus dem mit DATA und LEN bezeichneten Bereich übertragen. IN Bool • 0: CPU kann nicht empfangen. • 1: Aktiviert die CPU für den Empfang. Die Anweisung TURCV ist empfangsbereit und der Empfangsauftrag wird bearbeitet.
Kommunikation 11.2 PROFINET Parameter und Datentyp Datentyp Beschreibung DATA Variant Adresse des Sendebereichs (TUSEND) oder Empfangsbereichs (TURCV): ADDR IN_OUT IN_OUT Variant • das Prozessabbild der Eingänge • das Prozessabbild der Ausgänge • ein Merkerbit • einen Datenbaustein Pointer auf die Adresse des Empfängers (bei TUSEND) oder des Senders (bei TURCV) (z. B. P#DB100.DBX0.0 Byte 8) Der Pointer kann auf einen beliebigen Speicherbereich verweisen.
Kommunikation 11.2 PROFINET Tabelle 11- 42 Bedingungscodes von TUSEND und TURCV für ERROR und STATUS ERROR STATUS Beschreibung 0 0000 • Sendeauftrag fehlerfrei ausgeführt (TUSEND). • Neue Daten wurden angenommen. Die aktuelle Länge der empfangenen Daten wird in RCVD_LEN (TURCV) gezeigt.
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 834). Betrieb Beide Partner sind in der UDP-Kommunikation passiv.
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.
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.
Kommunikation 11.2 PROFINET Tabelle 11- 43 Anweisung T_CONFIG KOP/FUP Tabelle 11- 44 SCL "T_CONFIG_DB"( Req:=_bool_in_, Interface:=_uint_in_, Conf_Data:=_variant_in_, Done=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, Status=>_dword_out_, Err_Loc=>_dword_out_); Beschreibung Die Anweisung T_CONFIG ändert die Parameter der IP-Konfiguration über das Anwenderprogramm. T_CONFIG arbeitet asynchron. Die Ausführung erstreckt sich über mehrere Aufrufe.
Kommunikation 11.2 PROFINET Die Status- und Fehlermeldungen der Anweisung "T_CONFIG"werden an den Parametern STATUS und ERR_LOC ausgegeben: ● Die Fehlerursache wird am Parameter STATUS ausgegeben. ● Die Fehlerstelle wird am Parameter ERR_LOC ausgegeben. Folgende Optionen stehen hier zur Verfügung: – 16#0000_0000: Kein Fehler oder Fehler beim Aufrufen der Anweisung (z. B. Fehler beim Parametieren der Anweisung oder bei der Kommunikation mit der PROFINETSchnittstelle).
Kommunikation 11.2 PROFINET In der folgenden Tabelle werden die möglichen Wert für die Parameter STATUS und ERR_LOC gezeigt: STATUS* ERR_LOC* Bedeutung 0000_0000 0000_0000 Auftragsbearbeitung fehlerfrei durchgeführt. 0070_0000 0000_0000 Keine laufende Auftragsbearbeitung. 0070_0100 0000_0000 Beginn der Auftragsbearbeitung. 0070_0200 0000_0000 Zwischenzeitlicher Aufruf (REQ irrelevant). C08x_yy00 0000_0000 Allgemeine Fehlerinformationen.
Kommunikation 11.2 PROFINET STATUS* ERR_LOC* Bedeutung C080_9000 0001_000x Fehler im Systemdatentyp IF_CONF_V4, IF_CONF_NOS oder IF_CONF_NTP: Konfigurationsdaten können nicht übernommen werden. Mögliche Ursache: • Bei IF_CONF_V4: In der Hardwarekonfiguration wurde die Einstellung "IP-Adresse am Gerät einstellen" nicht ausgewählt. • Bei IF_CONF_NOS: In der Hardwarekonfiguration wurde die Einstellung "PROFINETGerätenamen am Gerät einstellen" nicht ausgewählt.
Kommunikation 11.2 PROFINET Die Konfigurationsdaten von CONF_DB bestehen aus einem Feld mit einem Header (IF_CONF_Header) und mehreren Unterfeldern. IF_CONF_Header liefert die folgenden Elemente: ● field_type_id (Datentyp UInt): Null ● field_id (Datentyp UInt): Nullabgleich ● subfield_cnt (Datentyp UInt): Anzahl der Unterfelder Jedes Unterfeld besteht aus einem Header (subfield_type_id, subfield_length, subfield_mode) und den unterfeldspezifischen Parametern.
Kommunikation 11.2 PROFINET Name Datentyp ADDR Array [1..
Kommunikation 11.2 PROFINET Tabelle 11- 48 Elemente des Datentyps IF_CONF_NTP Name Datentyp Startwert Beschreibung Id UInt 17 subfield_type_id Length UInt 22 subfield_length Mode UInt 0 subfield_mode (2: Temporär) NTP_IP Array[1...4] of IP_V4 - IP-Adressen von NTP-Servern NTP_IP[1] IP_V4 ADDR IP-Adressen von NTP-Server 1 Array[1...
Kommunikation 11.2 PROFINET Beispiel: IP-Parameter mit Anweisung T_CONFIG ändern Im folgenden Beispiel werden im Unterfeld "addr" die Parameter "InterfaceAddress" (IPAdresse), "SubnetMask" und "DefaultRouter" (IP-Router) geändert. Auf der Seite "EthernetAdresse" in den "Eigenschaften" der CPU können Sie über das Optionsfeld "IP-Adresse wird direkt am Gerät eingestellt" die IP-Parameter über die Anweisung "T_CONFIG" ändern, nachdem Sie das Programm in die CPU geladen haben.
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 PROFINETGerätenamen über die Anweisung "T_CONFIG" ändern, nachdem Sie das Programm in die CPU geladen haben.
Kommunikation 11.2 PROFINET S7-1200 Automatisierungssystem 942 Systemhandbuch, V4.2.
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-TimeProtocol-Server (NTP)) die IP-Adressen von bis zu vier NTP-Servern.
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.
Kommunikation 11.2 PROFINET Ausgangsparameter DONE, NDR, ERROR und STATUS Diese Anweisungen haben Ausgänge, die den Ausführungszustand anzeigen: Tabelle 11- 49 Ausgabeparameter der Anweisungen für die offene Benutzerkommunikation Parameter Datentyp Standard Beschreibung DONE Bool FALSCH Wird eine Ausführung lang auf WAHR gesetzt, um anzuzeigen, dass die letzte Anforderung mit Fehler abgeschlossen wurde; andernfalls FALSCH.
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.
Kommunikation 11.2 PROFINET Für die PROFINET-Verbindung ist eine optionale Zugentlastung verfügbar. Bestellinformationen finden Sie unter Ersatzteile und sonstige Hardware (Seite 1639). 11.2.9.2 Konfigurieren der Geräte Wenn Sie bereits ein Projekt mit einer CPU angelegt haben, öffnen Sie Ihr Projekt in STEP 7. Sonst legen Sie ein Projekt an und fügen eine CPU (Seite 162) in den Baugruppenträger ein. Im folgenden Projekt sehen Sie eine CPU in der "Gerätesicht". 11.2.9.
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 IPAdressen 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. Ausführliche Informationen finden Sie unter "Testen des PROFINET-Netzwerks" (Seite 847).
Kommunikation 11.2 PROFINET Tabelle 11- 50 Erforderliche Schritte zum Konfigurieren der Kommunikation zwischen einer HMI und einer CPU Schritt 1 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 Standardoder Crossover-Ethernet-Kabel verwendet werden.
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.
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. Klicken Sie zunächst auf das Register "Verbindungen" und wählen Sie dann über die Klappliste rechts den Verbindungstyp aus (z. B. eine ISO-on-TCP-Verbindung).
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.
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. S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
Kommunikation 11.2 PROFINET Empfangsparameter für TRCV_C konfigurieren Anweisung TRCV_C Die Anweisung TRCV_C (Seite 865) baut eine Kommunikationsverbindung zu einer Partnerstation auf. Die Verbindung wird eingerichtet, aufgebaut und automatisch überwacht, bis eine Anweisung die Verbindung trennt. Die Anweisung TRCV_C verbindet die Funktionen von TCON, TDISCON und TRCV. In STEP 7 können Sie in der CPU-Konfiguration einstellen, wie eine Anweisung TRCV_C Daten empfangen soll.
Kommunikation 11.2 PROFINET 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. 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 IODevices hinzuzufügen.
Kommunikation 11.2 PROFINET Sie können auch ins Portal "Geräte & Netze" gehen und dort in der "Netzsicht" die Geräte in Ihrem Projekt vernetzen: 1. Um eine PROFINET-Verbindung zu erstellen, klicken Sie auf das grüne Feld (PROFINET) auf dem ersten Gerät und ziehen eine Linie zum PROFINET-Feld auf dem zweiten Gerät. 2. Lassen Sie die Maustaste los. Damit ist Ihre PROFINET-Verbindung hergestellt. Weitere Informationen finden Sie unter "Gerätekonfiguration: CPU für die Kommunikation konfigurieren" (Seite 188).
Kommunikation 11.2 PROFINET 11.2.12.3 IP-Adressen zuweisen IP-Adressen zuweisen In einem PROFINET-Netzwerk benötigt jedes Gerät außerdem eine IP-Adresse (InternetProtocol-Adresse).
Kommunikation 11.2 PROFINET Definieren Sie die "Aktualisierungszeit" für den IO-Zyklus wie folgt: ● Wenn eine geeignete Aktualisierungszeit automatisch berechnet werden soll, wählen Sie "Automatisch". ● Um die Aktualisierungszeit selbst einzustellen, wählen Sie "Kann eingestellt werden" und geben die gewünschte Aktualisierungszeit in ms ein. Tabelle 11- 53 PROFINET IO-Zykluszeit für das ET200SP konfigurieren ET 200SP PROFINET IO-Device Dialogfeld "ET 200SP PROFINET IO-Zyklus" ① PROFINET-Port 11.2.
Kommunikation 11.2 PROFINET Benennungskonvention für "I-Device" Eine CPU oder ein CP mit I-Device-Funktion wird in den folgenden Beschreibungen der Einfachheit halber als "I-Device" bezeichnet. 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.
Kommunikation 11.2 PROFINET Eigenschaften Eigenschaften des I-Device: ● Getrenntes Arbeiten mit STEP 7-Projekten: Ersteller und Benutzer eines I-Device können mit vollständig getrennten STEP 7Automatisierungsprojekten arbeiten. Die GSD-Datei bildet die Schnittstelle zwischen den STEP 7-Projekten. Auf diese Weise kann durch eine standardisierte Schnittstelle eine Verbindung zu Standard-IO-Controllern hergestellt werden.
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/ASystem gehören und als IO-Controller sein eigenes untergeordnetes E/A-System unterstützen. Das untergeordnete E/A-System kann wiederum eigene I-Devices enthalten (siehe Abbildung unten).
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. Teilanlage 1 und Teilanlage 2 bestehen aus je einem I-Device mit zentralen E/A.
Kommunikation 11.2 PROFINET Unterschiedliches Verhalten der Transferbereiche der Eingänge bei Steuerung und I-Device im Fall des Netzwerkverlusts Bei der Steuerung schreibt die CPU bei Verlust der Netzwerkverbindung in die Transferbereiche der Eingänge den Wert Null. Auf dem I-Device behalten die Transferbereiche ihre letzten Werte bei. Sie können Ihr System entsprechend konfigurieren, um diese Bedingung für den allgemeinen Fall des I-Device (nicht freigegebenes I-Device) zu vermeiden.
Kommunikation 11.2 PROFINET Datenaustausch Die nächste Abbildung zeigt den Datenaustausch zwischen über- und untergeordnetem E/ASystem. Die einzelnen Kommunikationsbeziehungen sind nachstehend anhand von Nummern erläutert: ① ② Datenaustausch zwischen übergeordnetem IO-Controller und normalem IO-Gerät Der IO-Controller und die IO-Geräte tauschen Daten überPROFINET aus. Datenaustausch zwischen übergeordnetem IO-Controller und I-Device Der IO-Controller und das I-Device tauschen Daten über PROFINET aus.
Kommunikation 11.2 PROFINET ③ ④ ⑤ Transferbeziehung zwischen Anwenderprogramm und Transferbereich Es werden Ein- und Ausgangsdaten zwischen Anwenderprogramm und Transferbereich ausgetauscht. Datenaustausch zwischen Anwenderprogramm und E/A des I-Device Es werden Ein- und Ausgangsdaten zwischen Anwenderprogramm und der zentralen/dezentralen Peripherie ausgetauscht. Datenaustausch zwischen I-Device und einem untergeordneten IO-Gerät Es werden Daten zwischen I-Device und seinen IO-Geräten ausgetauscht.
Kommunikation 11.2 PROFINET 5. Jetzt können Sie in der Klappliste "Zugewiesener IO-Controller" den IO-Controller auswählen. Nachdem Sie den IO-Controller ausgewählt haben, werden in der Netzsicht die Vernetzung und das IO-System zwischen beiden Geräten angezeigt. 6. Über das Kontrollkästchen "Parametrierung der PN-Schnittstelle durch übergeordneten IO-Controller" geben Sie an, ob die Schnittstellenparameter vom I-Device selbst oder von einem übergeordneten IO-Controller zugewiesen werden.
Kommunikation 11.2 PROFINET Hinweis Wenn Sie eine S7-1200 als I-Device konfigurieren, beträgt die maximale Größe eines Übertragungsbereichs 1024 Eingangs- oder Ausgangsbytes. Je nach lokaler E/A und Einschränkungen beim Adressraum auf dem steuernden Gerät gibt es möglicherweise begrenzende Faktoren.
Kommunikation 11.2 PROFINET 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 IOController zugewiesen. Wenn Sensoren, die sich physisch nahe beieinander befinden, verschiedenen IO-Controllern Daten liefern müssen, sind dafür mehrere IO-Devices erforderlich.
Kommunikation 11.2 PROFINET Voraussetzung (GSD-Konfiguration) ● STEP 7 V12 Service Pack 1 oder höher ● S7-1200 CPU mit Firmware ab V4.1 als IO-Controller ● Unterstützung der Shared-Device-Funktion durch das IO-Device, z. B. Schnittstellenmodul IM 155-5 PN ST ● GSD-Datei für die Konfiguration des IO-Device ist installiert ● Eine als I-Device konfigurierte S7-1200 CPU unterstützt die Shared-Device-Funktion. Sie müssen die PROFINET GSD-Datei für das I-Device aus STEP 7 (ab V5.
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. Die maximal mögliche Anzahl von IO-Controllern für das Shared Device ist vom Gerät abhängig.
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. ● Die nicht zugewiesenen Module und Submodule werden bei der Konsistenzprüfung nicht in der Grenzwertberechnung der Konfiguration für das Shared Device berücksichtigt.
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". 4. Fügen Sie ein IO-Gerät mit der "Shared-Device"-Funktion (zum Beispiel ein ET 200SP) aus dem Hardwarekatalog ein (Hardwarekatalog: Weitere Feldgeräte > PROFINET IO > E/A). 5.
Kommunikation 11.2 PROFINET 5. Weisen Sie den IO-Controller "Controller2" dem IO-Gerät zu. 6. Speichern Sie das Projekt. Beide Projekte haben jetzt ein identisch strukturiertes IO-Gerät, das im nächsten Schritt für die unterschiedlichen Arten des IO-Controllerzugriffs konfiguriert werden muss. 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.
Kommunikation 11.2 PROFINET 3. Behalten Sie die Einstellung "Controller1" für alle Module und Submodule bei, die im Adressbereich der lokalen CPU verbleiben sollen. Wählen Sie die Einstellung "---" für alle Module und Submodule aus, die sich im Adressbereich der CPU aus dem Projekt "Controller2" befinden sollen. Dies bedeutet, dass ein IO-Controller außerhalb des Projekts Zugriff auf das Modul bzw. Submodul erhält. 4.
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. Damit ist gemeint, dass, wenn die lokale CPU in einem Projekt Zugriff hat, im anderen Projekt die Option "---" eingestellt sein muss und umgekehrt.
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. 2.
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" Konfiguration mit unterschiedlichen Engineering-Tools für unterschiedliche IO-Controllerfamilien ist möglich.
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.
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" zu. 4. Doppelklicken Sie auf das IO-Device und konfigurieren Sie alle erforderlichen Module und Submodule.
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-DeviceKonfiguration". Die Spalte "Adresse im IO-Controller" bleibt leer, weil kein IOController zugewiesen ist.
Kommunikation 11.2 PROFINET 6. Speichern Sie das Projekt. 7. Klicken Sie auf die Schaltfläche "Exportieren" (Bereich "Betriebsart > I-DeviceKonfiguration", Abschnitt "Allgemeine Gerätebeschreibungsdatei (GSD) exportieren"). Wenn Sie den Namen im Exportdialog nicht ändern, erhält die GSD-Datei einen Namen im zugewiesenen Format (zum Beispiel "GSDML-V2.31-#Siemens-PreConf_S7-1200-IDevice-20130925-123456").
Kommunikation 11.2 PROFINET 6. Weisen Sie den IO-Controller "Controller1" dem I-Device zu. S7-1200 Automatisierungssystem 982 Systemhandbuch, V4.2.
Kommunikation 11.2 PROFINET 7. Wählen Sie den Bereich "Shared Device" in den Eigenschaften des I-Device aus: – In der Tabelle sind alle Übertragungsbereiche und die PROFINET-Schnittstelle dem lokalen IO-Controller zugewiesen (Controller1). – Definieren Sie die Übertragungsbereiche, auf die die Controller1-CPU keinen Zugriff haben soll. Wählen Sie für diese Bereiche den Eintrag "---" aus. Diese Übertragungsbereiche werden Controller2 zur Verfügung gestellt. S7-1200 Automatisierungssystem Systemhandbuch, V4.
Kommunikation 11.2 PROFINET 8. Sie können die Adressen aus der Gerätesicht des IO-Controllers in der Geräteübersicht anpassen. Um die Geräteübersicht aufzurufen, doppelklicken Sie auf das I-Device. 9. Speichern Sie das Projekt. Vorgehensweise - Projekt Controller2 anlegen Um das zweite Projekt mit einem Shared Device anzulegen, gehen Sie wie folgt vor: 1. Starten Sie STEP 7 erneut. Eine neue Instanz von STEP 7 wird geöffnet. 2.
Kommunikation 11.2 PROFINET Zusammenfassung - Parametrierung des Zugriffs auf das Shared Device Die Übertragungsbereiche werden automatisch dem lokalen IO-Controller zugewiesen. Um die Zuweisung zu ändern, gehen Sie wie folgt vor: 1. Klicken Sie in der Netzsicht des Projekts "Controller1" auf das Gerät "S7-1200-I-Device" und wählen Sie den Bereich "Shared Device" aus. 2. Eine Tabelle zeigt an, welche CPU auf die einzelnen konfigurierten Übertragungsbereiche Zugriff hat.
Kommunikation 11.2 PROFINET Hinweis Wenn Sie die S7-1200 als Shared I-Device und als Controller verwenden, achten Sie darauf, dass Sie die Aktualisierungszeiten von PROFINET I-Device und PROFINET IO erhöhen, um die Auswirkungen auf die Kommunikationsleistung abzumildern. Das System ist sehr stabil und funktioniert gut, wenn Sie für ein einzelnes PROFINET I-Device eine Aktualisierungszeit von 2 ms auswählen und wenn Sie für ein einzelnes PROFINET IO eine Aktualisierungszeit von 2 ms auswählen.
Kommunikation 11.2 PROFINET Übersetzen und Laden Sie müssen die Konfigurationen für die verschiedenen IO-Controller übersetzen und nacheinander in die CPUs laden. Aufgrund der dezentralen Konfiguration bei getrennten Projekten gibt STEP 7 bei falscher Zugriffsparametrierung keine Konsistenzfehler aus. Hier einige Beispiele für falsche Zugriffsparametrierung: ● Mehrere IO-Controller haben Zugriff auf das gleiche Modul. ● IP-Adressparameter oder Sendetakte sind nicht identisch.
Kommunikation 11.2 PROFINET ① ② ③ MRP-Manager Testtelegramme MRP-Clients Die Ringports eines Geräts sind die Ports, die die Verbindung zu den zwei benachbarten Geräten in der Ringtopologie herstellen. Die Ringports werden in der Konfiguration des jeweiligen Geräts ausgewählt und festgelegt (ggf. auch voreingestellt).
Kommunikation 11.2 PROFINET Sobald die Unterbrechung beseitigt ist, werden die ursprünglichen Übertragungspfade wieder hergestellt, die zwei Ringports des MRP-Managers werden getrennt und die MRPClients über die Änderung informiert. Die MRP-Clients nutzen dann wieder die ursprünglichen Pfade zu den anderen Geräten. Medienredundanzverfahren Das Standardverfahren der Medienredundanz in SIMATIC ist das Medienredundanzprotokoll (MRP) mit einer typischen Neukonfigurationszeit von 200 ms.
Kommunikation 11.2 PROFINET Topologie Die folgende Abbildung zeigt eine mögliche Topologie für Geräte in einem Ring mit MRP. Die Geräte im schattiert dargestellten Oval befinden sich in der Redundanzdomäne. Dies ist ein Beispiel für eine Ringtopologie mit MRP: Die folgenden Regeln gelten für eine Ringtopologie mit Medienredundanz und MRP: ● Alle Geräte im Ring gehören zur gleichen Redundanzdomäne. ● Ein Gerät im Ring übernimmt die Rolle des MRP-Managers. ● Alle anderen Geräten im Ring sind MRP-Clients.
Kommunikation 11.2 PROFINET Grenzbedingungen Sie haben die folgenden Kommunikationsmöglichkeiten: ● Mit dem MRP ist der MRP- und der RT: RT-Betrieb möglich. Hinweis Die RT-Kommunikation wird unterbrochen (Stationsausfall), wenn die Neukonfigurationszeit des Rings größer ist als die ausgewählte Überwachungszeit des IO-Device. Sie müssen für Ihre IO-Devices eine Überwachungszeit größer als 200 ms auswählen. Weitere Informationen finden Sie im nachfolgenden Abschnitt "Überwachungszeit".
Kommunikation 11.2 PROFINET Überwachungszeit Die Überwachungszeit ist das Zeitintervall, das ein IO-Controller oder IO-Device zulässt, ohne IO-Daten zu empfangen. Wenn das IO-Device vom IO-Controller nicht innerhalb der Überwachungszeit mit Daten versorgt wird, erkennt das Gerät die fehlenden Telegramme und gibt Ersatzwerte aus. Dies wird im IO-Controller als Stationsausfall gemeldet. Sie können die Überwachungszeit für PROFINET IO-Devices konfigurieren.
Kommunikation 11.2 PROFINET 11.2.15.3 Medienredundanz konfigurieren Alle Komponenten in Ihrer Anwendung müssen das Medienredundanzprotokoll (MRP) unterstützen. Vorgehen Um Medienredundanz zu konfigurieren, gehen Sie wie folgt vor: 1. Stellen Sie durch geeignete Portverschaltungen einen Ring her (z. B. in der Topologiesicht). 2. Wählen Sie ein PROFINET-Gerät aus, für das Sie Medienredundanz konfigurieren möchten. 3.
Kommunikation 11.2 PROFINET Oder: 1. Markieren Sie das PROFINET IO-System in der Netzsicht. 2. Klicken Sie auf das PROFINET IO-System. 3. Navigieren Sie zum Gerät der erforderlichen MRP-Domäne im Inspektorfenster. 4. Legen Sie für die PROFINET-Geräte eine der Rollen "Manager (Auto)", "Client" oder "Nicht Teilnehmer des Rings" zu. Hinweis Sie können der S7-1200 CPU nicht die MRP-Rolle "Manager (Auto)" zuweisen. S7-1200 Automatisierungssystem 994 Systemhandbuch, V4.2.
Kommunikation 11.2 PROFINET Option für "Medienredundanz": MRP-Rolle Abhängig vom verwendeten Gerät sind die Rollen "Manager", "Manager (Auto)", "Client" und "Nicht Teilnehmer des Rings" verfügbar. Regeln: ● Ein Ring kann nur ein Gerät mit der Rolle "Manager" haben. Keine weiteren Geräte mit der Rolle "Manager" oder "Manager (Auto)" sind zulässig. Alle anderen Geräte im Ring können nur die Rolle "Client" haben. Geräte, die nicht im Ring sind, können die Rolle "Nicht Teilnehmer des Rings" haben.
Kommunikation 11.2 PROFINET Sie können auf diese Ereignisse im Anwenderprogramm reagieren, indem Sie die angemessene Reaktion im Diagnosefehler-OB (OB 82) programmieren. Hinweis Fremdgeräte als MRP-Manager Um fehlerfreien Betrieb zu gewährleisten, wenn ein Fremdgerät als MRP-Manager in einem Ring verwendet wird, müssen Sie, bevor Sie den Ring schließen, allen anderen Geräten im Ring die feste Rolle "Client" zuweisen. Ansonsten kann es zu Zirkulation von Datentelegrammen und Netzwerkausfall kommen. 11.2.
Kommunikation 11.2 PROFINET 11.2.16.1 S7-Routing zwischen CPU und CP-Schnittstellen Da die S7-1200 CPUs auf eine einzige PN-Schnittstelle begrenzt sind, kann eine unabhängige CPU nicht als Router fungieren. Sie können eine unabhängige CPU immer nur jeweils an ein S7-Subnetz anschließen. Wenn Sie CP-Module im lokalen Grundgerät der CPU installieren, können Sie mehrere S7-Subnetze vernetzen und Routing einsetzen.
Kommunikation 11.2 PROFINET 11.2.17 SNMP deaktivieren Das Simple Network Management Protocol (SNMP) ist ein Internet-Standardprotokoll zum Erfassen und Organisieren von Informationen über verwaltete Geräte in IP-Netzwerken und zum Modifizieren dieser Informationen, um das Geräteverhalten zu ändern. Geräte, die üblicherweise SNMP unterstützen, sind Router, Switches, Server, Workstations, Drucker, Modemracks und mehr.
Kommunikation 11.2 PROFINET 11.2.17.1 SNMP deaktivieren SNMP deaktivieren Gehen Sie wie folgt vor, um SNMP in der S7-1200 CPU zu deaktivieren: 1. Erstellen Sie einen klassischen Datenbaustein (DB): 2. Wählen Sie die Eigenschaften des neu erstellten DBs aus. 3. Öffnen Sie das Register "Attribute". Deaktivieren Sie das Kontrollkästchen "Optimierter Bausteinzugriff": 4. Klicken Sie auf die Schaltfläche "OK". Daraufhin wird eine Meldung angezeigt, die Ihnen rät, Ihr Programm neu zu übersetzen.
Kommunikation 11.2 PROFINET 5. Erstellen Sie in der klassischen DB-Bausteinschnittstelle die folgenden statischen Variablen mit den gezeigten Werten. Diese Variablen verwenden Sie in Ihrem Programm, um die interne SNMP-Implementierung zu deaktivieren: 6. Fügen Sie im Anlauf-OB (OB100) die temporären Variablen wie gezeigt hinzu: 7.
Kommunikation 11.2 PROFINET 11.2.18 Diagnose Informationen dazu, wie Sie Organisationsbausteine (OBs) für die Diagnose mit diesen Kommunikationsnetzwerken einsetzen, finden Sie unter "Organisationsbausteine (OBs)" (Seite 97). 11.2.19 Anweisungen für die dezentrale Peripherie Weitere Informationen zur Verwendung der Anweisungen für die dezentrale Peripherie mit diesen Kommunikationsnetzwerken finden Sie unter "Dezentrale Peripherie (PROFINET, PROFIBUS oder AS-i)" (Seite 395). 11.2.
Kommunikation 11.3 PROFIBUS 11.3 PROFIBUS Ein PROFIBUS-System nutzt einen Bus-Master, um Slavegeräte abzufragen, die an mehreren Stellen auf einem seriellen RS485-Bus verteilt sind. Ein PROFIBUS-Slave ist ein beliebiges Peripheriegerät (E/A-Wandler, Ventil, Motorantrieb oder Messgerät), das Daten verarbeitet und die Ausgabe an den Master sendet. Der Slave stellt eine passive Station im Netzwerk dar, weil er keine Buszugriffsrechte besitzt.
Kommunikation 11.3 PROFIBUS Wenn ein CM 1242-5 und ein CM 1243-5 zusammen installiert sind, kann eine S7-1200 gleichzeitig sowohl als Slave eines übergeordneten DP-Mastersystems als auch als Master eines untergeordneten DP-Slavesystems fungieren. In V3.0 können Sie maximal drei PROFIBUS-CMs je Station konfigurieren, wobei es sich um jede beliebige Kombination aus DP-Master- oder DP-Slave-CMs handeln kann. DP-Master in einer Implementierung mit einer CPU ab Firmware-Version 3.
Kommunikation 11.3 PROFIBUS 11.3.1 Kommunikationsdienste der PROFIBUS-CMs Die PROFIBUS-CMs nutzen das PROFIBUS DP-V1-Protokoll. Kommunikationstypen für DP-V1 Für DP-V1 stehen die folgenden Kommunikationstypen zur Verfügung: ● Zyklische Kommunikation (CM 1242-5 und CM 1243-5) Beide PROFIBUS-Module unterstützen die zyklische Kommunikation für die Prozessdatenübertragung zwischen DP-Slave und DP-Master. Die zyklische Kommunikation wird vom Betriebssystem der CPU bearbeitet.
Kommunikation 11.3 PROFIBUS 11.3.2 Verweis auf die Benutzerhandbücher für PROFIBUS-CMs Weitere Informationen Ausführliche Informationen über die PROFIBUS-CMs finden Sie in den Handbüchern zu den jeweiligen Geräten. Diese stehen im Internet auf den Seiten des Kundensupports von Siemens Industrial Automation unter den folgenden IDs zur Verfügung: ● CM 1242-5 (https://support.industry.siemens.com/cs/ww/de/ps/15667) ● CM 1243-5 (https://support.industry.siemens.com/cs/ww/de/ps/15669) 11.3.
Kommunikation 11.3 PROFIBUS Wählen Sie dann "6ES7 155-6BU00-0CN0" (IM155-6 DP HF) in der Liste der Bestellnummern aus und fügen Sie den ET200SP DP-Slave wie in der folgenden Abbildung gezeigt ein. Tabelle 11- 55 ET200SP DP-Slave zur Gerätekonfiguration hinzufügen DP-Slave einfügen 11.3.3.2 Ergebnis Konfigurieren der logischen Netzwerkverbindungen zwischen zwei PROFIBUSGeräten Nachdem Sie das Modul CM 1243-5 (DP-Master) konfiguriert haben, können Sie nun Ihre Netzwerkverbindungen konfigurieren.
Kommunikation 11.3 PROFIBUS 11.3.3.3 PROFIBUS-Adressen zum CM 1243-5 und DP-Slave zuweisen Konfigurieren der PROFIBUS-Schnittstelle Nachdem Sie die logischen Netzwerkverbindungen zwischen zwei PROFIBUS-Geräten konfiguriert haben, können Sie die Parameter für die PROFIBUS-Schnittstellen konfigurieren. Hierfür klicken Sie auf das violettfarbene PROFIBUS-Feld am Modul CM 1243-5. Daraufhin zeigt das Register "Eigenschaften" im Inspektorfenster die PROFIBUSSchnittstelle an.
Kommunikation 11.3 PROFIBUS ● Adresse 127: Reserviert für Broadcast-Meldungen an alle Geräte im Netzwerk; darf keinen betriebsfähigen Geräten zugewiesen werden Deshalb liegen die Adressen, die für betriebsfähige PROFIBUS-Geräte verwendet werden können, im Bereich von 2 bis 125. Wählen Sie im Eigenschaftsfenster den Eintrag "PROFIBUS-Adresse". STEP 7 zeigt den Konfigurationsdialog für die PROFIBUS-Adresse an, in dem Sie die PROFIBUS-Adresse des Geräts zuweisen.
Kommunikation 11.3 PROFIBUS 11.3.4 Anweisungen für die dezentrale Peripherie Weitere Informationen zur Verwendung der Anweisungen für die dezentrale Peripherie mit diesen Kommunikationsnetzwerken finden Sie unter "Dezentrale Peripherie (PROFINET, PROFIBUS oder AS-i)" (Seite 395). 11.3.5 Diagnoseanweisungen Weitere Informationen zur Verwendung dieser Anweisungen mit diesen Kommunikationsnetzwerken finden Sie unter "Diagnose (PROFINET oder PROFIBUS): Diagnoseanweisungen" (Seite 451). 11.3.
Kommunikation 11.4 ASi 11.4 ASi Das S7-1200 AS-i Master CM 1243-2 ermöglicht die Anbindung eines AS-i-Netzwerks an eine S7-1200 CPU. Die Aktor-/Sensorschnittstelle bzw. AS-i ist ein Netzwerkverbindungssystem für einen Master auf der niedrigsten Stufe in einem Automatisierungssystem. Das CM 1243-2 dient als AS-iMaster im Netzwerk. Mit einem einfachen AS-i-Kabel können Sensoren und Aktoren (AS-iSlaves) über das CM 1243-2 mit der CPU verbunden werden.
Kommunikation 11.4 ASi Hinweis Es ist empfehlenswert, die AS-i CM-Firmware stets auf dem neuesten Stand zu halten (http://support.automation.siemens.com/WW/view/de/43416171). Die aktuelle Firmware finden Sie auf der Siemens-Website "Service & Support". 11.4.1 AS-i-Master und -Slavegeräte konfigurieren Der AS-i-Master CM 1243-2 ist als Kommunikationsmodul in das S7-1200 Automatisierungssystem integriert.
Kommunikation 11.4 ASi Wählen Sie anschließend in der Liste der Bestellnummern "3RG9 001-0AA00" (AS-i SM-U, 4DI) aus und fügen Sie den Slave mit den Merkmalen "E/A-Modul, kompakt, digital, Eingang" wie in der folgenden Abbildung gezeigt ein. Tabelle 11- 59 AS-i-Slave zur Gerätekonfiguration hinzufügen AS-i-Slave stecken 11.4.1.
Kommunikation 11.4 ASi 11.4.1.4 Einem AS-i-Slave eine AS-i-Adresse zuweisen AS-i-Slaveschnittstelle konfigurieren Um Parameter für die AS-i-Schnittstelle zu konfigurieren, klicken Sie auf das gelbe AS-i-Feld am AS-i-Slave. Daraufhin zeigt das Register "Eigenschaften" im Inspektorfenster die AS-iSchnittstelle an. ① AS-i-Port AS-i-Slaveadresse zuweisen In einem AS-i-Netzwerk wird jedem Gerät eine AS-i-Slaveadresse zugewiesen. Diese Adresse kann im Bereich von 0 bis 31 liegen.
Kommunikation 11.4 ASi Im folgenden Beispiel wurden drei AS-i-Geräten die Adressen "1" (Standardgerät), "2A" (Gerät vom Typ A/B-Knoten) und "3" (Standardgerät) zugewiesen: ① ② ③ AS-i-Slaveadresse 1; Gerät: AS-i SM-U, 4DI; Bestellnummer: 3RG9 001-0AA00 AS-i-Slaveadresse 2A; Gerät: AS-i 8WD44, 3DO, A/B; Artikelnummer: 8WD4 428-0BD AS-i-Slaveadresse 3; Gerät: AS-i SM-U, 2DI/2DO; Artikelnummer: 3RG9 001-0AC00 Geben Sie hier die AS-i-Slaveadresse ein: S7-1200 Automatisierungssystem 1014 Systemhandbuch, V4.
Kommunikation 11.4 ASi Tabelle 11- 61 Parameter für die AS-i-Schnittstelle Parameter Beschreibung Netzwerk Name des Netzwerks, mit dem das Gerät verbunden ist. Adresse(n) Zugewiesene AS-i-Adresse für das Slavegerät im Bereich von 1(A oder B) bis 31(A oder B) für insgesamt bis zu 62 Slavegeräte S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
Kommunikation 11.4 ASi 11.4.2 Datenaustausch zwischen dem Anwenderprogramm und AS-i-Slaves 11.4.2.1 STEP 7 Basic konfigurieren Der AS-i-Master reserviert einen 62 Byte großen Datenbereich im E/A-Bereich der CPU. Der Zugriff auf die Digitaldaten erfolgt hier in Byte. Für jeden Slave gibt es ein Byte Eingangsund ein Byte Ausgangsdaten. Die Zuweisung der AS-i-Verbindungen der digitalen AS-i-Slaves zu den Datenbits des zugewiesenen Bytes wird im Inspektorfenster des AS-i-Mastermoduls CM 1243-2 angezeigt.
Kommunikation 11.4 ASi 11.4.2.2 Slaves mit STEP 7 konfigurieren Digitale AS-i-Werte übertragen Die CPU greift im zyklischen Betrieb über den AS-i-Master CM1243-2 auf die digitalen Eingänge und Ausgänge der AS-i-Slaves zu. Der Zugriff auf die Daten erfolgt über E/AAdressen oder mittels Datensatzübertragung. ① ② ③ AS-i-Slaveadresse 1 AS-i-Slaveadresse 2A AS-i-Slaveadresse 3 Der Zugriff auf die Digitaldaten erfolgt hier in Bytes (mit anderen Worten: jedem digitalen ASi-Slave ist ein Byte zugeordnet).
Kommunikation 11.4 ASi Dem Digitaleingabemodul (AS-i SM-U, 4DI) im AS-i-Netzwerk oben wurde die Slaveadresse 1 zugewiesen. Wenn Sie auf das Digitaleingabemodul klicken, wird in den "Eigenschaften" des Geräts im Register "AS-Schnittstelle" die Slaveadresse wie im Folgenden angezeigt: Dem Digitaleingabemodul (AS-i SM-U, 4DI) im AS-i-Netzwerk oben wurde die E/A-Adresse 2 zugewiesen.
Kommunikation 11.4 ASi Analoge AS-i-Werte übertragen Wenn Sie einen AS-i-Slave in STEP 7 als analogen Slave konfiguriert haben, können Sie über das Prozessabbild der CPU auf die analogen Daten dieses AS-i-Slaves zugreifen. Wenn Sie den analogen Slave nicht in STEP 7 konfiguriert haben, können Sie nur über die azyklischen Funktionen (Datensatzschnittstelle) auf die Daten des AS-i-Slaves zugreifen.
Kommunikation 11.4 ASi 11.4.4 Mit AS-i-Online-Werkzeugen arbeiten Betriebsarten der AS-i online ändern Sie müssen online gehen, um die Betriebsarten der AS-i anzuzeigen und zu ändern. Um online zu gehen, müssen Sie zunächst das AS-i-Mastermodul CM1243-2 auswählen und die "Gerätekonfiguration" aufrufen. Klicken Sie dann in der Symbolleiste auf die Schaltfläche "Online gehen". Wählen Sie dann im Menü "Online" den Befehl "Online und Diagnose".
Kommunikation 11.4 ASi Die AS-i-Slaveadresse können Sie im Feld "AS-i-Adresse festlegen" ändern. Ein neuer Slave, dem noch keine Adresse zugewiesen wurde, hat immer die Adresse 0. Er wird vom Master als neuer Slave ohne Adresszuweisung erkannt und wird erst nach Zuweisung einer Adresse in die normale Kommunikation einbezogen. Konfigurationsfehler Wenn die gelbe LED "CER" leuchtet, liegt ein Fehler in der Gerätekonfiguration des AS-iSlaves vor.
Kommunikation 11.5 S7-Kommunikation 11.5 S7-Kommunikation 11.5.1 GET und PUT (Aus remoter CPU auslesen und schreiben) Mittels der Anweisungen GET und PUT können Sie mit S7-CPUs über PROFINET- und PROFIBUS-Verbindungen kommunizieren.
Kommunikation 11.5 S7-Kommunikation Tabelle 11- 62 Anweisungen GET und PUT KOP/FUP SCL "GET_DB"( req:=_bool_in_, ID:=_word_in_, ndr=>_bool_out_, error=>_bool_out_, status=>_word_out_, addr_1:=_remote_inout_, [...addr_4:=_remote_inout_,] rd_1:=_variant_inout_ [,...rd_4:=_variant_inout_]); Beschreibung "PUT_DB"( req:=_bool_in_, ID:=_word_in_, done=>_bool_out_, error=>_bool_out_, status=>_word_out_, addr_1:=_remote_inout_, [...addr_4:=_remote_inout_,] sd_1:=_variant_inout_, [....
Kommunikation 11.5 S7-Kommunikation Tabelle 11- 63 Datentypen für die Parameter Parameter und Datentyp Datentyp Beschreibung REQ Input Bool Die Anweisung wird durch eine steigende Flanke (0 nach 1) gestartet. ID Input CONN_PRG (Word) S7 Verbindungs-ID (Hex) NDR (GET) Output Bool Neue Daten bereit: DONE (PUT) Output Bool ERROR Output Bool STATUS Output Word • 0: Die Anforderung wurde noch nicht gestartet oder läuft noch. • 1: Der Auftrag wurde erfolgreich beendet.
Kommunikation 11.5 S7-Kommunikation Sie müssen sicherstellen, dass Länge (Anzahl der Bytes) und Datentypen der Parameter ADDR_x (entfernte CPU) und RD_x oder SD_x (lokale CPU) übereinstimmen. Die Zahl nach der Kennung "Byte" ist die Anzahl von Bytes, die vom Parameter ADDR_x, RD_x oder SD_x angegeben wird. Hinweis Die Gesamtzahl der von einer Anweisung GET empfangenen Bytes bzw. die Gesamtzahl der von einer Anweisung PUT gesendeten Bytes ist begrenzt.
Kommunikation 11.5 S7-Kommunikation Die Parameter ERROR und STATUS liefern Informationen zum Zustand der Lese- (GET) oder Schreibanweisung (PUT). Tabelle 11- 64 Fehlerinformation ERROR STATUS (dezimal) Beschreibung 0 11 • Der neue Auftrag kann nicht wirksam werden, weil der vorherige Auftrag noch nicht beendet ist. • Der Auftrag wird nun in einer Prioritätsklasse mit geringerer Priorität verarbeitet. 0 25 Kommunikation gestartet. Auftrag wird bearbeitet.
Kommunikation 11.5 S7-Kommunikation 11.5.2 S7-Verbindung erstellen Verbindungsmechanismen Um mit Hilfe der Anweisungen PUT/GET mit entfernten Teilnehmern zu kommunizieren, benötigt der Benutzer entsprechende Rechte. Die Option "Zugriff über PUT/GET-Kommunikation erlauben" ist standardmäßig nicht aktiviert. Der Lese- und Schreibzugriff auf CPU-Daten ist dann nur mit Kommunikationsverbindungen möglich, die für die lokale CPU und für den entfernten Teilnehmer konfiguriert bzw. programmiert werden müssen.
Kommunikation 11.5 S7-Kommunikation 11.5.3 Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren Allgemeine Parameter konfigurieren Sie legen die Kommunikationsparameter im Dialog "Eigenschaften" der Kommunikationsanweisung fest. Dieser Dialog wird am unteren Ende der Seite angezeigt, wenn Sie einen Teil der Anweisung selektiert haben. Weitere Informationen finden Sie unter "Gerätekonfiguration: Verbindungspfad zwischen lokaler und Partner-CPU konfigurieren (Seite 834)".
Kommunikation 11.5 S7-Kommunikation Im Inspektorfenster werden die Eigenschaften der Verbindung angezeigt, wenn Sie einen Teil der Anweisung auswählen. Sie können die Kommunikationsparameter über das Register "Konfiguration" im Dialog "Eigenschaften" der Kommunikationsanweisung konfigurieren. Hinweis Die GET/PUT-Funktion ist im Programm einer CPU ab V4.1 nicht automatisch aktiviert Die GET/PUT-Funktion im Programm einer CPU V3.0 ist in einer CPU ab V4.1 automatisch aktiviert.
Kommunikation 11.5 S7-Kommunikation Tabelle 11- 65 Verbindungsparameter: Allgemeine Definitionen Parameter Verbindungsparameter: Allgemein Definition Endpunkt "Lokaler Endpunkt": Name der lokalen CPU "Partner-Endpunkt": Name der Partner-CPU (dezentral) Hinweis: In der Klappliste "Partner-Endpunkt" zeigt das System alle potenziellen S7-Verbindungspartner des aktuellen Projekts sowie die Option "Nicht spezifiziert" an.
Kommunikation 11.5 S7-Kommunikation Parameter Verbindungsname Der Verbindungsname lässt sich über ein besonderes Bedienelement, den Dialog "Verbindungsübersicht", bearbeiten. In diesem Dialog werden alle verfügbaren S7Verbindungen angezeigt, die als Alternative für die aktuelle GET/PUT-Kommunikation ausgewählt werden können. Sie können in dieser Tabelle eine vollständig neue Verbindung anlegen.
Kommunikation 11.5 S7-Kommunikation Für die Anweisung GET oder PUT wird im Inspektorfenster automatisch das Register "Eigenschaften" mit den folgenden Menüoptionen angezeigt: ● "Konfiguration" ● "Verbindungsparameter" PROFINET S7-Verbindung konfigurieren Wählen Sie für den "Partner-Endpunkt" die Option "PLC_3" aus. S7-1200 Automatisierungssystem 1032 Systemhandbuch, V4.2.
Kommunikation 11.5 S7-Kommunikation Das System reagiert mit den folgenden Änderungen: Tabelle 11- 66 Verbindungsparameter: Allgemeine Werte Parameter Verbindungsparameter: Allgemein Definition Endpunkt "Lokaler Endpunkt" enthält "PLC_1" (schreibgeschützt). Das Feld "Partner-Endpunkt" enthält "PLC_3[CPU319-3PN/DP]": Schnittstelle • Die Farbe wechselt von Rot nach Weiß. • Das "Partner"-Gerätebild wird angezeigt.
Kommunikation 11.5 S7-Kommunikation Vollständige PROFINET S7-Verbindung In der "Netzsicht" wird in der Tabelle "Verbindungen" zwischen "PLC_1" und "PLC_3" eine bidirektionale S7-Verbindung angezeigt. PROFIBUS S7-Verbindung konfigurieren Wählen Sie für den "Partner-Endpunkt" die Option "PLC_3" aus. S7-1200 Automatisierungssystem 1034 Systemhandbuch, V4.2.
Kommunikation 11.5 S7-Kommunikation Das System reagiert mit den folgenden Änderungen: Tabelle 11- 67 Verbindungsparameter: Allgemeine Werte Parameter Verbindungsparameter: Allgemein Definition Endpunkt "Lokaler Endpunkt" enthält "PLC_1" (schreibgeschützt). Das Feld "Partner-Endpunkt" enthält "PLC_3[CPU319-3PN/DP]": Schnittstelle • Die Farbe wechselt von Rot nach Weiß. • Das "Partner"-Gerätebild wird angezeigt.
Kommunikation 11.5 S7-Kommunikation Vollständige PROFIBUS S7-Verbindung In der "Netzsicht" wird in der Tabelle "Verbindungen" zwischen "PLC_1" und "PLC_3" eine unidirektionale S7-Verbindung angezeigt. S7-1200 Automatisierungssystem 1036 Systemhandbuch, V4.2.
Kommunikation 11.6 Was tun, wenn kein Zugriff auf die CPU über die IP-Adresse möglich ist 11.6 Was tun, wenn kein Zugriff auf die CPU über die IP-Adresse möglich ist Wenn Sie die CPU nicht über die IP-Adresse erreichen, können Sie eine (temporäre) Not-IPAdresse für die CPU einstellen. Über die Not-IP-Adresse können Sie die Verbindung mit der CPU wiederherstellen, um eine Gerätekonfiguration mit einer gültigen IP-Adresse zu laden.
Kommunikation 11.6 Was tun, wenn kein Zugriff auf die CPU über die IP-Adresse möglich ist S7-1200 Automatisierungssystem 1038 Systemhandbuch, V4.2.
Webserver 12 Der Webserver der S7-1200 bietet Webseitenzugriff auf Daten über Ihre CPU und auf Prozessdaten. Sie können die S7-1200 Webseiten über einen PC oder ein Mobilgerät aufrufen. Bei Geräten mit kleinem Display unterstützt der Webserver eine Sammlung von Basisseiten (Seite 1050).
Webserver ● Dateibrowser (Seite 1075) - Browser für in der CPU oder auf einer Memory Card gespeicherte Dateien, z. B. Datenprotokolle oder Rezepte ● Anmeldung (Seite 1051) - Anmeldung als anderer Nutzer oder Abmeldung. Diese Seiten sind in die S7-1200 CPU integriert und stehen auf Englisch, Deutsch, Französisch, Spanisch, Italienisch und in vereinfachtem Chinesisch zur Verfügung.
Webserver 12.1 Webserver aktivieren ● Comfort Panels – TP700 bis TP2200 – KP400 bis KP1500 – KTP400 – TP700 Comfort Outdoor ● Mobile Panels – Gen 2 KTP700[F], KTP900[F] Informationen zu browserspezifischen Einschränkungen, die sich auf die Anzeige von Standard- oder Benutzer-Webseiten auswirken können, finden Sie im Abschnitt Einschränkungen (Seite 1125). 12.1 Webserver aktivieren Sie aktivieren den Webserver in STEP 7 über die Gerätekonfiguration der CPU, zu der Sie eine Verbindung herstellen möchten.
Webserver 12.1 Webserver aktivieren WARNUNG Nicht berechtigter Zugriff auf die CPU über den Webserver Nicht berechtigter Zugriff auf die CPU oder das Einstellen von ungültigen Werten für PLCVariablen kann den Prozessbetrieb stören und zu lebensgefährlichen Verletzungen und/oder Sachschäden führen.
Webserver 12.2 Konfigurieren von Webserver-Benutzern 12.2 Konfigurieren von Webserver-Benutzern Sie können Benutzer mit verschiedenen Berechtigungsstufen konfigurieren, die über den Webserver Zugriff auf die CPU erhalten. Um Webserver-Benutzer und die zugehörigen Rechte zu konfigurieren, gehen Sie wie folgt vor: 1. Wählen Sie die CPU in der Gerätekonfiguration aus. 2. Wählen Sie im Inspektorfenster unter den CPU-Eigenschaften "Webserver" aus und aktivieren Sie den Webserver (Seite 1041). 3.
Webserver 12.2 Konfigurieren von Webserver-Benutzern Wenn Sie eine benutzerdefinierte Webseite als Einstiegsseite (Seite 1099) für den Webserver festgelegt haben, benötigt der Benutzer "Jeder" das Recht "Benutzerdefinierte Webseiten öffnen". WARNUNG Zugriff auf den Webserver Werden dem Benutzer "Jeder" Rechte erteilt, ist es möglich, sich ohne Passwort am Webserver anzumelden.
Webserver 12.3 Über den PC auf die Webseiten zugreifen 12.3 Über den PC auf die Webseiten zugreifen Auf die S7-1200 Standard-Webseiten können Sie mit einem PC oder einem mobilen Gerät über die IP-Adresse der S7-1200 CPU oder die IP-Adresse eines über Webserver aktivierten CP (Seite 1048) im lokalen Baugruppenträger zugreifen. Um über einen PC auf die S7-1200 Standard-Webseiten zuzugreifen, gehen Sie folgendermaßen vor: 1.
Webserver 12.3 Über den PC auf die Webseiten zugreifen ● https://ww.xx.yy.zz/filebrowser.html- Browser für den Zugriff auf Datenprotokoll- oder Rezeptdateien (Seite 1075), die in der CPU oder auf einer Speicherkarte gespeichert sind ● https://ww.xx.yy.zz/index.html -Einführungsseite für den Einstieg in die StandardWebseiten ● https://ww.xx.yy.zz/login.html - Seite zum Anmelden (Seite 1051), sofern gegenwärtig kein Benutzer angemeldet ist; andernfalls ist die Seite leer. Wenn Sie beispielsweise "https://ww.
Webserver 12.4 Über ein mobiles Gerät auf die Webseiten zugreifen 12.4 Über ein mobiles Gerät auf die Webseiten zugreifen Für den Zugriff auf eine S7-1200 von einem mobilen Gerät aus müssen Sie Ihre PLC an ein Netzwerk mit Internetverbindung oder an einen lokalen Wireless Access Point anschließen. Für den Anschluss eines mobilen Geräts an den S7-1200 PLC-Webserver verwenden Sie ein sicheres VPN (Virtual Private Network).
Webserver 12.5 Verwenden eines CP-Moduls für den Zugriff auf die Webseiten Für den lokalen Zugriff über einen lokalen Wireless-Zugangspunkt geben Sie die IP-Adresse der S7-1200 CPU oder eines über Webserver aktivierten CP (Seite 1048) im lokalen Baugruppenträger ein: ● http://ww.xx.yy.zz oder https://ww.xx.yy.zz für den Zugriff auf die Standard-Webseiten (Seite 1049) ● http://ww.xx.yy.zz/basic oder https://ww.xx.yy.
Webserver 12.6 Standard-Webseiten 12.6 Standard-Webseiten 12.6.1 Aufbau der Standard-Webseiten Alle S7-1200 Standard-Webseiten haben einen gemeinsamen Aufbau und verfügen über Links für die Navigation und Bedienelemente für die Seite. Unabhängig davon, ob Sie die Seite auf einem PC oder einem mobilen Gerät aufrufen, hat jede Seite den gleichen Inhalt. Aufbau und Navigationselemente sind jedoch je nach Bildschirmgröße und Auflösung des Geräts unterschiedlich.
Webserver 12.6 Standard-Webseiten Hinweis Standard-Webseiten von CP-Modulen Bestimmte CP-Module (Seite 1048) bieten Standard-Webseiten, die vom Aussehen und der Funktionalität her den Standard-Webseiten der S7-1200 CPU ähnlich sind. Eine Beschreibung der Standard-Webseiten Ihres CP finden Sie in der Dokumentation des CPModuls. 12.6.2 Basisseiten Der Webserver bietet Basisseiten zur Verwendung auf Mobilgeräten.
Webserver 12.6 Standard-Webseiten 12.6.3 Anmeldung und Benutzerrechte Auf dem PC bietet jede der Standard-Webseiten ein Anmeldefenster oberhalb des Navigationsbereichs. Aufgrund von Platzbeschränkungen bieten die Basis-Webseiten eine eigene Anmeldeseite.
Webserver 12.6 Standard-Webseiten Anmelden STEP 7 bietet den Standardbenutzer "Jeder" ohne Passwort. Dieser Benutzer hat standardmäßig keine zusätzlichen Rechte und kann nur die Standard-Webseiten Start (Seite 1056) und Einführung (Seite 1055) öffnen. Sie können dem Benutzer "Jeder" jedoch wie allen anderen von Ihnen konfigurierten Benutzern zusätzliche Rechte erteilen: WARNUNG Zugriff auf den Webserver Werden dem Benutzer "Jeder" Rechte erteilt, ist es möglich, sich ohne Passwort am Webserver anzumelden.
Webserver 12.6 Standard-Webseiten Wenn Sie bestimmte Aktionen durchführen möchten, z. B. die Steuerung in einen anderen Betriebszustand versetzen, Werte in den Speicher schreiben oder die Firmware der CPU aktualisieren, brauchen Sie die dafür erforderlichen Rechte.
Webserver 12.6 Standard-Webseiten Abmelden Zum Abmelden klicken Sie auf einem PC oder einem Mobilgerät mit großem Display einfach auf einer beliebigen Seite auf den Link "Abmelden". Navigieren Sie über die Basisseiten von der Startseite zur Seite für die An- und Abmeldung und tippen Sie auf die Schaltfläche "Abmelden". Nachdem Sie sich abgemeldet haben, können Sie nur die Standard-Webseiten gemäß den Rechten des Benutzers "Jeder" aufrufen und anzeigen.
Webserver 12.6 Standard-Webseiten 12.6.4 Einleitung Die Einführungsseite ist die Begrüßungsseite für den Einstieg in die S7-1200 StandardWebseiten. Auf dieser Seite klicken Sie auf "Enter", um die S7-1200 Standard-Webseiten aufzurufen. Oben auf der Seite finden Sie Links zu nützlichen Websites von Siemens sowie einen Link, um das Siemens-Sicherheitszertifikat herunterzuladen (Seite 1127).
Webserver 12.6 Standard-Webseiten 12.6.5 Start Die Startseite zeigt eine Darstellung der CPU oder des CP an, mit der/dem Sie verbunden sind, und führt allgemeine Informationen über das Gerät sowie die Version des TIA Portals auf, mit der Sie das Projekt in die CPU geladen haben. Für die CPU können Sie über die Schaltflächen den Betriebszustand ändern und die LEDs steuern, sofern Sie sich mit dem Recht (Seite 1043) "Betriebszustand ändern" angemeldet (Seite 1051) haben.
Webserver 12.6 Standard-Webseiten 12.6.
Webserver 12.6 Standard-Webseiten Register "Programmschutz" Das Register "Programmschutz" enthält die folgenden Informationen: ● Knowhow-Schutz (Seite 223): Zeigt an, ob Sie für die Programmbausteine in STEP 7 Knowhow-Schutz konfiguriert haben. ● Bindung (Seite 224): Zeigt an, ob Sie das Programm entweder an die CPU oder an die SIMATIC Memory Card gebunden haben.
Webserver 12.6 Standard-Webseiten Register "Speicher" Register "Fehlersicher" Weitere Informationen zur Diagnoseseite des Registers "Fehlersicher" finden Sie unterS71200 Handbuch Funktionale Sicherheit (https://support.industry.siemens.com/cs/ww/de/view/104547552). S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
Webserver 12.6 Standard-Webseiten 12.6.7 Diagnosepuffer Die Diagnosepufferseite zeigt Diagnoseereignisse an. Das neueste Ereignis wird mit Nummer 1 ganz oben und das älteste Ereignis mit Nummer 50 angezeigt. Im linken Auswahlfeld können Sie wählen, welcher Bereich von Diagnosepuffereinträgen angezeigt werden soll, entweder die Einträge 1 bis 25 oder die Einträge 26 bis 50. Im rechten Auswahlfeld können Sie wählen, ob die Uhrzeiten in UTC oder lokaler PLC-Zeit angezeigt werden sollen.
Webserver 12.6 Standard-Webseiten 12.6.8 Modulinformationen Die Modulinformationsseite zeigt Informationen zu allen Modulen im lokalen Baugruppenträger an. Im oberen Abschnitt der Seite wird ein Überblick über die Module basierend auf der Gerätekonfiguration in STEP 7 angezeigt, im unteren Abschnitt werden Zustand, Identifikation und Firmware-Informationen des ausgewählten Moduls basierend auf dem entsprechend angeschlossenen Modul angezeigt.
Webserver 12.6 Standard-Webseiten Statussymbole für die Module Für jedes Modul wird in der Statusspalte im oberen Bereich ein Symbol angezeigt, das den Status des Moduls meldet: Symbol Bedeutung Keine Störung Deaktiviert Wartung notwendig Wartung angefordert Fehler Die CPU kann das Modul oder Gerät nicht erreichen (bei anderen Geräten als der CPU). Die CPU hat eine Verbindung zum Gerät hergestellt, doch der Modulstatus ist unbekannt (bei anderen Geräten als der CPU).
Webserver 12.6 Standard-Webseiten Modulinformationen: Register "Identifikation" Im Register "Identifikation" werden die Identifikations- und Wartungsdaten (Identification and Maintenance, I&M) des ausgewählten Moduls angezeigt. Wenn Sie im oberen Bereich auf ein F-E/A-Modul klicken, wird im unteren Bereich ein Register "Sicherheit" angezeigt. In diesem Register werden spezifische Daten zum ausgewählten Modul wie unter S7-1200 Handbuch Funktionale Sicherheit (https://support.industry.siemens.
Webserver 12.6 Standard-Webseiten Modulinformationen: Register "Firmware" Im Register "Firmware" der Modulinformationsseite werden Informationen über die Firmware des ausgewählten Moduls angezeigt. Wenn Sie das Recht (Seite 1043) zur Durchführung eines Firmware-Updates haben, können Sie auch die Firmware der CPU oder anderer Module im lokalen Baugruppenträger, die Firmware-Updates unterstützen, aktualisieren.
Webserver 12.6 Standard-Webseiten Hinweis Mögliche Probleme bei Durchführung eines Firmware-Updates über den Webserver Falls es bei Durchführung eines Firmware-Updates über den Webserver zu Kommunikationsstörungen kommt, zeigt der Webbrowser möglicherweise eine Meldung an, in der Sie gefragt werden, ob Sie die aktuelle Seite verlassen möchten oder nicht. Um mögliche Probleme zu vermeiden, wählen Sie die Option aus, auf der aktuellen Seite zu bleiben.
Webserver 12.6 Standard-Webseiten Register "Statistik" Das Register "Statistik" zeigt eine Statistik der Sende- und Empfangskommunikation an: S7-1200 Automatisierungssystem 1066 Systemhandbuch, V4.2.
Webserver 12.6 Standard-Webseiten Register "Verbindungsressourcen" Das Register "Verbindungsressourcen" zeigt Informationen über die Gesamtanzahl der Verbindungsressourcen an und wie diese den verschiedenen Arten der Kommunikation zugeordnet sind: S7-1200 Automatisierungssystem Systemhandbuch, V4.2.
Webserver 12.6 Standard-Webseiten Register "Verbindungsstatus" Das Register "Verbindungsstatus" zeigt die Verbindungen der CPU und die Verbindungsdetails der ausgewählten Verbindung an. S7-1200 Automatisierungssystem 1068 Systemhandbuch, V4.2.
Webserver 12.6 Standard-Webseiten 12.6.10 Variablenstatus Auf der Seite Variablenstatus können Sie alle E/A oder Speicherdaten in Ihrer CPU anzeigen. Sie können eine direkte Adresse (wie %E0.0), einen PLC-Variablennamen oder eine Variable aus einem spezifischen Datenbaustein eingeben. Bei Datenbausteinvariablen setzen Sie den Bausteinnamen in doppelte Anführungszeichen. Für jeden überwachten Wert können Sie ein Anzeigeformat für die Daten auswählen.
Webserver 12.6 Standard-Webseiten Bei Werten, die häufig beobachten oder bedienen, sollten Sie in Betracht ziehen, stattdessen eine Beobachtungstabelle (Seite 1070) zu verwenden. Hinweis Beachten Sie bei der Nutzung der Standardseite für den Variablenstatus Folgendes: • Setzen Sie alle Zeichenkettenänderungen in einzelne Hochkommata. • Die Seite Variablenstatus kann Variablen beobachten und bedienen, die eines der folgenden Zeichen enthält: &, <, (, +, ,(Komma), .
Webserver 12.6 Standard-Webseiten STEP 7-Konfiguration zur Auswahl von Beobachtungstabellen für den Webserver In der Gerätekonfiguration der CPU in STEP 7 können Sie Beobachtungstabellen, die vom Webserver angezeigt werden sollen, hinzufügen. Für jede Beobachtungstabelle, die Sie in der Liste der vorhandenen Beobachtungstabellen auswählen, weisen Sie entweder Rechte zum Lesen oder zum Lesen/Schreiben zu.
Webserver 12.6 Standard-Webseiten Ändern von Variablen in Beobachtungstabellen über den Webserver Wenn Sie eine Beobachtungstabelle mit der Zugriffsstufe "Lesen/Schreiben" geladen haben und sich am Webserver mit dem Recht (Seite 1043) "Variablen schreiben" angemeldet haben, können Sie Variablenwerte auch genau wie in einer Beobachtungstabelle in STEP 7 ändern.
Webserver 12.6 Standard-Webseiten 12.6.12 Online-Sicherung Auf der Standard-Webseite Online-Sicherung können Sie eine Sicherungskopie des STEP 7-Projekts für den Online-PLC anlegen sowie eine zuvor angelegte Sicherungskopie des PLC wiederherstellen. Vor dem Erstellen oder Wiederherstellen einer Sicherungskopie versetzen Sie den PLC in den Betriebszustand STOP und beenden sämtliche Kommunikation mit dem PLC wie HMI-Zugriff und Webserverzugriff.
Webserver 12.6 Standard-Webseiten PLC sichern Klicken Sie im Bereich PLC-Sicherung der Seite auf die Schaltfläche "Online-Sicherung erstellen", um von dem Projekt, das gegenwärtig im PLC gespeichert ist, eine Sicherungskopie zu erstellen. Für diese Funktion ist das Recht (Seite 1043) "CPU sichern" erforderlich. Wenn sich die CPU im Betriebszustand RUN befindet und Sie sie in den Betriebszustand STOP versetzen müssen, benötigen Sie außerdem das Recht "Betriebszustand ändern". Der PC bzw.
Webserver 12.6 Standard-Webseiten Hinweis Wiederherstellen einer Sicherungskopie, bei der sich die IP-Adresse der CPU unterscheidet Wenn Sie versuchen, eine Sicherungskopie wiederherzustellen, wobei sich die IP-Adresse der CPU in der Sicherungskopie von der IP-Adresse der aktuellen CPU unterscheidet, kann der Webserver die Meldung, dass die Wiederherstellung beendet ist, nicht anzeigen.
Webserver 12.6 Standard-Webseiten Datenprotokolle Über den Ordner "DataLogs" können Sie alle Datenprotokolldateien öffnen. Wenn Sie sich mit dem Recht (Seite 1043) zum Schreiben und Löschen von Dateien angemeldet haben, können Sie Dateien auch löschen, umbenennen oder hochladen. Die Datenprotokolldateien sind im CSV-Dateiformat (durch Komma getrennte Werte) gespeichert. Sie können sie auf Ihrem Computer speichern oder in Microsoft Excel (Standard) oder einem anderen Programm öffnen.
Webserver 12.6 Standard-Webseiten 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 CPURessourcen 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.
Webserver 12.7 Benutzerdefinierte Webseiten Weitere Informationen Hinweis Dateinamenskonventionen Damit der Webserver mit den Datenprotokoll- und Rezeptdateien arbeiten kann, verwenden Sie Zeichen aus dem ASCII-Zeichensatz. Die Zeichen \ / : * ? " < > | und das Leerzeichen sind nicht zulässig. Wenn Ihre Dateien mit dieser Benennungskonvention nicht übereinstimmen, kann der Webserver Fehler bei Vorgängen wie z. B. Hochladen, Löschen oder Umbenennen von Dateien haben.
Webserver 12.7 Benutzerdefinierte Webseiten Sie erstellen benutzerdefinierte Webseiten mit einem HTML-Editor Ihrer Wahl und laden die Seiten in die CPU, von wo aus sie über das Menü der Standard-Webseiten aufrufbar sind.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.1 HTML-Seiten anlegen Sie können das Softwarepaket Ihrer Wahl nutzen, um Ihre eigenen HTML-Seiten für den Webserver anzulegen. Stellen Sie sicher, dass Ihr HTML-Code die HTML-Standards des W3C (World Wide Web Consortium) erfüllt. STEP 7 führt keine Überprüfung Ihrer HTMLSyntax durch.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.
Webserver 12.7 Benutzerdefinierte Webseiten Überblick über die AWP-Befehle Genauere Erläuterungen zu den einzelnen AWP-Befehlen finden Sie in den nächsten Abschnitten, hier zunächst ein Überblick über die Befehle: Variablen lesen :=: Variablen schreiben Dieser AWP-Befehl deklariert lediglich, dass in die Variable der Namensklausel geschrieben werden kann.
Webserver 12.7 Benutzerdefinierte Webseiten Parameter Beispiele Die zu lesende Variable, bei der es sich um eine PLC-Variable aus Ihrem STEP 7Programm, eine Datenbausteinvariable, E/A oder eine Adresse im Speicher handeln kann. Setzen Sie bei Speicher- und E/A-Adressen oder Aliasnamen (Seite 1095) den Variablennamen nicht in Anführungszeichen. Setzen Sie bei PLCVariablen den Variablennamen in doppelte Anführungszeichen.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.2.2 Variablen schreiben Benutzerdefinierte Webseiten können Daten in die CPU schreiben. Hierfür geben Sie über einen AWP-Befehl eine Variable in der CPU an, in die über die HTML-Seite geschrieben werden soll. Die Variable muss über den PLC-Variablennamen oder den Variablennamen des Datenbausteins angegeben werden. Sie können in einer Anweisung mehrere Variablennamen deklarieren.
Webserver 12.7 Benutzerdefinierte Webseiten Beispiele mit HTML-Eingabefeldern
In diesem Beispiel schreibt die Webseite den Wert der HTTP-Sondervariablen "SERVER:current_user_id" in die PLC-Variable "SERVER:current_user_id". In diesem Beispiel schreibt die Webseite den Wert der HTTP-Sondervariablen "SERVER:current_user_id" in die PLC-Variable "Meine_Benutzer-ID".Webserver 12.7 Benutzerdefinierte Webseiten Beispiele <-- AWP_In_Variable Name='SERVER:current_user_id' Use='"Data_Block_10".server_user' --> In diesem Beispiel wird die Sondervariable SERVER:current_user_id in die Variable "server_user" im Datenbaustein "Data_Block_10" geschrieben. <-- AWP_Out_Variable Name='Weight' Use='"Data_Block_10".Tank_data.Weight' --> In diesem Beispiel kann der Wert in Datenbaustein-Strukturelement Data_Block_10.Tank_data.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.2.7 CPU-Variablen mit einem Enum-Typ referenzieren Sie können eine Variable in der CPU einem Enum-Typ zuweisen. Diese Variable kann an anderer Stelle in Ihren benutzerdefinierten Webseiten in einer Leseoperation (Seite 1082) oder einer Schreiboperation (Seite 1084) verwendet werden. Bei einer Leseoperation ersetzt der Webserver den aus der CPU gelesenen numerischen Wert durch den entsprechenden Enum-Textwert.
Webserver 12.7 Benutzerdefinierte Webseiten Beispiel für die Verwendung beim Schreiben einer Variablen ...
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.2.8 Fragmente erstellen STEP 7 konvertiert und speichert benutzerdefinierte Webseiten als Steuerungs-DB und DBFragmente, wenn Sie in den CPU-Eigenschaften für den Webserver auf "Bausteine generieren" klicken. Sie können spezifische Fragmente für spezifische Seiten oder für Abschnitte spezifischer Seiten einrichten. Sie können diese Fragmente mit dem AWP-Befehl "Start_Fragment" durch einen Namen und eine Nummer kennzeichnen.
Webserver 12.7 Benutzerdefinierte Webseiten Manuelle Fragmente Wenn Sie ein manuelles Fragment für eine benutzerdefinierte Webseite oder einen Teil einer Seite anlegen, muss Ihr STEP 7-Programm steuern, wann das Fragment gesendet wird. Das STEP 7-Programm muss im Steuer-DB für eine benutzerdefinierte Seite unter manueller Steuerung entsprechende Parameter festlegen und dann die WWW-Anweisung mit dem geänderten Steuer-DB aufrufen.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.2.10 Definitionen verbinden Wenn Sie die Variablen für die Verwendung in Ihren benutzerdefinierten Webseiten deklarieren, können Sie eine Variablendeklaration mit einem Alias für die Variable (Seite 1089) verbinden. Sie können außerdem mehrere In_Variables in einer Anweisung und mehrere Out_Variables in einer Anweisung verbinden. Beispiele 12.7.2.
Webserver 12.7 Benutzerdefinierte Webseiten Tabelle 12- 1 Beispiele für zu lesende Variablen Datenbausteinname Variablenname -/- ABC:DEF nicht zutreffend T\ nicht zutreffend A \B 'C :D nicht zutreffend a :=Sondervariable: :="T\\": :=Weitere_S
Webserver 12.7 Benutzerdefinierte Webseiten Tabelle 12- 2 Beispiele für Namensklauseln Datenbausteinname Variablenname -/- ABC'DEF nicht zutreffend A \B 'C :D Datenbaustein_1 Variable_1 Datenbaustein_1 ABC'DEF Datenbaustein_1 A \B 'C :D DB A' B C D$ E Variable Möglichkeiten für Namensklauseln Name='"ABC\'DEF"' Name='"A \\B \'C :D"' Name='"Datenbaustein_1".Tag_1' Name='"Datenbaustein_1".ABC\'DEF' Name='"Datenbaustein_1".A \\B \'C :D' Name='"DB A\' B C D$ E".
Webserver 12.7 Benutzerdefinierte Webseiten 7. Geben Sie einen Namen für Ihre Anwendung ein (optional). Der Webserver verwendet den Anwendungsnamen zur weiteren Unterteilung bzw. Gruppierung der Webseiten. Wenn Sie einen Anwendungsnamen eingeben, erstellt der Webserver eine URL für Ihre benutzerdefinierte Seite in folgendem Format: http[s]://ww.xx.yy.zz/awp//.html. Wird kein Anwendungsname eingegeben, lautet die URL http[s]://ww.xx.yy.zz/awp/.html.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.4 Konfigurieren der Einstiegsseite In der Gerätekonfiguration der CPU können Sie eine benutzerdefinierte Webseite als Einstiegsseite für den Zugriff auf den Webserver von einem PC oder einem Mobilgerät zuweisen. Ansonsten wird als Einstiegsseite die Standard-WebseiteEinführung (Seite 1055) angezeigt. Um eine benutzerdefinierte Webseite als Einstiegsseite auszuwählen, gehen Sie wie folgt vor: 1. Wählen Sie die CPU in der Gerätekonfiguration aus. 2.
Webserver 12.7 Benutzerdefinierte Webseiten WWW-Anweisung programmieren Das STEP 7-Programm muss die Anweisung WWW ausführen, damit die benutzerdefinierten Webseiten über die Standard-Webseiten aufrufbar sind. Sie können festlegen, dass die benutzerdefinierten Webseiten nur unter bestimmten Bedingungen entsprechend den Anwendungsvoraussetzungen und Einstellungen verfügbar sind. Dann kann Ihre Programmlogik steuern, wann die Anweisung WWW aufzurufen ist.
Webserver 12.7 Benutzerdefinierte Webseiten Verwendung des Steuer-DBs STEP 7 erstellt den Steuerdatenbaustein, wenn Sie auf die Schaltfläche "Bausteine generieren" klicken. Die Nummer des Steuer-DBs wird in den Eigenschaften der benutzerdefinierten Webseiten angezeigt. Sie finden den Steuer-DB auch im Ordner "Programmbausteine" in der Projektnavigation. Typischerweise verwendet Ihr STEP 7-Programm den Steuer-DB direkt wie über den Vorgang "Bausteine generieren" angelegt, ohne weitere Änderungen.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.7 Zugriff auf die benutzerdefinierten Webseiten Sie rufen die benutzerdefinierten Webseiten über die Standard-Webseiten (Seite 1045) auf. Die Standard-Webseiten zeigen im Navigationsmenü auf der linken Seite einen Link "Anwenderdefinierte Seiten" an. Die Navigation auf den Basisseiten zeigt auch einen Link "Anwenderdefinierte Seiten" an.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.8 Einschränkungen bei benutzerdefinierten Webseiten Die Einschränkungen bei Standard-Webseiten (Seite 1125) gelten auch bei benutzerdefinierten Webseiten. Zudem gibt es bei benutzerdefinierten Webseiten einige spezifische Aspekte. Kapazität des Ladespeichers Ihre benutzerdefinierten Webseiten werden, wenn Sie auf "Bausteine generieren" klicken, zu Datenbausteinen, die Platz im Ladespeicher benötigen.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.9 Beispiel für eine benutzerdefinierte Webseite 12.7.9.1 Webseite zum Beobachten und Steuern einer Windturbine Stellen Sie sich als Beispiel für eine benutzerdefinierte Webseite eine Webseite vor, die dazu dient, eine Windturbine entfernt zu beobachten und zu steuern: Beschreibung In dieser Anwendung ist jede Windturbine des Windparks mit einer S7-1200 zur Steuerung der Turbine ausgestattet.
Webserver 12.7 Benutzerdefinierte Webseiten Verwendete Dateien Dieses Beispiel für eine benutzerdefinierte Webseite besteht aus drei Dateien: ● Windturbine.html: Dies ist die HTML-Seite mit der oben dargestellten Anzeige. Über AWP-Befehle wird auf Steuerungsdaten zugegriffen. ● Windturbine.css: Dies ist das Cascading Style Sheet, das die Formatierungsvorgaben für die HTML-Seite enthält. Die Verwendung eines Cascading Style Sheet ist optional, doch es kann die Entwicklung von HTML-Seiten vereinfachen.
Webserver 12.7 Benutzerdefinierte Webseiten Der nächste Teil der Seite zeigt die atmosphärischen Bedingungen an der Windturbine an. Die E/A am Turbinenstandort liefern die Windgeschwindigkeit, Windrichtung und die aktuelle Temperatur. Dann zeigt die Seite die aus der S7-1200 ausgelesene Leistungsabgabe der Turbine an. Die folgenden Abschnitte ermöglichen die manuelle Steuerung der Turbine, eine Übersteuerung der normalen Automatiksteuerung der S7-1200.
Webserver 12.7 Benutzerdefinierte Webseiten 12.7.9.2 Steuerungsdaten lesen und anzeigen Die HTML-Seite "Remote Wind Turbine Monitor" nutzt zahlreiche AWP-Befehle zum Lesen von Daten aus der Steuerung (Seite 1082), um diese Daten auf der Seite anzuzeigen.
Webserver 12.7 Benutzerdefinierte Webseiten Beispiel für einen HTML-Code Die folgenden Auszüge aus der HTML-Seite "Remote Wind Turbine Monitor" zeigen die Deklaration eines Enum-Typs mit dem Namen "Übersteuerungsstatus" mit den Werten für "Aus" und "Ein" von 0 und 1 und das nachfolgende Festlegen einer Enum-Typreferenz von "Übersteuerungsstatus" für die Boolesche Variable "FreigabeManuelleÜbersteuerung" im Datenbaustein "Datenbaustein_1". , dann kann jede Variable in dem Datenbaustein über die benutzerdefinierte Webseite geschrieben werden. Gehen Sie auf diese Weise vor, wenn Sie möchten, dass alle Variablen in einem Datenbaustein schreibbar sein sollen.
Webserver 12.7 Benutzerdefinierte Webseiten Turbinendrehzahl: Real ÜbersteuerungAusrichtung: Bool Ausrichtung: Real ÜbersteuerungAnstellwinkel: Bool Anstellwinkel: Real Bremsen: Real Die benutzerdefinierte Webseite zeigt aktuelle Werte für die PLCDaten und bietet eine Auswahlliste, um die drei Booleschen Werte mit zugewiesenem Aufzählungstyp festzulegen.
Webserver 12.7 Benutzerdefinierte Webseiten
Windrichtung: | :="Datenbaustein_1".Windrichtung: Grad |
Temperatur: | :="Datenbaustein_1".Temperatur: Grad C |
Leistungsabgabe: | :="Datenbaustein_1". Webserver 12.7 Benutzerdefinierte Webseiten |
Ausrichtung Turbine: | % |
|