Ankündigung

Einklappen
Keine Ankündigung bisher.

In der Tiefe: Validierungskonzept

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

  • Uwe!
    antwortet
    Zitat von saft6luck Beitrag anzeigen
    Flexibel finde ich die Lösung:
    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

    Einen Kommentar schreiben:


  • saft6luck
    antwortet
    Zitat von Uwe! Beitrag anzeigen
    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)
    So würde ich mir das auch vorstellen.

    Einen Kommentar schreiben:


  • saft6luck
    antwortet
    Zitat von enertegus Beitrag anzeigen
    Wie sieht denn das der Rest hier so?
    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.

    Einen Kommentar schreiben:


  • Uwe!
    antwortet
    Zitat von SnowMaKeR Beitrag anzeigen
    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)

    Einen Kommentar schreiben:


  • anlo007
    antwortet
    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.

    Einen Kommentar schreiben:


  • SnowMaKeR
    antwortet
    Und was wird dann verarbeitet während EndSystemstart() aktiv ist?

    Einen Kommentar schreiben:


  • Uwe!
    antwortet
    Zitat von SnowMaKeR Beitrag anzeigen
    Wie soll das dann funktionieren?
    Na statt irgendwo zu definieren "Systemstart ist nach 20 Sek. zu ende" eben eine Funktion die das Ende "auslöst". Also
    Code:
    EndSystemstart(after(systemstart();1200000)))
    oder eben
    Code:
    EndSystemstart(GA hat bestimmten Wert) etc.

    Einen Kommentar schreiben:


  • SnowMaKeR
    antwortet
    Bin ich heut schwer von Begriff?
    Ich versteh Uwes Vorschlag nicht.
    Wie soll das dann funktionieren?

    Einen Kommentar schreiben:


  • MarkusL
    antwortet
    Bitte implementieren. (am Besten Uwe's Vorschlag)

    Einen Kommentar schreiben:


  • Uwe!
    antwortet
    Zitat von enertegus Beitrag anzeigen
    Wie sieht denn das der Rest hier so?
    siehe eins oben drüber

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von anlo007 Beitrag anzeigen
    Das wäre mir eine große Hilfe, denn es würde meine Probleme beim Systemstart vollständig lösen!
    Wie sieht denn das der Rest hier so?

    Einen Kommentar schreiben:


  • Uwe!
    antwortet
    Zitat von enertegus Beitrag anzeigen
    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)

    Einen Kommentar schreiben:


  • anlo007
    antwortet
    Zitat von Tessi Beitrag anzeigen
    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.

    Zitat von enertegus Beitrag anzeigen
    Wie wärs denn mit einer paramertierbaren Zeit bis zum Erstabarbeiten nach dem Systemstart()-Aufruf? Das wäre wohl am einfachsten zu realisieren!

    Das wäre mir eine große Hilfe, denn es würde meine Probleme beim Systemstart vollständig lösen!

    Einen Kommentar schreiben:


  • SnowMaKeR
    antwortet
    Hi Michael,

    die Frage versteh ich nicht.
    Erst alles mit systemstart(), nach Ablauf der Zeit alles andere?


    Wenn Ihr zu viel umbauen müsstet, könntet Ihr auch statt systemstart() was neues nehmen.

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von anlo007 Beitrag anzeigen
    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!

    Einen Kommentar schreiben:

Lädt...
X