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

Probleme mit Counter Kategorie: Programmierung (von Puma - 28.11.2005 11:02)
Ich nutze:
C-Control II Station
hallo zusammen

kann mir jemand sagen, wie ich am besten einen "genauen" counter
erstelle?

der Sensor habe ich an P1 angeschlossen (hallsensor) und das
scheint auch soweit zu funktionieren.

um den zustand des sensors anzuzeigen habe ich einen thread blink gemacht:


//------------
  thread blink
//------------
//Bei High Flanke leuchtet LED1
{
 if (ports.get(9)==0)
 {
  station_io.LEDon(1);
 }
 else
 {
  station_io.LEDoff(1);
 }
}


das funktioniert bestens!

nun möchte ich aber nicht immer wenn der sensor ein signal hat auch zählen, sonder nur programmspeziefisch!

ich habe eine variable long count gemacht um den zählerstand zu speichern und mit folgendem
thread realisiert


//------------
  thread cnt
//------------
{

while 1
{
 var.count=var.count + ports.getcount(1); // Kontakt 47
 }
}


--> so würde es aber IMMER zählen, und das will ich nicht, deshalb sieht es im programm folgendermassen
aus: (der thread wurde bereits im main in den zustand run gesetzt und danach in halt!)

.....
       ports.getcount(1); // Counter auf NULL Setzen!
       var.count=0;
       resume threads.cnt;
       sleep (var.laufzeit*500);
       sleep (var.laufzeit*500);
       stop();
       halt threads.cnt;
------


leider funktioniert das ganze nicht zuverlässig, habe immer wieder andere zählerstände für die gleichen
operationen....

wie könnte das besser oder richtig gelöst werden?

vielen dank fĂĽr eure unterstĂĽtzung!
puma



    Antwort schreiben


Antworten: