Code Generation: Subsystems cannot have the same name caused by Matlab function

15 views (last 30 days)
Code generation: I have an issue regarding generating code from an atomic subsystem which contains a Matlab function. When I try to reuse the subsystem, I receive an error saying that the two subsystems cannot have the same name. This is definitely caused by the Matlab function, because if I comment it, I recevie no such error. Can I change the configuration of the Matlab function so I can resolve this error or is my only solution to remove the Matlab function? If there is a method, could you please help me?

Answers (2)

René Pätznick
René Pätznick on 16 Jul 2021
The function name '$N$R' for code generation in subsystem '...' is not a valid function name.
I got this message when using the placeholder within the library

Chidvi Modala
Chidvi Modala on 27 Jan 2020
You may need to specify Unique Function Interface Names
Each function interface corresponding to the same reusable library subsystem must have a unique name. To specify a unique name, follow these steps:
  1. In the Subsystem block parameters dialog box, on the Code Generation tab, set the Function name options parameter to User specified.
  2. For the Function name parameter, specify the $R and $N tokens. The $R token represents the function interface name. The $N token represents the subsystem name.
  3. In the Create Function Interface dialog box, for the Name parameter, specify a name that describes the context.
  4. Set the File name option parameter to Auto or Use function name.
You can refer to this documenatation
  2 Comments
Andrei Baciu
Andrei Baciu on 31 Jan 2020
Thank you for the answer. This is not exactly what I had in mind, I wanted to reuse the atomic subsystem, which also had the Matlab function. I managed to solve my problem though, I found a way to implement the function with Simulink blocks and now it works quite well.

Sign in to comment.

Categories

Find more on Schedule Model Components in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!