Industry Sector, IA&DT SCE Lehrunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (TIA) TIA Portal Modul 040-020 Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 1 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT Passende SCE Trainer Pakete zu diesen Unterlagen SIMATIC Steuerungen SIMATIC S7-300 mit CPU 314C-2PN/DP Bestellnr: 6ES7314-6EH04-4AB3 SIMATIC S7-300 mit CPU 314C-2PN/DP (upgrade) Bestellnr: 6ES7314-6EH04-4AB4 SIMATIC S7-300 mit CPU 315F-2PN/DP Bestellnr: ES7315-2FH14-4AB1 SIMATIC ET 200S mit CPU IM151-8 F PN/DP Bestellnr: 6ES7151-8FB00-4AB1 SIMATIC STEP 7 Software for Training SIMATIC STEP 7 Professional V11 - Einzel-Lizenz Bestellnr: 6ES7822-1CC01-4YA5 SIMATIC STEP 7 Professional V11 - 12er Klassenraumlizenz Bestellnr: 6ES7822-1AA01-4YA5 SIMATIC STEP 7 Professional V11 - 12er Upgrade Lizenz Bestellnr: 6ES7822-1AA01-4YE5 SIMATIC STEP 7 Professional V11 - 20er Studenten-Lizenz Bestellnr: 6ES7822-1AC01-4YA5 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 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 beteiligten Personen für die Unterstützung bei der Erstellung der Unterlage. SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 2 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 SIMATIC S7-300 in S7-SCL ............................................. 12 5.1 Projekt anlegen und Hardware konfigurieren ........................................................................................... 12 5.2 Programm anlegen ................................................................................................................................... 16 5.3 Programm testen ...................................................................................................................................... 23 5.4 Programm erweitern ................................................................................................................................. 26 SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 3 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 1. Vorwort Das Modul SCE_DE_040-020 ist inhaltlich der Lehreinheit ‚Weitere Programmiersprachen’ zugeordnet und stellt einen Schnelleinstieg in die Programmierung der SIMATIC S7-300 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 020- bis 030- ) Grundlagenkenntnisse über Hochsprachenprogrammierung wie z.B. Pascal. SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 4 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 STEP 7 Professional V11 SP1 (Totally Integrated Automation (TIA) Portal V11) 3 Ethernet-Verbindung zwischen PC und CPU 315F-2 PN/DP 4 SPS SIMATIC S7-300, z.B. CPU 315F-2PN/DP mit 16DI/16DO Signalmodul. Die Eingänge müssen auf ein Schaltfeld herausgeführt sein. 2 STEP 7 Professional V11 (TIA Portal) 1 PC 3 Ethernet-Verbindung 4 S7-300 mit CPU 315F 2 PN/DP SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 5 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 6 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 Automatisierungssystem 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 040-020, Edition 03/2013 Seite 7 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Adresse %MD40 %MD44 %MD48 Seite 8 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Kommentar in Meter in Meter in Liter Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 Teilaufgaben zu zerlegen. Diese sind so 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 040-020, Edition 03/2013 Seite 9 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 10 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT Die in unserem Beispielprogramm verwendeten Schnittstellenparameter 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 Formel 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 040-020, Edition 03/2013 inhalt durchmesse r 2 3.14159 fuellstand 1000 4 Seite 11 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 5. Programmierung der Tankinhaltsberechnung für SIMATIC S7-300 in S7-SCL In den folgenden Schritten kann für SIMATIC S7-300 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 SIMATIC S7-300 werden in Projekten verwaltet. Ein solches Projekt wird nun in der Portalansicht angelegt ( Neues Projekt erstellen scl_startup Erstellen) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 12 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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. Nachfolgend werden wir ein ‚neues Gerät hinzufügen’ mit dem ‚Gerätename Steuerung 001’. Aus dem Katalog wählen wir hierzu die ‚CPU 315F-2 PN/DP’ mit der passenden Bestellnummer. ( neues Gerät hinzufügen Steuerung001 PLC SIMATIC S7-300 CPU CPU 315F-2 PN/DP 6ES7 315-2FH13-0AB0 V2.6 Hinzufügen) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 13 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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) 6. Nun können noch weitere Module aus dem Hardware-Katalog (rechts!) hinzugefügt werden. Wir wählen das Signalmodul ‚DI16/DO16’ mit 16 digitalen Eingängen und 16 digitalen Ausgängen und ziehen dieses auf den Steckplatz 4 ( Hardware-Katalog DI/DO DI16/DO16 x 24V / 0.5A 6ES7 323-1BL00-0AA0) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 14 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 7. Außerdem wählen wir das Signalmodul ,AI8x12Bit’ mit 8 analogen Eingängen und das Stromversorgungsmodul ,PS307 2A’ und ziehen diese auf die entsprechenden Steckplätze 5 und 1. ( Hardware-Katalog AI AI8 x 12Bit 6ES7 331-7KF02-0AB0 PS PS 307 2A 6ES7 307-1BA00-0AA0) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 15 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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[CPU 315F-2 PN/DP] PLC-Variablen Standard-Variablentabelle Operanden eintragen) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 16 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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[CPU 315F-2 PN/DP]’ und die ‚Programmbausteine’. Weiterhin 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[CPU 315F-2 PN/DP] Programmbausteine Neuen Baustein hinzufügen Funktion (FC) berechnung_tankinhalt SCL manuell 140 OK) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 17 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 3. Der Baustein ‚berechnung_tankinhalt [FC140]’ wird automatisch geöffnet. Geben Sie nun die ,Einund 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 040-020, Edition 03/2013 Seite 18 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 19 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 20 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 so 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 040-020, Edition 03/2013 Seite 21 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 10. Mit der Schaltfläche ( wird das Projekt nochmals gespeichert. ) 11. Um nun die Programmbausteine und die Gerätekonfiguration in die CPU zu laden, markieren Sie zuerst den Ordner ‚Steuerung 001[CPU 315F-2 PN/DP]’ und klicken dann auf das Symbol Laden in Gerät. ( Programmbausteine ) Hinweis: Durch das Laden wird das Projekt automatisch nochmals übersetzt und auf Fehler untersucht. SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 22 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 12. Vor dem Laden wird erneut eine Übersicht zur Überprüfung der durchzuführenden Schritte angezeigt. Starten Sie diese mit ‚Laden’. ( Laden) 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 040-020, Edition 03/2013 ) Seite 23 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 24 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 ) Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 Button Variablen angezeigt. SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 klicken werden die aktuellen Werte der in dieser Zeile programmierten Seite 25 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 26 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 1. Erweitern Sie die ,Variablentabelle’ des Bausteins wie oben angegeben. ( Steuerung 001[CPU 315F-2 PN/DP] PLC-Variablen StandardVariablentabelle Operanden eintragen) 2. Erweitern Sie die ,Schnittstellenparameter’ des Bausteins wie oben angegeben. ( Steuerung 001[CPU 315F-2 PN/DP] Programmbausteine berechnung_tankinhalt) Parameter eintragen) SCE Lehrunterlage TIA Portal Modul 040-020, Edition 03/2013 Seite 27 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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 040-020, Edition 03/2013 Seite 28 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 ) Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved Industry Sector, IA&DT 4. Da die Parameter des Bausteins geändert wurden, muss 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[CPU 315F-2 PN/DP] 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 040-020, Edition 03/2013 Seite 29 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. 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[CPU 315F-2 PN/DP] 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 040-020, Edition 03/2013 Seite 30 von 30 SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300 Verwendung nur für Bildungs- / F&E-Einrichtungen © Siemens AG 2013. All Rights Reserved