Команда add_block
Назначение: Добавление нового блока в модель
Синтаксис:
add_block('src', 'dest')
Команда добавляет блок, полный путь которого задан параметром 'src', в модель в соответствии с путем назначения 'dest'.
add_block('src', 'dest', 'parameter1', value1, ...)
Команда добавляет блок, полный путь которого задан параметром 'src', в модель в соответствии с путем назначения 'dest' и устанавливает значения параметров блока.
Пример 1:
Команда add_block('built-in/Gain', 'EX_add_block/Gain') добавляет в модель EX_add_block.mdl усилитель Gain из встроенной библиотеки.
Пример 2:
Команда add_block('EX_add_block / In1', 'EX_add_block/My_Subsystem / In1')
копирует блок входного порта In1 измодели EX_add_block.mdl вподсистему My_Subsystem той же самой модели.
Пример 3:
Команда add_block('built-in/Constant', 'EX_add_block/Constant','Value','150') добавляет в модель EX_add_block.mdl блок Constant и устанавливает параметр Value этого блока равным 150.
Команда add_line
Назначение: Добавление новой линии связи в модель
Синтаксис:
h = add_line('sys','oport','iport')
Команда добавляет новую линию связи в модели sys от выходного порта oport ко входному порту iport. Параметры oport и iport задают полные пути блоков.
h = add_line('sys','oport','iport', 'autorouting','on')
Команда аналогична предыдущей. Дополнительный параметр autorouting (автоматическая трассировка), значение которого равно on, обеспечивает создание линии без пересечения пиктограмм блоков. По “умолчанию” значение этого параметра равно off.
h = add_line('sys', points)
Команда добавляет новую линию связи в модели sys в соответствии с координатами, заданными матрицей points. Началом системы координат окна модели считается левый верхнийугол окна.
Пример 1. Команда add_line('EX_add_line','Step/1','Sum/2') добавляет новую линию связи в модели EX_add_line.mdl между выходом блока Step (блок имеет один выход) и вторым входом блока Sum.
Пример 2. Команда add_line ('EX_add_line', 'Step1/1', 'Sum/2', 'autorouting','on') добавляет новую линию связи в модели EX_add_line.mdl между выходом блока Step1 и вторым входом блока Sum, при включенном режиме авто трассировки.
Пример 3. Команда add_line('EX_add_line',[20 55; 40 10; 60 60]) добавляет новую линию связи в модели EX_add_line.mdl в соответствии с координатами, заданными матрицей [20 55;40 10;60 60]) .
Команда add_param
Назначение: Добавление нового параметра в модель.
Синтаксис:
Команда add_param('sys', ,value1, ,value2,...) добавляет в модель sys новые параметры parameter1, parameter2…и присваивает им значения value1, ,value2,... Новые параметры доступны командам get_param, set_param и ничем не отличаются от стандартных параметров Simulink-модели. Имена параметров не чувствительны к регистру символов. Значения параметров чувствительны к регистру символов.
Пример. Команда add_param ('EX_add_param', 'data', '01
december 2002', 'time','21.00') добавляет вмодель EX_add _param. mdl новые параметры data и time и присваивает им значения '01 december 2002' и '21.00', соответственно.
Команда bdclose
Назначение: Команда закрывает Simulink-модель (все модели) без сохранения изменений.
Синтаксис:
bdclose
Команда закрывает активную модель.
bdclose('sys') Команда закрывает модель sys. bdclose('all')
Команда закрывает все открытые модели.
Пример. Команда bdclose('my_model') закрывает модель my_model.mdl .
Команда bdroot
Назначение: Возвращает имя модели (подсистемы верхнего уровня).
Синтаксис:
bdroot
Команда возвращает имя активной модели.
bdroot('obj')
Команда возвращает имя модели содержащей объект obj.
Пример. Команда bdroot(gcb) возвращает имя модели содержащей выделенный в данный момент блок.
Команда close_system
Назначение: Команда закрывает модель с возможностью сохранения изменений.
Синтаксис:
close_system
Команда закрывает модель или подсистему. Если модель или подсистема были изменены, то на экран будет выведено окно с вопросомо сохранении изменений.
close_system('sys')
Команда закрывает модель или подсистему с указанным именем sys.
close_system('sys', saveflag)
Команда закрывает модель или подсистему и, в зависимости, от параметра saveflag выполняет или не выполняет сохранение изменений. В случае, если параметр saveflag равен 0 изменения не сохраняются. Если же значение данного параметра равно 1, то внесенные в модель или подсистему изменения сохраняются.
close_system('sys', 'newname')
Команда сохраняет модель sys под новым именем
newname. close_system('blk')
Команда закрывает окно диалога блока, полный путь которого задан параметром blk, или вызывает CloseFcn функцию, если данная функция для блокаопределена.
Пример 1. Команда close_system('my_model', 'new_model') сохраняет модель my_model.mdl под новым именем new_model.mdl .
Пример 2. Команда close_system('my_model', 1) сохраняет модель my_model.mdl со всеми изменениями.
Команда delete_block
Назначение: Удаление блока из модели.
Синтаксис:
delete_block('blk')
Команда удаляет блок в соответствии с параметром blk, задающим полный путь к блоку.
Пример 1:
Команда delete_block('EX_delete_block/My_Subsystem/In1') удаляет входной порт In1 из подсистемы My_Subsystem модели EX_delete_block.mdl .
Команда delete_line
Назначение: Удаление линии связи
Синтаксис:
delete_line('sys', 'oport', 'iport')
Команда удаляет линию связи в модели sys от выходного порта oport ко входному порту iport. Параметры oport и iport задают полные пути блоков.
delete_line('sys', [x y])
Команда удаляет линию связи, которой принадлежит точка с координатами [x y].
Пример 1. Команда delete_line('EX_delete_line', 'Step/1', 'Sum/2') удаляет линию связи в модели EX_delete_line.mdl между выходом блока Step (блок имеет один выход) и вторым входом блока Sum.
Пример 2. Команда delete_line('EX_delete_line',[20 55]) удаляет линию связи, которой принадлежит точка с координатами [20 55].
Команда delete_param
Назначение: Удаление параметра модели, добавленного командой add_param .
Синтаксис:
delete_param('sys','parameter1','parameter2',...)
Команда удаляет из модели sys параметры parameter1, parameter2…, добавленные ранее командой add_param .
Пример. Команда delete_param('EX_delete_param', 'data', 'time') удаляет из модели EX_delete_param.mdl параметры data и time , добавленные ранее командой add_param .
Команда find_system
Назначение: Поиск моделей (подсистем), блоков, линий, портов и текстовых описаний.
Синтаксис:
find_system (sys, 'c1', cv1, 'c2', cv2,...'p1', v1, 'p2', v2,...)
Команда выполняет поиск моделей (подсистем), блоков, линий, портов и их описаний, полный путь которых задан параметром sys, с использованием ограничений, заданных параметрами c1, c2 и имеющих значения параметров v1, v2 .
Виды ограничений приведены в следующей таблице.
Ограничение |
Значение |
Описание |
'SearchDepth' |
scalar |
Устанавливает глубину поиска (0 – только для открытых систем, 1 – для блоков и подсистем верхнего уровня, 2 – для системы верхнего уровня и ее дочерних подсистем, и т.д.) Значение по умолчанию all – все уровни. |
|
'none' |
Пропуск маскированных блоков. |
'LookUnderMasks' |
{'graphical'} |
Поиск внутри маскированных блоков, не имеющих окон диалога и рабочей области маски. Этот параметр используется “по умолчанию”. |
|
'functional' |
Поиск внутри маскированных блоков, не имеющих окон диалога. |
|
'all' |
Поиск внутри всех маскированных блоков. |
'FollowLinks' |
'on'| {'off'} |
Если параметр имеет значение 'on', то отслеживаются связи с библиотечными блоками. Значение по умолчанию 'off' . |
'FindAll' |
'on'| {'off'} |
Если параметр имеет значение 'on', то поиск распространяется на линии, порты и текстовые описания в пределах текущей модели. Значение по умолчанию 'off' . |
'CaseSensitive' |
{'on'}| 'off' |
Поиск с учетом регистра символов (при поиске строковых параметров). Значение по умолчанию 'on' . |
'RegExp' |
'on'| {'off'} |
Если параметр имеет значение 'on', то допускается проводить поиск с использованием шаблонов. Значение по умолчанию 'off' . |
Пример 1. Команда find_system возвращает
В таблице значения используемых “по умолчанию” параметров приведены в фигурных скобках.
Пример 1. Команда find_system возвращает массив ячеек содержащих имена всех открытых подсистем и блоков.
Пример 2. Команда find_system('type', 'block_diagram') возвращает массив ячеек содержащих имена всех открытых моделей.
Пример 3. Команда find_system('my_model','SearchDepth', 2,'BlockType','Product') выполняет поиск блоков умножения Product в модели my_model.mdl и вее вложенных подсистемах.
Пример 4. Команда find_system('my_model', 'BlockType', 'Constant','Value', '100') выполняет поиск блоков Constant у которых значение параметра Value равно 100.
Для поиска с использованием шаблонов можно применять специальные символы приведенные в следующей таблице.
Символ |
Описание |
. |
Заменяет любой символ. Например, шаблону 'a.' соответствуют выражения 'aa', 'ab', 'ac' и т.п. |
* |
Заменяет любую последовательность символов (включая пустую). Например, шаблону 'a*' соответствуют выражения 'a', 'ab', 'abc' и т.п. Шаблону '.*' соответствует любая строка, в том числе и пустая. |
+ |
Заменяет любое количество предшествующих символов. Например, шаблону 'ab+' соответствуют выражения 'ab', 'abb', 'abbb' и т.п |
^ |
Отмечает начало последовательности символов. Например, шаблону '^a' соответствует любая строка начинающаяся на символ 'a'. |
$ |
Отмечает последний символ строки символов. Например, шаблону '$a' соответствует любая строка, оканчивающаяся на символ 'a'. |
\ |
Предписывает считать следующий символ |
обычным текстовым символом. Например, шаблон
|
обычным текстовым символом. Например, шаблон '\\' соответствует строке содержащей символ '\'. |
[ ] |
Определяет набор символов в выражении поиска. Например, шаблон 'f[oa]r' соответствует выражениям 'for' и 'far'. Символ (-) задает диапазон символов. Например, шаблон '[a-zA-Z1-9]' соответствует любому алфавитно-цифровому символу. Символ (^) определяет исключаемые символы при поиске. Например, шаблон 'f[^i]r' соответствует строкам 'far' and 'for', но не соответствует строке 'fir'. |
\w |
Задает поиск строк, содержащих только алфавитно-цифровые символы. Например, шаблон '^\w' соответствует строке 'mu', но не соответствует строке '&mu'. |
\d |
Задает поиск строк, содержащих только цифровые символы. Например, шаблон '\d+’ задает поиск любого целого числа. |
\D |
Задает поиск строк, не содержащих цифровые символы (аналог шаблона [^0-9]). |
\s |
Задает пробел в выражении поиска (аналог шаблона [ \t\r\n\f]). |
\S |
Исключает пробелы из выражения поиска (аналог шаблона [^ \t\r\n\f]). |
\<WORD\> |
Задает поиск слова (последовательности символов отделенных с обеих сторон пробелами). Например, шаблону '\<to\>' соответствует слово 'to', но не соответствует слово 'today'. |
Пример5. Команда find_system('my_model', 'regexp', 'on', 'blocktype', 'port') задает поиск входных и выходных портов в модели my_model.mdl.
Команда gcb
Назначение: Получение пути текущего блока.
Синтаксис:
gcb
Команда возвращает полный путь текущего блока.
gcb('sys')
Команда возвращает полный путь текущего блока в модели
sys.
Под текущим блоком понимается выделенный в окне модели блок, блок который выполняется в данный момент времени под управлением S-функции, блок callback-функция которого выполняется в данный момент времени или маскированный блок для которого выполняется функция инициализации.
Команду удобно использовать при получении пути блока для команд get_param и set_param.
Пример. Команда get_param(gcb,'Gain') для текущего блока Gain возвращает значение параметра Gain.
Команда gcs
Назначение: Получение пути текущей модели.
Синтаксис и правила использования команды аналогичны команде gcb.
Команда get_param
Назначение: Получение значения параметров модели или блока.
Синтаксис:
get_param('obj', 'parameter')
Команда возвращает значение параметра parameter, для объекта, полный путь которого задан выражением obj.
Пример 1: Команда get_param('EX_get_param/Constant','Value') определяет значение параметра Value блока Constant модели EX_get_param.mdl .
Пример 2: Команда get_param('EX_get_param/Constant', 'ObjectParameters') определяет все атрибуты блока Constant модели EX_get_param.mdl .
Пример 3: Команда get_param('EX_get_param/Constant', 'DialogParameters') определяет параметры задаваемые в окне диалога блока Constant модели EX_get_param.mdl .
Пример 4: Команда get_param('EX_get_param', 'MaxStep') определяет значение параметра MaxStep (максимальный шаг расчета) модели EX_get_param.mdl .
Команда new_system
Назначение: Создание новой модели.
Синтаксис:
new_system('sys')
Команда создает новую модель sys . При этом окно модели не открывается. Для открытия окна следует использовать команду open_system('sys') .
Пример: Команда new_system('my_model') создает модель my_model.mdl .
Команда open_system
Назначение: Команда открывает окно модели, подсистемы, окно диалога блока.
Синтаксис:
open_system('sys')
Команда открывает модель sys.mdl .
open_system('blk')
Команда открывает окно диалога блока blk модели sys.mdl .
open_system('sys/Subsystem','force')
Команда открывает маскированную подсистему Subsystem модели sys.mdl . Команда аналогична пункту меню Look Under Mask.
Пример 1. Команда open_system('my_model') открывает модель my_model.mdl .
Пример 2. Команда open_system('my_model/Constant') открывает окно диалога блока Constant модели my_model.mdl .
Пример 3. Команда open_system('my_model/Subsystem') открывает окно маскированной подсистемы Subsystem модели my_model.mdl .
Команда replace_block
Назначение: Команда выполняет замену одного блока на другой.
Синтаксис:
replace_block('sys', 'blk1', 'blk2', 'noprompt')
Команда заменяет все блоки типа blk1 на блоки blk2 модели sys без запроса на подтверждение операции. Если blk2 не является библиотечным блоком, то требуется указать полный путь к блоку.
replace_block('sys', 'Parameter', 'value', 'blk', ...)
Команда заменяет все блоки, параметр которых Parameter равен value на блоки blk модели sys .
Пример 1. Команда replace_block('EX_replace_block', 'Step', 'Inport', 'noprompt') заменяет в модели EX_replace_block.mdl блок Step на блок Inport без запроса на подтверждение операции.
Пример 2. Команда replace_block('EX_replace_block', 'Value','100','Gain', 'noprompt') заменяет в модели EX_replace_block.mdl блоки, параметр которых равен 100 на блоки Gain без запроса на подтверждение операции.
Команда save_system
Назначение: Сохранение файла модели.
Синтаксис:
save_system
Сохранение открытой модели под текущим именем.
save_system('sys')
Сохранение модели sys под текущим именем.
save_system('sys', 'newname')
Сохранение модели sys под новым именем newname.
Пример 1. Команда save_system('my_model') сохраняет модель в файле my_model.mdl .
Пример 2. Команда save_system('my_model,'new_model') сохраняет модель в файле new_model.mdl .
Команда set_param
Назначение: Установка параметров модели или блока.
Синтаксис:
set_param('obj', 'parameter1', value1, 'parameter2', value2, ...)
Команда выполняет присваивание новых значений value1, value2… параметрам parameter1, parameter2… модели (блока) obj. Имена параметров не чувствительны к регистру символов. Значения параметров чувствительны к регистру символов.
Пример 1. Команда set_param ('EX_set_param', 'Solver', 'ode15s', 'StopTime', '100') устанавливает метод решения (параметр Solver) ode15s и время окончания расчета (параметр StopTime) 100 для модели EX_set_param.mdl.
Пример 2. Команда set_param('EX_set_param/Step', 'After', '1.5') устанавливает параметр Final Value блока Step модели EX_set _ param.mdl равным 1.5.
Пример 3. Команда set_param('EX_set_param/TransferFcn', 'Numerator', '[5 7 9]', 'Denominator', '[2 3 0]') устанавливает параметры блока Transfer Fcn
Команда может использоваться для изменения параметров модели или блока в процессе расчета. Однако не все параметры блоков могут быть изменены в этом случае. Например, нельзя изменить в процессе расчета размерности входных и выходных портов подсистемы или блока. Параметры блоков библиотеки Power System Blockset также нельзя изменять в процессе расчета. Следует иметь в виду еще и то, что иногда название параметра, данное в окне диалога, отличается от фактического названия параметра (имени переменной, которой присваивается значение параметра). Так, например, для блока Step, фактическое имя параметра Initial Value есть Before, а фактическое имя параметра Final Value есть After. Для выяснения фактических имен параметров можно открыть файл модели в каком-либо текстовом редакторе и просмотреть секцию, в которой описан данный блок.
Ниже приведен пример текстового описания блока Step в файле модели:
Block { BlockType Step Name "Step" Position [125, 75, 155, 105] Time "0.1" Before "10" After "20" SampleTime "0" VectorParams1D on } .
Из приведенного фрагмента хорошо видно, какие фактические имена имеют параметры данного блока.
Команда simulink
Назначение: Команда открывает окно библиотеки блоков simulink.
Синтаксис:
simulink.
Отладчик Simulink моделей
Отладчик Simulink является инструментом для поиска и диагностирования ошибок в моделях Simulink. Он дает возможность точно определить проблемы, выполняя моделирование постепенно с отображением значений входных и выходных сигналов любого из интересующих блоков модели. Simulink-отладчик имеет и графический, и интерфейс пользователя командной строки. Графический интерфейс позволяет наиболее удобно использовать основные возможности отладчика. Интерфейс командной строки дает способ обращаться ко всем возможностям отладчика. Пользователь, как правило, работает с графическим интерфейсом отладчика и обращается к интерфейсу командной строки по мере необходимости.