Назначение: Поиск моделей (подсистем), блоков, линий, портов и текстовых описаний.
Синтаксис:
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 возвращает массив ячеек содержащих имена всех открытых подсистем и блоков.
Пример 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.