|
|
generierten C-Code aus Statflow-Modell in matlab ausführen |
|
matt123456789 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.09.2015, 09:27
Titel: generierten C-Code aus Statflow-Modell in matlab ausführen
|
 |
Hallo,
ich möchte aus einem Statflow modell C-Code generieren und diesen anschließend mit dem gleichen Input in matlab ausführen lassen.
Das Statflowmodell ist hier ganz einfach gehalten. Ein Lichtschalter der an oder aus ist.
Der Input ist ein Puls der bei 1sec von 0 auf 1 geht. Dies entspricht der Betätigung des Schalters.
Die Generierung von C-Code habe ich per rechtsklick auf den Chart -> Code Generation-> Build System bewerkstelligt.
Nun wollte ich mit der mex function mir den generierten C-Code Matlab gefügig machen. Stoße aber hier auf Probleme. Dateien können nicht gefunden werden usw.
Vielleicht hat jemand das schon mal versucht so zu machen. Habe ein Bild und Datei des Modells beigefügt. Bin um jede Hilfe dankbar
Beschreibung: |
|
 Download |
Dateiname: |
Forumsbeispiel.mdl |
Dateigröße: |
49.15 KB |
Heruntergeladen: |
371 mal |
|
|
|
|
|
matt123456789 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.09.2015, 10:10
Titel:
|
 |
|
|
matt123456789 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.09.2015, 10:36
Titel:
|
 |
Ich möchte quasi testen ob der generierte Code dem Statflow gleich kommt
|
|
|
matt123456789 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.09.2015, 10:52
Titel:
|
 |
Ich hab noch was raus gefunden.
Ich habe bei den code generation options das falsche target angeben
richtig ist rtwsfcn.tlc
allerdings beim übersetzen in ein mex file bekomme ich folgenden Fehler:
>> mex Chart_sf.c
Writing library for Chart_sf.mexw32
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetNaN'
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetNaNF'
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetInf'
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetInfF'
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetMinusInf'
c:\temp\mex_jwrlet\chart_sf.obj .text: undefined reference to '_rtGetMinusInfF'
C:\PROGRA~2\MATLAB\R2011B\BIN\MEX.PL: Error: Link of 'Chart_sf.mexw32' failed.
Error using mex (line 206)
Unable to complete successfully.
Woran könnte dies legen .bzw wie kann ich den fehler beheben?
|
|
|
matt123456789 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2015, 10:20
Titel:
|
 |
könnte es evtl am Compiler liegen, dass dieser das nicht kann
verwende den standard vorinstallierten von Matlab LCC Compiler
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 28.09.2015, 13:13
Titel:
|
 |
Wenn hier seit Wochen keiner antwortet oder kommentiert, dann könnte es an verschiedenen Dingen liegen, aber immer neue Sachen nachzuschieben ist glaube ich nicht so hilfreich.
Bitte ein paar Randinformationen: Welches MATLAB Release auf welchem Betriebssystem, und dann 32 oder 64 Bit für beide.
Dann die Frage warum die Aufgabenstellung so ist wie sie ist: Wer hat denn Zweifel, dass der generierte Code das macht was er soll und warum soll der in MATLAB durchlaufende Fall ein Beweis dafür sein?
"rtwsfcn.tlc" generiert für eine C MEX S-Function. Definitionsgemäss läuft die nur unter Simulink, nicht unter MATLAB. Generell kann ich mir vorstellen, dass der Test auch überhaupt besser in Simulink anstelle MATLAB durchführbar ist.
Andreas
|
|
|
|
|
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 - 2025
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.
|
|