Этот пример показывает модель физической системы и контроллер, сконфигурированный для Программное-аппаратного тестирования. Это выведено от примера Гидравлический Привод с Цифровым Контроллером Положения, ssc_hydraulic_actuator_digital_control. Модель была сконфигурирована для Программное-аппаратного тестирования путем выполнения следующих шагов:
1. Сделайте дискретное время контроллера: блок Transport Delay заменяется блоком Unit Delay. Это представляет худшую задержку случая, посредством чего требуется целое вычислительное время кадра для выходного u контроллера, который будет обновлен на основе текущих входных значений для r и y. Нулевой порядок Содержит блоки, добавляются ко всем аналоговым измерениям (ZOHr и ZOHy), чтобы представлять цифровое сэмплирование непрерывных измерений времени. Сам контроллер должен быть сделан дискретным временем, таким образом, непрерывный фильтр первого порядка времени, преобразованный в фильтр дискретного времени с помощью преобразования Тастина. В этом примере дискретный шаг расчета сделан параметром, преимуществом этого существа, которое это может быть легко настроено при необходимости, чтобы гарантировать, вычисления контроллера не вызывают превышенное время кадра.
2. Раздел каждый компонент HIL в его собственную подсистему. Гидравлический объект уже находится в его собственной подсистеме, таким образом, мы только должны сгруппировать контроллер в его собственную подсистему. Это разделение помогает, если только часть модели должна быть запущена в HIL, или на контроллере и объекте нужно работать отдельные системы HIL.
3. Установите зафиксированный шаг локальная опция решателя, установив зафиксированный шаг на шаг расчета контроллера ts. Сделайте ts как можно больше пока сдерживающая точность симуляции требуемый. Иногда объект может потребовать различного шага расчета, обычно меньшего, чем контроллер. В этом случае ts=0.001 является достаточно маленьким для объекта и контроллера. Определите, сколько Нелинейных итераций требуется для сходимости; некоторым моделям, возможно, понадобятся больше, чем значение по умолчанию 3.
4. Осуществите Советника по вопросам Производительности проверки, относящиеся к Simscape™.
5. Рассмотрите модель для любых упрощений, которые не нашел Советник по вопросам Производительности. Один метод должен линеаризовать модель, чтобы искать быстрые собственные значения в получившейся A-матрице, и затем иметь отношение они отступают к компонентам модели. Применение к ssc_hydraulic_actuator_digital_control показывает, что динамическая сжимаемость в Гидравлическом Цилиндре может быть удалена, чтобы избежать колебательной динамической пары полюса. Это изменение было внесено в модель.
6. Сконфигурируйте цель генерации кода: см. документацию Simulink® Coder Deployment
Постройте "Цилиндрические Давления", показывает, как цилиндрическое давление отличается во время симуляции. Это соответствует открытию клапана. Открытие клапана установлено контроллером так, чтобы привод отследил ссылочный сигнал.
Постройте "Цилиндрическое Давление, Типы Решателя" показывает эффект типа решателя на результатах симуляции. Симуляция переменного шага использует меньшие шаги симуляции, чтобы точно получить системную динамику. Результаты симуляции фиксированного шага близки, но точно не совпадают с результатами симуляции переменного шага, поскольку решателю не разрешают настроить его размер шага. Настройки решателя фиксированного шага должны быть настроены, пока результаты симуляции фиксированного шага не в допустимом диапазоне результатов симуляции переменного шага.