Основы моделирования в MATLAB. Часть 2. Simulink. Терёхин В.В. - 237 стр.

UptoLike

Составители: 

235
Текст callback-функции, задающей вид источника сигнала за-
дания на частоту (файл call_back_freq.m), приведен ниже.
% ПерваЯ часть (управление окном диалога)
Freq_param=get_param(gcb,'Internal_freq');
if strcmp(Freq_param,'on');
enable={'on','on','on','on','on'};
else;
enable={'on','off','on','on','on'};
end;
set_param(gcb,'MaskEnables',enable);
% ВтораЯ часть (управление портами)
Magn_param=get_param(gcb,'Internal_magn');
% Присвоение переменной Magn_param
% значения параметра Internal_magn (тип источника
% сигнала задания на амплитуду: внутренний или внешний).
In_2_BlockType=get_param([gcb,'/F'],'BlockType');
% Определение типа блока в подсистеме,
% имеющего метку F
if strcmp(Freq_param,'on')&(In_2_BlockType=='Inport');
% Если значение переменной
% Freq_param равно 'on' (внутренний источник сигнала
% заданиЯ на частоту), а тип блока, имеющего метку F,
% есть 'Inport', то
replace_block(gcb,'Name','F','Ground','noprompt')
% выполняется замена блока, имеющего
% метку F (второго входного порта) на блок Ground.
% Порт с меткой F с
пиктограммы блока исчезает.
% Величина задания на частоту генератора
% определяется параметром, задаваемым в окне диалога.
end;
% Завершение конструкции if.
if strcmp(Freq_param,'off')&(In_2_BlockType=='Ground');
% Если значение переменной
% Freq_param равно 'off' (внешний источник сигнала
% задания на частоту), а тип блока, меющего метку F,
% есть 'Ground', то
replace_block(gcb,'Name','F','Inport','noprompt')
% выполняется замена блока Ground
% на
блок Inport. Порт с меткой F на пиктограмме блока
        Текст callback-функции, задающей вид источника сигнала за-
дания на частоту (файл call_back_freq.m), приведен ниже.
        % ПерваЯ часть (управление окном диалога)
Freq_param=get_param(gcb,'Internal_freq');
if strcmp(Freq_param,'on');
   enable={'on','on','on','on','on'};
else;
   enable={'on','off','on','on','on'};
end;
set_param(gcb,'MaskEnables',enable);
            % ВтораЯ часть (управление портами)
Magn_param=get_param(gcb,'Internal_magn');
         % Присвоение переменной Magn_param
        % значения параметра Internal_magn (тип источника
        % сигнала задания на амплитуду: внутренний или внешний).

In_2_BlockType=get_param([gcb,'/F'],'BlockType');
         % Определение типа блока в подсистеме,
        % имеющего метку F
if strcmp(Freq_param,'on')&(In_2_BlockType=='Inport');
         % Если значение переменной
        % Freq_param равно 'on' (внутренний источник сигнала
        % заданиЯ на частоту), а тип блока, имеющего метку F,
        % есть 'Inport', то
replace_block(gcb,'Name','F','Ground','noprompt')
         % выполняется замена блока, имеющего
        % метку F (второго входного порта) на блок Ground.
        % Порт с меткой F с пиктограммы блока исчезает.
        % Величина задания на частоту генератора
        % определяется параметром, задаваемым в окне диалога.
end;
         % Завершение конструкции if.

if strcmp(Freq_param,'off')&(In_2_BlockType=='Ground');
         % Если значение переменной
        % Freq_param равно 'off' (внешний источник сигнала
        % задания на частоту), а тип блока, меющего метку F,
        % есть 'Ground', то
replace_block(gcb,'Name','F','Inport','noprompt')
         % выполняется замена блока Ground
        % на блок Inport. Порт с меткой F на пиктограмме блока

                                                                 235