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: Überauf bei meinem Zähler umgehen? Kategorie: Programmierung Basic (von Thomas Schumacher - 6.05.2005 19:42)
 Als Antwort auf Re: Überauf bei meinem Zähler umgehen? von Stefan Tappertzhofen - 6.05.2005 18:44
Thomas Schumacher nutzt:  CC1-M-Unit V1.2/2.0
Vielen Dank für die Antwort. Ich habe mir diese Threads mal angesehen und versucht umzusetzen. Leider nicht wirklich mit Erfolg. Meine Ausgabe-Routine lässt den Prozessor abstürzen :-(

Function Page1()
    LCD.POS 1,1
   
    '-----Neu -----------------------------------------------------------------------------
    LCD.PRINT (summe shr 1 AND &h7FFF) / 5
    LCD.PRINT ((summe + 32768) MOD 10 +18) MOD 10
   
                '    LCD.PRINT summe         ' Früher              
    LCD.PRINT " Stk/h       "                
    LCD.POS 2,1                          
    LCD.PRINT "Ges.: "
    if Ueberlauf < 10 then LCD.PRINT "0"
    LCD.PRINT Ueberlauf
    if Freq < 10 then LCD.PRINT "0"
    if Freq < 100 then LCD.PRINT "0"
    if Freq < 1000 then LCD.PRINT "0"
    LCD.PRINT Freq
    if MaxBit=on then
        LCD.Print "."
    else
        LCD.Print " "
    End if
    LCD.Print "Stk"
    LCD.PRINT "        "
End Function

Irgendwelche Ideen?

Gruß Thomas


> Hallo,
>
> ich glaube die Zählung kann so bleiben. Vielleicht musst Du einfach nur die Ausgabe verändern. Es gab hier mal ein Thread zum Thema Darstellung von Zahlen (0 bis 65535).
>
> Gruß,
>
> Stefan
>
> > Hallo liebe C-Control Gemeinde,
> >
> > ich habe folgendes Problem:
> >
> > Ich habe für eine Machine einen Zähler gebaut, der die Stückzahl und die Durchschnittliche Stückzahl pro Stunde auf dem Display anzeigt. Ich verwende zurzeit den Freq2 Eingang der als Ereigniszähler eingestellt ist. Zum Ermitteln der Stk/h verwende ich folgende Funktion (Achtung Basic++ Code):
> >
> > Zeitraum = 15 'Messzyklus
> > if second mod Zeitraum = 0 then
> >     if second <> lastsecond then
> >         lastsecond=second
> >         summe = freq2 * (60 / Zeitraum)
> >         summe = (summe * 60)
> >         freq2=0    
> >     end if
> > end if
> >
> > Die Summe wird dann auf dem LCD ausgegeben. Leider  schafft die Machine fast 60000 Stk/h d.h. die Word Variable läuft natürlich über :-(  Unter http://manfred.wilzeck.de/Tipps.html steht etwas davon, wie man bis 65535 Zählen könnte. Doch leider weiss ich nicht genau wie ich dies auf meinen Anwendungsfall anwenden könnte. Hat jemand eine Idee wie ich dies in den Griff bekommen könnte?
> >
> > Viele Grüße Thomas
> >
> >
> >
>

 Antwort schreiben

Bisherige Antworten: