Таблица расчёта датчика

В данном примере рассмотрен случай создания для двух датчиков таблиц перерасчёта значений. Как создать датчики читайте в разделе Датчики.

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

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

В нашем случае мы включим флаг «Продолжить предыдущий отрезок» для автоматического пересчёта смещения b.

Первый датчик

Допустим, что нам необходимо получать данные согласно следующей таблицы:

Входное значение (X) Выходное значение (Y)
0 0
86 10
173 20
252 30
330 40
405 50
477 60
546 70
618 80
686 90
749 100
812 110
874 120
930 130
989 140
1019 150

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

Если первое входящее значение X не нулевое, то первый интервал необходимо скорректировать, для этого рассчитайте b = Y - a * x, а потом установите флажок «Продолжить предыдущий интервал».

Далее смотрите таблицу, как проводится расчёт всех интервалов. Интервалов будет на 1 меньше, чем строк в таблице, приведенной выше:

Интервал X a b
X (Y(i+1) - Y(i) / X(i+1) - X(i) Y - a * x
1 0 (10 - 0) / (86 - 0)
2 86 (20 - 10) / (173 - 86)
3 173 (30 - 20) / (252 - 173)
4 252 (40 - 30) / (330 - 252)
5 330 (50 - 40) / (405 - 330)
6 405 (60 - 50) / (477 - 405)
7 477 (70 - 60) / (546 - 477)
8 546 (80 - 70) / (618 - 546)
9 618 (90 - 80) / (686 - 618)
10 686 (100 - 90) / (749 - 686)
11 749 (110 - 100) / (812 - 749)
12 812 (120 - 110) / (874 - 812)
13 874 (130 - 120) / (930 - 874)
14 930 (140 - 130) / (989 - 930)
15 989 (150 - 140) / (1019 - 989)

Ниже смотрите значения, введённые в таблицу:

и график функции:

Если необходимо убрать некорректные входные значения, то установите минимальное и максимальное значения X (нижнюю и верхнюю границы).

Второй датчик

Повторяем действия, описанные выше:

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

Входное значение (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

В данном случае при создании таблицы расчёта необходимо будет таблицу исходных данных считать с конца в начало, для того чтоб избежать лишних пересчётов. В первом интервал необходимо будет значение смещения по оси Y скорректировать, т.е. ввести вручную. Это можно сделать двумя способами: 1) снять флажок «Продолжить предыдущий отрезок» и при внесении X и a, также внести b и вернуть флажок на место; или 2) после добавления первого интервала скорректировать его руками.

Таблица интервалов:

Интервал X a b
1 0,32 (90 - 100) / (0,6 - 0,32) Y - a * X, т.е. 100 - 0,32 * (90-100)/(0,6-0,32)
2 0,6 (80 - 90) / (0,96 - 0,6) авто
3 0,96 (70 - 80) / (1,1 - 0,96) авто
4 1,1 (60 - 70) / (1,25 - 1,1) авто
5 1,25 (50 - 60) / (1,3 - 1,25) авто
6 1,3 (40 - 50) / (1,65 - 1,3) авто
7 1,65 (30 - 40) / (2,0 - 1,65) авто
8 2,0 (20 - 30) / (2,18 - 2,0) авто
9 2,18 (10 - 20) / (2,58 - 2,18) авто
10 2,58 (0 - 10) / (2,8 - 2,58) авто

Таблица расчёта:

и график:

:!: Примечание. Если выходное значение Y не может быть более 100, то можно проще поступить с первым интервалом, т.е.:

  • снять флажок «Продолжить предыдущий отрезок»;
  • внести первый интервал: X = 0; a = 0; b = 100;
  • установить флажок «Продолжить предыдущий отрезок»;
  • продолжить вносить значения X и a.

В данной ситуации если входное значение X окажется меньше 0,32 в отчёте всегда будет значение 100.