exponenta event banner

Работа с модулями 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 или блоку преобразователя PS-Simulink, программное обеспечение сравнивает этот блок с блоком, указанным внутри блока. Если значение параметра не соответствует физической единице сигнала Simulink, подключенного к блоку, выводится предупреждение.

База данных единиц Simulink исправлена: нельзя добавлять единицы или изменять определения единиц. При добавлении новой единицы в реестр единиц Simscape с помощью pm_addunit и используйте этот блок в блоке преобразователя Simulink-PS или PS-Simulink Converter:

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

  • При добавлении единицы измерения, не существующей в базе данных Simulink, появляется предупреждение о неопределенной единице измерения.

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

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

  1. Добавление новой единицы измерения rps, определяется в терминах или rpm:

    pm_addunit('rps', 1/60, 'rpm');
  2. Чтобы открыть пример модели двигателя постоянного тока с постоянным магнитом, в окне команд MATLAB ® введите:

    ssc_dcmotor
    
  3. Моделирование модели. Проверьте результаты моделирования в окне объема RPM двигателя.

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

  5. Повторно запустите моделирование.

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

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

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

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

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