Schakelfunctie 10 seconden

Visualisatie in EIB-KNX systemen, een vak apart.
Dré
Berichten: 866
Lid geworden op: do 04 feb 2010, 18:05

Re: Schakelfunctie 10 seconden

Bericht door Dré »

Wat ik wil zeggen bij het eerdere bericht, een logische functie kijkt niet naar het moment van drukken, maar of er een aan is gestuurd, dat zou dus ook eerder geweest kunnen zijn. Als jij voor jou deur alleen een 1 stuurt en jou actor daardoor altijd gewoon een puls afgeeft is het groepsadres waar de AND functie naar kijkt bij die voorwaarde altijd al aan, dan hoef je dus alleen de tweede voorwaarde te actieveren en is de functie gemaakt.
Ik leg het misschien lastig uit, maar even geen idee hoe ik dit duidelijker kan maken.
Misschien anders eens mee kijken met de ETS monitor.

Succes met de 'Differentiation between short-long pressing of button' hopelijk is dat wat je zoekt.
ik weet niet met welke schakelaar je het gaat testen, maar let er dan wel op dat je de schakelaar zelf goed instelt.
Teejoo
Berichten: 151
Lid geworden op: vr 03 aug 2012, 00:24
Locatie: Emmerich am Rhein

Re: Schakelfunctie 10 seconden

Bericht door Teejoo »

De functie 'Differentiation between short-long pressing of button' werkt ook nog niet.
Morgen kijk ik naar de instellingen van de schakelaars. Qua parameters valt het mee.

Ik kan alleen kiezen voor "AAN, UIT of OM. Geen lange of korte puls.
Het type schakelaars die ik heb zijn van Gira type 018500 - Schakelaar 2-voudig met 2-punts bediening.
747driver
Berichten: 1475
Lid geworden op: za 19 feb 2011, 10:06

Re: Schakelfunctie 10 seconden

Bericht door 747driver »

Vermoed dat je 'm moet instellen als "dimming with stop telegram".
Voor de functie "Differentiation between short-long pressing of button" moet de buttom een 1 sturen bij indrukken en een 0 bij loslaten.
Wellicht zul je andere modules moeten gebruiken om de dimming en stop signalen om te zetten in 1 en 0.
Teejoo
Berichten: 151
Lid geworden op: vr 03 aug 2012, 00:24
Locatie: Emmerich am Rhein

Re: Schakelfunctie 10 seconden

Bericht door Teejoo »

Dat zou jammer zijn om de schakelaar als "dimming with stop telegram" in te stellen.
De overige drie functies van de betreffende schakelaar werken wel goed.
Deze staan allemaal op "AAN". Deze overige drie functies sturen de sectionaaldeur aan.
747driver
Berichten: 1475
Lid geworden op: za 19 feb 2011, 10:06

Re: Schakelfunctie 10 seconden

Bericht door 747driver »

De logica in de HS kan alleen maar vaststellen dat de schakelaar 10 seconden is ingedrukt indien er een telegram wordt verstuurd bij indrukken en loslaten.
Dat lijkt alleen te gebeuren wanneer ie als "dimming with stop telegram" is ingesteld.

Zou je wellicht uit de voeten kunnen met het volgende:
Bij 3 maal drukken binnen 5 seconden gaat de poort open.
De eerste druk start een timer.
Zolang de timer loopt wordt bij iedere druk de variabele opgehoogd.
Wanneer ie de waarde 3 bereikt dan gaat de poort open.
Indien de timer voor die tijd afloopt wordt de variabele weer op 0 gezet.
Teejoo
Berichten: 151
Lid geworden op: vr 03 aug 2012, 00:24
Locatie: Emmerich am Rhein

Re: Schakelfunctie 10 seconden

Bericht door Teejoo »

Zou ook een mooie optie zijn 747driver.
Maar... hoe krijg ik dat in de logic voor elkaar?
Beetje hulp van jou denk ik!
747driver
Berichten: 1475
Lid geworden op: za 19 feb 2011, 10:06

