| Идентификатор: Заголовок | hisl_0013: Использование блоков хранения данных | ||
|---|---|---|---|
| Описание | Для поддержки детерминированного поведения в различных типах или моделях при использовании блоков хранения данных, включая память хранилища данных, чтение хранилища данных и запись хранилища данных: | ||
В диалоговом окне «Параметры конфигурации» на панели «Диагностика» > «Валидность данных» задайте для этих параметров памяти хранилища данных значение
| |||
| Примечания | Использование блоков памяти хранилища данных может оказать значительное влияние на процесс проверки программного обеспечения. Модели и подсистемы, использующие только входы и выходы для передачи данных, обеспечивают непосредственно отслеживаемый интерфейс, упрощая процесс проверки. Чтобы обеспечить детерминированную передачу данных между различными скоростями и задачами, используйте блоки Rate Transition перед блоками записи хранилища данных или после блоков чтения хранилища данных. Помимо диагностики, с помощью Simulink ® Design Verifier™ можно более точно обнаружить нарушения доступа к памяти хранилища данных в модели. Для этого на вкладке «Проверка проекта» выберите «Параметры». В диалоговом окне «Параметры конфигурации» на панели «Design Verifier > Design Error Detection» выберите «Нарушения доступа к хранилищу данных». Дополнительные сведения см. в разделе Обнаружение нарушений доступа к хранилищу данных в модели (Simulink Design Verifier). Требуется лицензия Simulink Design Verifier. | ||
| Объяснение | Поддержка непротиворечивых значений данных для различных образцов времени или моделей. Предотвращение непреднамеренного повреждения данных. | ||
| Проверки помощника по модели | Проверка параметров диагностики, связанных с безопасностью, для памяти хранилища данных (Simulink Check) | ||
| Ссылки |
| ||
| Последнее изменение | R2020b | ||
| Примеры | Следующие примеры используют блоки Rate Transition для обеспечения детерминированной передачи данных между различными скоростями и задачами. Для быстрых-медленных переходов: Установите скорость медленного времени выборки в блоке «Rate Transition» или в блоке «Data Store Write».
Не помещайте блок «Rate Transition» после блока «Data Store Read».
Для медленно-быстрых переходов: Если блок «Rate Transition» следует за блоком «Data Store Read», укажите медленную скорость в блоке «Data Store Read».
Если блок Rate Transition находится перед блоком записи хранилища данных, используйте наследуемое время выборки для блоков.
| ||
| Идентификатор: Заголовок | hisl_0015: Использование блоков объединения | ||
|---|---|---|---|
| Описание | Для поддержки однозначного поведения блоков слияния | ||
| A | Используйте блоки Merge только с условно выполненными подсистемами. | ||
| B | Укажите выполнение условно выполняемых подсистем так, чтобы в течение временного шага выполнялась только одна подсистема. | ||
| C | Параметр clear block Разрешить неравную ширину порта. | ||
| D | Установите для параметра Outport block Output when disabled значение held для каждой объединяемой условно выполняемой подсистемы. | ||
| Примечания | Simulink объединяет входы блока Merge в один выход. Выходное значение в любой момент времени равно последнему вычисленному выходу блоков, которые управляют блоком объединения. Следовательно, выход блока объединения зависит от порядка выполнения входных вычислений. Чтобы обеспечить предсказуемое поведение вывода блока слияния, необходимо иметь взаимное исключение между условно выполненными подсистемами, питающими блок слияния. Параметр блока объединения Разрешить неравную ширину порта доступен только в том случае, если параметр конфигурации Недостаточно указанное обнаружение инициализации имеет значение | ||
| Предпосылки | hisl_0303: Параметры конфигурации > Диагностика > Объединить блок hisl_0304: Параметры конфигурации > Диагностика > Инициализация модели | ||
| Объяснение | A, B, C, D | Избегайте однозначного поведения. | |
| Проверки помощника по модели | Проверка использования блоков объединения (Simulink Check) | ||
| Ссылки |
| ||
| См. также | Объединить блок в документации Simulink | ||
| Последнее изменение | R2018b | ||
| Примеры |
Рекомендуется
| ||
Не рекомендуется
| |||
| Идентификатор: Заголовок | hisl_0021: Согласованный метод векторной индексации | ||
|---|---|---|---|
| Описание | В модели используйте: | ||
| A | Согласованный метод векторной индексации. Поддерживает настраиваемое индексирование:
Поддержка индексирования только на одной основе:
Поддерживает только индексирование на основе нуля:
| ||
| Объяснение | A | Уменьшите риск появления ошибок из-за несогласованности индексирования. | |
| Проверки помощника по модели | Проверка несогласованности методов векторной индексации (Simulink Check) | ||
| Ссылки |
| ||
| См. также | cgsl_0101: Индексация на основе нуля | ||
| Последнее изменение | R2019a | ||
| Идентификатор: Заголовок | hisl_0022: Выбор типа данных для индексных сигналов | ||
|---|---|---|---|
| Описание | Для индексных сигналов используйте: | ||
| A | Целочисленный или перечисляемый тип данных | ||
| B | Тип данных, охватывающий диапазон индексированных значений. | ||
Блоки, использующие индекс сигнала, включают в себя:
| |||
| Объяснение | A | Предотвращение непредвиденных результатов, которые могут возникнуть при выполнении операций округления для типов данных с плавающей запятой. | |
| B | Разрешить доступ к данным в векторе. | ||
| Проверки помощника по модели | Проверка типов данных для блоков с индексными сигналами (Simulink Check) | ||
| Ссылки |
| ||
| Последнее изменение | R2018b | ||
| Идентификатор: Заголовок | hisl_0023: Проверка блоков вариантов | ||
|---|---|---|---|
| Описание | При проверке соответствия модели сгенерированному коду выполните следующие действия. | ||
| A | Для каждого блока «Модель исполнения» снимите флажок «Создать условия препроцессора». | ||
| B | Для каждого блока Variant Subsystem установите для параметра Variant activation значение update diagram. | ||
| C | Проверьте комбинации вариантов модели, которые могут быть активными в сгенерированном коде. | ||
| Объяснение | A, B | Упрощение проверки непротиворечивости между моделью и сгенерированным кодом путем ограничения базы кода одним вариантом. | |
| C | Убедитесь, что проверка непротиворечивости между моделью и сгенерированным кодом завершена для вариантов. | ||
| Проверки помощника по модели | Проверка использования блоков вариантов (Simulink Check) | ||
| Ссылки |
| ||
| Последнее изменение | R2017b | ||
| Идентификатор: Заголовок | hisl_0034: Использование блоков маршрутизации сигналов | |
|---|---|---|
| Описание | При использовании блоков Switch избегайте сравнений с помощью | |
| Примечание | Из-за проблем с точностью с плавающей запятой не проверяйте выражения с плавающей запятой на неравенство ( Когда модель содержит блок Switch, вычисляющий реляционный оператор с помощью | |
| Объяснение | Повышение надежности модели. | |
| Проверки помощника по модели | Проверка использования блоков маршрутизации сигналов (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2021a | |
| Примеры | Не рекомендуется
Рекомендуется
| |