У меня есть довольно большая модель системы гидропневматической, состоящая примерно из 20-25 различных подсистем. Каждая из подсистем затем состоит из цифровой логики, блоков задержки по фронту и шлюза к внешним выходным портам (выходы реального мира). Кроме того, некоторые из небольших строительных блоков являются старым кодом C, импортированным как S-функции, чтобы максимизировать соотношение затрат и выгод. Каждая из моделей подтипов была разработана в SIMULINK с использованием базового блока, т. Е. Не использовались дополнительные коммерческие блоки (например, аэрокосмическая, simscape, simMechanics и т. Д.).Unit-тестирование и тестирование интеграции для большой или средней Сложности системы Модели в SIMULINK
Основная проблема заключается в том, что у меня недостаточно знаний о тестировании моделей в SIMULINK. Я знаю, что существует индивидуальная модульная система тестирования, которую Mathworks предоставляет для тестирования и проверки. Беда в том, что я не совсем уверен, как это будет иметь отношение к моему домену. Кроме того, мои подсистемы довольно сложны сами, и модульное тестирование каждого из них - кошмар. НО, если тестирование черного ящика с входами и выходами является единственным способом, так и быть, и я с удовольствием согласен с этим.
Хотя мой вопрос заключается в тестировании крупномасштабных и сложных систем в SIMULINK, моя цель - получить предложения от опытных пользователей SIMULINK, которые сделали это в прошлом, и будут делать это много в будущем. Раньше я тестировал модульные тесты на SIMULINK, но все те тесты, которые не были даже вблизи моего правильного дизайна.
Любая помощь будет оценена!
UPDATE SINCE @ PHILGODDARD'S КОММЕНТАРИИ
Я забыл упомянуть выше, что я знаком с ЛВЖ и PIL. Тем не менее, они действительны только тогда, когда у вас есть целевая платформа реального времени, доступная для тестирования циклов. Что делать, если кто-то хочет проводить мягкое тестирование в режиме реального времени?
Я жду, чтобы пройти через широкомасштабный веб-семинар по тестированию системы Mathworks через день или два. С надеждой, я могу получить несколько лучших ответов/предложений через это?
UPDATE SINCE @ КОММЕНТАРИИ AM304 в
Для уточнения контекста немного дальше, мы моделируем все взаимодействующие системы в программном обеспечении, без привлечения каких-либо физических устройств, то есть моделирование и моделирование всех систем в программном обеспечении, с выходами быть отображаются на терминалах оператора/инструктора ..... например у нас есть электрические, кондиционеры и гидропневматические системы, работающие вместе, но мы смоделировали их в программном обеспечении. поэтому, когда мы имитируем его, все необходимые сигналы генерируются из поведения моделей программного обеспечения, никакое фактическое аппаратное/физическое устройство не участвует в доставке этих поведенческих выходов.
Первое, что я хотел бы сделать, это разбить модель (если возможно) на отдельные модели; объединяя их на самом высоком уровне с использованием блоков модели. Это облегчит запись тестовых примеров (т. Е. Разработку отдельных тестовых моделей) для каждого из отдельных компонентов. К сожалению, нет волшебной пули для создания тестовых моделей (но тон вашего сообщения, похоже, указывает на то, что вы знаете об этом). –
@PhilGoddard Как вы думаете, HIL или PIL является приемлемым, но довольно дорогостоящим ответом на тестирование крупномасштабной системы? – ha9u63ar
@PhilGoddard А также, если вы посмотрите на мое описание проблемы, вся система разбита на подсистемные модели. Те требуют тестирования. Разве это не то, что вы предлагаете? Или я пропущу вашу мысль? – ha9u63ar