ID: Заголовок | hisl_0013: Использование блоков хранилища данных | ||
---|---|---|---|
Описание | Поддерживать детерминированное поведение через различные шаги расчета или модели при использовании блоков хранилища данных, включая Data Store Memory, Data Store Read и Data Store Write: | ||
A | В диалоговом окне Configuration Parameters, на Diagnostics> панель Data Validity, устанавливает параметры Data Store Memory block на
| ||
B | Избегайте чтений хранилища данных и записей, которые происходят через контуры атомарной подсистемы и подсистему модели. | ||
C | Избегайте использования хранилищ данных, чтобы записать и считать данные на различных уровнях, потому что различные уровни могут привести к противоречивым обменам данными. Чтобы обеспечить детерминированные данные, связывающиеся в многоскоростных системах, используйте блоки Rate Transition перед блоками Data Store Write, или после блоков Data Store Read. | ||
Примечания | Алгоритм сортировки в Simulink® не учитывает данные, связывающиеся между моделями и атомарными подсистемами. Используя хранилище данных блоки памяти могут оказать значительное влияние на ваше усилие по верификации программного обеспечения. Модели и подсистемы, которые используют только импорт и выходные порты, чтобы передать данные, обеспечивают непосредственно прослеживаемый интерфейс, упрощая процесс проверки. | ||
Объяснение | A, B, C | Поддержите сопоставимые значения данных через различные шаги расчета или модели. | |
Проверки Model Advisor |
Для получения дополнительной информации смотрите Проверку связанные с безопасностью диагностические настройки для памяти хранилища данных (Simulink Check). | ||
Ссылки |
| ||
В последний раз измененный | R2017b | ||
Примеры | Следующие примеры используют блоки Rate Transition, чтобы обеспечить детерминированные данные, связывающиеся в многоскоростных системах
|
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 | Для каждого блока Model Variant очистите параметры блоков Generate preprocessor conditionals. | ||
B | Для каждого блока Variant Subsystem очистите параметры блоков Analyze all choices during update diagram and generate preprocessor conditionals. | ||
C | Проверьте комбинации вариантов модели, которые могут быть активными в сгенерированном коде. | ||
Объяснение | A, B | Упростите тестирование непротиворечивости между типовым кодексом и сгенерированным кодом путем ограничения кодовой базы одним вариантом. | |
C | Проверьте, что тестирование непротиворечивости между типовым кодексом и сгенерированным кодом завершено для вариантов. | ||
Проверки Model Advisor |
Для получения дополнительной информации проверки смотрите, что Проверка на различные блоки с 'Генерирует условные выражения препроцессора', активные (Simulink Check). | ||
Ссылки |
| ||
В последний раз измененный | R2017b |
ID: Заголовок | hisl_0034: Использование блоков Маршрутизации Сигнала | |
---|---|---|
Описание | При использовании блоков Switch избегайте сравнений с помощью | |
Примечание | Из-за проблем точности с плавающей точкой, не тестируйте выражения с плавающей точкой на неравенство ( Когда модель содержит блок Switch, вычисляя оператор отношения с | |
Объяснение | Улучшите робастность модели. | |
Проверки Model Advisor |
Для получения дополнительной информации проверки смотрите использование Проверки блоков Маршрутизации Сигнала (Simulink Check). | |
Ссылки |
| |
В последний раз измененный | R2017b |