events

Дискретные события модели

Синтаксис

events 
  when EventPredicate 
    AssignmentList 
  end 
end

Описание

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

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

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

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

EventPredicate выражение, которое задает, когда событие имеет место. Это должно быть выражение типа данных о событиях, как описано в Типе Данных о событиях и Операторе ребра.

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

when пункт может опционально иметь один или несколько elsewhen ветви:

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

Примечание

else по умолчанию перейдите в when пункт недопустим.

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

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

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

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

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

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

Введенный в R2016a