Ankündigung

Einklappen
Keine Ankündigung bisher.

Neue Logikbausteine für den L1/X1: Formelberechnung, Statistik und mehr...

Einklappen
Dieser Beitrag wurde beantwortet.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #76
    Ich glaube, du musst du 3 getrennte Bausteine nehmen. Was kommt den raus, wenn du nur 1 Zeile eingibst?
    Viel Erfolg, Florian

    Kommentar


      #77
      Hallo Uwe,

      bekommst Du keine Fehlermeldung beim Prüfen des Projekts? Du musst ziemlich sicher "=" durch "==" ersetzen in Deinen Formeln. Alle drei Formeln in einem Baustein sollte kein Problem sein.

      Grüße von Horst

      Kommentar


        #78
        Zitat von hyman Beitrag anzeigen
        Hallo Uwe,

        bekommst Du keine Fehlermeldung beim Prüfen des Projekts? Du musst ziemlich sicher "=" durch "==" ersetzen in Deinen Formeln. Alle drei Formeln in einem Baustein sollte kein Problem sein.

        Grüße von Horst
        Hallo Horst,

        das war es, alles durch == ersetzt und die Variable erscheint. Zum "Prüfen" bin ich ja noch garnicht gekommen, da ich ja keinen Eingang hatte den ich verbinden konnte.
        Da ich in anderen Formeln bisher nur > und < verwende hatte ich nicht erwartet das = durch == ersetzen zu müssen.

        Danke für die schnelle Hilfe, jetzt kann ich weiter basteln.

        Vielen Dank für diese extrem wertvollen Bausteine.

        Viele Grüße und guten Rutsch in 2021, vor allem aber Gesundheit in diesen Tagen

        Uwe
        Zuletzt geändert von cybersmart; 28.12.2020, 18:03.
        Beste Grüße,

        Uwe

        Kommentar


          #79
          So, habe jetzt die Formel so umgebaut, dass ich aus einer Zeile hinten dann Text rausbekomme (geöffnet, gekippt, geschlossen) und mit einem Eingang auf einem Platzhalter erfolgreich getestet.
          Nun wollte ich dann gleich 4 Eingänge belegen mit eigenen Platzhaltern, Formeln kopiert, Platzhalter getauscht, Statusobjekt im GPA für Text überall mit variablen Datenpunkten verknüpft. Alles auf String/Text eingestellt und nun kommt aus dem Formelbaustein nichts mehr raus. Simulation liefert am Eingang die Summenwerte an, aber hinten bleiben die Ausgänge leer :-(

          Doch zuviel für den Baustein (habe 4 Eingänge und 7 Ausgänge aktuell)?
          Das sind aber so einfache Vergleichsoperatoren, da müsste das durchflutschen.

          Ich teste mal mit reduzierten Eingängen/Ausgängen, evtl. sind die Formeln aber auch nicht ganz korrekt bzgl. Klammersetzung? Hat aber schon funktioniert.
          Angehängte Dateien
          Zuletzt geändert von cybersmart; 28.12.2020, 15:33.
          Beste Grüße,

          Uwe

          Kommentar


            #80
            So, ich denke ich habe den Fehler gefunden.
            Solange einige Eingänge noch keinen Wert an den jeweiligen Platzhalter geliefert haben funktioniert auch kein einziger Ausgang :-(

            Jetzt musste ich einen Weg finden um bei einem Neustart des X1 oder wenn eine Inbetriebnahme erfolgt trotzdem alles zumindest funktioniert. Da ich auf Meldungen von enocean Sensoren angewiesen bin kann ich über KNX keinen Wert aktiv lesen. Über das enocean Gateway kann man aktiv keinen Status vom enocean Sensor abfragen.

            Ich habe mich entschieden bei den Eingängen einen festen Wert "1" jeweils vorzubelegen, sodass alle Fenster den Status "geöffnet" zeigen, ich also vom worst case ausgehe dass die Fenster offen sind und diese ggf. manuell überprüfen muss. Sollte ja nicht ständig der Fall sein. Bei meinen automatisch steuerbaren Fenstern (Winkhaus PADM) kann ich einmalig ein "Referenzöffnen" durchführen auf Parallelabstellen (= gekippt) und dann sind die Werte korrekt da. Bei den HOPPE Secusignal Fenstergriffen geht das nicht, da muss ich einmalig am Griff drehen, um wieder gültige Werte zu haben.

            Ausser ich kann die jeweils aktuellsten Werte wirklich in Variablen packen und dann dem Formelbaustein zur Verfügung stellen, dürfte aber etwas komplexer sein ...
            Zuletzt geändert von cybersmart; 28.12.2020, 18:02.
            Beste Grüße,

            Uwe

            Kommentar


              #81
              Zitat von UB99 Beitrag anzeigen
              Doch zuviel für den Baustein (habe 4 Eingänge und 7 Ausgänge aktuell)?
              Eher nicht, da gibt's bei mir Schlimmeres, und das tut.

              Zitat von UB99 Beitrag anzeigen
              Solange einige Eingänge noch keinen Wert an den jeweiligen Platzhalter geliefert haben funktioniert auch kein einziger Ausgang :-(
              Das steht sogar in der Dokumentation ... aber wer liest die schon ...
              Alle Ausgänge geben erst dann Werte aus, wenn alle Eingangswerte vorliegen. Wenn mehrere Formeln und Ausgänge verwendet werden, gilt dies auch für Formeln, in denen die fehlenden Werte gar nicht vorkommen.

              Hinweise:
              • Eingangswerte, die weder abgefragt werden können noch zyklisch senden, sollten deshalb einen Vorgabewert haben.
              • ...

              Kommentar


                #82
                Zitat von hyman Beitrag anzeigen
                Das steht sogar in der Dokumentation ... aber wer liest die schon ...[/LIST]
                Erwischt :-) Lese zwar schon, aber das habe ich dann nicht so auf dem Schirm gehabt.

                So, jetzt habe ich im X1 die "Binärvariablen" entdeckt, meine Eingänge die vom enocean Gateway ihre Werte bekommen durch Binärvariablen ersetzt und siehe da, der Status der Fenster überlebt eine erneute Inbetriebnahme eines Projekts ohne verloren zu gehen.
                Mal sehen wieviele dieser Variablen ich verwenden kann, da brauche ich ja ne ganze Menge. Mindestens schonmal 18 für meine enocean Fenstergriffe.

                Danke für die Unterstützung, bin ich relativ neu im KNX Thema aber mit der Unterstützung hier lernt man schnell dazu.
                Zuletzt geändert von cybersmart; 28.12.2020, 22:24.
                Beste Grüße,

                Uwe

                Kommentar


                  #83
                  hallo und frohes Neues,

                  ich habe im Textformatierer für meinen Torstatus folgendes eingetragen:
                  {GanzZu:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{halbOFFEN:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{ganzOFFEN:B|⚪|🔴}{WederNoch:B||?FEHLER?}
                  Anzeige z.B.:
                  Tor zu= 🔴----⚪----⚪ was mir soweit auch gefällt, habe ich allerdings einen Fehler (also eine 1 auf dem letzten Eingang) wird natürlich ?FEHLER? einfach angehängt:
                  ​​​​​​⚪----⚪----⚪?FEHLER?
                  ich habe dann einfach folgendes versucht:
                  {WederNoch:B|{GanzZu:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{halbOFFEN:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{ganzOFFEN:B|⚪|🔴}|?FEHLER?}
                  was aber dazu führte, dass die Eingänge am Textformatierer natürlich nicht mehr vorhanden waren

                  Wie bekomme ich es hin, dass bei Status Fehler, auch nur der entsprechende Text angezeigt wird und die anderen Sachen verschwinden?

                  und eine zweite Frage:
                  Kann ich Text auch farbig und/oder fett darstellen?
                  Zuletzt geändert von MiFraNe; 09.01.2021, 20:16.

                  Kommentar


                    #84
                    Zitat von MiFraNe Beitrag anzeigen
                    ich habe dann einfach folgendes versucht:
                    {WederNoch:B|​{GanzZu:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{halbOFFEN:B|⚪|🔴}{inBEWEGUNG:B|----|<<>>}{ganzOFFEN:B|⚪|🔴}​|?FEHLER?}
                    was aber dazu führte, dass die Eingänge am Textformatierer natürlich nicht mehr vorhanden waren
                    Klar -- schachteln kann man die Platzhalter nicht.

                    Lösung: Du nimmst statt dem Textformatierer eine Formelberechnung ... da hast Du dann Bedingungsoperatoren zur Verfügung, die sich auch schachteln lassen. Und alle Textoperationen, die man sich wünschen kann ...
                    Zuletzt geändert von hyman; 10.01.2021, 23:33.

                    Kommentar


                      #85
                      Hallo,
                      sorry für die späte Rückmeldung, ich bin beruflich z. Z. sehr eingespannt ...
                      Zitat von hyman Beitrag anzeigen
                      Lösung: Du nimmst statt dem Textformatierer eine Formelberechnung ... da hast Du dann Bedingungsoperatoren zur Verfügung, die sich auch schachteln lassen. Und alle Textoperationen, die man sich wünschen kann ...
                      kann mir evtl. jemand bei der Syntax helfen?

                      Kommentar


                        #86
                        Ja, die Anleitung. Findest Du genau wie bei jedem Gira -Baustein unter 🛈nfo → Weitere Informationen.
                        Zuletzt geändert von hyman; 15.01.2021, 07:35.

                        Kommentar


                          #87
                          vorab...ich sitze schon wieder im Büro und versuch mich an "Trockenübungen", kann also meine Überlegungen erst (hoffentlich) am Sonntag prüfen...

                          Ich habe 4 Eingänge: ZU = z; HALB = h; AUF = a; in Bewegung = b
                          Formel?: "z ? ⚪|🔴"
                          Syntax?: {z:B | z ? ⚪:🔴} und dann die Anderen entsprechend aneinanderreihen??? ich will es verstehen ...zum Schachteln kommen wir später
                          Danke!

                          Kommentar


                            #88
                            Die Schachtelung ist besser lesbar, wenn man das auf mehrere Formeln verteilt. Hier ein Beispiel, das sich an Deine Angaben anlehnt:
                            Code:
                            Formel 1: {Zu:B} ? "|" : "/"
                            Formel 2: {Offen:B} ? "̅" : _out1_
                            Formel 3: {InBewegung:B} ? "⌛" : _out2_
                            Formel 4: {WederNoch:B} ? "❌" : _out3_
                            Ausgang 4 liefert das gewünschte Endergebnis, die anderen können unbelegt bleiben.
                            Zuletzt geändert von hyman; 17.01.2021, 13:37.

                            Kommentar


                              #89
                              vielen Dank,
                              ich habe mich gleich einmal daran versucht und es wie folgt eingegeben:
                              Relais Tor Staus ZU >>>>>> Eingang 1 >>> Formel: {zu:B} ? "🟥" : "❓❌❓" <<< ...hier habe ich den WederNoch eingesetzt
                              Relais Tor Staus HALB >>> Eingang 1 >>> Formel: {halb:B} ? "🟨" : _out1_
                              Relais Tor Staus AUF >>>>> Eingang 1 >>> Formel: {offen:B} ? "🟩" : _out2_
                              Relais Tor Staus BEWEG >> Eingang 1 >>> Formel: {InBewegung:B} ? "⌛" : _out3_

                              In der Simulation funktioniert es so, beim Test am Tor hat das gewaltsame Stoppen allerdings weiterhin "⌛" angezeigt, obwohl alle Eingänge auf "0" sein sollten,
                              hier muss ich mir die Daten der Statusrelais mal in der ETS anschauen... nächste Woche

                              Kommentar


                                #90
                                Hallo Freunde der gepflegten Logikbausteine,

                                nach längerer Zeit gibt es im Downloadbereich mal wieder neue Versionen meiner Bausteine mit folgenden Verbesserungen:
                                • Send-By-Difference erlaubt unterschiedliche Minimaldifferenzen für ansteigende und abfallende Werte.
                                • Statistik für Zeitreihen gibt jetzt auch die Summe aller Eingangswerte während des Betrachtungszeitraums aus und kann so parametriert werden, dass er erst nach einer gewissen Zeit Ausgabewerte erzeugt.
                                • Formelberechnung und Textformatierer erlauben mehr Formeln und Ausgänge bzw. Eingänge.
                                • Textformatierer unterstützt Textersetzungen und neue Parameter für Gruppen- und Dezimaltrennzeichen.
                                • Formelberechnung erlaubt die Verwendung von vorherigen Ausgabewerten, hat eine neue Funktion zur Berechnung von Heizkurven und erlaubt die Verwendung der Konstante null um nichts an einen Ausgang auszugeben.
                                • JSON/XML-Parser erlaubt jetzt auch, Maxima oder Minima einer Zahlenreihe auszugeben.
                                • Fehlerbehebungen (u. a. falsche Erkennung von Zuweisungen und Absturz bei Verwendung von Platzhaltern in String-Literalen in der Formelberechnung).
                                • Ergänzungen, Korrekturen und Verbesserungen in der Benutzerdokumentation und in Fehlermeldungen.
                                Damit erschließen sich ganz neue Anwendungen, für die sich in der Dokumentation Beispiele finden.

                                Die Download-Links stehen im Eingangspost. Fragen und Feedback wie immer -- nach Lesen der Dokumentation -- hier im Thread.

                                Grüße von Horst
                                Zuletzt geändert von hyman; 18.01.2021, 23:05.

                                Kommentar

                                Lädt...
                                X