d9e5a92d

Команда 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 возвращает массив ячеек содержащих имена всех открытых подсистем и блоков.

 

Пример 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.




Содержание раздела