|
|
Mask Editor Parameter Einstellungen. Initialisieren? |
|
freddy |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 17.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.10.2013, 18:52
Titel: Mask Editor Parameter Einstellungen. Initialisieren?
|
|
|
|
|
Hallo Leute,
ich bin noch ganz neu in der Erstellung von Modellen mittels Simulink. Daher denke ich, dass meine Frage für euch kein Problem darstellen wird.
Also:
Ich bastle gerade an einer eigenen Bibliothek, und verwende für meine Modelle die MATLAB Functions. Dort kann ich ja eine Maske editieren, und unter "Paramters" meine Parameter eintragen, d.h. ich weise einer Variablen den Namen "c" zu.
Dieses "c" soll die Ausgangsvariable meines MATLAB Function Blocks sein, und keinen Eingang besitzen.
Nun schließe ich einen Scope an meiner MATLAB Function an, und definierte die Variable mittels Doppelkick auf die Funktion, gebe einen Wert ein, und lasse die Simulation laufen.
Allerdings bringt mir Simulink immer einen Fehler:
Output argument 'c' is not assigned on some execution paths.
Muss ich den Parameter "c" nochmals irgendwo initialisieren?
Ich dachte, Simulink versteht das, wenn ich in der Maske eine Variable eingebe, und diese dann selbst initialisiert.
Oder wo liegt mein Fehler?
Ach ja, verwende MATLAB 2013a.
Danke für eure Antwort(en)!!
Gruß
freddy
|
|
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 08:14
Titel:
|
|
Ganz kurz nochmal:
Du hast eine m-File erstellt die eine Ausgabe hat. Diese m-File willst du jetzt im Matlab Function Block aufrufen?
Kannst du Inhalt der m-File zeigen?
|
|
|
freddy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 17.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 10:01
Titel:
|
|
|
|
|
Erstmal danke für deine schnelle Antwort.
Ich habe im Endeffekt kein eigenes m-file erstellt. Ich mach das direkt mit Simulink. Dort rechtsklicke ich auf die MATLAB Function und gehe unter "Mask"-> "Look under Mask" und gebe dort meinen Code ein.
Um alles einfach zu halten, habe ich jetzt den Code aus der Function rausglöscht, und die Function sieht jetzt so aus, wie in meinem ersten Beitrag, also komplett leer.
Die Parameterübergabe von meiner MATLAB Function an den nächsten Block soll durch die Eingabe in der Maske erfolgen. D.h. "c" soll in der Maske eingegeben werden, und dann an den nächsten Block übergeben werden.
Ich weiß, klingt jetzt etwas unlogisch, aber ich versuche gerade, meine function Schritt für Schritt aufzubauen.
Abgespeichert wird meine Komponente als slx-Datei.
Wichtig ist mir in erster Linie, warum Simulink der Variablen "c" keinen Wert zuweist, obwohl das doch in der Maske geschieht.
Beschreibung: |
Hier der Mask Editor, bei dem nur der Paramter "c" definiert werden soll. |
|
Download |
Dateiname: |
Mask Editor.jpg |
Dateigröße: |
113.37 KB |
Heruntergeladen: |
798 mal |
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 10:22
Titel:
|
|
Ok, dachte du hast von einer "Interpreted Matlab function" (in alter Matlab Version war das die Matlab Function) geredet.
Leider weiß ich immer noch nicht wo dein Problem ist. Ich habe hier nur Matlab 2012 und hier kann ich der Matlab Function keine Mask verpassen, ist wohl bei 2013 anders. Aber wenn ich die Matlab Function in ein Subsystem lege und dem Subsystem eine Maske mit dem Parameter c gebe, dann kann ich den Parameter in der Matlab Function verwenden. Du musst bei der Matlab function auf "Edit Data" (im Editor) gehen und da den Eingang c auf Parameter setzen.
|
|
|
freddy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 17.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 12:03
Titel:
|
|
|
|
|
Sorry, aber ich kann den Parameter unter "Edit" nicht einstellen.
Ich glaube auch, dass meine Erläuterungen etwas schwammig waren.
Ich versuchs mal mit einem neuen, einfachen Beispiel. Dafür habe ich ein Bild angehängt.
Bild 3 zeigt mein einfaches Modell. Die Konstante "1" soll an meine Matlab Function übergeben werden.
Bild 1 zeigt den Code meiner Funktion
Code:
function aus = test(ein)
%#codegen
aus=ein+parameter1;
end
Funktion ohne Link?
Dabei soll der Eingang (also die Konstante 1) mit einem Parameter (Parameter1) addiert, und dann an den Ausgang weitergegeben werden. Das Ergebnis soll auf dem Display angezeigt werden.
Bild 4 zeigt meine Maske der Matlab Function. Hier gebe ich an, dass der Parameter1 abgefragt werden kann, wenn man auf die Matlab Function doppelklickt.
Bild 5 hier kann ich dann meinen Paramter eigeben (der eingegebene Werte soll nun Parameter1 zugewiesen werden)
Bild 2 zeigt dann meine Fehlermeldung: "Undefined function or variable 'parameter1'."
Anscheinend kann die Maske von Bild 4 dem Parameter nicht zuweisen.
Muss ich irgendwo noch den Paramter initialisieren? Sorry, aber ich beschäftige mich erst seit einer Woche mit Simulink.
Beschreibung: |
|
Download |
Dateiname: |
Präsentation1.jpg |
Dateigröße: |
96.67 KB |
Heruntergeladen: |
847 mal |
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 12:10
Titel:
|
|
Du musst den Code in deiner Matlab Function noch anpassen, dann Parameter1 als Parameter kennzeichnen. Siehe Bild.
Beschreibung: |
|
Download |
Dateiname: |
asfd.png |
Dateigröße: |
130.22 KB |
Heruntergeladen: |
912 mal |
|
|
|
freddy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 17.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2013, 12:59
Titel:
|
|
JAAAAA!!
Genau so hab ich mir das vorgestellt!!
Vielen Dank für deine Arbeit und Geduld mit mir!!
|
|
|
|
|
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.
|
|