Eine Einführung in SCL und ST - Teil 2 von 3

Modern Programmieren mit Standards

SCL und S7 1200 Programmieren nach dem Stand der Technik
Über Jahrzehnte war die Anweisungsliste (AWL) die Programmiersprache, mit der textbasiert auch komplexere Aufgabenstellungen in der Automatisierung gelöst wurden. Die S7 1200 von Siemens geht konsequent einen modernen Weg und setzt auf den \'Strukturierten Text\' (ST) oder hier als SCL (Structured Control Language) bezeichnet. Umso wichtiger ist es für den Anwender, sich mit dieser Programmiersprache vertraut zu machen und damit die große Leistungsfähigkeit der Steuerungen im unteren Preisbereich für die eigenen Anwendungen zu erschließen.

Beispiel S7 200 Übergabe des Wertes einer Variablen an eine andere (kopieren des Variableninhaltes ):

MOVB VB20,VB100

Beispiel SCL- gleiche Anwendung, der Wert von b_Pumpe wird an b_Status1 übertragen:

b_Status1 := b_Pumpe;

Speicherung von Daten durch einen Index (S7 200 AWL)

Um Daten strukturiert in Tabellen oder Rezepten verwalten zu können, benötigt der Anwender entsprechende Befehle um die Tabellen zu durchsuchen, initialisieren, zu beschreiben und durch gezielten Zugriff Daten herauszulesen. Da eine Steuerung wie die S7 200 (ähnlich wie Wettbewerbsprodukte) in der AWL keine leistungsfähigen Steuerbefehle besitzt, werden Funktionen bzw. Funktionsbausteine verwendet. Auslesen eines Wertes aus einem Variablenbereich durch einen Index (S7 200 AWL), Übertragung der Adresse, auf die zugegriffen werden soll ( & ) bzw. setze Pointer:

Setze einen Pointer in AC1 (Akkumulator 1)

MOVD &MB10, AC1 // Die Adresse MB10 wird in AC1 gespeichert

Indirekter Zugriff (*)

MOVD *AC1, AC0 // Der Wert der Variablen, deren Adresse in AC1 gespeichert ist, // wird in AC0 gespeichert

Mit der gespeicherten Adresse kann auch gerechnet werden, das heißt die Adresse zum Übertragen eines Variableninhalts kann auch Ergebnis einer Berechnung sein. Insgesamt wird dem Leser die Nähe zu Assembler-Programmen auffallen (MOV-Befehle, Pointer-Kennzeichnung u.v.m.). Eine ähnliche Aufgabe mit dem SCL (gleich ST), mit der Ähnlichkeit zu einer Hochsprache wie \’C\‘ oder Pascal:

i_Zeiger := 14 ;

i_Ergebnis1 := iArr_Wert[i_Zeiger];

oder mit Berechnung des Zeigers:

i_Zeiger := i_Zeiger + 2;

i_Ergebnis2 := iArr_Wert[i_Zeiger];

Befehle zur Steuerung der Programmabarbeitung

Während die AWL (hier zur S7 200) nur den bedingten und unbedingten Sprung auf ein Label kannte, den bedingten und unbedingten Aufruf eines Funktionsbausteins bzw. einer Funktion, sowie die STOP-Anweisung, verfügt SCL über moderne Befehle zur Abarbeitungssteuerung von Programmsequenzen, wie sie aus Fortan, Pascal oder C bekannt sind. Übersicht der Befehle zur Programm-Steuerung:

  • IF…THEN – Anweisung
  • CASE-Anweisung (Fall der Auswahlanweisung)
  • WHILE…DO (Kopfgesteuerte Anweisung)
  • REPEAT…UNTIL (Fußgesteuert)
  • FOR…TO…DO (Kopfgesteuert)
  • FOR…TO…BY…DO (Kopfgesteuert)
  • EXIT (Abbruch)
  • RETURN
  • CONTINUE
  • GOTO (Nur bei SCL, Anwendung nicht zu empfehlen)

Mit den veränderten Strukturen zur Programmsteuerung bieten sich auch neuere Entwurfsmethoden der Programme an. Während der Programmablauf einer AWL sehr gut im PAP (ProgrammAblaufPlan) dargestellt wird, eignen sich für SCL-Programme die Struktogramme (auch Nassi-Schneidermann-Diagramme) zum Entwurf und die Überprüfung (Validierung) fertiger Programmbausteine. SCL kann in mehreren Bereichen angewendet werden, so z.B. um fertige Bausteine mit komplexerer Funktionalität anzubieten, aber auch um Ablaufsteuerungen nachzubilden. Da die S7 1200 nicht über die Programmierung per \’Graph\‘ verfügt (entspricht dem SFC bzw. Grafcet nach Norm), müssen entsprechende Strukturen mit anderen Programmiersprachen nachgebildet werden. Dazu gibt es zahlreiche Ansätze (Schieberegister, Kontaktplan mit R/S-Zuweisungen usw.), doch sehr interessant ist die Nachbildung eines Schrittablaufs mittels der CASE-Anweisungen. Damit kann der Anwender auch problemlos unterschiedliche Zonen eines Schrittes nachbilden (Zone der Aktivierung, der Kontinuität und der Deaktivierung eines Schrittes). Derartige Schrittabläufe sind dann als eigener Funktionsbaustein in ein oder mehreren Projekten einzubinden und können entsprechend mit unterschiedlichen Prozessoren angewendet werden. Obwohl eine Entwicklungsumgebung prinzipiell nichts mit einer Programmiersprache zu tun hat, erschließen sich die Möglichkeiten eines modernen Systems erst, wenn das zugehörige Portal, Studio oder Suite betrachtet wird. Herstellerübergreifend empfiehlt sich die Bezeichnung IDE (Integrated Development Environment). In der Praxis entwickeln zahlreiche, erfahrene Programmierer einzelne Programmbausteine in SCL (oder ST bzw. STL) in einem freien Editor, kopieren es in die jeweilige Entwicklungsumgebung (TIA Portal oder andere Systeme) und überprüfen dann die Syntax durch die entsprechenden Befehle des Editors oder Compilers.

TIA Portal als universelles Engineering Tool

Einer der wesentlichen Unterschiede zwischen der S7 200 und S7 1200 liegt in der Entwicklungsumgebung der zugehörigen Anwendungssoftware. Während die S7 200 ein eigenes Tool (das STEP 7-MicroWIN) besitzt, das sehr einfach gestaltet ist und intuitiv binnen kürzester Zeit angewendet werden kann, ist das TIA-Portal eine universelle Entwicklungsplattform, das alle Werkzeuge enthält um ein verteiltes System über Netzwerkverbindungen zu definieren, Steuerungen zu programmieren und Visualisierungen zu entwickeln.

Seiten: 1 2 3 4 5 6Auf einer Seite lesen

Kanngießer Automation Consulting
http://www.kanngiesser-sps.de

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Ceratizit Deutschland GmbH
Bild: Ceratizit Deutschland GmbH
Werkzeuge – immer passend

Werkzeuge – immer passend

Eine digitalisierte Fertigung hat viele Gesichter… und Recker Technik aus Eschweiler setzt ihr auf jeden Fall einen Smiley auf. Dort bringt die Produktion mit digitalen Zwillingen mehr Effizienz in den Alltag sowie gleichzeitig mehr Überblick über das Toolmanagement und die Werkzeugkosten. Mit dabei: Zwei Tool-O-Maten, die intelligenten Werkzeugausgabesysteme von Ceratizit – dank denen immer das passende Werkzeug für den Job zur Hand ist.

mehr lesen