Команда выполняет поиск моделей (подсистем), блоков, линий, портов и их описаний, полный путь которых задан параметром sys, с использованием ограничений, заданных параметрами c1, c2и имеющих значения параметров v1, v2.
Виды ограничений приведены в Таблице 12.1.
Таблица 12.1
Ограничение
Значение
Описание
'SearchDepth'
scalar
Устанавливает глубину поиска (0 – только для открытых систем, 1 – для блоков и подсистем верхнего уровня, 2 – для системы верхнего уровня и ее дочерних подсистем, и т.д.) Значение по умолчанию all – все уровни.
'LookUnderMasks'
'none'
Пропуск маскированных блоков.
{'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возвращает массив ячеек содержащих имена всех открытых подсистем и блоков.
Пример 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.
Для поиска с использованием шаблонов можно применять специальные символы приведенные в таблице Таблица 12.2
Таблица 12.2
Символ
Описание
.
Заменяет любой символ. Например, шаблону '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.