Если вы откроете библиотеку Modelica в таком инструменте, как Dymola или OpenModelica, все, что вы увидите в пакете или браузере библиотеки, - это классы.
Как только вы используете один из этих классов, например, перетаскивая на слой диаграммы, вы создаете новый компонент этого типа класса.
Созданный экземпляр компонента является не копией класса, а ссылкой на него. Поэтому, если вы обновите определение класса, вы также обновите поведение всех компонентов, которые являются экземплярами этого класса.
Существует несколько видов классов. Самый общий класс на самом деле называется class
, но он используется не очень часто.
У него нет ограничений, поэтому он может содержать все, что возможно с Modelica: уравнения, алгоритмы, открытые и защищенные компоненты и т. Д.
Существуют более конкретные типы классов, которые ограничивают использование. Это помогает правильно использовать класс. Например, function
или record
не могут быть смоделированы.
Наиболее важные типы ограниченных классов:
package
: используется для группировки других классов
model
: обычно используется для компонентов с физическим разъемом и для примеров, которые имитируются
block
: используется для компонентов с причинным разъемом (только входы и выходы, поэтому все, что у вас есть в Modelica.Blocks
)
function
: используется для вызовов функций, сравнимо с другими языками программирования
record
: часто используется для хранения наборов данных для других компонентов (что позволяет быстро изменить полный набор данных)
connector
: используется для определения переменных интерфейса, которые необходимы для подключения различных компонентов домена (например, v и i в электрическом домене)
type
: обычно используется для определения физических величин, таких как масса, длина или время, с их единицей (например, все единицы СИ в упаковке Modelica.SIunits
)