Remove default block names from auto generated Code using embedded coder
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
creative
il 27 Giu 2020
Commentato: Fangjun Jiang
il 28 Giu 2020
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 Commenti
Risposta accettata
Fangjun Jiang
il 27 Giu 2020
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 Commenti
Fangjun Jiang
il 28 Giu 2020
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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Deployment, Integration, and Supported Hardware in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!