При определенных условиях невозможно настроить параметр Phase блока синусоидальной волны на отображение в сгенерированном коде в качестве настраиваемой глобальной переменной (дополнительные сведения см. на странице ссылок на блок). В этом примере показано, как создать код для настройки фазы во время выполнения.
Создание модели ex_phase_tunable с использованием блока цифровых часов.
open_system('ex_phase_tunable')

Задать поведение параметра по умолчанию как Tunable чтобы параметры блока синусоидальной волны появлялись в сгенерированном коде как настраиваемые поля глобальной структуры параметров.
set_param('ex_phase_tunable','DefaultParameterBehavior','Tunable')
Создайте код из модели.
slbuild('ex_phase_tunable')
### Starting build procedure for: ex_phase_tunable ### Successful completion of code generation for: ex_phase_tunable Build Summary Top model targets built: Model Action Rebuild Reason ==================================================================================== ex_phase_tunable Code generated Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 16.427s
В отчете о создании кода просмотрите файл ex_phase_tunable.c. Алгоритм кода в модели step функция вычисляет выходной сигнал блока синусоидальной волны. Параметры блока, включая «Фазу», отображаются в коде как настраиваемые поля структуры.
file = fullfile('ex_phase_tunable_grt_rtw','ex_phase_tunable.c'); rtwdemodbtype(file,'/* Outport: ''<Root>/Out1'' incorporates:',... 'ex_phase_tunable_P.SineWave_Bias;',1,1)
/* Outport: '<Root>/Out1' incorporates:
* DigitalClock: '<Root>/Digital Clock'
* Sin: '<Root>/Sine Wave'
*/
ex_phase_tunable_Y.Out1 = sin(ex_phase_tunable_P.SineWave_Freq *
(((ex_phase_tunable_M->Timing.clockTick1+
ex_phase_tunable_M->Timing.clockTickH1* 4294967296.0)) * 1.0) +
ex_phase_tunable_P.SineWave_Phase) * ex_phase_tunable_P.SineWave_Amp +
ex_phase_tunable_P.SineWave_Bias;
Во время выполнения кода можно присвоить новые значения полю структуры, которое соответствует параметру Фаза.