Фильтрация сигналов

Фильтрация – в крупных проектах, объем базы сигналов может достигать больших размеров и осуществлять поиск сигналов в ней вручную становится затруднительно. Поэтому в редакторе базы сигналов SimInTech предусмотрен механизм фильтрации. Настройки фильтров не влияют на содержимое базы сигналов, а влияют только на его отображение в интерфейсе базы данных.

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

Рисунок 1. Поля фильтрации в окне базы сигналов

Примечание: Для формирования критерия фильтрации могут быть использованы специальные подстановочные знаки – * и ?. * - символ звездочки заменяет неопределенное число неизвестных символов. ? - знак вопроса заменяет один неизвестный символ. Таким образом можно дополнить неизвестные части поискового запроса символами * и ?. Пример: осуществим фильтрацию позиций некоего списка. По запросу ABC* будут показаны все позиции, начинающиеся с АВС, такие как ABC123, ABCD и просто ABC. Позиции же 1ABCD или AABC показаны не будут, так как содержат символы перед ABC. Аналогичным образом по запросу ?AB* будут выданы результаты, типа AABD01, 1ABC, 5AB, то есть все, содержащие один символ перед AB и неопределенное число символов после.

Фильтр категорий. В окне отображения категорий видны только те категории, имена которых соответствуют настройкам фильтра. По умолчанию в поле ввода критерия фильтрации стоит символ звездочки «*», то есть фильтруемое имя категории ничем не определено, следовательно происходит отображение всех имеющихся в базе категорий. Можно вручную изменить критерий фильтрации, введя, как имя искомой категории целиком, так и какую-то его часть, заменив неизвестные символы звездочкой (*) или знаком вопроса (?). Также есть возможность настроить список фильтров и применять их, выбирая нужный из списка. Редактор фильтров вызывается нажатием кнопки Настройка фильтров.

Рисунок 2. Фильтр категорий

Фильтр групп сигналов. В окне отображения групп сигналов видны только те группы, выбранной категории, которые соответствуют параметрам фильтрации.

Рисунок 3. Фильтр групп сигналов

Фильтрацию групп сигналов можно осуществлять по имени группы, по имени сигнала в группе и по значению сигнала. То есть, можно отобразить только те группы сигналов выбранной категории, которые имеют определенное имя, содержат сигнал с заданным именем либо с заданным значением. При этом можно осуществлять фильтрацию сразу по нескольким критериям, например, в выбранной категории можно отобразить группы с именем «*001», содержащие сигнал «XQ0?» со значением «0,5». Также, аналогично фильтру категорий, есть возможность создавать список фильтров и выбирать из них нужный. Но при этом можно осуществлять фильтрацию только по имени группы сигналов. Значение и имя сигнала в случае необходимости задаются вручную.

Фильтры имени и названия сигнала. В окне отображения сигналов видны только те сигналы выбранной группы сигналов, которые соответствуют параметрам фильтрации.

Рисунок 4. Фильтр имени и названия сигнала

Фильтрация сигналов может осуществляться по имени сигнала и по его названию, где имя – это внутренний идентификатор сигнала, а название – его текстовое описание. Аналогично с фильтром групп сигналов, фильтрация может происходить сразу по обоим критериям.

Использование глобальных фильтров. В редакторе базы сигналов SimInTech предусмотрена также возможность настройки одного глобального фильтра, который может задавать критерии фильтрации сразу для всех уровней базы сигналов. Список глобальных фильтров и кнопки добавления и удаления их, расположены в левой части окна редактора базы сигналов. После добавления нового фильтра, двойным щелчком по его имени можно вызвать окно настройки глобального фильтра.

Рисунок 5. Окно настройки глобального фильтра

Окно содержит поле ввода имени глобального фильтра, а также шесть полей ввода критериев фильтрации, которые соответствуют шести аналогичным полям в окне редактора базы сигналов (Рисунок 1). То есть, технически, глобальный фильтр просто передает значения из полей своих настроек в соответствующие поля фильтров в окне редактирования базы сигналов.