beginnersprobleem

Problemen, Tips of tricks met ETS programmatie post je hier.
Coppensw
Berichten: 87
Lid geworden op: di 29 sep 2015, 19:18

beginnersprobleem

Bericht door Coppensw »

Ik heb een probleem met mijn test-setup:
Drukknop 1 grpaddr: 1/0/0
Drukknop 2 grpaddr: 1/0/1

Lamp 1 heeft grpaddr 1/0/0
lamp 2 heeft grpaddr 1/0/1, 1/0/0
lamp 3 heeft grpaddr 1/0/1

Wat ik wou bereiken:
druk knop 1 lamp 1 en 2 toggle
druk knop 1 lamp 2 en 3 toggle

Wat ik heb:
druk knop 1: alles toggle
druk knop 2: lamp 2 en 3 toggle

wat doe ik fout?
cevers
Berichten: 183
Lid geworden op: wo 03 jul 2013, 20:12

Re: beginnersprobleem

Bericht door cevers »

Sending gaat er mis.
Normale werkwijze is om eerst voor elke uitgang en aparte groep te maken waarin hij zendend is.

Dus in jouw geval:
Maak voor elke uitgang 1 groep, lamp 1 1/0/0, lamp 2 1/0/1 enz.

Dan maak je de schakel groepen.
Lamp 1 en 2 2/0/0, lamp 2 en 3 2/0/1
En in die groepen sleep je de schakelaars.

Met daarbij belangrijk dat het object zend staat van de uitgang in de eigen groepen (lamp 1 1/0/0, enz)
cevers
Berichten: 183
Lid geworden op: wo 03 jul 2013, 20:12

Re: beginnersprobleem

Bericht door cevers »

Helemaal chique is om altijd dezelfde opbouw kwa groep adressen te gebruiken.

Bijvoorbeeld:
Alle schakel uitgang objecten in 1/0/x
Alle dim uitgang objecten in 1/1/x
Alle dimwaarde objecten in 1/2/x
Alle schakel status objecten in 1/3/x
Alle dimwaarde status objecten in 1/4/x

Op die manier is bijvoorbeeld koppelen heel simpel. Als je een lamp hebt in 1/0/10 weet je zonder weer naar de groeps adressen te kijken waar je dan je dimknop moet koppelen (1/1/10) en bijvoorbeeld je waarde terug koppeling (1/4/10)
egfdevos
Berichten: 1417
Lid geworden op: vr 26 jul 2013, 07:31
Locatie: Zeeuws-Vlaanderen, NL

Re: beginnersprobleem

Bericht door egfdevos »

cevers schreef:Sending gaat er mis.
Zou je mij uit willen leggen hoe dat hier mis gaat?

Volgens zijn test setup heeft hij dit:
1/0/0
- drukknop 1
- lamp 1
- lamp 2

1/0/1
- drukknop 2
- lamp 2
- lamp 3

Er zit maar 1 GA gekoppeld aan elke drukknop (zendend object). Het zendende adres staat altijd goed want het is er maar één.


Je kunt toggle nu eenmaal niet gebruiken voor gemixte groepen. Je komt dan altijd situaties tegen waardoor je 2x moet drukken.
Stel lamp 1 staat uit en lamp 2 staat aan. Je wilt d.m.v. drukknop 1 ze uitschakelen. Dan zul je drukknop 1 2x moeten bedienen.

Als je deze toggle schakeling in een echte situatie zou willen gebruiken moet je voor lamp 2 een logische OR functie gebruiken.
Waardoor lamp 2 aan is als lamp 1 of lamp 3 aan is. Zijn lamp 1 en lamp 3 uit is lamp 2 ook uit.
Edwin
cevers
Berichten: 183
Lid geworden op: wo 03 jul 2013, 20:12

Re: beginnersprobleem

Bericht door cevers »

