- Wenn der Betrachtungszeitraum0
+ Wenn der Betrachtungszeitraum0
(unbegrenzt) ist und keine anderen Ausgänge benötigt werden, kann
dieselbe Funktinonalität effizienter mit einer "Formelberechnung"
aus dem Paket "Recomedia Visu-& Web-Logikbausteine"
@@ -249,7 +237,7 @@
Beschreibung
Beispiel "Summenzähler").
- Wenn der Betrachtungszeitraum >0
+ Wenn der Betrachtungszeitraum >0
(also begrenzt) ist, dann kann dieser Ausgabewert nicht in allen
Fällen korrekt berechnet werden. Er wird zu niedrig berechnet,
wenn Eingabewerte vor Ablauf des Betrachtungszeitraums verworfen
@@ -296,18 +284,10 @@
Parameter
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Als Eingang zuschaltbar?
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Als Eingang zuschaltbar?
+
Beschreibung
@@ -377,16 +357,18 @@
Beschreibung
Betrachtungszeitraum), so werden die
meisten Ausgabewerte erst dann gesetzt, wenn nach dem Ablauf der
gegebenen Zeitspanne eines der folgenden Ereignisse eintritt:
-
Dies ist immer dann sinnvoll, wenn die Momentanwerte am Eingang
so stark schwanken können, dass eine sinnvolle Weiterverarbeitung
nicht sofort möglich ist. Ein Beispiel ist die Berechnung der
@@ -456,37 +438,37 @@
Beschreibung
Hinweise:
-
-
- Ist dieser Parameter zu klein gewählt, dann müssen
- innerhalb des Betrachtungszeitraums – oder
- zwischen zwei Neustarts – mehr Eingangswerte
- verarbeitet werden, als gespeichert werden können.
- In diesem Fall werden ältere Werte gelöscht und
- zwischen den verbleibenden linear interpoliert.
- Die ausgegebene Summe wird dann
- – außer bei unbegrenztem Betrachtungszeitraum
- – wegen fehlender Werte zu klein. Andere
- Ausgabewerte können durch Rundungsfehler ungenauer
- werden.
-
-
- Andererseits bedeutet ein zu hoher Wert unnötigen
- Speicherverbrauch. Dies kann bei stark ausgelastetem
- Systemspeicher (RAM) zu Fehlfunktionen – z. B.
- unerwarteten Neustarts der Logik – führen. Zu
- beachten ist dies insbesondere beim L1, der über
- deutlich weniger Speicher verfügt als der X1.
-
+ Ist dieser Parameter zu klein gewählt, dann müssen
+ innerhalb des Betrachtungszeitraums – oder
+ zwischen zwei Neustarts – mehr Eingangswerte
+ verarbeitet werden, als gespeichert werden können.
+ In diesem Fall werden ältere Werte gelöscht und
+ zwischen den verbleibenden linear interpoliert.
+ Die ausgegebene Summe wird dann
+ – außer bei unbegrenztem Betrachtungszeitraum
+ – wegen fehlender Werte zu klein. Andere
+ Ausgabewerte können durch Rundungsfehler ungenauer
+ werden.
+
+
+ Andererseits bedeutet ein zu hoher Wert unnötigen
+ Speicherverbrauch. Dies kann bei stark ausgelastetem
+ Systemspeicher (RAM) zu Fehlfunktionen – z. B.
+ unerwarteten Neustarts der Logik – führen. Zu
+ beachten ist dies insbesondere beim L1, der über
+ deutlich weniger Speicher verfügt als der X1.
+
Dieser Baustein errechnet aus einer oder mehreren mathematischen Formeln
- entsprechende Ausgabewerte. Die Formeln sind frei konfigurierbar. Sie
- können aus Konstanten, Platzhaltern für variable Eingangswerte,
- Rechenoperationen, Funktionsaufrufen und Kommentaren bestehen. Die
- Platzhalter bestimmen Anzahl, Namen und Porttypen der Eingänge.
+ entsprechende Ausgabewerte. Die Formeln sind frei festlegbar. Sie können
+ aus Konstanten, Platzhaltern für variable Eingangswerte, Rechenoperationen,
+ Funktionsaufrufen und Kommentaren bestehen. Die Platzhalter bestimmen Anzahl,
+ Namen und Porttypen der Eingänge.
Folgende Arten von Eingangs- und Ausgabewerten können verarbeitet werden:
- Wahrheitswerte (bool)
+ Wahrheitswerte (bool)
- Numerische Werte (Ganzzahlen byte, int, long und
- Fließkommazahlen double)
+ Numerische Werte (Ganzzahlen byte, int, long und
+ Fließkommazahlen double)
- Texte (string)
+ Texte (string)
- In den Formeln stehen nicht nur die üblichen Rechenoperationen, sondern
- darüber hinaus Vieles aus dem
- .NET 4.0 API
+ In den Formeln können die üblichen
+ Rechenoperationen (der Programmiersprache C#)
+ verwendet werden. Darüber hinaus stehen auch viele nützliche Methoden des
+ .NET 4.0 APIs
zur Verfügung.
Implementierung und Lizenzen
@@ -83,15 +98,9 @@
Eingänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -146,7 +155,7 @@
Beschreibung
-
Ausgänge
+
Ausgänge
@@ -154,15 +163,9 @@
Ausgänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -213,10 +216,10 @@
Beschreibung
Beispiel: Der Fehler
- ...: error CS1026: Unexpected symbol ',', expecting ')'
+ ...: error CS1026: Unexpected symbol ',', expecting ')'
weist sehr wahrscheinlich darauf hin, dass in einer Fließkommazahl Komma
(,) statt Punkt (.) vor den Nachkommastellen steht.
- Anstelle von ... steht, wo der Fehler zu suchen ist: In welcher
+ Anstelle von ... steht, wo der Fehler zu suchen ist: In welcher
Formel, in welcher Zeile (meist 1) und Zeichenposition.
@@ -235,18 +238,10 @@
Parameter
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Als Eingang zuschaltbar?
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Als Eingang zuschaltbar?
+
Beschreibung
@@ -281,21 +276,21 @@
Beschreibung
Diese Parameter legen fest, welchen Porttyp der entsprechende
Ausgangswert jeweils haben soll. Möglich sind die folgenden
Typen (mit ihren C#-Entsprechungen):
-
-
NUMBER
-
Fließkommazahl (double)
-
INT64
-
64-Bit-Ganzzahl mit Vorzeichen (long)
-
INTEGER
-
32-Bit-Ganzzahl mit Vorzeichen (int)
-
BYTE
-
8-Bit-Ganzzahl ohne Vorzeichen (byte)
-
BOOL
-
Wahrheitswert (bool)
-
STRING
-
Text (string)
-
+
+
NUMBER
+
Fließkommazahl (double)
+
INT64
+
64-Bit-Ganzzahl mit Vorzeichen (long)
+
INTEGER
+
32-Bit-Ganzzahl mit Vorzeichen (int)
+
BYTE
+
8-Bit-Ganzzahl ohne Vorzeichen (byte)
+
BOOL
+
Wahrheitswert (bool)
+
STRING
+
Text (string)
+
In Klammern ist jeweils der C#-Typ angegeben, wie er in
Typumwandlungsoperatoren
@@ -330,9 +325,9 @@
Beschreibung
Ausgangswerte als Variablen
Aktuelle und vorherige Ausgabewerte können in den Formeln als Variablen
- verwendet werden. Diese Variablen haben die Namen _out1_ ..
- _out49_ (für aktuelle Werte) bzw. _previousOut1_ ..
- _previousOut50_ (für vorherige Werte). Sie dürfen überall stehen,
+ verwendet werden. Diese Variablen haben die Namen _out1_ ..
+ _out49_ (für aktuelle Werte) bzw. _previousOut1_ ..
+ _previousOut50_ (für vorherige Werte). Sie dürfen überall stehen,
wo auch eine Konstante des gleichen Typs stehen dürfte.
@@ -363,14 +358,14 @@
Ausgangswerte als Variablen
Aktuelle Werte können nur aus Formeln mit niedrigeren
- Nummern (_out1_ .. _out<n-1>_) verwendet
+ Nummern (_out1_ .. _out<n-1>_) verwendet
werden. Sie stehen also nur zur Verfügung, wenn es mehrere Formeln gibt.
Dies vermeidet zyklische Abhängigkeiten.
Vorherige Werte können aus allen Formeln verwendet
werden. Das schließt die eigene und höhere Nummern
- (_previousOut<n>_ ..) ein. (Zu zyklischen
+ (_previousOut<n>_ ..) ein. (Zu zyklischen
Abhängigkeiten führt das nicht, weil diese Werte erst wieder vor den
Berechnungen für die nächste Änderung aktualisiert werden.)
@@ -379,17 +374,17 @@
Ausgangswerte als Variablen
Nach einer Inbetriebnahme oder einem Neustart des Logikmoduls gibt es
zunächst keine Werte aus vorherigen Berechnungen. Je nach Typ werden
bis zum ersten Setzen eines Ausgangs n die folgenden Werte für
- _previousOut<n>_ verwendet:
+ _previousOut<n>_ verwendet:
NUMBER
-
0.0
+
0.0
INT64, INTEGER, BYTE
-
0
+
0
BOOL
-
false
+
false
STRING
-
"" (Leerstring)
+
"" (Leerstring)
Platzhalter für Variablen
@@ -404,11 +399,11 @@
Platzhalter für Variablen
Definition – definiert erstmals einen Eingang
mit Namen und Typ und hat die folgende Form:
- {Eingangsname:T}
+ {Eingangsname:T}
Referenz – bezieht sich auf einen vorher definierten
- Eingang. Sie folgt der gleichen Form, wobei :T
+ Eingang. Sie folgt der gleichen Form, wobei :T
weg gelassen werden darf.
@@ -423,7 +418,7 @@
Platzhalter für Variablen
Eingangsname muss mit einem Buchstaben beginnen. Weiter kann
- er auch Ziffern (0..9) und Unterstriche (_) enthalten.
+ er auch Ziffern (0..9) und Unterstriche (_) enthalten.
Leerzeichen und andere Sonderzeichen sind nicht zulässig. Leerzeichen
am Anfang oder am Ende sind erlaubt, werden aber nicht in den Namen
übernommen.
@@ -435,23 +430,23 @@
- Fließkommazahl (double) – Wertebereich etwa
+ Fließkommazahl (double) – Wertebereich etwa
-1.7 × 10308 .. 1.7 × 10308 mit
einer Genauigkeit von mindestens 15 geltenden Ziffern
-
S
+
S
- Text (string) – ASCII-, ISO-8859-1- oder Unicode-Text
+ Text (string) – ASCII-, ISO-8859-1- oder Unicode-Text
@@ -460,7 +455,7 @@
Platzhalter für Variablen
Werden sie in irgend einem Teil der Formel überschritten, kommt es zu
falschen Ergebnissen.
-
Literale Konstanten in Formeln
+
Literale Konstanten
@@ -468,40 +463,34 @@
Literale Konstanten in Formeln
-
-
Konstante
-
-
-
Datentyp
-
-
-
Beschreibung
-
+
Konstante
+
Datentyp
+
Beschreibung
Zahl
-
byte integer long double
+
byte integer long double
Zahlen, die ohne Dezimaltrennzeichen angegeben werden, also nur aus
- Ziffern bestehen, sind Ganzzahlen (int). Dies ist insbesondere
+ Ziffern bestehen, sind Ganzzahlen (int). Dies ist insbesondere
beim Dividieren zu beachten (siehe Divisions-Operator).
Ganzzahlen können auch in hexadezimaler Schreibweise angegeben werden,
- indem man ihnen 0x... voran stellt. Weitere Details finden sich
+ indem man ihnen 0x... voran stellt. Weitere Details finden sich
im Abschnitt
Ganzzahlenliterale
der C#-Sprachreferenz von Microsoft.
- Fließkommazahlen (double) können auch in Exponentialschreibweise
- angegeben werden. Z. B. bedeutet 1.2E6 dasselbe wie
- 1200000.0 und -3.45E-3 dasselbe wie -0.00345.
+ Fließkommazahlen (double) können auch in Exponentialschreibweise
+ angegeben werden. Z. B. bedeutet 1.2E6 dasselbe wie
+ 1200000.0 und -3.45E-3 dasselbe wie -0.00345.
Als Dezimaltrenzeichen für Fließkomazahlen ist in Formeln –
anders als in sonstigen Eingabefeldern – immer Punkt (.)
zu verwenden. Gruppentrennzeichen (Tausendertrennzeichen) sind nicht
@@ -511,10 +500,10 @@
Beschreibung
-
true false
+
true false
-
bool
+
bool
Logische Wahrheitswerte.
@@ -522,53 +511,53 @@
Beschreibung
-
Math.PI
+
Math.PI
-
double
+
double
Die Kreiszahl
- (π
+ (π
= 3.141...)
-
Math.E
+
Math.E
-
double
+
double
Die Eulersche Zahl
- (e
+ (e
= 2.718...)
-
DateTime. Today Now
+
DateTime. Today Now
-
DateTime
+
DateTime
Nicht wirklich Konstanten, da die Werte vom Zeitpunkt des Aufrufs abhängen:
- Aktuelles Datum (Today mit Uhrzeit 0:00 Uhr; Now mit aktueller
+ Aktuelles Datum (Today mit Uhrzeit 0:00 Uhr; Now mit aktueller
Uhrzeit)
- Hinweis: Objekte vom Typ DateTime sind nicht direkt als Ausgabewerte
+ Hinweis: Objekte vom Typ DateTime sind nicht direkt als Ausgabewerte
verwendbar. Nützlich sind sie für Berechnungen mit Daten und Uhrzeiten, die
anders nicht ohne Weiteres möglich wären. Sie lassen sich auch in gültige
Ausgabetypen (Zahlen oder Texte) umwandeln. Siehe dazu die
- Dokumentation der DateTime-Klasse
+ Dokumentation der DateTime-Klasse
und das Anwendungsbeispiel "Feiertag".
Korrekt formatierte Texte kann der Gira-Typumwandler auch wieder
in DateTime-Datenpunkte umwandeln.
@@ -577,10 +566,10 @@
Beschreibung
-
"Text"
+
"Text"
-
string
+
string
@@ -590,7 +579,7 @@
Beschreibung
-
null
+
null
—
@@ -618,32 +607,20 @@
Operatoren
Die wichtigsten davon sind:
-
-
-
-
+
+
+
+
-
-
Rang-folge
-
-
-
Assozia-tivität
-
-
-
Operator
-
-
-
Bezeichnung
-
-
-
Datentypen
-
-
-
Beschreibung
-
+
Rang-folge
+
Assozia-tivität
+
Operator
+
Bezeichnung
+
Datentypen
+
Beschreibung und Beispiel
@@ -653,7 +630,7 @@
Beschreibung
Von rechts nach links
-
+ -
+
+ -
Vorzeichen
@@ -663,25 +640,26 @@
Beschreibung
- Kein Vorzeichen oder + wertet den nachfolgenden Ausdruck
- positiv, - negativ.
+ Kein Vorzeichen oder + wertet den nachfolgenden Ausdruck
+ positiv, - negativ. Beispiel: -1.6
- Erzwingt eine Typumwandlung des nachfolgenden Ausdrucks auf
+ Erzwingt eine Typumwandlung des nachfolgenden Ausdrucks auf
T. Für T können – über die an Ein- und Ausgängen
möglichen Typen hinaus – auch viele andere
Werttypen von C#
stehen.
+
Beispiel: (int)Math.Round({x:N})
@@ -719,7 +698,7 @@
Beschreibung
Von links nach rechts
-
* /
+
* /
Punkt-Grund-rechenarten
@@ -737,11 +716,11 @@
Beschreibung
abgeschnitten. Man vergleiche die folgenden Beispiele:
Ergibt den Divisionsrest einer ganzzahlingen Division.
- Beispiel: 5 % 3 → 2.
+ Beispiel: 5 % 3 → 2
@@ -776,7 +755,7 @@
Beschreibung
Von links nach rechts
-
+ -
+
+ -
Strich-Grund-rechenarten
@@ -786,7 +765,7 @@
Beschreibung
- + dient auch zur Verkettung von Texten (string).
+ + dient auch zur Verkettung von Texten (C#-Typ string).
@@ -798,20 +777,23 @@
Beschreibung
Von links nach rechts
-
< > <= >=
+
< > <= >=
Relational
- alle Zahltypen → bool
+ alle Zahltypen → bool
-
- Vergleicht zwei Werte und ergibt true, wenn der
- Vergleichsoperator zutrifft, sonst false.
+
+ Vergleicht zwei Werte und ergibt true, wenn der
+ Vergleichsoperator zutrifft, sonst false.
+
+
+ Beispiel: {temperatur:N} > 21.5
@@ -820,7 +802,7 @@
Beschreibung
6
-
== !=
+
== !=
Gleichheit, Ungleichheit
@@ -836,23 +818,23 @@
Beschreibung
-
&
+
&
UND
-
bool
+
bool
-
+
Logische Operatoren mit vollständiger Auswertung.
Hinweis:
- Der sonst übliche Operator x^y (xy) für
+ Der sonst übliche Operator x^y (xy) für
Zahlen steht nicht zur Verfügung. Man verwendet dazu die
- FunktionMath.Pow.
+ FunktionMath.Pow.
@@ -861,7 +843,7 @@
Beschreibung
8
-
^
+
^
Exklusiv-ODER
@@ -872,7 +854,7 @@
Beschreibung
9
-
|
+
|
ODER
@@ -888,19 +870,20 @@
Beschreibung
-
&&
+
&&
UND
-
bool
+
bool
-
+
Logische Operatoren mit bedingter Auswertung, d. h. die Auswertung erfolgt nur
so weit, bis das Ergebnis feststeht.
Die ersten beiden Spalten der Tabelle geben an, wie nicht geklammerte
Ausdrücke ausgewertet werden. Darin ist z. B. auch die bekannte Regel
- "Punkt vor Strich" enthalten: * und / werden vor
- + und - ausgewertet. Geklammerte Ausdrücke
- (...) werden "von innen nach außen" berechnet.
+ "Punkt vor Strich" enthalten: * und / werden vor
+ + und - ausgewertet. Geklammerte Ausdrücke
+ (...) werden "von innen nach außen" berechnet.
Weitere Angaben dazu finden sich im Abschnitt
Operatorrangfolge
der C#-Sprachreferenz.
@@ -948,7 +934,7 @@
Beschreibung
Obwohl Variablendeklarationen und Zuweisungen in Formeln generell
nicht erlaubt sind, können dennoch temporäre Objekte mit dem
- new-Operator
+ new-Operator
erzeugt und innerhalb einer Formel verwendet werden. Das Beispiel
UNIX-UTC-Zeitstempel umwandeln
zeigt eine nützliche Anwendung.
@@ -957,7 +943,7 @@
Mathematische Funktionen: Math-Bibliothek und Winkelfunktionen
können in den Formeln verwendet werden.
- Beispiel: Math.Pow({x:N}, {y:N}) berechnet aus den beiden Eingangswerten
+ Beispiel: Math.Pow({x:N},{y:N}) berechnet aus den beiden Eingangswerten
x und y deren Potenz xy.
- Die trigonometrischen Funktionen der Math-Bibliothek verwenden
+ Die trigonometrischen Funktionen der Math-Bibliothek verwenden
und liefern alle Winkelangaben im Bogenmaß. Zur Umrechnung zwischen Grad-
und Bogenmaß stehen die folgenden beiden Funktionen der
- Angle-Erweiterung zur Verfügung:
+ Angle-Erweiterung zur Verfügung:
@@ -989,22 +975,16 @@
Mathematische Funktionen: Math-Bibliothek und Winkelfunktionen
-
-
Funktion
-
-
-
Datentyp
-
-
-
Beschreibung
-
+
Funktion
+
Datentyp
+
Beschreibung
-
Angle.Deg(rad)
+
Angle.Deg(rad)
-
double
+
double
Rechnet den im Bogenmaß gegebenen Winkel rad ins Gradmaß um.
@@ -1012,10 +992,10 @@
Beschreibung
-
Angle.Rad(deg)
+
Angle.Rad(deg)
-
double
+
double
Rechnet den im Gradmaß gegebenen Winkel deg ins Bogenmaß um.
@@ -1023,7 +1003,7 @@
Beschreibung
- Mit den Math- und Angle-Funktionen sind trigonometrische,
+ Mit den Math- und Angle-Funktionen sind trigonometrische,
logarithmische und andere gebräuchliche mathematische Anwendungen abgedeckt.
Stringfunktionen
@@ -1035,14 +1015,13 @@
Stringfunktionen
verwendet werden.
- Beispiel Textersetzung: Mit
- {text:S}.Replace("alt","neu")
+ Beispiel Textersetzung: Mit {text:S}.Replace("alt","neu")
wird der Eingangstext: "Alles alt macht der Mai" am Ausgang zu
"Alles neu macht der Mai".
Funktionen zur Beleuchtungssteuerung
- Die Funktionen der Light-Erweiterung rechnen gängige Größen
+ Die Funktionen der Light-Erweiterung rechnen gängige Größen
der Beleuchtungstechnik um:
@@ -1052,22 +1031,16 @@
Funktionen zur Beleuchtungssteuerung
-
-
Funktion
-
-
-
Datentyp
-
-
-
Beschreibung
-
+
Funktion
+
Datentyp
+
Beschreibung
-
Light.HSV(h, s, v)
+
Light.HSV(h, s, v)
-
byte → int
+
byte → int
@@ -1084,7 +1057,7 @@
Beschreibung
Da Byte-Eingänge nicht vorgesehen sind, muss der Typumwandlungsoperator
verwendet werden, um Integer-Eingänge als byte-Parameter verwenden zu
können:
-
Light.HSV((byte){h:I}, (byte){s:I}, (byte){v:I})
+
Light.HSV((byte){h:I}, (byte){s:I}, (byte){v:I})
Für Integer-Werte außerhalb des Wertebereichs 0..255 führt dies zu
@@ -1099,13 +1072,13 @@
- Light.RGBW(rgb)
- Light.RGBW(r, g, b)
+ Light.RGBW(rgb)
+ Light.RGBW(r, g, b)
-
int → long byte → long
+
int → long byte → long
@@ -1175,17 +1148,17 @@
Beschreibung
Alle vier Werte im erzeugten DPT 251.600 sind gültig (und auch so markiert).
- Die bereits oben zu byte-Parametern gegebenen Hinweise gelten
+ Die bereits oben zu byte-Parametern gegebenen Hinweise gelten
entsprechend.
Ganzzahl-Eingänge mit dem benötigten Wertebereich nicht zur
Verfügung stehen, muss ein Fließkommazahl-Eingang und ein
Typumwandlungsoperator verwendet werden; z. B.:
-
RGBWToB((long){r:N})
+
RGBWToB((long){r:N})
Wenn im Eingabewert Intensitäten als ungültig markiert sein können, dann
@@ -1237,16 +1210,16 @@
- byte → int int → int
- byte → int int → int
+ byte → int int → int
+ byte → int int → int
@@ -1254,7 +1227,7 @@
Beschreibung
Rechnet Farbangaben zwischen dem RGB-Farbraum und dem HSV-Farbraum um.
- Die bereits oben zu byte-Parametern und DPT 232.600 gegebenen
+ Die bereits oben zu byte-Parametern und DPT 232.600 gegebenen
Hinweise gelten entsprechend.
@@ -1266,7 +1239,7 @@
Beschreibung
Funktionen für die Heizungs-, Lüftungs- und Klimatechnik (HLK)
- Die Funktionen der Hlk-Erweiterung helfen bei der Realisierung
+ Die Funktionen der Hlk-Erweiterung helfen bei der Realisierung
von Heizungs- und Lüftungsreglern.
@@ -1276,22 +1249,16 @@
Funktionen für die Heizungs-, Lüftungs- und Klimatechnik (HLK)
-
-
Funktion
-
-
-
Datentyp
-
-
-
Beschreibung
-
+
Funktion
+
Datentyp
+
Beschreibung
-
Hlk.HeatingCurve (TaAvg, ...)
+
Hlk.HeatingCurve (TaAvg, ...)
-
double
+
double
@@ -1315,10 +1282,10 @@
Beschreibung
-
Hlk.AbsHumidity(T, rf)
+
Hlk.AbsHumidity(T, rf)
-
double
+
double
@@ -1331,10 +1298,10 @@
Beschreibung
-
Hlk.DewPoint(T, rf)
+
Hlk.DewPoint(T, rf)
-
double
+
double
@@ -1368,12 +1335,12 @@
Beschreibung
Kommentare
Die Formeln können mit Kommentaren in der Form
- /* ... */ dokumentiert
- werden. Darin kann anstelle von ... nahezu beliebiger Text
+ /* ... */ dokumentiert
+ werden. Darin kann anstelle von ... nahezu beliebiger Text
stehen. Solche Kommentare – auch mehrere davon – können
am Anfang, am Ende oder an anderen Stellen der Formel stehen.
Automatisierungsfunktionen anders ablaufen als an normalen
Werktagen. Die folgende Formel berechnet dazu zunächst das
morgige Datum als STRING:
- DateTime.Today.AddDays(1).ToString("d") /* Datum für Morgen errechnen */
+ DateTime.Today.AddDays(1).ToString("d") /* Datum für Morgen errechnen */
Dieses dient als Parameter für eine Web-Anfrage mittels
Web Request oder
HTTP GET Request.
Der Request-Baustein wird mit folgender URL parametriert:
- http://ipty.de/feiertag/api.php?do=isFeiertag&loc=BW&datum={Morgen}
+ http://ipty.de/feiertag/api.php?do=isFeiertag&loc=BW&datum={Morgen}
Ein zweiter Request-Baustein verwendet fast die gleiche URL, aber
ohne den Datumsparameter (was implizit "heute" bedeutet):
- http://ipty.de/feiertag/api.php?do=isFeiertag&loc=BW
- In beiden steht BW für das Bundesland Baden-Württemberg;
+ http://ipty.de/feiertag/api.php?do=isFeiertag&loc=BW
+ In beiden steht BW für das Bundesland Baden-Württemberg;
die Kürzel für andere Bundesländer entnimmt man der
Online-Dokumentation
des Webservices.
@@ -1424,8 +1391,8 @@
UNIX-UTC-Zeitstempel umwandeln
angegeben. Um solche Zeitangaben in einer Visualisierung verwenden zu
können, muss man sie zu einem Text in lokaler Zeit wandeln. Das tut die
folgende Formel:
- (new DateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc)).AddSeconds({unixUtcTimestamp:I}).ToLocalTime().ToString()
- Der new-Operator erzeugt zunächst ein DateTime-Objekt
+ (new DateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc)).AddSeconds({unixUtcTimestamp:I}).ToLocalTime().ToString()
+ Der new-Operator erzeugt zunächst ein DateTime-Objekt
mit dem richtigen Startzeitpunkt. Nach dem Addieren der Sekunden des
UTC-Zeitstempels wandeln zwei weitere Funktionen das Objekt in den
gewünschten Text um.
@@ -1434,23 +1401,23 @@
UNIX-UTC-Zeitstempel umwandeln
Da dieser kombinierte Datums- und Zeit-Text länger als 14 Zeichen ist,
kann er nicht auf dem KNX-Bus versendet, sondern nur innerhalb des L1/X1
verwendet werden. Abhilfe schaffen im Bedarfsfall z. B.
-
-
- die Funktionen DateTime.ToShortDateString und
- DateTime.ToShortTimeString, die kürzere Texte
- getrennt nach Datum und Uhrzeit erzeugen
-
-
- ein Typ-Konverter, der aus Text einen Datenpunkt vom Typ
- "Datum und Uhrzeit" erzeugen kann. Dazu verwendet man
- zweckmäßig folgenden Parameter im letzten Funktionsaufruf
- der Formel:
- ...ToString("s").
- (Ohne diesen werden evtl. Tag und Monat vertauscht, weil der
- Gira-Typ-Konverter das Textformat nicht richtig erkennt.)
-
-
+
+
+ die Funktionen DateTime.ToShortDateString und
+ DateTime.ToShortTimeString, die kürzere Texte
+ getrennt nach Datum und Uhrzeit erzeugen
+
+
+ ein Typ-Konverter, der aus Text einen Datenpunkt vom Typ
+ "Datum und Uhrzeit" erzeugen kann. Dazu verwendet man
+ zweckmäßig folgenden Parameter im letzten Funktionsaufruf
+ der Formel:
+ ...ToString("s").
+ (Ohne diesen werden evtl. Tag und Monat vertauscht, weil der
+ Gira-Typ-Konverter das Textformat nicht richtig erkennt.)
+
+
Verbesserter Schwellwert mit Hysterese
Der Gira-Baustein "Schwellwert mit Hysterese" setzt seinen Ausgang nur
@@ -1460,15 +1427,15 @@
Verbesserter Schwellwert mit Hysterese
gewünschte Verhalten zu erreichen. Man erhält in diesen Fällen
übersichtlichere Logikblätter mit weniger Bausteinen, wenn man eine
Formelberechnung mit folgenden Formeln einsetzt:
- Formel 1: {Auslöser:N} > {ObereSchwelle:N}
- Formel 2: {Auslöser:N} < {UntereSchwelle:N}
- Formel 3: _out1_ ? (bool?)true : (_out2_ ? (bool?)false : /* nichts senden */ null)
+ Formel 1: {Auslöser:N} > {ObereSchwelle:N}
+ Formel 2: {Auslöser:N} < {UntereSchwelle:N}
+ Formel 3: _out1_ ? (bool?)true : (_out2_ ? (bool?)false : /* nichts senden */ null)
Alle drei Ausgänge sind vom Typ BOOL. Der dritte gibt das gewünschte
Endergebnis aus; die ersten beiden bleiben daher unbelegt. Solange
der Auslöser zwischen den beiden Schwellwerten liegt, ergeben die
- beiden ersten Formeln jeweils false. Formel 3 gibt in
+ beiden ersten Formeln jeweils false. Formel 3 gibt in
diesem Fall nichts aus.
Hinweise:
@@ -1487,21 +1454,21 @@
Verbesserter Schwellwert mit Hysterese
wenn die Schwellwerte nicht vertauscht werden. Im einfachsten Fall
legt man dazu direkt in der ersten Formel den oberen Schwellwert auf
eine höhere Zahl als den unteren Schwellwert fest:
- Formel 1: {Auslöser:N} > ({UntereSchwelle:N} + 2.0) /* obere Schwelle */
+ Formel 1: {Auslöser:N} > ({UntereSchwelle:N} + 2.0) /* obere Schwelle */
Die beiden weiteren Formeln bleiben wie oben angegeben.
Summenzähler
- Die folgende Formel erhöht, beginnend bei 0, mit jedem
- eintreffenden Telegramm am Eingang Erhöhung den Ausgang
+ Die folgende Formel erhöht, beginnend bei 0, mit jedem
+ eintreffenden Telegramm am Eingang Erhöhung den Ausgang
um den eingehenden Wert:
- {Neustart:B} ? 0 /* neu starten */ : (_previousOut1_ + {Erhöhung:I}) /* aufsummieren */
+ {Neustart:B} ? 0 /* neu starten */ : (_previousOut1_ + {Erhöhung:I}) /* aufsummieren */
Aufgrund des Bedingungsoperators gilt dies jedoch nur so lange,
- wie der Eingang Neustart den Wert false hat.
- Wenn und solange Neustart den Wert true hat,
- wird jede Erhöhung verworfen und der Ausgang wird (oder
- bleibt bei) 0.
+ wie der Eingang Neustart den Wert false hat.
+ Wenn und solange Neustart den Wert true hat,
+ wird jede Erhöhung verworfen und der Ausgang wird (oder
+ bleibt bei) 0.
Die angegebene Formel erzeugt am Ausgang eine Ganzzahl (z. B.
diff --git a/VisuWebNodes/help/HeatingCurve.html b/VisuWebNodes/help/HeatingCurve.html
index 270f1e5..3e3a6dd 100644
--- a/VisuWebNodes/help/HeatingCurve.html
+++ b/VisuWebNodes/help/HeatingCurve.html
@@ -29,28 +29,22 @@
Dieses Zwischenergebnis vom Typ NUMBER wird nur für die Visualisierung verwendet.
Bedarfsführung
- Der tatsächliche Wärmebedarf ist als prozentualer Bedarf gegeben. Er senkt
+ Der tatsächliche Wärmebedarf ist als prozentualer Bedarf gegeben. Er senkt
die Vorlauftemperatur aus Formel 1 wie folgt ab:
- Formel 2: /* Bedarfsführung */ ({Bedarf:N} / 100) * (_out1_ - {TSoll}) + {TSoll}
+ Formel 2: /* Bedarfsführung */ ({Bedarf:N} / 100) * (_out1_ - {TSoll}) + {TSoll}
Dieses Endergebnis vom Typ NUMBER wird als Soll-Vorlauftemperatur an den
Heizungsregler weiter gegeben.
ACHTUNG – Neue Versionen des Textformatierers sind inkompatibel zu Versionen vor 0.9.x
-
- Benutzer, die bisher den Textformatierer aus einer Version vor 0.9.x verwendet
- haben, müssen unbedingt die Update-Anleitung
- beachten! Ansonsten kann es zu Fehlern im GPA kommen, die sich nur durch
- Löschen ganzer Logikblätter – oder im schlimmsten Fall Neuanlegen des
- Projekts – beheben lassen.
-
Übersicht
Die Logikbausteine in diesem Paket unterstützen Berechnungen und
diff --git a/VisuWebNodes/help/StringFormatter.html b/VisuWebNodes/help/StringFormatter.html
index a27f40f..3545602 100644
--- a/VisuWebNodes/help/StringFormatter.html
+++ b/VisuWebNodes/help/StringFormatter.html
@@ -15,19 +15,11 @@
ACHTUNG – Neue Versionen sind inkompatibel zu Versionen vor 0.9.x
-
- Benutzer, die bisher eine Version vor 0.9.x verwendet haben, müssen
- unbedingt die Update-Anleitung beachten!
- Ansonsten kann es zu Fehlern im GPA kommen, die sich nur durch Löschen
- ganzer Logikblätter – oder im schlimmsten Fall Neuanlegen des
- Projekts – beheben lassen.
-
Beschreibung
-
+
Dieser Baustein setzt einen oder mehrere Ausgabetexte aus Formatvorlagen
und den darin referenzierten Eingangswerten zusammen. Formatvorlagen
@@ -63,7 +55,7 @@
Eingänge
Solange keine gültige(n) Formatvorlage(n) festgelegt
wurde(n), hat der Baustein keine Eingänge.
- Eingänge werden nur durch gültige Platzhalter in den Formatvorlagen angelegt.
+ Eingänge werden nur durch gültige Platzhalter in den Formatvorlagen angelegt.
Ihre Reihenfolge ergibt sich – für jeden Porttyp getrennt – aus
der Reihenfolge der entsprechenden Platzhalter in den Formatvorlagen. In der
Tabelle sind die automatisch vergebenen Eingangsnamen genannt. Diese werden
@@ -76,15 +68,9 @@
Eingänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -147,15 +133,9 @@
Ausgänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -200,18 +180,10 @@
Parameter
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Als Eingang zuschaltbar?
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Als Eingang zuschaltbar?
+
Beschreibung
@@ -383,12 +355,12 @@
Platzhalter in der Formatvorlage
Definition – definiert erstmals einen Eingang
mit Namen und Typ und hat die folgende Form:
- {[Eingangsname]:T[Format]}
+ {[Eingangsname]:T[Format]}
Referenz – bezieht sich auf einen vorher definierten
Eingang, dessen Typ bereits festgelegt ist:
- {Eingangsname[:T[Format]]}
+ {Eingangsname[:T[Format]]}
@@ -409,8 +381,8 @@
Platzhalter in der Formatvorlage
Eingangsname muss mit einem Buchstaben beginnen. Weiter kann
er auch Ziffern, Leer- und Interpunktionszeichen enthalten, mit
- Ausnahme von geschweiften Klammern ({ und }) und
- Doppelpunkt (:). Leerzeichen am Anfang oder am Ende
+ Ausnahme von geschweiften Klammern ({ und }) und
+ Doppelpunkt (:). Leerzeichen am Anfang oder am Ende
werden nicht in den Namen übernommen.
Datentyp und Formatierung
@@ -424,42 +396,42 @@
Datentyp und Formatierung
- B – Wahrheitswert (Bool)
+ B – Wahrheitswert (Bool)
- Ohne Formatparameter wird false
- als 0, true als 1 dargestellt.
+ Ohne Formatparameter wird false
+ als 0, true als 1 dargestellt.
Mit zwei ASCII- oder
Unicode-Zeichen
- als Formatparameter (z. B. B☁☀)
- wird false als das erste (im Beispiel ☁),
- true als das zweite Zeichen (im Beispiel ☀)
+ als Formatparameter (z. B. B☁☀)
+ wird false als das erste (im Beispiel ☁),
+ true als das zweite Zeichen (im Beispiel ☀)
dargestellt. (Manche Unicode-Zeichen führen zu Fehlern; man
kann sie – wie im nächsten Punkt beschrieben –
als Text-Parameter meist dennoch verwenden.)
Mit zwei Unicode-Texten als Formatparameter (z. B.
- B|Aus|Ein) wird false als der erste
- (im Beispiel "Aus"), true als der zweite Text
+ B|Aus|Ein) wird false als der erste
+ (im Beispiel "Aus"), true als der zweite Text
(im Beispiel "Ein") dargestellt. Die Texte dürfen alle
Sonderzeichen mit Ausnahme von geschweiften Klammern
- ({ und }), Doppelpunkt (:),
- Gleichheitszeichen (=) und senkrechtem Strich
- (|) enthalten, also auch Leerzeichen.
+ ({ und }), Doppelpunkt (:),
+ Gleichheitszeichen (=) und senkrechtem Strich
+ (|) enthalten, also auch Leerzeichen.
- I – Ganzzahl (Integer). Zu möglichen
+ I – Ganzzahl (Integer). Zu möglichen
Formatparametern siehe im Abschnitt
Textdarstellungen numerischer Werte
weiter unten.
- F – Fließkommazahl (Number), ohne
+ F – Fließkommazahl (Number), ohne
Gruppentrennzeichen (Tausendertrennzeichen) formatiert
@@ -480,13 +452,13 @@
Datentyp und Formatierung
- N – Fließkommazahl (Number), mit dem
+ N – Fließkommazahl (Number), mit dem
parametrierten Gruppentrennzeichen
- (Tausendertrennzeichen) formatiert. Ansonsten wie F.
+ (Tausendertrennzeichen) formatiert. Ansonsten wie F.
- G – Fließkommazahl, formatiert ähnlich wie
- F, jedoch mit zwei Abweichungen:
+ G – Fließkommazahl, formatiert ähnlich wie
+ F, jedoch mit zwei Abweichungen:
Die Format-Ziffer gibt nicht die Zahl der
@@ -503,7 +475,7 @@
Datentyp und Formatierung
dargestellt.
- P – Fließkommazahl, als Prozentwert formatiert:
+ P – Fließkommazahl, als Prozentwert formatiert:
1.0 wird z. B. als "100.00%" dargestellt.
@@ -522,7 +494,7 @@
Datentyp und Formatierung
- S - Variabler Text. Zu möglichen Formatparametern
+ S - Variabler Text. Zu möglichen Formatparametern
siehe den Abschnitt
Textersetzungen in Text-Platzhaltern
weiter unten.
@@ -538,7 +510,7 @@
Textdarstellungen numerischer Werte
Soll ein einzelner Zahlenwert auf einen Text
abgebildet werden so folgt die Zuweisung dieser Form:
- [Wert=][Text]
+ [Wert=][Text]
Darin ist Wert eine Dezimalzahl, bei der ggf. als
Dezimaltrennzeichen ein Komma (,) vor den Nachkommastellen
steht. Gruppentrennzeichen (Tausendertrennzeichen) dürfen
@@ -549,12 +521,12 @@
Textdarstellungen numerischer Werte
Um einen Wertebereich (Intervall) auf einen Text
abzubilden, folgt die Zuweisung dieser Form:
- [[>]Wert]..[[<]Wert]=[Text]
+ [[>]Wert]..[[<]Wert]=[Text]
Dabei ist der erste Wert der untere Grenzwert des Intervalls,
der zweite der obere.
- Die optionalen Zeichen > bzw. <
+ Die optionalen Zeichen > bzw. <
geben an, dass der Grenzwert selbst ausgeschlossen ist (also
ein offenes Intervall festgelegt werden soll). Ohne sie ist
der Grenzwert jeweils enthalten (geschlossenes Intervall).
@@ -573,9 +545,9 @@
Textdarstellungen numerischer Werte
Text darf – wie schon bei Wahrheitswerten –
alle Sonderzeichen mit Ausnahme von geschweiften Klammern
- ({ und }), Doppelpunkt (:),
- Gleichheitszeichen (=) und senkrechtem Strich
- (|) enthalten, also auch Leerzeichen. Wenn ein Wert
+ ({ und }), Doppelpunkt (:),
+ Gleichheitszeichen (=) und senkrechtem Strich
+ (|) enthalten, also auch Leerzeichen. Wenn ein Wert
oder Bereich angegeben ist, darf der Text auch leer sein, um
die Ausgabe zu unterdrücken.
@@ -584,22 +556,22 @@
Beispiele
Den HVAC-Modus eines Raumtemperaturreglers (1 Byte, DPT
20.102) als Text ausgeben:
-
Die ganzzahlig in Grad gegebene meteorologische Windrichtung als
Pfeilrichtung in 45°-Schritten ausgeben (0 Grad entspricht Nord;
Werte steigen im Uhrzeigersinn, -1 bedeutet "unbestimmt, wechselnd"):
-
Die Bereichsüberschneidungen sind beabsichtigt: Kleinere Bereiche
für spezielle Piktogramme stehen vor größeren Bereichen mit
allgemeineren Piktogrammen. Die Spezialfälle haben dadurch Vorrang,
@@ -618,10 +590,10 @@
Textersetzungen in Text-Platzhaltern
Die einzelnen Textersetzungen haben dabei folgende Form:
- Originaltext=[Ersetzungstext]
+ Originaltext=[Ersetzungstext]
Die Texte dürfen alle Sonderzeichen mit Ausnahme von geschweiften
- Klammern ({ und }), Doppelpunkt (:),
- Gleichheitszeichen (=) und senkrechtem Strich (|)
+ Klammern ({ und }), Doppelpunkt (:),
+ Gleichheitszeichen (=) und senkrechtem Strich (|)
enthalten, also auch Leerzeichen und Unicode-Zeichen. Der Originaltext
muss mindestens ein Zeichen umfassen. Der Ersetzungstext darf auch
leer sein.
@@ -637,8 +609,10 @@
Textersetzungen in Text-Platzhaltern
Beispiel
Den Wetterkurztext eines Internet-Wetterdienstes als Unicode-Piktogramm
- ausgeben:
-
Sechs Eingangsgrößen verschiedener Typen und (sehr wenig) Festtext
setzen den Ausgabetext zusammen. Dieser zeigt – durch senkrechte
Striche getrennt – die folgenden Daten:
-
+
Ob Heizwärmebedarf vorliegt (🔴) oder nicht (⚪) und seit wann
@@ -679,8 +653,8 @@
Anwendungsbeispiel
Der fertig formatierte Ausgabetext sieht dann z. B. so aus:
-
🔴 (6:35) | ✇ | ▲42/43°C | ▽38°C
+
🔴 (6:35) | ✇ | ▲42/43°C | ▽38°C
Eine Kachel (Statusanzeige Text) der X1-Visualisierung kann so kompakt
und übersichtlich alle Kenngrößen des Heizkreises anzeigen.
diff --git a/VisuWebNodes/help/XmlJsonParser.html b/VisuWebNodes/help/XmlJsonParser.html
index 6d42294..fcc54df 100644
--- a/VisuWebNodes/help/XmlJsonParser.html
+++ b/VisuWebNodes/help/XmlJsonParser.html
@@ -15,14 +15,14 @@
Dieser Baustein extrahiert aus einem XML- oder JSON-Datensatz am
Eingang anhand einer oder mehrerer
@@ -48,15 +48,9 @@
Eingänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -82,15 +76,9 @@
Ausgänge
-
-
Bezeichnung
-
-
-
Porttyp
-
-
-
Beschreibung
-
+
Bezeichnung
+
Porttyp
+
Beschreibung
@@ -108,8 +96,8 @@
Beschreibung
Sollte die Eingabe
benannte HTML-Zeichen (HTML entities) enthalten, so werden
- diese in Ausgabetexten dekodiert. (z. B. wird ä zu
- ä).
+ diese in Ausgabetexten dekodiert. (z. B. wird ä zu
+ ä).
Ausgabewerte konvertieren bei Weitergabe an nachfolgende Eingänge automatisch
@@ -144,18 +132,10 @@
- Wer bisher nicht den Textformatierer-Baustein in einer
- Version vor 0.9.x verwendet hat, benötigt diese Update-Anleitung
- nicht.
-
-
- Die vorliegende Baustein-Version hat durch die Unterstützung von
- mehreren Ausgängen und Formatvorlagen andere interne Namen für die
- Ausgänge und Formatvorlagen. (Versionen vor 0.8.0 haben zudem eine
- andere Platzhalter-Syntax.) Nichtbeachtung der folgenden Anleitung
- führt deshalb zu
-
-
-
- Verlust von Formatvorlagen, Ausgängen und Eingängen, und daraus
- folgend zu
-
-
- inkonsistenten Verbindungen zu nicht mehr existierenden Ein- und
- Ausgängen, die weder angezeigt noch gelöscht werden können
-
-
- und daher nicht mehr benutzbaren Logikblättern und
- Projekten!
-
-
-
Update Schritt für Schritt
-
- Um Probleme und Datenverluste zu vermeiden, beim Update bitte
- genau wie folgt vorgehen:
-
-
Play it safe – Backup und Dokumentation
-
-
- Das Projekt duplizieren und die Kopie des Projekts öffnen;
- darin den Logik-Editor öffnen.
-
-
- Für alle vorhandenen Textformatierer-Bausteinen auf allen
- Logikblättern die vorhandenen Verbindungen an den Ein- und
- Ausgängen dokumentieren (z. B. durch Bildschirmfotos).
-
-
- Die Formatvorlagen aus den Eingabefeldern der
- Baustein-Eigenschaften in einen Texteditor kopieren.
-
-
- Falls die Formatvorlagen noch die alte Syntax mit \\ als
- Platzhalterbegrenzung verwenden: Im Texteditor an die
- neue Syntax
- mit geschweiften Klammern ({}) anpassen. Dazu im einfachsten
- Fall
-
-
- Den Rückwärts-Schrägstrich (\) am Anfang jedes
- Platzhalters durch {: ersetzen
-
- Den Rückwärts-Schrägstrich (\) am Ende jedes
- Platzhalters durch } ersetzen
-
-
- Die neue Syntax erlaubt, jedem Eingang einen sprechenden Namen
- zu geben. Dieser steht ggf. zwischen der öffnenden geschweiften
- Klammer ({) und dem Doppelpunkt (:) am Anfang des Platzhalters.
- Beispiel: Aus (alt) \P1\ wird (neu) {Stellgröße:P1}
-
-
-
Projektkopie aktualisieren
-
-
- Bei allen vorhandenen Textformatierer-Bausteinen auf allen
- Logikblättern die Verbindungen aller Ein- und Ausgänge löschen.
-
-
- Erst wenn sicher keine Ein- und Ausgänge mehr angeschlossen sind:
- Mit "Logikbausteine hinzufügen" die neue Version in den GPA
- importieren und die "Logikbausteine aktualisieren".
-
-
- Im Dialog den Update bestätigen. (Das Projekt schließt sich.)
-
-
- Die Kopie des Projekts und darin den Logik-Editor erneut öffnen.
-
-
- Alle Logikblätter, die Textformatierer-Bausteine enthalten, erneut
- öffnen. (Die Formatvorlagen und Eingänge sind verschwunden.)
-
-
- Die Formatvorlage in neuer Syntax aus dem Texteditor ins
- entsprechende Eingabefeld der Baustein-Eigenschaften kopieren.
- Wenn die Syntax richtig ist, erscheinen die Eingänge wieder
- (möglicherweise mit anderen Namen).
-
-
- Die vorher dokumentierten Verbindungen aller Ein- und Ausgänge
- wieder herstellen.
-
-
- Wenn alle Logikblätter aktualisiert worden sind, das Projekt
- auf Fehler prüfen und ggf. nacharbeiten.
-
-
-
- Sollte dieses Vorgehen nicht zum gewünschten Erfolg führen –
- oder gar zu Logikblättern, die sich nicht mehr öffnen lassen –
- dann sind sehr wahrscheinlich Ein- oder Ausgänge vergessen worden,
- die nach dem Update verwaiste – nicht darstellbare und nicht
- löschbare – Verbindungen haben. Dann hilft nur: Diese Anleitung
- nochmal von vorne abarbeiten, und diesmal wirklich keinen
- einzigen Baustein und keine einzige Verbindung
- vergessen.
-