Remove default block names from auto generated Code using embedded coder
4 次查看(过去 30 天)
显示 更早的评论
Hello,
i am autogenerating a PID code from simulink, but in the generated code i get some variable name which correponds to its root level block name.
How can i replace these root level block names by some meaning full names in generated code. For example ,
rtb_DeadZone_0 = rtb_Sum * rtb_Saturation + rtb_DeadZone * rtb_PID_Y_Out_Ratelimited;
OR
if (Select_OL) {
rtb_Sum = (real32_T)OL_X_Command;
rtb_DeadZone = (real32_T)OL_Y_Command;
}
i get above lines of code when i autogenerate it and bit hard to read and understand. How can i replace those autogenerated name like rtb_DeadZone_0 , rtb_Sum etc.
Thank you.
0 个评论
采纳的回答
Fangjun Jiang
2020-6-27
If you want a particular variable name for a signal line in the model, double click the signal line, give it a name "MySignal", right click, select properties, chck "signal name must resolve to Simulink object". In base workspace, create a Simulink.Signal object, MySignal=Simulink.Signal. Then, set properties.
open MySignal
2 个评论
Fangjun Jiang
2020-6-28
The place to change is Ctrl+E, Code Generation, Identifiers. Change Local block output variables from rtb_$N$M to something else. But you don't have specifiic control, just one type of auto naming to another. Right click, select "what's this?" to see the meaning of those $ symbols.
There should be no problem if you break the link of the PID controller and label the signals inside, especially if you want to control the generated signal names.
更多回答(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!