exponenta event banner

события

Моделирование дискретных событий

Синтаксис

events 
  when EventPredicate 
    AssignmentList 
  end 
end

Описание

events начинает раздел событий, который завершается end ключевое слово. events раздел в файле компонента управляет обновлениями событий. Она выполняется на протяжении всего моделирования.

events раздел может содержать только when пункты.

when служит для обновления значений переменных события. Синтаксис:

when EventPredicate
  var1 = expr1; 
  var2 = expr2; 
  ...
end

EventPredicate - выражение, определяющее момент возникновения события. Это должно быть выражение типа данных события, как описано в разделе Тип данных события и пограничный оператор.

Переменные в теле when предложение должно быть объявлено как переменные события. Когда предикат события возвращает значение true, все переменные в теле when предложение одновременно обновляется до новых значений.

A when предложение может дополнительно иметь один или несколько elsewhen ветви:

when EventPredicate
  var1 = expr1; 
  var2 = expr2; 
  ...
elsewhen EventPredicate
  var1 = expr3; 
  ...
end

Примечание

Дефолт else ветвь в when предложение является недопустимым.

Применяются следующие правила:

  • Порядок when клаузулы не имеют значения.

  • Порядок назначений переменных в теле when предложение не имеет значения, так как все обновления происходят одновременно.

  • A when предложение не может обновлять переменную события более одного раза в одном списке назначений.

  • Два независимых when предложения не могут обновлять одну и ту же переменную события. Необходимо использовать elsewhen ветвь для этого.

  • Порядок elsewhen филиалы имеют значение. Если несколько предикатов становятся истинными в один и тот же момент времени, активируется только ветвь с наивысшим приоритетом. Приоритет ветвей в when условие определяется порядком их объявления. То есть, when ветвь имеет наивысший приоритет, в то время как последняя elsewhen ветвь имеет наименьший приоритет.

Представлен в R2016a