/
Aufbau und Verwendung der Modulbausteine

Aufbau und Verwendung der Modulbausteine

Diese Seite erläutert die für den Aufruf eines Modulbausteins verwendete Syntax.

Allgemeine Hinweise

Modulbausteine sind vorgegebene (kompilierte) Funktionen, die innerhalb von Custom-Logiken verwendet werden können. Die Auswahl hängt von der Software-Version des TWS ab.

Aufbau und Aufruf eines Modulbausteins

Im Rahmen des →Baukasten-Denkens umfasst die Definition eines Modulbausteins

  • die Modulkennung (die ihn identifiziert) und

  • 0 bis n Eingängen (wobei diese Eingänge tw. die Funktion einer “Option” haben) sowie aus

  • 0 bis n Ausgängen.

Im Code eine Custom-Logik werden diese drei Elemente zu einem JSON-Array zusammengefasst (deshalb wird ein Modulbaustein im Code durch zwei eckige Klammern umfasst ).

Beispiele:

  • ["And", ["$In1", "$In2",... ,"$In_n"], "$Out"]

  • ["Latch","$In","$Out","$Schalter",SchalterOption]

Der eigentliche Aufruf eines Modulbausteins erfolgt innerhalb des →Modul-Arrays der Custom-Logik

Die Elemente des Modulbaustein-Arrays

Erstes Element ist immer die Modulkennung, d.h. ein in Anführungszeichen gesetzter Text, zum Beispiel “And” oder “Latch”.
Der Modulkennung folgen - in einer vorgegebenen Reihenfolge und jeweils getrennt durch ein Komma - zusätzliche Elemente, welche die Ein- und Ausgänge des Modulbausteins bedienen.

Zur Bedienung der zusätzlichen Ein- und Ausgängselemente müssen in aller Regel Variablen (bspw. "$In" oder "$Out") verwendet werden. Falls an einem Eingangs- oder Ausgangselement mehr als ein Wert übergeben werden kann, werden die Variablen in der Form eines Arrays (bspw. ["$In1", "$In2",... ,"$In_n"]) zusammengefasst oder es wird - anstelle des Arrays - eine Mehrfachvariable (bspw. $VAR<Input!>) verwendet.
Der Datentyp der jeweiligen Variablen muss den Vorgaben des Modulbausteins für dieses Ein- oder Ausgangselement entsprechen.

Vom Grundsatz, dass den Elementen eines Modulbausteins-Arrays nur Variablen übergeben werden dürfen, kann in folgenden Fällen abgewichen werden:

  • es darf eine bloße 0 (d.h. ohne Anführungszeichen) übergeben werden, wenn ein Eingang des Modulbausteins nicht bedient oder ein Ausgang nicht abgefragt werden soll,

  • bei Optionen wie bspw. beim →Latch muss ebenfalls am entsprechenden Eingang direkt eine Integerzahl übergeben werden (im folgenden Beispiel wird der Wert 3 als Option übergeben: ["Latch","$true","$FreigabeWechsel","$Freigabe",3])

Um bequem und einheitlich konstante Werte, wie bspw. TRUE oder FALSE, an Modul-Bausteine zu übergeben, hat es sich bewährt, im LEVEL-Array entsprechende Konstanten als Variablen zu definieren. Diese Praxis ist aber nicht zwingend. Ein Beispiel einer solchen Definition:

"Level": [ // Variablen mit konstanten Werten ["$true","bool",true], ["$false","bool",false], // Weitere Variblen ],

2019 - 2024 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung