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 - 2023 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung