Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Unit, CC2-Application-Board, eigenes Board, OSOPT V3.0
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)