Create a block to read keyboard inputs

조회 수: 30 (최근 30일)
Raju Purohit
Raju Purohit 2011년 6월 17일
편집: John Kelly 2015년 2월 26일
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???

채택된 답변

Fangjun Jiang
Fangjun Jiang 2011년 6월 17일
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
Raju Purohit
Raju Purohit 2011년 6월 21일
That was helpful to some extent. I am basically trying to model (3D model using VRML) a block which should move right when I press right arrow key, move up when i press up arrow key and so on. I need to continuously feed the input through keyboard.
Fangjun Jiang
Fangjun Jiang 2011년 6월 21일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Kaustubha Govind
Kaustubha Govind 2011년 6월 17일
편집: John Kelly 2015년 2월 26일
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
Raju Purohit
Raju Purohit 2011년 6월 21일
Actually Embedded MATLAB Block does not support input function.
Kaustubha Govind
Kaustubha Govind 2011년 6월 21일
You can use eml.extrinsic to call functions unsupported for code generation.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Simulink Functions에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by