Tipp |
---|
--R Robert, es fehlt aber noch der Wertbereich float bzw. macht das eigentlich keinen Sinn => eher die Angabe ob double Genauigkeit. |
...
Das Grundgerüst jeder Custom-Logik sind 4 Abschnitte (im Detail ein JSON-Objekt mit den vier Schlüsseln)
Level (Deklaration in der Custom-Logik verwendeten Variablen),
Module (die eigentlichen Handlungsanweisungen, d.h. eine Abfolge von Logikbausteinen),
Input (Definition der Eingänge und Zuordnung der Variablen) und
Output (Definition der Eingänge und Zuordnung der Variablen).
...
In welcher Reihenfolge die vier Schlüssel im JSON-Objekt erwähnt werden, spielt keine Rolle und ist Geschmackssache des jeweiligen Anwenders. Einige Anwender stellen bspw. Input und Output an den Anfang; andere stellen die den Abschnitt Module vorab, weil dort die meisten Änderungen gemacht werden müssen und sie auf diese Weise nicht lange scrollen müssen.
Grundsätzliches zur JSON-Datenstruktur und -Notation
Um Logikmodule Custom-Logiken zu erstellen, ist es nicht erforderlich, sich vertieft in die JSON-Notation einzuarbeiten.
Hier sollen im Moment nur folgende Besonderheiten erläutert werden:
Alle Eigenschaftsnamen in einem Objekt müssen in doppelten Anführungszeichen (
" "
) notiert werden.Folgende Typen können verwendet werden:
Boolean (
bool
; zulässige Schlüsselwörter: true und false)Ganzzahl (
integer
; 32 Bit, zulässiger Wertebereich zwischen -2 147 483 648 und 2 147 483 647)Fließkommazahl (
float
; zulässiger Wertebereich von --------------------- bis ---------------- ).
Wichtiger Hinweis: Die Dezimal-Werte müssen immer einen Punkt enthalten mit Punkt geschrieben werden, ein Komma ist nicht zulässigZeichenkette (
string
; zulässige Zeichen sind alle Buchstaben, alle Ziffern und folgende Sonderzeichen: ------------- Welche? -----------Array: Ein Array schließt beliebig viele durch Kommas getrennte Werte in eckigen Klammern (
[ ]
) ein; jeder Eintrag kann einen beliebigen für JSON zugelassenen Typ annehmen. Objekt: Ein Objekt wird in geschweiften Klammern ({}
) eingeschlossen. --------- Objekte werden bei der Erstellung von eigenem Code nicht benötigt. ----------
Variablen werden über einen String, der mit einem
$
beginnt, bezeichnet. Über den Variablenname kann man sich innerhalb von “Module”, “Input” und “Output” auf den Wert dieser Variable beziehen.Spezialfall bei den Variablen: Damit bei der Kodierung die variable Zahl von Eingangsvariablen verwendet werden kann, kann eine Mehrfachvariable definiert werden. Auf diese Weise kann in der grafischen Oberfläche durch Klick auf + (mehrfach) mehrere Variablen von diesem Typ als Eingang hinzugefügt werden.
Bei der Definition gibt es zwei Varianten:$VAR<name?>
: Mehrfache, aber optionale Verwendung (0 .. n), d.h. die Variable kann auch weggelassen werden.$VAR<name!>
: Mindestens einmalige, optional mehrfache Verwendung (1 .. n).
...