После создания определений кода для стандартизации и соответствия архитектуры программного обеспечения, а также их развертывания для пользователей, держите определения и их использование в актуальном состоянии. Когда вы и другие пользователи создаете модели для создания кода, сделайте определения кода доступными для моделей. Если стандарты для созданного кода изменятся, может потребоваться обновить определения кода. Рассмотрите, как эти стандарты влияют на модели, использующие определения кода, и соответствующим образом обновите модели.
При совместном использовании определений кода в словаре данных Simulink ® эти определения становятся доступными для новых моделей, создаваемых пользователями для создания кода. Модель, создаваемая на начальной странице Simulink или с помощью new_system функция не связана со словарем данных Simulink. Новая модель не может получить доступ к определениям генерации кода, которые хранятся в словаре данных.
Чтобы автоматически сделать определения кода доступными для новой модели, запишите обратные вызовы и другой код, который немедленно связывает модель со словарем данных, содержащим определения.
Простой пример, показывающий, как связать модель с словарем данных программно, а также сведения о настройке ссылки на словарь программно, см. в разделе Хранение данных в словаре программно.
При использовании проекта рекомендуется создать ярлык проекта, который создаст модель и немедленно свяжет новую модель со словарем данных. Сведения о проектах и ярлыках проектов см. в разделе Что такое проекты?.
Сведения о совместном использовании определений вручную с новой моделью см. в разделе Совместное использование определения словаря встроенного кодера моделями.
Если вы создаете класс хранения в пакете и хотите использовать его в редакторе сопоставлений кода, обратитесь к пакету из одного или нескольких словарей встроенного кодера. Сведения о пакете из словаря встроенного кодера см. в разделе Определения генерации кода в пакете. Затем для моделей, имеющих доступ к словарю Embedded Coder Dictionary, можно применить классы хранения из пакета с помощью редактора сопоставления кодов.
Если требуется внести изменения в определение, внесите изменения только в пакет. Чтобы применить изменения к словарям встроенного кодера, обновите пакет. Чтобы обновить пакет, откройте каждый словарь встроенного кодера.
Чтобы применить класс хранения к элементу данных модели, который не разрешен для внешнего объекта данных, используйте редактор сопоставлений кода. Чтобы определения пакетов отображались в редакторе сопоставлений кодов, обратитесь к пакету из словаря Embedded Coder Dictionary, который используется моделью.
К этим нерешенным элементам модели относятся:
Блоки ввода
Блоки аутпорта
Сигнальные линии
Состояния блоков
Хранилища данных
Объекты параметров в рабочем пространстве модели
Чтобы сопоставить эти элементы модели с определением на основе пакета, обратитесь к пакету из словаря Embedded Coder Dictionary, который используется моделью.
Начиная с R2020b, если существующая модель включает эти элементы модели и сконфигурирована с определениями на основе пакетов, Simulink ссылается на пакет из словаря Embedded Coder Dictionary. Если модель связана со словарем данных Simulink, Simulink использует Embedded Coder Dictionary в словаре данных для ссылки на пакет.
При изменении требований к сгенерированному коду может потребоваться обновить определения кода в соответствии с последними стандартами интерфейса. Изменение или удаление определения кода может повлиять на модели, использующие определение кода. При внесении изменений в определения кодов оцените влияние изменений. Затем разверните изменения и исправьте затронутые точки использования.
Чтобы внести изменения в определения в пакете, используйте конструктор настраиваемых классов хранения. Дополнительные сведения см. в разделе Создание классов хранения с помощью пользовательского конструктора классов хранения.
Чтобы внести изменения в определения в словаре встроенного кодера, выполните следующие действия.
Используйте инструмент Embedded Coder Dictionary, как описано в разделе Embedded Coder Dictionary.
Используйте сценарий, как описано в разделе Программное создание определений кода. Можно написать сценарий для автоматического изменения многих определений кода в словаре встроенного кодера.
При сохранении словаря встроенного кодера в словаре данных Simulink сохраните словарь данных после обновления определений кода.
В зависимости от места хранения определения кода изменение или удаление определения может привести к разрыву точек использования. В этой таблице показано влияние различных изменений в зависимости от расположения определения. Проверьте, влияют ли изменения на точки использования, и исправьте их, выполнив соответствующие обновления.
| Изменения определения | Склад | Обновления |
|---|---|---|
| Изменение имени определения | Пакет | Для раздела памяти обновите другие определения в пакете, которые используют раздел памяти. В конструкторе пользовательских классов хранения укажите имя нового раздела памяти. |
| Для класса хранения обновите объекты данных, использующие класс хранения. Укажите новое имя класса хранения для объекта данных. | ||
| В словарях встроенного кодера, ссылающихся на пакет, обновите его. | ||
В моделях, использующих определение в сопоставлениях кодов, укажите новое имя определения. Используйте редактор сопоставлений кода или сценарий, в котором используется coder.mapping.api.CodeMapping объект. | ||
| Словарь встроенного кодера | Ничего | |
| Изменение свойств определения | Пакет | В словарях встроенного кодера, ссылающихся на пакет, обновите его. |
| Словарь встроенного кодера | Ничего | |
| Удаление определения | Пакет | Для раздела памяти обновите другие определения в пакете, которые используют раздел памяти. В конструкторе пользовательских классов хранения укажите другой раздел памяти или не укажите раздел памяти. |
| Для класса хранения обновите объекты данных, использующие класс хранения. Укажите другой класс хранения или нет класса хранения для объекта данных. | ||
| В словарях встроенного кодера, ссылающихся на пакет, обновите его. | ||
| В моделях, использующих определение в сопоставлениях кода, укажите другой класс хранения или не указывайте класс хранения. Используйте редактор сопоставлений кода или сценарий. | ||
| Словарь встроенного кодера | Для раздела памяти обновите другие определения в словаре, которые используют раздел памяти. Укажите другой раздел памяти или нет раздела памяти. Используйте либо словарь встроенного кодера, либо сценарий. | |
| В моделях, использующих определение в сопоставлениях кода, укажите другой класс хранения или не указывайте класс хранения. Используйте редактор сопоставлений кода или сценарий. | ||
| Добавление определения | Пакет | В словарях встроенного кодера, ссылающихся на пакет, обновите его. |
| Словарь встроенного кодера | Ничего |