Ergebnis 1 bis 13 von 13

Thema: HS-Logik-Problem

  1. #1
    Norbe ist offline Registrierter Benutzer
    Registriert seit
    Apr 2004
    Ort
    Bad Wurzach
    Alter
    50
    Beiträge
    1.057

    HS-Logik-Problem

    Hallo Kollegen

    ich habe folgendes Problem :
    In einem Projekt habe ich Dachfenster mit aufliegenden elektr. Rolläden . Jetzt sind nachträglich Antriebe für die Dachfenster gekommen .
    Nun muss ich per Logik die Rollos und die Dachfensterabtriebe gegeneinander verriegeln , weil sonst die Rollos flöten gehen ...
    Logik habe ich wie in der Grafik realisiert . Im Eingang jeweils die Move-Objekte der Antriebe vom Taster und im Ausgang die move Objekte am Aktor , die durch eine Sperre verriegelt werden .
    Angefahren werden beide ausschliesslich durch 1bit Objekte , also würde das sperren der move-Objekte ja reichen .
    Und so wie ich es gemacht habe , sollten eigentlich beim fahren (move-Objekt = 1) der Rollos , die move - Objekte der Fenster sofort gesperrt werden - funzt aber nicht . 6 Sekunden nach dem fahren der Rollos liess der HS die move-Objekte der Fensterabtriebe noch durch .
    Ich hab mir die Logik ein paarmal angeschaut , komm aber nicht drauf warum ...
    Hat einer eine Idee ?????


    P.S.: die move - Objekte nehm ich zum verriegeln nur deshalb , weil der Aktor die Position erst beim anhalten ausgibt , d.h. wenn beide in Pos.=0 sind , könnten sonst beide move-Objekte gesetzt werden ...
    Gruss Norbe

  2. #2
    Registriert seit
    Apr 2002
    Ort
    Radevormwald
    Beiträge
    2.363
    So auf die Schnelle (kann sein, daß ich was übersehen habe):

    die Sperrgatter hast du standardmäßig offen.

    Probier mal: erst Move-Objekt fahren, dann die Rollos. Ich tippe mal auf die fehlenden Telegramme der Move-Objekte.

    Aber wie gesagt: habe mich nur 2 Minuten damit beschäftigt.
    Schau dir mal die Doku zum Startverhalten der Logik an!
    Gruss aus Radevormwald
    Michel
    .
    Hier bin ich jetzt zu finden: knx-user-forum.de

  3. #3
    Registriert seit
    Oct 2003
    Ort
    Berlin
    Beiträge
    351
    Habe es auch nur überflogen. In diesem Zusammenhang beachte jedoch bitte:

    Manche Aktoren senden die aktuelle Position erst 5s nach der letzten Fahrt. Vielleicht hängt es damit zusammen.
    Geändert von viceversa (27.07.06 um 21:06 Uhr)

  4. #4
    Norbe ist offline Registrierter Benutzer
    Registriert seit
    Apr 2004
    Ort
    Bad Wurzach
    Alter
    50
    Beiträge
    1.057
    eben weil die Aktoren die Position so spät senden , habe ich mit dem Move-Objekt des jeweils anderen Antriebs die Sperre schon zugemacht.
    Meiner Ansicht nach müsste z.B. bei Move-Objekt Jal. DF = 1 sofort die Sperre für die Move-Objekte Dachfensterantriebe zugehen.
    Tut sie aber nicht , und genau da liegt der Haken ...
    Gruss Norbe

  5. #5
    Gaston ist offline Registrierter Benutzer
    Registriert seit
    Jul 2001
    Ort
    Aspelt (Luxemburg)
    Alter
    56
    Beiträge
    973
    Das Problem rührt, denke ich, von einem Bug mit dem RS-Flip-Flop das ich vor zwei Wochen bei Dacom gemeldet habe. Durch diesen ist das Flip-Flop nicht Flanken sondern Wert gesteuert.

    Die Behebung des Poblems hab ich auch gleich mitgeliefert, ist allerdings auf eingene Gefahr:

    Im Verzeichnis des Experten die Datei dat\logik.dat editieren.

    Das RS-Flip-Flop befindet sich ganz am Ende der Datei:

    Hier müssen in den beiden folgenden Zeilen:

    5012|9089|0|"((EI==0) or EC[1]) and (EN[1]<>0)"|"1"|""|1|0|0|2
    5012|9089|0|"((EI==0) or EC[2]) and (EN[2]<>0)"|"0"|""|1|0|0|2

    das (EI==0) durch (EI==1) ersetzt werden.

    Eine Kopie der originaldatei sollte man sich vorher anlegen

  6. #6
    Registriert seit
    Feb 2001
    Ort
    Nordbayern
    Beiträge
    3.830
    @Gaston

    Ich dachte, die logik.dat wäre durch Checksumme geschützt?


    m..myhome
    Integriertes Multimediasystem ohne Grenzen


  7. #7
    Norbe ist offline Registrierter Benutzer
    Registriert seit
    Apr 2004
    Ort
    Bad Wurzach
    Alter
    50
    Beiträge
    1.057
    Zitat Zitat von Gaston
    Das Problem rührt, denke ich, von einem Bug mit dem RS-Flip-Flop das ich vor zwei Wochen bei Dacom gemeldet habe. Durch diesen ist das Flip-Flop nicht Flanken sondern Wert gesteuert.
    müsste es nicht trotzdem funktionieren , da ich ja beim ersten move=1 einen Wert in das RS-Flip-Flop schreibe ?
    Gruss Norbe

  8. #8
    Gaston ist offline Registrierter Benutzer
    Registriert seit
    Jul 2001
    Ort
    Aspelt (Luxemburg)
    Alter
    56
    Beiträge
    973
    Zitat Zitat von Matthias Schmidt
    @Gaston

    Ich dachte, die logik.dat wäre durch Checksumme geschützt?
    Sieht gottseidank niocht danack aus. Hatte zuerst auch die Befürchtung.

  9. #9
    Gaston ist offline Registrierter Benutzer
    Registriert seit
    Jul 2001
    Ort
    Aspelt (Luxemburg)
    Alter
    56
    Beiträge
    973
    Zitat Zitat von Norbe
    müsste es nicht trotzdem funktionieren , da ich ja beim ersten move=1 einen Wert in das RS-Flip-Flop schreibe ?
    Nein, DUrch den Bug ist die Reihenfolge der Abarbeitung in der Logik wichtig. Hierbei wird der Reset nach dem Signal ausgeführt und ist hat deshalb eine ungewollte Priorität gegenüber dem Signal.

    Gehen wir mal davon aus deine Bedingung "%höhe..." < 2 ist wahr, damit wird eine "1" an den Reset geschick und auch ein Reset im RS-FlipFLop ausgeführt.

    Wenn Du nun einen "Move" Befehl sendest wird zwar der Signaleingang "1" aber am Reset liegt auch noch die "1" sollange an bis dass der Positionwert vom Aktor eintrifft. Die verhindert dass das RS-FlipFlop in den "Set" Status gelangt.

    Das Problem ist dass die EI==0 Bedingung immer Wahr ist (ausser bei der Initialisierung) und deshalb die EC[x] Bedingung (die eine Flanke erkennt) unwirksam macht.

    Gruss,
    Gaston

  10. #10
    Norbe ist offline Registrierter Benutzer
    Registriert seit
    Apr 2004
    Ort
    Bad Wurzach
    Alter
    50
    Beiträge
    1.057
    also wenn ich das richtig verstanden habe , müsste ich am RS-Flip-Flop immer mit einem Signal an SET oder RESET , jeweils den andern negieren ???
    Gruss Norbe

  11. #11
    Registriert seit
    Feb 2001
    Ort
    Nordbayern
    Beiträge
    3.830
    Mal eine Frage:

    Für was brauchst du das RS-Teil überhaupt?

    Warum gibst Du das ODER und das KLEINER nicht direkt auf die SPERRE?


    m..myhome
    Integriertes Multimediasystem ohne Grenzen


  12. #12
    Gaston ist offline Registrierter Benutzer
    Registriert seit
    Jul 2001
    Ort
    Aspelt (Luxemburg)
    Alter
    56
    Beiträge
    973
    Zitat Zitat von Norbe
    also wenn ich das richtig verstanden habe , müsste ich am RS-Flip-Flop immer mit einem Signal an SET oder RESET , jeweils den andern negieren ???
    Nein, weil dann könntest Du wie Matthias gefragt hat das RS-FlipFlop weglassen. Das wäre aber nicht richtig. In beiden fällen würde z.B. eine "0" auf das Move Objekt die Sperre sofort lösen anstatt zu Warten bis die Position<2 ist.

    In der Logik gibt es einen anderen kleinen Logikfehler der aber Funktional wegen der kleinen Position (<2) nichts bewirkt. Und zwar ist das der Einsatzt des Oder-Gatters.

    Wenn dort an einem der Eingänge eine "0" ankommt hängt das Resultat davon ab welcher Wert als letztes am anderen Eingeng gesendet wurde.

    Eigentlich könntets Du beide Signale gleich mit dem "Signal" des RS-FLipFlops verbinden, ohne Oder-Gatter.

    Gruss,
    Gaston

  13. #13
    Registriert seit
    Oct 2003
    Ort
    Berlin
    Beiträge
    351
    Danke Gaston für den Fehlerreport.

    Ich hatte heute auch ein unerklärbares Problem mit dem RS Flip-Flop. Glücklicherweise habe ich mich an dieses Topic erinnert und die Änderungen eingearbeitet.

    Nun funktioniert es. Danke!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •