WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Inhalt eines Simulinkblocks für andere sperren

 

patrik84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2013, 16:23     Titel: Inhalt eines Simulinkblocks für andere sperren
  Antworten mit Zitat      
Hallo liebe MATLAB Community,

Da ich schon öfters auf dieser Seite Rat gefunden habe, hoffe ich auch diesmal einen Lösungsansatz für mein Problem zu finden.

Ich möchte ein von mir erstelltes Simulinkmodell weitergeben. Dieses bildet das Verhalten eines komplexen Systems in Form von Lookuptables, Übertragungsfunktionen usw. ab. Da ich dieses, von mir erworbene Wissen über das System nicht 1:1 teilen möchte, suche ich nach einem Weg den Inhalt des Modells zu sperren.
Als Resultat soll ein Block entstehen, der eine BlackBox ist und deren interner Aufbau nicht sichtbar ist. Ähnlich wie beispielsweise bei den SimScape-Blöcken. Bei vielen Blöcken kommt dort unter "Look under Mask" auch nur eine weiter MessageBox mit dem Hinweis "SimScape Block"

Wäre super wenn jemand weiß ich ich so eine BlackBox selbst erzeugen könnte.


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 16.12.2013, 17:40     Titel:
  Antworten mit Zitat      
http://blogs.mathworks.com/seth/200.....E2%80%93-simulink-r2009b/

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
patrik84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.12.2013, 09:05     Titel:
  Antworten mit Zitat      
Danke für den Link!
Auf diese Variante bin ich bei meiner Suche auch schon öfter gestoßen. Ist sicherlich die eleganteste Lösung, wobei man dafür ja den Real-Time Workshop braucht. Diese Lizenz habe ich aber leider nicht.

Gäbe es einen anderen Weg ohne zusätzliche Toolboxen? Ich stelle mir vor beispielsweise eine dll-Datei die ich z.B. in C schreibe.
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 17.12.2013, 10:21     Titel:
  Antworten mit Zitat      
Man könnte ijn der Tat einen Teil des Modells als C-MEX S-Function in C schreiben. Ist natürlich ziemlicher Aufwand und wofür hat man dann Simulink?

Die meisten Anwender haben Zugang zim Simulink Coder (früher Real-Time Workshop) über Netzwerklizenzen. Diese Kontakte innerhalb der Hochschule / des Unternehmens kann ich gerne vermitteln. Einfach Kontaktinformationen und Lizenznummer per PN oder Email an mich.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
patrik84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.12.2013, 17:21     Titel:
  Antworten mit Zitat      
Danke für den Hinweis mit der C-MEX S-Function, das sieht meiner Meinung nach vielversprechend aus. So bekomme ich aus meinem C-File eine entsprechende .mexw32 Datei. Wie könnte ich diese Datei nun in Simulink verwenden?

In unserem Unternehmen habe wir bis auf kleine Ausnahmen die Basisversion mit MATLAB und Simulink ohne zusätzliche Toolboxen. Ist einfach eine Kosten/Nutzen Frage.
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 17.12.2013, 17:47     Titel:
  Antworten mit Zitat      
Modellbasierte Entwicklung ist immer auch eine Kosten/Nutzen Frage Smile

Eine C-MEX S-Function selber zu schreiben kostet halt Arbeitszeit und damit Kosten. Und wenn man dann Änderungen durchführen möchte? Dauert. Ist Fehleranfällig. Etc. Genau daher macht man das mit Simulink...

Wie auch immer. Man fügt die MEXW64 files (hoffentlich nicht mehr 32Bit Shocked ) über den entsprechenden Block ein: http://www.mathworks.com/help/simul.....sic-c-mex-s-function.html

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
patrik84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2013, 13:37     Titel:
  Antworten mit Zitat      
Ja, wenn du mich als Techniker fragst, dann hast du damit sicher Recht und ich bin voll deiner Meinung. javascript:emoticon('Smile')

Auf diesen Link bin ich auch gestoßen und habe das Beispiel wie beschrieben durchgearbeitet. Am Ende erhält man dann mit "mex timestwo.c" eine entsprechende mex Datei "timestwo.mexw32. (ja in meinem Fall wirklich noch 32Bit javascript:emoticon('Smile'), aus Kompatibilitätsgründen).
Leider fand ich dann nur den Hinweis, dass die Datei mit einem S-Function Block in Simulink verwendet werden kann, aber nicht genau wie ich das mache. Auch in der MATLAB Hilfe habe ich dazu nichts gefunden oder ich verstehe es einfach nicht javascript:emoticon('Sad')
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 18.12.2013, 15:03     Titel:
  Antworten mit Zitat      
Auch hier: "Einfach Kontaktinformationen und Lizenznummer per PN oder Email an mich." Ich werde dann einen Supportingenieur bitten den Kontakt aufzunehmen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
patrik84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.12.2013, 09:57     Titel:
  Antworten mit Zitat      
Nachdem ich mich gestern nochmal mit mex-Dateien und deren Einbindung in Simulink beschäftigt habe, habe ich es dann doch geschafft die Datei mit dem S-Function Block in Simulink zu verwenden.

Mein Fehler war einfach, dass ich die mex-Datei nach dem Erstellen umbenannt habe was als Resultat eine Fehler beim Start der Simulation verursacht: 'S-function name mismatch'. Ich hätte natürlich auch das Source-File entsprechend ändern müssen.

Danke nochmal für die Hilfe bei der Lösung meines Problems. Ob wir uns nun die Arbeit machen und den Weg über die C-MEX Funktion gehen oder gleich den Simulink Coder anschaffen müssen andere entscheiden.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.