Skip to content

Commit 940efe5

Browse files
authored
Feature/selection (#22)
* ETS app for selection and blinker without help content and without KO's * Add KO's for selection and blinker * Remove deactivated page * Fix inputs for selection function block * Add basic function block doc for selection and blinker * Update order of function blocks in ETS app and update documentation * Fix exchanged DPT 5.005 and 5.001 * ETS app for selection and blinker tested. Firmware not yet implemented. * Implementation BlinkerBlock, untestet * Untested implementation of selection block, documentation * Debugging Blinker (wip) * Blinker working * Remove debug logs from blinker * 'Auswahl' working
1 parent 7ea573b commit 940efe5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1800
-284
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ Bei Bedarf können die FunktionsBlöcke mit Logiken ergänzen werden.
2222
- Zeitüberschreitung (Watchdog)
2323
- Minimaler Wert
2424
- Maximaler Wert
25-
25+
- Multiplexer
26+
- Blinker
2627

2728
## Planned Features
28-
- Multiplexer
2929
- Counter
30-
- Blinker
30+
3131

3232
## Applikationsbeschreibung
3333

doc/Applikationsbeschreibung-FunctionBlocks.md

Lines changed: 262 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,57 @@ Die Anwendung stellt je Kanal einen Funktionsblock bereit.
77
Folgende Funktionsblöcke stehen zur Auswahl:
88
* [UND](#und)
99
* [ODER](#oder)
10-
* [Prioritätsschalter](#prioritätsschalter)
11-
* [Beispielanwendungen](#beispielsanwendung)
1210
* [Anzahl](#anzahl)
11+
* [Auswahl (Multiplexer)](#auswahl-multiplexer)
12+
* [Prioritätsschalter](#prioritätsschalter)
1313
* [Statistische Aggregation](#statistische-aggregation)
14-
* [Count-Down Zeitgeber](#count-down-zeitgeber)
1514
* [Wertüberwachung](#wertüberwachtung)
16-
17-
18-
### ETS Konfiguration
19-
20-
* **[Allgemein](#allgemein)**
21-
* [Kanalauswahl](#kanalauswahl)
22-
* (n=1 bis 99) *Abhängig vomTyp*:
23-
* [Kanal-Typ-unabhängige Einstellungen](#kanaleinstellungen)
24-
* {[**UND**, **ODER**, **Anzahl**](#undoderanzahl-kanaleinstellungen)}
25-
* [**Prioritätsschalter**](#prioritätsschalter-1)
26-
* [**Aggregation**](#aggregation)
27-
* [**Count-Down Zeitgeber**](#count-down-zeitgeber-1)
28-
* [**Wertüberwachung**](#wertüberwachung-1)
15+
* [Count-Down Zeitgeber](#count-down-zeitgeber)
16+
* [Blinker](#blinker)
2917

3018

3119
# Blocktypen
3220

33-
3421
<!-- DOC -->
3522
## UND
3623

3724
Ein UND-Funktionsblock verfügt über bis zu 9 Eingänge.
3825
Der Ausgang gibt EIN aus, wenn alle Eingänge EIN sind.
3926
Zusätzlich können sowohl die Eingänge als auch der Ausgang über die Konfiguration invertiert werden.
4027

28+
<!-- DOCEND -->
29+
[ETS Konfiguration](#undoderanzahl-kanaleinstellungen)
30+
4131
<!-- DOC -->
4232
## ODER
4333

4434
Ein ODER-Funktionsblock verfügt über bis zu 9 Eingänge. Der Ausgang gibt EIN aus, wenn mindestens ein Eingang EIN ist.
4535
Zusätzlich können sowohl die Eingänge als auch der Ausgang über die Konfiguration invertiert werden.
4636

37+
<!-- DOCEND -->
38+
[ETS Konfiguration](#undoderanzahl-kanaleinstellungen)
39+
40+
<!-- DOC -->
41+
## Anzahl
42+
43+
Ein Anzahl-Funktionsblock verfügt über bis zu 9 Eingänge.
44+
Der Ausgang gibt aus, wie viele der (verwendeten) Eingänge den Wert EIN angenommen haben.
45+
Die Eingänge können vor Zählung invertiert werden.
46+
47+
<!-- DOCEND -->
48+
[ETS Konfiguration](#undoderanzahl-kanaleinstellungen)
49+
50+
51+
<!-- DOC -->
52+
## Auswahl (Multiplexer)
53+
54+
Über die Funktion Auswahl kann ein Eingang auf einen Ausgang durchverbunden werden.
55+
Es stehen 2-8 Eingänge zur Verfügung.
56+
Die Auswahl welcher Eingang auf den Ausgang geschalten wird, erfolgt über ein Gruppenobjekt.
57+
58+
<!-- DOCEND -->
59+
[ETS Konfigruation](#auswahl-multiplexer-1)
60+
4761
<!-- DOC -->
4862
## Prioritätsschalter
4963
Ein Prioritätsschalter hat bis zu 9 Eingänge vom Typ EIN/AUS.
@@ -62,13 +76,8 @@ Die Farbe der LED kann aber über ein Kommunikationsobjekt nicht verändert werd
6276
Jedoch bietet der Taste die Möglichkeit verschiedene Prozentwerte mit verschieden Farben darzustellen.
6377
So können z.B. für einen Jalousientaster Kommunikationswerte für Nachbetrieb, Beschattung aktiv, Windsperre auf Prozentwerte umgesetzt werden, die der Taster in verschiedene Farbwerte umsetzt.
6478

65-
66-
<!-- DOC -->
67-
## Anzahl
68-
69-
Ein Anzahl-Funktionsblock verfügt über bis zu 9 Eingänge.
70-
Der Ausgang gibt aus, wie viele der (verwendeten) Eingänge den Wert EIN angenommen haben.
71-
Die Eingänge können vor Zählung invertiert werden.
79+
<!-- DOCEND -->
80+
[ETS Konfiguration](#prioritätsschalter-1)
7281

7382
<!-- DOC -->
7483
## Statistische Aggregation
@@ -77,6 +86,20 @@ Ein Aggregations-Funktionsblock verfügt über bis zu 9 numerische Eingänge, g
7786
Der Ausgangswert wird basierend auf der gewählten Funktion (Summe, Mittelwert, Minimum, Maximum, Spannbreite) berechnet und kann in verschiedenen numerischen DPTs ausgegeben werden.
7887
Es kann beeinflusst werden, wie mit Werten umgegangen wird die vom Ausgatyp nicht dargestellt werden können.
7988

89+
<!-- DOCEND -->
90+
[ETS Konfiguration](#aggregation)
91+
92+
<!-- DOC -->
93+
## Wertüberwachung
94+
95+
Die Wertüberwachung dient zum überwachen von Messwerten oder Signalen.
96+
Bei zu lange fehlenden Übertragungen, kann ein Ersatzwert auf den Bus gesendet werden.
97+
Ebenfalls können Minimum und Maximumwerte festgelegt werden und bei Bedarf durch einen Ersatzwert ersetzt werden.
98+
99+
<!-- DOCEND -->
100+
[ETS Konfiguration](#wertüberwachung-1)
101+
102+
80103
<!-- DOC -->
81104
## Count-Down Zeitgeber
82105

@@ -89,12 +112,19 @@ Es gibt Ausgänge für
89112
- Aktiv laufende Zeit
90113
- Pause aktiv
91114

115+
<!-- DOCEND -->
116+
[ETS Konfiguration](#count-down-zeitgeber-1)
117+
118+
92119
<!-- DOC -->
93-
## Wertüberwachung
120+
## Blinker
94121

95-
Die Wertüberwachung dient zum überwachen von Messwerten oder Signalen.
96-
Bei zu lange fehlenden Übertragungen, kann ein Ersatzwert auf den Bus gesendet werden.
97-
Ebenfalls können Minimum und Maximumwerte festgelegt werden und bei Bedarf durch einen Ersatzwert ersetzt werden.
122+
Die Funktion Blinker stellt einen Ausgang für ein Blinklicht bereit.
123+
Die Anzahl der Blinkintervalle ist konfigurierbar und/oder über ein Gruppenobjekt steuerbar.
124+
Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten oder Stunden festgelegt werden.
125+
126+
<!-- DOCEND -->
127+
[ETS Konfiguration](#blinker-1)
98128

99129
# ETS Konfiguration
100130

@@ -121,25 +151,36 @@ Für jeden Kanal kann für einen Funktionsblock konfiguriert werden:
121151
Ein ODER-Funktionsblock verfügt über bis zu 9 Eingänge.
122152
Der Ausgang gibt EIN aus, wenn mindestens ein Eingang EIN ist.
123153

154+
- **Anzahl**
155+
Ein Anzahl-Funktionsblock hat bis zu 9 Eingänge vom Typ EIN/AUS.
156+
Der Ausgang gibt die Anzahl der Eingänge mit dem Wert EIN aus.
157+
158+
- **Auswahl (Mulitplexer)**
159+
Über die Funktion Auswahl kann ein Eingang auf einen Ausgang durchverbunden werden.
160+
Es stehen 2-8 Eingänge zur Verfügung.
161+
Die Auswahl welcher Eingang auf den Ausgang geschalten wird, erfolgt über ein Gruppenobjekt.
162+
124163
- **Prioritätsschalter**
125164
Ein Prioritätsschalter hat bis zu 9 Eingänge vom Typ EIN/AUS.
126165
Der Eingang mit der höchsten Priorität der EIN ist, bestimmt den Ausgangswert.
127166

128-
- **Anzahl**
129-
Ein Anzahl-Funktionsblock hat bis zu 9 Eingänge vom Typ EIN/AUS.
130-
Der Ausgang gibt die Anzahl der Eingänge mit dem Wert EIN aus.
131167

132168
- **Statistische Aggregation**
133169
Ein Aggregations-Funktionsblock hat bis zu 9 Eingänge mit numerischem Typ.
134170
Es kann zwischen fünf Funktionen (Summe, Mittelwert, Minimum, Maximum, Spannbreite) zur Berechnung des Ausgangswertes gewählt werden.
135171

172+
- **Wertüberwachung**
173+
Überwacht einen Eingang und löst einen Alarm bei falschen oder ausbleibenden Werten aus.
174+
Es können auch Ersatzwerte auf den Bus geschickt werden.
175+
136176
- **Count-Down Zeitgeber**
137177
Zählt von eine vorgebenen Zeit in herunter.
138178
Die Laufzeit kann über konfiguration oder über den Bus gesteuert werden.
139179

140-
- **Wertüberwachung**
141-
Überwacht einen Eingang und löst einen Alarm bei falschen oder ausbleibenden Werten aus.
142-
Es können auch Ersatzwerte auf den Bus geschickt werden.
180+
- **Blinker**
181+
Die Funktion Blinker stellt einen Ausgang für ein Blinklicht bereit.
182+
Die Anzahl der Blinkintervalle ist konfigurierbar und/oder über ein Gruppenobjekt steuerbar.
183+
Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten oder Stunden festgelegt werden.
143184

144185
## Kanaleinstellungen
145186

@@ -741,4 +782,190 @@ Optionen:
741782
- **Getrenntes Ausgangsobjekt, gültige und Ersatzwerte**
742783
Am Ausgang werden alle gültigen Eingangswerte gesendet und im Fehlerfall so eingestellt, Ersatzwerte auf den Bus gesendet.
743784
- **Getrenntes Ausgangsobjekt, nur Ersatzwerte**
744-
Es werden nur eingestellte Ersatzwerte auf den Ausgang gesendet.
785+
Es werden nur eingestellte Ersatzwerte auf den Ausgang gesendet.
786+
787+
<!-- DOC HelpContext="Selection" -->
788+
## Auswahl (Multiplexer)
789+
790+
Über die Funktion Auswahl kann ein Eingang auf einen Ausgang durchverbunden werden.
791+
Es stehen 2-8 Eingänge zur Verfügung.
792+
793+
Hinweis: Bevor der Eingang "Auswahl" beschrieben wird, ist der Eingang1 mit dem Ausgang verbunden.
794+
Wird beim Eingang "Auswahl" ein größerer Wert als die zur Verfügung stehenden Eingänge übergeben, wird die Auswahl nicht übernommen und es wird weiterhin der zuvor gewählte Eingang auf den Ausgang verbunden.
795+
796+
<!-- DOC -->
797+
### Datentype
798+
799+
Auswahl des Datentypes für die Ein- und Ausgänge:
800+
801+
- 1.* 1-Bit (0/1)
802+
- 5.* 8-Bit vorzeichenlos
803+
- 5.001 Prozent (0..100%)
804+
- 6.* 8-Bit vorzeichenbehaftet
805+
- 7.* 2-Byte vorzeichenlos
806+
- 8.* 2-Byte vorzeichenbehaftet
807+
- 9.* 2-Byte Gleitkommawert
808+
- 12.* 4-Byte vorzeichenlos
809+
- 13.* 4-Byte vorzeichenbehaftet
810+
- 14.* 4-Byte Gleitkommawert
811+
- 16.* 14-Byte Zeichenfolge
812+
813+
<!-- DOC -->
814+
### Anzahl und Typ der Auswahlen (mit gemeinsamen Auswahl-Eingang)
815+
816+
Über diese Konfiguration wird die Anzahl der Eingänge festgelegt.
817+
Bei 2 Eingängen wird für die "Auswahl" ein 1-bit verwendet, bei mehr als 2 Eingängen wir ein Szenen-Objekt verwendet.
818+
Bei 1-bit enspricht AUS der Auswahl für Eingang 1 und EIN der Auswahl für Eingang 2
819+
Bei Szenen Auswahl entspricht die Szenennummer der Eingangnummer.
820+
Achtung: Szene1 entspricht den technischen Zahlenwert 0.
821+
822+
<!-- DOC -->
823+
### Bei Umschaltung
824+
825+
Gibt an, ob bei Umschaltung der Auswahl der Wert des neuen gewählten Eingangs auf den Ausgang gesendet werden soll.
826+
827+
- **Nichts senden**
828+
- **Eingangswert senden oder Lesetelegram für Eingang wenn nicht gesetzt**
829+
Diese Einstellung bewirkt auch, dass beim Starten auf Eingang1 ein Lesetelegram geschickt wird, das Eingang1 Standardmäßig auf den Ausgang geschalten ist.
830+
- **Eingangswert senden wenn bekannt, sonst 0-Wert**
831+
- **Eingangswert senden wenn bekannt, sonst 0-Wert**
832+
- **Eingangswert senden wenn bekannt, sonst nichts senden**
833+
834+
<!-- DOC -->
835+
### Auswahl Status Objekt
836+
837+
Es kann gewählt werden, ob ein Objekt mit der Nummer des aktuell gewählten Eingangs zur Verfügung stehen soll.
838+
<!-- DOCEND -->
839+
Diese Option steht nur zur Verfügung, wenn weniger als 8 Eingänge verwendet werden.
840+
841+
<!-- DOC -->
842+
## Blinker
843+
844+
Die Funktion Blinker stellt einen Ausgang für ein Blinklicht bereit.
845+
Die Anzahl der Blinkintervalle ist konfigurierbar und/oder über ein Gruppenobjekt steuerbar.
846+
Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten oder Stunden festgelegt werden.
847+
848+
<!-- DOC -->
849+
### Anzahl der Blinkvorgänge
850+
851+
Zur Auswahl stehen:
852+
853+
- **Immmer**
854+
Es wird fortlaufend am Ausgang ein Blinksignal gesendet
855+
- **Solange Start EIN**
856+
Solange der Start Eingang auf EIN steht wird am Ausgang ein Blinksignla gesendet.
857+
- **1-20**
858+
Anzahl wie oft der Ausgang ein Blinksignal sendet.
859+
Nach erreichen der Anzahl wird das Blinken automatisch beendet.
860+
861+
862+
<!-- DOC -->
863+
### Ein-Zeit
864+
865+
Einschaltdauer des Ausgangs beim Blinken.
866+
867+
<!-- DOC HelpContext="Blinker-EIN-Zeit" -->
868+
#### Zeit
869+
870+
Zeit in der gewählten Einheit
871+
872+
<!-- DOC HelpContext="Blinker-EIN-Zeitbasis" -->
873+
#### Einheit
874+
875+
Einheit für die Zeit
876+
877+
<!-- DOC -->
878+
### Aus-Zeit
879+
880+
Ausschaltdauer des Ausgangs beim Blinken
881+
882+
<!-- DOC HelpContext="Blinker-AUS-Zeit" -->
883+
#### Zeit
884+
885+
Zeit in der gewählten Einheit
886+
887+
<!-- DOC HelpContext="Blinker-AUS-Zeitbasis" -->
888+
### Einheit
889+
890+
Einheit für die Zeit
891+
892+
893+
<!-- DOC -->
894+
### Objekt zum Starten mit Anzahl
895+
896+
Blendet ein Objekt ein, das zum Starten des Blinkens mit einer vorgegebenen Anzahl verwendet werden kann.
897+
Hinweis: Wir eine Szene Objekt Verbunden, entspricht die Blink-Anzahl der Szenennummer minus 1.
898+
899+
Wir 0 empfangen, wird der Blinkvorgang vorzeitig beendet sofern der Parameter 'AUS Telegram am Start Eingang' nicht auf ignorieren gestellt ist.
900+
901+
902+
<!-- DOC -->
903+
### Start
904+
905+
Verhalten beim Starten des Blinkvorgangs:
906+
907+
- **Mit EIN starten**
908+
- **Mit AUS starten**
909+
- **Umgekehrt zur aktuellen Aktor Rückmeldung**
910+
Hinweis: der Eingang "Aktor Rückmeldung" muss beschalten werden damit der Blinker richtig funktioniert.
911+
912+
<!-- DOC -->
913+
### Ende
914+
915+
Verhalten beim Ende des Blinkvorgangs:
916+
917+
- **Mit EIN beenden**
918+
- **Mit AUS beenden**
919+
- **Wie Zustand vor Blink-Beginn**
920+
Hinweis: der Eingang "Aktor Rückmeldung" muss beschalten werden damit der Blinker richtig funktioniert.
921+
- **Umgekehrt wie Zustand vor Blink-Beginn**
922+
Hinweis: der Eingang "Aktor Rückmeldung" muss beschalten werden damit der Blinker richtig funktioniert.
923+
924+
925+
<!-- DOC -->
926+
### AUS Telegram am Start Eingang
927+
928+
Gibt an ob und wie ein Blinkvorgang durch eine AUS Telegram am Start Eingang beendet werden kann.
929+
930+
- **Ignorieren**
931+
AUS-Telegramme am Eingang oder 0 am Eingang zum Starten mit Anzahl werden ignoriert.
932+
Diese Option ist nicht vorhanden wenn für 'Anzahl der Blinkvorgänge' die Auswahl 'Solange Start EIN' getroffen wurde.
933+
- **Blinken sofort beenden und EIN senden**
934+
Das Blinken wird beendet und der Ausgang wir eingeschalten
935+
- **Blinken sofort beenden und AUS senden**
936+
Das Blinken wird beendet und der Ausgang wir ausgeschalten
937+
- **Blinken sofort beenden, Zustand vor Blink-Beginn herstellen**
938+
Das Blinken wird beendet und der Zustand vor dem Blinken wird wieder hergestellt.
939+
Wird der Prozent Datentype verwendet kann dies auch ein Wert ungleich der definierten Werte für EIN und AUS sein.
940+
- **Blinken sofort beenden, Zustand umgekehrt wie vor Blink-Beginn herstellen**
941+
War vor dem Blinken der Aktor eingeschalten, wird der nach dem Blinken ausgeschalten.
942+
War vor dem Blinken der Aktor ausgeschalten, wird der nach dem Blinken eingeschalten.
943+
- Mit aktuellen Zustand beenden (Kein Telegram senden)**
944+
Das Blinken wird beendet ohne ein Abschlusstelegram zu senden.
945+
946+
947+
<!-- DOC -->
948+
### Ausgang
949+
950+
Der Datentype der für den Ausgang verwendet wird.
951+
952+
- **1.* 1-Bit (0/1)**
953+
- **5.001 Prozent (0..100%)**
954+
955+
<!-- DOC -->
956+
### Wert für EIN
957+
958+
<!-- DOC Skip="1" -->
959+
Diese Konfiguration ist nur vorhanden, wenn für den Datentype des Ausgangs "5.001 Prozent (0..100%)" ausgewählt wird
960+
961+
Der Prozentwert der für EIN gesendet wird.
962+
963+
<!-- DOC -->
964+
### Wert für AUS
965+
966+
<!-- DOC Skip="1" -->
967+
Diese Konfiguration ist nur vorhanden, wenn für den Datentype des Ausgangs "5.001 Prozent (0..100%)" ausgewählt wird
968+
969+
Der Prozentwert der für AUS gesendet wird.
970+
971+

0 commit comments

Comments
 (0)