events

Моделируйте дискретные события

Синтаксис

events 
  when EventPredicate 
    AssignmentList 
  end 
end

Описание

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

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

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

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

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

Переменные в теле 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