Работа с модулями 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. Симулируйте модель. Исследуйте результаты симуляции в окне Motor RPM 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');