ETraceSet.GetAverageTrace (Получить усредненную трассу из набора трасс)

Описание
Возвращает усредненную трассу из набора трасс. Усредненная трасс представляет собой трассу с усредненным значение координаты Y для каждого значения координаты X. Поиск происходит по идентификатору.
Свойства
| Входной аргумент | Тип аргумента | Тип переменной | Описание |
|---|---|---|---|
| traceSet | Константа, Переменная, Выражение | ETraceSet | Набор трасс |
| tag | Константа, Переменная, Выражение | String | Идентификатор трассы |
| searchTagPart | Константа, Переменная, Выражение | Boolean | Поиск трассы по частичному совпадению идентификатора |
| Выходной аргумент | Тип аргумента | Тип переменной | Описание |
|---|---|---|---|
| averageTrace | Переменная | ETrace | Усредненная трасса |
Пример
Рассмотрим работу блока на примере простой программы, которая обеспечивает усреднение значений координат Y с соответствующими X по трейсам с заданным идентификатором из коллекции трейсов и лимитов ETraceSet.

Создадим глобальные переменные, необходимые для работы программы. Данные переменные мы будем использовать с привязкой к элементам управления интерфейса пользователя. ETrace – переменная с объектом типа ETrace для выполнения промежуточных манипуляций и заполнения коллекции ETraceSet. AverageTrace – переменная, в которую мы будем возвращать результат работы блока - объект типа ETrace с усредненными значениями Y по каждому X. ETraceSet – переменная типа ETraceSet, из которой мы будем получать усредненный трейс. ETraceTag – идентификатор трейса, по которому будет выполняться поиск в коллекции трейсов и лимитов ETraceSet. Xpoints – массив с координатами X для формирования набора трейсов. Ypoints – массив с координатами Y для формирования набора трейсов.

Создадим интерфейс пользователя. Нажмем правой кнопкой по заголовку программы и выберем пункт меню «Добавить новый элемент».

Выберем элемент «Панель управления» и введем имя элемента. Нажмем кнопку «Создать»

Добавим на панель управления следующие элементы: Интерактивные элементы -> Кнопка; Ввод данных -> Поле ввода; Пользовательские -> Набор трасс; Пользовательские -> Трасса.

Последовательно выберем каждый из добавленных элементов, в свойствах элементов введем соответствующие имена и выполним привязку значения к переменным следующим образом: Трасса: значение -> переменная ETrace; Набор трасс: значение -> переменная ETraceSet; Идентификатор: значение -> переменная ETraceTag; Пример привязки элемента панели управления «Идентификатор» к переменной ETraceTag показан на следующем рисунке.

Включим событие «Click» и введем имя в свойствах кнопки.

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

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

Блок Handler будет срабатывать по событию нажатия кнопки.

Следующий блок - CreateInstance. Данный блок создает новый объект типа ETraceSet, который не содержит никаких данных.

Далее используем блок "If - else" для построения цикла на 11 итераций. Значение переменной i вначале цикла равняется нулю и наращивается на 1 после выполнения каждой итерации. При выполнении условия i<=10 блок принимает значение "True", иначе работа блока завершается через выход "False".

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

Зададим идентификатор созданного трейса с помощью блока ETrace.SetTag. В качестве идентификатора будем использовать текущее значение номера итерации i, преобразованное в строковый тип данных с помощью функции i.ToString()+"тест".

Зададим имя созданного трейса с помощью блока ETrace.SetName. В качестве имени будем использовать текущее значение номера итерации i, преобразованное в строковый тип данных с помощью функции i.ToString().

Заполним массив Ypoints случайными значениями с помощью блока RandomArray.

Массив Xpoints заполнен значениями по умолчанию через функцию "Редактировать начальное значение".

Добавим массивы точек Ypoints и Xpoints в переменную ETrace с помощью блока ETrace.AddPoints.

Добавим созданный трейс, который хранится в переменной ETrace в коллекцию данных типа ETraceSet с помощью блока ETraceSet.AddTrace.

Нарастим значение i на 1 с помощью блока SetVariable и функции i=i+1.

Цикл будет повторятся пока значение переменной "i" не превысит значение "10". Далее используем блок ETraceSet.GetAverageTrace, который вернет объект типа ETrace, содержащий усредненные значения координат Y для каждой координаты X. В нашем случае функция SearchTagPart включена, соответственно усреднение будет производиться по трейсам, идентификатор которых содержит заданное ключевое слово.

Посмотрим, как работает пример. Мы можем видеть, что по результатам выполнения программы в переменную "AverageTrace" передается объект типа ETrace c усредненными координатами Y, как указанно выше.
