Можно задать физические единицы измерения на сигналах Simulink®. Для получения дополнительной информации смотрите Модули в Simulink (Simulink).
Интерфейсные блоки, такие как Конвертер PS Simulink и Конвертер Simulink PS, обрабатывают контур между физической сетью Simscape™ и блоками Simulink, соединенными с ним. Эти блоки конвертера также обрабатывают модули физического сигнала:
На блоке Simulink-PS Converter вы задаете модуль с помощью параметра Input signal unit. Этот параметр задает модуль физического сигнала в выходном порту PS блока, который служит входным сигналом для физической сети Simscape.
На блоке PS-Simulink Converter вы задаете модуль с помощью параметра Output signal unit. Этот модуль должен быть соразмерным с модулем входного физического сигнала, войдя в блок. Блок применяет усиление, равное коэффициенту преобразования прежде, чем вывести Сигнал Simulink.
Если вы задаете физическую единицу измерения на Сигнале Simulink, соединенном с Конвертером PS Simulink или блоком PS-Simulink Converter, программное обеспечение сравнивает этот модуль с модулем, заданным в блоке. Если значение параметров не совпадает с физической единицей измерения Сигнала Simulink, соединенного с блоком, вы получаете предупреждение.
Модульная база данных Simulink фиксируется: вы не можете добавить модули или изменить модульные определения. Когда вы добавляете новый модуль в свой модульный реестр Simscape, при помощи функции pm_addunit
, и используете этот модуль в блоке Simulink-PS Converter или PS-Simulink Converter:
Если ваше модульное определение конфликтует с тем в базе данных Simulink, вы получаете предупреждение о несовместимом модуле.
Если вы добавляете модуль, который не существует в базе данных Simulink, вы получаете предупреждение о неопределенном модуле.
Обратите внимание на то, что эти предупреждения применяются только к базе данных Simulink; физическая сеть Simscape работает как ожидалось.
Например, вы хотите просмотреть частоту вращения двигателя в оборотах в секунду, а не обороты в минуту (rpm
):
Добавьте новый модуль rps
, заданный в терминах или rpm
:
pm_addunit('rps', 1/60, 'rpm');
Чтобы открыть Моторную модель Постоянного электромагнита в качестве примера, в Командном окне MATLAB®, введите:
ssc_dcmotor
Моделируйте модель. Исследуйте результаты симуляции в Моторном окне scope об/мин.
Откройте Распознающуюся подсистему (определяемый как w
в блок-схеме), дважды кликните блок PS-Simulink Converter и введите rps
как значение параметров Output signal unit.
Повторно выполните симуляцию.
Модель работает правильно с осциллографом, отображающим результаты в оборотах в секунду.
Однако выходной Сигнал Simulink блока PS-Simulink Converter теперь отображает значок предупреждения с сообщением The units 'rps' are undefined
. Подробное сообщение объясняет, что модули не заданы в модульной базе данных Simulink.
Если вы даете команду pm_getunits
, вы видите rps
в списке модулей возврата, что означает, что модуль успешно задан в модульном реестре Simscape. Другими словами, предупреждение применяется только к модульной проверке Simulink.
Чтобы выключить модульные предупреждения несоответствия, в Окне Команды MATLAB, введите:
set_param('ssc_dcmotor','UnitsInconsistencyMsg','none');