Re: port-abfrage Kategorie: Programmierung (von Martin Binder - 13.05.2004 16:10) | ||
Als Antwort auf port-abfrage von Haddi - 12.05.2004 10:10 | ||
| ||
Hallo, am elegantesten ist glaube ich folgendes: setze ein Flag, wenn der Fehler erstmal auftritt, und starte einen Timer. Ein Programmbeispiel dazu hab ich schon früher ins Forum gepostet. Dann bei jedem Durchlauf prüfst Du, ob der Fehler noch anliegt. Wenn ja, prüfst Du, ob der Timer schon 1 Sekunde hinter sich hat. Nochmals ja, und der Wert "a" kann gesetzt werden. Wenn vorher der Fehler verschwindet, wird Flag gelöscht und der Timer gestoppt. Damit kann man den Task auch für andere Aufgaben benutzen. Einfacher wäre ein schlichtes Sleep 1000, und eine zweite Abfrage vor dem Setzen von "a". Allerdings ist das eher die Holzhammermethode, denn der Task ist 1 Sekunde blockiert. Martin > Hallo, > > das ist bestimmt ein ganz simples Problem, aber > ich steh grad auf dem Schlauch und komm nicht weiter. > Ich frage mit der CC2-Station eine Maschinenstörung ab. > Im folgenden habe ich das mal vereinfacht dargestellt. > > thread stoe_abfr > {wait ports.get (8); > a=1; > wait not ports.get (8) > a=0; } > > Ich möchte jetzt, dass die Störung (also port(8)) mindestens 1 sec anliegt bevor in dem Beispiel > a=1 gesetzt wird. Liegt dÃe Störung nur kurz an, soll das ganze von vorne beginnen. > > Ich hoffe mir kann da mal einer von Euch auf die Sprünge helfen. Im Voraus herzlichen Dank. > > Grüsse > Haddi | ||
Antwort schreiben Antworten: Re: port-abfrage (von Haddi - 18.05.2004 16:26) Re: port-abfrage (von Martin Binder - 22.05.2004 22:57) Re: port-abfrage (von Haddi - 8.06.2004 11:47) |