Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Kontrolle eines Taktes Kategorie: Programmierung Basic (von Achim - 6.04.2006 14:58)
 Als Antwort auf Kontrolle eines Taktes von My_ASYS - 6.04.2006 9:03
> Hallo,
>
> ich habe als absoluter neuling in der controllerprogrammierung gerade ein echtes problem.
> es soll ein blinktakt (0,75 sec. an / 0,75 sec. aus) mit einer ccontrol micro überwacht weden. d.h. wenn der takt zu schnell oder zu langsam läuft soll eine gewisse aktion ausgeführt werden. heute hat sich leider ein riesen denkfehler in allen meinen ideen aufgezeigt und ich stehe wieder ganz am anfang. der takt liegt an einem eingang an und ich dachte ich könnte auch die betriebsspannung über diesen takt laufen lassen damit der timer   immer wieder von 0 beginnt zu zählen. er sollte bei ansteigender flanke einen eigenen takt erzeugen, der dann mittels & mit dem echten takt verglichen wird. leider würde dann bei einem zu kurzen takt die betriebsspannung fehlen und der verglichene takt würde quasi als ok durchgehen. aber wie gesagt... das hab ich mittlerweile alles über den haufen geworfen und fange nochmal von 0 an.
>
> kann mir einer von euch etwas bei der benutzung der timer, counter und den ganzen anderen tollen funktionen etwas unter die arme greifen? ich währe sehr sehr dankbar.

Du musst messen und vergleichen. Messen geht z. B. so:

time0=timer
wait Takt ' Wartet bis Takt auf 1
dauer0=abs(timer - time0) ' in 50ms gezählt

bzw.

time1=timer
wait Not Takt ' Wartet bis Takt auf 0
dauer1=abs(timer-time1) ' in 50ms gezählt


Dies unter der Voraussetzung, dass während des Messens sonst nichts zu tun ist, und dass es reicht einen eventuellen Fehler beim folgenden Signalwechsel zu erkenn. Wenn das Signal fehlerhaft länger als 26 Minuten den Status nicht wechselt, erkennst Du den Fehler nicht mehr, weil der Wertebereich des Timers überschritten ist.

HTH

Bye
 Achim

 Antwort schreiben

Bisherige Antworten: