Ankündigung

Einklappen
Keine Ankündigung bisher.

EibPC Programmteile eine definierbare Zeit nach dem Neustart starten

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

    #16
    Zitat von saft6luck Beitrag anzeigen
    Mir schwant allmählich was es mit diesem sonderbaren "das Programm ist als Binärbaum abgespeichert" auf sich hat, alleine mir ist nicht klar, warum die ganzen Erklärungen im Handbuch fehlen!
    Nun, da haben wir wohl die Anwender unterschätzt.
    Das Konzept an sich ist aber für eine SPS ("Statemachine") so nicht unüblich.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #17
      Zitat von saft6luck Beitrag anzeigen
      Warum muss ein write(), read() oder connecttcp() im then Zweig auf invalid gesetzt werden????????
      Es ist ja im EibpC eine event-bezogene Abarbeitung realisiert - eben wie bei einer SPS oder in einem FPGA.
      Verarbeitung bedeutet, dass ein Eingangsobjekt seine Ausgangsobjekte "kennt" - wie richtig vermutet in einer Art Baumstruktur - und diese dann mit Hilfe von internen Flags abarbeitet.
      D.h. es werden nur Objekte und deren Abhängigkeiten verarbeitet, die eine Art In-Valid bekommen. Damit kann natürlich extrem optimiert gearbeitet werden, wenn man bedenkt, dass alle 20ms bestenfalls ein Telegramm eintrifft, das in der Regel nicht mehr als 100 Abhängigkeiten aufweisst.
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #18
        Zitat von enertegus Beitrag anzeigen
        D.h. es werden nur Objekte und deren Abhängigkeiten verarbeitet, die eine Art In-Valid bekommen.
        Wird denn ein einfaches write(), außerhalb von irgendwelchen If-Schleifen auch auf "invalid" gesetzt? Wird ja schließlich immer ausgeführt.
        (mal losgelöst von der Sinnhaftigkeit eine ständigen write()...)
        ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

        Kommentar


          #19
          Zitat von Uwe! Beitrag anzeigen
          Wird denn ein einfaches write(), außerhalb von irgendwelchen If-Schleifen auch auf "invalid" gesetzt? Wird ja schließlich immer ausgeführt.
          Nein, man kann write quasi nur mit if "antriggern".
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #20
            Du siehst, ich hab's noch nicht ausprobiert....

            Aber ein write() ohne if außenrum wird also nur ein einziges mal ausgeführt?
            ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

            Kommentar


              #21
              Zitat von Uwe! Beitrag anzeigen
              Du siehst, ich hab's noch nicht ausprobiert....
              Aber ein write() ohne if außenrum wird also nur ein einziges mal ausgeführt?
              Nee, das wird nie ausgeführt - wir haben das bewusst unterdrückt, so dass man immer ein if drumherum braucht. Dafür gibts dann ja auch die systemstart()-Funktion.
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #22
                ah, ok! Wieder was gelernt!
                ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                Kommentar


                  #23
                  Zitat von saft6luck Beitrag anzeigen
                  alleine mir ist nicht klar, warum die ganzen Erklärungen im Handbuch fehlen!
                  Da offenbar nicht nur mir die "Feinheiten" des Validierungsschemas immer noch nicht hinreichend bekannt sind, wünsche ich mir jetzt mal eine lückenlose Beschreibung der ganzen Geschichte.
                  Das z.B. bestimmte - oder gar alle? - Befehle außerhalb einer Bedingung gar nicht ausgeführt werden, ist wohl nicht nur mir nicht klar gewesen - und ist zunächst einmal aus meiner Sicht auch nicht logisch, denn wo keine Abfrage ist, da habe ich bisher auch keinerlei Validierung vermutet, sondern einfach die Ausführung.
                  OK, eine bedingungslose Ausführung macht nicht bei allen Befehlen Sinn (daher habe auch ich das bislang gar nicht ausprobiert), aber dafür sind eigentlich Compilerwarnungen da, denn vielleicht ist das ja doch genau das, was der Programmierer wollte - warum auch immer.
                  Aber wenn dem Programmierer schon solche Entscheidungen aus der Hand genommen werden, dann sollte das wenigstens klar und deutlich in der Dokumentation stehen - falls notwendig auch einzeln für jede Funktion...
                  Vielleicht sollte mal generell als Diagramm(e) dargestellt werden, wie der Compiler den Code interpretiert, was er dann daraus macht, und wie das dann zur Laufzeit ausgeführt wird, ich glaube, dann werden sehr viele Fragen auf einen Schlag beantwortet und vielen von uns wird auf einmal klar, warum ein bestimmtest Konstrukt im eigenen Code einfach nicht wie erwartet funktioniert.
                  Tessi

                  Kommentar


                    #24
                    Zitat von Tessi Beitrag anzeigen
                    Da offenbar nicht nur mir die "Feinheiten" des Validierungsschemas immer noch nicht hinreichend bekannt sind, wünsche ich mir jetzt mal eine lückenlose Beschreibung der ganzen Geschichte.
                    ich mach mich da mal drüber... kommt dann als Pdf hierein.
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #25
                      Gibt es denn beim 'if' einen Unterschied zwischen 'Befehl invalid' und 'Bedingung invalid'?
                      BR
                      Marc

                      Kommentar


                        #26
                        Zitat von saft6luck Beitrag anzeigen
                        Gibt es denn beim 'if' einen Unterschied zwischen 'Befehl invalid' und 'Bedingung invalid'?
                        Nein, etwas Geduld, ich werde das genauer erklären.
                        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                        Enertex Produkte kaufen

                        Kommentar


                          #27
                          Zitat von enertegus Beitrag anzeigen
                          Nein, etwas Geduld, ich werde das genauer erklären.
                          Hier nun:
                          https://knx-user-forum.de/eibpc/1080...gskonzept.html
                          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                          Enertex Produkte kaufen

                          Kommentar

                          Lädt...
                          X