Eerste groeps adres waarmee een object verbind staat in de " send" stand.
Lamp 1 heeft grpaddr 1/0/0
lamp 2 heeft grpaddr 1/0/1, 1/0/0
lamp 3 heeft grpaddr 1/0/1
Lamp 1 send dus in 1/0/0
Lamp 2 send in 1/0/1
Lamp 3 send in 1/0/1
Drukknop 1 grpaddr: 1/0/0
Drukknop 2 grpaddr: 1/0/1
Je stuurt een "1" naar 1/0/0 Lamp 1 en lamp 2 gaat aan.
Lamp 2 send dit ook in 1/0/1 en dus gaat lamp 3 ook aan.

Vandaar dat een "1" of "0" in 1/0/0 ALLES aan en uit schakelt

Daarom is het ook belangrijk om elke uitgangs object eerst in zijn eigen aparte groep te zetten.


En over die toggle, vergeet niet dat het de Schakelaar is die dat verstuurt en onafhankelijk is van de uitgang. Dit word bijgehouden in de schakelaar.
Je kan dit simpel testen door een toggle schakelaar in een groep te zetten. Druk 1 keer om een "aan" te krijgen, verstuur daarna zelf naar die groep een 0 en volgende keer dat je drukt zal die weer netjes een "aan" generen.

Stel je hebt 4 schakelaars in een gang die ieder een toggle versturen. Je hoeft ze alleen maar in de zelfde groep te zetten om ze perfect als wisselschakelaars te laten werken. Kwa dit soort dingen niet te moeilijk denken en zeker al geen logica gaan toepassen.
egfdevos
Berichten: 1417
Lid geworden op: vr 26 jul 2013, 07:31
Locatie: Zeeuws-Vlaanderen, NL

Re: beginnersprobleem

Bericht door egfdevos »

cevers schreef: Lamp 1 send dus in 1/0/0
Lamp 2 send in 1/0/1
Lamp 3 send in 1/0/1
Sinds wanneer stuurt een schakel-object standaard een status terug op de bus via hetzelfde schakel-object?
Wanneer dat al een beschikbare optie is moet je die in de parameters eerst activeren.
"Nergens in zijn test-voorbeeld staat dat hij de status-objecten in dezelfde GA's gezet heeft."
cevers schreef: En over die toggle, vergeet niet dat het de Schakelaar is die dat verstuurt en onafhankelijk is van de uitgang. Dit word bijgehouden in de schakelaar.
Je kan dit simpel testen door een toggle schakelaar in een groep te zetten. Druk 1 keer om een "aan" te krijgen, verstuur daarna zelf naar die groep een 0 en volgende keer dat je drukt zal die weer netjes een "aan" generen.

Stel je hebt 4 schakelaars in een gang die ieder een toggle versturen. Je hoeft ze alleen maar in de zelfde groep te zetten om ze perfect als wisselschakelaars te laten werken.
Zo vanzelf sprekend dat dit zal werken is dat echter niet. Vertel ons eens hoe jij dit gaat oplossen:
Goedkope 4v taster-interface. Alle 4 op toggle (geen status-objecten).
De wisselschakeling werkt niet correct natuurlijk en nu?
cevers schreef: Kwa dit soort dingen niet te moeilijk denken en zeker al geen logica gaan toepassen.
Dus jij vind het prima dat het niet correct zou werken. Terwijl iets simpels als een OR-functie het perfect in de praktijk op zal lossen?
Edwin
cevers
Berichten: 183
Lid geworden op: wo 03 jul 2013, 20:12

Re: beginnersprobleem

Bericht door cevers »

egfdevos schreef: Sinds wanneer stuurt een schakel-object standaard een status terug op de bus via hetzelfde schakel-object?
Wanneer dat al een beschikbare optie is moet je die in de parameters eerst activeren.
"Nergens in zijn test-voorbeeld staat dat hij de status-objecten in dezelfde GA's gezet heeft."
Ik heb het over de lampen. Dus de actor uitgang. Kijk maar in je ETS en je zult zien dat de eerst gelinkte object "send" staat.
Dit object zal altijd updaten en kan dus andere uitgangs objecten in de groep schakelen.
The ETS only allows to link objects with the same size using group addresses. Several
group addresses can be assigned to one group object, but only one is the sending group
address.
Dit verhaal en interactie geld voor alle objecten. Vandaar dat een schakelaar maar in 1 groep kan "senden". Maar wel in elke groep kan updaten.

