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 

 Basic++ Bugs (mathematische Operationen) Kategorie: Verschiedenes (von Manuel - 18.01.2006 21:31)
Manuel nutzt:  CC1-M-Unit V1.2/2.0
Hallo,

für einen Energiezähler habe ich eine Quase-Integration des Stroms eines DC-Verbrauchers geschrieben. Auf der CC1 hat das alles wunderbar geklappt, läuft jetzt seit einem halben Jahr ohne Probleme. Nun hab ich ne neue CC1 V2.2 und das Update auf 2.3 durchgeführt, um Zeiger benutzen zu können.
Ebenfalls benutze ich zum Programmieren Basic++ von Stefan Tapperzhofen.
Leider bemerke ich, dass manche mathematische Operationen einfach falsch ausgeführt werden. So liefert "mod" einer negativen Zahl nix negatives, ebenso bekomme ich bei den einfachsten Verschachtelungen große Unterschiede in den Ergebnissen:

BSP:

function Integral()
 'Durchschnitts aus Is (aufsummierte Stromwerte über eine Minute (60 stück)),
   
  if Ig < 0 then    
    Iav = Iav - (Abs(Ig) / IntegralCount)
    print "Iav " & Iav
    Ig = (Abs(Ig) Mod IntegralCount)
    Ig = -Ig
  else
    Iav = Iav + (Ig / IntegralCount)
    print "Iav " & Iav
    Ig = (Ig Mod IntegralCount)
  end if
 
   
  'Rest in Iav speichern
  if Iav < 0 then  
    Eg = Eg - (Abs(Iav) / 60)
    Iav = (Abs(Iav) Mod 60)  
    Iav = -Iav
  else
    Eg = Eg + (Iav / 60)
    Iav = (Iav Mod 60)
  end if
 
  print "Rest Ig " & Ig
  print "Rest Iav " & Iav
 
  'Counter resetten
  IntegralCount = 0


end function


Woran liegt das? Ist Basic++ noch so buggy? Ich bin drauf angewiesen, wegen Zeigern und Funktionen! Aber so ist das natürlich nix... Kann mir jemand helfen?

Gruß

Manuel

 Antwort schreiben

Bisherige Antworten:

Re: Basic++ Bugs (mathematische Operationen) (von DIE HARD - 19.01.2006 18:32)
Re: Basic++ Bugs (mathematische Operationen) (von David - 18.01.2006 23:12)
    Re: Basic++ Bugs (mathematische Operationen) (von Stefan Tappertzhofen - 18.01.2006 23:30)
        Re: Basic++ Bugs (mathematische Operationen) (von Dietmar - 19.01.2006 9:29)
            Re: Basic++ Bugs (mathematische Operationen) (von Stefan Tappertzhofen - 19.01.2006 14:23)
                Re: Basic++ Bugs (mathematische Operationen) (von Dietmar - 19.01.2006 15:03)
            Re: Basic++ Bugs (mathematische Operationen) (von Pascal - 19.01.2006 10:48)
                Re: Basic++ Bugs (mathematische Operationen) (von Stefan Süßmann - 20.01.2006 9:06)
                    Re: Basic++ Bugs (mathematische Operationen) (von Dietmar - 20.01.2006 16:01)
                       Re: Basic++ Bugs (mathematische Operationen) (von Pascal - 20.01.2006 17:23)
Re: Basic++ Bugs (mathematische Operationen) (von Stefan Tappertzhofen - 18.01.2006 21:35)
    Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von Manuel - 20.01.2006 20:11)
        Re: Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von Stefan Tappertzhofen - 20.01.2006 22:28)
        Re: Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von dierk - 20.01.2006 22:02)
            Re: Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von Manuel - 22.01.2006 13:50)
                Re: Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von Dietmar - 22.01.2006 15:30)
                    Re: Hallo? Wer hat MIR eigentlich geantwortet? (Außer Stefan?) (von Manuel - 23.01.2006 19:51)