
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> 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 > Hallo, bist Du sicher, dass bei deiner Rechnung freq2 nicht 273 überschreitet? Sonst wird Summe unzulässig größer 65535 summe = freq2 * (60 / Zeitraum) summe = (summe * 60) Ansonsten gilt für Nutzung 0 bis 65535: Zählen über 32767 hinaus ist addieren und ebenso ist subtrahieren zulässig. Multiplizieren und Dividieren ist im negativen Zahlenraum nicht zulässig, wenn man ihn als 0 bis 65535 nutzen möchte. Für den Test des Absturzes würde das Programm minimieren und Schritt für Schritt erweitern. Viel Erfolg wünscht Dir ManfredW Meine Homepage: http://manfred.wilzeck.de |
| Antwort schreiben |