Навигация:
<< >> Оглавление Указатель

Описание пользователя

Глава 2. Интерфейс пользователя

§2.15. Операции с несколькими блоками и связями одновременно

Описываются действия, которые одновременно затрагивают несколько блоков и связей, а также способы поиска и выделения блоков, имеющих общие параметры.

§2.15.1. Выделение блоков и связей по заданному критерию

Описывается выделение в подсистеме блоков и связей, имеющих какие-либо общие параметры. Эта функция бывает полезна при внесении изменений в сложные схемы и при отладке таких схем.

Выделить в подсистеме несколько блоков и связей можно разными способами – например, щелчками на них левой кнопкой мыши с нажатой клавишей Shift, или указанием прямоугольной области, внутрь которой должны попасть выделенные объекты. Однако, иногда удобнее выделить блоки или связи, у которых есть нечто общее: например, одна и та же функция модели, или один и тот же текст в комментарии блока. Особенно это удобно при наличии в схеме большого количества однотипных или похожих блоков. После этого для всех выделенных в подсистеме объектов можно, например, установить одинаковые параметры при помощи функции групповой установки. Такое выделение по заданному критерию вызывается пунктом «редактирование | выделить» главного меню RDS). При выборе этого пункта открывается окно (рис. 230), в котором выбираются способ и критерии выделения.

Окно выделения: вкладка основные параметры

Рис. 230. Окно выделения: вкладка «основные параметры»

Окно выделения по заданному критерию содержит четыре вкладки, главная из которых – «основные параметры». В левой верхней ее части установкой флажка на панели «способ выделения» выбирается действие, которое будет выполнено при закрытии окна кнопкой «OK»:

Таким образом, вызывая это окно несколько раз и меняя способ выделения, можно выделять объекты по довольно сложным алгоритмам. Если, например, необходимо выделить все блоки, функция модели которых находится в библиотеке «Library.dll», кроме тех, в комментарии которых содержится слово «временный», нужно провести выделение два раза. Сначала следует установить флажок «сделать выделенными» и выделить все блоки с моделью из библиотеки «Library.dll», а затем снова открыть окно выделения, установить флажок «исключить из выделения» и снять выделение со всех блоков со словом «временный» в комментарии. В результате останутся выделенными только нужные блоки (для автоматизации таких действий служит функция пакетной обработки).

Поскольку выбором способа выделения можно как установить выделение для блоков, связей и шин, так и снять его, в дальнейшем будем обобщенно называть действие, выполняемое окном, «обработкой», имея в виду как включение, так и выключение выделения для объектов подсистемы в зависимости от установок панели «способ выделения».

Флажками на панели «выделить» выбираются обрабатываемые при установке (или снятии) выделения объекты: блоки, связи и шины. Флажки для блоков разбиты по типам – можно независимо выделять простые блоки, подсистемы, внешние входы и выходы и вводы шин. Если флажок рядом с типом объекта не будет установлен, такой объект не будет обработан, даже если он будет удовлетворять остальным критериям, заданным в окне.

В левой нижней части вкладки располагается панель «слои» со списком слоев подсистемы: при установке флажка «только на слоях» будут обработаны только блоки, связи и шины, находящиеся на отмеченных в списке слоях.

В правой части вкладки находятся три панели: «блоки», «связи» и «шины», на которых задаются критерии выделения соответствующих объектов. Рядом с каждым критерием располагается флажок: если он не установлен, то критерий не будет учтен при обработке, если установлен, то будут обработаны только объекты, удовлетворяющие этому критерию. На панели «блоки» можно задать следующие критерии обработки блоков:

На панели «связи» задаются критерии обработки связей (шины, хотя и являются видом связей, сюда не входят – у них отдельная панель):

На панели «шины» указываются критерии обработки шин:

На вкладке «дополнительно» окна выделения задаются критерии, используемые реже (рис. 231). Панель «комментарий» позволяет обработать блоки, содержащие заданные фрагменты в тексте комментария. Если на панели установлен флажок «содержащим один из фрагментов», будут обработаны блоки, содержащие любой из указанных фрагментов, если же установлен флажок «содержащим все фрагменты», будут обработаны только блоки, содержащие все из них. Фрагменты текста для поиска задаются в строчках таблицы на этой же панели, кнопки справа от нее служат для добавления и удаления строчек. Отдельный флажок «с учетом регистра» под таблицей позволяет искать фрагменты комментария как с учетом, так и без учета регистра символов.

Окно выделения: вкладка дополнительно

Рис. 231. Окно выделения: вкладка «дополнительно»

На панели «внешний вид блока» можно указать критерии, имеющие отношение к изображению блока:

На панели «наличие соединений» можно разрешить обработку либо только блоков, к которым не подключено ни одной связи (вариант «неподключенные блоки» в выпадающем списке), либо только соединенных с чем-то блоков (вариант «блоки с подключенными связями»). Это может оказаться полезным для выявления уже не используемых блоков. Разумеется, при этом нужно учитывать, что не все не подключенные блоки бесполезны: некоторые из них, например, блок-планировщик, обмениваются данными с другими блоками через динамические переменные или каким-либо другим образом.

На панели «запуск модели блока» можно отобрать блоки по способу запуска их функции модели: каждый такт или по сигналу. Этот критерий более полезен для программистов моделей, чем для пользователей: например, программист, переписав модель блока для работы с запуском по сигналу, может выделить все блоки со своей моделью и запуском каждый такт, чтобы изменить в них способ запуска на новый.

