события

Образцовые дискретные события

Синтаксис

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