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

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

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

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

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

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

Модульная база данных 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.

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

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

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