Таблица расчета

Таблица расчета имеет ключевое значение для настройки датчика (см. свойства датчика). Согласно таблице расчета сырые данные, приходящие в параметре, преобразуются в значения датчика, например, некоторое абстрактное 86 преобразуется в 10,5 литров топлива.

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

:!: Внимание: заполненная таблица расчета необходима для аналогового датчика зажигания, поскольку необходимо определить, по какому принципу все возможные аналоговые значения будут преобразованы в два возможных состояния — Вкл/Выкл.

Таблица расчета пересчитывает полученные данные согласно уравнению прямой Y = a×X + b, где

  • X — входное значение — значение, которое поступает от оборудования;
  • Y — выходное значение — значение, которое должно попадать в отчет;
  • a — коэффициент наклона прямой (тангенс угла наклона к оси X, или отношение противолежащего катета к прилежащему);
  • b — смещение прямой по оси Y.

По приходу значения (т.е. Х) оно будет подставлено в таблицу расчета, a и b будут рассчитаны автоматически, а на выходе будет получено конечное значение, т.е. Y (оно и попадет в отчеты, графики, всплывающие подсказки и т.п.).

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

Получить тангенс угла и подставить его в коэффициент а можно без таблицы тангенсов, а с помощью математических расчетов. Для этого по осям Х и Y необходимо найти дельты — интервалы действия значений (т.е. от Х1 до Х2, от Х2 до Х3 и т.д.). Далее остается только поделить дельты друг на друга: ∆y/∆x. Полученное значение и является тангенсом угла.

Используйте поля «Нижняя/Верхняя граница», чтобы задать рамки входящих значений. Следует отметить, что данные границы представляют собой полуоткрытый интервал. Другими словами, нижняя граница включена в интервал валидных значений датчика, а верхняя нет. В случае прихода каких-либо значений, выходящих за эти пределы, они будут считаться невалидными. Кроме того, от наличия/отсутствия флага «Применять после расчета» зависит, будут ли применяться указанные границы к сырым значениям Х (флаг не выставлен) или к обработанным значениям Y (флаг выставлен).

После введения каждой пары значений, нажимайте «Добавить». Неверно введенные значения можно удалить при помощи кнопки . Также можно удалить все строки сразу — при помощи кнопки «Очистить таблицу».

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

Способы заполнения таблицы

  1. Заполняются все доступные поля: значения Х-ов, коэффициента а (тангенса угла) и смещения b. Способ пригоден для получения таблицы пересчета под полным Вашим контролем.

  2. Заполняются только X и b, а коэффициент а выставляется нулевым. Этот способ удобен, если необходимо преобразовать аналоговый сигнал в цифровой.

  3. Заполняются только X и a. Этот способ удобен, если необходимо получить кривую, зная углы, но без пересчета смещения по Y.

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

Управление графиком

Для работы с графиком используются следующие кнопки:


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

Автомасштабирование
Возврат к исходному масштабу графика.

Увеличить/уменьшить
Кнопки увеличения и уменьшения графика изменяют масштаб графика вдвое относительно видимой зоны. При этом центр графика остается зафиксированным.

Сохранить как PNG
Клик по данной кнопке позволяет сохранить видимую область графика вместе с осями координат в формате PNG.

Пример 1: датчик температуры

Создадим таблицу преобразования для датчика температуры. Допустим, данные будут поступать в дополнительном коде, т.е. положительные значения — от 0 до 127, а отрицательные — от 128 (что соответствует -127 градусам) до 255 (что соответствует -1 градусу).

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

:!: Примечание.
График расчета всегда имеет несколько расширенный вид — по оси Х он растягивается вправо и влево. Это связано с тем, что на первом интервале функция действует в том числе и в обратную сторону — до минус бесконечности, а на последнем интервале — до плюс бесконечности.

Пример 2: датчик зажигания

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

На графике расчета посмотрите, соответствует ли результат ожиданиям.

Мастер таблицы расчета

Мастер таблицы расчета — это инструмент, который упрощает процесс создания таблицы преобразования значений для датчика. Здесь достаточно ввести входные значения X и соответствующие им выходные значения Y. Мастер таблицы расчета располагается в правой части диалогового окна. По умолчанию он неактивен. Чтобы воспользоваться данным инструментом, необходимо активировать флаг «Пары XY».

Мастер таблицы расчета целесообразно применять, когда тарировка значений датчика выясняется опытным путем. Например, заливается разный объем топлива и с датчика снимаются значения, соответствующие разным объемам.

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

