Simulink RTW IO handling
Mostrar comentarios más antiguos
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 comentarios
Kaustubha Govind
el 25 de Abr. de 2011
I'm sorry - I have some trouble understanding your question. Did you mean that your root-level inputs are being imported from a MATLAB-file during simulation, but after code generation, you want to be able to feed your own inputs to the generated EXE? If yes, you simply have to modify the main() in the generated code to interface with your code that generates the inputs. Search your help documentation for the demo titled "Integrating the Generated Code into the External Environment" for an example.
B. J.
el 25 de Abr. de 2011
Kaustubha Govind
el 26 de Abr. de 2011
How does your external program define/declare the required input data? You could either modify the main program, or use Simulink.Signal objects for your root I/O ports as described in the section "Signal Considerations": http://www.mathworks.com/help/toolbox/rtw/ug/f1070804.html
Specifically, see "Interfacing Signals to External Code".
B. J.
el 26 de Abr. de 2011
B. J.
el 26 de Abr. de 2011
Kaustubha Govind
el 27 de Abr. de 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.
Respuestas (1)
B. J.
el 17 de Jun. de 2011
0 votos
1 comentario
Kaustubha Govind
el 17 de Jun. de 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.
Categorías
Más información sobre Simulink Coder en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!