Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter pid (pid-Regler) V1.0.x

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Test Adapter pid (pid-Regler) V1.0.x

Geplant Angeheftet Gesperrt Verschoben Tester
314 Beiträge 16 Kommentatoren 64.9k Aufrufe 14 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mcm1957M mcm1957

    @fu_zhou

    Ich schaus mir an
    https://github.com/iobroker-community-adapters/ioBroker.pid/issues/54

    Ich werd nur ein paar Tage warten ob massive Probleme auftreten. Insbesondere das von Ben gemeldete Verhaklten von RST und HOLD muss ich mir ansehen. Das ist nicht rational erklärbar - im Moment

    fu_zhouF Offline
    fu_zhouF Offline
    fu_zhou
    schrieb am zuletzt editiert von
    #179

    @mcm57 Super, vielen Dank für deine Geduld und Arbeit!

    Synology DS920+ VM, S7-315 PN mit ET200S

    1 Antwort Letzte Antwort
    0
    • Ben1983B Ben1983

      @mcm57 Also wenn ich hold auf true setze, dann rst auf true,
      dann bekomme ich
      nach 10s rst = true den doppelten Wert wie nach 5s rst = true.
      Daraus schließe ich, dass dort nicht y=(act-set)*kp + off gerechnet wird, sondern noch das Tn mit rein spielt.

      das Weiteren:
      Wenn ich die hysterese (supr) auf 5 (oder sonst einen Wert setze). Worauf bezieht diese sich denn? Ich dachte auf die regelabweichung, dies ist anscheinend nicht der Fall. oder?
      Sonst wäre ja hier diff nicht 0.
      ce8f9a05-80f0-4add-b386-5756796dd0bc-image.png
      ich würde es wie schon mal geschrieben nicht auf eine Änderung beziehen, sondern wirklich auf die Regelabweichung, denn:

      Wenn die Differenz dauerhaft sagen wir +1/2*Hysterese ist, dann kann der Stellwert und damit der Regler langsam weglaufen.
      Wenn die Hysterrese sich auf die Regelabweichung bezieht, kann dies nicht passieren, da spätestens nach dem 2. zyklus die volle hysterrese erreicht wurde und die regelung wieder greift-

      mcm1957M Online
      mcm1957M Online
      mcm1957
      schrieb am zuletzt editiert von
      #180

      @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

      @mcm57 Also wenn ich hold auf true setze, dann rst auf true,
      dann bekomme ich
      nach 10s rst = true den doppelten Wert wie nach 5s rst = true.
      Daraus schließe ich, dass dort nicht y=(act-set)*kp + off gerechnet wird, sondern noch das Tn mit rein spielt.

      Sorry, du hast wieder mal recht. Da ist noch ein Wurm dirnnen.
      RST sollte KEINE Neuberechnung auslösen wenn der Adapter im "fixed Intervall" Mode arbeitet oder on hold ist.

      https://github.com/iobroker-community-adapters/ioBroker.pid/issues/55

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      mcm1957M 1 Antwort Letzte Antwort
      0
      • mcm1957M mcm1957

        @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

        @mcm57 Also wenn ich hold auf true setze, dann rst auf true,
        dann bekomme ich
        nach 10s rst = true den doppelten Wert wie nach 5s rst = true.
        Daraus schließe ich, dass dort nicht y=(act-set)*kp + off gerechnet wird, sondern noch das Tn mit rein spielt.

        Sorry, du hast wieder mal recht. Da ist noch ein Wurm dirnnen.
        RST sollte KEINE Neuberechnung auslösen wenn der Adapter im "fixed Intervall" Mode arbeitet oder on hold ist.

        https://github.com/iobroker-community-adapters/ioBroker.pid/issues/55

        mcm1957M Online
        mcm1957M Online
        mcm1957
        schrieb am zuletzt editiert von mcm1957
        #181

        Ich dachte eigentlich, dass ich nur mal schnell den node-pid code in einen Adapter integriere.
        So kann man sich täuschen :-)

        Sorry für die immer noch vorhandenen Fehler. Und DANKE für euren Testaufwand. Ohne den würde der Adapter wohl noch viel länger fehlerhaft bleiben.

        McM

        P.S: Für heute bin ich zu müde um mal schnell was rauszuschießen. Wird wohl morgen od. ev. Freitag werden für die nächste Version

        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
        Support Repositoryverwaltung.

        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

        LESEN - gute Forenbeitrage

        Ben1983B fu_zhouF 2 Antworten Letzte Antwort
        0
        • mcm1957M mcm1957

          Ich dachte eigentlich, dass ich nur mal schnell den node-pid code in einen Adapter integriere.
          So kann man sich täuschen :-)

          Sorry für die immer noch vorhandenen Fehler. Und DANKE für euren Testaufwand. Ohne den würde der Adapter wohl noch viel länger fehlerhaft bleiben.

          McM

          P.S: Für heute bin ich zu müde um mal schnell was rauszuschießen. Wird wohl morgen od. ev. Freitag werden für die nächste Version

          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von
          #182

          @mcm57 alles gut. Top Entwicklung des Adapters.
          Mit dem integralanteil wäre es echt cool, wenn der immer nur den letzten Teil mit dem aktuellen Tn auf den alten Wert packt.
          Das ist beim einstellen schon wesentlich besser zum Testen.

          1 Antwort Letzte Antwort
          0
          • mcm1957M mcm1957

            @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

            @mcm57 ich kann auch @fu_zhou verstehen.
            Aber auch deinen Einwand mit Kp.
            Generell hätte man die Berechnung auch geteilt aufbauen können in den P den I und den D Anteil.
            Somit hätte man bspw. Den I Anteil zwar auch mit Kp *(delta/Tn) berechnen können, aber eben immer nur für den aktuellen Zyklus….
            Eben IAnteil = IAnteil + Kp *(delta/Tn)
            Somit wäre kein Sprung drin.

            Fällt natürlich nur bei Änderungen während des Laufens auf.

            Ja schon klar:
            Man derzeit wird INTEGRAL(diff) / Tn gerechnet. Im Prinzip könnte man auch INTEGRAL (diff/Tn) rechnen. Solange Tn konstant ist muss da dasselbe rauskommen. Bei Änderungen von Tn wirkt es sich aus.

            Werd mal drüber nachdenken. Falls wer eine "offizielle" Doku kennt wo das Verhalten dokumentiert ist bitte um Link. Im Prinzip scheint es mir aber eher so zu sein, dass das Ändern der Regelparamater bei laufendem System eher ein "unspecified" Bereich ist.

            https://github.com/iobroker-community-adapters/ioBroker.pid/issues/54

            McM

            fu_zhouF Offline
            fu_zhouF Offline
            fu_zhou
            schrieb am zuletzt editiert von fu_zhou
            #183

            @mcm57 hier ein Ausschnitt aus dem Quellcode vom S7-PID = der P-I-Teil, der sieht wie folgt aus:

            (* read last cycle time in Microseconds *)
            tx := T_PLC_US();
            tc := DWORD_TO_REAL(tx - t_last);
            t_last := tx;
            
            (* calculate proportional part *)
            p := KP * IN;
            
            (* run integrator *)
            i := (IN + in_last) * 5.0E-7 * KI * tc + i;
            in_last := IN;
            
            (* calculate output Y *)
            Y := p + i;
            

            Das sieht so aus, wie @Ben1983 oben schreibt: aufgeteilte Berechnung, und daher kein Sprung bei Verändern von Tn im laufenden Betrieb, oder?

            Synology DS920+ VM, S7-315 PN mit ET200S

            mcm1957M 2 Antworten Letzte Antwort
            0
            • fu_zhouF fu_zhou

              @mcm57 hier ein Ausschnitt aus dem Quellcode vom S7-PID = der P-I-Teil, der sieht wie folgt aus:

              (* read last cycle time in Microseconds *)
              tx := T_PLC_US();
              tc := DWORD_TO_REAL(tx - t_last);
              t_last := tx;
              
              (* calculate proportional part *)
              p := KP * IN;
              
              (* run integrator *)
              i := (IN + in_last) * 5.0E-7 * KI * tc + i;
              in_last := IN;
              
              (* calculate output Y *)
              Y := p + i;
              

              Das sieht so aus, wie @Ben1983 oben schreibt: aufgeteilte Berechnung, und daher kein Sprung bei Verändern von Tn im laufenden Betrieb, oder?

              mcm1957M Online
              mcm1957M Online
              mcm1957
              schrieb am zuletzt editiert von
              #184

              @fu_zhou

              Danke f.d. Beispiel. Im Prinzip hab ich es so umgesetzt.
              In deinem Codebeispiel wird nur anscheinen der Mittelwert (?) der Fehlerwerte integriert - anders kann ich mir lastIn nicht erklären. Ich integriere "nur" den Fehlerwert. Glaube aber nicht, dass dies viel Unterschied im Verhalten macht, zumindest sicher nicht wenn der Fehlerwert nicht groß herumspringt.

              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
              Support Repositoryverwaltung.

              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

              LESEN - gute Forenbeitrage

              fu_zhouF 1 Antwort Letzte Antwort
              0
              • fu_zhouF fu_zhou

                @mcm57 hier ein Ausschnitt aus dem Quellcode vom S7-PID = der P-I-Teil, der sieht wie folgt aus:

                (* read last cycle time in Microseconds *)
                tx := T_PLC_US();
                tc := DWORD_TO_REAL(tx - t_last);
                t_last := tx;
                
                (* calculate proportional part *)
                p := KP * IN;
                
                (* run integrator *)
                i := (IN + in_last) * 5.0E-7 * KI * tc + i;
                in_last := IN;
                
                (* calculate output Y *)
                Y := p + i;
                

                Das sieht so aus, wie @Ben1983 oben schreibt: aufgeteilte Berechnung, und daher kein Sprung bei Verändern von Tn im laufenden Betrieb, oder?

                mcm1957M Online
                mcm1957M Online
                mcm1957
                schrieb am zuletzt editiert von
                #185

                @fu_zhou @Ben1983

                Release 0.0.3-alpha.1 ist da

                • geändert: Einstellung rst Zustand löst keine Neuberechnung mehr aus
                • geändert: State diff zeigt nun den Fehlerwert, auch wenn sup aktiv ist
                • geändert: Die Berechnung des I-Teils wurde geändert; Änderungen a, Paramater Tn wirken nur mehr auf zuküftige Anteile",

                Offen ist noch die Anpassung der Formel im GUI

                Schaut bitte mal ob das jetzt besser passt.

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                fu_zhouF 1 Antwort Letzte Antwort
                0
                • mcm1957M mcm1957

                  @fu_zhou

                  Danke f.d. Beispiel. Im Prinzip hab ich es so umgesetzt.
                  In deinem Codebeispiel wird nur anscheinen der Mittelwert (?) der Fehlerwerte integriert - anders kann ich mir lastIn nicht erklären. Ich integriere "nur" den Fehlerwert. Glaube aber nicht, dass dies viel Unterschied im Verhalten macht, zumindest sicher nicht wenn der Fehlerwert nicht groß herumspringt.

                  fu_zhouF Offline
                  fu_zhouF Offline
                  fu_zhou
                  schrieb am zuletzt editiert von
                  #186

                  @mcm57 Der ganze PID-Algorithmus in der S7 ist eine Kombination aus Funktions-Aufrufen. Ist es hilfreich, wenn ich das alles mal zusammensuche? Ich glaube eher nicht, dazu sind wir hier schon weit genug, würde ich sagen.

                  Synology DS920+ VM, S7-315 PN mit ET200S

                  mcm1957M 1 Antwort Letzte Antwort
                  0
                  • mcm1957M mcm1957

                    @fu_zhou @Ben1983

                    Release 0.0.3-alpha.1 ist da

                    • geändert: Einstellung rst Zustand löst keine Neuberechnung mehr aus
                    • geändert: State diff zeigt nun den Fehlerwert, auch wenn sup aktiv ist
                    • geändert: Die Berechnung des I-Teils wurde geändert; Änderungen a, Paramater Tn wirken nur mehr auf zuküftige Anteile",

                    Offen ist noch die Anpassung der Formel im GUI

                    Schaut bitte mal ob das jetzt besser passt.

                    fu_zhouF Offline
                    fu_zhouF Offline
                    fu_zhou
                    schrieb am zuletzt editiert von fu_zhou
                    #187

                    @mcm57 cool, schaffe ich aber erst heute Abend, auch wenn mich das aktuell mehr juckt, als die Arbeit ;-)

                    Synology DS920+ VM, S7-315 PN mit ET200S

                    1 Antwort Letzte Antwort
                    0
                    • fu_zhouF fu_zhou

                      @mcm57 Der ganze PID-Algorithmus in der S7 ist eine Kombination aus Funktions-Aufrufen. Ist es hilfreich, wenn ich das alles mal zusammensuche? Ich glaube eher nicht, dazu sind wir hier schon weit genug, würde ich sagen.

                      mcm1957M Online
                      mcm1957M Online
                      mcm1957
                      schrieb am zuletzt editiert von
                      #188

                      @fu_zhou said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                      @mcm57 Der ganze PID-Algorithmus in der S7 ist eine Kombination aus Funktions-Aufrufen. Ist es hilfreich, wenn ich das alles mal zusammensuche? Ich glaube eher nicht, dazu sind wir hier schon weit genug, würde ich sagen.

                      Danke für das Angebot.
                      Aber ich glaube auch, dass wir das nur (mehr) machen sollten, wenn es hier Probleme gibt die am Algorithmus liegen könnten.

                      McM

                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                      Support Repositoryverwaltung.

                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                      LESEN - gute Forenbeitrage

                      Ben1983B 2 Antworten Letzte Antwort
                      0
                      • mcm1957M mcm1957

                        @fu_zhou said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                        @mcm57 Der ganze PID-Algorithmus in der S7 ist eine Kombination aus Funktions-Aufrufen. Ist es hilfreich, wenn ich das alles mal zusammensuche? Ich glaube eher nicht, dazu sind wir hier schon weit genug, würde ich sagen.

                        Danke für das Angebot.
                        Aber ich glaube auch, dass wir das nur (mehr) machen sollten, wenn es hier Probleme gibt die am Algorithmus liegen könnten.

                        McM

                        Ben1983B Offline
                        Ben1983B Offline
                        Ben1983
                        schrieb am zuletzt editiert von Ben1983
                        #189

                        @mcm57 Jetzt ist es aber so, wenn man während hold einen Reset macht, passiert nichts => OK
                        setzt man dann hold wieder auf false, beginnt der Regler mit y = 0 neu zu regeln.

                        Wäre es keine Option, wenn Hold = true ist den rst state einfach zu bestätigen, aber nichts zu machen?

                        mcm1957M 1 Antwort Letzte Antwort
                        0
                        • mcm1957M mcm1957

                          @fu_zhou said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                          @mcm57 Der ganze PID-Algorithmus in der S7 ist eine Kombination aus Funktions-Aufrufen. Ist es hilfreich, wenn ich das alles mal zusammensuche? Ich glaube eher nicht, dazu sind wir hier schon weit genug, würde ich sagen.

                          Danke für das Angebot.
                          Aber ich glaube auch, dass wir das nur (mehr) machen sollten, wenn es hier Probleme gibt die am Algorithmus liegen könnten.

                          McM

                          Ben1983B Offline
                          Ben1983B Offline
                          Ben1983
                          schrieb am zuletzt editiert von
                          #190

                          @mcm57 Liegt das am Hold bit, dass die diff nicht passt?
                          798b2fe6-49cd-480c-8d74-9a99658b744a-image.png

                          mcm1957M 1 Antwort Letzte Antwort
                          0
                          • Ben1983B Ben1983

                            @mcm57 Jetzt ist es aber so, wenn man während hold einen Reset macht, passiert nichts => OK
                            setzt man dann hold wieder auf false, beginnt der Regler mit y = 0 neu zu regeln.

                            Wäre es keine Option, wenn Hold = true ist den rst state einfach zu bestätigen, aber nichts zu machen?

                            mcm1957M Online
                            mcm1957M Online
                            mcm1957
                            schrieb am zuletzt editiert von mcm1957
                            #191

                            @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                            @mcm57 Jetzt ist es aber so, wenn man während hold einen Reset macht, passiert nichts => OK
                            setzt man dann hold wieder auf false, beginnt der Regler mit y = 0 neu zu regeln.

                            Wäre es keine Option, wenn Hold = true ist den rst state einfach zu bestätigen, aber nichts zu machen?

                            RST sollte keine außertourliche Neubrechnung auslösen, genausowenig wie das Ändern von act, set, ... RST mcht genau eines - der Integralspeicher wird resetted. Damit wird die Vorgeschuchte vergessen und beim nächsten Rechenzyklus wie bei einem ersten Start berechnet.

                            Das bei hold=true keine Reaktion auf y zu sehen ist ist daher gewunschen und m.E. ok.

                            Beim Restart (hold=false) wird y auf set-act/kp + offset gesetzt. Beim ersten Zyklus gibt es keinen Integralteil da dt mangels Vorgängerwert null ist. Wenn also am Ausgang y 0 angelegt wird, dann muss err = 0 sein (bzw. err*kp-off).

                            Bitte ggef das Loggend er Berechnungen aktivieren:
                            02ec3f3a-0bb7-421c-82ca-900e7c0724fa-image.png

                            Dann sollten die Berechnungszyklen im Log auftauchen:

                            0ea9f8f0-5958-4bde-9d93-40356208f58f-image.png

                            RST während eines Holds zu ignorieren wäre m.E. unlogisch.

                            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                            Support Repositoryverwaltung.

                            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                            LESEN - gute Forenbeitrage

                            1 Antwort Letzte Antwort
                            0
                            • Ben1983B Ben1983

                              @mcm57 Liegt das am Hold bit, dass die diff nicht passt?
                              798b2fe6-49cd-480c-8d74-9a99658b744a-image.png

                              mcm1957M Online
                              mcm1957M Online
                              mcm1957
                              schrieb am zuletzt editiert von
                              #192

                              @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                              @mcm57 Liegt das am Hold bit, dass die diff nicht passt?
                              798b2fe6-49cd-480c-8d74-9a99658b744a-image.png

                              Ich gehe mal davon aus, dass act nach dem letzen Update von y (und diff) sich wieder geändert hat. Diff wird NICHT ständig aktualisiert sondern spiegelt jenen diff Wert dar der bei der letzen Berechnung verwendet wurde. Act und Set können sich dann bis zur nächsten Berechnung ändern.

                              Änderungen von Act oder Set lösen keine extra Neuberechnung aus.

                              Ansonsten bitte wie oben die Berechnungslogs aktivieren und den zugehörigen Output posten.

                              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                              Support Repositoryverwaltung.

                              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                              LESEN - gute Forenbeitrage

                              MartinPM 1 Antwort Letzte Antwort
                              0
                              • mcm1957M mcm1957

                                @ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                                @mcm57 Liegt das am Hold bit, dass die diff nicht passt?
                                798b2fe6-49cd-480c-8d74-9a99658b744a-image.png

                                Ich gehe mal davon aus, dass act nach dem letzen Update von y (und diff) sich wieder geändert hat. Diff wird NICHT ständig aktualisiert sondern spiegelt jenen diff Wert dar der bei der letzen Berechnung verwendet wurde. Act und Set können sich dann bis zur nächsten Berechnung ändern.

                                Änderungen von Act oder Set lösen keine extra Neuberechnung aus.

                                Ansonsten bitte wie oben die Berechnungslogs aktivieren und den zugehörigen Output posten.

                                MartinPM Online
                                MartinPM Online
                                MartinP
                                schrieb am zuletzt editiert von
                                #193

                                Instinktiv habe ich gewisse Vorbehalte, einen Regler zu weit weg von der zu regelnden Strecke zu implementieren.

                                Dass bei gutmütigen Regelkreisen auch eventuelle Latenz, die beim Durchschleusen durch den iobroker entstehen kann kein Problem ist, ist sicherlich einleuchtend. Schwieriger wird es, wenn schneller nachgeregelt werden muss.

                                Kennt noch jemand den "Magnet-Schweberegler"?

                                https://www.mikrocontroller.net/attachment/43883/Artikel_zum_Magnet-Schweberegler.pdf

                                Wäre ein so zeitkritischer Regelkreis auch mit einem iobroker Regler-Adapter möglich?

                                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.13)
                                kernel Linux pve 6.8.12-15-pve
                                6 GByte RAM für den Container
                                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                Remote-Access über Wireguard der Fritzbox

                                mcm1957M 1 Antwort Letzte Antwort
                                0
                                • MartinPM MartinP

                                  Instinktiv habe ich gewisse Vorbehalte, einen Regler zu weit weg von der zu regelnden Strecke zu implementieren.

                                  Dass bei gutmütigen Regelkreisen auch eventuelle Latenz, die beim Durchschleusen durch den iobroker entstehen kann kein Problem ist, ist sicherlich einleuchtend. Schwieriger wird es, wenn schneller nachgeregelt werden muss.

                                  Kennt noch jemand den "Magnet-Schweberegler"?

                                  https://www.mikrocontroller.net/attachment/43883/Artikel_zum_Magnet-Schweberegler.pdf

                                  Wäre ein so zeitkritischer Regelkreis auch mit einem iobroker Regler-Adapter möglich?

                                  mcm1957M Online
                                  mcm1957M Online
                                  mcm1957
                                  schrieb am zuletzt editiert von
                                  #194

                                  @martinp
                                  Sorry, dass kann ich dir nicht beantworten.

                                  Die Entfernung spielt wahrscheinlich keine Rolle - wenn schon die Laufzeit des Signals am Kabel relevant wird, dann bruachen wir über Regler in Software wohl nicht sprechen. Prinzipiell ist aber ioBroker sicher nicht als Echtzeitsystem zu sehen.

                                  Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                  Support Repositoryverwaltung.

                                  Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                  LESEN - gute Forenbeitrage

                                  1 Antwort Letzte Antwort
                                  0
                                  • fu_zhouF Offline
                                    fu_zhouF Offline
                                    fu_zhou
                                    schrieb am zuletzt editiert von fu_zhou
                                    #195

                                    Das Verhalten von y bei Änderung von Tn bei laufendem Regler ist jetzt so, wie ich es mir gewünscht habe - danke! Die Kombinationen aus man, hold, rst, die ich jetzt mal so beim Rumspielen probiert habe, sind nachvollziehbar. @Ben1983 was meinst du?
                                    Philosophiefrage ist folgendes Szenario: Regler auf hold, dann rst = true => y bleibt stehen, dann hold = false => rst wird jetzt ausgeführt und der Regler fängt bei 0 an bzw. mit der Kp Sprungantwort. Heißt also, solange der Regler auf hold ist, bleibt das y stehen, das zum Zeitpunkt von hold ausgegeben wurde, selbst wenn rst = true gesetzt wird. Die philosophische Frage ist jetzt: so lassen oder bei hold = true führt ein rst = true zu y = 0 (das dann stehen bleibt, weil ja hold = true). Wenn dann hold = false gesetzt wird, ist das Ergebnis das gleiche (Regler startet y zu verändern ab 0), nur sieht man durch y = 0, dass rst betätigt wurde. Der Unterschied ist der Zeitpunkt, wann y = 0 wird. Einmal bei rst = true, das andere mal bei hold = false.

                                    Ah sehe gerade, dass das weiter oben schon diskutiert wurde, lasse es trotzdem mal stehen...

                                    Synology DS920+ VM, S7-315 PN mit ET200S

                                    mcm1957M 1 Antwort Letzte Antwort
                                    0
                                    • fu_zhouF fu_zhou

                                      Das Verhalten von y bei Änderung von Tn bei laufendem Regler ist jetzt so, wie ich es mir gewünscht habe - danke! Die Kombinationen aus man, hold, rst, die ich jetzt mal so beim Rumspielen probiert habe, sind nachvollziehbar. @Ben1983 was meinst du?
                                      Philosophiefrage ist folgendes Szenario: Regler auf hold, dann rst = true => y bleibt stehen, dann hold = false => rst wird jetzt ausgeführt und der Regler fängt bei 0 an bzw. mit der Kp Sprungantwort. Heißt also, solange der Regler auf hold ist, bleibt das y stehen, das zum Zeitpunkt von hold ausgegeben wurde, selbst wenn rst = true gesetzt wird. Die philosophische Frage ist jetzt: so lassen oder bei hold = true führt ein rst = true zu y = 0 (das dann stehen bleibt, weil ja hold = true). Wenn dann hold = false gesetzt wird, ist das Ergebnis das gleiche (Regler startet y zu verändern ab 0), nur sieht man durch y = 0, dass rst betätigt wurde. Der Unterschied ist der Zeitpunkt, wann y = 0 wird. Einmal bei rst = true, das andere mal bei hold = false.

                                      Ah sehe gerade, dass das weiter oben schon diskutiert wurde, lasse es trotzdem mal stehen...

                                      mcm1957M Online
                                      mcm1957M Online
                                      mcm1957
                                      schrieb am zuletzt editiert von
                                      #196

                                      @fu_zhou
                                      Ich möchte eigentlich konsequent den Y Ausgang nur bei einer Neuberechnung ändern.
                                      Warum?
                                      hold = true y=bleibt unverändert ist klar nachvollziehbar

                                      Wenn man bei hold=true auf RST reagiert, dann kommt als nächstes die Frage warum ein Ändern vion OFFS, MAN, MIN nichts ändert. Und warum sich die Änderung von SET, ACT nichts auswirkt.
                                      Das führt in einen Teufelskreis - meiner Ansicht nach.

                                      Und bei JEDER Änderung von Eingangsgrößen sofort neu zu berechnen führt bei einer Regelstrecke mit kurzer Verzögkerung (z.B. Y wirkt unverzögert auf act) zu einer Dauerberechnungsloop die den iob potenziell lahmlegt. Also auch nicht so toll.

                                      Ich würde das Ganze mal so lassen.
                                      Falls es wirklich Bedarf für ein erweitertes (!), soll heißen explizit einstellbares oder auslösbares und kompatibles Verhalten gibt, kann man natürlich über einer Erweiterung reden. Denkbar wäre z.B. ein Calculate Now Triggerstate. Ich bezweifle nur dass der Bedarf hier nennenswert ist.

                                      Insofern bitte mal den aktuellen Stand anschaun und allfällige Fehler melden. (Oder auch kurz, dass nix aufgefallen ist).

                                      Ich werde - sofern keine Probleme hier auftauchen - nach Update der Doku den Stand mal in den regularäen Beta Test (incl. Lates Request) schicken.

                                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                      Support Repositoryverwaltung.

                                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                      LESEN - gute Forenbeitrage

                                      fu_zhouF 2 Antworten Letzte Antwort
                                      0
                                      • mcm1957M mcm1957

                                        @fu_zhou
                                        Ich möchte eigentlich konsequent den Y Ausgang nur bei einer Neuberechnung ändern.
                                        Warum?
                                        hold = true y=bleibt unverändert ist klar nachvollziehbar

                                        Wenn man bei hold=true auf RST reagiert, dann kommt als nächstes die Frage warum ein Ändern vion OFFS, MAN, MIN nichts ändert. Und warum sich die Änderung von SET, ACT nichts auswirkt.
                                        Das führt in einen Teufelskreis - meiner Ansicht nach.

                                        Und bei JEDER Änderung von Eingangsgrößen sofort neu zu berechnen führt bei einer Regelstrecke mit kurzer Verzögkerung (z.B. Y wirkt unverzögert auf act) zu einer Dauerberechnungsloop die den iob potenziell lahmlegt. Also auch nicht so toll.

                                        Ich würde das Ganze mal so lassen.
                                        Falls es wirklich Bedarf für ein erweitertes (!), soll heißen explizit einstellbares oder auslösbares und kompatibles Verhalten gibt, kann man natürlich über einer Erweiterung reden. Denkbar wäre z.B. ein Calculate Now Triggerstate. Ich bezweifle nur dass der Bedarf hier nennenswert ist.

                                        Insofern bitte mal den aktuellen Stand anschaun und allfällige Fehler melden. (Oder auch kurz, dass nix aufgefallen ist).

                                        Ich werde - sofern keine Probleme hier auftauchen - nach Update der Doku den Stand mal in den regularäen Beta Test (incl. Lates Request) schicken.

                                        fu_zhouF Offline
                                        fu_zhouF Offline
                                        fu_zhou
                                        schrieb am zuletzt editiert von
                                        #197

                                        @mcm57

                                        @mcm57 sagte in Test neuer Adapter pid (pid-Regler) V0.0.3-alpha.x:

                                        Ich würde das Ganze mal so lassen.

                                        👍

                                        Ansonsten läuft das Ding jetzt bei mir ohne Auffälligkeiten und ich nehme den Adapter mit dem aktuellen Stand mal produktiv.

                                        Synology DS920+ VM, S7-315 PN mit ET200S

                                        1 Antwort Letzte Antwort
                                        0
                                        • mcm1957M mcm1957

                                          @fu_zhou
                                          Ich möchte eigentlich konsequent den Y Ausgang nur bei einer Neuberechnung ändern.
                                          Warum?
                                          hold = true y=bleibt unverändert ist klar nachvollziehbar

                                          Wenn man bei hold=true auf RST reagiert, dann kommt als nächstes die Frage warum ein Ändern vion OFFS, MAN, MIN nichts ändert. Und warum sich die Änderung von SET, ACT nichts auswirkt.
                                          Das führt in einen Teufelskreis - meiner Ansicht nach.

                                          Und bei JEDER Änderung von Eingangsgrößen sofort neu zu berechnen führt bei einer Regelstrecke mit kurzer Verzögkerung (z.B. Y wirkt unverzögert auf act) zu einer Dauerberechnungsloop die den iob potenziell lahmlegt. Also auch nicht so toll.

                                          Ich würde das Ganze mal so lassen.
                                          Falls es wirklich Bedarf für ein erweitertes (!), soll heißen explizit einstellbares oder auslösbares und kompatibles Verhalten gibt, kann man natürlich über einer Erweiterung reden. Denkbar wäre z.B. ein Calculate Now Triggerstate. Ich bezweifle nur dass der Bedarf hier nennenswert ist.

                                          Insofern bitte mal den aktuellen Stand anschaun und allfällige Fehler melden. (Oder auch kurz, dass nix aufgefallen ist).

                                          Ich werde - sofern keine Probleme hier auftauchen - nach Update der Doku den Stand mal in den regularäen Beta Test (incl. Lates Request) schicken.

                                          fu_zhouF Offline
                                          fu_zhouF Offline
                                          fu_zhou
                                          schrieb am zuletzt editiert von
                                          #198

                                          @mcm57 jetzt fällt mir im Produktivbetrieb doch was auf: wenn max erreicht ist (lim = 1), in meinem Fall unten 11, wird i_sumerr schlagartig auf den 10-fachen Wert vom vorherigen Wert gesetzt und trotz großer Regelabweichung hält der Regler y bei max, obwohl y schnell kleiner werden müsste. Bei 10.9 war i_sumerr z.B. 110, dann springt i_sumerr bei Erreichen vom Limit (11) auf 1100. Und von dort kommt der Regler dann nicht mehr weg, weil vom hohen i_sumerr verhältnismäßig kleine Werte abgezogen werden bei einer Regelabweichung in die andere Richtung.

                                          564598eb-197e-41e6-b5c8-55df93993097-image.png

                                          Synology DS920+ VM, S7-315 PN mit ET200S

                                          mcm1957M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          602

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe