|
|
sum-Block liefert 'falsches' Ergebnis |
|
RienSte |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 08.09.15
|
|
|
|
Wohnort: Salzburg / Österreich
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.03.2017, 10:58
Titel: sum-Block liefert 'falsches' Ergebnis
|
|
Guten Tag,
ich programmiere Echtzeit-Systeme in Simulink. Seit heute kann ich ein sehr seltsames Verhalten meines Modells beobachten.
Ein Summen-Block liefert ein schwer nachollziehbares Ergebnis. Ich addiere 1+0 und als Ergebnis erhalte ich 0.992 (oder auch -0.342) Das führt dazu, dass ein 1-D Selector natürlich nicht weiß, welches Element er selecten soll.
Eine mögliche Ursache könnten die unterschiedlichen Zykluszeiten der Inputs sein. Das eine ist ein Constant, also Zykluszeit inf. Der zweite Input kommt von einem CAN-Bus Receiver und ist mit 10 ms getaktet. Aber wie gesagt: ich arbeite schon lange mit Simulink als Entwicklungstool für embedded code und so ein Verhalten hatte ich bislang noch nie. Und das ist auch nicht die einzige Stelle, die so aufgebaut ist.
Vielen Dank schon mal im Voraus!
Grüße,
Stephan
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.03.2017, 16:48
Titel:
|
|
Hallo,
ohne ein Minimal-Beispiel, in dem das Verhalten zu beobachten ist, kann man schwer weiterhelfen. Sollte hier keiner weiterhelfen können, klingt das auch sehr nach einer Frage für den Technischen Support von MathWorks.
Grüße,
Harald
|
|
|
RienSte |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 08.09.15
|
|
|
|
Wohnort: Salzburg / Österreich
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.03.2017, 09:07
Titel:
|
|
Danke schon mal für die Antwort. Ja, es ist etwas schwer sich das Verhalten vorzustellen. Ich habe hier mal einen Screenshot inkl. Datenwert-Labels hochgeladen:
http://imgur.com/HcAgao9
Das Modell an sich wird etwas schwierig hochzuladen, da es sich um eine komplette Echtzeit-Anwendung mit Hardware I/Os handelt. Ich versuche mal ein Minimalbsp. zu erstellen, nur fürchte ich, dass sich das Verhalten nicht reproudzieren lässt.
Eine kurze Erklärung zum Bild:
In1 ist ein Signal vom Dashboard eines Fahrzeuges [0 1 2], In2 ein Vektor mit 3 zur Auswahl stehenden Werten für eine Gradientenlimitierung einer Stromregelung [50 50 50]. Anhand In1 soll nun also ganz simpel der entsprechende Eintrag von In2 gewählt werden.
In1 kommt vom CAN-Bus und wurde in der Signalkonditionierung bereits per 'floor' auf Ganzzahlen beschränkt.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|