Grundlagen der Bausteinprogrammierung

Funktionsbausteine
Abbildung 1: einfaches Anwenderprogramm

zum Seitenanfang

Ein Anwenderprogramm wird im sogenannten Continuous Function Chart (CFC) oder Signalflussplan programmiert. Was heißt das genau?

Durch das Zeichnen eines Blockdiagramms wird ein Programm erzeugt. Dabei werden auf einem Arbeitsblatt Funktionsbausteine (FB) platziert und die Ein- und Ausgänge der Funktionsbausteine miteinander verbunden. Nachdem man ein solches Netzwerk aus Funktionsbausteinen und Verbindungslinien fertig gezeichnet hat, wird eine maschinenlesbare Netzwerkbeschreibung in die Steuerung geladen.

Wie der Name „Continuous Function Chart“ schon andeutet, muss man sich ein Anwenderprogramm, das als Netzwerk aus Bausteinen und Verbindungslinien vorliegt, als kontinuierlich laufenden Prozess vorstellen. Genau wie in einer elektronischen Schaltung, in der logische Gatter wie z. B. UND und ODER ständig ausgeführt werden, werden alle gezeichneten Funktionsbausteine von der Steuerung ständig aufgerufen.

In dem abgebildeten Programm  dargestellt, werden die Bausteine IN1, IN2, AND und LED ständig von der Steuerung aufgerufen. Dabei lesen die Bausteine IN1 und IN2 kontinuierlich die aktuelle Spannung an den digitalen Eingangsklemmen 1 und 2 ein und konvertieren den Wert in ein logisches Signal (0 oder 1) für das Programm. Das Ergebnis dieser Konvertierung wird als logisches 1- oder 0-Signal auf den Ausgang geschrieben. Über die Verbindungslinie wird der Wert an den UND-Baustein weitergeleitet. Am UND-Baustein wird die logische Algebra der UND-Funktion ausgeführt und das Ergebnis der Algebra wird auf den Ausgang geschrieben (1 oder 0). Die Verbindungslinie transportiert den Wert zum LED-Baustein. Dort wird das logische Signal 1 oder 0 in das entsprechende Stromsignal umgewandelt und dementsprechend leuchtet die LED oder nicht.

Funktionsbausteine (FB)

Funktionsbausteine

zum Seitenanfang

Der Funktionsbaustein wird in der SPS-Welt auch häufig Funktionsblock genannt. In unserer Programmiersoftware ist der Funktionsbaustein das zentrale Programmiermittel und stellt die kleinste verwendbare Einheit eines Anwenderprogramms dar.

Funktionsbausteine (Funktionsblocks) können mehrere Ausgangsvariablen besitzen und für gleiche Eingangswerte durchaus unterschiedliche Ausgangswerte zulassen. Das ist möglich, weil sie auch interne Variablen besitzen, deren Werte über den Aufruf des Bausteins hinaus erhalten bleiben.

Funktionsbausteine sind parametrierbar, wobei Eingangs-, Ausgangs- und innere Variablen benutzt werden können. Funktionsbausteine werden in unseren Programmiersystemen immer von Programmbausteinen aufgerufen. Der Aufruf erfolgt durch ihre Instanzierung. Die Instanz ist vergleichbar mit einer Kopie des Bausteins für einen speziellen Anwendungsfall, wobei für jede Instanz der notwendige Speicherbereich zur Verfügung gestellt wird. Zwischen den Aufrufen des Bausteins werden die Daten gespeichert. Diese Tatsache wird landläufig als „Gedächtnis“ des FB beschrieben.

In der SPS-Welt unterscheidet man zwischen Funktion und Funktionsbaustein. Hierbei hat die Funktion, z.B eine einfache Addition, kein Gedächnis. Diese Unterscheidung gibt es hier nicht. Hier werden alle Bausteine als Funktionsbausteine bezeichnet.

Einen Katalog der verfügbaren Funktionsbausteine finden Sie unter: Funktionsbausteine

Continuous Function Chart (CFC)

Verbundene Funktionsbausteine

zum Seitenanfang

Auszug aus Wikipedia (DE): Continuous Function Chart

Der Continuous Function Chart (CFC), auch Signalflussplan, ist eine Programmiersprache für Speicherprogrammierbare Steuerungen (SPS). Obwohl sie keine der in der IEC 61131-3-Norm definierten Sprachen ist, stellt sie eine gängige Erweiterung von IEC-Programmierumgebungen dar.

Ihr Hauptanwendungsgebiet liegt vor allem in der Prozessleittechnik, weil sich die dort auftretenden, komplexen Steuerungs- und Regelungsaufgaben sehr gut in CFC abbilden lassen

CFC ist eine grafische Programmiersprache, in der Funktionsblöcke miteinander verschaltet werden, anstatt eine Abfolge von textuellen Befehlen einzugeben wie bei klassischen Programmiersprachen. Als Vorbild sind dabei Schaltpläne aus der Hardwareentwicklung zu sehen. Diese Darstellung eines Programms kommt Entwicklern von Steuerungssoftware entgegen, deren technischer Hintergrund typischerweise eher aus der Elektrotechnik stammt.

CFC kann als eine Erweiterung der Funktionsbaustein-Sprache betrachtet werden, in der keine strikte zeilenweise Abarbeitung von links oben nach rechts unten erzwungen wird, die Funktionsblöcke frei positionierbar sind und der Programmierer mehr Möglichkeiten zur Verknüpfung von Ein- und Ausgängen hat.

Die einzelnen Funktionsblöcke sind selbst in der Programmiersprache C verfasst und werden vom Hersteller der SPS als Standardbausteine mitgeliefert.

Edge Controller

zum Seitenanfang

Auszug aus Wikipedia (DE): Edge Controller

Beim Edge Controller handelt es sich um eine Form der Speicherprogrammierbaren Steuerung (SPS), bei der die Verarbeitungselemente näher an den Sensor heranrücken, wodurch die Sensordaten schnell analysiert und gefiltert werden können. Dadurch ist er als lokaler Controller in der Lage das Datenaufkommen in dezentralen Rechenzentren zu verringern. Dabei unterscheidet sich der Edge Controller von der herkömmlichen SPS hauptsächlich durch die größere Verarbeitungsfähigkeit von Daten, was durch den Einsatz von Multicore-Prozessoren mit höherer Rechenleistung gewährleistet wird.

 

PAC Programmable Automation Controller

PAC steht für Programmable Automation Controller, eine kompakte Steuerung, die Merkmale von PC-basierten Steuerungssystemen und speicherprogrammierbare Steuerung in sich vereint. (wikipedia)

In iCon-L und allen abgeleiteten Programmiersystemen (PACstudio, test.con, miCon-L) wird der Begriff etwas weiter gefasst, da iCon-L auch für sehr kleine Controller genutzt wird. Hierdurch wird der Begriff PAC allgemein für alle iCon-L Laufzeitsysteme verwendet.