Assign to simulink input in State Flow

26 次查看(过去 30 天)
My state flow accepts variables from Workspace as Inputs.
In one of the stateflow state blocks, there is a function call (which I wrote in matlab). This function receives those Inputs as arguments, modifies them during the run and returns them because I intend to pass them to other functions that are invoked in other states.
However, I get the following error:
Attempted to assign to simulink input.
I would appreciate any help to overcome this problem.
  2 个评论
TAB
TAB 2018-10-23
Please post the code/part of code/example code with your question.
It will be easy to understand what you want to do.
Hs5555
Hs5555 2018-10-23
variable a is located at the workspace. In the state flow window there is a state that receives the a variable as an input. In one of the states, under the entry part, I wrote a function call:
[a] = FuncA(a);
this function receives variable a as an argument, assign a new value to it and returns it.
When I press run in the stateflow window, the diagnostic viewer window pops and gives the error message I mentioned above.
I guess that I cannot assign to an input that the stateflow receives so my questions are:
how should I define variable a in the stateflow so I can:
1. get its initial value from the workspace
and
2. modify it inside the stateflow in a way that it will be updated in the workspace?
I hope its much more clear now. thanks!

请先登录,再进行评论。

回答(2 个)

Arunkumar M
Arunkumar M 2018-11-13
I think what you want to do is to start with the input value and then overwrite the input value later during simulation.
You can try one of the two methods:
  1. assign a temporary variable say b in entry action (en: b = a), where a is your input variable. Later you can modify b and can use b also in your transition conditions. But in this, the variable a remains untouched
  2. since your input variable a is stored in workspace, you can overwrite the variable a in workspace through assignin command. This lets your simulation to take the updated value from the next time step.

Kai Gläsker
Kai Gläsker 2021-3-31
Hello, maybe you switched the variables.
entry = Output Data
transition = Input Data

类别

Help CenterFile Exchange 中查找有关 Complex Logic 的更多信息

标签

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by