Skip to main content

Sektion: SourceTemplate

Die Untersektionen von SourceTemplate definieren Funktionsbausteine, die mit in das Projekt kopiert werden.

Im Moduleditor werden die hier definierten Funktionsbausteine aufgelistet. Dort können Sie das Kopieren aktivieren oder deaktivieren.

. Siehe auch
SEC std.SourceTemplate
 SEC SourceFB : <Identifier>               // optional: no
  SourceType := <FunctionBlock>;           // optional: no, type: InstancePath
  Variable := <variable name>;             // optional: no, type: InstancePath
            Default := TRUE/FALSE;                   // optional: yes, type: Bool Flag
            IsMandatory := TRUE/FALSE;               // optional: yes, type: Bool Flag
            FBVariable := <variable name>;           // optional: yes, type: InstancePath
            DestinationType := <default name>;       // optional: yes, Type: String/Literal
 END_SEC
END_SEC

Details über die Syntax der Definitionstypen sind im Kapitel Syntax der Moduldeklaration beschrieben.

. Spezifikation:
  • Der Identifier dient der Zuordnung im Editor und der Namensgebung, falls in DestinationType nichts angegeben ist.

  • In SourceType wird der Funktionsbaustein spezifiziert, der kopiert werden soll.

  • Variable muss eine Input-Variable des Modul-FBs darstellen. Sie muss entweder ein Zeiger auf eine Basisklasse des kopierten Funktionsbausteins oder ein Interface darstellen, das der kopierte Funktionsbausteins implementiert.

  • Über Default wird angegeben, ob der Funktionsbaustein standardmäßig für dieses Modul kopiert wird. Fehlt dieser Eintrag, so ist TRUE der Standardwert. Diese Option kann im Modulinstanz-Editor angepasst werden.

  • Wenn IsMandatory auf TRUE gesetzt ist, kann der Projektierer die Option IsToCopy im Editor nicht ändern.

  • Mit FBVariable wird eine Input-Variable des kopierten Funktionsbaustein angegeben, die mit der Moduleinstanz gefüllt wird. Deren Typ kann ein Zeiger auf einen Basistyp des Modul-FBs oder ein Zeiger auf Interface des Modul-FBs sein.

  • In DestinationType wird ein Standardname für den kopierten Funktionsbaustein angegeben. Wenn diese Definition fehlt, so gilt folgende Namenskonvention: <Name der Modulinstanz>_<Identifier>[_<fortlaufendeNummer>].

Die angegebenen SourceTemplates werden in den Ordner AC_SourceTemplate kopiert und vom zugehörigen Modul-FB instantiiert und initialisiert. Einmal erzeugte SourceTemplates können editiert werden und werden bei erneuten Generierungsläufen nicht überschrieben. Nicht mehr verwendete SourceTemplates werden umbenannt (anhängen von <_unused>) und in den Unterordner <UnusedSourceTemplates> verschoben.

Beispiel 22. Beispiel
SEC std.SourceTemplate
        SEC SourceFB : ID_ConnectSwitches
                SourceType := ConnectSwitches;
                Variable := itfConnect;
                FBVariable := pBuilding;
                Default := TRUE;
                IsMandatory := FALSE;
                DestinationType := 'TypeInModuleDescription';
        END_SEC
END_SEC