На панели «внешние входы и выходы» можно задать тип переменной для блоков-внешних входов и выходов: все внешние входы и выходы, тип которых не соотвествует указанному, будут исключены из обработки. Тип переменной задается в отдельном окне нажатием кнопки справа от флажка «по типу».

На панели «параметры связей» можно задать значения дополнительных параметров для связей, которые должны быть включены в обработку. Если у связи вообще не будет параметра с указанным именем, или если значение параметра будет отличаться от введенного, связь будет исключена. В выпадающем списке можно выбрать два варианта проверки: «все значения» (все указанные параметры должны иметь указанные значения) или «одно из значений» (для включения связи в обработку достаточно, чтобы значение хотя бы одного из указанных параметров совпало с заданным). Флажок «использовать метасимволы» позволяет вводить в значениях параметров метасимволы «*», заменяющий произвольное число символов, и «?», заменяющий один символ (точно так же в ОС задают шаблоны имен файлов). Ниже располагается список параметров и их значений вида «имя = значение», элементы которого можно добавлять и удалять кнопками справа.

На вкладке «ошибки» окна выделения можно отобрать блоки и связи с какими-либо ошибками (рис. 232). Она содержит две панели: одну – для блоков, другую – для связей. Если установить на панели «выделение блоков по состоянию функции DLL» флажок «выделять только блоки с ошибками», то, среди блоков, удовлетворяющих всем остальным критериям в окне выделения, будут отобраны только те, состояние которых соответствует хотя бы одному из установленных дополнительных флажков:

Окно выделения: вкладка ошибки

Рис. 232. Окно выделения: вкладка «ошибки»

Установив на панели «выделение связей с ошибками подключения» одноименный флажок «выделять только связи с ошибками подключения», можно отобрать связи со следующими ошибками:

Вкладка «автокомпиляция» окна выделения (рис. 233) позволяет обработать блоки с теми или иными параметрами подключенного модуля автоматической компиляции моделей (см. также главу 3), если установить на ней флажок «выделять блоки, функция которых компилируется автоматически». При этом можно выбрать либо вообще все блоки с подключенным модулем автокомпиляции (дополнительный флажок «все автокомпилируемые блоки»), либо отобрать их по модулю, по имени модели или и по тому, и по другому параметру.

Окно выделения: вкладка автокомпиляция

Рис. 233. Окно выделения: вкладка «автокомпиляция»

Если установлен дополнительный флажок «по используемому модулю компиляции», будут обработаны только блоки, к которым подключен модуль, определяемый следующими флажками:

Если установлен дополнительный флажок «по имени модели», будут обработаны только блоки с указанным именем модели. Имя модели выбирается из выпадающего списка, в котором будут присутствовать только используемые в схеме модели, или вводится вручную. Если установить флажок «использовать метасимволы» справа от списка, то во вводимом имени модели можно будет использовать стандартные метасимволы «∗» и «?».

Если для схемы заданы какие-либо классы объектов, в окне выделения по заданному критерию будет присутствовать вкладка «классы» (рис. 234), которая позволяет обработать блоки, связи и шины по признаку принадлежности к заданным классам. При отсутствии в схеме классов эта вкладка не отображается.

Окно выделения: вкладка классы

Рис. 234. Окно выделения: вкладка «классы»

Чтобы обработать объекты подсистемы (блоки, связи и шины) по признаку принадлежности к классам, необходимо установить флажок «выделять объекты, принадлежащие…», выбрать в выпадающем списке справа от него один из вариантов обработки и расставить флажки возле названий требуемых классов в списке, занимающем большую часть вкладки. Возможны следующие варианты обработки:

Кнопки «включить все» и «выключить все» внизу вкладки устанавливают и сбрасывают все флажки классов соответственно.

В левой нижней части окна находятся кнопки «загрузить», «сохранить» и «сброс». Кнопки «сохранить» и «загрузить» открывают диалоги сохранения и загрузки файла и позволяют записать выбранные в окне критерии в файл для повторного использования в будущем, или загрузить их из этого файла. По умолчанию такому файлу дается расширение «.sel», но в момент сохранения ему можно дать любое расширение по желанию пользователя. Такие сохраненные файлы критериев используются при пакетной обработке. Кнопка «сброс» сбрасывает все флажки в окне. При закрытии окна выделения и повторном его открытии флажки автоматически не сбрасываются (это позволяет быстро поправить критерии, если они были заданы с ошибкой), поэтому для возврата всех флажков в исходное состояние предусмотрена специальная кнопка.

Нажатие кнопки «отмена» в правой нижней части окна закроет его без выполнения каких-либо действий по выделению блоков и связей (при этом, как было указано выше, заданные в окне критерии не сбросятся, и при повторном открытии окна выделения можно будет продолжать работать с ними). Нажатии кнопки «OK» выполнит в текущей подсистеме выделение по указанным критериям, при этом, если ни один блок, связь или шина не будут удовлетворять этим критериям, RDS сообщит об этом пользователю.

Следует помнить, что выделение по заданным критериям выделяет блоки, связи и шины только в одной, текущей, подсистеме. Если требуется найти похожие блоки в разных подсистемах схемы, следует использовать функцию поиска.


<< >> Оглавление Указатель