Effacer les filtres
Effacer les filtres

Simulink RTW IO handling

4 vues (au cours des 30 derniers jours)
B. J.
B. J. le 25 Avr 2011
Hello,
I am building a model in Simulink, with two levels of IO. In the root level I have input pins (right now specified as ports) that are meant to be written to by a model every step. Think of it as the valve position. Under the root level I have different subsystems, and I have constants that I want to be read from a database. Like 'K_Bias'. These will be held somewhere and written in.
In simulation I could fool Simulink into running by writing a m-file, but in this application I want to leave in handles to that my model calling the .exe can fill in the constants and input my signal. When I try to compile, I get the Block Error "error evaluating parameter" saying its an undefined function/variable. How do I work around this error? I was trying to understand placing variables as globally tunable and inline signals...but the documentation is a bit over my head.
Final note, running 2010b, have all the needed licenses/toolboxes.
Thanks in advance, Becky
  6 commentaires
B. J.
B. J. le 26 Avr 2011
Hmm...I must be explaining this wrong. Okay, so I have a simple simulink model. I am having trouble defining the IO properly to compile down to C. I do want to use the RTW to build it, without dependancies on any m-files. I get the error "Error evaluating parameter 'Value' in 'Proposedcontrol/Controls/AttStmTempSP/Constant6': Undefined function or variable 'ATTout_TsatB'.".
The ATTout_TsatB is a constant block that I want to be passed from an external source.
I know I can't define it as a constant block, so I tried a port. Problem is, I am going to have two different ports objectives - one will be to input something from a temperature signal, the other this constant. I'd like to have it be efficient in terms of knowing Port1 is a constant - don't scan and keep checking for it, and Port2 every step update. This is a 'like' not a 'need' for my system.
Kaustubha Govind
Kaustubha Govind le 27 Avr 2011
One option for you is to use the Environment Controller block (http://www.mathworks.com/help/toolbox/simulink/slref/environmentcontroller.html). You connect the Constant block to the "Sim" input and the Inport block to the "Coder" input.

Connectez-vous pour commenter.

Réponses (1)

B. J.
B. J. le 17 Juin 2011
My fix was to just create two programs - one for compiling with ports, one for testing with constants. It works, even if a bit much to maintain two programs.
  1 commentaire
Kaustubha Govind
Kaustubha Govind le 17 Juin 2011
Becky: You could also consider using Model Reference for your main algorithm, and then reference that from two harness models. That way, you have only one copy of your algorithm.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by