exponenta event banner

Моделирование диаграммы режима

Сведения о диаграммах режимов

Диаграммы режимов обеспечивают интуитивно понятный способ моделирования компонентов, характеризующихся дискретным набором различных режимов работы. Хорошим примером такого компонента является автомобильное сцепление. Он имеет несколько режимов работы, причем каждый режим определяется различным набором уравнений. Он также имеет логику перехода с набором предикатных условий, определяющих, когда муфта переходит из одного режима в другой. Этот компонент можно моделировать с помощью примитивных конструкций, таких как переменные событий и edge операторы, но этому способу моделирования не хватает читаемости. Для более сложных компонентов файл становится громоздким и громоздким. Каждый раз при моделировании компонента с несколькими режимами работы и переходами этот компонент является хорошим кандидатом для реализации диаграммы режимов.

Эти конструкции на Simscape™ языке позволяют выполнять модовое моделирование диаграммы:

  • modecharts - раздел верхнего уровня в файле компонента. Он может содержать один или несколько modechart конструкции.

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

  • modes - раздел в схеме режимов, описывающий все режимы работы. Он может содержать один или несколько mode конструкции.

  • mode - именованная конструкция, которая соответствует отдельному режиму работы компонента, определяемому набором уравнений.

  • transitions - раздел в схеме режимов, описывающий переходы между режимами работы на основе предикатных условий.

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

  • entry - Дополнительный раздел внутри mode построение в диаграмме режимов, которая позволяет указать действия, выполняемые при входе в режим.

Синтаксис диаграммы режима

В простейшей форме иерархическая структура modecharts раздел может выглядеть следующим образом:

modecharts
   mc1 = modechart
      modes
         mode m1
            equations
               ...
            end
         end
         mode m2
            equations
               ...
            end
         end
      end
      transitions
         m1->m2 : p1;
      end
      initial
         m2 : p2;
      end
   end
end

Он содержит одну диаграмму режимов, mc1, с двумя режимами, m1 и m2.

Система переходит из режима m1 к способу m2 при условии предиката p1 является правдой.

Если предикатное условие p2 true, моделирование запускается в режиме m2, в противном случае в режиме m1.

В этом примере transitions раздел не определяет переход из режима m2 к способу m1. Следовательно, согласно этой схеме режимов, как только система достигнет режима m2, он никогда не возвращается в режим m1.

Пример диаграммы режима

Используйте этот простой пример, чтобы понять, как работают диаграммы режимов. Более подробный пример см. в разделе Переключение с гистерезисом.

component ExampleChart

  inputs
     u1 = 0;
  end

  outputs
     y = 0;
  end

  parameters
     p = 1;
  end

  modecharts(ExternalAccess = observe)
     mc1 = modechart
        modes
           mode m1
              equations
                 y==1;
              end
           end
           mode m2
              equations
                 y==2;
              end
              end
           mode m3
              equations
                 y==3;
              end
           end
        end
        transitions
           m1->m2 : u1<0;
           m2->m3 : u1>0;
        end
        initial
           m2 : p<0;
        end
     end
  end

end

Компонент реализует простую диаграмму с тремя режимами работы:

  • В первом режиме выходной сигнал равен 1.

  • Во втором режиме выходной сигнал равен 2.

  • В третьем режиме выходной сигнал равен 3.

Компонент переходит из первого режима во второй режим, когда входной сигнал отрицательный, и из второго режима в третий режим, когда входной сигнал положительный.

Начальный режим зависит от значения параметра блока: if parameter p отрицательный, моделирование начинается с блока во втором режиме, в противном случае - в первом режиме.

См. также

| | | |

Связанные темы