Re: Schakelfunctie 10 seconden

Bericht door 747driver »

Zal morgen wel een module maken.
Teejoo
Berichten: 151
Lid geworden op: vr 03 aug 2012, 00:24
Locatie: Emmerich am Rhein

Re: Schakelfunctie 10 seconden

Bericht door Teejoo »

Dat zou heel mooi zijn 747driver :D
747driver
Berichten: 1475
Lid geworden op: za 19 feb 2011, 10:06

Re: Schakelfunctie 10 seconden

Bericht door 747driver »

Daar is ie dan.
Heb 'm even getest en hij lijkt goed te werken.
Had 'm als 10050_Teejoo.hsl weggeschreven.
Benamingen van in en uitgangen kun je naar goeddunken wijzigen.
Uitgang 4 (test) was om te kunnen zien dat de module wordt doorlopen.
Testen heb ik gedaan met een pagina zoals op het plaatje.
De Switch ingang is voor de schakelaar waarmee de poort wordt bediend.
Maakt niet uit of ie nu een 1 of een 0 verstuurd wanneer je 'm indrukt, module reageert op beiden.
De Time en Presses ingangen bepalen hoeveel tijd je hebt om het vereiste aantal toetsdrukken te doen.
Kun je bv in een configuratie pagina met een value entry plus template wijzigen.
De reset is bv de schakelaar waarmee je de poort sluit.
Indien je op de poort open schakelaar hebt gedrukt, het voor het openen vereiste aantal toetsdrukken nog niet hebt behaald, en vervolgens op de poort sluiten schakelaar drukt dan reset ie de module: stopt de timer en de remaining time en presses worden dan op 0 gezet.
Voor het testen had ik de switch, reset en output objecten voorzien van een GA zodat in de group monitor van ETS te zien is wat er gebeurt.

Code: Selecteer alles

### 10050_Teejoo
# 

#5000|"Text"|Retentive (1/0)|No. of inputs|.n.|No. of outputs|.n.|.n.
#5001|No. of inputs|Outputs|Offset|Memory|Calculation during start
#5002|Index input|Default value|0=numeric 1=alphanumeric
#5003|Memory|Initialisation value|Retentive
#5004|Output|Initialisation value|round binary (0/1)|type (1-send/2-sbc)|0=numeric 1=alphanumeric
#5012|cancellation with con. (0/1)|condition|formula|time|pin output|pin offset|pin memory|pin neg. output

#5000 HS definition
#   |Folder\Name
    |                  |Retentive (1/0)
    |                  | |No. of inputs
    |                  | | |Input names
    |                  | | |                                 |No. of outputs
    |                  | | |                                 | | Outputs names
5000|"747driver\Teejoo"|0|4|"Switch"|"Time"|"Presses"|"Reset"|4|"Output"|"Remaining time"|"Valid presses"|"test"

#5001 Module definition
#   |Input(s)
#   | |Output(s)
#   | | |Time memory
#   | | | |Variable(s)
#   | | | | |Calculate at startup: 1=Yes 2=No
5001|4|4|1|4|2

#5002 Inputs EN[n]
#   |Input index
#   | |Default value
#   | | |0=num 1=text
5002|1|0|0	# Switch
5002|2|5|0	# Timeframe
5002|3|3|0	# Required presses
5002|4|0|0	# Reset

#5003 Memory variables SN[n]
#   |Memory variable index
#   | |Default value
#   | | |Remanent 0=No 1=Yes
5003|1|0|0	# Timer running bit
5003|2|0|0	# Remaining time
5003|3|0|0	# Number of valid presses
5003|4|0|0	# Toggles everytime this module is called TEST

