Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
hey, da sind wir ja mal einer Meinung. Gleiche Idee nur etwas anders realisiert
Dein "systemstart()=EIN" entspricht meinem "endsystemstart()=EIN"
Das ist dann mehr Geschmackssache...
Nachtrag: hat sich mit Deinem letzten Beitrag überschnitten
Meine Idee war es nun eben nicht irgend wo nur eine Zahl (die 20 Sek.) hinterlegen zu können, sondern während der Systemstarttätigkeiten selbst mit Logik den Schalter umlegen zu können. Das kann dann der eine trotzdem einfach mit einer festen Zeit machen, der andere übrprüft, ob bestimmte Antworten eingetroffen sind und der dritte lässt sich ganz was anderes einfallen (vielleicht einen Taster, den er manuell bedient)
Flexibel finde ich die Lösung:
[highlight=epc]
[Systemstart]
//tu was
if 'alles da' then
{
systemstart() = EIN;
}
[eibPC]
// systemstart() geht immer noch wie gewohnt
if systemstart() then
{
...
}
// jetzt geht's los
...
[/highlight]
Der Charm dieser Lösung ist:
jeder kann für sich entscheiden, wann der Systemstart-Bereich verlassen wird, indem der systemstart() auf EIN setzt, also auch über after() einfach nur zeitlich gesteuert
Wenn der Programmierer den Systemstart-Bereich nicht verwendet, setzt das System wie gewohnt systemstart() auf EIN.
die Lösung ist voll kompatibel mit der 'alten' Logik, da man im eigentlichen Programm wie gewohnt auf systemstart() abfragen kann.
Ist das denn wirklich zu kompliziert?
Mit einem EibStudio, das die Bereiche in eigenen Tabs darstellt, könnte man dann wirklich schön arbeiten.
Und was wird dann verarbeitet während EndSystemstart() aktiv ist?
Nein, da hab ich meine Idee noch immer nicht richtig rüber gebracht...
Michael schrieb
Wie wärs denn mit einer paramertierbaren Zeit bis zum Erstabarbeiten nach dem Systemstart()-Aufruf?
Also ich parametriere (wo und wie auch immer) 20 Sek. und dann legt die Kiste erst 20 Sek. nach Systemstart() mit dem allem los, was nicht ausdrücklich als
Code:
if systemstart() then ....
definiert ist.
So hab ich jedenfalls Matthias verstanden.
Meine Idee war es nun eben nicht irgend wo nur eine Zahl (die 20 Sek.) hinterlegen zu können, sondern während der Systemstarttätigkeiten selbst mit Logik den Schalter umlegen zu können. Das kann dann der eine trotzdem einfach mit einer festen Zeit machen, der andere übrprüft, ob bestimmte Antworten eingetroffen sind und der dritte lässt sich ganz was anderes einfallen (vielleicht einen Taster, den er manuell bedient)
nur wenn ich die Bedingung "endsystemstart" in jede Abfrage einfügen muß hab ich ja keine Änderung zum jetzigen Zustand. Auch heute kann ich doch definieren:
endsystemstart=after (systemstart(), 10000)
und endsystemstart in jede Abfrage einbauen.
Ich meine, das das Logikprogramm erst x sec nach den systemstart() -Abfragen überhaupt gestartet wird.
Wo man die Zeit einstellt, in einer Programmzeile oder in den Voreinstellungen, genau wie die maximale Telegrammrate, ist eigendlich egal.
Wie wärs denn mit einer paramertierbaren Zeit bis zum Erstabarbeiten nach dem Systemstart()-Aufruf? Das wäre wohl am einfachsten zu realisieren!
Dann lieber eine eigene Funktion "EndSystemstart". Die kann ich dann wahlweise mit einem after() ö.ä. als fixe Zeit oder über Logik an bestimmte Ereignisse knüpfen (z. B. das Eintreffen von gewissen Antworten)
Z.B. ich habe noch keine aktuelle Uhrzeit (und das könnte noch länger so bleiben) und kann daher alle uhrzeitgesteuerten Teile nicht starten, alles andere ist aber initialisiert und soll nicht mehr länger warten.
Das Problem mit der Uhrzeit habe ich auch, da mein Internet nicht gut funktioniert auf dem Land. Ich mache es zur Zeit so, das ich die Zeit aus einer anderen Komponente (LOGO!) auslese und mit der Zeit erst mal arbeiten kann, bis der EibPC oder das wiregate wieder die genaue Zeit empfangen hat.
Hier ist ein Mißverständnis, auch ich habe für die Verzögerung des Starts gestimmt. Der EibPC sollte nach meiner Meinung erst den Logikteil abarbeiten, wenn er die Systemstart-Abfragen erledigt hat und die Antworten eingetroffen sind, denn erst dann macht die Auswertung Sinn.
Wie wärs denn mit einer paramertierbaren Zeit bis zum Erstabarbeiten nach dem Systemstart()-Aufruf? Das wäre wohl am einfachsten zu realisieren!
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: