Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik GA vergleich

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

    HS/FS Logik GA vergleich

    Moin,
    irgendwie steh ich ein wenig auf dem Schlauch.
    Ich hab jetzt schon ein paar Logiken gebaut die alle wunderbar funktionieren.

    Ich frag mich aber jedes mal aufs neue wie ich am einfachsten zwei GA vergleichen kann?

    Wenn ich mitten in der Logik den vergleich benötige und dann eine zweite Eingangsbox einsetze würde er ja die Logik an der Stelle ebenfalls ausführen wenn sich der Vergleichswert ändert oder?

    Vielen Dank
    Gruß
    Paul

    #2

    Ein Modul berechnet neu wenn den Status eine Eingabe ändert, unabhängig von der Quelle der Änderung. Habe ich deine Frage richtig verstanden?

    Kommentar


      #3
      Moin,
      jein... Ich hab mal fix gebaut was ich in etwa meine (siehe Anhang)

      Test 1 ist in diesem Beispiel meine GA welche als alleiniger Auslöser dienen soll
      Test 2 ist in diesem Beispiel ein GA auf dessen Wert geprüft werden soll

      Wie gesagt das stellt jetzt lediglich ein simples Beispiel da.

      Wenn sich jetzt der Wert von Test 2 ändert wird doch die Logik an der Stelle auch ausgeführt oder?
      Das möchte ich eben nicht.


      You do not have permission to view this gallery.
      This gallery has 1 photos.

      Kommentar


        #4
        Die 2 Eingänge sind gleichwertig. Also muss der Vergleich gemacht werden und auch das Ergebnis angezeigt werden. Egal welcher Wert sich ändert.

        Kommentar


          #5
          Genau das ist ja mein Problem.
          Wie löst man es korrekt?

          Kommentar


            #6
            Zitat von derPaul Beitrag anzeigen
            und dann eine zweite Eingangsbox einsetze würde er ja die Logik an der Stelle ebenfalls ausführen wenn sich der Vergleichswert ändert oder?
            Du meinst, weil der Zustand nochmals aktiv vom Bus abgefragt wird?
            Ich weiß nicht, wie es beim HS ist, aber beim Gira Logikmodul ist das nicht der Fall. Aktive Abfrage nur beim Start des Logikmoduls, danach lauschen die Eingangsboxen nur noch und initieren keine erneute Abfrage.

            Kommentar


              #7
              Wenn sich der Wert von "Test 1" ändert wird doch die Logik ausgeführt. Das ist korrekt und gewollt (von mir)
              Wenn sich der Wert von "Test 2" ändert würde die Logik ja beim Vergleich einsteigen. Das möchte ich aber nicht.

              "Test 2" soll lediglich als Vergleichswert herhalten und nichts auslösen (Logikmässig)

              Im Prinzip ein Variablenvergleich

              Kommentar


                #8
                I take it that you have a problem with this logic? I see two possible issues:
                • The binary trigger (binar ausloser) sends a 1 on A1 when the input is 1, and a 1 on A2 when the input is 0. I never used it the way you have it, but I doubt it ever sends a 0 on any output. In that case, E1 of your comparison module will never go back to zero after it has seen a 1.
                • The comparison module sends a 1 when equal. It may not send anything if the comparison does not show a match. Not sure again, I never used it to send a zero if NOT true.

                Bram

                Kommentar


                  #9
                  Thanks, ignore the binary trigger ... its just a placeholder in this example.

                  My Problem is just how to compare two GA, but running the logic only when GA 1 is changed and not GA 2

                  Kommentar


                    #10
                    (Reply in German is fine, my German writing is horrible)
                    In that case you have to dream up something with a 'sperre'. One possible way:
                    • include a sperre just before the last Baustein, have it in principle always closed
                    • Send test1 to a telegram delay module which goes to your compare Baustein (so, with a short delay), and also let test1 go to a Baustein that detects a change in state and (for instance with a Treppenlicht Baustein) briefly opens the sperre.

                    Zuletzt geändert von bramlangen; 15.01.2017, 10:23. Grund: Spelling fix

                    Kommentar


                      #11
                      Ok

                      ja die Sperre kenne ich, aber ich habe doch dann genau das selbe Problem oder nicht?
                      Ich hab das Gefühl das ich das nicht so umsetzen kann wie ich mir das denke. Vielleicht denke ich da als Programmierer zu sehr Codetechnisch.

                      Aber es muss doch Möglich sein gegen eine Variable zu vergleichen ohne die Logik auszuführen wenn sich die Variable gegen die geprüft wird ändert!?

                      Kommentar


                        #12
                        The logic would be a bit complicated, but "no", your output box would not see any incoming telegram when you use that lock-out. I'll see if I can draft something up for you.

                        Kommentar


                          #13
                          Ok das wäre Klasse ... Ich glaube gedanklich hänge ich irgendwo!

                          Kommentar


                            #14
                            How about something like this? What you need to test though is if the edge detector only sends "1" outputs. If it also sends a "0" then you need to find another way to determine a change in state.
                            Likely you will not use a 1-bit object anyway for the comparison, so the modules may have to be different ones - this is only to show how you could resolve it in principle.

                            Bram
                            temp.jpg

                            Kommentar


                              #15
                              Interessant ... das werde ich mir gleich mal anschauen!

                              Kommentar

                              Lädt...
                              X