#5004 Outputs AN[n]
#   |Output index
#   | |Default value
#   | |  |Binary 0=No 1=Yes
#   | |  | |1=send, 2=sbc
#   | |  | | |0=num 1=alphanum
5004|1|0 |1|1|0	# Output
5004|2|""|0|1|1	# Remaining time txt
5004|3|""|0|1|1	# Valid presses txt
5004|4|0 |1|1|0	# Toggles evere time this module is called

#5012 Logic formula
#   |End calculation when <>0 (1=YES 0=NO)
#   | |"Condition"
#   | |                           |"Formula"
#   | |                           |                 |"Time Formula"
#   | |                           |                 |        |Put result into Output
#   | |                           |                 |        | |Put result into Time memory
#   | |                           |                 |        | | |Put result into Variable
#   | |                           |                 |        | | | |Inverted
5012|1|"EC[4] and OC[1]"          |""               |""      |0|0|0|0	# Reset was selected, timer was not active so exit module
5012|0|"EC[4]"                    |"0"              |"0"     |0|1|1|0	# Reset was selected, stop timer reset timer running bit
5012|0|"EC[4]"                    |"0"              |""      |0|0|2|0	# Reset was selected, stop timer, reset remaining time
5012|0|"EC[4]"                    |"0"              |""      |0|0|3|0	# Reset was selected, reset valid presses
#
5012|0|"OC[1] and SN[2]>0"        |"SN[2]-1"        |"1"     |0|1|2|0	# Timer timed-out, restart timer, decrement remaining time
5012|0|"OC[1] and SN[2]==0"       |"0"              |"0"     |0|1|3|0	# Timer timed-out, remaining time is 0, stop timer, reset valid presses
5012|0|"OC[1] and SN[2]==0"       |"0"              |""      |0|0|1|0	# Timer timed-out, remaining time is 0, reset timer running bit
#
5012|0|"EC[1] and SN[1]==0"       |"EN[2]"          |"1"     |0|1|2|0	# Timer was not running, start timer and load timeframe value
5012|0|"EC[1] and SN[1]==0"       |"1"              |""      |0|0|1|0	# Timer was not running, set timer running bit
5012|0|"EC[1] and SN[2]>0"        |"SN[3]+1"        |""      |0|0|3|0	# Timer is running, Increase presses when EN[1] receives a telegram
#
5012|0|"SN[3]==EN[3]"             |"1"              |"0"     |1|1|0|0	# Enough presses within time frame --> stop timer, output = 1
5012|0|"SN[3]==EN[3]"             |"0"              |""      |0|0|1|0	# Enough presses within time frame --> reset timer running bit
5012|0|"SN[3]==EN[3]"             |"0"              |""      |0|0|2|0	# Enough presses within time frame --> reset remaining time
5012|0|"SN[3]==EN[3]"             |"0"              |""      |0|0|3|0	# Enough presses within time frame --> reset valid presses
#
5012|0|""                         |"str(int(SN[2]))"|""      |2|0|0|0	# Remaining time txt
5012|0|""                         |"str(int(SN[3]))"|""      |3|0|0|0	# Valid presses txt
#
5012|1|"SN[4]==0"                 |"1"              |""      |4|0|4|0	# Toggle output to check that the module has been called
5012|0|"SN[4]==1"                 |"0"              |""      |4|0|4|0	# Write the new value to output and memory variable
IMG_3130.jpg
IMG_3130.jpg (97.15 KiB) 7623 keer bekeken
Screen Shot 2015-10-17 at 15.01.28.jpg
Screen Shot 2015-10-17 at 15.01.28.jpg (50.88 KiB) 7623 keer bekeken
Teejoo
Berichten: 151
Lid geworden op: vr 03 aug 2012, 00:24
Locatie: Emmerich am Rhein

Re: Schakelfunctie 10 seconden

Bericht door Teejoo »

Thanks 747driver.
Het werkt nog mooier dan dat ik gehoopt had. Met weergave in QC!!

Voor de reset gebruik ik het "open terugmeldcontact" van de schuifpoort.
Bedankt voor het maken van de logic. Heel blij mee.
Plaats reactie