Инициализируйте переменные события
events when initialevent AssignmentList end end
initialevent
позволяет задавать начальные значения переменных события в начале симуляции. Тип возвращаемых данных initialevent
является event
, как описано в Данные о событиях Type и ребра Оператора. Это возвращает true один раз во время симуляции, сразу после того, как инициализация непрерывных переменных закончена.
The initialevent
ключевое слово допустимо только внутри when
предикат предложения.
Блок PS Asynchronous Sample & Hold в библиотеке Simscape™ Foundation инициализирует переменную события y_held
, который содержит дискретизированный сигнал, при помощи параметров блоков.
В этом примере реализуется асинхронная выборка и блок hold, где y_held
переменная события инициализируется на основе значения входного физического сигнала IC
в начале симуляции.
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 = {value = {0.0, '1'}, priority = priority.high}; end equations Y == y_held; end events when initialevent y_held = IC; elsewhen edge(T > 0) y_held = U; end end end