Таблица расчета имеет ключевое значение для настройки датчика (см. свойства датчика). Согласно таблице расчета сырые данные, приходящие в параметре, преобразуются в значения датчика, например, некоторое абстрактное 86 преобразуется в 10,5 литров топлива.
Таблица расчета нужна не всегда. Например, если датчик цифровой и присылает только 1 или 0, которые соответствуют состояниям «включен/выключен», в таблице расчета значений для такого датчика нужды нет.
Внимание: заполненная таблица расчета необходима для аналогового датчика зажигания, поскольку необходимо определить, по какому принципу все возможные аналоговые значения будут преобразованы в два возможных состояния — Вкл/Выкл.
Таблица расчета пересчитывает полученные данные согласно уравнению прямой Y = a×X + b, где
По приходу значения (т.е. Х) оно будет подставлено в таблицу расчета, a и b будут рассчитаны автоматически, а на выходе будет получено конечное значение, т.е. Y (оно и попадет в отчеты, графики, всплывающие подсказки и т.п.).
Каждая строка в таблице расчета работает только на своем промежутке, т.е. до значения Х в следующей строке. Поэтому значения по оси Х повторяться не могут.
Получить тангенс угла и подставить его в коэффициент а можно без таблицы тангенсов, а с помощью математических расчетов. Для этого по осям Х и Y необходимо найти дельты — интервалы действия значений (т.е. от Х1 до Х2, от Х2 до Х3 и т.д.). Далее остается только поделить дельты друг на друга: ∆y/∆x. Полученное значение и является тангенсом угла.
Используйте поля «Нижняя/Верхняя граница», чтобы задать рамки входящих значений. Следует отметить, что данные границы представляют собой полуоткрытый интервал. Другими словами, нижняя граница включена в интервал валидных значений датчика, а верхняя нет. В случае прихода каких-либо значений, выходящих за эти пределы, они будут считаться невалидными. Кроме того, от наличия/отсутствия флага «Применять после расчета» зависит, будут ли применяться указанные границы к сырым значениям Х (флаг не выставлен) или к обработанным значениям Y (флаг выставлен).
После введения каждой пары значений, нажимайте «Добавить». Неверно введенные значения можно удалить при помощи кнопки . Также можно удалить все строки сразу — при помощи кнопки «Очистить таблицу».
Чтобы визуально оценить результат настройки таблицы расчета, перейдите к просмотру графика, кликнув соответствующую иконку вверху.
Для работы с графиком используются следующие кнопки:
Выделить область | При активации данной кнопки появляется возможность масштабирования (увеличения) произвольной области графика. Для этого необходимо выделить соответствующую область, удерживая левую кнопку мыши. Процедуру можно повторить любое количество раз. |
Автомасштабирование | Возврат к исходному масштабу графика. |
Увеличить/уменьшить | Кнопки увеличения и уменьшения графика изменяют масштаб графика вдвое относительно видимой зоны. При этом центр графика остается зафиксированным. |
Сохранить как PNG | Клик по данной кнопке позволяет сохранить видимую область графика вместе с осями координат в формате PNG. |
Создадим таблицу преобразования для датчика температуры. Допустим, данные будут поступать в дополнительном коде, т.е. положительные значения — от 0 до 127, а отрицательные — от 128 (что соответствует -127 градусам) до 255 (что соответствует -1 градусу).
Полученный результат создания таблицы преобразования можно оценить на графике расчета.
Примечание.
График расчета всегда имеет несколько расширенный вид — по оси Х он растягивается вправо и влево. Это связано с тем, что на первом интервале функция действует в том числе и в обратную сторону — до минус бесконечности, а на последнем интервале — до плюс бесконечности.
Рассмотрим пример настройки нецифрового датчика зажигания, когда активация зажигания определяется по параметру, передающему напряжение. Например, напряжение до 0.5В будет расцениваться как «зажигание выключено», свыше 0.5В — «зажигание включено». Для такого датчика требуется создать таблицу преобразований, как показано на рисунке ниже.
На графике расчета посмотрите, соответствует ли результат ожиданиям.
Мастер таблицы расчета — это инструмент, который упрощает процесс создания таблицы преобразования значений для датчика. Здесь достаточно ввести входные значения X и соответствующие им выходные значения Y. Мастер таблицы расчета располагается в правой части диалогового окна. По умолчанию он неактивен. Чтобы воспользоваться данным инструментом, необходимо активировать флаг «Пары XY».
Мастер таблицы расчета целесообразно применять, когда тарировка значений датчика выясняется опытным путем. Например, заливается разный объем топлива и с датчика снимаются значения, соответствующие разным объемам.
После введения всех пар значений нажмите кнопку «Генерировать», чтобы программа обработала введенные данные. Результат можно оценить в таблице расчета, где по введенным данным будут получены коэффициент а и смещение b, а также графике (кликнуть соответствующую иконку).
Коэффициент a и смещение b вычисляется программой по следующей схеме:
Примечание.
В правом верхнем углу мастера таблицы расчета предусмотрены кнопки для экспорта введенных пар XY в файл CSV, а также импорта готовых значений из файлов CSV или TXT.
Допустим, было залито 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 |
В данном примере входные значения Х идут по убывающей при возрастании значений 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 |
|