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