KPI

Материал из DPA
Перейти к навигации Перейти к поиску

Базовые и расчетные показатели

Контекст расчета KPI определяется набором рабочих центров (РЦ), базовых и расчетных показателей (БП и РП).

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

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

БП могут быть следующих видов:

  • унифицированный базовый показатель;
  • индикатор.

Унифицированный базовый показатель имеет общие настройки для всех РЦ. Список доступных в системе БП приведен в таблице.

имя api название описание значения источник
actualOperation фактическое время операции интервалы выполнения задания по данным оператора, исключая простои 1/0 данные оператора
actualOperationDowntime фактическое время простоя интервалы простоя, указанные оператором 1/0 данные оператора
plannedOperation плановое время операции интервал времени, на котором запланировано задание 1/0 задания
actualGoodProgress производительность по качественным скорость изготовления качественных изделий, рассчитанная по отметкам выпуска оператора, с учетом простоев изделий в час данные оператора
actualRejectedProgress производительность по браку скорость изготовления брака, рассчитанная по отметкам выпуска оператора, с учетом простоев изделий в час данные оператора
actualUndefinedProgress производительность по условно годным скорость изготовления условно годных изделий, рассчитанная по отметкам выпуска оператора, с учетом простоев изделий в час данные оператора
actualTotalProgress производительность общая скорость изготовления изделий, рассчитанная по отметкам оператора, с учетом простоев изделий в час данные оператора
plannedQuantity плановая производительность плановая скорость изготовления, равная отношению числа изделий в задании к длительности задания. значение определено на интервалах фактического времени операции (actualOperation=1) изделий в час задания и данные оператора
shiftWorkingTime рабочее время время смен по расписанию 1/0 настройки системы
productionTime время операций на рабочем центре автоматический режим работы станка 1/0 машинные данные

Для БП типа индикатор необходимо указать конкретный индикатор для каждого РЦ, поскольку РЦ могут иметь различный набор индикаторов и разные наименования для них. При этом в дальнейших расчетах БП указывается общим именем переменной, определенном в его настройках.

Для РП необходимо определить наименование и функцию для его вычисления. Также РП, которые необходимо отображать в аналитике, нужно указать, как основные.

Формулы РП могут включать имена БП или РП, константы, бинарные операторы, скобки, математические функции, а также функции расчета итогов (агрегирующие функции).

Константы задаются в числовом виде, с точкой, в качестве разделителя дробной части. Допустима также экспоненциальная форма записи. Например: 1.3, 1.7e3 (эквивалентно 1700), 1E-3 (эквивалентно 0.001).

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

РП может быть определен двумя способами: как временной ряд или как итоговый показатель. Формула РП временного ряда должна включать хотя бы один РП временного ряда, либо БП. Такие РП вычисляются по мере поступления данных в микросервис, и полученные значения сохраняются в базе данных. Для каждого РЦ сохраняется отдельный ряд РП.

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

Для обоих видов РП доступен одинаковый набор бинарных операторов. В таблице приведены доступные операторы, в соответствие с их математическим приоритетом.

^ возведение в степень
* / умножение, деление
+ - сложение, вычитание
> < >= <= == != операции сравнения (больше, меньше, больше или равно, меньше или равно, равенство, неравенство)
& логическое И
| логическое ИЛИ
? ?? операции с отсутствующими значениями

Для расчета логических выражений в системе используется соглашение, что значения больше нуля соответствуют значению «истина», а меньше - «ложь», и наоборот, логические операции и операции сравнения возвращают 1 в качестве значения «истина» и 0 – «ложь». Некоторые примеры вычислений для логических операций и операций сравнения приведены в таблице

a b a | b a & b a < b a <= b a ==b a != b
0 0 0 0 0 1 1 0
1 1 1 1 0 1 1 0
0 1 1 0 1 1 0 1
-10 10 1 0 1 1 0 1

В системе поддерживаются отсутствующие (неопределенные) значения. Такие значения не учитываются при расчете итогов, и для большинства операций применимо правило, если какой-либо аргумент не определен, результат также является неопределенным. Исключением является оператор ??, предназначенный для установки неопределенных значений в левой части в значения по умолчанию в правой. И наоборот, оператор ? позволяет получить неопределенные значения, в случае невыполнения заданного критерия в левой части, либо вернут значение справа, если критерий истинный. Например:

a b a ? b a ?? b a + b
1 2 2 1 3
0 2 нет значения 0 2
нет значения 2 нет значения 2 нет значения
1 нет значения нет значения 1 нет значения
нет значения нет значения нет значения нет значения нет значения

В выражениях доступны математические функции минимума и максимума с произвольным количеством аргументов – min, max, а также функция модуля abs.

min(1,2,3) 1
max(1,2) 2
abs(-3) 3
abs(0) 0
abs(3) 3
abs(1,2) неверная формула

В выражениях для итоговых РП можно использовать 3 агрегирующие функции:

  • sum – сумма (интеграл) значений на интервале;
  • dur – длительность интервала, на котором значение известно и определено;
  • avg – среднее значение на интервале, выражение avg(РП) эквивалентно выражению sum(РП)/dur(РП).

Аргументом агрегирующей функции может быть только БП или РП временного ряда. Вычисляемые выражения в качестве аргумента не поддерживаются. Например, выражение avg(БП+РП) является некорректным. В таком случае нужно сначала определить РП2 как БП+РП, и использовать выражение вида avg(РП2). Тогда РП2 будет рассчитан предварительно, по мере поступления данных БП и расчета РП, а итог будет рассчитан в момент обработки запроса.

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

  • РП2 – не определен

РП1: РП2+БП1

  • РП1 зависит от РП2, который зависит от РП3, определенный через РП1 – циклическая зависимость

РП1: РП2

РП2: РП3

РП3: РП1

Примеры контекстов

Контекст для расчета ОЕЕ по машинным данным

Базовые показатели:


Имя переменной Тип Значение комментарий feederate индикатор индикаторы РЦ, соответствующие коррекции скорости подачи полагаем, что производительность пропорциональна данному значению. 100% - максимальная производительность production базовый показатель productionTime интервалы производства по машинным данным