Ankündigung

Einklappen
Keine Ankündigung bisher.

Anfänger: eibPC programm

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

    Anfänger: eibPC programm

    Was verstehe ich dabei nicht?

    TEST1 = 0
    if cycle(0,5) then {
    if TEST1==0 then {
    write("Lampe-4/0/3", EIN);
    TEST1=1
    } else {
    write("Lampe-4/0/3", AUS);
    TEST1=0
    } endif
    } endif

    Ich hätte erwartet, dass die Lampe alle 5 sekunden ein und nach weiteren 5s wieder ausgeschaltet wird.
    Der obige code schaltet die Lampe ein, aber sofort wieder aus?

    #2
    ganz einfach der interpreter baut deinen "else" code zu 2 if code blöcken um...

    da steht dann
    Code:
    if TEST1==0 then ....
    if TEST1!=0 then...
    somit schaltet der erste If EIN
    und der darauffolgende if Block wieder aus

    klingt komisch? - Ist es auch, aber isso

    Codebeispiel
    Code:
    // Blinken bei Zentral-AUS
    if Zentral_AUS and cycle(0,1) then write("Gang_OG.Licht.StatusLED-3/1/2",!"Gang_OG.Licht.StatusLED-3/1/2") endif
    if Zentral_AUS and after(cycle(0,1),500u64) then write("Gang_OG.Licht.StatusLED-3/1/2",!"Gang_OG.Licht.StatusLED-3/1/2") endif 
    
    // Nach dieser Zeitspanne Blinken wieder zurücksetzen (5sec)
    if after(Zentral_AUS,5000u64) then {
          Zentral_AUS=AUS;
        write("Gang_OG.Licht.StatusLED-3/1/2",EIN)
    } endif
    Zuletzt geändert von EPIX; 01.05.2017, 07:05.
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      Bravo.. ist doch kein "normales" Programm.. wird spannend werden, als rundumdieuhr C++ Programmierer.. Aber danke für die Info.
      Da das eine klassische pitfall ist, werde ich daher besser generell auf alle else Zweige verzichten.

      Kommentar


        #4
        1. der eibpc ist keine SPS oder sonst irgendetwas - es ist der eibpc
        2. KNX-Programmierung is immer ein bisserl schräg - und kein C++
        3. die Lernkurve ist schwierig aber steil...

        Hilfe sind die Vorlagen sowie die SUCHE im Forum - der "Blink"-Code von mir ist auch aus dem Forum
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #5
          Hab ich auch schon festgestellt. Das größte Manko ist die Turn-Around Zeit. Die entspricht nicht meinen pers. Vorstellungen - die embedded CPU ist offenbar viel zu lahm. Immer wieder ein paar Zeilen code so lange compilieren, downloaden und starten ist heutezutage einfach öde. Keine Ahnung ob das bei den anderen Herstellern auch so ist, als KNX Anfänger habe ich noch keinen Vergleich.

          Kommentar


            #6
            Der Compilierungsvorgang hängt vom Hostsystem ab und nicht vom EibPC. Die Startzeit ist mit 10..20 Sekunden für kleinere Programme m.W. eher "schnell".
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Dual-Xeon 20 cores, 64GB Ram, striped SSDs,.. ich glaub kaum, dass es daran liegt..
              Vom Drücken der <F3> Taste bis die Webseite angezeigt wird, vergehen bei mir 1 Minute und 42 Sekunden!

              Kommentar


                #8
                Hmm. Dann muss was anderes im argen sein.
                Benutzt du vielleicht die INIT Funktion recht häufig und hast kein L-Flag in der ETS gesetzt?
                Gruß
                Volker

                Wer will schon Homematic?

                Kommentar


                  #9
                  hmm..

                  a) was meinst du mit INIT Funktion?
                  b) welches L-Flag für welchen Eintrag soll ich im ETS setzen?

                  Es vergehen ca. 70% der Zeit fürs compilieren und downloaden. 30% vergehen für das InitGA und bis das Programm endlich läuft.
                  Das Programm selber hat 15 GAs, 100 zeilen code und vier sinnlos Webseiten.

                  Der PC hängt direkt auf dem Router und auf dem hängt noch der eibPC und der enertex router. Kein Internet!

                  Anbei der compiler report (ist alles nur ein "test-code" - fast alles ohne funktion):

                  % +---+ EibParser - v3.201 (Windows Win32 Version) +---+
                  Keine Haftung für Schäden, die durch die Benutzung des Programms entstehen.
                  Gruppenadressen-Import:
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpAddr.txt" wurde geschrieben
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpMacroOut.txt" wurde geschrieben
                  ====== Seite: 01/EG ======
                  button (2) button (3) none (3) none (3)
                  pshifter (3) - pslider (9) -
                  pshifter (20) - pshifter (22) -
                  pshifter (21) - pshifter (23) -
                  none (23) none (23) none (23) none (23)
                  pshifter (14) - pshifter (15) -
                  pshifter (17) - mpshifter (16) -
                  mtimechart (25) - mchart (24) -
                  | | | |
                  | | | |
                  | | | |
                  mchart (18) - mchart (19) -
                  | | | |
                  | | | |
                  | | | |

                  ====== Seite: 02/OG ======
                  button (2) button (3) none (3) none (3)
                  pshifter (3) - pslider (9) -
                  none (9) none (9) pshifter (12) -
                  pshifter (13) - none (13) none (13)
                  pshifter (14) - pshifter (15) -
                  pshifter (17) - pshifter (16) -
                  mchart (18) - mchart (19) -
                  | | | |
                  | | | |
                  | | | |

                  ====== Seite: 03/Zeitschaltuhren ======
                  mpbutton (11) mpbutton (13) mpbutton (14) mpbutton (15)
                  none (15) none (15) peslider (12) -
                  pshifter (1) - pshifter (2) -
                  pshifter (3) - pshifter (4) -

                  ====== Seite: 04/Zeitschaltuhren ======
                  mpbutton (11) mpbutton (13) mpbutton (14) mpbutton (15)
                  none (15) none (15) peslider (12) -
                  pshifter (1) - pshifter (2) -
                  pshifter (3) - pshifter (4) -
                  Gruppenadressen - Konvertierung Datentypen:
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpAddr.txt" wurde geschrieben
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpDebug.txt" wurde geschrieben
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpObjects.txt" wurde geschrieben
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpAssign.txt" wurde geschrieben
                  Datei: "P:/ets5/Enertex/EibstudioData/tmpConf.txt" wurde geschrieben
                  Setze UDP Eingangsport auf: 4806
                  Setze UDP Ausgangssport auf: 4807
                  Setze TCP Port auf: 4809
                  Setze ModBusTCP Port auf: 502
                  -------------------------------------- --------------------------------------
                  Objektnutzung | Anzahl Webserverobjekte | Anzahl
                  ====================================== ======================================
                  Schaltuhr | 48 button | 4
                  Timer | 28 mpbutton | 8
                  Timebuffer | 2 mpchart | 5
                  String Operationen | 86 mpshifter | 1
                  TCP/IP/UDP Operationen | 0 mtimechart | 1
                  Stringsuche | 6 peslider | 2
                  Flash | 0 pshifter | 23
                  Fliesskommaoperationen | 8 pslider | 2
                  if/else | 444 --------------------------------------
                  Gruppenaddressen | 28 Summe (4 Webseiten) | 46
                  KNX Busoperationen | 111
                  Stringvariablen | 53
                  Verarbeitungsobjekte | 2616
                  --------------------------------------
                  Summe | 3430
                  Genutzte Objekte EibPC 5.25 %.
                  Funktionen der Option NP verwendet
                  EibParser wurde ohne Fehler beendet.


                  Zuletzt geändert von WWebber; 02.05.2017, 08:27.

                  Kommentar


                    #10
                    Die vom Assistenten generierten Webseiten nutzen das initga (vgl. Handbuch). Das kann der Programmstart verlangsamen. Bei den Tests würde ich das Programm selbst erst mal nicht auf dem EibPC speichern, einfach dass es schneller geht.
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #11
                      Zitat von WWebber Beitrag anzeigen
                      a) was meinst du mit INIT Funktion?
                      b) welches L-Flag für welchen Eintrag soll ich im ETS setzen?

                      Es vergehen ca. 70% der Zeit fürs compilieren und downloaden. 30% vergehen für das InitGA und bis das Programm endlich läuft.
                      Das Programm selber hat 15 GAs, 100 zeilen code und vier sinnlos Webseiten.
                      a) => InitGA
                      b) => das L-Flag am KO der GA. Wenn das nicht gesetzt ist versucht der EibPC ich glaub drei mal die GA zu lesen, was Zeit kostet, da keiner Antwortet.

                      Das scheint bei Dir aber nicht das Problem zu sein, da die meiste Zeit ja schon davor verbraucht wird.
                      Du hattest glaube ich was von 2 Min in Summe gesagt? Ein Programm mit 100 Zeilen und drei Webseiten kann/darf niemals so lang brauchen, nicht auf dem von Dir beschriebenen Rechner.
                      Bei mir dauert das sol lange (Plus InitGA, da werden aber einige Hundert GA abgefragt), aber ich hab einige Tausend Zeilen Code und 30 oder 40 Webseiten, und einen Rechner aus dem letzten Jahrtausend (fast jedenfalls)
                      ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                      Kommentar


                        #12
                        Ok. Verstehe. Danke!
                        D.h. ich werde das investigieren müssen, denn so wie es jetzt ist, habe ich schon die Lust daran verloren..

                        Kommentar


                          #13
                          Zitat von WWebber Beitrag anzeigen
                          D.h. ich werde das investigieren müssen, denn so wie es jetzt ist, habe ich schon die Lust daran verloren..
                          Du bist lustig und verlierst aber ganz schön schnell die Lust.
                          Kommt mir so vor wie: "kaufen, spielen, motzen - Wenn es nicht intuitiv in 2 Stunden erlernbar ist ist es schlecht"

                          Fang mal an die Doku zu lesen und arbeite Dich rein.
                          Mein Eindruck mag mich täuschen, aber es scheint ja doch die ein oder andere Grundlage auch im Bereich KNX nicht sofort vorhanden zu sein.

                          Gruß
                          Volker

                          Wer will schon Homematic?

                          Kommentar


                            #14
                            Hallo Volker,

                            dass ich von KNX noch Bahnhof verstehe, ist mir völlig klar!

                            Aber wenn die Turnaround Zeit eines Produktes für 100 Zeilen Code bei 1:30 Minute liegt, dann lese ich auch keine Manuals mehr, weil ich alleine schon fürs Warten die Lust verliere. Wenn ich das auf 5000 Zeilen extrapoliere...

                            Wie auch immer, ich werde das natürlich alles noch mal überprüfen. Sind die beschriebenen 20 Sekunden für Miniprogramme mit 4 Webseiten realistisch?

                            Webber

                            Kommentar


                              #15
                              Zitat von WWebber Beitrag anzeigen
                              Aber wenn die Turnaround Zeit eines Produktes für 100 Zeilen Code bei 1:30 Minute liegt, dann lese ich auch keine Manuals mehr, weil ich alleine schon fürs Warten die Lust verliere. Wenn ich das auf 5000 Zeilen extrapoliere...
                              Vielleicht ist das genau das Problem.
                              Ich kann ja verstehen das man erst mal auspackt und loslegt. Mach ich ja auch nicht anders.
                              Trotzdem ist der nächste Schritt bei solchen Problemen der Weg in Richtung Handbuch. Vielleicht ist dort ja entsprechendes erklärt.

                              Insgesamt finde ich deine Art und Weise dich auszudrücken einfach nur frech und respektlos!
                              "Hob, helft mir. Kann ja nicht sein. Keinen Bock zum lesen wenn der erste Eindruck schon nicht passt"
                              Viel Spaß weiterhin.


                              Gruß
                              Volker

                              Wer will schon Homematic?

                              Kommentar

                              Lädt...
                              X