Инициализируйте переменные события
events
when initialevent
AssignmentList
end
end
initialevent позволяет вам задать начальные значения переменных события в начале симуляции. Тип возвращаемых данных initialevent isevent, как описано в Типе Данных о событиях и Операторе ребра. Это возвращает true однажды в процессе моделирования, прямо после того, как инициализация непрерывных переменных будет закончена.
initialevent ключевое слово допустимо только в when предикат пункта.
Блок Asynchronous Sample & Hold в библиотеке Simscape™ Foundation инициализирует переменную y_held события, который содержит произведенный сигнал, при помощи параметров блоков.
Этот пример реализует асинхронную выборку, и содержите блок где 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