Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikbaustein schreiben - Frage an die Profis

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

    HS/FS Logikbaustein schreiben - Frage an die Profis

    Hallo,

    ich benötige einen einfachen Logikbaustein zur Berechnung eines Mittelwertes aller empfangenen (kwh) Werte eines Zählers.

    Ich habe nun folgendes Versucht, allerdings gibt des Baustein keine Werte heraus. (Exceptions gibts schon mal keine ..)

    Das da noch ein Reset Eingang fehlt ist mir klar, allerdings wollte ich erst einmal einfach anfangen.

    Wo könnte der Fehler sein ?

    Danke, Philip

    #5000|"Text" Remanent(1/0)
    # Anz.Eingänge|.n.
    # Anzahl Ausgänge|.n.
    5000|"PHerbert\Mittelwert"|0|2|"Ein/Aus"|"Wert"|3|"Mittelwert"|"letzter Wert"|"Anzahl Werte"
    #5001
    # Anzahl Eingänge
    # | Ausgänge
    # | | Zeitspeicher
    # | | | Speicher
    # | | | | Berechnung bei Start
    5001|2|3|0|2|0

    # EN[x]
    #5002
    # Eingang
    # | Default Wert
    # | | 0=numerisch 1=alphanummerisch
    5002|1|0|0 # Baustein Einschalten
    5002|2|0|0 # aktueller Wert
    #SN[x]
    5003|1|0|1 # Speicher 1, Summe aller Werte
    5003|2|0|1 # Speicher 2, Anzahl der Einzelwerte

    # AN[x]
    #5004
    # Ausgang
    # | Initwert
    # | | runden binär (0/1)
    # | | | typ (1-send/2-sbc)
    # | | | | 0=numerisch 1=alphanummerisch
    5004|1|0|0|1|0 # Mittelwert
    5004|2|0|0|1|0 # Summe der Einzelwerte
    5004|3|0|0|1|0 # Anzahl der Einzelwerte

    #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang

    5012|0|"EC[1] and (EN[1]==1) and (EN[2]>0)"|"SN[1]+EN[2]"|""|2|0|1|0 # Speicher 1 und Ausgang 2 auf alter Wert + aktueller Wert
    5012|0|"EC[1] and (EN[1]==1) and (EN[2]>0)"|"SN[1]==SN[1]+1"|""|3|0|2|0 # Speicher 2 um 1 inkrementieren
    5012|0|"SN[2]>0"|"SN[1]/SN[2]"|""|1|0|0|0 # Mittelwert ausgeben

    #2
    Eigentlich sollte doch deine Berechnung bei EC[2] stattfinden, oder?

    Was passiert an E[1]?
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      Hallo, Danke fuer die schnelle Antwort,

      Eingang 1 ist immer eingeschaltet und soll den Baustein freigeben,
      Ist EN[2] nicht der soeben eingetroffene Wert. Ich dachte EC[2] wäre nur eine Bedingung um zu prüfen, ob ein neuer Wert am Eingang 2 ansteht.
      Daher die Berechnung mit EN[2].

      --Philip

      Kommentar


        #4
        Wie Matthias schon andeutete:
        Ersetze in den beiden ersten 5012-Zeilen EC[1] durch EC[2].
        Dann wirst Du noch in der zweiten Zeile dies: SN[1]==SN[1]+1 durch das: SN[1]+1 ersetzen müssen.
        Gruß, Rainer

        Kommentar


          #5
          Hallo,

          bezieht sich SA (Wert einer Speicervariable vor der Berechnung) auf die
          einzelne 5012 Zeile, oder ist SA[] immer konstant, bis alle Zeilen abgearbeitet sind ?

          Ich habe nun noch das Problem, dass scheinbar die Division genau 1* zu früh ausgeführt wird, (2 *50 kwh empfangen, errechneter Mittelwert 25 khw).


          5012|0|"EC[2] and (EN[1]==1) and (EN[2]>0)"|"SN[1]+EN[2]"|""|0|0|1|0 # Speicher 1 auf alter Wert + aktueller Wert
          5012|0|"EC[2] and (EN[1]==1) and (EN[2]>0)"|"SN[2]+1"|""|3|0|2|0 # Speicher 2 um 1 inkrementieren, Anzahl der Werte auf Ausg 3
          5012|0|"SN[2]>0"|"SN[1]/SN[2]"|""|1|0|0|0 # Mittelwert ausgeben

          Danke, Philip

          Kommentar


            #6
            Andere Frage:

            Warum nimmst du nicht den vorhandenen Baustein "gleitender Mittelwert mit Reset"?
            Gruß Matthias
            EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
            - PN nur für PERSÖNLICHES!

            Kommentar


              #7
              ... du meinst gleitender Durchschnitt ?
              Hatte nur nach Mittelwert gesucht.

              Möchte mich aber auch gerne in die Erstellung der Bausteine etwas einarbeiten, da ich hier aktuell vorhabe ein groesseres Objekt (Bau und Heimwerkermarkt in Bonn) Steuerungstechnisch etwas zu überarbeiten.

              Wago 750-849 in fuer HLK + Gewächshaus, FS fuer die uebergreifende
              Steuerung + Visualisierung.

              Einige Dinge sind in dieser Konstellation besser im FS aufgehoben als im
              jeweiligen Codesys Projekt.

              --Philip

              Kommentar


                #8
                SA (genauso wie EA, AA) enthält bis zum Ende der Verarbeitung immer den Wert vor dem jew. Aufruf des Bausteins, nicht der Zeile.
                Für den Rest ists nach 3 Weissbier zu spät

                Makki
                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                -> Bitte KEINE PNs!

                Kommentar

                Lädt...
                X