Идентификатор: Заголовок | hisl_0013: Использование блоков хранилища данных | ||
---|---|---|---|
Описание | Чтобы поддержать детерминированное поведение через различные шаги расчета или модели при использовании блоков хранилища данных, включая Data Store Memory, Data Store Read и Data Store Write: | ||
В диалоговом окне Configuration Parameters на панели Diagnostics > Data Validity установите эти параметры Data Store Memory равными
| |||
Примечания | Использование блоков памяти хранилища данных может оказать значительное влияние на усилия по верификации программного обеспечения. Модели и подсистемы, которые используют только входные и выходные порты для прохождения данных, обеспечивают непосредственно отслеживаемый интерфейс, упрощая процесс верификации. Чтобы обеспечить детерминированную передачу данных между различными скоростями и задачами, используйте блоки Rate Transition до блоков Data Store Write или после блоков Data Store Read. В дополнение к диагностике можно более точно обнаружить нарушения доступа к памяти хранилища данных в модели с помощью Simulink® Design Verifier™. Для этого на вкладке Design Verifier выберите Settings. В диалоговом окне Параметры конфигурации на панели Design Verifier > Design Error Detection выберите Data store access violations. Для получения дополнительной информации смотрите Обнаружение нарушений доступа к хранилищу данных в модели (Simulink Design Verifier). Требуется лицензия Simulink Design Verifier. | ||
Объяснение | Поддержка допустимых значений данных для различных шагов расчета или моделей. Предотвратите непреднамеренное повреждение данных. | ||
Проверки Model Advisor | Проверьте параметры диагностики, связанные с безопасностью, для памяти хранилища данных (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 находится перед блоком Data Store Write, используйте унаследованный шаг расчета для блоков. |
Идентификатор: Заголовок | hisl_0015: Использование блоков слияния | ||
---|---|---|---|
Описание | Чтобы поддержать однозначное поведение из блоков Merge, | ||
A | Используйте блоки Merge только с условно выполненными подсистемами. | ||
B | Задайте выполнение условно выполненных подсистем таким образом, чтобы только одна подсистема выполнялась в течение временного шага. | ||
C | Очистить параметры блоков Allow unequal port widths. | ||
D | Установите значение Outport параметров блоков Output when disabled held для каждой условно выполняемой объединяемой подсистемы. | ||
Примечания | Simulink объединяет входы блока Merge в один выход. Выходное значение в любой момент равно последнему вычисленному выходу блоков, которые управляют блоком Merge. Поэтому выход блока Merge зависит от порядка выполнения входных расчетов. Чтобы обеспечить предсказуемое поведение выхода блока Merge, вы должны иметь взаимное исключение между условно выполненными подсистемами, питающими блок Merge. Merge параметров блоков Allow unequal port widths доступна только, когда параметр конфигурации <reservedrangesplaceholder1> задано значение Classic | ||
Необходимые условия | hisl_0303: Параметры конфигурации > Диагностика > Объединить блок hisl_0304: Параметры конфигурации > Диагностика > Инициализация модели | ||
Объяснение | A, B, C, D | Избегайте однозначного поведения. | |
Проверки Model Advisor | Проверяйте использование блоков слияния (Simulink Check) | ||
Ссылки |
| ||
См. также | Merge блок в документации Simulink | ||
Последнее изменение | R2018b | ||
Примеры |
Рекомендуется | ||
Не рекомендуется |
Идентификатор: Заголовок | hisl_0021: последовательный метод индексирования векторов | ||
---|---|---|---|
Описание | В модели используйте: | ||
A | Последовательный метод индексирования векторов. Поддерживает конфигурируемую индексацию:
Поддержка только индексации на одной основе:
Поддерживает только индексацию с нулем:
| ||
Объяснение | A | Уменьшите риск введения ошибок из-за несогласованной индексации. | |
Проверки Model Advisor | Проверяйте на несогласованность методов индексирования векторов (Simulink Check) | ||
Ссылки |
| ||
См. также | cgsl_0101: индексация на основе нуля | ||
Последнее изменение | R2019a |
Идентификатор: Заголовок | hisl_0022: Выбор типа данных для сигналов индекса | ||
---|---|---|---|
Описание | Для сигналов индекса используйте: | ||
A | Целое число или перечисленный тип данных | ||
B | Тип данных, который охватывает область значений индексированных значений. | ||
Блоки, которые используют индекс сигнала, включают:
| |||
Объяснение | A | Предотвратите неожиданные результаты, которые могут возникнуть при операциях округления для типов данных с плавающей точкой. | |
B | Включите доступ к данным в векторе. | ||
Проверки Model Advisor | Проверяйте типы данных для блоков с сигналами индекса (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2018b |
Идентификатор: Заголовок | hisl_0023: Верификация вариантов блоков | ||
---|---|---|---|
Описание | При проверке, что модель соответствует сгенерированному коду, выполните следующее: | ||
A | Для каждого блока Variant Model очистите Generate preprocessor conditionals параметров блоков. | ||
B | Для каждого блока Variant Subsystem установите Variant activation time равным update diagram . | ||
C | Проверьте комбинации вариантов модели, которые могут быть активны в сгенерированном коде. | ||
Объяснение | A, B | Упростите проверку согласованности между моделью и сгенерированным кодом, ограничив основу кода одним вариантом. | |
C | Проверьте, что проверка согласованности между моделью и сгенерированным кодом завершена для вариантов. | ||
Проверки Model Advisor | Проверяйте использование вариантов блоков (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2017b |
Идентификатор: Заголовок | hisl_0034: Использование блоков Signal Routing | |
---|---|---|
Описание | При использовании Switch блоков избегайте сравнений с помощью | |
Примечание | Из-за проблем с точностью с плавающей точностью не проверяйте выражения с плавающей точкой на неравенство ( Когда модель содержит Switch блок, вычисляющий реляционный оператор с | |
Объяснение | Улучшите робастность модели. | |
Проверки Model Advisor | Проверяйте использование блоков Signal Routing (Simulink Check) | |
Ссылки |
| |
Последнее изменение | R2021a | |
Примеры | Не рекомендуется Рекомендуется |