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

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)

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
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

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.
Hello Andrei, whats the solution to this issue which worked for you?

Sign in to comment.

Asked:

on 17 Jan 2020

Commented:

on 12 Jan 2024

Community Treasure Hunt

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

Start Hunting!