NEWS
Anzahl Summe Liter
-
Hallo,
habe 6 DP mit Liter , möchte das alle zusammengezählt werden und in einen DP geschrieben werden.
Ventil 1-2 funktioniert aber.Das funktioniert so nicht? Wo habe ich da einen Fehler?

Blockly:
-
Hallo,
habe 6 DP mit Liter , möchte das alle zusammengezählt werden und in einen DP geschrieben werden.
Ventil 1-2 funktioniert aber.Das funktioniert so nicht? Wo habe ich da einen Fehler?

Blockly:
@sigi234 sagte in Anzahl Summe Liter:
Das funktioniert so nicht?
was genau?
du arbeitest mit Datenpunkten, das läuft asynchron ab.
die DPs (der DP) haben noch nicht die neuen Werte, wenn der zweite Befehl kommtAm besten mit variablen arbeiten und erst zum Schluss in den DP schreiben.
-
Hallo,
habe 6 DP mit Liter , möchte das alle zusammengezählt werden und in einen DP geschrieben werden.
Ventil 1-2 funktioniert aber.Das funktioniert so nicht? Wo habe ich da einen Fehler?

Blockly:
@sigi234
Oder vielleicht mit einer kleinen Verzögerung.
Probier mal...
-
@dslraser sagte in Anzahl Summe Liter:
Oder vielleicht mit einer kleinen Verzögerung.
Probier mal...Sorry, aber dieses einbauen von kurzen Verzögerungen um aus der "async" Falle zu kommen ist nicht gut. Zum einen hängt die Frage ob / wie es geht davon ab wie schnell der Objektbaum prinzipiell arbeitet, zum anderen hast du dadurch auch andere Probleme.
Insbesondere kann bei Deinem Beispiel das Ergebnis deutlich zu hoch ausfallen. Dazu kommt das du jedes mal wenn sich EIN wert Ändert alle 6 Werte einliest.
das ist nicht gut.
Beim Arbeiten mit Datenpunkten gilt meiner Meinung nach ganz hart:
- Erst lesen
- Dann Rechnen
- Am Ende Schreiben.
Auf dieses Beispiel gemünzt:

Wichtig dabei: Der Baustein "state value" ist keine Variable sondern der Baustein im "Trigger" Bereich der mit "objekt ID" vorbelegt ist. Darin ist immer genau der Wert des DP der den Trigger ausgelöst hat.
Wenn immer nur die Änderung gegenüber dem Vorwert hinzu addiert werden soll geht das auch einfach: (Auch hier ist der Baustein "previous value" der gleiche wie oben - nur statt "state value" auf "previous value" gesetzt. Dieser beinhaltet den Wert des auslösenden DP BEVOR die Änderung den Trigger ausgelöst hat.)

-
@dslraser sagte in Anzahl Summe Liter:
Oder vielleicht mit einer kleinen Verzögerung.
Probier mal...Sorry, aber dieses einbauen von kurzen Verzögerungen um aus der "async" Falle zu kommen ist nicht gut. Zum einen hängt die Frage ob / wie es geht davon ab wie schnell der Objektbaum prinzipiell arbeitet, zum anderen hast du dadurch auch andere Probleme.
Insbesondere kann bei Deinem Beispiel das Ergebnis deutlich zu hoch ausfallen. Dazu kommt das du jedes mal wenn sich EIN wert Ändert alle 6 Werte einliest.
das ist nicht gut.
Beim Arbeiten mit Datenpunkten gilt meiner Meinung nach ganz hart:
- Erst lesen
- Dann Rechnen
- Am Ende Schreiben.
Auf dieses Beispiel gemünzt:

Wichtig dabei: Der Baustein "state value" ist keine Variable sondern der Baustein im "Trigger" Bereich der mit "objekt ID" vorbelegt ist. Darin ist immer genau der Wert des DP der den Trigger ausgelöst hat.
Wenn immer nur die Änderung gegenüber dem Vorwert hinzu addiert werden soll geht das auch einfach: (Auch hier ist der Baustein "previous value" der gleiche wie oben - nur statt "state value" auf "previous value" gesetzt. Dieser beinhaltet den Wert des auslösenden DP BEVOR die Änderung den Trigger ausgelöst hat.)

@asgothian
Vielen Dank für die Erklärung.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden