Ankündigung

Einklappen
Keine Ankündigung bisher.

In der Tiefe: Validierungskonzept

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

    #16
    Zitat von saft6luck Beitrag anzeigen
    E
    Offene Fragen sind:
    - wie werden zeitgesteuerte Befehle behandelt, im then und im else Zweig.
    - wie funktioniert die Invalidierung im else Zweig
    - im Text steht, das das if alle Befehle im then Zweig invalidiert, später im Text wird aber jedes Kommando für sich (noch einmal?) invalidiert.
    1. Ich habe da bereits was ergänzt zum Thema zeitgesteuerte Variablen. After wird z.B. gar nicht erst erlaubt im then Zweig. Grundsätzlich werden die Zeitfunktionen behandelt wie der Rest.
    [highlight=epc]
    if Taste then {
    if htime(12,00,00) then {
    machwas()
    } endif
    }endif
    [/highlight]
    machwas() würde nur ausgeführt, wenn Taste exakt um 12:00:00 auf EIN geht. Besser daher chtime, dann würde machwas() aufgerufen, wenn Taste nach 12:00 und vor Mitternacht auf EiN geht.
    Ich werde das ergänzen. Irgendwann wird das schon noch klar, hoffe ich.
    2. zum Else zweig siehe letztes Beispiel, ist quasi eine negierte if-Anweisung mit then Zweig.
    Ich habe über 20 Jahre Programmiererfahrung
    habe ich auch nie angezweifelt.
    Zu einem Produkt gehört eine Anleitung.
    Deswegen ist das ja (wie man sicher bemekrt hat) ein Teil des nächsten Handbuchs.
    Wenn du die 10% der Anwender
    Nun, das waren10%, von denen aber 98% mit der bereits erhaltenen Erklärung zufrieden sind bzw. geht es dann höchstens noch um einen Unklarheit und weniger um eine Grundsatzdiskussion. Es ist wohl jedem klar, dass wir grundsätzlich von diesem Konzept nicht abweichen werden, auch nicht einen C-Compiler oder ähnliches bereitstellen.
    viel GuK-Kosten sparen. Sieh es einmal von der Seite.
    Diejenigen, die das so im intensiv einsetzen, kaufen nur einen EibPC. Die, die mehr als einen kaufen, finden es eher schön einfach, weil die essentiellen Dinge einfach zu erledigen sind. Das macht auch den wirtschaftlichen Erfolg aus.
    Ich selbst sehe aber ein, dass der Kunde schon fragen darf, wenn es in die Tiefe geht und deswegen hier diese Erklärungen. Und wenn es sich nicht mit seinen Programmiererfahrungen deckt und er was neues lernen will, soll das hier auch möglich sein. Enertex lässt sich da auf die Kunden ein und eine "kontinuierlicher Verbesserungsprozess" ist durchaus im Sinne von Enertex. Immerhin habe ich ja auch die eval-Funktion eingebaut. Ist quasi dein Kind.
    EDIT
    Unter http://www.youtube.com/results?search_query=eibpc&aq=f gibt es Instruktionen für den Anfang. Das bewegt eigentlich die meisten Anwender. Oder man schau sich die Makrolib 1.008 an.Dort sind auch nahezu triviale Makros drinne, aber diese sind gewünscht und gebraucht.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #17
      Zitat von IBFS Beitrag anzeigen
      @enertegus
      Der EibPC im Zusammenhang mit dem KNX-Bus ist da so ein Mittelding
      Da mußt du schon Geduld haben. schließlich müssen WIR Enduser deine Ideen erst einmal verstehen.
      Unguldig bin ich doch nicht, das schmerzt mich, dieser Vorwurf.

      Nur die Leute die wirklich verstehen was passiert, könnten die EibPC-Kiste richtig ausnutzen.
      Ich gib mir doch alle Mühe. Nochmal
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #18
        Zitat von IBFS Beitrag anzeigen
        Wenn ich als eine Art Variablentabelle unabhängig vom Programmcode das GEMERKTE Prozessabblid im EibPC sehen könnte, wäre sofort klar, warum Befehl nicht ausgeführt wird.
        Das ist doch gerade der Debugger. Der zeigt sowohl das Abbild der GAs im EibPC als auch die Variablen. Man die Verändern und sieht die Reaktion (http://www.youtube.com/watch?v=jVaGNypxbao).
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #19
          Zitat von enertegus Beitrag anzeigen
          Das ist doch gerade der Debugger. Der zeigt sowohl das Abbild der GAs im EibPC als auch die Variablen. Man die Verändern und sieht die Reaktion (http://www.youtube.com/watch?v=jVaGNypxbao).
          Ich dachte da eher an ein selbst vervorständigbare Tabelle:

          GA ----------------- WERT ----------------- DATENTYP

          wo ich ohne UPDATEN-TASTE nur die Varablen in der Liste sehe,
          die ich sehen will. Am besten wäre,man könnte die GAs mit der
          Hand eintragen und je nach Zweck oder Etage, verschiedene
          Variablenlisten anlegen. So kenne ich das von "meiner" SIEMENS-SPS
          und ich finde das sehr angenehm und auf des Wesentliche reduziert.

          Dieses in Listen Rumgesuche und rumgescrolle kenne ich z.B. von
          Codesys und das geht mir echt auf den Keks. Das sieht bei Demos mit
          10 Variablen imer ganz hübsch aus, aber wenn man, wie z.B. in manchen
          SPS-Programmen 2000 Variablen hat, na dann gute Nacht Scrollrad.

          Es ist nunmal besser, wenn ich jede Änderung dieser Vaiablen in der
          Userliste direkt sehen kann ohne immer erst KLICK-KLICK-KLICK zu
          machen. In der Statuszeile muss ich ja auch nicht "UPDATE"
          drücken.

          Wie gesagt, bei einer sehr großen Anzahl von GAs ist die Sortierfunktion
          des Debuggern nicht ausreichend, für GAs von zwei Zimmer mag
          der Debugger ausreichend sein, aber das ist ja nicht der Reglefall.

          Im Übrigen, an meinen SPS-Programmen wird auch ständig rumgemault
          brich nicht immer gleich in Tränen aus. Wenn ich das jedesmal machen
          würde, soviel Taschentücher hätte ich garnicht.

          Frank
          Warum eine SPS wenns auch KNX gibt (oder war das umgekehrt???)

          Kommentar


            #20
            Zitat von IBFS Beitrag anzeigen
            Wie gesagt, bei einer sehr großen Anzahl von GAs ist die Sortierfunktion des Debuggern nicht ausreichend
            Du kannst auch nach markierten Variablen sortieren lassen. Dann stehen die ausgewählten immer oben oder ganz unten (je nach Sortierung)
            Im Übrigen brich nicht immer gleich in Tränen aus.
            Bin halt ein Weichei...
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #21
              Den Debugger sollte man erweitern, denn die Werte der Variablen werden ohne Zeitbezug angezeigt. Bei kurzen Timings oder bei Zählern oder Toggel-Flags ändert sich der Wert schneller als man klicken kann. Eine Liste mit automatisch updatenden Variablen vermisse ich daher auch.

              Zum Thema Debugger hätte ich auch noch 3:
              - Anzeige aller aktuell laufender Timer (sehe ich als sehr wichtig an)
              - Historie der Variablenwerte (Debugcode und nur augewählter Variablen?)
              - Breakpoints (im laufenden Code) auch mit Trigger auf bestimmte Variablenwerte
              BR
              Marc

              Kommentar


                #22
                Fassung des Einblickes vom 17.09.10:

                "Ändert man das Beispiel wie folgt:
                [highlight=epc]
                a=AUS
                b=1
                c='1/2/3'b01
                if change(a) then {
                if b==2 then write('1/2/3'b01,EIN) endif
                if b==1 then write('1/2/3'b01,AUS);b=2 endif
                } endif
                [/highlight]
                so wird nun bei der ersten Änderung von a die erste innere if-Anweisung ungültig, aber die Abfragebedingung steht
                auf 0b01, da ja die Variable b noch auf 1 steht. Die zweite innere if-Anweisung wird aber ausgeführt. Beim nächsten
                (und allen weiteren) wird diese ausgeführt."

                "Diese" bezieht sich hier auf die "zweite innere if-Anweisung". Das ist sicherlich nicht gemeint, oder?
                BR
                Marc

                Kommentar


                  #23
                  Wenn man Probleme hat, kann man sich auch Variablen für Zwischenergebnisse definieren und anzeigen lassen. Damit kann man sehr wohl die einzelnen Schritte in einer IF then else Anweisung anzeigen lassen.

                  Ich finde die Diskussion hier etwas unsinnig, der EibPC ist keine grosse Siemens-Steuerung. Bei einer SPS wie der Siemens werden nur zu jeder Zeit alle vorhandenen Ein- und Ausgänge ausgewertet, was verhältnismäßig einfach und trivial ist, trotzdem benötigt man einige Wochen der Schulung um selbst die kleinsten Ansätze zu programmieren.

                  Der KNX-Bus hat eine andere Aufbau und versendet Informationen nur gelegendlich bzw. bei Änderungen. Eine Auswertung ist deshalb bedeutend komplizierter.

                  Wenn Enertex jetzt eine Krücke gefunden hat, damit wir einfachen Häuslebauer damit einfach umgehen können und der EibPC alles das macht, was wir wollen, so ist dies eine große Leistung. Es ist generell einfach, auf mehrfache If Verzweigungen zu verzichten und Verschachtelungen wegzulassen, wenn man mit dem Ergebnis nicht zurechtkommt.

                  Vielleicht sollte Enertex einfach die Verschaltelung blockieren, damit ihr mit eurer SPS-Erfahrung auch mit dem EibPC umgehen könnt.

                  Unterm Strich seit ihr 2 die einzigen, die sich Seitenweise darüber aufregen, alle anderen haben offensichtlich keine Probleme damit, darüber solltet ihr mal nachdenken.
                  Der schöne Niederrhein läßt Grüssen

                  Andreas


                  Alter Hof mit neuer Technik

                  Kommentar


                    #24
                    gut geschrieben! Danke!
                    ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                    Kommentar


                      #25
                      Genau, gut geschrieben, Uwe! Vielen Dank!
                      BR
                      Marc

                      Kommentar


                        #26
                        Yap so isses.
                        Grüsse Bodo
                        Fragen gehören ins Forum, und nicht in mein Postfach;
                        EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                        Kommentar


                          #27
                          Zitat von enertegus Beitrag anzeigen
                          1. Ich habe da bereits was ergänzt zum Thema zeitgesteuerte Variablen.
                          Hm, da hat mir der Cache einen Streich gespielt
                          After wird z.B. gar nicht erst erlaubt im then Zweig. Grundsätzlich werden die Zeitfunktionen behandelt wie der Rest.
                          Bei mir compiliert das after() aber. Ist das so nicht gewollt?
                          Evtl. kannst du after() und delay() noch aufnehmen?
                          [highlight=epc]
                          if Taste then {
                          if htime(12,00,00) then {
                          machwas()
                          } endif
                          }endif
                          [/highlight]
                          machwas() würde nur ausgeführt, wenn Taste exakt um 12:00:00 auf EIN geht. Besser daher chtime, dann würde machwas() aufgerufen, wenn Taste nach 12:00 und vor Mitternacht auf EiN geht.
                          Ich werde das ergänzen. Irgendwann wird das schon noch klar, hoffe ich.
                          Das ist dann dem AND gleichwertig, oder?
                          2. zum Else zweig siehe letztes Beispiel, ist quasi eine negierte if-Anweisung mit then Zweig.
                          Auch in der Hauptebene? Und dort (im else) dann ein if then?
                          [..]
                          Immerhin habe ich ja auch die eval-Funktion eingebaut. Ist quasi dein Kind.
                          Yep, mein Dank wird dir noch lange nachschleichen Warte ja noch immer auf euer nächstes Kind
                          BR
                          Marc

                          Kommentar


                            #28
                            Zitat von anlo007 Beitrag anzeigen
                            [..]
                            Genau, kann man nur zustimmen. Stimmung-Mache ist immer wichtig. Und der Inhalt eh nebensächlich. Andreas, ich bin dein Fan!

                            Steine, schöne frische Steine ...
                            BR
                            Marc

                            Kommentar


                              #29
                              @saft6luck:
                              Polemik hilft hier ebenso wenig wie Haarspalterei....
                              ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                              Kommentar


                                #30
                                Zitat von saft6luck Beitrag anzeigen
                                Bei mir compiliert das after() aber. Ist das so nicht gewollt?
                                Bei mir schmeißt das folgende einen Fehler (wie auch gewünscht):
                                [highlight=epc]
                                [EibPC]
                                Connect=AUS
                                z1=AUS
                                // Passwort
                                if after(Connect,1000u64) then {
                                write('1/2/3'c14,$Ein$c14);
                                z1=after(Connect,1000u64)
                                } endif
                                [/highlight]
                                Evtl. kannst du after() und delay() noch aufnehmen?
                                Kann ich machen...
                                Auch in der Hauptebene? Und dort (im else) dann ein if then?
                                ja, else = if mit inverser Abfragebedingung.
                                Warte ja noch immer auf euer nächstes Kind
                                Wir sind fleißig...
                                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                                Enertex Produkte kaufen

                                Kommentar

                                Lädt...
                                X