Коэффициент a и смещение b вычисляется программой по следующей схеме:

  • a вычисляется по формуле ∆Y/∆X. На каждом отдельно взятом интервале вычисляется смещение по оси Х и смещение по оси Y, затем смещение по Y делится на смещение по Х, т.е. ∆Y/∆X.
  • b вычисляется по формуле b = Y — a × X.

:!: Примечание.
В правом верхнем углу мастера таблицы расчета предусмотрены кнопки для экспорта введенных пар XY в файл CSV, а также импорта готовых значений из файлов CSV или TXT.

Пример 1: датчик уровня топлива

Допустим, было залито 10 литров топлива, и датчик прислал значение 86, потом было залито 20 литров, и датчик показал 173, и т.д. В конце концов, мы получаем некоторую табличку типа:

Входное значение (X) Выходное значение (Y)
0 0
86 10
173 20
252 30
330 40
405 50
477 60
546 70
618 80
686 90
749 100

Пары значений внести в мастер таблицы расчета, кликнуть «Генерировать». На основании введенных значений будет сгенерирована таблица расчета (слева).

График можно просмотреть, кликнув соответствующую иконку.

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

Теперь проследим, как произошел расчет коэффициента a и смещения b. Первый интервал начитается в нуле, действует по входящим значениям до 86, при этом в самой последней точке на выходе должно быть значение 10. Рассчитываем смещение по Х, т.е. ∆Х = 86 — 0 = 86. Точно так же рассчитываем смещение по Y, т.е. ∆Y = 10 — 0 = 10. Теперь нам необходимо получить коэффициент a, который является тангенсом угла в начале осей координат, т.е. нужно ∆Y разделить на ∆X (∆Y/∆X): a = 10 / 86 = 0,11627906976744186 (калькулятор).

Для остальных интервалов применяем ту же схему расчета (интервалов будет на один меньше, чем строк в мастере расчета):

Интервал X Y a b
N X Y (Y(i+1) — Y(i)) / (X(i+1) — X(i)) Y — a × X
1 0 0 (10 — 0) / (86 — 0) 0 — a×0
2 86 10 (20 — 10) / (173 — 86) 10 — a×86
3 173 20 (30 — 20) / (252 — 173) 20 — a×173
4 252 30 (40 — 30) / (330 — 252) 30 — a×252
5 330 40 (50 — 40) / (405 — 330) 40 — a×330
6 405 50 (60 — 50) / (477 — 405) 50 — a×405
7 477 60 (70 — 60) / (546 — 477) 60 — a×477
8 546 70 (80 — 70) / (618 — 546) 70 — a×546
9 618 80 (90 — 80) / (686 — 618) 80 — a×618
10 686 90 (100 — 90) / (749 — 686) 90 — a×686
11 749 100 (110 — 100) / (812 — 749) 100 — a×749

Пример 2: датчик уровня топлива

В данном примере входные значения Х идут по убывающей при возрастании значений Y. Однако при введении пар значений в мастер таблицы расчета они будут автоматически расположены в нужном порядке.

Исходные данные:

Входное значение (X) Выходное значение (Y)
2,8 0
2,58 10
2,18 20
2,0 30
1,65 40
1,3 50
1,25 60
1,1 70
0,96 80
0,6 90
0,32 100

Соответственно, вносим данные в мастер таблицы расчета и затем генерируем саму таблицу расчета и получаем график расчета:

Таблица интервалов для данного датчика будет такой:

Интервал X Y a b
N X Y (Y(i+1) — Y(i)) / (X(i+1) — X(i)) Y — a × X
1 0,32 100 (90 — 100) / (0,6 — 0,32) 100 — a×0,32
2 0,6 90 (80 — 90) / (0,96 — 0,6) 90 — a×0.6
3 0,96 80 (70 — 80) / (1,1 — 0,96) 80 — a×0.96
4 1,1 70 (60 — 70) / (1,25 — 1,1) 70 — a×1.1
5 1,25 60 (50 — 60) / (1,3 — 1,25) 60 — a×1.25
6 1,3 50 (40 — 50) / (1,65 — 1,3) 50 — a×1.3
7 1,65 40 (30 — 40) / (2,0 — 1,65) 40 — a×1.65
8 2,0 30 (20 — 30) / (2,18 — 2,0) 30 — a×2
9 2,18 20 (10 — 20) / (2,58 — 2,18) 20 — a×2.18
10 2,58 10 (0 — 10) / (2,8 — 2,58) 10 — a×2.58
  support@intsm.ru   |   Copyright © 2002-2017 Автовектор