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

UptoLike

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

237
Magn_param=get_param(gcb,'Internal_magn');
if strcmp(Magn_param,'on');
visible={'on','on','on','on','on'};
else;
visible={'on','on','on','on','off'};
end;
set_param(gcb,'MaskVisibilities',visible);
Freq_param=get_param(gcb,'Internal_freq');
In_1_BlockType=get_param([gcb,'/M'],'BlockType');
if strcmp(Magn_param,'on')&(In_1_BlockType=='Inport');
replace_block(gcb,'Name','M','Ground','noprompt')
end;
if strcmp(Magn_param,'off')&(In_1_BlockType= ='Ground');
replace_block(gcb,'Name','M','Inport','noprompt')
end;
if strcmp(Freq_param,'off')&strcmp(Magn_param,'off')
Port_1_param=get_param([gcb,'/M'],'port');
Port_2_param=get_param([gcb,'/F'],'port');
if (Port_1_param = = '2')&(Port_2_param = = '1')
replace_block(gcb,'Name','F','Inport','noprompt')
end;
end;
Первая часть функции call_back_freq управляет окном диа-
лога, и аналогична приведенной в предыдущем параграфе. Вторая
частьуправляет первым входным портом подсистемы. Вторая часть
функции содержит также команды проверяющие правильность нуме-
рации портов и восстанавливающие ее
, если нумерация портов нару-
шена.
На рисунке 9.10.16 приведена модель генератора для случая,
когда источник задания на амплитуду сигнала является внутренним, а
источник задания на частотувнешним.
На рисунке видно, что при выборе внутреннего источника
сигнала задания на амплитуду (флажок Internal source of magnitude
signal установлен) соответствующий входной порт на пиктограмме
отсутствует, а в
самой модели генератора входной порт M заменен
блоком Ground. При этом задание на амплитуду сигнала поступает от
блока Constant2 внутри подсистемы, а задание на частоту выходного
сигналаот внешнего источника через входной порт с меткой F.
Magn_param=get_param(gcb,'Internal_magn');
if strcmp(Magn_param,'on');
   visible={'on','on','on','on','on'};
else;
   visible={'on','on','on','on','off'};
end;
set_param(gcb,'MaskVisibilities',visible);
Freq_param=get_param(gcb,'Internal_freq');
In_1_BlockType=get_param([gcb,'/M'],'BlockType');
if strcmp(Magn_param,'on')&(In_1_BlockType=='Inport');
   replace_block(gcb,'Name','M','Ground','noprompt')
end;
if strcmp(Magn_param,'off')&(In_1_BlockType= ='Ground');
   replace_block(gcb,'Name','M','Inport','noprompt')
end;
if strcmp(Freq_param,'off')&strcmp(Magn_param,'off')
   Port_1_param=get_param([gcb,'/M'],'port');
   Port_2_param=get_param([gcb,'/F'],'port');
   if (Port_1_param = = '2')&(Port_2_param = = '1')
      replace_block(gcb,'Name','F','Inport','noprompt')
   end;
end;

        Первая часть функции call_back_freq управляет окном диа-
лога, и аналогична приведенной в предыдущем параграфе. Вторая
часть – управляет первым входным портом подсистемы. Вторая часть
функции содержит также команды проверяющие правильность нуме-
рации портов и восстанавливающие ее, если нумерация портов нару-
шена.

        На рисунке 9.10.16 приведена модель генератора для случая,
когда источник задания на амплитуду сигнала является внутренним, а
источник задания на частоту – внешним.
        На рисунке видно, что при выборе внутреннего источника
сигнала задания на амплитуду (флажок Internal source of magnitude
signal установлен) соответствующий входной порт на пиктограмме
отсутствует, а в самой модели генератора входной порт M заменен
блоком Ground. При этом задание на амплитуду сигнала поступает от
блока Constant2 внутри подсистемы, а задание на частоту выходного
сигнала – от внешнего источника через входной порт с меткой F.



                                                              237