Weer terug naar de OP zijn verhaal:
Output 1 staat in 1/0/0 sending
Output 2 staat in 1/0/1 sending (die volgorde post hij)
Output 3 staat in 1/0/1 sending

Dus als ik in 1/0/0 "1" wegschrijf zal het uitgangs object in 1/1/1 ook een "1" schrijven. en dus reageert output 3 ook.
In heel dit verhaal praat ik nergens over status objecten. Dit is gewoon hoe het in de KNX standaard is omschreven.
egfdevos schreef: Zo vanzelf sprekend dat dit zal werken is dat echter niet. Vertel ons eens hoe jij dit gaat oplossen:
Goedkope 4v taster-interface. Alle 4 op toggle (geen status-objecten).
De wisselschakeling werkt niet correct natuurlijk en nu?
Alweer: nergens praat ik over een status object, ze zullen zich gewoon updaten zoals omschreven in de KNX standaard. Dit werk met elke schakelaar. Oud/nieuw. Hier toevallig op de zaak een gang met 3 schakelaars (toggle) die gewoon in 1 groeps adress zitten.
In een school heb ik er zelf 8 in een gang. Eerstgenoemde zijn oude BJ schaklaars die alleen kunnen schakelen/dimmen/toggle en school zijn gira comfort tasters. Maar die ik ook gewoon op toggle heb staan.

Probeer het maar uit, zal je zien dat het gewoon werkt zoals ik het zeg.
egfdevos schreef: Dus jij vind het prima dat het niet correct zou werken. Terwijl iets simpels als een OR-functie het perfect in de praktijk op zal lossen?
Dit is gewoon jouw aanname zonder het te testen, en ik blijf bij mijn standpunt. Hou KNX zo simpel mogelijk. En in dit geval is simpel ook de correcte wijze.

Ik zou van knx.org toch eens doorlezen hoe de vlaggen ed. werken. Ook omdat je ongemerkt een aantal problemen kan creëren zonder dat duidelijk is wie wat doet.

Snel even een testcase gemaakt. In dit geval met de GIRA comfort 5131 00, ingesteld als knoppen functie met links en rechts beide als aparte OM schakelaar (toggle). Alle 2 de schakelobjecten in
voobeeld.jpg
voobeeld.jpg (148.25 KiB) 12657 keer bekeken
en zelfs nog een filmpje ervan: De bovenste led is het gekoppelde object en simuleert een uitgang. De onderste staat nog standaard en geeft gewoon aan wanneer ik de linker (onder) indruk (standaard in de gira)

https://youtu.be/cwgdYCmz5Ok" onclick="window.open(this.href);return false;
egfdevos
Berichten: 1417
Lid geworden op: vr 26 jul 2013, 07:31
Locatie: Zeeuws-Vlaanderen, NL

Re: beginnersprobleem

Bericht door egfdevos »

cevers schreef: Ik heb het over de lampen. Dus de actor uitgang. Kijk maar in je ETS en je zult zien dat de eerst gelinkte object "send" staat.
Dit object zal altijd updaten en kan dus andere uitgangs objecten in de groep schakelen.
Ik doelde hier ook op het schakel-object van de actor.
Ja, het eerst gelinkte GA is het "send" adres.
Hij kan echt geen andere uitgangen in welke gelinkte GA schakelen. Want hij stuurt geen opdracht de bus op na het ontvangen van de schakel-opdracht van de drukknop.
cevers schreef: Dus als ik in 1/0/0 "1" wegschrijf zal het uitgangs object in 1/1/1 ook een "1" schrijven. en dus reageert output 3 ook.
In heel dit verhaal praat ik nergens over status objecten. Dit is gewoon hoe het in de KNX standaard is omschreven.
Dus jij wilt zeggen dat als er een "1" door de drukknop naar 1/0/0 geschreven word.
Het uitgangs object in 1/0/0 een "1" stuurt naar 1/0/1 waardoor lamp 3 ook schakelt.
Dat is geen waar want het schakel-object van de uitgang zal geen "1" op de bus schrijven.
Kijk maar naar je vlaggen de "T" vlag van de uitgang gaat niet aan staan en hij kan daardoor ook niks zenden op de bus.


