startup
Различное время активацииstartup
и code compile
Различные времена активации в различных условияхSimulink® не поддерживает условия варианта объединения с startup
и code compile
различные времена активации в модели.
startup
Время активации, связанное с блоком Variant Source с code compile
Время активацииРассмотрите модель с двумя блоками Variant Source, VS_CC
и VS_ST
, с набором параметров Variant activation time к code compile
и startup
, соответственно.
Во время компиляции модели, VS_ST
блок распространяет различное условие, B==2
к VS_CC
блок. Так, распространенное различное условие на VS_CC
блоком является (A == 1 && B == 2) || (A == 2 && B == 2)
, который комбинирует условия с startup
и code compile
времена активации. Эта комбинация приводит к ошибке компиляции.
startup
Время активации, связанное с блоком Variant Subsystem с code compile
Время активацииВ этой модели, блоке Variant Source с набором параметров Variant activation time к startup
соединяется с блоком Variant Subsystem с набором параметров Variant activation time к code compile
. Параметр Propagate conditions outside of variant subsystem на блоке Variant Subsystem устанавливается на on
. Эти настройки приводят к распространению условий, которое комбинирует startup
и code compile
времена активации и производят ошибку компиляции.
Примечание
Это ограничение применимо к любому блоку Simulink, который поддерживает различное распространение условия. Например, вы не можете объединить startup
различные условия с блоками Simulink Function или Initialize, Reset и блоками Terminate, которые имеют набор параметров Generate preprocessor conditionals к on
. Этот параметр работает так же к code compile
различное время активации. Для получения информации о распространении условия с различными блоками см. Сценарии Распространения Условия.
Ошибка компиляции для этого сценария обычно указывает на блок, который вызвал ошибку. Если сообщение об ошибке не указывает на блок, то различное условие, которое объединило startup
и code compile
времена активации, возможно, распространили со скрытым блоком, который Simulink вставил для внутреннего пользования. Такие блоки не отображаются в модели.
startup
и code compile
Различные времена активацииЭти условия варианта объединения поддержки сценариев моделирования с startup
и code compile
времена активации:
Блоки Simulink Function, которые наследовали различные условия от блоков Function Caller в модели. Различным условием, присвоенным блоку Simulink Function, является логический OR различных условий, распространенных с блоками Function Caller. В таких случаях блоки Function Caller могут иметь startup
и code compile
времена активации.
Data Store Memory блокируется в модели. Эти блоки получают логический OR различных условий, распространенных к соответствующему Data Store Read и блокам Data Store Write в модели. Блоки читателя и средства записи в таких моделях могут иметь startup
и code compile
времена активации.
В этой модели параметр Variant control на блокировке порта вызова функции в блоке Simulink Function устанавливается на (inherit)
. Блоки Function Caller, Function Caller A
и Function Caller B
, получите различные условия с code compile
и startup
времена активации от связанных блоков Variant Source. Блок Simulink Function наследовал комбинацию этих различных условий. Этот случай не приводит к ошибке компиляции.
startup
Различное время активации в другом различном блокеВы не можете использовать различную контрольную переменную, используемую в блоке с startup
время активации в другом различном блоке с различным временем активации.
Рассмотрите модель с двумя различными блоками, VSrc
и VSink
, с набором параметров Variant activation time к startup
и update diagram
, соответственно. Оба блоки используют ту же различную контрольную переменную, A
. Это приводит к ошибке времени компиляции.