Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem/Bug im Logikeditor HS

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

  • gaert
    antwortet
    Ich habe die Fixwerte wohl falsch interpretiert:

    Ich bin davon ausgegangen, dass ein Fixwert nur(!) dann "greift", wenn das KO undefiniert ist. Also nicht zwangsweise beim Start, sondern egal wann (quasi als Fallback...).

    Die Hilfe sagt dazu:
    "Die Konstante bestimmt beim Start einmalig den Wert des Eingangs. Später wird der Eingang durch den Wert des letzten Telegramms bestimmt."

    Das bedeute wohl, dass der Fixwert IMMER und EINMALIG herangezogen wird - egal, ob das KO undefiniert ist oder nicht. Genau das ist mir entgangen, ich bin wie gesagt davon ausgegangen, dass der Fixwert quasi als Versicherung dient (wenn aus irgendwelchen Gründen das KO undefiniert ist).

    Einen Kommentar schreiben:


  • Taxus
    antwortet
    Die am Baustein selbst setzbaren Fixwerte sind sehr praktisch, um eben das Startverhalten zu beeinflussen (das habt Ihr beide offenbar ungewollt gemacht (aber warum habt Ihr sie überhaupt gesetzt?)) bzw. einen definierten Wert zu setzen, besonders wenn unklar ist, wann wieder ein Eingangs-KO (besonders vom Bus) getriggert wird.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Ich muss mich entschuldigen - auch ich bin auf die Init-Werte "reingefallen". Also doch kein Bug!

    Allerdings muss ich auch sagen, dass diese Init-Werte etwas merkwürdig sind. Wenn ich die Hilfe richtig verstehe, werden die Wert einmalig(!) zur Berechnung verwendet und danach die entsprechenden KO-Werte - egal, ob bereits ein definierter KO-Wert vorhanden ist oder nicht?!

    Bislang bin ich immer davon ausgegangen, dass die Init-Werte nur (und immer) dann zum Einsatz kommen, wenn ein KO-Wert (noch) undefiniert ist. Aber das scheint nicht der Fall zu sein?!

    Einen Kommentar schreiben:


  • drego
    antwortet
    Ahhhh. Der Tipp ist entscheidend.

    Einen Kommentar schreiben:


  • Axel
    antwortet
    Solange das UND mit INIT Werten (Gelb gekennzeichnet) vorbelegt ist, muss nach dem Neustart jeder Eingang Extra angesteuert werden.

    Lösche die INIT Einträge aus dem UND Baustein raus und der Baustein wird das richtige Ergebnis ausgeben.

    Einen Kommentar schreiben:


  • drego
    antwortet
    Mal im Ernst, ich hatte das schon einfacher gehalten ... funktioniert echt nicht. Hier noch mal die Version davor:


    Aussentemperatur, ext. Objekt, kommt aller 30sek rein
    (wird beim Start abgefragt)

    Rolladenschwelltemperatur, fix auf 25C, remanent gespeichert

    Sonne ist aufgegange, INIT Wert steht auf 1, tagsüber und auch jetzt auf 1

    Urlaub, remanent, steht auf 0 (Init), steht auch aktuell auf 0

    Remanent, Startwert 0, aktuell vor Neustart steht auf 0


    Mal ehrlich, was versteh ich nicht? UND sowie der VERGLEICH berechnet doch am Neustart ... die Initwerte sind auch klar ...

    Bitte mal für mich dummi genau erklären, Vielen Dank! Ich komme sonst nicht in meinen Feierabend ,...
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Taxus
    antwortet
    Zitat von drego Beitrag anzeigen
    Hi, neuer Versuch, funktioniert wieder nicht:
    Natürlich nicht ...

    Zitat von drego Beitrag anzeigen
    keine Negierungen mehr.
    Warum nicht? Setze saubere Negierungen und lösche die sinnfreien ODERs. Neben vernünftiger Lesbarkeit sparst Du unnötige Zusatzberechnungen beim Start.

    Zitat von drego Beitrag anzeigen
    An was kann das liegen?
    Immer wieder: an der Definition und Initialisierung der KOs und der Logik.

    Und teile das Problem doch erstmal in ein kleineres Teilstück , nimm nur zwei Eingänge und beobachte!

    Einen Kommentar schreiben:


  • drego
    antwortet
    Hi, neuer Versuch, funktioniert wieder nicht:



    Jetzt habe ich keine sbc Sachen mehr drin, keine Negierungen mehr. Trotzdem sender der HS den Wert nicht. Ich muss erst alle Eingänge neu setzen und dann kommt es zu einer Ausgabe. An was kann das liegen?

    Also nach meiner Meinung müsste er beim Neustart und immer wenn ein Ereignis (links Eingang) eintrifft und die Bedingungen wahr sind das rechte UND eine 1 ausgeben bzw. eine 0 wenn ein Eingang eine 0 im UND aufweist,

    richtig?
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Taxus
    antwortet
    Zitat von gaert Beitrag anzeigen
    Ja, ich rede nur vom Neustart! Die KO's werden vom HS ausgelesen beim Start (Lesen-Flag, usw.) - das Funktioniert auch wunderbar.
    Das Lese-Flag ist hoffentlich nur im Aktor, nicht im HS gesetzt ?! Dort muss für Dein Beispiel 'Beim Starten abfragen' gesetzt sein.

    Zitat von gaert Beitrag anzeigen
    ... Also die Reihenfolge ist doch egal - Hauptsache es liegt an beiden Eingängen eine 1 an.
    Nee, nicht egal, lies die Doku, NetMares Anmerkung ist völlig richtig, das Oder führt bereits zur zweiten Berechnung des AND nach Neustart. Bei Dir stimmt die Initialisierung nicht.

    Und hier das Ergebnis des wie erwartet unnötigen Tests (nur der Linienführung wegen Eingangsbox doppelt), alles wird sauber initialisiert und berechnet:
    Angehängte Dateien

    Einen Kommentar schreiben:


  • drego
    antwortet
    ok, das ist ne Idee um das Problem einzugrenzen, Danke!

    Einen Kommentar schreiben:


  • Taxus
    antwortet
    @drego:
    In #3 schreibst Du noch, dass es funktioniert (bei Neusenden auf allen Eingängen), in #16 nicht mehr - dann kommt etwas anderes dazwischen, das das UND wieder auf 0 zieht, vlt. ein zyklisches Senden der Außentemperatur < 25, oder das aus #1 nicht ersichtliche Setzen des E4/Beschattung. Setze zur Eingrenzung einfach drei der Eingänge fix auf '1' und teste mit dem jeweils verbleibenden.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Zitat von NetMare Beitrag anzeigen
    Ich denke das wird mit der Ausführungsreihenfolge zusammenhängen.

    Im Beispiel #3 wird höchstwarscheinlich das UND durch die Änderung des vorher abgearbeiteten ODER getriggert und nicht durch einen Neustart.
    Verstehe ich nicht?! Laut Hilfe wird das UND-Gatter beim Start berechnet. Also die Reihenfolge ist doch egal - Hauptsache es liegt an beiden Eingängen eine 1 an.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Zitat von Taxus Beitrag anzeigen
    Nachfrage:
    Wir reden jeweils vom Neustart?
    Auf welche Weise werden die Reed-KOs initialisiert?
    Ja, ich rede nur vom Neustart! Die KO's werden vom HS ausgelesen beim Start (Lesen-Flag, usw.) - das Funktioniert auch wunderbar.

    Einen Kommentar schreiben:


  • drego
    antwortet
    Zitat von Taxus Beitrag anzeigen
    @drego, schön, dann weiter mit E2. Setze Urlaub aktiv auf 0, damit die 1 ankommt (eventbasiert!).
    Dann weiter mit E3, setze den Sonnenaufgang aktiv auf 1.
    Und dann E4 ...
    Deine Fixwerte 0 müssen alle erstmal überschrieben werden.

    @gaert: bitte poste ein Beispiel dazu, dann nehme ich das gerne auseinander.
    Hi Taxus, ich habe doch schon weiter oben beschrieben, dass ich die Fixwerte mehrmals schon überschrieben habe. Es funktioniert nicht!

    Einen Kommentar schreiben:


  • NetMare
    antwortet
    Ich denke das wird mit der Ausführungsreihenfolge zusammenhängen.

    Im Beispiel #3 wird höchstwarscheinlich das UND durch die Änderung des vorher abgearbeiteten ODER getriggert und nicht durch einen Neustart.

    Einen Kommentar schreiben:

Lädt...
X