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).
Ankündigung
Einklappen
Keine Ankündigung bisher.
Problem/Bug im Logikeditor HS
Einklappen
X
-
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:
-
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:
-
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:
-
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:
-
Zitat von drego Beitrag anzeigenHi, neuer Versuch, funktioniert wieder nicht:
Natürlich nicht ...
Warum nicht? Setze saubere Negierungen und lösche die sinnfreienZitat von drego Beitrag anzeigenkeine Negierungen mehr.
ODERs. Neben vernünftiger Lesbarkeit sparst Du unnötige Zusatzberechnungen beim Start.
Immer wieder: an der Definition und Initialisierung der KOs und der Logik.Zitat von drego Beitrag anzeigenAn was kann das liegen?
Und teile das Problem doch erstmal in ein kleineres Teilstück
, nimm nur zwei Eingänge und beobachte!
Einen Kommentar schreiben:
-
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:
-
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 anzeigenJa, ich rede nur vom Neustart! Die KO's werden vom HS ausgelesen beim Start (Lesen-Flag, usw.) - das Funktioniert auch wunderbar.
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.Zitat von gaert Beitrag anzeigen... Also die Reihenfolge ist doch egal - Hauptsache es liegt an beiden Eingängen eine 1 an.
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:
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:
-
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.Zitat von NetMare Beitrag anzeigenIch 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:
-
Ja, ich rede nur vom Neustart! Die KO's werden vom HS ausgelesen beim Start (Lesen-Flag, usw.) - das Funktioniert auch wunderbar.Zitat von Taxus Beitrag anzeigenNachfrage:
Wir reden jeweils vom Neustart?
Auf welche Weise werden die Reed-KOs initialisiert?
Einen Kommentar schreiben:
-
Hi Taxus, ich habe doch schon weiter oben beschrieben, dass ich die Fixwerte mehrmals schon überschrieben habe. Es funktioniert nicht!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.
Einen Kommentar schreiben:
-
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:


Einen Kommentar schreiben: