Hallo Kvasir!
Danke für deine Antwort.
Die Sache ist folgende:
Der Benutzer steuert ein Gerät per Software und hat die Möglichkeit 4 verschiedene Ventile zu schalten. Diese 4 Ventile haben jeweils nur 2 Positiionen (offen und geschlossen).
Nun kann der Benutzer für jedes Ventil das Zeitintervall einstellen, in welchem es geschaltet werden soll.
z.B.:
V1 schaltet alle 2,5s,
V2 schaltet alle 10s,
V3 und V4 schalten alle 24,8s.
Es gibt hierfür momentan zwei Möglichkeiten, welche ich angewandt habe:
1) Erstellung eines Zeitpunkt-Arrays, in welchem die Zeitpunkte vorberechnet sind. Die Überprüfung, ob geschaltet werden soll oder nicht, wird in einem timeout vorgenommen.
2) Sequentielles berechnen der Zeitpunkte. Das Programm hat keine festen Zeitpunkte mehr, sondern berechnet nach jedem erfolgtem Schaltvorgang die nächste Schaltzeit.
Das Problem bei den Punkten 1und2 ist, dass ein einfaches Verschieben des Programmfensters, die Subroutinen unterbricht und es zu Unregelmäßigkeiten in den Schaltvorgängen kommt. --> Einfach ein Programm die ganze Zeit verschieben, dann weißt du was ich meine...
Ich hoffe das Problem ist nun etwas klarer geworden
Viele Grüße, Martin