persistent variable simulink codegen stateflow error: "IR Construction failed"
8 次查看(过去 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.
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!