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

set_param auf Transport Delay/IntialOutput -> Fehlermeldu

 

punkNgrind
Forum-Century

Forum-Century


Beiträge: 136
Anmeldedatum: 10.03.11
Wohnort: Hamburg
Version: R2014b
     Beitrag Verfasst am: 22.08.2012, 13:47     Titel: set_param auf Transport Delay/IntialOutput -> Fehlermeldu
  Antworten mit Zitat      
1. Ich möchte gerne in einem Subsystem den IntialOutput eines Transport Delay setzen, bekomme aber eine fehlermeldung zurück.

Code:
set_param(strcat('...',Datum,'/Steuerung/Transport Delay/InitialOutput'),'100')

??? Error using ==> set_param
Not enough input arguments.
 


Jemand eine Idee, welche weiteren "input arguments" da noch erwartet werden?

2. Kann ich so etwas auch über "Block Propertie->Callback-> InitFcn" machen? Ehrlich gesagt ist mir nicht so richtig klar, was ich mit diesen Callbacks alles anstellen kann.
Private Nachricht senden Benutzer-Profile anzeigen


cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 22.08.2012, 15:21     Titel:
  Antworten mit Zitat      
Zu 1.)

Für mich sieht das so aus, als wäre set_param falsch aufgerufen worden. Schau dir dir Syntax an:

Code:
set_param(object, paramName1, Value1, ..., paramNameN, ValueN)


Das seh ich bei dir nicht. Zumindest fehlt der ParameterName oder/und das Objekt, das du bearbeiten möchtest. Anstelle von Objekt hilft übrigens auch das entsprechende handle, z.B. gcb für GetCurrentBlock oder gcs für GetCurrentSystem.

Zu 2.)

Ja kannst du. Callbacks sind an bestimmten Stellen der Simulation nützlich. PreLoad-Functions werden z.B. gerne genommen, um Parameter zu laden, die während der Simulation verwendet werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
punkNgrind
Themenstarter

Forum-Century

Forum-Century


Beiträge: 136
Anmeldedatum: 10.03.11
Wohnort: Hamburg
Version: R2014b
     Beitrag Verfasst am: 22.08.2012, 16:13     Titel:
  Antworten mit Zitat      
Danke schonmal!

1.
Ich habe schon so ein paar Varianten ausprobiert und ich kann nicht direkt auf den IntialOutput zugreifen.

Bei mir steht
"..." stellvertretend für den Modellname,
"/Steuerung" für das Subsystem,
"/Transport Delay" den Matlab-Block und
"IntialOutput" sollte eine Blockparameter sein (siehe auch Anhang).

z.B.:
Wenn ich das Eingabefeld als Parameter beschreiben will:
Code:
set_param('...Steuerung/Transport Delay','IntialOutput','100')
 


folgt:
??? TransportDelay block does not have a parameter named 'IntialOutput'.
__________________
Wenn ich in in den "Function Block Parameters" in den "Intial Output:" eine Variabel x reinschreibe und versuche darauf zurück zugreifen:

Code:

set_param('.../Steuerung/Transport Delay/InitialOutput','x','100')
 


folgt:
??? Invalid Simulink object name: .../Steuerung/Transport Delay/InitialOutput.

___________________

2.

auch dort habe ich versucht mit einigen Varianten, wie:
Code:

set_param('gcb/InitialOutput','x','100')
set_param('gcb','InitialOutput','100')
set_param('gcb','InitialOutput/x','100')
 


in über "InitFcn" darauf zurückzugreifen, bisher leider erfolglos.

____________________

Ein
Code:
set_param('.../Steuerung/Transport Delay','InitFcn','100')
 

ergibt zwar keine Fehlermeldung, aber damit habe ich noch nicht auf meine gewünschte Variable zugegriffen.

Ich denke mal, dass das Problem das gleiche sein wird, ob nun vom Callback oder vom Workspace.

Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
punkNgrind
Themenstarter

Forum-Century

Forum-Century


Beiträge: 136
Anmeldedatum: 10.03.11
Wohnort: Hamburg
Version: R2014b
     Beitrag Verfasst am: 22.08.2012, 16:38     Titel:
  Antworten mit Zitat      
Oh ha, manchmal sieht man den Wald lauter Bäume nicht.

Bei Callbacks kann einfach mit:

Code:


die variable beschrieben werden oder vom wokrspace aus, mit:

Code:
set_param('.../Steuerung/Transport Delay','InitFcn','x=100')
 


Embarassed

Danke nochmal cybbi und jetzt ist wirklich Zeit für den Feierabend.
Private Nachricht senden Benutzer-Profile anzeigen
 
stbrucker
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 10:11     Titel:
  Antworten mit Zitat      
punkNgrind hat Folgendes geschrieben:

z.B.:
Wenn ich das Eingabefeld als Parameter beschreiben will:
Code:
set_param('...Steuerung/Transport Delay','IntialOutput','100')
 


folgt:
??? TransportDelay block does not have a parameter named 'IntialOutput'.


Das kann nicht funktionieren, da du "InitialOutput" falsch geschrieben hast. Deswegen die Fehlermeldung. Baust du das 'i' noch ein dann geht's.

Code:
set_param('...Steuerung/Transport Delay','InitialOutput','100')
 


g stbrucker
Private Nachricht senden Benutzer-Profile anzeigen
 
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.