exponenta event banner

replace_block

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

Описание

пример

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 является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

С помощью replace_block можно использовать пары параметров и значений блока. Список всех параметров блока см. в разделах «Общие свойства блока» и «Параметры блока».

Для указания дополнительной информации о поиске заменяемых блоков используется 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.

openExample('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
    {'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...'     }

Выберите блок, являющийся ссылкой на библиотеку. Перейдите по ссылкам библиотеки и замените блоки усиления блоками Integrator.

 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