Industry Sector, IA&DT SCE Lehrunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (TIA) Siemens Automation Cooperates with Education TIA Portal Modul 010-090 Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 1 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT Passende SCE Trainer Pakete zu diesen Lehrunterlagen SIMATIC S7-1200 AC/DC/RELAIS 6er "TIA Portal" Bestellnr: 6ES7214-1BE30-4AB3 SIMATIC S7-1200 DC/DC/DC 6er "TIA Portal" Bestellnr: 6ES7214-1AE30-4AB3 SIMATIC S7-SW for Training STEP 7 BASIC V11 Upgrade (for S7-1200) 6er "TIA Portal" Bestellnr. 6ES7822-0AA01-4YE0 Bitte beachten Sie, dass diese Trainer Pakete ggf. durch Nachfolge-Pakete ersetzt werden. Eine Übersicht über die aktuell verfügbaren SCE Pakete finden Sie unter: siemens.de/sce/tp Fortbildungen Für regionale Siemens SCE Fortbildungen kontaktieren Sie ihren regionalen SCE Kontaktpartner siemens.de/sce/contact Weitere Informationen rund um SCE siemens.de/sce Verwendungshinweis Die SCE Lehrunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) wurde für das Programm „Siemens Automation Cooperates with Education (SCE)“ speziell zu Ausbildungszwecken für öffentliche Bildungs- und F&E-Einrichtungen erstellt. Die Siemens AG übernimmt bezüglich des Inhalts keine Gewähr. Diese Unterlage darf nur für die Erstausbildung an Siemens Produkten/Systemen verwendet werden. D.h. sie kann ganz oder teilweise kopiert und an die Auszubildenden zur Nutzung im Rahmen deren Ausbildung aushändigt werden. Weitergabe sowie Vervielfältigung dieser Unterlage und Mitteilung ihres Inhalts ist innerhalb öffentlicher Aus- und Weiterbildungsstätten die Zwecke der Ausbildung gestattet. Ausnahmen bedürfen der schriftlichen Genehmigung durch die Siemens AG Ansprechpartner: Herr Roland Scheuerer [email protected]. Zuwiderhandlungen verpflichten zu Schadensersatz. Alle Rechte auch der Übersetzung sind vorbehalten, insbesondere für den Fall der Patentierung oder GM-Eintragung. Der Einsatz für Industriekunden-Kurse ist explizit nicht erlaubt. Einer kommerziellen Nutzung der Unterlagen stimmen wir nicht zu. Wir danken der Fa. Michael Dziallas Engineering und allen Personen für die Unterstützung bei der Erstellung der Lehrunterlage. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 2 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT SEITE: 1. 2. 3. 4. 5. Vorwort ............................................................................................................................................................. 4 Hinweis zur Programmiersprache S7-SCL....................................................................................................... 6 Die Entwicklungsumgebung S7-SCL ............................................................................................................... 7 Beispielaufgabe Tankinhalt .............................................................................................................................. 8 4.1 Aufgabenbeschreibung ............................................................................................................................... 8 4.2 Zuordnungsliste / Variablentabelle ............................................................................................................. 8 4.3 Programmstruktur ....................................................................................................................................... 9 4.4 Schnittstelle des Bausteines berechnung_tankinhalt [FC140] ................................................................. 10 4.5 Lösungshinweis ........................................................................................................................................ 11 Programmierung der Tankinhaltsberechnung für die SIMATIC S7-1200 in S7-SCL ..................................... 12 5.1 Projekt anlegen und Hardware konfigurieren ........................................................................................... 12 5.2 Programm anlegen ................................................................................................................................... 15 5.3 Programm testen ...................................................................................................................................... 22 5.4 Programm erweitern ................................................................................................................................. 25 SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 3 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 1. Vorwort Das Modul SCE_DE_010-090 ist inhaltlich der Lehreinheit ‚Grundlagen der SPS- Programmierung’ zugeordnet und stellt einen Schnelleinstieg in die Programmierung der SIMATIC S7 1200 mit der Programmiersprache S7-SCL mit dem TIA-Portal dar. Grundlagen SPSProgrammierung Module 10, Module 20 Anlagensimulation SIMIT Module 150 Weiterführende Fkt. zur SPS-Programmierung Module 30 Weitere Programmiersprachen Module 40 Sicherheitstechnik Module 80 PROFIBUS Module 60 PROFINET Module 70 Sensortechnik Module 110 AS-Interface Module 50 Prozessvisualisierung (HMI) Module 90 Antriebstechnik Module 100 Lernziel: Der Leser soll in diesem Modul die grundlegenden Funktionen der S7-SCL-Entwicklungsumgebung kennen lernen. Weiterhin sollen Testfunktionen zur Beseitigung logischer Programmierfehler gezeigt werden. Voraussetzungen: Für die erfolgreiche Bearbeitung dieses Moduls wird folgendes Wissen vorausgesetzt: Kenntnisse in der Handhabung von Windows Grundlagen der SPS- Programmierung mit STEP 7 Professional V11 (z.B. Module 010-010 bis 010-040 ) Grundlagenkenntnisse über Hochsprachenprogrammierung wie z.B. Pascal. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 4 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT Benötigte Hardware und Software 1 PC Pentium 4, 1.7 GHz 1 (XP) – 2 (Vista) GB RAM, freier Plattenspeicher ca. 2 GB Betriebssystem Windows XP Professional SP3 / Windows 7 Professional / Windows 7 Enterprise / Windows 7 Ultimate / Windows 2003 Server R2 / Windows Server 2008 Premium SP1, Business SP1, Ultimate SP1 2 Software STEP7 Professional V11 SP2 (Totally Integrated Automation (TIA-) Portal V11) 3 Ethernet- Verbindung zwischen PC und CPU 1214C 4 SPS SIMATIC S7-1200 ab Firmware V2.2, z.B. CPU 1214C mit 14DI/10DO Signalmodul. Die Eingänge müssen auf ein Schaltfeld herausgeführt sein. 2 STEP7 Professional V11SP2 (TIA-Portal) 1 PC 3 Ethernet- Verbindung 4 S7-1200 mit CPU 1214C ab Firmware V2.2 SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 5 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 2. Hinweis zur Programmiersprache S7-SCL S7-SCL (Structured Control Language) ist eine höhere Programmiersprache, die sich an PASCAL orientiert und eine strukturierte Programmierung ermöglicht. Die Sprache entspricht der in der Norm DIN EN-61131-3 (IEC 61131-3) festgelegten Ablaufsprache SFC „Sequential Function Chart“. S7-SCL enthält neben Hochsprachenelementen auch typische Elemente der SPS wie Eingänge, Ausgänge, Zeiten, Merker, Bausteinaufrufe usw. als Sprachelemente. Sie unterstützt das Bausteinkonzept von STEP 7 und ermöglicht daher neben AWL, KOP und FUP die normkonforme Programmierung von Bausteinen. D.h. S7-SCL ergänzt und erweitert die Programmiersoftware STEP 7 mit ihren Programmiersprachen KOP, FUP und AWL. Sie müssen nicht jede Funktion selbst erstellen, sondern können auf vorgefertigte Bausteine wie Systemfunktionen oder Systemfunktionsbausteine zurückgreifen, die im Betriebssystem der Zentralbaugruppe vorhanden sind. Bausteine, die mit S7-SCL programmiert sind, können Sie mit AWL-, KOP- und FUP- Bausteinen mischen. Das bedeutet, dass ein mit S7- SCL programmierter Baustein einen anderen Baustein, der in AWL, KOP oder FUP programmiert ist, aufrufen kann. Entsprechend können S7-SCL Bausteine auch in AWL-, KOP- und FUP- Programmen aufgerufen werden Die Testfunktionen von S7-SCL ermöglichen die Suche nach logischen Programmierfehlern in einer fehlerfreien Übersetzung. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 6 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 3. Die Entwicklungsumgebung S7-SCL Zur Verwendung und zum Einsatz von S7-SCL gibt es eine Entwicklungsumgebung, die sowohl auf spezifische Eigenschaften von S7-SCL als auch auf STEP 7 abgestimmt ist. Diese Entwicklungsumgebung besteht aus einem Editor/Compiler und einem Debugger. S7-SCL für S7-300/400 Editor / Compiler Debugger Editor/Compiler Der S7-SCL-Editor ist ein Texteditor, mit dem beliebige Texte bearbeitet werden können. Die zentrale Aufgabe, die Sie mit ihm durchführen, ist das Erzeugen und Bearbeiten von Bausteinen für STEP 7-Programme. Während der Eingabe erfolgt eine grundlegende Syntaxprüfung was das fehlerfreie programmieren vereinfacht. Syntaxfehler werden in unterschiedlichen Farben dargestellt. Folgende Möglichkeiten bietet der Editor: Programmierung eines S7 Bausteines in der Sprache S7-SCL. Komfortables Einfügen von Sprachelementen und Bausteinaufrufen durch Drag & Drop. Direkte Syntaxprüfung während der Programmierung. Einstellung des Editors nach Ihren Anforderungen, z.B. durch syntaxgerechtes Einfärben der verschiedenen Sprachelemente. Überprüfung des fertig gestellten Bausteines durch Übersetzen. Anzeigen aller Fehler und Warnungen, die beim Übersetzen auftreten. Lokalisieren der fehlerhaften Stelle im Baustein, optional mit Fehlerbeschreibung und Angaben zur Fehlerbeseitigung. Debugger Der S7-SCL-Debugger bietet die Möglichkeit, ein Programm in seinem Ablauf im AS zu kontrollieren, und damit mögliche logische Fehler zu finden. S7-SCL bietet dazu zwei verschiedene Testmodi an: Schrittweise Beobachten Kontinuierlich Beobachten Beim „Schrittweisen Beobachten“ wird der logische Programmablauf nachvollzogen. Sie können den Programmalgorithmus Anweisung für Anweisung ausführen und in einem Ergebnisfenster beobachten, wie sich die dabei bearbeiteten Variableninhalte ändern Mit dem „Kontinuierlichen Beobachten“ können Sie eine Gruppe von Anweisungen innerhalb eines Bausteins testen. Während des Testlaufs werden die Werte der Variablen und Parameter in chronologischer Abfolge angezeigt und - sofern möglich - zyklisch aktualisiert. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 7 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4. Beispielaufgabe Tankinhalt 4.1 Aufgabenbeschreibung Für unser erstes Programm soll die Berechnung eines Tankinhaltes programmiert werden. Der Tank hat die Form eines stehenden Zylinders. Der Füllstand des Inhaltes wird mit einem Analogsensor gemessen. In der Aufgabe soll der Wert des Füllstandes schon normiert in der Einheit Meter vorliegen. Das Programm soll in einer Funktion FC140 ‚berechnung_tankinhalt’ programmiert werden. Übergabeparameter sind der Durchmesser und der Füllstand in der Einheit Meter. Ergebnis ist der Tankinhalt in der Einheit Liter. 4.2 Zuordnungsliste / Variablentabelle Da bei moderner Programmierung nicht mit absoluten Adressen, sondern mit Variablen programmiert wird, müssen hier zuerst die globalen PLC-Variablen festgelegt werden. Diese globalen PLC-Variablen sind beschreibende Namen mit Kommentar für jene Eingänge und Ausgänge, die im Programm Verwendung finden. Später kann bei der Programmierung über diesen Namen auf die globalen PLC-Variablen zugegriffen werden. Diese globalen Variablen sind im gesamten Programm in allen Bausteinen verwendbar. Standard Variablentabelle Name Fuellstand_tank 1 Durchmesser_tank1 Inhalt_tank1 Datentyp REAL REAL REAL SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Adresse %MD40 %MD44 %MD48 Seite 8 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Kommentar in Meter in Meter in Liter Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4.3 Programmstruktur Der Programmablauf wird in so genannten Bausteinen geschrieben. Standardmäßig ist bereits der Organisationsbaustein Main [OB1] vorhanden. Dieser stellt die Schnittstelle zum Betriebssystem der CPU dar und wird automatisch von diesem aufgerufen und zyklisch bearbeitet. Von diesem Organisationsbaustein aus können wiederum zur strukturierten Programmierung weitere Bausteine wie z.B. die Funktion berechnung_tankinhalt [FC140] aufgerufen werden. Dies dient dazu um eine Gesamtaufgabe in Teilprobleme zu zerlegen. Diese sind dann einfacher zu lösen und in ihrer Funktionalität zu testen. Struktur der Beispielaufgabe Tankinhalt Organisationsbaustein Main [OB1] Zyklisch vom Betriebssystem aufgerufener Baustein. Hier steht der Aufruf der Funktion berechnung_tankinhalt [FC140] Funktion: berechnung_tankinhalt [FC140] Beinhaltet in diesem Beispiel das eigentliche Programm. Wird von Main [OB1] aufgerufen. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 9 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4.4 Schnittstelle des Bausteines berechnung_tankinhalt [FC140] Bevor das Programm geschrieben werden kann muss die Schnittstelle des Bausteins deklariert werden. Bei der Deklaration der Schnittstelle werden die, nur in diesem Baustein bekannten, lokalen Variablen festgelegt. Die Variablen oder Schnittstellenparameter unterteilen sich in zwei Gruppen: Bausteinparameter, die die Schnittstelle des Bausteins für den Aufruf im Programm bilden. Typ Bezeichnung Funktion Eingangsparameter Input Parameter, deren Werte der Baustein liest. Funktionen, Funktionsbausteinen und einigen Arten von Organisationsbausteinen Ausgangsparameter Output / Return Parameter, deren Werte der Baustein schreibt. Funktionen und Funktionsbausteinen Parameter, deren Wert der Baustein beim Aufruf liest und nach der Bearbeitung wieder in denselben Parameter schreibt. Funktionen und Funktionsbausteinen Durchgangsparameter InOut Verfügbar in Lokaldaten, die zum Speichern von Zwischenergebnissen dienen. Typ Bezeichnung Funktion Verfügbar in Temporäre Lokaldaten Temp Variablen, die zum Speichern von temporären Funktionen, Funktionsbausteinen und Zwischenergebnissen dienen. Organisationsbausteinen Temporäre Daten bleiben nur für einen Zyklus erhalten. Statische Lokaldaten Variablen, die zum Speichern von statischen Zwischenergebnissen im Instanz-Datenbaustein dienen. Statische Daten bleiben so lange Funktionsbausteinen erhalten, bis sie neu geschrieben werden, auch über mehrere Zyklen hinweg. Static SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 10 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT Die in unserem Beispielprogramm verwendeten Schnittstelleparameter für den Baustein ‚berechnung_tankinhalt [FC140] sind folgende. Schnittstelle der Funktion FC140: Typ IN IN OUT Name fuellstand durchmesser inhalt berechnung_tankinhalt Datentyp REAL REAL REAL Kommentar in Meter in Meter in Liter Der Funktionsaufruf in einem in FUP programmierten Baustein sieht dann folgendermaßen aus. Funktionsaufruf: Darstellung in FUP FC140 berechnung_tankinhalt fuellstand: REAL durchmesser: REAL REAL :inhalt 4.5 Lösungshinweis Zur Lösung der Aufgabe wird die Fromel zur Volumenberechnung eines stehenden Zylinders angewendet. Der Umrechnungsfaktor 1000 wird verwendet um das Ergebnis in Litern zu berechnen. V d2 h 4 => SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 inhalt durchmesse r 2 3.14159 fuellstand 1000 4 Seite 11 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 5. Programmierung der Tankinhaltsberechnung für die SIMATIC S7-1200 in S7-SCL In den folgenden Schritten kann für die SIMATIC S7-1200 ein Projekt angelegt und die Lösung zu der Aufgabenstellung programmiert werden: 5.1 Projekt anlegen und Hardware konfigurieren 1. Das zentrale Werkzeug ist das ‚Totally Integrated Automation Portal’, das hier mit einem Doppelklick aufgerufen wird. ( TIA-Portal V11) 2. Programme für die SIMATIC S7-1200 werden in Projekten verwaltet. Ein solches Projekt wird nun in der Portalansicht angelegt ( Neues Projekt erstellen scl_startup Erstellen) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 12 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 3. Nun werden ‚Erste Schritte’ zur Projektierung vorgeschlagen. Wir wollen zuerst ‚ein Gerät konfigurieren’. ( Erste Schritte Ein Gerät konfigurieren) 4. Dann werden wir ein ‚neues Gerät hinzufügen’ mit dem ‚Gerätename Steuerung 001’. Aus dem Katalog wählen wir hierzu die ‚CPU1214C AC/DCRly’ mit der passenden Bestellnummer. ( neues Gerät hinzufügen Steuerung001 PLC SIMATIC S7-1200 CPU CPU1214 AC/DC/Rly 6ES7 214-1BE30-0XB0 V2.2 Hinzufügen) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 13 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 5. Nun wechselt die Software automatisch zur Projektansicht mit der geöffneten Hardwarekonfiguration in der Gerätesicht. Damit die Software später auf die richtige CPU zugreift, muss deren ‚ETHERNET-Adresse’ eingestellt werden. ( Eigenschaften Allgemein ETHERNET- Adresse IP -Adresse: 192.168.0.80 Subnetzmaske: 255.255.255.0) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 14 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 5.2 Programm anlegen 1. Öffnen Sie die ,Standard-Variablentabelle’ und geben Sie die ,Operanden’ mit deren Namen und Datentypen ein. ( Steuerung 001[CPU1214 AC/DC/Rly]’ PLC-Variablen Standard-Variablentabelle Operanden eintragen) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 15 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 2. Um die Funktion berechnung_tankinhalt [FC140] zu erstellen wählen Sie in der Projektnavigation die ‚Steuerung 001[CPU1214 AC/DC/Rly]’ und dann ‚Programmbausteine’. Dann führen Sie einen Doppelklick auf ‚Neuen Baustein hinzufügen’ aus. Wählen Sie in der Auswahl ‚Funktion (FC)’ und vergeben den Namen ‚berechnung_tankinhalt’. Ändern Sie die Programmiersprache in ‚SCL’. Die Nummerierung können Sie ändern indem Sie von automatisch auf manuell wechseln. Tragen Sie die Nummer 140 ein. Übernehmen Sie die Eingaben mit ‚OK’. ( Steuerung 001[CPU1214 AC/DC/Rly]’ Programmbausteine Neuen Baustein hinzufügen Funktion (FC) berechnung_tankinhalt SCL manuell 140 OK) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 16 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 3. Der Baustein ‚berechnung_tankinhalt [FC140]’ wird dann automatisch geöffnet. Geben Sie nun die ,Ein- und Ausgangsparameter’ des Bausteines wie angegeben ein. Sämtliche lokale Variablen sollten zum besseren Verständnis mit einem ,ausreichenden Kommentar’ versehen werden. ( Schnittstelle des Bausteines FC140 vergrößern Schnittstellenparameter eintragen ) Hinweis: Um eine Verwechslung mit den PLC-Variablen zu vermeiden, ist es hilfreich die lokalen Variablen klein zu schreiben. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 17 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4. Nachdem die lokalen Variablen deklariert wurden, kann nun mit der Erstellung des hier gezeigten Programms begonnen werden. Es wird dabei die in SCL integrierte Quadratfunktion ,SQR’ zum quadrieren einer Zahl verwendet. Die zu quadrierende Zahl steht dabei in Klammern. Um die Funktion einzufügen ziehen Sie diese per Drag & Drop an die Verwendungsstelle im Programm. ( Anweisungen (Menü rechts!) Einfache Anweisungen Mathematische Funktionen SQR) 5. Ergänzen Sie das Programm wie unten angegeben. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 18 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 6. Das Programm kann nun gespeichert ( Speichern 7. Übersetzen und übersetzt werden. ) Aufgetretene Syntaxfehler werden bei der Übersetzung erkannt und im ,Menü Info/Übersetzen’ angezeigt. ( Info Übersetzen) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 19 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 8. Nun kann die Funktion im ‚Main[OB1]’ aufgerufen werden. Bevor wir den Baustein ‚Main[OB1]’ mit einem Doppelklick öffnen stellen wir dessen Programmiersprache auf ‚FUP‘ um. ( Main[OB1] Programmiersprache umschalten FUP) 9. Die Funktion ‚berechne_tankinhalt[FC140]’ kann dann einfach per Drag&Drop ins Netzwerk 1 des Bausteins Main[OB1] gezogen werden. Die Schnittstellenparameter der Funktion ‚berechne_tankinhalt[FC140]’ müssen nun, so wie hier gezeigt, mit den globalen PLC-Variablen beschaltet werden. Vergessen Sie nicht auch im Baustein Main[OB1] die Netzwerke zu dokumentieren. ( Main[OB1] Programmbausteine berechne_inhalt[FC140]) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 20 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 10. Mit der Schaltfläche ( wird das Projekt dann nochmals gespeichert. ) 11. Um nun die Programmbausteine und die Gerätekonfiguration in die CPU zu laden, markieren Sie zuerst den Ordner ‚Steuerung 001[CPU1214 AC/DC/Rly]’ und klicken dann auf das Symbol Laden in Gerät. ( Steuerung 001[CPU1214 AC/DC/Rly] ) Hinweis: Durch das Laden wird das Projekt automatisch nochmals übersetzt und auf Fehler untersucht. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 21 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 12. Vor dem Laden wird nochmals eine Übersicht zur Überprüfung der durchzuführenden Schritte angezeigt. Starten Sie diese mit ‚Laden’. ( Laden Fertig stellen) 5.3 Programm testen 1. Durch einen Mausklick auf das Symbol Beobachten ein/aus können Sie beim Testen des Programms den Zustand der Ein- und Ausgangsvariablen am Baustein ‚berechne_tankinhalt‘ beobachten. ( SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 ) Seite 22 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 2. Da wir keinen Analogsensor und somit keinen entsprechenden Prozesswert vorliegen haben müssen wir die Werte ‚Durchmesser_tank1’ und ‚Fuellstand_tank1’ mithilfe einer Beobachtungstabelle vorgeben. Legen Sie eine ,neue Beobachtungstabelle’ an und tragen Sie die beiden Werte ein. Schalten Sie den ,Beobachtungsmodus ein’ um die Aktualwerte zu sehen. ( Steuerung 001 Beobachtungs- und Forctabelle Neue Beobachtungstabelle Durchmesser_tank1, Fuellstand_tank1 3. ) Um die Werte vorzugeben müssen Sie einen Steuerwert in die Spalte ‚Steuerwert’ eintragen. Mit dem Button ‚Steuerwerte einmalig und sofort schreiben’ werden die Werte in die CPU übernommen. ( Durchmesser_tank1 = 10.0 Fuellstand_tank1 = 7.0 SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 23 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 ) Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4. Nun kann im OB1 das Programm überprüft werden. ( 5. Im SCL Editor können die Werte der einzelnen Variablen beobachtet werden. Schalten Sie dazu den ,Beobachtungsmodus ein’. ( ) ) Hinweis: Wenn Sie auf diesen Butten Variablen angezeigt. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 klicken werden die aktuellen Werte der in dieser Zeile programmierten Seite 24 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 5.4 Programm erweitern Der Baustein ‚berechne_Tankinhalt’ soll nun überprüfen ob fehlerhafte Angaben bei den Eingangsparametern gemacht wurden. Es wird zusätzlich ein weiterer Wert ‚hoehe_max’ an den Baustein übergeben. Dieser gibt die Höhe des Tankes an. Der Baustein soll nun auswerten ob der Füllstand des Tankes kleiner als Null oder größer als die angegebene Tankhöhe ist. Weiter soll überprüft werden ob der Durchmesser kleiner als Null angegeben wurde. Liegt ein Fehler vor soll ein boolscher Ausgangsparameter ‚er’ TRUE liefern und der Wert des Parameters ‚inhalt’ soll -1 sein. Erweiterung der Zuordnungsliste/Variablentabelle: Adresse %A1.7 Symbol Fehlerbit Datentyp BOOL Kommentar Fehler, Berechnung konnte nicht durchgeführt Erweiterung der Schnittstelle der Funktion FC140: Typ IN OUT Symbol hoehe_max er Funktionsaufruf: Datentyp REAL REAL berechnung_tankinhalt Kommentar in Meter er = 1, Fehler liegt vor, inhalt = -1 Darstellung in FUP FC140 berechnung_tankinhalt fuellstand: REAL hoehe_max: REAL durchmesser: REAL BOOL :er REAL :inhalt SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 25 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 1. Erweitern Sie die ,Variablentabelle’ des Bausteins wie oben angegeben. ( Steuerung 001[CPU1214 AC/DC/Rly] PLC-Variablen StandardVariablentabelle Operanden eintragen) 2. Erweitern Sie die ,Schnittstellenparameter’ des Bausteins wie oben angegeben. ( Steuerung 001[CPU1214 AC/DC/Rly] Programmbausteine berechnung_tankinhalt) Parameter eintragen) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 26 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 3. Ergänzen Sie nun das Programm wie unten angegeben und untersuchen Sie es auf Syntaxfehler indem Sie es übersetzen. Speichern Sie das Programm und laden es in die Steuerung. ( Programm schreiben SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 27 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 ) Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 4. Da die Parameter des Bausteins geändert wurden, muß der Aufruf im OB1 aktualisiert werden. Öffnen Sie den OB1 und scrollen Sie an die Stelle des Bausteinaufrufes. Öffnen Sie mit der rechten Maustaste das Kontextmenü und wählen den Punkt ‚Aktualisieren’ aus. ( Steuerung 001[CPU1214 AC/DC/Rly] Programmbausteine Main [OB1] rechte Maustaste aktualisieren) 5. Jetzt wird die alte und die neue Schnittstelle gezeigt. Bestätigen Sie mit ,OK’. ( OK) SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 28 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved Industry Sector, IA&DT 6. Ergänzen Sie die Werte am Eingangsparameter ‚hoehe_max’ und am Ausgangsparameter ‚er’ wie unten angegeben. Übersetzen, speichern und laden Sie das Programm in die Steuerung. ( Parameter ergänzen 7. ) Überprüfen Sie die Änderungen im ,Beobachtungsmodus’ des Bausteins ‚berechnung_tankinhalt’. ( Steuerung 001[CPU1214 AC/DC/Rly] Programmbausteine berechnung_tankinhalt ) Hinweis: Sie können das Anzeigeformat der aktuellen Werte ändern indem Sie mit der rechten Maustaste den Wert anklicken und das Kontextmenü öffnen. SCE Lehrunterlage TIA Portal Modul 010-090, Edition 09/2012 Seite 29 von 29 SCE_DE_010-090_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-1200 Verwendung nur für Bildungs- / F&E-Einrichtungen Frei verwendbar / © Siemens AG 2012. All Rights Reserved