2016-03-29 15 views
1

Als ich versuchte, ein einfaches Modell in Dymola Simulation (2015) mit der sample Funktion:Beispielfunktion Bug in Dymola?

model test_sample 
    Integer counter(start = 0); 
algorithm 
    when sample(0, 0.25) then 
    counter:=counter + 1; 
    end when; 
end test_sample; 

I (. Ex 5000) musste die Anzahl der Intervalle auf eine hohe Zahl erhöht Lage sein, die augenblicklich zu sehen Änderung von counter Variable in Stichprobenintervallen. selbst bei 5000 Intervallen beginnt counter seinen Wert zum Zeitpunkt 0.2496 statt 0.25 zu ändern. Dies ist in OpenModelica (Version 1.9.1 + dev (r17879)) nicht der Fall und selbst bei einem Intervall ändert die Variable counter ihren Wert bei genau 0,25. Ich benutze Dassl in beiden Plattformen. Ist das ein Fehler/Feature?

+1

Ich ging weiter und lief das Modell, das Sie gepostet und variiert die Intervalle über einen weiten Bereich und war nicht in der Lage, Ihren Fehler zu reproduzieren. Ich habe Dymola 2016, also könnte es ein Fehler sein, der korrigiert wurde. –

Antwort

1

Ok, es gibt keinen Fehler. Laut Dassault muss man nur "Speichern von Variablen bei Ereignissen" in Simulation> Setup> Ausgabe> Ausgabeauswahl aktivieren. "Wenn diese Option aktiviert ist, wird die genaue Uhrzeit des Ereignisses in der Ergebnisdatei gespeichert. Ohne sie wird in der Grafik der interpolierte Wert zwischen dem Ergebnispunkt links und rechts des Ereignisses angezeigt, da das Ereignis selbst nicht gespeichert ist. "