Datenpflege in der Steuerung

Steuerungen ? Wer Steuerungssysteme anwendet, verwaltet Daten, legt Dateien- und Verzeichnisse an und kommuniziert mit Datenbanken. Die klassische SPS-Programmierung ist dafür ungeeignet. Eine auf strukturiertem Text aufbauende Sprache schafft Abhilfe.

16. November 2007

Das Programmieren von Steuerungen ist längst nicht nur Umsetzung von Abläufen und Prozessen mit digitalen Signalen. Neben komplexer Antriebs- und Regelungstechnik macht die Verwaltung von Daten einen großen Teil des Programmcodes aus.

Sprache unterstützt die Datenverarbeitung

Problem ist, dass die klassische Steuerungstechnik mit ihren Programmiersprachen dafür nicht ausgelegt ist: Die Realisierung mittels SPS ist aufwendig und kostet viel Zeit. Die Auslagerung auf PCs macht unflexibel in Bezug auf die Echtzeitverarbeitung und erfordert zwingend PC-Systeme auch dort, wo sonst keine erforderlich wären. Hochsprachen eignen sich grundsätzlich viel besser für die Verarbeitung von Daten als dies bei klassischen SPS-Sprachen der Fall ist. In der IEC 61131-3 wurde dem Rechnung getragen, indem die Sprache ›Strukturierter Text‹ in die Norm aufgenommen wurde. Die Jetter AG setzt mit JetSym STX ausschließlich auf den Strukturierten Text. Die Sprache ist leistungsfähig genug, um damit alle Steuerungsfunktionen zu programmieren. Wird alles mit einer Sprache programmiert, dann entfallen lästige Schnittstellen und die Flexibilität ist größer. Bei STX wird selbst die Programmierung der Bahnsteuerung mit dieser Sprache realisiert. Genauso wie es leistungsfähige Befehle für die Antriebstechnik gibt, gibt es auch Befehle für die Verarbeitung von Daten. STX arbeitet ablauforientiert und auf Basis eines Multitasking- Betriebssystems. Anhand der Beispiele ›Stringverarbeitung‹ und ›Arbeiten mit dem Dateisystem‹ werden in diesem Beitrag die Möglichkeiten für den Anwender aufgezeigt.

Zeichenkennten

JetSym STX bietet eine ganze Reihe von Befehlen für die Verarbeitung von Zeichenketten, von denen einige exemplarisch vorgestellt werden sollen.

- StrLength (): Der Befehl Str-Length ermittelt die Anzahl der Zeichen einer Zeichenkette. Die ermittelte Anzahl wird als ganze Zahl (Typ Int) zurückgegeben.

- StrCopy (, , ): Der Befehl StrCopy kopiert Zeichen aus einer Zeichenkette heraus. Diese Zeichen werden als Zeichenkette zurückgegeben.

- StrPosition (, ): Der Befehl StrPosition ermittelt die Position einer Zeichenkette innerhalb einer Zeichenkette und gibt eine Ganzzahl (Typ Int) als Positionsangabe zurück.

- Function StrFormat (Const Ref StrFormat: String, ...): String: Mithilfe der Funktion StrFormat können Werte von Ausdrücken, Variablen oder Konstanten in eine entsprechende textuelle Darstellung konvertiert werden. Dabei wird als erster Parameter ein String erwartet, der eine Formatbeschreibung enthält. Alle weiteren Parameter können einen der folgenden Typen haben: bool, char, byte, word, int8, int16, int32, float, double, string oder pointer. Dies sind einige Beispiele für die Verarbeitung von Zeichenketten mit JetSym STX. Die Sprache bietet noch eine ganze Reihe weiterer Befehle.

Arbeiten mit Dateisystem

Jede JetControl-Steuerung von Jetter verfügt über ein Dateisystem, über welches man die Flash-Disk verwalten kann. Dabei gibt es feste Systemverzeichnisse, die nicht gelöscht werden können, und einen vom Anwender frei verwendbaren Teil. In JetSym STX gibt es die Möglichkeit, über Programmbefehle mit Verzeichnissen und Dateien zu arbeiten. In die Dateien können Daten geschrieben und diese wieder ausgelesen werden. Zusätzlich gibt es noch Befehle, mit denen es möglich ist, Informationen über die Dateien zu erhalten, zum Beispiel die Größe in Byte. Einige Beispiele. Mit den Befehlen DirRename, DirChange, DirCreate und Dir- Remove lassen sich Verzeichnisse anlegen, löschen, wechseln und umbenennen. Folgende Befehle gibt es für das Arbeiten mit Dateien:

- Dateien erstellen: FileOpen, File- Close

- Dateien mit Daten beschreiben: FilePutCharacter, FilePut- String, FileWrite

- Daten aus Dateien lesen: File- GetCharacter, FileGetString, FileRead, FileGetSize, FileRewind, FileEnd

- Dateien umbenennen, löschen und auf Existenz prüfen: File- Exist, FileRename, FileRemove Anwender, die im Zusammenhang mit IT-Systemen bereits mit Dateibefehlen gearbeitet haben, kommen einfach zurecht. Mit diesen Befehlen und Funktionen lassen sich auch größere Datenmengen in der Steuerung verwalten. Der Aufwand ist im Vergleich zu klassischen Steuerungssystemen um ein Vielfaches geringer. Eine Auslagerung auf PC-Systeme ist oft nicht mehr erforderlich. JetSym STX zeigt, dass die Programmierung von Datenverarbeitung mit industriellen Steuerungssystemen komfortabelsein kann. Dieser Aspekt wird häufi g unterbewertet, was dazu führt, dass der Zeit- und Kostenaufwand für die Programmierung vielmals deutlich höher liegt, als er sein müsste. Martin Buchwitz, Jetter/ps

Fakten

Das Dateisystem verfügt über folgende Eigenschaften ? eine Auswahl:

- Die Sieben Verzeichnisebenen

- Verzeichnis oder Dateinamen mit maximal 63 Zeichen Länge

- Acht gleichzeitig geöffnete Dateien

- Groß- und Kleinschreibung wird unterschieden

- Ein Schrägstrich trennt Verzeichnisnamen

Erschienen in Ausgabe: 08/2007