SPS Programmierung
am Beispiel eines Bioreaktors
Symbolische Programmierung
Bei der absoluten Adressierung wird direkt der Operand (z.B. E 0.1) eingegeben. Bei der symbolischen Programmierung wird nicht der Operand, sondern stellvertretend ein Symbolname (z.B. E_Motor_EIN) anstelle des Operanden eingegeben.
Dabei bietet die symbolische Programmierung eine Reihe von Vorteilen:
Das Programm wird lesbarer und die Datenbausteine können über ihren symbolischen Namen angesprochen werden. Programmteile können leichter in anderen Projekten wiederverwendet werden. Das Programm wird besser dokumentiert und sicherer, da Schreibfehler vermieden werden. Absolute Adressen können unter Beibehaltung des symbolischen Namens geändert werden.
Globale und lokale Symbole
Globale Symbole
Globale Symbole werden in der Symboltabelle definiert. Der Symbolname hat eine maximale Länge von 24 Zeichen. Globale Symbole sind im ganzen Programm gültig und der Zugriff auf globale Variablen kann im ganzen Programm erfolgen.
Lokale Symbole
Lokale Symbole werden im Deklarationsteil des Bausteins definiert. Der Symbolname hat eine maximale Länge von 24 Zeichen. Lokale Symbole sind nur im definierten Baustein gültig, d.h. auf diese Variablen kann nur im entsprechenden Baustein zugegriffen werden.
Regeln für symbolisches Programmieren
Verwenden Sie keine Leerzeichen, sondern den Unterstrich (_). Der Editor erkennt dann den Symbolnamen als zusammengehörenden Text. Verwenden Sie den Unterstrich (_), um die Lesbarkeit ihres Programmiercodes zu verbessern.
Es dürfen keine Umlaute in Symbolnamen verwendet werden. Vermeiden Sie die Verwendung von Sonderzeichen.
Erster Buchstabe im Symbolnamen
Bei der Definition von symbolischen Namen werden verschieden Anfangsbuchstaben verwendet. Das erleichtert das Lesen von symbolisch programmierten Bausteinen.
Operanden
-
E_ digitale Eingänge
-
A_ digitale Ausgänge
-
AE_ analoger Eingang
-
AA_ analoger Ausgang
-
T_ Timer
-
Z_ Zähler
-
M_ Merker
Bausteine
-
OB_ Organisationsbaustein
-
DB_ globaler Datenbaustein
-
DI_ Instanz-Datenbaustein
-
FC_ Funktion
-
FB_ Funktionsbaustein
Strukturierte Programmierung
Der Programmablauf wird in STEP 7 in Bausteinen organisiert. Immer vorhanden ist bereits der Organisationsbaustein OB1. Dieser ist die Schnittstelle zum Betriebssystem der CPU und wird automatisch von diesem aufgerufen und zyklisch bearbeitet. Bei umfangreichen Steuerungsaufgaben unterteilt man das Programm in kleine, strukturierte und nach Funktionen geordnete Programmbausteine. Diese Bausteine werden dann von Organisationsbausteinen über Bausteinaufrufbefehle (z.B. Call FB1, DB3, Call FC10) aufgerufen.
STEP 7 bietet für diese strukturierte Programmierung folgende Anwenderbausteine an:
Funktionsbaustein (FB)
der FB verfügt über einen zugeordneten Speicherbereich. Wenn ein FB aufgerufen wird kann ihm ein Datenbaustein (DB) zugeordnet werden. Auf die Daten in diesem lokalen Instanz- DB kann über die Aufrufe des FBs zugegriffen werden. Ein FB kann verschiedenen DBs zugeordnet werden. Weitere FBs und FCs können über Bausteinaufrufbefehle in einem Funktionsbaustein aufgerufen werden.
Funktion (FC)
eine FC besitzt keinen zugeordneten Speicherbereich. Die lokalen Daten einer Funktion sind nach der Bearbeitung der Funktion verloren. Weitere FBs und FCs können über Bausteinaufrufbefehle in einer Funktion aufgerufen werden.