CFC-Elemente/Toolbox

Überblick

Die für die Programmierung im CFC Editor verfügbaren Grafikelemente werden in einer Toolbox bereitgestellt. Die Toolbox kann mit dem Befehl Werkzeuge im Menü Ansicht in einem Ansichtsfenster geöffnet werden.

Wählen Sie das gewünschte Element in der Toolbox aus, und verwenden Sie die Ziehen-und-Ablegen-Methode, um es in das Editorfenster einzufügen.

Neben den Programmierelementen gibt es auch einen Eintrag an oberster Stelle der Werkzeugliste. Solange dieser Eintrag ausgewählt ist, hat der Cursor die Form eines Pfeils, und Sie können Elemente im Editorfenster auswählen, um sie zu positionieren und zu bearbeiten.

CFC-Elemente

Name

Symbol

Beschreibung

Seite

Die Seitenzahl wird entsprechend der Position der Seite automatisch vergeben. Sie können den Namen (in diesem Fall Overview) in das orangefarbene Feld im oberen Bereich der Seite eingeben.

Kontrollpunkt

Kontrollpunkte werden benötigt, um ein manuell geändertes Routing von Verbindungslinien zu korrigieren. Dadurch wird verhindert, dass die Änderung durch den Befehl Alle Verbindungen routen rückgängig gemacht wird. Mithilfe von zwei Kontrollpunkten können Sie ein bestimmtes Segment einer Linie definieren, deren Routing Sie ändern möchten.

Eingang

Sie können den durch ??? angebotenen Text mit einer Variable oder Konstanten ersetzen. Die Eingabehilfe kann verwendet werden, um einen gültigen Bezeichner auszuwählen.

Ausgang

Baustein

Ein Baustein kann Operatoren, Funktionen, Funktionsbausteine oder Programme darstellen. Sie können den durch ??? angebotenen Text auswählen und mit einem Operator, einer Funktion, einem Funktionsbaustein oder Programmnamen ersetzen. Die Eingabehilfe unterstützt dabei das Auswählen eines verfügbaren Objekts.

Wenn Sie einen Funktionsbaustein einfügen, wird ein anderer ??? über dem Feld angezeigt. Ersetzen Sie die Fragezeichen mit dem Namen der Funktionsbausteininstanz. Wenn ein Funktionsbaustein mit konstanten Eingangsparametern instanziiert wird, zeigt das Bausteinelement in der linken unteren Ecke des Kästchens ein Feld Parameter.... Klicken Sie auf diese Schaltfläche, um ein Dialogfeld zur Bearbeitung der Eingangsparameter zu öffnen. Siehe das Parameter bearbeiten... Kapitel.

Wenn ein vorhandener Baustein durch einen anderen ersetzt wird (mittels Änderung des eingegebenen Namens) und der neue Baustein eine andere Mindest- oder Höchstanzahl an Ein- oder Ausgangsanschlüssen aufweist, werden die Anschlüsse entsprechend angepasst. Wenn Anschlüsse entfernt werden müssen, wird der unterste zuerst entfernt.

Sprung

Das Sprung-Element wird verwendet, um die Position anzugeben, an der die Programmausführung fortgesetzt werden soll. Diese Position ist durch eine Marke definiert (siehe unten). Deswegen müssen Sie den durch ??? angebotenen Text mit dem Namen der Sprungmarke ersetzen.

Sprungmarke

Eine Marke kennzeichnet die Position, zu der das Programm springen kann (siehe Sprung-Element).

Im Online-Modus wird automatisch eine Return-Marke zur Kennzeichnung des Endes einer POU eingefügt.

return

Im Online-Modus wird automatisch ein Return-Element in der ersten Spalte und nach dem letzten Element im Editor eingefügt. Bei der schrittweisen Verarbeitung erfolgt automatisch ein Sprung zum Return-Element, bevor die Ausführung der POU beendet wird.

Kompositor

Ein Kompositor dient dazu, einen Eingang eines Bausteins vom Typ „Struktur“ zu handhaben. Der Kompositor zeigt die Strukturkomponenten an und macht sie so dem Programmierer im CFC-Editor zugänglich. Zu diesem Zweck müssen Sie den Kompositor wie die betroffene Struktur nennen (indem Sie ??? mit dem Namen ersetzen) und mit dem Baustein verbinden, anstatt ein Eingangselement zu verwenden.

Selektor

Ein Selektor dient im Gegensatz zum Kompositor dazu, einen Ausgang eines Bausteins vom Typ „Struktur“ zu handhaben. Der Selektor zeigt die Strukturkomponenten an und macht sie dem Programmierer im CFC-Editor zugänglich. Zu diesem Zweck müssen Sie den Selektor wie die betroffene Struktur nennen (indem Sie ??? mit dem Namen ersetzen) und mit dem Baustein verbinden, anstatt ein Ausgangselement zu verwenden.

Kommentar

Mit diesem Element kann ein Kommentar in das Diagramm eingefügt werden. Markieren Sie den Platzhaltertext, und ersetzen Sie ihn durch einen beliebigen Text. Ein Zeilenumbruch innerhalb eines Kommentars kann mithilfe der Tastenkombination Strg + Eingabe eingefügt werden.

Verbindungsmarke – Quelle

Verbindungsmarke – Ziel

Zwischen Elementen können Verbindungsmarken anstelle von Verbindungslinien verwenden werden. Dies dient zur Vereinfachung komplexer Diagramme.

