2016-07-26 2 views
0

Предположим, что у вас есть блок Simulink (например, delay), который имеет параметр (например, delay length). Вы хотите иметь возможность установить значение параметра в одном месте и использовать его в разных блоках (включая упомянутый блок delay). Я могу представить две возможные реализации:Как получить доступ к внутренним параметрам блоков Simulink?

  1. Включить переменную mydelaylength в скрипт инициализации. Внутри каждого блока вместо численного значения вводится переменная mydelaylength.
  2. Используйте общую константу, которая подключается к каждому блоку, который в ней нуждается. Это работает только с входным сигналом , например с блоками умножения. Правильно ли, что вы не можете сделать это с помощью параметров (например, delay length блока delay)? Или есть обходной путь, который я еще не знаю?

enter image description here

+1

Нет таких вещей, как «внешний параметр». Существуют «параметры» - они вводятся в диалоговые окна блоков; и есть «сигналы» - они вступают в блоки, хотя и в inports. Не существует обходного пути для подхода (2), потому что вы должны использовать подход (1). –

+0

@PhilGoddard Я вижу. Я редактировал вопрос. Если это все, что можно сказать, я приглашаю вас ответить на вопрос, чтобы я мог его принять. – Karlo

ответ

2

Я понимаю, что вы только упомянули «задержки» блок в качестве примера, но можно выбрать источник параметра «задержки» (как для «Delay» и «Variable Integer Delay» блоки), чтобы быть «Диалоговым» (вариант 1 в вашем вопросе) или «Входной порт» (вариант 2 в вашем вопросе). Это справедливо и для других других блоков и свойств. Третий вариант - установить параметр блока с помощью функции «set_param() » из рабочего пространства MATLAB.

+0

Ницца, это то, что я искал. Не знал, что это возможно! – Karlo