Инициализация переменных событий
events
when initialevent
AssignmentList
end
end
initialevent позволяет указать начальные значения переменных событий в начале моделирования. Возвращаемый тип данных initialevent является event, как описано в разделе Тип данных события и пограничный оператор. Возвращает значение true один раз во время моделирования сразу после завершения инициализации непрерывных переменных.
initialevent ключевое слово допустимо только внутри when предикат предложения.
Блок PS 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