Create a block to read keyboard inputs
28 views (last 30 days)
Show older comments
I want to create a block in simulink which prompts me to enter a key & reads ASCII values from keyboard while running a simulation. Input to the block is through keyboard & output is its ASCII value.
I think this can be done either in S-function or embedded matlab function blocks. But I dont know how to use these blocks.
Can someone help???
0 Comments
Accepted Answer
Fangjun Jiang
on 17 Jun 2011
Drag and drop a Constant block, right click it, select "Block Properties ...", click the "Callbacks" tab, select "OpenFcn", type in the following line,
set(gcbh,'Value',num2str(double(input('Press a key: ','s'))));
Set your model simulation stop time to be inf and run the simulation, while the simulation is running, double click the Constant block, switch to Command window, press a key, observe the output value of the Constant block.
2 Comments
Fangjun Jiang
on 21 Jun 2011
Then, a MATLAB Fcn block would do it. Type in double(input('press a key','s')); in it and run the simulation. Keep in mind though, that this will ask you for a key input every simulation step. I tried a simple example and the value output is right. Not sure how the rest of your model would work with it.
More Answers (1)
Kaustubha Govind
on 17 Jun 2011
Edited: John Kelly
on 26 Feb 2015
The Embedded MATLAB Fcn block should be sufficient for your purpose. You can use the input function to read inputs from the keyboard.
Here is an example using the Embedded MATLAB Block: Creating an Example Model That Uses a MATLAB Function Block.
2 Comments
Kaustubha Govind
on 21 Jun 2011
You can use eml.extrinsic to call functions unsupported for code generation.
See Also
Categories
Find more on Naming Conventions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!