Инициализируйте переменные события
events when initialevent AssignmentList end end
initialevent
позволяет вам задать начальные значения переменных события в начале симуляции. Типом возвращаемых данных initialevent
является event
, как описано в Типе Данных о событиях и Операторе ребра. Это возвращает true однажды во время симуляции, прямо после того, как инициализация непрерывных переменных будет закончена.
Ключевое слово initialevent
допустимо только в предикате пункта when
.
Блок Asynchronous Sample & Hold в библиотеке Simscape™ Foundation инициализирует переменную y_held
события, которая содержит выбранный сигнал, при помощи параметров блоков.
Этот пример реализует асинхронную выборку, и содержите блок, где переменная события y_held
инициализируется на основе значения входного физического сигнала IC
в начале симуляции. Обратите внимание на то, что нет никакой потребности задать приоритет инициализации для переменной y_held
, потому что переменные события всегда имеют высокий приоритет.
component ASHold % Asynchronous Sample and Hold inputs IC = {0.0, '1'}; % :left U = {0.0, '1'}; % :left T = {0.0, '1'}; % :left end; outputs Y = {0.0, '1'}; % :right end; variables (Event = true, Access = private) y_held = 0.0; end equations Y == y_held; end events when initialevent y_held = IC; elsewhen edge(T > 0) y_held = U; end end end