2013-11-20 6 views
3

Моя проблема специфична для SIMULINK, модели и советник Code Generation и Embedded Coderконфликты имен для символов Генерирование кода в SIMULINK

Я использовал эталонные модели в большей модели (т.е. интегрированная система) и моя ссылка модель похожа или идентично названные сигналы. Когда я использовал модель и генерацию коды консультант для проверки вменяемости моих моделей, следующее сообщение об ошибке пришла под «Определить сомнительные параметры для жестких одинарной точности операций»

{code}Error occurred during model compile. 

Potential usage conflicts for identifier 'MdlrefDW_Other_Systems_Inputs_T'. This might occur when multiple referenced models have similar model names and similar naming rules. You can resolve this conflict by: increase the maximum identifier length parameter on the Symbols pane of the Configuration Parameter dialog, add different literal strings in identifier naming rules for each referenced model, or use dis-similar names for each referenced model 

Potential usage conflicts for identifier 'MdlrefDW_Other_Systems_Inputs_T'. This might occur when multiple referenced models have similar model names and similar naming rules. You can resolve this conflict by: increase the maximum identifier length parameter on the Symbols pane of the Configuration Parameter dialog, add different literal strings in identifier naming rules for each referenced model, or use dis-similar names for each referenced model 

Potential usage conflicts for identifier 'MdlrefDW_Other_Systems_Inputs_T'. This might occur when multiple referenced models have similar model names and similar naming rules. You can resolve this conflict by: increase the maximum identifier length parameter on the Symbols pane of the Configuration Parameter dialog, add different literal strings in identifier naming rules for each referenced model, or use dis-similar names for each referenced model{code} 

Я даже пытался удалить любые имена сигналов и использование не виртуальные шины данных для группировки сигналов, так что они преобразуются как структура в код C (при сгенерировании). Однако он все еще жалуется на одно и то же.

Другая вещь, которую я пробовал, - это манипулировать изменением имени. но затем он конфликтует с требованиями безопасности кода MISRA C (минимальный искажающий символ и максимальная длина идентификатора/var).

Что я пытаюсь понять, если эта проблема является ограничением SIMULINK или может быть исправлена. Я не могу просто пойти и изменить свои имена сигналов, потому что это слепо приспосабливается к SIMULINK, но не исследует основную причину. Кроме того, я думаю, что модель функционально правильная. Кто-нибудь испытал что-то подобное?

Ссылка, я думаю, что использование шины данных не имеет к этому никакого отношения. Я просто пробовал этот подход, потому что кто-то предложил.

ответ

1

Проблема, похоже, исчезла, как только я изменил длину максимально допустимых символов для имен идентификаторов. Но я должен был изменить его во всех моделях !!!!!

Это можно сделать на панели «Символы» из меню «Генерация кода» параметров конфигурации модели.

+2

Ах! У меня тоже было это сейчас, когда я помню. Кстати: если вы использовали ссылки на конфигурацию для всей своей иерархии моделей, вам просто нужно было бы ее изменить один раз. http://www.mathworks.com/help/simulink/ug/referencing-configuration-sets.html? – pmb