Когда вы собираете требования для системы, вы идентифицируете компоненты модели. Можно определить, где существуют интерфейсы компонентов, даже с неполными спецификациями.
Чтобы задать компоненты модели, не влияя на результаты симуляции и задавая интерфейс, который может измениться, можно создать подсистемы и визуально организовать модель.
Некоторые компоненты, такие как цифровые контроллеры, должны выполняться как один модуль в модели. Для этих автономных компонентов с известными контурами можно использовать атомарную подсистему. Определение атомарных компонентов заранее препятствует дорогостоящему рефакторингу, когда вы хотите сгенерировать автономный код.
Модель ex_modeling_components
содержит четыре общих компонента модели.
Механическая Система - Масса, отделенная от поверхности, пружина и демпфер
Контроллер - Алгоритм, который управляет движением механической системы
Оператор - Логика, которая определяет команды, отправляемые контроллеру
Окружение - Внешние возмущения, которые влияют на механическую систему
Более толстый вес линии на блоке Controller указывает, что контроллер является атомарной подсистемой.
Порты на каждом из блоков Subsystem соответствуют входным и выходным блокам в подсистеме. На метке блока отображается имя соответствующего порта. Для примера, блок Inport помечен disturbance
соответствует disturbance
порт блока Механическая система.
Четыре компонента модели взаимодействуют, чтобы определить положение массы.
Контроллер вычисляет силу , требуемую для перемещения механической системы свое целевое положение.
Оператор определяет целевое положение массы и реализует связанную процедурную логику с графиком Stateflow ®.
Это окружение генерирует нарушение порядка силу, которая влияет на механическую систему.
Во время симуляции оператор говорит контроллеру подождать 2 секунды, затем перемещает массу вверх на 2 метра. Когда масса перерегулирует положение цели, оператор предписывает контроллеру расположить массу на 1 метр выше ее исходного положения. Через 5 секунд нарушение порядка окружающей среды прикладывает устойчивую силу к физической системе, и контроллер реагирует, чтобы стабилизировать массу в положении цели.