Hallo,
nachdem ich jetzt endlich meinen Gaszähler auslesen kann, würde ich den Gaszählerstand nun gerne mit in mein Brennerstartarchiv eintragen. Im Prinzip verwende ich dazu meine bisherige Logikseite, bei der mehrere Binärauslöser (für die eintreffenden Ereignisse "Brenner ein/aus", "Warmwassererwärmung ein/aus" etc.) einen Archiveintrag erzeugen. Aaaber: Jetzt muß ja vor dem Archiveintrag noch der Gaszählerstand abgefragt werden. Nun wird so eine Ausgangsbox im graphischen Logikeditor zwar von oben nach unten abgearbeitet, aber nach dem Abfragen soll man ja drei Sekunden warten - ein "Warten" gibts in so einer Ausgangsbox aber nicht. Außerdem muß der abgefragte 14-Byte-Text vorher auch noch durch den "StrToFloat"-Logikbaustein. Und überhaupt klappt das Abfragen manchmal auch nicht - aber eine Rückmeldung vom HS, ob der Befehl "Kommunikationsobjekt abfragen" überhaupt einen Wert zurückgemeldet bekommen hat, gibts ja so direkt auch nicht, oder?
So für "Nummer Sicher" fällt mir momentan nur eine (oder mehrere) Sequenz(en) ein, ähnlich dieser hier:
Fragt sich nur, wie man das "wiederhole bis" am besten macht - evtl. eine Sequenz, die sich am Schluß selber wieder startet, und der Binärauslöser des eintreffenden Wertes macht "Sequenz abbrechen" (und macht den Archiveintrag, aber das darf dann auch wieder nicht passieren, bevor nicht StrToFloat den neuen Wert gesetzt hat...)? Oder einen Taktgeber, der alle N Sekunden den Wert abfragt, bis ein eintreffender Wert über einen Binärauslöser den Taktgeber wieder sperrt?
Grmpf. Irgendwie hab' ich da momentan noch einen Knoten im Hirn bezüglich der zeitlichen Abläufe... (und überhaupt kommt mir das da oben eh alles wie "Kanonen auf Spatzen" vor). Sowas ist doch bestimmt eine Standardanwendung, die man mit zwei bis drei simplen Logikbausteinen "erschlagen" kann?!
Danke & Gruß Matthias.
nachdem ich jetzt endlich meinen Gaszähler auslesen kann, würde ich den Gaszählerstand nun gerne mit in mein Brennerstartarchiv eintragen. Im Prinzip verwende ich dazu meine bisherige Logikseite, bei der mehrere Binärauslöser (für die eintreffenden Ereignisse "Brenner ein/aus", "Warmwassererwärmung ein/aus" etc.) einen Archiveintrag erzeugen. Aaaber: Jetzt muß ja vor dem Archiveintrag noch der Gaszählerstand abgefragt werden. Nun wird so eine Ausgangsbox im graphischen Logikeditor zwar von oben nach unten abgearbeitet, aber nach dem Abfragen soll man ja drei Sekunden warten - ein "Warten" gibts in so einer Ausgangsbox aber nicht. Außerdem muß der abgefragte 14-Byte-Text vorher auch noch durch den "StrToFloat"-Logikbaustein. Und überhaupt klappt das Abfragen manchmal auch nicht - aber eine Rückmeldung vom HS, ob der Befehl "Kommunikationsobjekt abfragen" überhaupt einen Wert zurückgemeldet bekommen hat, gibts ja so direkt auch nicht, oder?
So für "Nummer Sicher" fällt mir momentan nur eine (oder mehrere) Sequenz(en) ein, ähnlich dieser hier:
- Binärauslöser von Brenner/Wasser ein/aus startet Sequenz
- Internes Objekt "Wert konnte gelesen werden" auf 0 setzen
- Abfrage des Zählers machen
- Binärauslöser durch eintreffendes KO triggern -> "Wert konnte gelesen werden" setzen
- ggf. Abfrage nach N Sekunden wiederholen, bis Wert gelesen werden konnte
- durch den eintreffenden Wert wird auch StrToFloat gesetzt und der Wert steht im Fließkommaformat zur Verfügung
- Archiv-Eintrag durchführen
Fragt sich nur, wie man das "wiederhole bis" am besten macht - evtl. eine Sequenz, die sich am Schluß selber wieder startet, und der Binärauslöser des eintreffenden Wertes macht "Sequenz abbrechen" (und macht den Archiveintrag, aber das darf dann auch wieder nicht passieren, bevor nicht StrToFloat den neuen Wert gesetzt hat...)? Oder einen Taktgeber, der alle N Sekunden den Wert abfragt, bis ein eintreffender Wert über einen Binärauslöser den Taktgeber wieder sperrt?
Grmpf. Irgendwie hab' ich da momentan noch einen Knoten im Hirn bezüglich der zeitlichen Abläufe... (und überhaupt kommt mir das da oben eh alles wie "Kanonen auf Spatzen" vor). Sowas ist doch bestimmt eine Standardanwendung, die man mit zwei bis drei simplen Logikbausteinen "erschlagen" kann?!
Danke & Gruß Matthias.
Kommentar