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.

Die S7 1200 von Siemens steht in der Linie der S7 200 und wird diese vermutlich langfristig ersetzen. Die S7 200 ist eine Steuerung, die in kleineren Automatisierungsaufgaben mit einer hohen Leistungsfähigkeit überraschen kann. Sie verfügt über kostengünstige Möglichkeiten Positionierungen zu realisieren, ebenso wie Regelungsaufgaben zu lösen, komplexe Datenverwaltungen zu verarbeiten und die unterschiedlichsten Netzwerkanbindungen zu integrieren. Gleichzeitig stellt Siemens für diese Anwendungsgebiete Technologiebausteine zur Verfügung, die dem Anwender die Arbeit vereinfachen. Da die S7 1200 mit dem niedrigen Preis und der hohen Leistungsfähigkeit durch das SCL eine große Verbreitung finden wird, sind viele Ausführungen und Beispiele dieses Artikels an dieser Steuerung orientiert. Es finden sich aber auch Beispiele und Ausführungen die auf Codesys, PC Worx oder logi.CAD3 passen. Der Fachmann wird kein Problem mit der Übertragung auf sein eigenes Steuerungssystem haben.

Die einfachen Zuweisungen

Beginnt man mit der einfachsten Zuweisung des SCL, so ist die typische Schreibweise einer Hochsprache wie zum Beispiel \’C\‘ zu erkennen. Der \’Trenner\‘ oder auch das \’Zuweisungszeichen\‘ besteht aus einem Doppelpunkt und dem Gleichheitszeichen. Links davon befindet sich die Variable auf die das rechts entstandene Verknüpfungs- oder Berechnungsergebnis zugewiesen wird. Die Reihenfolge der Abarbeitung durch den Prozessor kann durch Klammern gesteuert werden. Soweit Klammern die Abarbeitung nicht beeinflussen, entscheidet die \’Bindungsstärke\‘ (AND vor OR usw.). Bei Operatoren mit gleicher Bindungsstärke wird ein Statement von links nach rechts vom Prozessor abgearbeitet.

Beispiel:

(* Beliebiger Kommentar *)

x_MotorEin := x_Start OR x_MotorEin AND ( i_Anz = 15 );

Das gesamte Statement kann in einer Zeile geschrieben werden. Das Programm und entsprechend die Dokumentation sind wesentlich kompakter und somit einfacher zu lesen als in AWL. Der Aufruf eines Funktionsbausteins in SCL wird wie folgt realisiert.

Beispiel Timer:

(* TIA Portal*)

#FB_ZeitAmpelX( IN := x_StartTime , (*Start der Zeit *)

PT := t_ZeitAmpel1, (* Übergabe der Sollzeit *)

Q => x_ZeitEnde , (* Zeit ist abgelaufen *)

ET => t_ZeitAbgel ); (* Bisher vergangene Zeit*)

Neue Variablentypen

Die Variablen einer einfachen Steuerung bestanden aus den Grundtypen (Bit, Byte, Word, Doppel-Word und Real). Diese Variablen hatten feste Hardware-Adressen und konnten wahlweise mit einer symbolischen Bezeichnung versehen werden, mit denen dann im Programm auch operiert wurde. Mit den modernen SPS-Prozessoren kommen Arrays und Strukturen hinzu. Der Compiler legt dann selber die Speicherbereiche fest, an denen die Variablen (Speicher) generiert werden. Zusätzlich können Werte und Zustände definiert werden, mit denen die Variablen bei einem \’Kaltstart\‘ der Steuerung beginnen sollen.

VAR

w_Sollwert : WORD := 1200 ; (* Variable mit Initialisierung *)

END_VAR

Diese Datentypen benötigen entsprechende Bearbeitungsbefehle, die das SCL (bzw. ST) bietet.

Arrays

Ein Array ist eine geordnete Zusammenfassung gleicher Daten (Datentypen) in einer Tabelle. Ein Array kann vom Typ Bool, Byte …String sein, es ist jedoch immer vom gleichen Datentyp (im Gegensatz zu Strukturen). Mit einem Array lassen sich aber wiederum mehrere Strukturen geordnet als Felder zusammenfassen, ebenso wie eine Struktur als Teil-Element ein Array beinhalten kann.

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
Bild: Hainbuch GmbH
Bild: Hainbuch GmbH
„Wie passende Spanntechnik die Automation voranbringt“

„Wie passende Spanntechnik die Automation voranbringt“

Zunehmend individuellere Kundenanforderungen, mehr Schwankungen im Auftragseingang und weniger Fachkräfte – diese Faktoren beeinflussen die Fertigungsplanung zunehmend. Gerade bei kleinen Herstellungschargen mit Losgrößen unter 100 macht in diesem Spannungsfeld die Automatisierung, etwa von Hainbuch, den Unterschied. Ein entscheidender Ansatzpunkt in der Umsetzung ist neben Maschine, Roboter und Bediener der Rüst- und Spannprozess.

mehr lesen
Bild: Schunk SE & Co. KG Spanntechnik
Bild: Schunk SE & Co. KG Spanntechnik
Futter für die Ewigkeit

Futter für die Ewigkeit

Siemens Energy setzt für die Präzisionsbearbeitung an einer Horizontaldrehmaschine Magnos Elektropermanent-Magnetspannfutter von Schunk ein. Dank der gleichmäßig dauerhaft wirkenden Magnetspannkraft erfolgt das Spannen der Werkstücke deformations- und vibrationsarm – für eine ausgezeichnete Bearbeitungs- und Oberflächenqualität. Mit der zugehörigen App lässt sich die Spannsituation simulieren und sicher parametrieren.

mehr lesen