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

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