| ID: Заголовок | hisl_0013: Использование блоков хранилища данных | ||
|---|---|---|---|
| Описание | Поддерживать детерминированное поведение через различные частоты дискретизации или модели при использовании блоков хранилища данных, включая Память Хранилища данных, Чтение Хранилища данных и Запись Хранилища данных: | ||
| A | В диалоговом окне Configuration Parameters на Диагностике> панель Законности Данных, под Блоком памяти Хранилища данных, установила следующие параметры на
| ||
| B | Избегайте чтений хранилища данных и записей, которые происходят через контуры атомарной подсистемы и подсистему модели. | ||
| C | Избегайте использования хранилищ данных, чтобы записать и считать данные на различных уровнях, потому что различные уровни могут привести к противоречивым обменам данными. Чтобы обеспечить детерминированные данные, связывающиеся в системах мультиуровня, используйте блоки Перехода Уровня перед блоками Записи Хранилища данных, или после блоков Чтения Хранилища данных. | ||
| Примечания | Алгоритм сортировки в Simulink® не учитывает данные, связывающиеся между моделями и атомарными подсистемами. Используя хранилище данных блоки памяти могут оказать значительное влияние на ваше усилие по верификации программного обеспечения. Модели и подсистемы, которые используют только импорт и выходные порты, чтобы передать данные, обеспечивают непосредственно прослеживаемый интерфейс, упрощая процесс проверки. | ||
| Объяснение | A, B, C | Поддержите сопоставимые значения данных через различные частоты дискретизации или модели. | |
| Образцовые проверки советника |
Для получения дополнительной информации смотрите Проверку связанные с безопасностью диагностические настройки для памяти хранилища данных. | ||
| Ссылки |
| ||
| В последний раз измененный | R2017b | ||
| Примеры | Следующие примеры используют блоки Перехода Уровня, чтобы обеспечить детерминированные данные, связывающиеся в системах мультиуровня
| ||
| ID: Заголовок | hisl_0015: Использование блоков Слияния | ||
|---|---|---|---|
| Описание | Поддерживать однозначное поведение от блоков Слияния, | ||
| A | Используйте блоки Слияния только с условно выполняемыми подсистемами. | ||
| B | Задайте выполнение условно выполняемых подсистем, таким образом, что только одна подсистема выполняется во время временного шага. | ||
| C | Очиститесь параметр блока Merge Позволяют неравные ширины порта. | ||
| D | Установите параметр блока Outport Вывод, когда отключено к held для каждой условно выполняемой объединяемой подсистемы. | ||
| Примечания | Simulink комбинирует входные параметры блока Merge в единственный вывод. Выходное значение в любое время равно последний раз вычисленному выводу блоков, которые управляют блоком Merge. Поэтому блок Merge вывод зависит от порядка выполнения входных вычислений. Чтобы обеспечить предсказуемое поведение блока Merge вывод, у вас должно быть взаимное исключение между условно выполняемыми подсистемами, подающими блок Merge. Блочный параметр слияния Позволяет неравные ширины порта, только доступно, когда параметр конфигурации обнаружение инициализации Underspecified установлен в | ||
| Предпосылки | hisl_0303: блок Configuration Parameters> Diagnostics> Merge hisl_0304: Параметры конфигурации> Диагностика> Образцовая инициализация | ||
| Объяснение | A, B, C, D | Избегайте однозначного поведения. | |
| Образцовые проверки советника |
Для получения дополнительной информации проверки смотрите использование Проверки блоков Слияния. | ||
| Ссылки |
| ||
| Смотрите также | Объедините блок в документации Simulink | ||
| В последний раз измененный | R2018b | ||
| Примеры | Рекомендуемый
| ||
Не рекомендуемый
| |||
| ID: Заголовок | hisl_0021: Сопоставимый векторный метод индексирования | ||
|---|---|---|---|
| Описание | В модели используйте: | ||
| A |
Сопоставимый векторный метод индексирования для всех блоков. Блоки, для которых необходимо установить метод индексирования, включают:
| ||
| Объяснение | A | Снизьте риск представления ошибок из-за противоречивой индексации. | |
| Образцовые проверки советника |
Для получения дополнительной информации проверки смотрите Проверку на противоречивые векторные методы индексирования. | ||
| Ссылки |
| ||
| Смотрите также | cgsl_0101: основанная на нуле индексация | ||
| В последний раз измененный | R2016a | ||
| ID: Заголовок | hisl_0022: выбор Типа данных для индексных сигналов | ||
|---|---|---|---|
| Описание | Для индексных сигналов используйте: | ||
| A | Целое число или перечисленный тип данных | ||
| B | Тип данных, который покрывает область значений индексируемых значений. | ||
Блоки, которые используют индекс сигнала, включают:
| |||
| Объяснение | A | Предотвратите неожиданные результаты, которые могут произойти при округлении операций для типов данных с плавающей точкой. | |
| B | Включите доступ к данным в векторе. | ||
| Образцовые проверки советника |
Для получения дополнительной информации проверки смотрите типы данных Проверки для блоков с индексными сигналами. | ||
| Ссылки |
| ||
| В последний раз измененный | R2018b | ||
| ID: Заголовок | hisl_0023: Верификация модели и вариантов подсистемы | ||
|---|---|---|---|
| Описание | При проверке, что модель сопоставима со сгенерированным кодом, сделайте следующее: | ||
| A | Для каждого блока Model Variant проверьте, что блочный параметр Генерирует условные выражения препроцессора, очищен. | ||
| B | Для каждого блока Variant Subsystem проверьте, что блочный параметр Анализирует весь выбор во время схемы обновления и генерирует условные выражения препроцессора, очищен. | ||
| C | Проверьте все комбинации образцовых вариантов, которые могут быть активными в сгенерированном коде. | ||
| Объяснение | A, B | Упростите тестирование непротиворечивости между образцовым и сгенерированным кодом путем ограничения кодовой базы единственным вариантом. | |
| C | Убедитесь, что тестирование непротиворечивости между образцовым и сгенерированным кодом завершено для всех вариантов. | ||
| Образцовые проверки советника |
Для получения дополнительной информации проверки смотрите, что Проверка на различные блоки с 'Генерирует условные выражения препроцессора', активные. | ||
| Ссылки |
| ||
| В последний раз измененный | R2017b | ||
| ID: Заголовок | hisl_0034: Использование блоков Маршрутизации Сигнала | |
|---|---|---|
| Описание | Поддерживать робастность операций при использовании блоков switch: | |
| A | Избегайте сравнений с помощью оператора | |
| Примечание | Из-за проблем точности с плавающей точкой, не тестируйте выражения с плавающей точкой на неравенство ( Когда модель содержит блок switch, вычисляя оператор отношения с оператором | |
| Объяснение | A | Улучшите образцовую робастность. |
| Образцовые проверки советника |
Для получения дополнительной информации проверки смотрите использование Проверки блоков Маршрутизации Сигнала. | |
| Ссылки |
| |
| В последний раз измененный | R2017b | |