exponenta event banner

Проверка компонентов

С помощью проверки компонентов можно протестировать конструкторский компонент в модели с помощью одного из следующих подходов:

  • Анализ системы. В контексте модели, содержащей компонент, используется систематическое моделирование контроллеров с замкнутым контуром для проверки компонентов в модели системы управления. Затем можно протестировать алгоритмы управления с помощью модели.

  • Анализ компонентов. В качестве автономных компонентов для высокого уровня уверенности в алгоритме компонентов проверьте компонент в изоляции от остальной части системы.

    Проверка автономных компонентов обеспечивает несколько преимуществ:

    • Анализ можно использовать для сосредоточения внимания на тех частях конструкции, которые невозможно проверить из-за физических ограничений контролируемой системы.

    • Для моделирования с разомкнутым контуром можно протестировать модель завода без управления обратной связью.

    • Этот подход можно использовать в тех случаях, когда модель еще не доступна или когда необходимо смоделировать модель системы управления в ускоренном режиме по причинам производительности.

Средства покрытия Simulink для проверки компонентов

Изолируя компонент для проверки и используя инструменты, предоставляемые программным обеспечением Simulink ® Coverage™, вы создаете тестовые примеры для расширения области тестирования для больших моделей. Вы можете:

  • Достижение 100% покрытия модели - если некоторые компоненты модели не регистрируют 100% покрытия, модель верхнего уровня не может достичь 100% покрытия. Проверяя эти компоненты по отдельности, можно создать тестовые примеры, которые полностью определяют интерфейс компонента, позволяя компоненту записывать 100% покрытия.

  • Отладка компонента (Debug the component) - чтобы убедиться, что каждый компонент модели удовлетворяет указанным требованиям к конструкции, можно создать тестовые примеры, которые проверяют, что определенные компоненты работают так, как они были разработаны.

  • Проверка надежности компонента - чтобы убедиться, что компонент правильно обрабатывает неожиданные входные данные и вычисления, можно создать тестовые примеры, генерирующие данные. Затем протестируйте возможности обработки ошибок в компоненте.

Поток операций для проверки компонентов

На этом рисунке показаны два подхода к проверке компонентов.

  1. Выберите подход для проверки компонентов:

    • Для моделирования с замкнутым контуром проверьте компонент в контексте его модели контейнера, записав сигналы в этот компонент и сохранив их в файле данных. Если эти сигналы не составляют полный набор тестов, создайте модель электрического жгута и добавьте или измените контрольные примеры в построителе сигналов.

    • Для моделирования с разомкнутым контуром проверьте компонент независимо от модели контейнера путем извлечения компонента из модели контейнера и создания модели электрического жгута для извлеченного компонента. Добавьте или измените тестовые примеры в построителе сигналов и запишите сигналы в компонент модели кабельных трасс.

  2. Подготовка компонента к проверке.

  3. Создание и регистрация тестовых случаев. Можно также объединить данные тестового случая в один файл данных.

    Файл данных содержит данные тестового случая для моделирования компонента. Если невозможно достичь ожидаемых результатов с определенным набором тестовых примеров, добавьте новые тестовые примеры или измените существующие тестовые примеры в файле данных. Объедините тестовые примеры в один файл данных.

    Продолжайте добавлять или изменять тестовые примеры до тех пор, пока не будет достигнут набор тестов, соответствующий целям анализа.

  4. Выполните тесты в режиме «программное обеспечение в контуре» или «процессор в контуре».

  5. После получения полного набора тестов можно:

    • Смоделировать модель и выполнить тесты для:

      • Рекордное покрытие.

      • Запишите выходные значения для получения ожидаемых результатов.

    • Вызовите API Code Generation Verification (CGV), чтобы выполнить сгенерированный код для модели, содержащей компонент в режиме моделирования, программного обеспечения в цикле (SIL) или процессора в цикле (PIL).

      Примечание

      Для выполнения модели в различных режимах выполнения используется API CGV для проверки числовой эквивалентности результатов. См. раздел Проверка генерации программного кода (встроенный кодер).

Проверка компонента независимо от модели контейнера

Используйте анализ компонентов для проверки:

  • Блоки модели

  • Атомные подсистемы

  • Атомные подшарты Stateflow ®

  1. В зависимости от типа компонента выполните одно из следующих действий.

    • Блоки модели - открытие ссылочной модели.

    • Атомарные подсистемы - Извлеките содержимое подсистемы в собственную модель Simulink.

    • Атомарные подшаблоны - извлечение содержимого атомарного подшаблона Stateflow в собственную модель Simulink.

  2. Создание модели кабельных трасс для:

    • Ссылочная модель

    • Извлеченная модель, содержащая содержимое атомной подсистемы или атомной подшарницы

  3. Добавьте или измените контрольные примеры в построителе сигналов модели кабельных трасс.

  4. Запишите входные сигналы из Signal Builder в блок тестирования.

  5. Повторяйте шаги 3 и 4 до тех пор, пока набор тестов не будет удовлетворен.

  6. Объедините данные тестового случая в один файл.

  7. В зависимости от целей, выполните одно из следующих действий:

    • Выполните тесты для:

      • Рекордное покрытие.

      • Запишите выходные значения и убедитесь, что они равны ожидаемым значениям.

    • Вызовите API Code Generation Verification (CGV) для выполнения тестовых примеров в режиме программного обеспечения в цикле (SIL) или в режиме процессора в цикле (PIL) для сгенерированного кода модели, содержащей компонент.

Если тестовые примеры не достигают ожидаемых результатов, повторите шаги 3- 5.

Проверка блока модели в контексте модели контейнера

Используйте анализ системы для:

  • Проверьте блок Model в контексте модели контейнера блока.

  • Анализ контроллера с замкнутым контуром.

  1. Запишите входные сигналы в компонент путем моделирования модели контейнера или проанализируйте модель с помощью программного обеспечения Simulink Design Verifier™.

  2. Если требуется добавить тестовые примеры в набор тестов или изменить существующие тестовые примеры, создайте модель электрического жгута с зарегистрированными сигналами.

  3. Добавьте или измените контрольные примеры в построителе сигналов в модели кабельных трасс.

  4. Запишите входные сигналы из Signal Builder в блок тестирования.

  5. Повторяйте шаги 3 и 4 до тех пор, пока набор тестов не будет удовлетворен.

  6. Объедините данные тестового случая в один файл.

  7. В зависимости от целей выполните одно из следующих действий.

    • Выполните тесты для:

      • Рекордное покрытие.

      • Запишите выходные значения и убедитесь, что они равны ожидаемым значениям.

    • Вызовите API Code Generation Verification (CGV) для выполнения тестовых примеров в режиме программного обеспечения в цикле (SIL) или в режиме процессора в цикле (PIL) для сгенерированного кода модели.

Если тестовые примеры не достигают ожидаемых результатов, повторите шаги 3- 5.