Работа с модулями Simulink

Можно задать физические единицы измерения на Simulink® сигналы. Для получения дополнительной информации смотрите Модули в Simulink.

Интерфейсные блоки, такие как Simulink-PS Converter и PS-Simulink Converter, обрабатывают контур между физической сетью Simscape™ и блоками Simulink, соединенными с ним. Эти блоки конвертера также обрабатывают модульные преобразования физического сигнала:

  • На блоке Simulink-PS Converter вы задаете модуль с помощью параметра Input signal unit. Этот модуль должен быть соразмерным с модулем физического сигнала в выходном порту PS блока, который выведен от места назначения сигнала в физической сети. Параметр Input signal unit предоставляет информацию директору производства Simscape, который выполняет необходимое модульное преобразование и масштабирует значение сигналов соответственно.

  • На блоке PS-Simulink Converter вы задаете модуль с помощью параметра Output signal unit. Этот модуль должен быть соразмерным с модулем входного физического сигнала, войдя в блок. Блок применяет усиление, равное коэффициенту преобразования прежде, чем вывести Сигнал Simulink.

Если вы задаете физическую единицу измерения на Сигнале Simulink, соединенном с Simulink-PS Converter или блоком PS-Simulink Converter, программное обеспечение сравнивает этот модуль с модулем, заданным в блоке. Если значение параметров не совпадает с физической единицей измерения Сигнала Simulink, соединенного с блоком, вы получаете предупреждение.

Когда вы добавляете новый модуль в свой модульный реестр Simscape, при помощи pm_addunit функция и использование этот модуль в блоке Simulink-PS Converter или PS-Simulink Converter:

  • Если ваше модульное определение конфликтует с тем в базе данных Simulink, вы получаете предупреждение о несовместимом модуле.

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

Обратите внимание на то, что эти предупреждения применяются только к базе данных Simulink; физическая сеть Simscape работает как ожидалось.

Например, вы хотите просмотреть частоту вращения двигателя в оборотах в секунду, а не обороты в минуту (rpm):

  1. Добавьте новый модуль rps, заданный в терминах или rpm:

    pm_addunit('rps', 1/60, 'rpm');
  2. Открыть Моторную модель Постоянного электромагнита в качестве примера, в MATLAB® Командное окно, введите:

    ssc_dcmotor
    
  3. Симулируйте модель. Исследуйте результаты симуляции в Моторном окне scope об/мин.

  4. Откройте Распознающуюся подсистему (определяемый как w в блок-схеме), дважды кликните блок PS-Simulink Converter и введите rps как значение параметров Output signal unit.

  5. Повторно выполните симуляцию.

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

    Однако выходной Сигнал Simulink блока PS-Simulink Converter теперь отображает значок предупреждения с сообщением The units 'rps' are undefined. Подробное сообщение объясняет, что модули не заданы в модульной базе данных Simulink.

    Если вы проблема a pm_getunits команда, вы видите rps в списке модулей возврата, что означает, что модуль успешно задан в модульном реестре Simscape. Другими словами, предупреждение применяется только к модульной проверке Simulink.

  6. Чтобы выключить модульные предупреждения несоответствия, в командном окне MATLAB, введите:

    set_param('ssc_dcmotor','UnitsInconsistencyMsg','none');

Другой способ избежать модульных предупреждений несоответствия состоит в том, чтобы добавить те же модули в вашу модульную базу данных Simulink. Для получения информации о том, как создать и загрузить пользовательскую модульную базу данных Simulink, видит Работу с Пользовательскими Модульными Базами данных.