Um eine gültige Verbindung herzustellen, weisen Sie am Ausgang eines Elements eine Quell-Verbindungsmarke und am Eingang des anderen Elements eine Ziel-Verbindungsmarke (siehe unten) zu. Weisen Sie beiden Marken denselben Namen zu (keine Unterscheidung von Groß-/Kleinschreibung).

Benennung:

Die erste Quell-Verbindungsmarke, die in den CFC-Editor eingefügt wird, erhält standardmäßig die Benennung C-1 und kann manuell geändert werden. Im Gegenstück der Verbindungsmarke – der Ziel-Verbindungsmarke; ersetzen Sie ??? mit derselben Namenzeichenfolge, die in der Quellmarke verwendet wird. Der Editor wird verifizieren, dass die Namen der Marken einzigartig sind. Wenn der Name einer Quell-Verbindungsmarke geändert wird, wird der Name der zugehörigen Ziel-Verbindungsmarke automatisch geändert. Bei einer Umbenennung der Ziel-Verbindungsmarke wird der Name der Quell-Verbindungsmarke jedoch beibehalten. Auf diese Weise können Verbindungen neu konfiguriert werden. Entsprechend bleibt beim Entfernen einer Verbindungsmarke ihr Gegenstück erhalten.

Um eine Verbindungsmarke im Diagramm zu verwenden, ziehen Sie sie aus der Toolbox in das Editorfenster, und verbinden Sie anschließend den Anschluss mit dem Ausgangs- oder Eingangsanschluss des entsprechenden Elements. Alternativ können Sie eine vorhandene normale Verbindungslinie mit dem Befehl Verbindungsmarke konvertieren. Dieser Befehl ermöglicht auch die Rückkonvertierung von Verbindungsmarken zu normalen Verbindungslinien.

Beispielabbildungen hierzu finden Sie im Kapitel Verbindungsmarke.

Eingangsanschluss

Abhängig vom Bausteintyp kann ein weiterer Eingang hinzugefügt werden. Dazu muss das Bausteinelement im CFC-Netzwerk ausgewählt und das Eingangsanschluss-Element auf dem Baustein gezeichnet werden.

Sie können eine Eingangs- oder Ausgangsverbindung zu einer anderen Position im Baustein ziehen, indem Sie die Strg-Taste gedrückt halten.

Ausgangsanschluss

Abhängig vom Bausteintyp kann ein weiterer Ausgang hinzugefügt werden. Dazu muss das Bausteinelement im CFC-Netzwerk ausgewählt und das Ausgangsanschluss-Element auf dem Baustein gezeichnet werden.

Sie können eine Eingangs- oder Ausgangsverbindung zu einer anderen Position im Baustein ziehen, indem Sie die Strg-Taste gedrückt halten.

Beispiel für einen Kompositor

Ein CFC-Programm cfc_prog verarbeitet eine Instanz eines Funktionsbausteins fublo1, welche eine Eingangsvariable struvar des Strukturtyps hat. Verwenden Sie den Kompositor, um auf die Strukturkomponenten zuzugreifen.

Strukturdefinition stru1 :

TYPE stru1 :
STRUCT
  ivar:INT;
  strvar:STRING:='hallo';
END_STRUCT
END_TYPE

Deklaration und Implementierung des Funktionsbausteins fublo1:

FUNCTION_BLOCK fublo1
VAR_INPUT
  struvar:STRU1;
END_VAR
VAR_OUTPUT
  fbout_i:INT;
  fbout_str:STRING;
END_VAR
VAR
  fbvar:STRING:='world';
END_VAR
fbout_i:=struvar.ivar+2;
fbout_str:=CONCAT (struvar.strvar,fbvar);

Deklaration und Implementierung des Programms cfc_prog:

PROGRAM cfc_prog
VAR
  intvar: INT;
  stringvar: STRING;
  fbinst: fublo1;
  erg1: INT;
  erg2: STRING;
END_VAR

Kompositor-Element

1 Kompositor

2 Funktionsbaustein mit Eingangsvariable struvar des Strukturtyps stru1

Beispiel für einen Selektor

Ein CFC-Programm cfc_prog verarbeitet eine Instanz eines Funktionsbausteins fublo2, welche eine Ausgangsvariable fbout des Strukturtyps stru1hat. Verwenden Sie den Selektor, um auf die Strukturkomponenten zuzugreifen.

Strukturdefinition stru1 :

TYPE stru1 :
STRUCT
  ivar:INT;
  strvar:STRING:='hallo';
END_STRUCT
END_TYPE

Deklaration und Implementierung des Funktionsbausteins fublo1:

FUNCTION_BLOCK fublo2
VAR_INPUT CONSTANT
  fbin1:INT;
  fbin2:DWORD:=24354333;
  fbin3:STRING:='hallo';
END_VAR
VAR_INPUT
  fbin : INT;
END_VAR
VAR_OUTPUT
  fbout : stru1;
  fbout2:DWORD;
END_VAR
VAR
  fbvar:INT;
  fbvar2:STRING;
END_VAR

Deklaration und Implementierung des Programms cfc_prog:

VAR
  intvar: INT;
  stringvar: STRING;
  fbinst: fublo1;
  erg1: INT;
  erg2: STRING;
  fbinst2: fublo2;
END_VAR

Die Abbildung zeigt ein Selektorelement, bei dem die nicht verwendeten Anschlüsse entfernt wurden, indem der Befehl Nicht verwendete Anschlüsse entfernen ausgeführt wurde.

1 Funktionsbaustein mit Ausgangsvariable fbout des Strukturtyps stru1

2 Selektor