De enige reden dat jij zo makkelijk een wissel kunt maken met toggle functie is omdat ze de "W" vlag van de drukknoppen voor je gezet hebben.
Waar ik met mijn voorbeeld op doel is dat dat zeker niet altijd het geval is. Als jij applicaties pakt die gemaakt zijn voor de komst van ETS4 zul je zien dat de "W" vlag in de meeste gevallen uit staat en je wissel niet gaat werken. Doordat de "W" vlag gezet is zal hij informatie van de bus lezen waardoor hij ook schakel opdrachten van andere kan zien en zichtzelf intern kan updaten. Zodat bij een eerstvolgende bediening hij een logische opdracht verstuurd.


De test-setup van de OP hoort gewoon altijd te werken.
Dat het niet werkt heeft niks met "send" te maken.
Edwin
cevers
Berichten: 183
Lid geworden op: wo 03 jul 2013, 20:12

Re: beginnersprobleem

Bericht door cevers »

Vlaggen zijn inderdaad voor de objecten zelf. Maar buiten objecten heb je met de groep adressen te maken. Daarin is het object sending en dit is dus meer een groep "flag" dan een object flag.

Maak maar eens wat de OP heeft aangemaakt in die volgorde. Dan zul je zien dat het inderdaad zo reageert als hij zegt. Door die sending in groep 1/0/1 gaat ook 3 mee als 2 schakelt. (zie dat ik een typfout in mijn vorige post maakte 1/1/1 bestaat niet, moest 1/0/1 zijn)

Maar goed, heb het idee dat we langs elkaar heen praten, en wil eigenlijk weten of de OP het nu heeft opgelost?

Edit:
KNX group objects are memory locations in bus devices. The size of these objects can be
between 1 bit and 14 bytes. The size of the group objects is dependent on its function.
As only two states (0 and 1) are required for switching, 1 bit group objects are used. The
data involved in text transmission is more comprehensive and therefore group objects
with a maximum size of 14 bytes are used.

The ETS only allows to link objects with the same size using group addresses. Several
group addresses can be assigned to one group object, but only one is the sending group
address.

An object value is sent on the bus in the following way:
a) If the upper left rocker is pressed for example, the two-fold switch sensor writes a “1”
to its group object with the number 0. As the communication and transmit flag are set
for this object, this device will send a telegram on the bus with the information “Group
address 1/1/1, write value, 1”.

b) All the bus devices throughout the KNX installation that also have the group address
1/1/1 will then write “1” in their own group object.


c) In our example, the “1” is written in group object no. 0 of the actuator.
d) The application software of the actuator establishes that the value in this group object
has changed and executes the switching process.
egfdevos
Berichten: 1417
Lid geworden op: vr 26 jul 2013, 07:31
Locatie: Zeeuws-Vlaanderen, NL

Re: beginnersprobleem

Bericht door egfdevos »

Nee, je hebt geen gelijk.
Lamp 3 zal niet meegaan als drukknop 1 bedient word.

Drukknop 1 grpaddr: 1/0/0
Drukknop 2 grpaddr: 1/0/1

Lamp 1 heeft grpaddr 1/0/0
lamp 2 heeft grpaddr 1/0/1, 1/0/0
lamp 3 heeft grpaddr 1/0/1

Al staat 1/0/1 "zendend" voor lamp 2. Het is geen zendend object.
Edwin
Plaats reactie