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 

 Zählen von Pulsen Kategorie: Programmierung Basic (von Michael - 24.05.2007 11:55)
Michael nutzt:  Micro
Hallo,

ich möchte mit der Micro die Pulse eines Drehgebers zählen und nach einer max.Pulsanzahl von 85000 +- oder früher (bei Abbruchbedingung "Tür auf") einen Motor anhalten und dann wieder die gleiche Pulszahl zurücklaufen lassen.
Die Pulse werden mit einer Frequenz von 3,5kHz geliefert.

Ich habe den Befehl FREQ verwendet. Leider funktioniert es nicht so wie gedacht. Es werden beim Ausfahren immer unterschiedliche Positionen angefahren und beim Einfahren hält der Motor immer zu früh an.

Vielleicht kann mir jemand bei dem Problem helfen. Im Anhang findet Ihr einen Auschnitt von dem Programm. Für jede Art von Verbesserungsvorschlägen bin ich dankbar.

Gruss
Michael


#Schleife1
          If Tuer = Off Then Goto Einfahren
          Neu1byte = Alt1byte+FREQ
          If Neu1byte           Alt1byte = Neu1byte
          If Neu2byte           Alt2byte = Neu2byte
          c = Alt1byte>Max1byte
          d = Alt2byte>Max2byte
          e = Neu3byte>Max3byte
          If c*d*e = 0 Then Goto Schleife1

#Einfahren
          Ausfahren = off
          If Alt1byte>Max1byte Then Max1byte = Max1byte Else Max1byte = Alt1byte
          If Alt2byte>Max2byte Then Max2byte = Max2byte Else Max2byte = Alt2byte
          If Neu3byte>Max3byte Then Max3byte = Max3byte Else Max3byte = Neu3byte
          Neu1byte = 0
          Alt1byte = 0
          Neu2byte = 0
          Alt2byte = 0
          Neu3byte = 1
          'Pause Verweildauer in ausgefahrender Position x sec warten
          Pause 50
          Einfahren = on

#Schleife2
          Neu1byte = Alt1byte+FREQ
          If Neu1byte           Alt1byte = Neu1byte
          If Neu2byte           Alt2byte = Neu2byte
          c = Alt1byte>Max1byte
          d = Alt2byte>Max2byte
          e = Neu3byte>Max3byte
          If c*d*e = 0 Then Goto Schleife2

 Antwort schreiben

Bisherige Antworten:

Re: Zählen von Pulsen (von Hauk - 25.05.2007 23:55)
    Re: Zählen von Pulsen (von Michael - 5.06.2007 8:54)
    Re: Zählen von Pulsen (von Hauk - 26.05.2007 0:02)
Re: Zählen von Pulsen (von ManfredW - 24.05.2007 13:37)