persistent variable simulink codegen stateflow error: "IR Construction failed"
1 回表示 (過去 30 日間)
古いコメントを表示
Greetings,
I'd like to include a function similar to the following in my codegen-compiled simulink model:
function u = PD_control( x )
persistent x_last_iter % save last x each iter
if isempty(x_last_iter)
x_last_iter = x; % 1st iter -> set to 1st x
end
Kp = 1; Kd = 1; % PD control params
u = -x*Kp + (x_last_iter - x)*Kd % calculate control input
end
However, I get compiler error below. "IR Construction failed" returns zero hits when I search the web.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/218491/image.png)
I can avoid this error by setting the initial value to 0 instead: "x_last_iter = 0;" But this is not ideal.
Anyone understand this error? I feel I am correctly following the documentation here: Persistent Variables and Persistent Array Variables
Respectfully, John
0 件のコメント
回答 (1 件)
Fangjun Jiang
2019 年 5 月 8 日
I think IR means "Internal Representation". It might be a bug. Make a simple example and submit a service request to the Mathworks.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Deployment, Integration, and Supported Hardware についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!