Ankündigung

Einklappen
Keine Ankündigung bisher.

Tor Status funktioniert nicht mehr nach patch 2.300

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    IMHO sollte das 2. if gleich abgearbeitet werden, dann kommt die Rückmeldung des Antriebes und der Fahrbetrieb wird wieder angezeigt. Das ist meine Erwartungshaltung.

    Wenn jedoch Tor_fahrt_AUF auf EIN bleibt, ist das für mich nicht erklärbar. Ich würde eben das Gegenteil erwarten. Der Rest steht eh im Thread.
    BR
    Marc

    Kommentar


      #32
      Zitat von joggele777 Beitrag anzeigen
      Der Code von Marc funktioniert wohl für einen Taster aber eher nicht für zwei Taster wie ich es hier habe?!
      Ja, auf die 2 Tasten kann man es aber erweitern. Kann ich dir später machen.
      BR
      Marc

      Kommentar


        #33
        Zitat von saft6luck Beitrag anzeigen
        Ja, auf die 2 Tasten kann man es aber erweitern. Kann ich dir später machen.
        Das wäre super!

        Kommentar


          #34
          [highlight=epc]
          Taster_verarbeitet=AUS;

          // Check Tor fährt AUF
          if event ("Garagentor hoch-4/0/1") and "Garagentor hoch-4/0/1"==EIN and "Garagentor Ausgang oben-4/0/5"==AUS and Tor_fahrt==AUS then {
          Tor_fahrt_AUF=EIN;
          Tor_fahrt_AB=AUS;
          Tor_fahrt=EIN;
          Taster_verarbeitet=EIN;
          } endif

          // Check Tor fährt AB
          if event ("Garagentor ab-4/0/2") and "Garagentor ab-4/0/2"==EIN and "Garagentor Ausgang unten-4/0/6"==AUS and Tor_fahrt==AUS then {
          Tor_fahrt_AUF=AUS;
          Tor_fahrt_AB=EIN;
          Tor_fahrt=EIN;
          Taster_verarbeitet=EIN;
          } endif

          // Check Tor stop
          if event ("Garagentor hoch-4/0/1") and "Garagentor hoch-4/0/1"==EIN and "Garagentor Ausgang oben-4/0/5"==AUS ) \\
          or event ("Garagentor ab-4/0/2") and "Garagentor ab-4/0/2"==EIN and "Garagentor Ausgang unten-4/0/6"==AUS ) \\
          and Tor_fahrt==EIN \\
          and Taster_verarbeitet==AUS then {
          Tor_fahrt_AUF=AUS;
          Tor_fahrt_AB=AUS;
          Tor_fahrt=AUS
          } endif

          // clear Taster event
          if event("Garagentor hoch-4/0/1") or event("Garagentor ab-4/0/2") then Taster_verarbeitet=AUS endif

          // Check Tor fährt via Funk (auf/ab ==)
          if ("Garagentor Ausgang fährt-4/0/7"==EIN) and Tor_fahrt==AUS then Tor_fahrt=EIN endif
          if ("Garagentor Ausgang fährt-4/0/7"==AUS) and Tor_fahrt==EIN then Tor_fahrt=AUS endif
          [/highlight]

          Dieser Lösungsansatz verwendet eine Freigabevariable und ändert nichts an der restlichen Logik -> erhebt nicht den Anspruch die eleganteste Lösung zu sein.

          Wenn die Reihenfolge der Ausführung nicht klar ist, kann das Rücksetzen problemlos auch mit einem after() um 1ms verzögert werden (in einer ms kann kein weiteres Telegramm eintreffen).

          Wie soll sich denn die Steuerung per Funk integrieren?

          Ps. Ist nicht compiliert oder getestet.
          BR
          Marc

          Kommentar


            #35
            Zitat von saft6luck Beitrag anzeigen
            [highlight=epc]

            Wenn die Reihenfolge der Ausführung nicht klar ist, kann das Rücksetzen problemlos auch mit einem after() um 1ms verzögert werden (in einer ms kann kein weiteres Telegramm eintreffen).

            Wie soll sich denn die Steuerung per Funk integrieren?

            Ps. Ist nicht compiliert oder getestet.
            Ok Super! Werde das die Tage gleich mal testen und wieder berichten.

            Per Funk: wenn Tor mit dem Funksender gesteuert wird kann nicht unterschieden werden ob auf oder ab Gefahren wird. Dann lass ich die LED auf wie ab Lila blinken. Ansonsten wenn per Taster betätigt, dann auf Grün blinken und ab rot blinken. Das ist alles.

            Gruss
            Jochen

            Kommentar


              #36
              Zitat von joggele777 Beitrag anzeigen
              Per Funk: wenn Tor mit dem Funksender gesteuert wird kann nicht unterschieden werden ob auf oder ab Gefahren wird.
              Dann würde ich da noch zusätzlich die Richtungsangabe auf AUS setzen, nur für den Fall, dass jemand am Taster einschaltet und per Funk aus. Momentan würde bei der nächsten Betätigung per Funk die alte Richtung angezeigt.

              [highlight=epc]
              // Check Tor fährt via Funk (auf/ab ==)
              if ("Garagentor Ausgang fährt-4/0/7"==EIN) and Tor_fahrt==AUS then {
              Tor_fahrt_AUF=AUS;
              Tor_fahrt_AB=AUS;
              Tor_fahrt=EIN;
              } endif
              if ("Garagentor Ausgang fährt-4/0/7"==AUS) and Tor_fahrt==EIN then Tor_fahrt=AUS; endif
              [/highlight]
              BR
              Marc

              Kommentar


                #37
                Zitat von saft6luck Beitrag anzeigen
                Dann würde ich da noch zusätzlich die Richtungsangabe auf AUS setzen, nur für den Fall, dass jemand am Taster einschaltet und per Funk aus. Momentan würde bei der nächsten Betätigung per Funk die alte Richtung angezeigt.

                [highlight=epc]
                // Check Tor fährt via Funk (auf/ab ==)
                if ("Garagentor Ausgang fährt-4/0/7"==EIN) and Tor_fahrt==AUS then {
                Tor_fahrt_AUF=AUS;
                Tor_fahrt_AB=AUS;
                Tor_fahrt=EIN;
                } endif
                if ("Garagentor Ausgang fährt-4/0/7"==AUS) and Tor_fahrt==EIN then Tor_fahrt=AUS; endif
                [/highlight]

                Hallo Marc,

                bin leider noch nicht dazu gekommen den Code zu implementieren. Mir ist aber noch folgendes aufgefallen. Könnte es nicht je nach Abarbeitung des Programms zu folgender Situation kommen:

                Taster für AUF oder AB wird betätigt. Somit wird ("Garagentor Ausgang fährt-4/0/7") == EIN - Tor_fahrt ist noch AUS und damit ist die Bedingung für Betätigung via Funk wahr und somit wird Tor_fahrt auf EIN gesetzt und Tor_fahrt_AUF sowie Tor_fahrt_AB auf AUS. Bedeutet ich hätte nicht das Ergebnis was gewollt wäre.

                Gruss
                Jochen

                Kommentar


                  #38
                  So habe gestern abend den Code noch implementiert und ein wenig getestet. Sieht ganz gut aus. Habe verschiedene Kombinationen mit Taster und Funkfernbedienung durchgeführt und bin immer zum richtigen Ergebnis gekommen.

                  Die Situation die ich thread zuvor angesprochen habe konnte ich nicht feststellen.

                  Dafür funktioniert aber der "Halb-Status" nicht mehr?! Wenn das Tor in einer Zwischenstellung angehalten wird sollte die Taster-LED gelb leuchten. Das funktioniert nun nicht mehr?

                  [highlight=epc]
                  // Tor HALB - Status LED gelb
                  if !Tor_fahrt and !Tor_fahrt_AUF and !Tor_fahrt_AB and !("Garagentor Ausgang oben-4/0/5") and !("Garagentor Ausgang unten-4/0/6") then {
                  write ("Garagentor LED gelb-4/0/28",EIN);
                  Tor_flash=AUS;
                  webdisplay(32,$halb$c14,BLIND,STATE4,GREY);
                  } endif
                  [/highlight]


                  Grüsse
                  Jochen

                  Kommentar


                    #39
                    Zitat von joggele777 Beitrag anzeigen
                    Dafür funktioniert aber der "Halb-Status" nicht mehr?! Wenn das Tor in einer Zwischenstellung angehalten wird sollte die Taster-LED gelb leuchten. Das funktioniert nun nicht mehr?
                    Für Taster und Funk?

                    Kannst du mal posten, wie das elektrisch umgesetzt ist + wann welche GA kommt? Dann ist es einfacher, den Fehler im Code/eibPC zu finden.
                    BR
                    Marc

                    Kommentar


                      #40
                      Zitat von saft6luck Beitrag anzeigen
                      Für Taster und Funk?

                      Kannst du mal posten, wie das elektrisch umgesetzt ist + wann welche GA kommt? Dann ist es einfacher, den Fehler im Code/eibPC zu finden.

                      Ja für Taster und Funk.

                      Ist ein Hörmann Tor mit UAP1 Platine welche folgende Stati auf drei Binäreingänge ausgibt:

                      Tor-fährt -> GA "Garagentor Ausgang fährt-4/0/7"
                      Tor-oben -> GA "Garagentor Ausgang oben-4/0/5"
                      Tor-unten -> GA "Garagentor Ausgang unten-4/0/6"

                      Hast Du das gemeint?


                      Ich habe daraus geschlossen wenn Tor nicht fährt und nicht oben und nicht unten ist, muss es sich in einer Zwischenstellung befinden. Daher auch die Logik für den "Halb-Status".

                      Kommentar

                      Lädt...
                      X