Vrijwel iedere rolluik of jaloezieactor heeft een functie voor een positiewaarde (1 byte) waarmee een percentage gestuurd kan worden, bijv. 50% om de zonwering gedeeltelijk te sluiten. Belangrijk hierbij is wel dat de looptijd goed wordt ingesteld omdat de positie berekend wordt aan de hand van de looptijd.
En hoe doe ik dat concreet?
Het rolluik gaat alleen helemaal omhoog of helemaal omlaag (dus 0% en 100%) Visualisatie volgt wel maar is niet real time
Als ik 50 of 20% in geef dat gebeurt er helemaal niets (de visualisatie past zich wel aan)
Ook de statussen in "Actuele waarde" in de groepsadreslijst worden tijdens een actie niet aangepast
De module is een MTN649908 Blind Switch actuator met manual mode van Schneider (in een Homelynk)
Ik heb 4 groepsadressen aangemaakt zowel in ETS als in mijn Homelynk
1/0/3 - Beweging - Gegevenstype: 01.008 omhoog/omlaag
1/1/3 - Start/stop - Gegevenstype: 01.010 start/stop
1/2/3 - Positie % - Gegevenstype: 05.001 schaal
1/2/4 - Feedback - Gegevenstype: 05. 1 byte unsigned integer
In ETS5: Functie Roller Shutter
[u][b]Roller shutter tab:[/b][/u]
Scenes: [b]disabled[/b]
Calibration: [b]enabled [/b](maar ook op disabled geen verschil)
Weather alarm: [b]disabled[/b]
Failure mode: [b]disabled[/b]
Status signals: [b]disabled[/b]
Manual operation when bus voltage fails: [b]disabled[/b]
[u][b]Drive tab:[/b][/u]
Extend Drive parameters: staat [b]enabled [/b](maar wijzigen van deze setting doet niets)
Time base for running time of height adjustment: [b]10ms[/b]
Factor for running time for height adjustment: [b]190000 [/b](duurt 19sec eer de rolluik helemaal open is) maar default was 1200
Common time base for additional running time/idle time: [b]10ms[/b]
Factor for additional running time upward direction: [b]disabled[/b]
Factor for additional running time until upward movement: [b]disabled[/b]
Pause on reverse on change in direction: [b]1[/b]
[u][b]Calibration tab:[/b][/u]
Number of movements until a reference movement has been initated: [b]2[/b] (stond op 7, maar heb hier verschillende getallen en bewegingen getest)
Reference position: [b]upper and lower[/b] (ook hier verschillende settings getest)
Automatic calibration: [b]upper and lower positions[/b]
Wanneer je de MTN649908 toevoegd aan je project dan is automatisch kanaal 1 al ingeschakeld en zie je direct bij de objecten dat er een object is voor positie hoogte van 1 byte.
Dit object dien je te gebruiken. Als je vervolgens de looptijd goed ingesteld hebt dan kun je de zonwering voor de helft openzetten door 50% naar dit object te sturen.
Bijgevoegd een klein voorbeeld projectje met alleen deze actor er in.
Chris Goeman
Hallo iedereen,
Ik heb een probleem met het aansturen van rolluiken.
Ze gaan mooi helemaal omhoog en omlaag, dat is geen probleem. Maar als ik in de visualisatie 50% zet dan gebeurt er niets.
In de bijlage een overzicht van:
- Groepsaddressen in Homelynk
- Configuratie in ETS5
Ik heb al verschillende zaken zelf getest maar ik kom niet tot een oplossing:
Calibratie al ns aan gezet (dan gaat rolluik niet meer volledig open en dicht)
Extended parameters (verandert helemaal niets)
Zoals je kan zien heb ik in het groepsadres "Feedback" een script staan. Dit had ik overgenomen toen het systeem opgeleverd is, maar OF het nu wat doet en WAT precies... geen flauw idee:
--get value in groepsadres
waardecontrolrolluikbureaucc = grp.getvalue('2/3/20')
if waardecontrolrolluikbureaucc == 1 then
grp.write('2/3/0', false)
script.enable('rolluik bureau timeout')
-- grp.update('2/5/20', 1)
-- grp.write('2/5/0', false)
elseif waardecontrolrolluikbureaucc == 2 then
grp.write('2/3/0', true)
script.enable('rolluik bureau timeout')
-- grp.write('2/5/0', false)
-- grp.update('2/5/20', 2)
elseif waardecontrolrolluikbureaucc == 0 then
grp.write('2/3/3', true)
script.disable('rolluik bureau timeout')
-- grp.update('2/5/20', 0)
end
Het groepsadres 2/5/0 en 2/5/20 waarvan sprake hebben nooit bestaan. Maar toch is het een actief script wat iets doet.
Verder vond ik bij Interne scripts het volgende:
--get value in groepsadres
waardecontrolrolluikbureau = grp.getvalue('2/3/20')
if waardecontrolrolluikbureau == 1 or waardecontrolrolluikbureau == 2 then
os.sleep(20) -- 20 seconden wachten
grp.write('2/3/20', 0)
end
Weet er iemand wat ik fout doe en hoe ik dit het beste aanpak?
Alvast bedankt!