Hallo,
ich hätte da ein kleines dringliches Problem. Wir nutzen zur Zeitmessung eine Lichtschranke welche via Arduino seriell mit dem Computer verbunden ist. Der Auslöseeffekt durch die Lichtschranke ist dass sie von irgendeiner kleinen Zahl auf > 0 geht. Das ganze wird am Computer ausgelesen und dementsprechend in einer DatagridView aufgelistet. Das ganze mache ich über einen Timer.
Die Textbox wird gefüllt von einem DataReceived Command.
Das funktioniert auch alles wunderbar aber... wenn die Lichtschranke durchbrochen ist wird das Signal durchgehend ausgegeben und somit aktuell die DatagridView total zugespammt. Uns ist es aber wichtig dass nach dem 1. Auslösen das heißt >0 dann für 3 Sekunden das Signal gestoppt wird. Ich hoffe dass konnte ich jetzt gut formulieren? Vielleicht ein wenig einfacher. Unser Anwendungsfall: Ich habe einen Timer laufen der permanent eine Zeit aktualisiert und zwar ist das die aktuelle Computerzeit hh:mm:ss:xxx sobald die Lichtschranke durchbrochen wird zieht er diese Uhrzeit und trägt sie in einer Liste ein.
Auto kommt -> Lichtschranke unterbricht Signal geht raus Signal wird eingetragen in Tabelle und solange wie die Lichtschranke durchbrochen ist wird auch die Tabelle zugeschrieben. Das möchten wir nicht!. Wir möchten, Auto kommt -> Lichtschranke unterbricht 1 Signal das ankommt wird genommen dann wird 3 Sekunden gewartet (sollte immernoch das Auto dazwischen sein darf es rück wieder auslösen) aber auch danach wieder 3 Sekunden warten etc etc...
Am besten wäre es eigentlich wenn ich meine gegebene Funktion einfach kurz pausieren könnte nachdem sie aufgerufen wurde.
Jetzt meine Frage, wie bekomme ich das am gescheidetsten hin. Ich hatte es über das Intervall des Timers selbst probiert das klappt auch aber verfälscht natürlich den Wert da er dann je nach Tick mal früher oder später auslöst. Ich hoffe ihr könnt mir helfen
Mit freundlichen Grüßen
Frederik
ich hätte da ein kleines dringliches Problem. Wir nutzen zur Zeitmessung eine Lichtschranke welche via Arduino seriell mit dem Computer verbunden ist. Der Auslöseeffekt durch die Lichtschranke ist dass sie von irgendeiner kleinen Zahl auf > 0 geht. Das ganze wird am Computer ausgelesen und dementsprechend in einer DatagridView aufgelistet. Das ganze mache ich über einen Timer.
Die Textbox wird gefüllt von einem DataReceived Command.
Das funktioniert auch alles wunderbar aber... wenn die Lichtschranke durchbrochen ist wird das Signal durchgehend ausgegeben und somit aktuell die DatagridView total zugespammt. Uns ist es aber wichtig dass nach dem 1. Auslösen das heißt >0 dann für 3 Sekunden das Signal gestoppt wird. Ich hoffe dass konnte ich jetzt gut formulieren? Vielleicht ein wenig einfacher. Unser Anwendungsfall: Ich habe einen Timer laufen der permanent eine Zeit aktualisiert und zwar ist das die aktuelle Computerzeit hh:mm:ss:xxx sobald die Lichtschranke durchbrochen wird zieht er diese Uhrzeit und trägt sie in einer Liste ein.
Auto kommt -> Lichtschranke unterbricht Signal geht raus Signal wird eingetragen in Tabelle und solange wie die Lichtschranke durchbrochen ist wird auch die Tabelle zugeschrieben. Das möchten wir nicht!. Wir möchten, Auto kommt -> Lichtschranke unterbricht 1 Signal das ankommt wird genommen dann wird 3 Sekunden gewartet (sollte immernoch das Auto dazwischen sein darf es rück wieder auslösen) aber auch danach wieder 3 Sekunden warten etc etc...
Am besten wäre es eigentlich wenn ich meine gegebene Funktion einfach kurz pausieren könnte nachdem sie aufgerufen wurde.
Jetzt meine Frage, wie bekomme ich das am gescheidetsten hin. Ich hatte es über das Intervall des Timers selbst probiert das klappt auch aber verfälscht natürlich den Wert da er dann je nach Tick mal früher oder später auslöst. Ich hoffe ihr könnt mir helfen
Mit freundlichen Grüßen
Frederik
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „HoneyPot“ ()