replace_block

Замените блоки в модели Simulink

Синтаксис

replBlks = replace_block(sys,current,new)
replBlks = replace_block(sys,Name,Value,new)
replBlks = replace_block(___,'noprompt')

Описание

пример

replBlks = replace_block(sys,current,new) заменяет блоки current в образцовом sys с блоками типа new. Можно использовать блок от библиотеки Simulink® или от другой модели как заменяющий блок.

Загрузите образцовый sys перед использованием этой функции. Функция предлагает вам выбирать блоки, которые вы хотите заменить из списка блоков, которые совпадают с аргументом current.

Совет

Сохраните модель перед использованием этой команды.

пример

replBlks = replace_block(sys,Name,Value,new) заменяет блоки, которые совпадают с блочными параметрами, заданными аргументами пары Name,Value. Можно также использовать find_system пары Name,Value, чтобы квалифицировать поиск блоков, чтобы заменить.

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

С функцией replace_block можно использовать блочный параметр и пары значения. Для списка всех блочных параметров смотрите Common Block Properties и Специфичные для блока Параметры.

Чтобы задать дополнительную информацию о поиске блоков, чтобы заменить, вы используете find_system пары Name,Value перед блочными параметрами. Например, можно использовать 'CaseSensitive','off', чтобы сделать поиск блоков нечувствительным к регистру или 'FollowLinks','on', чтобы перейти по ссылкам в ссылки библиотеки. Смотрите find_system для того списка пар Name,Value.

пример

replBlks = replace_block(___,'noprompt') заменяет блоки, не предлагая вам выбрать их из диалогового окна.

Примеры

свернуть все

Замените блоки в модели 'vdp'.

Загрузите образцовый 'vdp'.

load_system('vdp');

Замените блоки Усиления на блоки Интегратора.

RepNames = replace_block('vdp','Gain','Integrator');

Диалоговое окно предлагает вам выбирать блоки, которые вы хотите заменить.

С vdp/Mu, выбранным в диалоговом окне, нажать ОК.

Замените блоки Осциллографа на К блокам Рабочей области.

RepNames = replace_block('vdp','Scope','simulink/Sinks/To Workspace');

Диалоговое окно предлагает вам выбирать блоки, которые вы хотите заменить.

С vdp/Scope, выбранным в диалоговом окне, нажать ОК.

Замените блоки в подсистеме Unlocked модели sldemo_clutch. Замените блоки, параметр Gain которых устанавливается на bv.

Загрузите образцовый sldemo_clutch.

load_system('sldemo_clutch');

В подсистеме 'Unlocked' замените блоки, значением Gain которых является bv с блоками Интегратора.

replace_block('sldemo_clutch/Unlocked','Gain','bv','Integrator');

Диалоговое окно предлагает вам выбирать блоки, чтобы заменить.

С sldemo_clutch/Unlocked/VehicleDamping, выбранным в диалоговом окне, нажать ОК.

Загрузите образцовый f14.

load_system('f14')

Замените блоки Усиления на блоки Интегратора. Команда возвращает блоки, которые она нашла, чтобы заменить и заменяет блоки.

repl = replace_block('f14','Gain','Integrator','noprompt')
repl = 13x1 cell array
    {'f14/Aircraft...'     }
    {'f14/Aircraft...'     }
    {'f14/Aircraft...'     }
    {'f14/Aircraft...'     }
    {'f14/Controller/Gain' }
    {'f14/Controller/Gain2'}
    {'f14/Controller/Gain3'}
    {'f14/Gain'            }
    {'f14/Gain1'           }
    {'f14/Gain2'           }
    {'f14/Gain5'           }
    {'f14/Nz pilot...'     }
    {'f14/Nz pilot...'     }

Выберите блок, который является ссылкой библиотеки. Перейдите по ссылкам библиотеки и замените блоки Усиления на блоки Интегратора в них.

 replace_block(gcb, 'FollowLinks', 'on', 'BlockType', 'Gain', 'Integrator', 'noprompt')

Входные параметры

свернуть все

Имя модели, чьи блоки, чтобы заменить, заданный как вектор символа. Если вы задаете модель, команда заменяет все блоки, которые соответствуют в модели. Если вы задаете подсистему, блоки замен команды в той подсистеме и ниже.

Пример: 'vdp', 'sldemo_fuelsys/fuel_rate_control'

Тип блока, чтобы заменить, заданный как BlockType или значение MaskType. Чтобы узнать тип блока, выберите блок и, в командной строке, войдите:

get_param(gcb,'BlockType')

Для блоков маскированных, чтобы узнать тип маски, выберите блок и войдите:

get_param(gcb,'MaskType')

Блокируйтесь, чтобы заменить текущий блок, заданный в одной из следующих форм:

  • Значение BlockType заменяющего блока. Определение этого значения использует блок библиотеки в качестве заменяющего блока.

  • Значение MaskType заменяющего блока. Определение этого значения использует блок библиотеки в качестве заменяющего блока.

  • Путь к библиотеке заменяющего блока, например, 'simulink/Sinks/To Workspace'. Нависните над блоком в библиотеке, чтобы видеть путь к библиотеке.

  • Блокируйте путь блока от различной модели, например, 'vdp/Mu'. Используйте это значение, чтобы снова использовать экземпляр блока от другой модели в вашей модели.

Выходные аргументы

свернуть все

Блоки возвращены аргументом current, возвращенным как массив ячеек из символьных векторов. Функция возвращает значения независимо от того, завершаете ли вы замену.

Представлено до R2006a

Была ли эта тема полезной?