Filter löschen
Filter löschen

Simulink RTW IO handling

4 Ansichten (letzte 30 Tage)
B. J.
B. J. am 25 Apr. 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 Kommentare
B. J.
B. J. am 26 Apr. 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 am 27 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

B. J.
B. J. am 17 Jun. 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 Kommentar
Kaustubha Govind
Kaustubha Govind am 17 Jun. 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.

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by