d9e5a92d

Управление портами маскированной подсистемы


В предыдущем параграфе рассматривалась методика создания динамически обновляемых окон диалога. В приведенном примере задание на амплитуду или частоту генератора сигналов может задаваться как параметр окна диалога блока, либо поступать от внешнего источника через входной порт подсистемы. При этом внешний вид блока, когда внешние источники не задействованы, оказывается точно таким же, как и при их использовании. Это неудобно, поскольку внешний вид блока (наличие на пиктограмме входных портов) вводит в заблуждение относительно фактических источников сигналов задания. Выходом из создавшейся ситуации является создание callback функций убирающих или восстанавливающих входные порты в подсистеме. Основная идея при этом заключается в том, чтобы в случае, если внешний источник не используется – заменить входной порт подсистемы на блок Ground, а если внешний источник используется – выполнить обратную замену. Такие замены легко выполняются с помощью команд управления Simulink-моделью (команды подробно рассмотрены в документации на Simulink). Для повышения наглядности пиктограммы генератора стандартные названия входных портов In1 и In2 заменены на M (входной порт для сигнала задания на амплитуду) и F (входной порт сигнала задания на частоту). Пиктограмма генератора и его схема показаны на рисунке 9.10.15.

 

 

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

На рисунке 9.10. 16 приведена модель генератора для случая, когда источник задания на амплитуду сигнала является внутренним, а источник задания на частоту – внешним.

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

 




Содержание раздела