3. Die Entwicklungsumgebung S7-SCL

Werbung
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 040-020
Startup Hochsprachenprogrammierung
mit S7-SCL und SIMATIC S7-300
SCE Lehrunterlage
TIA Portal Modul 040-020, Edition 03/2013
Seite 1 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © Siemens AG 2013. All Rights Reserved
Industry Sector, IA&DT
Passende SCE Trainer Pakete zu diesen Lehrunterlagen
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
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.
SCE Lehrunterlage
TIA Portal Modul 040-020, Edition 03/2013
Seite 2 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © Siemens AG 2013. All Rights Reserved
Industry Sector, IA&DT
Wir danken der Fa. Michael Dziallas Engineering und allen beteiligten Personen für die Unterstützung bei der
Erstellung der Lehrunterlage.
SCE Lehrunterlage
TIA Portal Modul 040-020, Edition 03/2013
Seite 3 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © Siemens AG 2013. All Rights Reserved
Industry Sector, IA&DT
SEITE:
1.
2.
3.
4.
5.
Vorwort ............................................................................................................................................................. 5
Hinweis zur Programmiersprache S7-SCL....................................................................................................... 7
Die Entwicklungsumgebung S7-SCL ............................................................................................................... 8
Beispielaufgabe Tankinhalt .............................................................................................................................. 9
4.1 Aufgabenbeschreibung ............................................................................................................................... 9
4.2
Zuordnungsliste / Variablentabelle ............................................................................................................. 9
4.3
Programmstruktur ..................................................................................................................................... 10
4.4
Schnittstelle des Bausteines berechnung_tankinhalt [FC140] ................................................................. 11
4.5
Lösungshinweis ........................................................................................................................................ 12
Programmierung der Tankinhaltsberechnung für SIMATIC S7-300 in S7-SCL ............................................. 13
5.1 Projekt anlegen und Hardware konfigurieren ........................................................................................... 13
5.2
Programm anlegen ................................................................................................................................... 17
5.3
Programm testen ...................................................................................................................................... 24
5.4
Programm erweitern ................................................................................................................................. 27
SCE Lehrunterlage
TIA Portal Modul 040-020, Edition 03/2013
Seite 4 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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
Prozessvisualisierung
(HMI) Module 90
AS-Interface
Module 50
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 5 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 6 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 7 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 8 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 9 von 31
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
Frei verwendbar / © 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 10 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 11 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 12 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 13 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 14 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 15 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 16 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 17 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 18 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 19 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 20 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 21 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 22 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 23 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 24 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 25 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
)
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 26 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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:
berechnung_tankinhalt
Datentyp
REAL
REAL
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 27 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 28 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 29 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
)
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 30 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © 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 31 von 31
SCE_DE_040-020_R1209_Startup Hochsprachenprogrammierung mit S7-SCL und SIMATIC S7-300
Verwendung nur für Bildungs- / F&E-Einrichtungen
Frei verwendbar / © Siemens AG 2013. All Rights Reserved
Herunterladen