Перейти к содержанию

ETrace.InsertPoint (Вставить точку в трассу)

01.png

Описание

Вставляет точку в таблицу данных трассу под заданным индексом.

Свойства

Входной аргумент Тип аргумента Тип переменной Описание
trace Константа, Переменная, Выражение ETrace Трасса
index Константа, Переменная, Выражение Int32 Индекс вставки
x Константа, Переменная, Выражение Double Значение координаты X
y Константа, Переменная, Выражение Double Значение координаты Y

Пример

Рассмотрим работу блока на примере простой программы, которая обеспечивает добавление координаты точки (X,Y) в таблицу данных объекта типа ETrace с отображением результата на графике.

02.jpg

Создадим глобальные переменные, необходимые для работы программы. Данные переменные мы будем использовать с привязкой к элементам управления интерфейса пользователя.

ETrace – переменная типа ETrace, в которую мы будем вставлять точку данных. X – значение добавляемой величины X. Y – значение добавляемой величины Y. Xpoints – массив значений X, в который будем считывать координаты всех точек по оси абсцисс из объекта типа ETrace. Ypoints – массив значений Y, в который будем считывать координаты всех точек по оси ординат из объекта типа ETrace. pointIndex – индекс строки в таблице данных переменной ETrace, под которым будет добавлена новая точка.

03.jpg

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

01.jpg

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

02.jpg

Добавим на панель управления следующие элементы: Ввод данных -> Числовой ввод (3 элемента); Интерактивные элементы -> Кнопка; Визуализация данных -> Декартова диаграмма.

04.jpg

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

Значение X: значение -> переменная X; Значение Y: значение -> переменная Y; Индекс точки: значение -> переменная pointIndex; Пример привязки элемента панели управления «Значение X» к переменной Х показан на следующем рисунке.

05.jpg

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

06.jpg

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

01.jpg

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

02.jpg

Блок обработки события свяжем с программным алгоритмом, обеспечивающим соответствующие манипуляции с переменной ETrace. Добавим на холст блок ETrace.InsertPoint.

07.jpg

В блоке Handler выберем созданное событие нажатия кнопки.

08.jpg

Следующий блок - ETrace.InsertPoint. Тут мы добавим заданные значения «X» и «Y» в таблицу данных объекта типа ETrace под заданным индексом pointIndex. В качестве входной переменной ETrace в блоке ETrace.InsertPoint укажем переменную «ETrace».

09.jpg

Выполнение манипуляций с объектом типа ETrace завершается обновлением графика на панели управления. Для этого применяется блок ETrace.GetPoints, который передает точки данных указанного трейса в два массива. Можно передать как все точки, так и указать начальный индекс, а также количество точек, которые необходимо передать в массивы. В нашем случае данные передаются в массивы Xpoints и Ypoints, которые также являются источником значений X, Y графика на панели управления.

03.jpg

После передачи данных из объекта типа ETrace в массив следует вызвать блок UpdateChart, который обеспечит отображение новых данных на графике пользовательского интерфейса. В свойствах блока выберем панель управления и график, который следует обновить.

04.jpg

Посмотрим, как работает пример.

01.gif

Перейдем в меню «Контекст» для просмотра таблицы данных, которая хранится в переменной ETrace после выполнения программы, как показано на следующем рисунке.

10.jpg