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) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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, выбранным в диалоговом окне, нажмите OK.

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

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

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

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

Замените блоки в подсистеме 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, выбранным в диалоговом окне, нажмите OK.

Загрузите модель 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